新增图片压缩解压
authorliangzhenying <867174124@qq.com>
Sat, 17 Aug 2024 09:14:13 +0000 (17:14 +0800)
committerliangzhenying <867174124@qq.com>
Sat, 17 Aug 2024 09:14:13 +0000 (17:14 +0800)
24 files changed:
MixSdk/Example/Example.xcodeproj/project.pbxproj
MixSdk/Example/Example/ImgCompressViewController.swift [new file with mode: 0644]
MixSdk/Example/Example/MSCompress.swift [new file with mode: 0644]
MixSdk/Example/Example/ViewController.swift
MixSdk/Example/SCompressLib.framework/Headers/CPicZipApi.hpp [new file with mode: 0644]
MixSdk/Example/SCompressLib.framework/Headers/SCompressLib-Swift.h [new file with mode: 0644]
MixSdk/Example/SCompressLib.framework/Headers/SCompressLib.h [new file with mode: 0644]
MixSdk/Example/SCompressLib.framework/ICE_V5R1_BLOCK_HTC.cfg [new file with mode: 0644]
MixSdk/Example/SCompressLib.framework/ICE_V5R1_BLOCK_HTC_RM.cfg [new file with mode: 0644]
MixSdk/Example/SCompressLib.framework/Info.plist [new file with mode: 0644]
MixSdk/Example/SCompressLib.framework/Modules/SCompressLib.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo [new file with mode: 0644]
MixSdk/Example/SCompressLib.framework/Modules/SCompressLib.swiftmodule/arm64-apple-ios.abi.json [new file with mode: 0644]
MixSdk/Example/SCompressLib.framework/Modules/SCompressLib.swiftmodule/arm64-apple-ios.private.swiftinterface [new file with mode: 0644]
MixSdk/Example/SCompressLib.framework/Modules/SCompressLib.swiftmodule/arm64-apple-ios.swiftdoc [new file with mode: 0644]
MixSdk/Example/SCompressLib.framework/Modules/SCompressLib.swiftmodule/arm64-apple-ios.swiftinterface [new file with mode: 0644]
MixSdk/Example/SCompressLib.framework/Modules/SCompressLib.swiftmodule/arm64-apple-ios.swiftmodule [new file with mode: 0644]
MixSdk/Example/SCompressLib.framework/Modules/module.modulemap [new file with mode: 0644]
MixSdk/Example/SCompressLib.framework/SCompressLib [new file with mode: 0644]
MixSdk/MixSdk.xcworkspace/xcuserdata/apple.xcuserdatad/UserInterfaceState.xcuserstate
MixSdk/MixSdk.xcworkspace/xcuserdata/apple.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
MixSdk/MixSdk/MixSdk.xcodeproj/project.pbxproj
MixSdk/MixSdk/MixSdk/MSCompress.swift [new file with mode: 0644]
MixSdk/MixSdk/MixSdk/MixSdk.swift
document/MixSdk接口文档.md

index 762c5f2..1df9d74 100644 (file)
                184FFC492C218FC4006F664D /* PlayerManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 184FFC482C218FC4006F664D /* PlayerManager.swift */; };
                184FFC4D2C2199E5006F664D /* SendToolBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 184FFC4C2C2199E5006F664D /* SendToolBar.swift */; };
                184FFC512C21A4EB006F664D /* TtsLongViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 184FFC502C21A4EB006F664D /* TtsLongViewController.swift */; };
+               185D665B2C6C4E5D009AE49F /* MSCompress.swift in Sources */ = {isa = PBXBuildFile; fileRef = 185D66592C6C4E5D009AE49F /* MSCompress.swift */; };
+               185D665D2C6C4EE0009AE49F /* SCompressLib.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 185D665C2C6C4EE0009AE49F /* SCompressLib.framework */; };
                186BFD4B2C57952600673D8C /* VoiceChatViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 186BFD4A2C57952600673D8C /* VoiceChatViewController.swift */; };
+               187C54662C6B7C7F0022C3D4 /* ImgCompressViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 187C54652C6B7C7F0022C3D4 /* ImgCompressViewController.swift */; };
                188695A62C5A3CAD00B9B89F /* Date.swift in Sources */ = {isa = PBXBuildFile; fileRef = 188695A52C5A3CAD00B9B89F /* Date.swift */; };
                18A2DB6C2C40C5CC00A8731B /* AIAudio.sbc in Resources */ = {isa = PBXBuildFile; fileRef = 18A2DB6B2C40C5CC00A8731B /* AIAudio.sbc */; };
                18ABF57A2C3F884600C60E9B /* 2.pcm in Resources */ = {isa = PBXBuildFile; fileRef = 18ABF5792C3F884600C60E9B /* 2.pcm */; };
                184FFC482C218FC4006F664D /* PlayerManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlayerManager.swift; sourceTree = "<group>"; };
                184FFC4C2C2199E5006F664D /* SendToolBar.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SendToolBar.swift; sourceTree = "<group>"; };
                184FFC502C21A4EB006F664D /* TtsLongViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TtsLongViewController.swift; sourceTree = "<group>"; };
+               185D66592C6C4E5D009AE49F /* MSCompress.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MSCompress.swift; sourceTree = "<group>"; };
+               185D665C2C6C4EE0009AE49F /* SCompressLib.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = SCompressLib.framework; sourceTree = SOURCE_ROOT; };
                186BFD4A2C57952600673D8C /* VoiceChatViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VoiceChatViewController.swift; sourceTree = "<group>"; };
+               187C54652C6B7C7F0022C3D4 /* ImgCompressViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImgCompressViewController.swift; sourceTree = "<group>"; };
                188695A52C5A3CAD00B9B89F /* Date.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Date.swift; sourceTree = "<group>"; };
                18A2DB6B2C40C5CC00A8731B /* AIAudio.sbc */ = {isa = PBXFileReference; lastKnownFileType = file; path = AIAudio.sbc; sourceTree = "<group>"; };
                18ABF5792C3F884600C60E9B /* 2.pcm */ = {isa = PBXFileReference; lastKnownFileType = file; path = 2.pcm; sourceTree = "<group>"; };
                        isa = PBXFrameworksBuildPhase;
                        buildActionMask = 2147483647;
                        files = (
+                               185D665D2C6C4EE0009AE49F /* SCompressLib.framework in Frameworks */,
                                18C42C862C242B0B000D8860 /* libbz2.tbd in Frameworks */,
                                18C42C842C242B01000D8860 /* libiconv.tbd in Frameworks */,
                                18C42C822C242AD3000D8860 /* CoreAudio.framework in Frameworks */,
                18204BD22C193F9A00F94E69 /* Example */ = {
                        isa = PBXGroup;
                        children = (
+                               185D665C2C6C4EE0009AE49F /* SCompressLib.framework */,
                                186E75102C3E33EB0040671B /* Tools */,
                                18DB20412C213D600070D571 /* Record */,
                                181188582C1BE80B00C23FAB /* Resource */,
                                18B74A272C201F2500FABBA9 /* TranslateViewController.swift */,
                                18B74A292C201FF200FABBA9 /* AigcViewController.swift */,
                                18C42C892C24344D000D8860 /* Sbc2PcmViewController.swift */,
+                               187C54652C6B7C7F0022C3D4 /* ImgCompressViewController.swift */,
+                               185D66592C6C4E5D009AE49F /* MSCompress.swift */,
                                1843A7952C4E060D00FC010F /* LogViewController.swift */,
                                18EC39D02C4F421C00964461 /* Config.swift */,
                                18204BD92C193F9A00F94E69 /* Main.storyboard */,
                                18FBC2BB2C38E0FC002240AF /* ChatGptViewController.swift in Sources */,
                                18B74A242C201CE900FABBA9 /* SttViewController.swift in Sources */,
                                1843A7962C4E060D00FC010F /* LogViewController.swift in Sources */,
+                               185D665B2C6C4E5D009AE49F /* MSCompress.swift in Sources */,
                                18EF694A2C44CB1E00AA0A36 /* BleManager.swift in Sources */,
                                18204BD42C193F9A00F94E69 /* AppDelegate.swift in Sources */,
                                18B74A262C201EBD00FABBA9 /* ChatViewController.swift in Sources */,
                                184FFC512C21A4EB006F664D /* TtsLongViewController.swift in Sources */,
                                18C42B412C230A15000D8860 /* TtsFileViewController.swift in Sources */,
                                18EC39D12C4F421C00964461 /* Config.swift in Sources */,
+                               187C54662C6B7C7F0022C3D4 /* ImgCompressViewController.swift in Sources */,
                                188695A62C5A3CAD00B9B89F /* Date.swift in Sources */,
                                18C42C8A2C24344D000D8860 /* Sbc2PcmViewController.swift in Sources */,
                                18B74A282C201F2500FABBA9 /* TranslateViewController.swift in Sources */,
                                CURRENT_PROJECT_VERSION = 1;
                                DEVELOPMENT_TEAM = M33X987285;
                                ENABLE_USER_SCRIPT_SANDBOXING = NO;
+                               FRAMEWORK_SEARCH_PATHS = (
+                                       "$(inherited)",
+                                       "$(PROJECT_DIR)",
+                               );
                                GENERATE_INFOPLIST_FILE = YES;
                                INFOPLIST_FILE = Example/Info.plist;
                                INFOPLIST_KEY_CFBundleDisplayName = MixSdk;
                                PRODUCT_NAME = "$(TARGET_NAME)";
                                SWIFT_EMIT_LOC_STRINGS = YES;
                                SWIFT_OBJC_BRIDGING_HEADER = "Example/Record/Example-Bridging-Header.h";
+                               SWIFT_OBJC_INTEROP_MODE = objcxx;
                                SWIFT_OPTIMIZATION_LEVEL = "-Onone";
                                SWIFT_VERSION = 5.0;
                                TARGETED_DEVICE_FAMILY = "1,2";
                                CURRENT_PROJECT_VERSION = 1;
                                DEVELOPMENT_TEAM = M33X987285;
                                ENABLE_USER_SCRIPT_SANDBOXING = NO;
+                               FRAMEWORK_SEARCH_PATHS = (
+                                       "$(inherited)",
+                                       "$(PROJECT_DIR)",
+                               );
                                GENERATE_INFOPLIST_FILE = YES;
                                INFOPLIST_FILE = Example/Info.plist;
                                INFOPLIST_KEY_CFBundleDisplayName = MixSdk;
                                PRODUCT_NAME = "$(TARGET_NAME)";
                                SWIFT_EMIT_LOC_STRINGS = YES;
                                SWIFT_OBJC_BRIDGING_HEADER = "Example/Record/Example-Bridging-Header.h";
+                               SWIFT_OBJC_INTEROP_MODE = objcxx;
                                SWIFT_VERSION = 5.0;
                                TARGETED_DEVICE_FAMILY = "1,2";
                        };
diff --git a/MixSdk/Example/Example/ImgCompressViewController.swift b/MixSdk/Example/Example/ImgCompressViewController.swift
new file mode 100644 (file)
index 0000000..9c1f516
--- /dev/null
@@ -0,0 +1,80 @@
+//
+//  ImgCompressViewController.swift
+//  Example
+//
+//  Created by incar on 2024/8/13.
+//
+
+import UIKit
+
+class ImgCompressViewController: UIViewController {
+    var binPath:String?
+    var imgView = UIImageView()
+    
+    override func viewDidLoad() {
+        super.viewDidLoad()
+        // Do any additional setup after loading the view.
+        view.backgroundColor = .white
+        
+        
+        let btn = UIButton(type: .custom)
+        btn.setTitle("压缩", for: .normal)
+        btn.addTarget(self, action: #selector(compressAction), for: .touchUpInside)
+        btn.frame = CGRect(x: 100, y: 100, width: 50, height: 50)
+        btn.backgroundColor = .red
+        view.addSubview(btn)
+        
+        
+        let btn1 = UIButton(type: .custom)
+        btn1.setTitle("解压", for: .normal)
+        btn1.addTarget(self, action: #selector(deCompressAction), for: .touchUpInside)
+        btn1.frame = CGRect(x: 100, y: 200, width: 50, height: 50)
+        btn1.backgroundColor = .red
+        view.addSubview(btn1)
+        
+        
+        imgView.frame = CGRectMake(0, 300,300, 300)
+        view.addSubview(imgView)
+    }
+
+    @objc func compressAction(){
+        let image = UIImage(imageLiteralResourceName: "51722943641_.pic.png")
+        MSCompress.compress(image: image) { retData in
+            
+            //保存
+            let basedFilePath = NSHomeDirectory() + "/Documents"
+            let fileManager = FileManager.default
+            let format = DateFormatter()
+            let now = Date()
+            format.dateFormat = "HHmmss"
+            let timeStamp = format.string(from: now)
+            let fullPath = basedFilePath + "/CompressRets_abalone" + timeStamp + ".bin"
+            print("fullPath = \(fullPath)")
+            self.binPath = fullPath
+            
+            let exist = fileManager.fileExists(atPath: fullPath)
+            if !exist {
+                let data = Data(bytes: retData, count: retData.count)
+                fileManager.createFile(atPath: fullPath, contents: data)
+            }
+        }
+    }
+
+    @objc func deCompressAction(){
+        if let fullPath = binPath{
+            let fileURL = URL(fileURLWithPath: fullPath)
+            do {
+                let fileData = try Data(contentsOf: fileURL)
+                MSCompress.deCompress(data: fileData) { image in
+                    self.imgView.image = image
+                }
+            } catch {
+                print("file read error.")
+            }
+        }
+        else{
+            print("请先压缩")
+        }
+    }
+}
+
diff --git a/MixSdk/Example/Example/MSCompress.swift b/MixSdk/Example/Example/MSCompress.swift
new file mode 100644 (file)
index 0000000..8f7904e
--- /dev/null
@@ -0,0 +1,140 @@
+//
+//  MSCompress.swift
+//  Example
+//
+//  Created by incar on 2024/8/13.
+//
+
+import UIKit
+import SCompressLib
+
+/// 压缩回调
+public typealias MSCompressCallBack = (_ retData: [UInt8]) -> Void
+/// 解压回调
+public typealias MSDeCompressCallBack = (_ image: UIImage?) -> Void
+
+public class MSCompress{
+    fileprivate static var compressCallBack:MSCompressCallBack?
+    fileprivate static var decompressCallBack:MSDeCompressCallBack?
+    
+    public static func compress(image:UIImage,finished: @escaping MSCompressCallBack){
+        compressCallBack = finished
+        
+        print("start = ",Date().timeIntervalSince1970)
+        let width = Int(image.size.width)
+        let height = Int(image.size.height)
+        print("width = \(width), height = \(height)")
+        let pixelFormat = image.cgImage?.pixelFormatInfo
+        print("pixelFormat = \(pixelFormat.debugDescription)")
+        var sParam = SCompressParam()
+        sParam.id = 15
+        sParam.width = Int32(width)
+        sParam.height = Int32(height)
+        sParam.stride = Int32(width)
+        sParam.modeRgb = 1
+        sParam.modeAlpha = 1
+        sParam.cmpMode = 0
+        sParam.tileWidth = 4
+        sParam.pixelFormat = 1
+        
+        let provider = image.cgImage!.dataProvider
+        let providerData = provider!.data
+        let data = CFDataGetBytePtr(providerData)
+        
+        for hei in  0...(height - 1) {
+            for wid in 0...(width - 1) {
+                let color = image[data!,providerData!,wid, hei]
+                sParam.redChannel.append(color.r)
+                sParam.greenChannel.append(color.g)
+                sParam.blueChannel.append(color.b)
+                sParam.alphaChannel.append(color.a)
+            }
+        }
+        print("red channel len = \(sParam.redChannel.count)")
+        let picApi = SPicZipApi()
+        SetZipEvent(picEvent: MyZipRets())
+        picApi.Compress(compressParam: sParam)
+        print("end = ",Date().timeIntervalSince1970)
+    }
+
+    public static func deCompress(data:Data,finished: @escaping MSDeCompressCallBack){
+        decompressCallBack = finished
+        print("start = ",Date().timeIntervalSince1970)
+        let picApi = SPicZipApi()
+        var compressedFile : [UInt8] = []
+        for i in 0...data.count - 1 {
+            compressedFile.append(data[i])
+        }
+        picApi.Decompress(id: 39, fileBuffer: compressedFile)
+        print("end = ",Date().timeIntervalSince1970)
+    }
+    
+}
+
+fileprivate func drawRect(decomRets: SCompressLib.SDecompressRets) ->CGImage?{
+    let width  = decomRets.width
+    let height = decomRets.height
+    let boundingBox = CGRectMake(0, 0, CGFloat(width), CGFloat(height))
+    let context = createBitmapContext(pixelsWide: Int(width), Int(height))
+    let data = context!.data
+    var pixelIdx = 0
+    var chanIdx = 0
+    for i in 0...height - 1 {
+        for j in 0...width - 1 {
+            chanIdx = Int(i * width + j)
+            data?.storeBytes(of:decomRets.alphaChannel[chanIdx], toByteOffset: pixelIdx, as: UInt8.self)
+            pixelIdx += 1
+            data?.storeBytes(of:decomRets.redChannel[chanIdx], toByteOffset: pixelIdx, as: UInt8.self)
+            pixelIdx += 1
+            data?.storeBytes(of:decomRets.greenChannel[chanIdx], toByteOffset: pixelIdx, as: UInt8.self)
+            pixelIdx += 1
+            data?.storeBytes(of:decomRets.blueChannel[chanIdx], toByteOffset: pixelIdx, as: UInt8.self)
+            pixelIdx += 1
+        }
+    }
+    let decompressPic = context!.makeImage()
+    return decompressPic
+}
+
+fileprivate func createBitmapContext(pixelsWide: Int, _ pixelsHigh: Int) -> CGContext? {
+    let bytesPerPixel = 4 // 生成包括ARGB四个通道的像素点,每个像素点需要4个字节
+    let bytesPerRow = bytesPerPixel * pixelsWide
+    let bitsPerComponent = 8
+    let byteCount = (bytesPerRow * pixelsHigh)
+    let colorSpace = CGColorSpaceCreateDeviceRGB()
+    let pixels = UnsafeMutablePointer<CUnsignedChar>.allocate(capacity:byteCount)
+    let bitmapInfo = CGImageAlphaInfo.premultipliedFirst.rawValue | CGBitmapInfo.byteOrder32Big.rawValue
+    let context = CGContext(data: pixels, width: pixelsWide, height: pixelsHigh, bitsPerComponent: bitsPerComponent, bytesPerRow: bytesPerRow, space: colorSpace, bitmapInfo: bitmapInfo)
+    return context
+}
+
+fileprivate struct MyZipRets : PicZipEvent {
+    func DecompressRets(id: Int, state: Int, decomRets: SCompressLib.SDecompressRets) {
+        let imageWidth = Int(decomRets.width)
+        let imageHeight = Int(decomRets.height)
+        var cgImg =  drawRect(decomRets: decomRets)
+        var img = (cgImg != nil) ? UIImage(cgImage: cgImg!):nil
+        MSCompress.decompressCallBack?(img)
+        print("decompress finish id ====== \(id)")
+    }
+    
+    func CompressRets(id: Int, state: Int, tileWidth: Int, retData: [UInt8]) {
+        MSCompress.compressCallBack?(retData)
+    }
+}
+
+
+fileprivate extension UIImage {
+    subscript (data:UnsafePointer<UInt8>,providerData:CFData,x: Int, y: Int) -> (r : UInt8, g : UInt8, b : UInt8, a : UInt8) {
+        if x < 0 || x > Int(size.width) || y < 0 || y > Int(size.height) {
+            return (0, 0, 0, 0)
+        }
+        let numberOfComponents = 4
+        let pixelData = ((Int(size.width) * y) + x) * numberOfComponents
+        let r = UInt8(data[pixelData])
+        let g = UInt8(data[pixelData + 1])
+        let b = UInt8(data[pixelData + 2])
+        let a = UInt8(data[pixelData + 3])
+        return (r, g, b, a)
+    }
+}
index 4d38e71..c822f19 100644 (file)
@@ -27,7 +27,7 @@ class ViewController: UIViewController{
         ("语音文件转文本","fileSttAction"),
         ("语音数据流转文本","sttAction"),
         ("sbc转pcm","sbc2PcmAction"),
-        
+        ("图片转换","imageAction"),
     ]
     
     override func viewDidLoad() {
@@ -183,6 +183,10 @@ extension ViewController{
     //        let vc = VoiceChatViewController()
     //        self.navigationController?.pushViewController(vc, animated: true)
     //    }
+    @objc func imageAction() {
+        let vc = ImgCompressViewController()
+        self.navigationController?.pushViewController(vc, animated: true)
+    }
     
 }
 
diff --git a/MixSdk/Example/SCompressLib.framework/Headers/CPicZipApi.hpp b/MixSdk/Example/SCompressLib.framework/Headers/CPicZipApi.hpp
new file mode 100644 (file)
index 0000000..986c73a
--- /dev/null
@@ -0,0 +1,45 @@
+//
+//  CPicZipApi.hpp
+//  SCompressLib
+//
+//  Created by l30037444 on 2023/10/26.
+//
+
+#ifndef CPicZipApi_hpp
+#define CPicZipApi_hpp
+
+#include <stdio.h>
+
+struct DecompressRet {
+    int width;
+    int height;
+    int format;
+    unsigned char* redChannel;
+    unsigned char* greenChannel;
+    unsigned char* blueChannel;
+    unsigned char* alphaChannel;
+};
+
+struct CompressParam {
+    int id;
+    int width;
+    int height;
+    int stride;
+    int pixelFormat; // 0-- RGB888, 1-- ARGB8888, 2-- RGB565
+    int tileWidth;   //TILE: 4-- 4x4, 6-- 6x4, 8-- 8x4, 16-- 16x4
+    int modeAlpha;   //0-- A_BYPASS,   1-- A_MERGE,  2-- A_SEPARATE, 3-- A_CONST,   4-- A_BINARY
+    int modeRgb;     //0-- RGB_BYPASS, 1-- RGB_ASTC, 2-- RGB_TABLE,  3-- RGB_CONST ,4-- RGB_BINARY
+    int cmpMode;
+    unsigned char* redChannel;
+    unsigned char* greenChannel;
+    unsigned char* blueChannel;
+    unsigned char* alphaChannel;
+};
+
+class CPicZipApi {
+public:
+    void Compress(const CompressParam& param);
+    void Decompress(int id, unsigned char* fileBuffer, int buffLen);
+};
+
+#endif /* CPicZipApi_hpp */
diff --git a/MixSdk/Example/SCompressLib.framework/Headers/SCompressLib-Swift.h b/MixSdk/Example/SCompressLib.framework/Headers/SCompressLib-Swift.h
new file mode 100644 (file)
index 0000000..37f6309
--- /dev/null
@@ -0,0 +1,5759 @@
+#if 0
+#elif defined(__arm64__) && __arm64__
+// Generated by Apple Swift version 5.9 (swiftlang-5.9.0.128.108 clang-1500.0.40.1)
+#ifndef SCOMPRESSLIB_SWIFT_H
+#define SCOMPRESSLIB_SWIFT_H
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wgcc-compat"
+
+#if !defined(__has_include)
+# define __has_include(x) 0
+#endif
+#if !defined(__has_attribute)
+# define __has_attribute(x) 0
+#endif
+#if !defined(__has_feature)
+# define __has_feature(x) 0
+#endif
+#if !defined(__has_warning)
+# define __has_warning(x) 0
+#endif
+
+#if __has_include(<swift/objc-prologue.h>)
+# include <swift/objc-prologue.h>
+#endif
+
+#pragma clang diagnostic ignored "-Wauto-import"
+#if defined(__OBJC__)
+#include <Foundation/Foundation.h>
+#endif
+#if defined(__cplusplus)
+#include <cstdint>
+#include <cstddef>
+#include <cstdbool>
+#include <cstring>
+#include <stdlib.h>
+#include <new>
+#include <type_traits>
+#else
+#include <stdint.h>
+#include <stddef.h>
+#include <stdbool.h>
+#include <string.h>
+#endif
+#if defined(__cplusplus)
+#if defined(__arm64e__) && __has_include(<ptrauth.h>)
+# include <ptrauth.h>
+#else
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wreserved-macro-identifier"
+# ifndef __ptrauth_swift_value_witness_function_pointer
+#  define __ptrauth_swift_value_witness_function_pointer(x)
+# endif
+# ifndef __ptrauth_swift_class_method_pointer
+#  define __ptrauth_swift_class_method_pointer(x)
+# endif
+#pragma clang diagnostic pop
+#endif
+#endif
+
+#if !defined(SWIFT_TYPEDEFS)
+# define SWIFT_TYPEDEFS 1
+# if __has_include(<uchar.h>)
+#  include <uchar.h>
+# elif !defined(__cplusplus)
+typedef uint_least16_t char16_t;
+typedef uint_least32_t char32_t;
+# endif
+typedef float swift_float2  __attribute__((__ext_vector_type__(2)));
+typedef float swift_float3  __attribute__((__ext_vector_type__(3)));
+typedef float swift_float4  __attribute__((__ext_vector_type__(4)));
+typedef double swift_double2  __attribute__((__ext_vector_type__(2)));
+typedef double swift_double3  __attribute__((__ext_vector_type__(3)));
+typedef double swift_double4  __attribute__((__ext_vector_type__(4)));
+typedef int swift_int2  __attribute__((__ext_vector_type__(2)));
+typedef int swift_int3  __attribute__((__ext_vector_type__(3)));
+typedef int swift_int4  __attribute__((__ext_vector_type__(4)));
+typedef unsigned int swift_uint2  __attribute__((__ext_vector_type__(2)));
+typedef unsigned int swift_uint3  __attribute__((__ext_vector_type__(3)));
+typedef unsigned int swift_uint4  __attribute__((__ext_vector_type__(4)));
+#endif
+
+#if !defined(SWIFT_PASTE)
+# define SWIFT_PASTE_HELPER(x, y) x##y
+# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y)
+#endif
+#if !defined(SWIFT_METATYPE)
+# define SWIFT_METATYPE(X) Class
+#endif
+#if !defined(SWIFT_CLASS_PROPERTY)
+# if __has_feature(objc_class_property)
+#  define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__
+# else
+#  define SWIFT_CLASS_PROPERTY(...) 
+# endif
+#endif
+#if !defined(SWIFT_RUNTIME_NAME)
+# if __has_attribute(objc_runtime_name)
+#  define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X)))
+# else
+#  define SWIFT_RUNTIME_NAME(X) 
+# endif
+#endif
+#if !defined(SWIFT_COMPILE_NAME)
+# if __has_attribute(swift_name)
+#  define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X)))
+# else
+#  define SWIFT_COMPILE_NAME(X) 
+# endif
+#endif
+#if !defined(SWIFT_METHOD_FAMILY)
+# if __has_attribute(objc_method_family)
+#  define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X)))
+# else
+#  define SWIFT_METHOD_FAMILY(X) 
+# endif
+#endif
+#if !defined(SWIFT_NOESCAPE)
+# if __has_attribute(noescape)
+#  define SWIFT_NOESCAPE __attribute__((noescape))
+# else
+#  define SWIFT_NOESCAPE 
+# endif
+#endif
+#if !defined(SWIFT_RELEASES_ARGUMENT)
+# if __has_attribute(ns_consumed)
+#  define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed))
+# else
+#  define SWIFT_RELEASES_ARGUMENT 
+# endif
+#endif
+#if !defined(SWIFT_WARN_UNUSED_RESULT)
+# if __has_attribute(warn_unused_result)
+#  define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
+# else
+#  define SWIFT_WARN_UNUSED_RESULT 
+# endif
+#endif
+#if !defined(SWIFT_NORETURN)
+# if __has_attribute(noreturn)
+#  define SWIFT_NORETURN __attribute__((noreturn))
+# else
+#  define SWIFT_NORETURN 
+# endif
+#endif
+#if !defined(SWIFT_CLASS_EXTRA)
+# define SWIFT_CLASS_EXTRA 
+#endif
+#if !defined(SWIFT_PROTOCOL_EXTRA)
+# define SWIFT_PROTOCOL_EXTRA 
+#endif
+#if !defined(SWIFT_ENUM_EXTRA)
+# define SWIFT_ENUM_EXTRA 
+#endif
+#if !defined(SWIFT_CLASS)
+# if __has_attribute(objc_subclassing_restricted)
+#  define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA
+#  define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+# else
+#  define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+#  define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+# endif
+#endif
+#if !defined(SWIFT_RESILIENT_CLASS)
+# if __has_attribute(objc_class_stub)
+#  define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub))
+#  define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME)
+# else
+#  define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME)
+#  define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME)
+# endif
+#endif
+#if !defined(SWIFT_PROTOCOL)
+# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
+# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
+#endif
+#if !defined(SWIFT_EXTENSION)
+# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__)
+#endif
+#if !defined(OBJC_DESIGNATED_INITIALIZER)
+# if __has_attribute(objc_designated_initializer)
+#  define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))
+# else
+#  define OBJC_DESIGNATED_INITIALIZER 
+# endif
+#endif
+#if !defined(SWIFT_ENUM_ATTR)
+# if __has_attribute(enum_extensibility)
+#  define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility)))
+# else
+#  define SWIFT_ENUM_ATTR(_extensibility) 
+# endif
+#endif
+#if !defined(SWIFT_ENUM)
+# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
+# if __has_feature(generalized_swift_name)
+#  define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
+# else
+#  define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
+# endif
+#endif
+#if !defined(SWIFT_UNAVAILABLE)
+# define SWIFT_UNAVAILABLE __attribute__((unavailable))
+#endif
+#if !defined(SWIFT_UNAVAILABLE_MSG)
+# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg)))
+#endif
+#if !defined(SWIFT_AVAILABILITY)
+# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__)))
+#endif
+#if !defined(SWIFT_WEAK_IMPORT)
+# define SWIFT_WEAK_IMPORT __attribute__((weak_import))
+#endif
+#if !defined(SWIFT_DEPRECATED)
+# define SWIFT_DEPRECATED __attribute__((deprecated))
+#endif
+#if !defined(SWIFT_DEPRECATED_MSG)
+# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__)))
+#endif
+#if !defined(SWIFT_DEPRECATED_OBJC)
+# if __has_feature(attribute_diagnose_if_objc)
+#  define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning")))
+# else
+#  define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg)
+# endif
+#endif
+#if defined(__OBJC__)
+#if !defined(IBSegueAction)
+# define IBSegueAction 
+#endif
+#endif
+#if !defined(SWIFT_EXTERN)
+# if defined(__cplusplus)
+#  define SWIFT_EXTERN extern "C"
+# else
+#  define SWIFT_EXTERN extern
+# endif
+#endif
+#if !defined(SWIFT_CALL)
+# define SWIFT_CALL __attribute__((swiftcall))
+#endif
+#if !defined(SWIFT_INDIRECT_RESULT)
+# define SWIFT_INDIRECT_RESULT __attribute__((swift_indirect_result))
+#endif
+#if !defined(SWIFT_CONTEXT)
+# define SWIFT_CONTEXT __attribute__((swift_context))
+#endif
+#if !defined(SWIFT_ERROR_RESULT)
+# define SWIFT_ERROR_RESULT __attribute__((swift_error_result))
+#endif
+#if defined(__cplusplus)
+# define SWIFT_NOEXCEPT noexcept
+#else
+# define SWIFT_NOEXCEPT 
+#endif
+#if !defined(SWIFT_C_INLINE_THUNK)
+# if __has_attribute(always_inline)
+# if __has_attribute(nodebug)
+#  define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline)) __attribute__((nodebug))
+# else
+#  define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline))
+# endif
+# else
+#  define SWIFT_C_INLINE_THUNK inline
+# endif
+#endif
+#if defined(_WIN32)
+#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL)
+# define SWIFT_IMPORT_STDLIB_SYMBOL __declspec(dllimport)
+#endif
+#else
+#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL)
+# define SWIFT_IMPORT_STDLIB_SYMBOL 
+#endif
+#endif
+#if defined(__OBJC__)
+#if __has_feature(objc_modules)
+#if __has_warning("-Watimport-in-framework-header")
+#pragma clang diagnostic ignored "-Watimport-in-framework-header"
+#endif
+#endif
+
+#endif
+#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
+#pragma clang diagnostic ignored "-Wduplicate-method-arg"
+#if __has_warning("-Wpragma-clang-attribute")
+# pragma clang diagnostic ignored "-Wpragma-clang-attribute"
+#endif
+#pragma clang diagnostic ignored "-Wunknown-pragmas"
+#pragma clang diagnostic ignored "-Wnullability"
+#pragma clang diagnostic ignored "-Wdollar-in-identifier-extension"
+
+#if __has_attribute(external_source_symbol)
+# pragma push_macro("any")
+# undef any
+# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="SCompressLib",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
+# pragma pop_macro("any")
+#endif
+
+#if defined(__OBJC__)
+#endif
+#if __has_attribute(external_source_symbol)
+# pragma clang attribute pop
+#endif
+#if defined(__cplusplus)
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wnon-modular-include-in-framework-module"
+// Look for the C++ interop support header relative to clang's resource dir:
+//  '<toolchain>/usr/lib/clang/<version>/include/../../../swift/swiftToCxx'.
+#if __has_include(<../../../swift/swiftToCxx/_SwiftCxxInteroperability.h>)
+#include <../../../swift/swiftToCxx/_SwiftCxxInteroperability.h>
+#elif __has_include(<../../../../../lib/swift/swiftToCxx/_SwiftCxxInteroperability.h>)
+//  '<toolchain>/usr/local/lib/clang/<version>/include/../../../../../lib/swift/swiftToCxx'.
+#include <../../../../../lib/swift/swiftToCxx/_SwiftCxxInteroperability.h>
+// Alternatively, allow user to find the header using additional include path into '<toolchain>/lib/swift'.
+#elif __has_include(<swiftToCxx/_SwiftCxxInteroperability.h>)
+#include <swiftToCxx/_SwiftCxxInteroperability.h>
+#endif
+#pragma clang diagnostic pop
+#if __has_feature(objc_modules)
+#if __has_warning("-Watimport-in-framework-header")
+#pragma clang diagnostic ignored "-Watimport-in-framework-header"
+#endif
+#endif
+
+#ifndef SWIFT_SWIFT_H
+#define SWIFT_SWIFT_H
+#ifdef SWIFT_SYMBOL
+#undef SWIFT_SYMBOL
+#endif
+#define SWIFT_SYMBOL(usrValue) SWIFT_SYMBOL_MODULE_USR("swift", usrValue)
+#ifndef SWIFT_CXX_INTEROP_HIDE_STL_OVERLAY
+#include <string>
+#endif
+#include <new>
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdocumentation"
+#ifndef SWIFT_PRINTED_CORE
+#define SWIFT_PRINTED_CORE
+namespace swift SWIFT_PRIVATE_ATTR {
+
+namespace _impl {
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+// Swift type metadata response type.
+struct MetadataResponseTy {
+  void * _Null_unspecified _0;
+  uint64_t _1;
+};
+// Swift type metadata request type.
+typedef uint64_t MetadataRequestTy;
+
+#if __cplusplus > 201402L
+#  define SWIFT_NOEXCEPT_FUNCTION_PTR noexcept
+#else
+#  define SWIFT_NOEXCEPT_FUNCTION_PTR
+#endif
+
+using ValueWitnessInitializeBufferWithCopyOfBufferTy = void * _Nonnull(* __ptrauth_swift_value_witness_function_pointer(55882))(void * _Nonnull, void * _Nonnull, void * _Nonnull) SWIFT_NOEXCEPT_FUNCTION_PTR;
+using ValueWitnessDestroyTy = void(* __ptrauth_swift_value_witness_function_pointer(1272))(void * _Nonnull, void * _Nonnull) SWIFT_NOEXCEPT_FUNCTION_PTR;
+using ValueWitnessInitializeWithCopyTy = void * _Nonnull(* __ptrauth_swift_value_witness_function_pointer(58298))(void * _Nonnull, void * _Nonnull, void * _Nonnull) SWIFT_NOEXCEPT_FUNCTION_PTR;
+using ValueWitnessAssignWithCopyTy = void * _Nonnull(* __ptrauth_swift_value_witness_function_pointer(34641))(void * _Nonnull, void * _Nonnull, void * _Nonnull) SWIFT_NOEXCEPT_FUNCTION_PTR;
+using ValueWitnessInitializeWithTakeTy = void * _Nonnull(* __ptrauth_swift_value_witness_function_pointer(18648))(void * _Nonnull, void * _Nonnull, void * _Nonnull) SWIFT_NOEXCEPT_FUNCTION_PTR;
+using ValueWitnessAssignWithTakeTy = void * _Nonnull(* __ptrauth_swift_value_witness_function_pointer(61402))(void * _Nonnull, void * _Nonnull, void * _Nonnull) SWIFT_NOEXCEPT_FUNCTION_PTR;
+using ValueWitnessGetEnumTagSinglePayloadTy = unsigned(* __ptrauth_swift_value_witness_function_pointer(24816))(const void * _Nonnull, unsigned, void * _Nonnull) SWIFT_NOEXCEPT_FUNCTION_PTR;
+using ValueWitnessStoreEnumTagSinglePayloadTy = void(* __ptrauth_swift_value_witness_function_pointer(41169))(void * _Nonnull, unsigned, unsigned, void * _Nonnull) SWIFT_NOEXCEPT_FUNCTION_PTR;
+
+struct ValueWitnessTable {
+  ValueWitnessInitializeBufferWithCopyOfBufferTy _Nonnull initializeBufferWithCopyOfBuffer;
+  ValueWitnessDestroyTy _Nonnull destroy;
+  ValueWitnessInitializeWithCopyTy _Nonnull initializeWithCopy;
+  ValueWitnessAssignWithCopyTy _Nonnull assignWithCopy;
+  ValueWitnessInitializeWithTakeTy _Nonnull initializeWithTake;
+  ValueWitnessAssignWithTakeTy _Nonnull assignWithTake;
+  ValueWitnessGetEnumTagSinglePayloadTy _Nonnull getEnumTagSinglePayload;
+  ValueWitnessStoreEnumTagSinglePayloadTy _Nonnull storeEnumTagSinglePayload;
+  size_t size;
+  size_t stride;
+  unsigned flags;
+  unsigned extraInhabitantCount;
+
+  constexpr size_t getAlignment() const { return (flags & 255) + 1; }
+};
+
+using EnumValueWitnessGetEnumTagTy = unsigned(* __ptrauth_swift_value_witness_function_pointer(41909))(const void * _Nonnull, void * _Nonnull) SWIFT_NOEXCEPT_FUNCTION_PTR;
+using EnumValueWitnessDestructiveProjectEnumDataTy = void(* __ptrauth_swift_value_witness_function_pointer(1053))(void * _Nonnull, void * _Nonnull) SWIFT_NOEXCEPT_FUNCTION_PTR;
+using EnumValueWitnessDestructiveInjectEnumTagTy = void(* __ptrauth_swift_value_witness_function_pointer(45796))(void * _Nonnull, unsigned, void * _Nonnull) SWIFT_NOEXCEPT_FUNCTION_PTR;
+
+struct EnumValueWitnessTable {
+  ValueWitnessTable vwTable;
+  EnumValueWitnessGetEnumTagTy _Nonnull getEnumTag;
+  EnumValueWitnessDestructiveProjectEnumDataTy _Nonnull destructiveProjectEnumData;
+  EnumValueWitnessDestructiveInjectEnumTagTy _Nonnull destructiveInjectEnumTag;
+};
+
+#undef SWIFT_NOEXCEPT_FUNCTION_PTR
+
+
+// type metadata address for Bool.
+SWIFT_IMPORT_STDLIB_SYMBOL extern size_t $sSbN;
+// type metadata address for Int8.
+SWIFT_IMPORT_STDLIB_SYMBOL extern size_t $ss4Int8VN;
+// type metadata address for UInt8.
+SWIFT_IMPORT_STDLIB_SYMBOL extern size_t $ss5UInt8VN;
+// type metadata address for Int16.
+SWIFT_IMPORT_STDLIB_SYMBOL extern size_t $ss5Int16VN;
+// type metadata address for UInt16.
+SWIFT_IMPORT_STDLIB_SYMBOL extern size_t $ss6UInt16VN;
+// type metadata address for Int32.
+SWIFT_IMPORT_STDLIB_SYMBOL extern size_t $ss5Int32VN;
+// type metadata address for UInt32.
+SWIFT_IMPORT_STDLIB_SYMBOL extern size_t $ss6UInt32VN;
+// type metadata address for Int64.
+SWIFT_IMPORT_STDLIB_SYMBOL extern size_t $ss5Int64VN;
+// type metadata address for UInt64.
+SWIFT_IMPORT_STDLIB_SYMBOL extern size_t $ss6UInt64VN;
+// type metadata address for Float.
+SWIFT_IMPORT_STDLIB_SYMBOL extern size_t $sSfN;
+// type metadata address for Double.
+SWIFT_IMPORT_STDLIB_SYMBOL extern size_t $sSdN;
+// type metadata address for OpaquePointer.
+SWIFT_IMPORT_STDLIB_SYMBOL extern size_t $ss13OpaquePointerVN;
+// type metadata address for Int.
+SWIFT_IMPORT_STDLIB_SYMBOL extern size_t $sSiN;
+// type metadata address for UInt.
+SWIFT_IMPORT_STDLIB_SYMBOL extern size_t $sSuN;
+
+#ifdef __cplusplus
+}
+#endif
+
+
+} // namespace _impl
+
+
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wc++17-extensions"
+template<>
+static inline const constexpr bool isUsableInGenericContext<bool> = true;
+
+template<>
+struct TypeMetadataTrait<bool> {
+  static SWIFT_INLINE_THUNK void * _Nonnull getTypeMetadata() {
+    return &_impl::$sSbN;
+  }
+};
+
+template<>
+static inline const constexpr bool isUsableInGenericContext<int8_t> = true;
+
+template<>
+struct TypeMetadataTrait<int8_t> {
+  static SWIFT_INLINE_THUNK void * _Nonnull getTypeMetadata() {
+    return &_impl::$ss4Int8VN;
+  }
+};
+
+template<>
+static inline const constexpr bool isUsableInGenericContext<uint8_t> = true;
+
+template<>
+struct TypeMetadataTrait<uint8_t> {
+  static SWIFT_INLINE_THUNK void * _Nonnull getTypeMetadata() {
+    return &_impl::$ss5UInt8VN;
+  }
+};
+
+template<>
+static inline const constexpr bool isUsableInGenericContext<int16_t> = true;
+
+template<>
+struct TypeMetadataTrait<int16_t> {
+  static SWIFT_INLINE_THUNK void * _Nonnull getTypeMetadata() {
+    return &_impl::$ss5Int16VN;
+  }
+};
+
+template<>
+static inline const constexpr bool isUsableInGenericContext<uint16_t> = true;
+
+template<>
+struct TypeMetadataTrait<uint16_t> {
+  static SWIFT_INLINE_THUNK void * _Nonnull getTypeMetadata() {
+    return &_impl::$ss6UInt16VN;
+  }
+};
+
+template<>
+static inline const constexpr bool isUsableInGenericContext<int32_t> = true;
+
+template<>
+struct TypeMetadataTrait<int32_t> {
+  static SWIFT_INLINE_THUNK void * _Nonnull getTypeMetadata() {
+    return &_impl::$ss5Int32VN;
+  }
+};
+
+template<>
+static inline const constexpr bool isUsableInGenericContext<uint32_t> = true;
+
+template<>
+struct TypeMetadataTrait<uint32_t> {
+  static SWIFT_INLINE_THUNK void * _Nonnull getTypeMetadata() {
+    return &_impl::$ss6UInt32VN;
+  }
+};
+
+template<>
+static inline const constexpr bool isUsableInGenericContext<int64_t> = true;
+
+template<>
+struct TypeMetadataTrait<int64_t> {
+  static SWIFT_INLINE_THUNK void * _Nonnull getTypeMetadata() {
+    return &_impl::$ss5Int64VN;
+  }
+};
+
+template<>
+static inline const constexpr bool isUsableInGenericContext<uint64_t> = true;
+
+template<>
+struct TypeMetadataTrait<uint64_t> {
+  static SWIFT_INLINE_THUNK void * _Nonnull getTypeMetadata() {
+    return &_impl::$ss6UInt64VN;
+  }
+};
+
+template<>
+static inline const constexpr bool isUsableInGenericContext<float> = true;
+
+template<>
+struct TypeMetadataTrait<float> {
+  static SWIFT_INLINE_THUNK void * _Nonnull getTypeMetadata() {
+    return &_impl::$sSfN;
+  }
+};
+
+template<>
+static inline const constexpr bool isUsableInGenericContext<double> = true;
+
+template<>
+struct TypeMetadataTrait<double> {
+  static SWIFT_INLINE_THUNK void * _Nonnull getTypeMetadata() {
+    return &_impl::$sSdN;
+  }
+};
+
+template<>
+static inline const constexpr bool isUsableInGenericContext<void *> = true;
+
+template<>
+struct TypeMetadataTrait<void *> {
+  static SWIFT_INLINE_THUNK void * _Nonnull getTypeMetadata() {
+    return &_impl::$ss13OpaquePointerVN;
+  }
+};
+
+template<>
+static inline const constexpr bool isUsableInGenericContext<swift::Int> = true;
+
+template<>
+struct TypeMetadataTrait<swift::Int> {
+  static SWIFT_INLINE_THUNK void * _Nonnull getTypeMetadata() {
+    return &_impl::$sSiN;
+  }
+};
+
+template<>
+static inline const constexpr bool isUsableInGenericContext<swift::UInt> = true;
+
+template<>
+struct TypeMetadataTrait<swift::UInt> {
+  static SWIFT_INLINE_THUNK void * _Nonnull getTypeMetadata() {
+    return &_impl::$sSuN;
+  }
+};
+
+#pragma clang diagnostic pop
+
+} // namespace swift
+
+#endif
+#ifdef __cplusplus
+namespace swift SWIFT_PRIVATE_ATTR SWIFT_SYMBOL_MODULE("swift") {
+namespace _impl {
+extern "C" {
+#endif
+
+// Stub struct to be used to pass/return values to/from Swift functions.
+struct swift_interop_returnStub_swift_void_ptr_0_8 {
+  void * _Nullable _1;
+};
+
+static SWIFT_C_INLINE_THUNK void swift_interop_returnDirect_swift_void_ptr_0_8(char * _Nonnull result, struct swift_interop_returnStub_swift_void_ptr_0_8 value) {
+  memcpy(result + 0, &value._1, 8);
+}
+
+SWIFT_EXTERN struct swift_interop_returnStub_swift_void_ptr_0_8 $sS2ayxGycfC(void * _Nonnull ) SWIFT_NOEXCEPT SWIFT_CALL; // init()
+SWIFT_EXTERN struct swift_interop_returnStub_swift_void_ptr_0_8 $sSa9repeating5countSayxGx_SitcfC(const void * _Nonnull repeatedValue, ptrdiff_t count, void * _Nonnull ) SWIFT_NOEXCEPT SWIFT_CALL; // init(repeating:count:)
+SWIFT_EXTERN void $sSa15reserveCapacityyySiF(ptrdiff_t minimumCapacity, void * _Nonnull , SWIFT_CONTEXT void * _Nonnull _self) SWIFT_NOEXCEPT SWIFT_CALL; // reserveCapacity(_:)
+SWIFT_EXTERN void $sSa6appendyyxnF(const void * _Nonnull newElement, void * _Nonnull , SWIFT_CONTEXT void * _Nonnull _self) SWIFT_NOEXCEPT SWIFT_CALL; // append(_:)
+SWIFT_EXTERN void $sSa17_customRemoveLastxSgyF(SWIFT_INDIRECT_RESULT void * _Nonnull, void * _Nonnull , SWIFT_CONTEXT void * _Nonnull _self) SWIFT_NOEXCEPT SWIFT_CALL; // _customRemoveLast()
+SWIFT_EXTERN void $sSa6remove2atxSi_tF(SWIFT_INDIRECT_RESULT void * _Nonnull, ptrdiff_t index, void * _Nonnull , SWIFT_CONTEXT void * _Nonnull _self) SWIFT_NOEXCEPT SWIFT_CALL; // remove(at:)
+SWIFT_EXTERN void $sSa6insert_2atyxn_SitF(const void * _Nonnull newElement, ptrdiff_t i, void * _Nonnull , SWIFT_CONTEXT void * _Nonnull _self) SWIFT_NOEXCEPT SWIFT_CALL; // insert(_:at:)
+SWIFT_EXTERN void $sSa9removeAll15keepingCapacityySb_tF(bool keepCapacity, void * _Nonnull , SWIFT_CONTEXT void * _Nonnull _self) SWIFT_NOEXCEPT SWIFT_CALL; // removeAll(keepingCapacity:)
+// Stub struct to be used to pass/return values to/from Swift functions.
+struct swift_interop_passStub_swift_void_ptr_0_8 {
+  void * _Nullable _1;
+};
+
+static SWIFT_C_INLINE_THUNK struct swift_interop_passStub_swift_void_ptr_0_8 swift_interop_passDirect_swift_void_ptr_0_8(const char * _Nonnull value) {
+  struct swift_interop_passStub_swift_void_ptr_0_8 result;
+  memcpy(&result._1, value + 0, 8);
+  return result;
+}
+
+SWIFT_EXTERN ptrdiff_t $sSa10startIndexSivg(struct swift_interop_passStub_swift_void_ptr_0_8 _self, void * _Nonnull ) SWIFT_NOEXCEPT SWIFT_CALL; // _
+SWIFT_EXTERN ptrdiff_t $sSa8endIndexSivg(struct swift_interop_passStub_swift_void_ptr_0_8 _self, void * _Nonnull ) SWIFT_NOEXCEPT SWIFT_CALL; // _
+SWIFT_EXTERN ptrdiff_t $sSa8distance4from2toS2i_SitF(ptrdiff_t start, ptrdiff_t end, struct swift_interop_passStub_swift_void_ptr_0_8 _self, void * _Nonnull ) SWIFT_NOEXCEPT SWIFT_CALL; // distance(from:to:)
+SWIFT_EXTERN void $sSayxSicig(SWIFT_INDIRECT_RESULT void * _Nonnull, ptrdiff_t index, struct swift_interop_passStub_swift_void_ptr_0_8 _self, void * _Nonnull ) SWIFT_NOEXCEPT SWIFT_CALL; // _
+SWIFT_EXTERN ptrdiff_t $sSa5countSivg(struct swift_interop_passStub_swift_void_ptr_0_8 _self, void * _Nonnull ) SWIFT_NOEXCEPT SWIFT_CALL; // _
+SWIFT_EXTERN bool $sSa29_hoistableIsNativeTypeCheckedSbyF(struct swift_interop_passStub_swift_void_ptr_0_8 _self, void * _Nonnull ) SWIFT_NOEXCEPT SWIFT_CALL; // _hoistableIsNativeTypeChecked()
+SWIFT_EXTERN ptrdiff_t $sSa8capacitySivg(struct swift_interop_passStub_swift_void_ptr_0_8 _self, void * _Nonnull ) SWIFT_NOEXCEPT SWIFT_CALL; // _
+// Stub struct to be used to pass/return values to/from Swift functions.
+struct swift_interop_returnStub_swift_uint64_t_0_8_void_ptr_8_16 {
+  uint64_t _1;
+  void * _Nullable _2;
+};
+
+static SWIFT_C_INLINE_THUNK void swift_interop_returnDirect_swift_uint64_t_0_8_void_ptr_8_16(char * _Nonnull result, struct swift_interop_returnStub_swift_uint64_t_0_8_void_ptr_8_16 value) {
+  memcpy(result + 0, &value._1, 8);
+  memcpy(result + 8, &value._2, 8);
+}
+
+SWIFT_EXTERN struct swift_interop_returnStub_swift_uint64_t_0_8_void_ptr_8_16 $sSa11descriptionSSvg(struct swift_interop_passStub_swift_void_ptr_0_8 _self, void * _Nonnull ) SWIFT_NOEXCEPT SWIFT_CALL; // _
+SWIFT_EXTERN struct swift_interop_returnStub_swift_uint64_t_0_8_void_ptr_8_16 $sSa16debugDescriptionSSvg(struct swift_interop_passStub_swift_void_ptr_0_8 _self, void * _Nonnull ) SWIFT_NOEXCEPT SWIFT_CALL; // _
+// Stub struct to be used to pass/return values to/from Swift functions.
+struct swift_interop_returnStub_swift_uint64_t_0_8 {
+  uint64_t _1;
+};
+
+static SWIFT_C_INLINE_THUNK void swift_interop_returnDirect_swift_uint64_t_0_8(char * _Nonnull result, struct swift_interop_returnStub_swift_uint64_t_0_8 value) {
+  memcpy(result + 0, &value._1, 8);
+}
+
+SWIFT_EXTERN struct swift_interop_returnStub_swift_void_ptr_0_8 $sSa12arrayLiteralSayxGxd_tcfC(struct swift_interop_passStub_swift_void_ptr_0_8 elements, void * _Nonnull ) SWIFT_NOEXCEPT SWIFT_CALL; // init(arrayLiteral:)
+// Stub struct to be used to pass/return values to/from Swift functions.
+struct swift_interop_passStub_swift_uint64_t_0_8 {
+  uint64_t _1;
+};
+
+static SWIFT_C_INLINE_THUNK struct swift_interop_passStub_swift_uint64_t_0_8 swift_interop_passDirect_swift_uint64_t_0_8(const char * _Nonnull value) {
+  struct swift_interop_passStub_swift_uint64_t_0_8 result;
+  memcpy(&result._1, value + 0, 8);
+  return result;
+}
+
+SWIFT_EXTERN ptrdiff_t $sSS5IndexV13encodedOffsetSivg(struct swift_interop_passStub_swift_uint64_t_0_8 _self) SWIFT_NOEXCEPT SWIFT_CALL; // _
+SWIFT_EXTERN struct swift_interop_returnStub_swift_uint64_t_0_8 $sSS5IndexV13encodedOffsetABSi_tcfC(ptrdiff_t offset) SWIFT_NOEXCEPT SWIFT_CALL; // init(encodedOffset:)
+// Stub struct to be used to pass/return values to/from Swift functions.
+struct swift_interop_returnStub_swift_uint64_t_0_8_uint8_t_8_9 {
+  uint64_t _1;
+  uint8_t _2;
+};
+
+static SWIFT_C_INLINE_THUNK void swift_interop_returnDirect_swift_uint64_t_0_8_uint8_t_8_9(char * _Nonnull result, struct swift_interop_returnStub_swift_uint64_t_0_8_uint8_t_8_9 value) {
+  memcpy(result + 0, &value._1, 8);
+  memcpy(result + 8, &value._2, 1);
+}
+
+// Stub struct to be used to pass/return values to/from Swift functions.
+struct swift_interop_passStub_swift_uint64_t_0_8_void_ptr_8_16 {
+  uint64_t _1;
+  void * _Nullable _2;
+};
+
+static SWIFT_C_INLINE_THUNK struct swift_interop_passStub_swift_uint64_t_0_8_void_ptr_8_16 swift_interop_passDirect_swift_uint64_t_0_8_void_ptr_8_16(const char * _Nonnull value) {
+  struct swift_interop_passStub_swift_uint64_t_0_8_void_ptr_8_16 result;
+  memcpy(&result._1, value + 0, 8);
+  memcpy(&result._2, value + 8, 8);
+  return result;
+}
+
+SWIFT_EXTERN struct swift_interop_returnStub_swift_uint64_t_0_8_uint8_t_8_9 $sSS5IndexV_6withinABSgAB_SStcfC(struct swift_interop_passStub_swift_uint64_t_0_8 sourcePosition, struct swift_interop_passStub_swift_uint64_t_0_8_void_ptr_8_16 target) SWIFT_NOEXCEPT SWIFT_CALL; // init(_:within:)
+SWIFT_EXTERN struct swift_interop_returnStub_swift_uint64_t_0_8_uint8_t_8_9 $sSS5IndexV12samePosition2inABSgSS8UTF8ViewV_tF(struct swift_interop_passStub_swift_uint64_t_0_8_void_ptr_8_16 utf8, struct swift_interop_passStub_swift_uint64_t_0_8 _self) SWIFT_NOEXCEPT SWIFT_CALL; // samePosition(in:)
+SWIFT_EXTERN ptrdiff_t $sSS5IndexV9hashValueSivg(struct swift_interop_passStub_swift_uint64_t_0_8 _self) SWIFT_NOEXCEPT SWIFT_CALL; // _
+SWIFT_EXTERN struct swift_interop_returnStub_swift_uint64_t_0_8_uint8_t_8_9 $sSS5IndexV12samePosition2inABSgSS_tF(struct swift_interop_passStub_swift_uint64_t_0_8_void_ptr_8_16 characters, struct swift_interop_passStub_swift_uint64_t_0_8 _self) SWIFT_NOEXCEPT SWIFT_CALL; // samePosition(in:)
+SWIFT_EXTERN struct swift_interop_returnStub_swift_uint64_t_0_8_uint8_t_8_9 $sSS5IndexV_6withinABSgAB_SS8UTF8ViewVtcfC(struct swift_interop_passStub_swift_uint64_t_0_8 idx, struct swift_interop_passStub_swift_uint64_t_0_8_void_ptr_8_16 target) SWIFT_NOEXCEPT SWIFT_CALL; // init(_:within:)
+struct Swift_String_Index {
+  _Alignas(8) char _storage[8];
+};
+
+SWIFT_EXTERN void $sSqyxSgxcfC(SWIFT_INDIRECT_RESULT void * _Nonnull, const void * _Nonnull some, void * _Nonnull ) SWIFT_NOEXCEPT SWIFT_CALL; // init(_:)
+SWIFT_EXTERN void $sSq17unsafelyUnwrappedxvg(SWIFT_INDIRECT_RESULT void * _Nonnull, void * _Nonnull , SWIFT_CONTEXT const void * _Nonnull _self) SWIFT_NOEXCEPT SWIFT_CALL; // _
+SWIFT_EXTERN struct swift_interop_returnStub_swift_uint64_t_0_8_void_ptr_8_16 $sS2SycfC(void) SWIFT_NOEXCEPT SWIFT_CALL; // init()
+SWIFT_EXTERN struct swift_interop_returnStub_swift_uint64_t_0_8 $sSS10startIndexSS0B0Vvg(struct swift_interop_passStub_swift_uint64_t_0_8_void_ptr_8_16 _self) SWIFT_NOEXCEPT SWIFT_CALL; // _
+SWIFT_EXTERN struct swift_interop_returnStub_swift_uint64_t_0_8 $sSS8endIndexSS0B0Vvg(struct swift_interop_passStub_swift_uint64_t_0_8_void_ptr_8_16 _self) SWIFT_NOEXCEPT SWIFT_CALL; // _
+SWIFT_EXTERN ptrdiff_t $sSS5countSivg(struct swift_interop_passStub_swift_uint64_t_0_8_void_ptr_8_16 _self) SWIFT_NOEXCEPT SWIFT_CALL; // _
+SWIFT_EXTERN ptrdiff_t $sSS8distance4from2toSiSS5IndexV_AEtF(struct swift_interop_passStub_swift_uint64_t_0_8 start, struct swift_interop_passStub_swift_uint64_t_0_8 end, struct swift_interop_passStub_swift_uint64_t_0_8_void_ptr_8_16 _self) SWIFT_NOEXCEPT SWIFT_CALL; // distance(from:to:)
+SWIFT_EXTERN void $sSS15reserveCapacityyySiF(ptrdiff_t n, SWIFT_CONTEXT void * _Nonnull _self) SWIFT_NOEXCEPT SWIFT_CALL; // reserveCapacity(_:)
+SWIFT_EXTERN void $sSS6appendyySSF(struct swift_interop_passStub_swift_uint64_t_0_8_void_ptr_8_16 other, SWIFT_CONTEXT void * _Nonnull _self) SWIFT_NOEXCEPT SWIFT_CALL; // append(_:)
+SWIFT_EXTERN void $sSS6append10contentsOfySS_tF(struct swift_interop_passStub_swift_uint64_t_0_8_void_ptr_8_16 newElements, SWIFT_CONTEXT void * _Nonnull _self) SWIFT_NOEXCEPT SWIFT_CALL; // append(contentsOf:)
+SWIFT_EXTERN void $sSS9removeAll15keepingCapacityySb_tF(bool keepCapacity, SWIFT_CONTEXT void * _Nonnull _self) SWIFT_NOEXCEPT SWIFT_CALL; // removeAll(keepingCapacity:)
+// Stub struct to be used to pass/return values to/from Swift functions.
+struct swift_interop_returnStub_swift_uint64_t_0_8_uint64_t_8_16 {
+  uint64_t _1;
+  uint64_t _2;
+};
+
+static SWIFT_C_INLINE_THUNK void swift_interop_returnDirect_swift_uint64_t_0_8_uint64_t_8_16(char * _Nonnull result, struct swift_interop_returnStub_swift_uint64_t_0_8_uint64_t_8_16 value) {
+  memcpy(result + 0, &value._1, 8);
+  memcpy(result + 8, &value._2, 8);
+}
+
+SWIFT_EXTERN struct swift_interop_returnStub_swift_uint64_t_0_8_void_ptr_8_16 $sSS4utf8SS8UTF8ViewVvg(struct swift_interop_passStub_swift_uint64_t_0_8_void_ptr_8_16 _self) SWIFT_NOEXCEPT SWIFT_CALL; // _
+SWIFT_EXTERN void $sSS4utf8SS8UTF8ViewVvs(struct swift_interop_passStub_swift_uint64_t_0_8_void_ptr_8_16 newValue, SWIFT_CONTEXT void * _Nonnull _self) SWIFT_NOEXCEPT SWIFT_CALL; // _
+SWIFT_EXTERN struct swift_interop_returnStub_swift_uint64_t_0_8_void_ptr_8_16 $sSS10charactersSSvg(struct swift_interop_passStub_swift_uint64_t_0_8_void_ptr_8_16 _self) SWIFT_NOEXCEPT SWIFT_CALL; // _
+SWIFT_EXTERN void $sSS10charactersSSvs(struct swift_interop_passStub_swift_uint64_t_0_8_void_ptr_8_16 newValue, SWIFT_CONTEXT void * _Nonnull _self) SWIFT_NOEXCEPT SWIFT_CALL; // _
+SWIFT_EXTERN ptrdiff_t $sSS9hashValueSivg(struct swift_interop_passStub_swift_uint64_t_0_8_void_ptr_8_16 _self) SWIFT_NOEXCEPT SWIFT_CALL; // _
+SWIFT_EXTERN struct swift_interop_returnStub_swift_void_ptr_0_8 $sSS13_nfcCodeUnitsSays5UInt8VGvg(struct swift_interop_passStub_swift_uint64_t_0_8_void_ptr_8_16 _self) SWIFT_NOEXCEPT SWIFT_CALL; // _
+SWIFT_EXTERN bool $sSS7isEmptySbvg(struct swift_interop_passStub_swift_uint64_t_0_8_void_ptr_8_16 _self) SWIFT_NOEXCEPT SWIFT_CALL; // _
+SWIFT_EXTERN struct swift_interop_returnStub_swift_uint64_t_0_8_void_ptr_8_16 $sSS10lowercasedSSyF(struct swift_interop_passStub_swift_uint64_t_0_8_void_ptr_8_16 _self) SWIFT_NOEXCEPT SWIFT_CALL; // lowercased()
+SWIFT_EXTERN struct swift_interop_returnStub_swift_uint64_t_0_8_void_ptr_8_16 $sSS10uppercasedSSyF(struct swift_interop_passStub_swift_uint64_t_0_8_void_ptr_8_16 _self) SWIFT_NOEXCEPT SWIFT_CALL; // uppercased()
+SWIFT_EXTERN struct swift_interop_returnStub_swift_uint64_t_0_8_void_ptr_8_16 $sSS16debugDescriptionSSvg(struct swift_interop_passStub_swift_uint64_t_0_8_void_ptr_8_16 _self) SWIFT_NOEXCEPT SWIFT_CALL; // _
+SWIFT_EXTERN struct swift_interop_returnStub_swift_uint64_t_0_8_void_ptr_8_16 $sSS11descriptionSSvg(struct swift_interop_passStub_swift_uint64_t_0_8_void_ptr_8_16 _self) SWIFT_NOEXCEPT SWIFT_CALL; // _
+SWIFT_EXTERN void $sSS5writeyySSF(struct swift_interop_passStub_swift_uint64_t_0_8_void_ptr_8_16 other, SWIFT_CONTEXT void * _Nonnull _self) SWIFT_NOEXCEPT SWIFT_CALL; // write(_:)
+SWIFT_EXTERN void $sSS5_dumpyyF(struct swift_interop_passStub_swift_uint64_t_0_8_void_ptr_8_16 _self) SWIFT_NOEXCEPT SWIFT_CALL; // _dump()
+SWIFT_EXTERN bool $sSS9hasPrefixySbSSF(struct swift_interop_passStub_swift_uint64_t_0_8_void_ptr_8_16 prefix, struct swift_interop_passStub_swift_uint64_t_0_8_void_ptr_8_16 _self) SWIFT_NOEXCEPT SWIFT_CALL; // hasPrefix(_:)
+SWIFT_EXTERN bool $sSS9hasSuffixySbSSF(struct swift_interop_passStub_swift_uint64_t_0_8_void_ptr_8_16 suffix, struct swift_interop_passStub_swift_uint64_t_0_8_void_ptr_8_16 _self) SWIFT_NOEXCEPT SWIFT_CALL; // hasSuffix(_:)
+struct swift_interop_stub_Swift_String {
+#if UINTPTR_MAX == 0xFFFFFFFFFFFFFFFFu
+uint64_t _1;
+void * _Nullable _2;
+#elif UINTPTR_MAX == 0xFFFFFFFF
+uint32_t _1;
+uint32_t _2;
+uint32_t _3;
+#endif
+};
+static SWIFT_INLINE_THUNK struct swift_interop_stub_Swift_String swift_interop_passDirect_Swift_String(const char * _Nonnull value) {
+struct swift_interop_stub_Swift_String result;
+#if UINTPTR_MAX == 0xFFFFFFFFFFFFFFFFu
+memcpy(&result._1, value, 8);
+memcpy(&result._2, value + 8, 8);
+#elif UINTPTR_MAX == 0xFFFFFFFF
+memcpy(&result._1, value, 4);
+memcpy(&result._2, value + 4, 4);
+memcpy(&result._3, value + 8, 4);
+#endif
+return result;
+}
+SWIFT_EXTERN void *_Nonnull $sSS10FoundationE19_bridgeToObjectiveCSo8NSStringCyF(swift_interop_stub_Swift_String) SWIFT_NOEXCEPT SWIFT_CALL;
+SWIFT_EXTERN swift_interop_stub_Swift_String $sSS10FoundationE36_unconditionallyBridgeFromObjectiveCySSSo8NSStringCSgFZ(void * _Nullable) SWIFT_NOEXCEPT SWIFT_CALL;
+SWIFT_EXTERN swift_interop_stub_Swift_String $sSS7cStringSSSPys4Int8VG_tcfC(const char * _Nonnull) SWIFT_NOEXCEPT SWIFT_CALL;
+struct Swift_String {
+  _Alignas(8) char _storage[16];
+};
+
+SWIFT_EXTERN struct swift_interop_returnStub_swift_uint64_t_0_8 $sSS8UTF8ViewV10startIndexSS0D0Vvg(struct swift_interop_passStub_swift_uint64_t_0_8_void_ptr_8_16 _self) SWIFT_NOEXCEPT SWIFT_CALL; // _
+SWIFT_EXTERN struct swift_interop_returnStub_swift_uint64_t_0_8 $sSS8UTF8ViewV8endIndexSS0D0Vvg(struct swift_interop_passStub_swift_uint64_t_0_8_void_ptr_8_16 _self) SWIFT_NOEXCEPT SWIFT_CALL; // _
+SWIFT_EXTERN struct swift_interop_returnStub_swift_uint64_t_0_8 $sSS8UTF8ViewV5index5afterSS5IndexVAF_tF(struct swift_interop_passStub_swift_uint64_t_0_8 i, struct swift_interop_passStub_swift_uint64_t_0_8_void_ptr_8_16 _self) SWIFT_NOEXCEPT SWIFT_CALL; // index(after:)
+SWIFT_EXTERN struct swift_interop_returnStub_swift_uint64_t_0_8 $sSS8UTF8ViewV5index6beforeSS5IndexVAF_tF(struct swift_interop_passStub_swift_uint64_t_0_8 i, struct swift_interop_passStub_swift_uint64_t_0_8_void_ptr_8_16 _self) SWIFT_NOEXCEPT SWIFT_CALL; // index(before:)
+SWIFT_EXTERN struct swift_interop_returnStub_swift_uint64_t_0_8 $sSS8UTF8ViewV5index_8offsetBySS5IndexVAF_SitF(struct swift_interop_passStub_swift_uint64_t_0_8 i, ptrdiff_t n, struct swift_interop_passStub_swift_uint64_t_0_8_void_ptr_8_16 _self) SWIFT_NOEXCEPT SWIFT_CALL; // index(_:offsetBy:)
+SWIFT_EXTERN struct swift_interop_returnStub_swift_uint64_t_0_8_uint8_t_8_9 $sSS8UTF8ViewV5index_8offsetBy07limitedE0SS5IndexVSgAG_SiAGtF(struct swift_interop_passStub_swift_uint64_t_0_8 i, ptrdiff_t n, struct swift_interop_passStub_swift_uint64_t_0_8 limit, struct swift_interop_passStub_swift_uint64_t_0_8_void_ptr_8_16 _self) SWIFT_NOEXCEPT SWIFT_CALL; // index(_:offsetBy:limitedBy:)
+SWIFT_EXTERN ptrdiff_t $sSS8UTF8ViewV8distance4from2toSiSS5IndexV_AGtF(struct swift_interop_passStub_swift_uint64_t_0_8 i, struct swift_interop_passStub_swift_uint64_t_0_8 j, struct swift_interop_passStub_swift_uint64_t_0_8_void_ptr_8_16 _self) SWIFT_NOEXCEPT SWIFT_CALL; // distance(from:to:)
+SWIFT_EXTERN uint8_t $sSS8UTF8ViewVys5UInt8VSS5IndexVcig(struct swift_interop_passStub_swift_uint64_t_0_8 i, struct swift_interop_passStub_swift_uint64_t_0_8_void_ptr_8_16 _self) SWIFT_NOEXCEPT SWIFT_CALL; // _
+SWIFT_EXTERN struct swift_interop_returnStub_swift_uint64_t_0_8_void_ptr_8_16 $sSS8UTF8ViewV11descriptionSSvg(struct swift_interop_passStub_swift_uint64_t_0_8_void_ptr_8_16 _self) SWIFT_NOEXCEPT SWIFT_CALL; // _
+SWIFT_EXTERN struct swift_interop_returnStub_swift_uint64_t_0_8_void_ptr_8_16 $sSS8UTF8ViewV16debugDescriptionSSvg(struct swift_interop_passStub_swift_uint64_t_0_8_void_ptr_8_16 _self) SWIFT_NOEXCEPT SWIFT_CALL; // _
+SWIFT_EXTERN ptrdiff_t $sSS8UTF8ViewV5countSivg(struct swift_interop_passStub_swift_uint64_t_0_8_void_ptr_8_16 _self) SWIFT_NOEXCEPT SWIFT_CALL; // _
+struct Swift_UTF8View {
+  _Alignas(8) char _storage[16];
+};
+
+}
+}
+}
+namespace swift SWIFT_PRIVATE_ATTR SWIFT_SYMBOL_MODULE("swift") {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+template<class T_0_0>
+#ifdef __cpp_concepts
+requires swift::isUsableInGenericContext<T_0_0>
+#endif // __cpp_concepts
+class SWIFT_SYMBOL("s:Sq") Optional;
+} // end namespace 
+
+namespace swift SWIFT_PRIVATE_ATTR {
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wc++17-extensions"
+#pragma clang diagnostic pop
+} // namespace swift
+
+namespace swift SWIFT_PRIVATE_ATTR SWIFT_SYMBOL_MODULE("swift") {
+class SWIFT_SYMBOL("s:SS") String;
+} // end namespace 
+
+namespace swift SWIFT_PRIVATE_ATTR {
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wc++17-extensions"
+template<>
+static inline const constexpr bool isUsableInGenericContext<swift::String> = true;
+#pragma clang diagnostic pop
+} // namespace swift
+
+namespace swift SWIFT_PRIVATE_ATTR SWIFT_SYMBOL_MODULE("swift") {
+template<class T_0_0>
+#ifdef __cpp_concepts
+requires swift::isUsableInGenericContext<T_0_0>
+#endif // __cpp_concepts
+class SWIFT_SYMBOL("s:Sa") Array;
+} // end namespace 
+
+namespace swift SWIFT_PRIVATE_ATTR {
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wc++17-extensions"
+#pragma clang diagnostic pop
+} // namespace swift
+
+namespace swift SWIFT_PRIVATE_ATTR SWIFT_SYMBOL_MODULE("swift") {
+namespace _impl {
+
+template<class T_0_0>
+#ifdef __cpp_concepts
+requires swift::isUsableInGenericContext<T_0_0>
+#endif // __cpp_concepts
+class _impl_Array;
+
+static_assert(1 <= 3, "unsupported generic requirement list for metadata func");
+// Type metadata accessor for Array
+SWIFT_EXTERN swift::_impl::MetadataResponseTy $sSaMa(swift::_impl::MetadataRequestTy, void * _Nonnull) SWIFT_NOEXCEPT SWIFT_CALL;
+
+
+} // namespace _impl
+
+template<class T_0_0>
+#ifdef __cpp_concepts
+requires swift::isUsableInGenericContext<T_0_0>
+#endif // __cpp_concepts
+class SWIFT_SYMBOL("s:Sa") Array final {
+public:
+#ifndef __cpp_concepts
+static_assert(swift::isUsableInGenericContext<T_0_0>, "type cannot be used in a Swift generic context");
+#endif // __cpp_concepts
+  SWIFT_INLINE_THUNK ~Array() noexcept {
+    auto metadata = _impl::$sSaMa(0, swift::TypeMetadataTrait<T_0_0>::getTypeMetadata());
+    auto *vwTableAddr = reinterpret_cast<swift::_impl::ValueWitnessTable **>(metadata._0) - 1;
+#ifdef __arm64e__
+    auto *vwTable = reinterpret_cast<swift::_impl::ValueWitnessTable *>(ptrauth_auth_data(reinterpret_cast<void *>(*vwTableAddr), ptrauth_key_process_independent_data, ptrauth_blend_discriminator(vwTableAddr, 11839)));
+#else
+    auto *vwTable = *vwTableAddr;
+#endif
+    vwTable->destroy(_getOpaquePointer(), metadata._0);
+  }
+  SWIFT_INLINE_THUNK Array(const Array &other) noexcept {
+    auto metadata = _impl::$sSaMa(0, swift::TypeMetadataTrait<T_0_0>::getTypeMetadata());
+    auto *vwTableAddr = reinterpret_cast<swift::_impl::ValueWitnessTable **>(metadata._0) - 1;
+#ifdef __arm64e__
+    auto *vwTable = reinterpret_cast<swift::_impl::ValueWitnessTable *>(ptrauth_auth_data(reinterpret_cast<void *>(*vwTableAddr), ptrauth_key_process_independent_data, ptrauth_blend_discriminator(vwTableAddr, 11839)));
+#else
+    auto *vwTable = *vwTableAddr;
+#endif
+    _storage = swift::_impl::OpaqueStorage(vwTable->size, vwTable->getAlignment());
+    vwTable->initializeWithCopy(_getOpaquePointer(), const_cast<char *>(other._getOpaquePointer()), metadata._0);
+  }
+  SWIFT_INLINE_THUNK Array &operator =(const Array &other) noexcept {
+    auto metadata = _impl::$sSaMa(0, swift::TypeMetadataTrait<T_0_0>::getTypeMetadata());
+    auto *vwTableAddr = reinterpret_cast<swift::_impl::ValueWitnessTable **>(metadata._0) - 1;
+#ifdef __arm64e__
+    auto *vwTable = reinterpret_cast<swift::_impl::ValueWitnessTable *>(ptrauth_auth_data(reinterpret_cast<void *>(*vwTableAddr), ptrauth_key_process_independent_data, ptrauth_blend_discriminator(vwTableAddr, 11839)));
+#else
+    auto *vwTable = *vwTableAddr;
+#endif
+    vwTable->assignWithCopy(_getOpaquePointer(), const_cast<char *>(other._getOpaquePointer()), metadata._0);
+  return *this;
+  }
+  SWIFT_INLINE_THUNK Array &operator =(Array &&other) = delete;
+  [[noreturn]] SWIFT_INLINE_PRIVATE_HELPER Array(Array &&) noexcept {
+  swift::_impl::_fatalError_Cxx_move_of_Swift_value_type_not_supported_yet();
+  swift::_impl::_swift_stdlib_reportFatalError("swift", 5, "C++ does not support moving a Swift value yet", 45, 0);
+  abort();
+  }
+/// Creates a new, empty array.
+/// This is equivalent to initializing with an empty array literal.
+/// For example:
+/// \code
+/// var emptyArray = Array<Int>()
+/// print(emptyArray.isEmpty)
+/// // Prints "true"
+///
+/// emptyArray = []
+/// print(emptyArray.isEmpty)
+/// // Prints "true"
+///
+/// \endcode
+  static SWIFT_INLINE_THUNK Array<T_0_0> init() SWIFT_SYMBOL("s:S2ayxGycfc");
+/// Creates a new array containing the specified number of a single, repeated
+/// value.
+/// Here’s an example of creating an array initialized with five strings
+/// containing the letter <em>Z</em>.
+/// \code
+/// let fiveZs = Array(repeating: "Z", count: 5)
+/// print(fiveZs)
+/// // Prints "["Z", "Z", "Z", "Z", "Z"]"
+///
+/// \endcode\param repeatedValue The element to repeat.
+///
+/// \param count The number of times to repeat the value passed in the
+/// <code>repeating</code> parameter. <code>count</code> must be zero or greater.
+///
+  static SWIFT_INLINE_THUNK Array<T_0_0> init(const T_0_0& repeatedValue, swift::Int count) SWIFT_SYMBOL("s:Sa9repeating5countSayxGx_Sitcfc");
+/// Reserves enough space to store the specified number of elements.
+/// If you are adding a known number of elements to an array, use this method
+/// to avoid multiple reallocations. This method ensures that the array has
+/// unique, mutable, contiguous storage, with space allocated for at least
+/// the requested number of elements.
+/// Calling the <code>reserveCapacity(_:)</code> method on an array with bridged storage
+/// triggers a copy to contiguous storage even if the existing storage
+/// has room to store <code>minimumCapacity</code> elements.
+/// For performance reasons, the size of the newly allocated storage might be
+/// greater than the requested capacity. Use the array’s <code>capacity</code> property
+/// to determine the size of the new storage.
+/// <h1>Preserving an Array’s Geometric Growth Strategy</h1>
+/// If you implement a custom data structure backed by an array that grows
+/// dynamically, naively calling the <code>reserveCapacity(_:)</code> method can lead
+/// to worse than expected performance. Arrays need to follow a geometric
+/// allocation pattern for appending elements to achieve amortized
+/// constant-time performance. The <code>Array</code> type’s <code>append(_:)</code> and
+/// <code>append(contentsOf:)</code> methods take care of this detail for you, but
+/// <code>reserveCapacity(_:)</code> allocates only as much space as you tell it to
+/// (padded to a round value), and no more. This avoids over-allocation, but
+/// can result in insertion not having amortized constant-time performance.
+/// The following code declares <code>values</code>, an array of integers, and the
+/// <code>addTenQuadratic()</code> function, which adds ten more values to the <code>values</code>
+/// array on each call.
+/// \code
+///   var values: [Int] = [0, 1, 2, 3]
+///
+///   // Don't use 'reserveCapacity(_:)' like this
+///   func addTenQuadratic() {
+///       let newCount = values.count + 10
+///       values.reserveCapacity(newCount)
+///       for n in values.count..<newCount {
+///           values.append(n)
+///       }
+///   }
+///
+/// \endcodeThe call to <code>reserveCapacity(_:)</code> increases the <code>values</code> array’s capacity
+/// by exactly 10 elements on each pass through <code>addTenQuadratic()</code>, which
+/// is linear growth. Instead of having constant time when averaged over
+/// many calls, the function may decay to performance that is linear in
+/// <code>values.count</code>. This is almost certainly not what you want.
+/// In cases like this, the simplest fix is often to simply remove the call
+/// to <code>reserveCapacity(_:)</code>, and let the <code>append(_:)</code> method grow the array
+/// for you.
+/// \code
+///   func addTen() {
+///       let newCount = values.count + 10
+///       for n in values.count..<newCount {
+///           values.append(n)
+///       }
+///   }
+///
+/// \endcodeIf you need more control over the capacity of your array, implement your
+/// own geometric growth strategy, passing the size you compute to
+/// <code>reserveCapacity(_:)</code>.
+/// complexity:
+/// O(<em>n</em>), where <em>n</em> is the number of elements in the array.
+/// \param minimumCapacity The requested number of elements to store.
+///
+  SWIFT_INLINE_THUNK void reserveCapacity(swift::Int minimumCapacity) SWIFT_SYMBOL("s:Sa15reserveCapacityyySiF");
+/// Adds a new element at the end of the array.
+/// Use this method to append a single element to the end of a mutable array.
+/// \code
+/// var numbers = [1, 2, 3, 4, 5]
+/// numbers.append(100)
+/// print(numbers)
+/// // Prints "[1, 2, 3, 4, 5, 100]"
+///
+/// \endcodeBecause arrays increase their allocated capacity using an exponential
+/// strategy, appending a single element to an array is an O(1) operation
+/// when averaged over many calls to the <code>append(_:)</code> method. When an array
+/// has additional capacity and is not sharing its storage with another
+/// instance, appending an element is O(1). When an array needs to
+/// reallocate storage before appending or its storage is shared with
+/// another copy, appending is O(<em>n</em>), where <em>n</em> is the length of the array.
+/// complexity:
+/// O(1) on average, over many calls to <code>append(_:)</code> on the
+/// same array.
+/// \param newElement The element to append to the array.
+///
+  SWIFT_INLINE_THUNK void append(const T_0_0& newElement) SWIFT_SYMBOL("s:Sa6appendyyxnF");
+  SWIFT_INLINE_THUNK swift::Optional<T_0_0> _customRemoveLast() SWIFT_SYMBOL("s:Sa17_customRemoveLastxSgyF");
+/// Removes and returns the element at the specified position.
+/// All the elements following the specified position are moved up to
+/// close the gap.
+/// \code
+/// var measurements: [Double] = [1.1, 1.5, 2.9, 1.2, 1.5, 1.3, 1.2]
+/// let removed = measurements.remove(at: 2)
+/// print(measurements)
+/// // Prints "[1.1, 1.5, 1.2, 1.5, 1.3, 1.2]"
+///
+/// \endcodecomplexity:
+/// O(<em>n</em>), where <em>n</em> is the length of the array.
+/// \param index The position of the element to remove. <code>index</code> must
+/// be a valid index of the array.
+///
+///
+/// returns:
+/// The element at the specified index.
+  SWIFT_INLINE_THUNK T_0_0 removeAt(swift::Int index) SWIFT_SYMBOL("s:Sa6remove2atxSi_tF");
+/// Inserts a new element at the specified position.
+/// The new element is inserted before the element currently at the specified
+/// index. If you pass the array’s <code>endIndex</code> property as the <code>index</code>
+/// parameter, the new element is appended to the array.
+/// \code
+/// var numbers = [1, 2, 3, 4, 5]
+/// numbers.insert(100, at: 3)
+/// numbers.insert(200, at: numbers.endIndex)
+///
+/// print(numbers)
+/// // Prints "[1, 2, 3, 100, 4, 5, 200]"
+///
+/// \endcodecomplexity:
+/// O(<em>n</em>), where <em>n</em> is the length of the array. If
+/// <code>i == endIndex</code>, this method is equivalent to <code>append(_:)</code>.
+/// \param newElement The new element to insert into the array.
+///
+/// \param i The position at which to insert the new element.
+/// <code>index</code> must be a valid index of the array or equal to its <code>endIndex</code>
+/// property.
+///
+  SWIFT_INLINE_THUNK void insertAt(const T_0_0& newElement, swift::Int i) SWIFT_SYMBOL("s:Sa6insert_2atyxn_SitF");
+/// Removes all elements from the array.
+/// complexity:
+/// O(<em>n</em>), where <em>n</em> is the length of the array.
+/// \param keepCapacity Pass <code>true</code> to keep the existing capacity of
+/// the array after removing its elements. The default value is
+/// <code>false</code>.
+///
+  SWIFT_INLINE_THUNK void removeAllKeepingCapacity(bool keepCapacity) SWIFT_SYMBOL("s:Sa9removeAll15keepingCapacityySb_tF");
+  SWIFT_INLINE_THUNK swift::Int getStartIndex() const SWIFT_SYMBOL("s:Sa10startIndexSivp");
+  SWIFT_INLINE_THUNK swift::Int getEndIndex() const SWIFT_SYMBOL("s:Sa8endIndexSivp");
+/// Returns the distance between two indices.
+/// \param start A valid index of the collection.
+///
+/// \param end Another valid index of the collection. If <code>end</code> is equal to
+/// <code>start</code>, the result is zero.
+///
+///
+/// returns:
+/// The distance between <code>start</code> and <code>end</code>.
+  SWIFT_INLINE_THUNK swift::Int distanceFromTo(swift::Int start, swift::Int end) const SWIFT_SYMBOL("s:Sa8distance4from2toS2i_SitF");
+SWIFT_INLINE_THUNK T_0_0 operator [](swift::Int index) const SWIFT_SYMBOL("s:SayxSicig");
+  SWIFT_INLINE_THUNK swift::Int getCount() const SWIFT_SYMBOL("s:Sa5countSivp");
+/// Returns <code>true</code> if the array is native and does not need a deferred
+/// type check.  May be hoisted by the optimizer, which means its
+/// results may be stale by the time they are used if there is an
+/// inout violation in user code.
+  SWIFT_INLINE_THUNK bool _hoistableIsNativeTypeChecked() const SWIFT_SYMBOL("s:Sa29_hoistableIsNativeTypeCheckedSbyF");
+  SWIFT_INLINE_THUNK swift::Int getCapacity() const SWIFT_SYMBOL("s:Sa8capacitySivp");
+  SWIFT_INLINE_THUNK String getDescription() const SWIFT_SYMBOL("s:Sa11descriptionSSvp");
+  SWIFT_INLINE_THUNK String getDebugDescription() const SWIFT_SYMBOL("s:Sa16debugDescriptionSSvp");
+/// Creates an array from the given array literal.
+/// Do not call this initializer directly. It is used by the compiler
+/// when you use an array literal. Instead, create a new array by using an
+/// array literal as its value. To do this, enclose a comma-separated list of
+/// values in square brackets.
+/// Here, an array of strings is created from an array literal holding
+/// only strings.
+/// \code
+/// let ingredients = ["cocoa beans", "sugar", "cocoa butter", "salt"]
+///
+/// \endcode\param elements A variadic list of elements of the new array.
+///
+  static SWIFT_INLINE_THUNK Array<T_0_0> init(const Array<T_0_0>& elements) SWIFT_SYMBOL("s:Sa12arrayLiteralSayxGxd_tcfc");
+private:
+  SWIFT_INLINE_THUNK Array(swift::_impl::ValueWitnessTable * _Nonnull vwTable) noexcept : _storage(vwTable->size, vwTable->getAlignment()) {}
+  static SWIFT_INLINE_THUNK Array _make() noexcept {
+    auto metadata = _impl::$sSaMa(0, swift::TypeMetadataTrait<T_0_0>::getTypeMetadata());
+    auto *vwTableAddr = reinterpret_cast<swift::_impl::ValueWitnessTable **>(metadata._0) - 1;
+#ifdef __arm64e__
+    auto *vwTable = reinterpret_cast<swift::_impl::ValueWitnessTable *>(ptrauth_auth_data(reinterpret_cast<void *>(*vwTableAddr), ptrauth_key_process_independent_data, ptrauth_blend_discriminator(vwTableAddr, 11839)));
+#else
+    auto *vwTable = *vwTableAddr;
+#endif
+    return Array(vwTable);
+  }
+  SWIFT_INLINE_THUNK const char * _Nonnull _getOpaquePointer() const noexcept { return _storage.getOpaquePointer(); }
+  SWIFT_INLINE_THUNK char * _Nonnull _getOpaquePointer() noexcept { return _storage.getOpaquePointer(); }
+
+  swift::_impl::OpaqueStorage _storage;
+  friend class _impl::_impl_Array<T_0_0>;
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wc++17-extensions"
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wreserved-identifier"
+  typedef char $sSayxGD;
+  static inline constexpr $sSayxGD __swift_mangled_name = 0;
+#pragma clang diagnostic pop
+#pragma clang diagnostic pop
+};
+
+namespace _impl {
+
+template<class T_0_0>
+#ifdef __cpp_concepts
+requires swift::isUsableInGenericContext<T_0_0>
+#endif // __cpp_concepts
+class _impl_Array {
+public:
+#ifndef __cpp_concepts
+static_assert(swift::isUsableInGenericContext<T_0_0>, "type cannot be used in a Swift generic context");
+#endif // __cpp_concepts
+  static SWIFT_INLINE_THUNK char * _Nonnull getOpaquePointer(Array<T_0_0> &object) { return object._getOpaquePointer(); }
+  static SWIFT_INLINE_THUNK const char * _Nonnull getOpaquePointer(const Array<T_0_0> &object) { return object._getOpaquePointer(); }
+  template<class T>
+  static SWIFT_INLINE_PRIVATE_HELPER Array<T_0_0> returnNewValue(T callable) {
+    auto result = Array<T_0_0>::_make();
+    callable(result._getOpaquePointer());
+    return result;
+  }
+  static SWIFT_INLINE_THUNK void initializeWithTake(char * _Nonnull destStorage, char * _Nonnull srcStorage) {
+    auto metadata = _impl::$sSaMa(0, swift::TypeMetadataTrait<T_0_0>::getTypeMetadata());
+    auto *vwTableAddr = reinterpret_cast<swift::_impl::ValueWitnessTable **>(metadata._0) - 1;
+#ifdef __arm64e__
+    auto *vwTable = reinterpret_cast<swift::_impl::ValueWitnessTable *>(ptrauth_auth_data(reinterpret_cast<void *>(*vwTableAddr), ptrauth_key_process_independent_data, ptrauth_blend_discriminator(vwTableAddr, 11839)));
+#else
+    auto *vwTable = *vwTableAddr;
+#endif
+    vwTable->initializeWithTake(destStorage, srcStorage, metadata._0);
+  }
+};
+
+} // namespace _impl
+
+} // end namespace 
+
+namespace swift SWIFT_PRIVATE_ATTR {
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wc++17-extensions"
+template<class T_0_0>
+#ifdef __cpp_concepts
+requires swift::isUsableInGenericContext<T_0_0>
+#endif // __cpp_concepts
+struct TypeMetadataTrait<swift::Array<T_0_0>> {
+  static SWIFT_INLINE_THUNK void * _Nonnull getTypeMetadata() {
+    return swift::_impl::$sSaMa(0, swift::TypeMetadataTrait<T_0_0>::getTypeMetadata())._0;
+  }
+};
+namespace _impl{
+} // namespace
+#pragma clang diagnostic pop
+} // namespace swift
+
+namespace swift SWIFT_PRIVATE_ATTR SWIFT_SYMBOL_MODULE("swift") {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+class SWIFT_SYMBOL("s:SS8UTF8ViewV") UTF8View;
+} // end namespace 
+
+namespace swift SWIFT_PRIVATE_ATTR {
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wc++17-extensions"
+template<>
+static inline const constexpr bool isUsableInGenericContext<swift::UTF8View> = true;
+#pragma clang diagnostic pop
+} // namespace swift
+
+namespace swift SWIFT_PRIVATE_ATTR SWIFT_SYMBOL_MODULE("swift") {
+class SWIFT_SYMBOL("s:SS5IndexV") String_Index;
+} // end namespace 
+
+namespace swift SWIFT_PRIVATE_ATTR {
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wc++17-extensions"
+template<>
+static inline const constexpr bool isUsableInGenericContext<swift::String_Index> = true;
+#pragma clang diagnostic pop
+} // namespace swift
+
+namespace swift SWIFT_PRIVATE_ATTR SWIFT_SYMBOL_MODULE("swift") {
+namespace _impl {
+
+class _impl_String_Index;
+
+// Type metadata accessor for Index
+SWIFT_EXTERN swift::_impl::MetadataResponseTy $sSS5IndexVMa(swift::_impl::MetadataRequestTy) SWIFT_NOEXCEPT SWIFT_CALL;
+
+
+} // namespace _impl
+
+class SWIFT_SYMBOL("s:SS5IndexV") String_Index final {
+public:
+  SWIFT_INLINE_THUNK ~String_Index() noexcept {
+    auto metadata = _impl::$sSS5IndexVMa(0);
+    auto *vwTableAddr = reinterpret_cast<swift::_impl::ValueWitnessTable **>(metadata._0) - 1;
+#ifdef __arm64e__
+    auto *vwTable = reinterpret_cast<swift::_impl::ValueWitnessTable *>(ptrauth_auth_data(reinterpret_cast<void *>(*vwTableAddr), ptrauth_key_process_independent_data, ptrauth_blend_discriminator(vwTableAddr, 11839)));
+#else
+    auto *vwTable = *vwTableAddr;
+#endif
+    vwTable->destroy(_getOpaquePointer(), metadata._0);
+  }
+  SWIFT_INLINE_THUNK String_Index(const String_Index &other) noexcept {
+    auto metadata = _impl::$sSS5IndexVMa(0);
+    auto *vwTableAddr = reinterpret_cast<swift::_impl::ValueWitnessTable **>(metadata._0) - 1;
+#ifdef __arm64e__
+    auto *vwTable = reinterpret_cast<swift::_impl::ValueWitnessTable *>(ptrauth_auth_data(reinterpret_cast<void *>(*vwTableAddr), ptrauth_key_process_independent_data, ptrauth_blend_discriminator(vwTableAddr, 11839)));
+#else
+    auto *vwTable = *vwTableAddr;
+#endif
+    vwTable->initializeWithCopy(_getOpaquePointer(), const_cast<char *>(other._getOpaquePointer()), metadata._0);
+  }
+  SWIFT_INLINE_THUNK String_Index &operator =(const String_Index &other) noexcept {
+    auto metadata = _impl::$sSS5IndexVMa(0);
+    auto *vwTableAddr = reinterpret_cast<swift::_impl::ValueWitnessTable **>(metadata._0) - 1;
+#ifdef __arm64e__
+    auto *vwTable = reinterpret_cast<swift::_impl::ValueWitnessTable *>(ptrauth_auth_data(reinterpret_cast<void *>(*vwTableAddr), ptrauth_key_process_independent_data, ptrauth_blend_discriminator(vwTableAddr, 11839)));
+#else
+    auto *vwTable = *vwTableAddr;
+#endif
+    vwTable->assignWithCopy(_getOpaquePointer(), const_cast<char *>(other._getOpaquePointer()), metadata._0);
+  return *this;
+  }
+  SWIFT_INLINE_THUNK String_Index &operator =(String_Index &&other) = delete;
+  [[noreturn]] SWIFT_INLINE_PRIVATE_HELPER String_Index(String_Index &&) noexcept {
+  swift::_impl::_fatalError_Cxx_move_of_Swift_value_type_not_supported_yet();
+  swift::_impl::_swift_stdlib_reportFatalError("swift", 5, "C++ does not support moving a Swift value yet", 45, 0);
+  abort();
+  }
+  SWIFT_INLINE_THUNK swift::Int getEncodedOffset() const SWIFT_SYMBOL("s:SS5IndexV13encodedOffsetSivp");
+/// Creates a new index at the specified code unit offset.
+/// \param offset An offset in code units.
+///
+  static SWIFT_INLINE_THUNK String_Index init(swift::Int offset) SWIFT_SYMBOL("s:SS5IndexV13encodedOffsetABSi_tcfc");
+/// Creates an index in the given string that corresponds exactly to the
+/// specified position.
+/// If the index passed as <code>sourcePosition</code> represents the start of an
+/// extended grapheme cluster—the element type of a string—then the
+/// initializer succeeds.
+/// The following example converts the position of the Unicode scalar <code>"e"</code>
+/// into its corresponding position in the string. The character at that
+/// position is the composed <code>"é"</code> character.
+/// \code
+/// let cafe = "Cafe\u{0301}"
+/// print(cafe)
+/// // Prints "Café"
+///
+/// let scalarsIndex = cafe.unicodeScalars.firstIndex(of: "e")!
+/// let stringIndex = String.Index(scalarsIndex, within: cafe)!
+///
+/// print(cafe[...stringIndex])
+/// // Prints "Café"
+///
+/// \endcodeIf the index passed as <code>sourcePosition</code> doesn’t have an exact
+/// corresponding position in <code>target</code>, the result of the initializer is
+/// <code>nil</code>. For example, an attempt to convert the position of the combining
+/// acute accent (<code>"\u{0301}"</code>) fails. Combining Unicode scalars do not have
+/// their own position in a string.
+/// \code
+/// let nextScalarsIndex = cafe.unicodeScalars.index(after: scalarsIndex)
+/// let nextStringIndex = String.Index(nextScalarsIndex, within: cafe)
+///
+/// print(nextStringIndex)
+/// // Prints "nil"
+///
+/// \endcode\param sourcePosition A position in a view of the <code>target</code> parameter.
+/// <code>sourcePosition</code> must be a valid index of at least one of the views
+/// of <code>target</code>.
+///
+/// \param target The string referenced by the resulting index.
+///
+  static SWIFT_INLINE_THUNK swift::Optional<String_Index> init(const String_Index& sourcePosition, const String& target) SWIFT_SYMBOL("s:SS5IndexV_6withinABSgAB_SStcfc");
+/// Returns the position in the given UTF-8 view that corresponds exactly to
+/// this index.
+/// This example first finds the position of the character <code>"é"</code>, and then
+/// uses this method find the same position in the string’s <code>utf8</code> view.
+/// \code
+/// let cafe = "Café"
+/// if let i = cafe.firstIndex(of: "é") {
+///     let j = i.samePosition(in: cafe.utf8)!
+///     print(Array(cafe.utf8[j...]))
+/// }
+/// // Prints "[195, 169]"
+///
+/// \endcode\param utf8 The view to use for the index conversion. This index
+/// must be a valid index of at least one view of the string shared by
+/// <code>utf8</code>.
+///
+///
+/// returns:
+/// The position in <code>utf8</code> that corresponds exactly to this index.
+/// If this index does not have an exact corresponding position in <code>utf8</code>,
+/// this method returns <code>nil</code>. For example, an attempt to convert the
+/// position of a UTF-16 trailing surrogate returns <code>nil</code>.
+  SWIFT_INLINE_THUNK swift::Optional<String_Index> samePositionIn(const UTF8View& utf8) const SWIFT_SYMBOL("s:SS5IndexV12samePosition2inABSgSS8UTF8ViewV_tF");
+  SWIFT_INLINE_THUNK swift::Int getHashValue() const SWIFT_SYMBOL("s:SS5IndexV9hashValueSivp");
+/// Returns the position in the given string that corresponds exactly to this
+/// index.
+/// This example first finds the position of a space (UTF-8 code point <code>32</code>)
+/// in a string’s <code>utf8</code> view and then uses this method find the same position
+/// in the string.
+/// \code
+/// let cafe = "Café 🍵"
+/// let i = cafe.unicodeScalars.firstIndex(of: "🍵")!
+/// let j = i.samePosition(in: cafe)!
+/// print(cafe[j...])
+/// // Prints "🍵"
+///
+/// \endcode\param characters The string to use for the index conversion.
+/// This index must be a valid index of at least one view of <code>characters</code>.
+///
+///
+/// returns:
+/// The position in <code>characters</code> that corresponds exactly to
+/// this index. If this index does not have an exact corresponding
+/// position in <code>characters</code>, this method returns <code>nil</code>. For example,
+/// an attempt to convert the position of a UTF-8 continuation byte
+/// returns <code>nil</code>.
+  SWIFT_INLINE_THUNK swift::Optional<String_Index> samePositionIn(const String& characters) const SWIFT_SYMBOL("s:SS5IndexV12samePosition2inABSgSS_tF");
+/// Creates an index in the given UTF-8 view that corresponds exactly to the
+/// specified <code>UTF16View</code> position.
+/// The following example finds the position of a space in a string’s <code>utf16</code>
+/// view and then converts that position to an index in the string’s
+/// <code>utf8</code> view.
+/// \code
+/// let cafe = "Café 🍵"
+///
+/// let utf16Index = cafe.utf16.firstIndex(of: 32)!
+/// let utf8Index = String.UTF8View.Index(utf16Index, within: cafe.utf8)!
+///
+/// print(Array(cafe.utf8[..<utf8Index]))
+/// // Prints "[67, 97, 102, 195, 169]"
+///
+/// \endcodeIf the position passed in <code>utf16Index</code> doesn’t have an exact
+/// corresponding position in <code>utf8</code>, the result of the initializer is
+/// <code>nil</code>. For example, because UTF-8 and UTF-16 represent high Unicode code
+/// points differently, an attempt to convert the position of the trailing
+/// surrogate of a UTF-16 surrogate pair fails.
+/// The next example attempts to convert the indices of the two UTF-16 code
+/// points that represent the teacup emoji (<code>"🍵"</code>). The index of the lead
+/// surrogate is successfully converted to a position in <code>utf8</code>, but the
+/// index of the trailing surrogate is not.
+/// \code
+/// let emojiHigh = cafe.utf16.index(after: utf16Index)
+/// print(String.UTF8View.Index(emojiHigh, within: cafe.utf8))
+/// // Prints "Optional(String.Index(...))"
+///
+/// let emojiLow = cafe.utf16.index(after: emojiHigh)
+/// print(String.UTF8View.Index(emojiLow, within: cafe.utf8))
+/// // Prints "nil"
+///
+/// \endcode\param sourcePosition A position in a <code>String</code> or one of its views.
+///
+/// \param target The <code>UTF8View</code> in which to find the new position.
+///
+  static SWIFT_INLINE_THUNK swift::Optional<String_Index> init(const String_Index& idx, const UTF8View& target) SWIFT_SYMBOL("s:SS5IndexV_6withinABSgAB_SS8UTF8ViewVtcfc");
+private:
+  SWIFT_INLINE_THUNK String_Index() noexcept {}
+  static SWIFT_INLINE_THUNK String_Index _make() noexcept { return String_Index(); }
+  SWIFT_INLINE_THUNK const char * _Nonnull _getOpaquePointer() const noexcept { return _storage; }
+  SWIFT_INLINE_THUNK char * _Nonnull _getOpaquePointer() noexcept { return _storage; }
+
+  alignas(8) char _storage[8];
+  friend class _impl::_impl_String_Index;
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wc++17-extensions"
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wreserved-identifier"
+  typedef char $sSS5IndexVD;
+  static inline constexpr $sSS5IndexVD __swift_mangled_name = 0;
+#pragma clang diagnostic pop
+#pragma clang diagnostic pop
+};
+
+namespace _impl {
+
+class _impl_String_Index {
+public:
+  static SWIFT_INLINE_THUNK char * _Nonnull getOpaquePointer(String_Index &object) { return object._getOpaquePointer(); }
+  static SWIFT_INLINE_THUNK const char * _Nonnull getOpaquePointer(const String_Index &object) { return object._getOpaquePointer(); }
+  template<class T>
+  static SWIFT_INLINE_PRIVATE_HELPER String_Index returnNewValue(T callable) {
+    auto result = String_Index::_make();
+    callable(result._getOpaquePointer());
+    return result;
+  }
+  static SWIFT_INLINE_THUNK void initializeWithTake(char * _Nonnull destStorage, char * _Nonnull srcStorage) {
+    auto metadata = _impl::$sSS5IndexVMa(0);
+    auto *vwTableAddr = reinterpret_cast<swift::_impl::ValueWitnessTable **>(metadata._0) - 1;
+#ifdef __arm64e__
+    auto *vwTable = reinterpret_cast<swift::_impl::ValueWitnessTable *>(ptrauth_auth_data(reinterpret_cast<void *>(*vwTableAddr), ptrauth_key_process_independent_data, ptrauth_blend_discriminator(vwTableAddr, 11839)));
+#else
+    auto *vwTable = *vwTableAddr;
+#endif
+    vwTable->initializeWithTake(destStorage, srcStorage, metadata._0);
+  }
+};
+
+} // namespace _impl
+
+} // end namespace 
+
+namespace swift SWIFT_PRIVATE_ATTR {
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wc++17-extensions"
+template<>
+struct TypeMetadataTrait<swift::String_Index> {
+  static SWIFT_INLINE_THUNK void * _Nonnull getTypeMetadata() {
+    return swift::_impl::$sSS5IndexVMa(0)._0;
+  }
+};
+namespace _impl{
+template<>
+static inline const constexpr bool isValueType<swift::String_Index> = true;
+template<>
+struct implClassFor<swift::String_Index> { using type = swift::_impl::_impl_String_Index; };
+} // namespace
+#pragma clang diagnostic pop
+} // namespace swift
+
+namespace swift SWIFT_PRIVATE_ATTR SWIFT_SYMBOL_MODULE("swift") {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/// A type that represents either a wrapped value or the absence of a value.
+/// You use the <code>Optional</code> type whenever you use optional values, even if you
+/// never type the word <code>Optional</code>. Swift’s type system usually shows the
+/// wrapped type’s name with a trailing question mark (<code>?</code>) instead of showing
+/// the full type name. For example, if a variable has the type <code>Int?</code>, that’s
+/// just another way of writing <code>Optional<Int></code>. The shortened form is
+/// preferred for ease of reading and writing code.
+/// The types of <code>shortForm</code> and <code>longForm</code> in the following code sample are
+/// the same:
+/// \code
+/// let shortForm: Int? = Int("42")
+/// let longForm: Optional<Int> = Int("42")
+///
+/// \endcodeThe <code>Optional</code> type is an enumeration with two cases. <code>Optional.none</code> is
+/// equivalent to the <code>nil</code> literal. <code>Optional.some(Wrapped)</code> stores a wrapped
+/// value. For example:
+/// \code
+/// let number: Int? = Optional.some(42)
+/// let noNumber: Int? = Optional.none
+/// print(noNumber == nil)
+/// // Prints "true"
+///
+/// \endcodeYou must unwrap the value of an <code>Optional</code> instance before you can use it
+/// in many contexts. Because Swift provides several ways to safely unwrap
+/// optional values, you can choose the one that helps you write clear,
+/// concise code.
+/// The following examples use this dictionary of image names and file paths:
+/// \code
+/// let imagePaths = ["star": "/glyphs/star.png",
+///                   "portrait": "/images/content/portrait.jpg",
+///                   "spacer": "/images/shared/spacer.gif"]
+///
+/// \endcodeGetting a dictionary’s value using a key returns an optional value, so
+/// <code>imagePaths["star"]</code> has type <code>Optional<String></code> or, written in the
+/// preferred manner, <code>String?</code>.
+/// <h2>Optional Binding</h2>
+/// To conditionally bind the wrapped value of an <code>Optional</code> instance to a new
+/// variable, use one of the optional binding control structures, including
+/// <code>if let</code>, <code>guard let</code>, and <code>switch</code>.
+/// \code
+/// if let starPath = imagePaths["star"] {
+///     print("The star image is at '\(starPath)'")
+/// } else {
+///     print("Couldn't find the star image")
+/// }
+/// // Prints "The star image is at '/glyphs/star.png'"
+///
+/// \endcode<h2>Optional Chaining</h2>
+/// To safely access the properties and methods of a wrapped instance, use the
+/// postfix optional chaining operator (postfix <code>?</code>). The following example uses
+/// optional chaining to access the <code>hasSuffix(_:)</code> method on a <code>String?</code>
+/// instance.
+/// \code
+/// if imagePaths["star"]?.hasSuffix(".png") == true {
+///     print("The star image is in PNG format")
+/// }
+/// // Prints "The star image is in PNG format"
+///
+/// \endcode<h2>Using the Nil-Coalescing Operator</h2>
+/// Use the nil-coalescing operator (<code>??</code>) to supply a default value in case
+/// the <code>Optional</code> instance is <code>nil</code>. Here a default path is supplied for an
+/// image that is missing from <code>imagePaths</code>.
+/// \code
+/// let defaultImagePath = "/images/default.png"
+/// let heartPath = imagePaths["heart"] ?? defaultImagePath
+/// print(heartPath)
+/// // Prints "/images/default.png"
+///
+/// \endcodeThe <code>??</code> operator also works with another <code>Optional</code> instance on the
+/// right-hand side. As a result, you can chain multiple <code>??</code> operators
+/// together.
+/// \code
+/// let shapePath = imagePaths["cir"] ?? imagePaths["squ"] ?? defaultImagePath
+/// print(shapePath)
+/// // Prints "/images/default.png"
+///
+/// \endcode<h2>Unconditional Unwrapping</h2>
+/// When you’re certain that an instance of <code>Optional</code> contains a value, you
+/// can unconditionally unwrap the value by using the forced
+/// unwrap operator (postfix <code>!</code>). For example, the result of the failable <code>Int</code>
+/// initializer is unconditionally unwrapped in the example below.
+/// \code
+/// let number = Int("42")!
+/// print(number)
+/// // Prints "42"
+///
+/// \endcodeYou can also perform unconditional optional chaining by using the postfix
+/// <code>!</code> operator.
+/// \code
+/// let isPNG = imagePaths["star"]!.hasSuffix(".png")
+/// print(isPNG)
+/// // Prints "true"
+///
+/// \endcodeUnconditionally unwrapping a <code>nil</code> instance with <code>!</code> triggers a runtime
+/// error.
+namespace _impl {
+
+template<class T_0_0>
+#ifdef __cpp_concepts
+requires swift::isUsableInGenericContext<T_0_0>
+#endif // __cpp_concepts
+class _impl_Optional;
+
+static_assert(1 <= 3, "unsupported generic requirement list for metadata func");
+// Type metadata accessor for Optional
+SWIFT_EXTERN swift::_impl::MetadataResponseTy $sSqMa(swift::_impl::MetadataRequestTy, void * _Nonnull) SWIFT_NOEXCEPT SWIFT_CALL;
+
+// Tags for resilient enum Optional
+extern "C" {
+extern unsigned $sSq4noneyxSgABmlFWC;
+extern unsigned $sSq4someyxSgxcABmlFWC;
+}
+
+} // namespace _impl
+
+template<class T_0_0>
+#ifdef __cpp_concepts
+requires swift::isUsableInGenericContext<T_0_0>
+#endif // __cpp_concepts
+class SWIFT_SYMBOL("s:Sq") Optional final {
+public:
+#ifndef __cpp_concepts
+static_assert(swift::isUsableInGenericContext<T_0_0>, "type cannot be used in a Swift generic context");
+#endif // __cpp_concepts
+  SWIFT_INLINE_THUNK ~Optional() noexcept {
+    auto metadata = _impl::$sSqMa(0, swift::TypeMetadataTrait<T_0_0>::getTypeMetadata());
+    auto *vwTableAddr = reinterpret_cast<swift::_impl::ValueWitnessTable **>(metadata._0) - 1;
+#ifdef __arm64e__
+    auto *vwTable = reinterpret_cast<swift::_impl::ValueWitnessTable *>(ptrauth_auth_data(reinterpret_cast<void *>(*vwTableAddr), ptrauth_key_process_independent_data, ptrauth_blend_discriminator(vwTableAddr, 11839)));
+#else
+    auto *vwTable = *vwTableAddr;
+#endif
+    vwTable->destroy(_getOpaquePointer(), metadata._0);
+  }
+  SWIFT_INLINE_THUNK Optional(const Optional &other) noexcept {
+    auto metadata = _impl::$sSqMa(0, swift::TypeMetadataTrait<T_0_0>::getTypeMetadata());
+    auto *vwTableAddr = reinterpret_cast<swift::_impl::ValueWitnessTable **>(metadata._0) - 1;
+#ifdef __arm64e__
+    auto *vwTable = reinterpret_cast<swift::_impl::ValueWitnessTable *>(ptrauth_auth_data(reinterpret_cast<void *>(*vwTableAddr), ptrauth_key_process_independent_data, ptrauth_blend_discriminator(vwTableAddr, 11839)));
+#else
+    auto *vwTable = *vwTableAddr;
+#endif
+    _storage = swift::_impl::OpaqueStorage(vwTable->size, vwTable->getAlignment());
+    vwTable->initializeWithCopy(_getOpaquePointer(), const_cast<char *>(other._getOpaquePointer()), metadata._0);
+  }
+  SWIFT_INLINE_THUNK Optional &operator =(const Optional &other) noexcept {
+    auto metadata = _impl::$sSqMa(0, swift::TypeMetadataTrait<T_0_0>::getTypeMetadata());
+    auto *vwTableAddr = reinterpret_cast<swift::_impl::ValueWitnessTable **>(metadata._0) - 1;
+#ifdef __arm64e__
+    auto *vwTable = reinterpret_cast<swift::_impl::ValueWitnessTable *>(ptrauth_auth_data(reinterpret_cast<void *>(*vwTableAddr), ptrauth_key_process_independent_data, ptrauth_blend_discriminator(vwTableAddr, 11839)));
+#else
+    auto *vwTable = *vwTableAddr;
+#endif
+    vwTable->assignWithCopy(_getOpaquePointer(), const_cast<char *>(other._getOpaquePointer()), metadata._0);
+  return *this;
+  }
+  SWIFT_INLINE_THUNK Optional &operator =(Optional &&other) = delete;
+  [[noreturn]] SWIFT_INLINE_PRIVATE_HELPER Optional(Optional &&) noexcept {
+  swift::_impl::_fatalError_Cxx_move_of_Swift_value_type_not_supported_yet();
+  swift::_impl::_swift_stdlib_reportFatalError("swift", 5, "C++ does not support moving a Swift value yet", 45, 0);
+  abort();
+  }
+
+  enum class cases {
+    some SWIFT_SYMBOL("s:Sq4someyxSgxcABmlF"),
+    none SWIFT_SYMBOL("s:Sq4noneyxSgABmlF")
+  };
+
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wc++17-extensions"  // allow use of inline static data member
+  inline const static struct _impl_some {  // impl struct for case some
+    SWIFT_INLINE_THUNK constexpr operator cases() const {
+      return cases::some;
+    }
+    SWIFT_INLINE_THUNK Optional<T_0_0> operator()(const T_0_0& val) const;
+  } some SWIFT_SYMBOL("s:Sq4someyxSgxcABmlF");
+  SWIFT_INLINE_THUNK bool isSome() const;
+  SWIFT_INLINE_THUNK T_0_0 getSome() const;
+
+  inline const static struct _impl_none {  // impl struct for case none
+    SWIFT_INLINE_THUNK constexpr operator cases() const {
+      return cases::none;
+    }
+    SWIFT_INLINE_THUNK Optional<T_0_0> operator()() const;
+  } none SWIFT_SYMBOL("s:Sq4noneyxSgABmlF");
+  SWIFT_INLINE_THUNK bool isNone() const;
+
+#pragma clang diagnostic pop
+  SWIFT_INLINE_THUNK operator cases() const {
+    switch (_getEnumTag()) {
+      case 0: return cases::some;
+      case 1: return cases::none;
+      default: abort();
+    }
+  }
+
+/// Creates an instance that stores the given value.
+  static SWIFT_INLINE_THUNK swift::Optional<T_0_0> init(const T_0_0& some_) SWIFT_SYMBOL("s:SqyxSgxcfc");
+  SWIFT_INLINE_THUNK T_0_0 getUnsafelyUnwrapped() const SWIFT_SYMBOL("s:Sq17unsafelyUnwrappedxvp");
+#define SWIFT_CXX_INTEROP_OPTIONAL_MIXIN
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wnon-modular-include-in-framework-module"
+// Look for the C++ interop support header relative to clang's resource dir:
+//  '<toolchain>/usr/lib/clang/<version>/include/../../../swift/swiftToCxx'.
+#if __has_include(<../../../swift/swiftToCxx/_SwiftStdlibCxxOverlay.h>)
+#include <../../../swift/swiftToCxx/_SwiftStdlibCxxOverlay.h>
+#elif __has_include(<../../../../../lib/swift/swiftToCxx/_SwiftStdlibCxxOverlay.h>)
+//  '<toolchain>/usr/local/lib/clang/<version>/include/../../../../../lib/swift/swiftToCxx'.
+#include <../../../../../lib/swift/swiftToCxx/_SwiftStdlibCxxOverlay.h>
+// Alternatively, allow user to find the header using additional include path into '<toolchain>/lib/swift'.
+#elif __has_include(<swiftToCxx/_SwiftStdlibCxxOverlay.h>)
+#include <swiftToCxx/_SwiftStdlibCxxOverlay.h>
+#endif
+#pragma clang diagnostic pop
+private:
+  SWIFT_INLINE_THUNK Optional(swift::_impl::ValueWitnessTable * _Nonnull vwTable) noexcept : _storage(vwTable->size, vwTable->getAlignment()) {}
+  static SWIFT_INLINE_THUNK Optional _make() noexcept {
+    auto metadata = _impl::$sSqMa(0, swift::TypeMetadataTrait<T_0_0>::getTypeMetadata());
+    auto *vwTableAddr = reinterpret_cast<swift::_impl::ValueWitnessTable **>(metadata._0) - 1;
+#ifdef __arm64e__
+    auto *vwTable = reinterpret_cast<swift::_impl::ValueWitnessTable *>(ptrauth_auth_data(reinterpret_cast<void *>(*vwTableAddr), ptrauth_key_process_independent_data, ptrauth_blend_discriminator(vwTableAddr, 11839)));
+#else
+    auto *vwTable = *vwTableAddr;
+#endif
+    return Optional(vwTable);
+  }
+  SWIFT_INLINE_THUNK const char * _Nonnull _getOpaquePointer() const noexcept { return _storage.getOpaquePointer(); }
+  SWIFT_INLINE_THUNK char * _Nonnull _getOpaquePointer() noexcept { return _storage.getOpaquePointer(); }
+
+  SWIFT_INLINE_THUNK char * _Nonnull _destructiveProjectEnumData() noexcept {
+    auto metadata = _impl::$sSqMa(0, swift::TypeMetadataTrait<T_0_0>::getTypeMetadata());
+    auto *vwTableAddr = reinterpret_cast<swift::_impl::ValueWitnessTable **>(metadata._0) - 1;
+#ifdef __arm64e__
+    auto *vwTable = reinterpret_cast<swift::_impl::ValueWitnessTable *>(ptrauth_auth_data(reinterpret_cast<void *>(*vwTableAddr), ptrauth_key_process_independent_data, ptrauth_blend_discriminator(vwTableAddr, 11839)));
+#else
+    auto *vwTable = *vwTableAddr;
+#endif
+    const auto *enumVWTable = reinterpret_cast<swift::_impl::EnumValueWitnessTable *>(vwTable);
+    enumVWTable->destructiveProjectEnumData(_getOpaquePointer(), metadata._0);
+    return _getOpaquePointer();
+  }
+  SWIFT_INLINE_THUNK void _destructiveInjectEnumTag(unsigned tag) noexcept {
+    auto metadata = _impl::$sSqMa(0, swift::TypeMetadataTrait<T_0_0>::getTypeMetadata());
+    auto *vwTableAddr = reinterpret_cast<swift::_impl::ValueWitnessTable **>(metadata._0) - 1;
+#ifdef __arm64e__
+    auto *vwTable = reinterpret_cast<swift::_impl::ValueWitnessTable *>(ptrauth_auth_data(reinterpret_cast<void *>(*vwTableAddr), ptrauth_key_process_independent_data, ptrauth_blend_discriminator(vwTableAddr, 11839)));
+#else
+    auto *vwTable = *vwTableAddr;
+#endif
+    const auto *enumVWTable = reinterpret_cast<swift::_impl::EnumValueWitnessTable *>(vwTable);
+    enumVWTable->destructiveInjectEnumTag(_getOpaquePointer(), tag, metadata._0);
+  }
+  SWIFT_INLINE_THUNK unsigned _getEnumTag() const noexcept {
+    auto metadata = _impl::$sSqMa(0, swift::TypeMetadataTrait<T_0_0>::getTypeMetadata());
+    auto *vwTableAddr = reinterpret_cast<swift::_impl::ValueWitnessTable **>(metadata._0) - 1;
+#ifdef __arm64e__
+    auto *vwTable = reinterpret_cast<swift::_impl::ValueWitnessTable *>(ptrauth_auth_data(reinterpret_cast<void *>(*vwTableAddr), ptrauth_key_process_independent_data, ptrauth_blend_discriminator(vwTableAddr, 11839)));
+#else
+    auto *vwTable = *vwTableAddr;
+#endif
+    const auto *enumVWTable = reinterpret_cast<swift::_impl::EnumValueWitnessTable *>(vwTable);
+    return enumVWTable->getEnumTag(_getOpaquePointer(), metadata._0);
+  }
+  swift::_impl::OpaqueStorage _storage;
+  friend class _impl::_impl_Optional<T_0_0>;
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wc++17-extensions"
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wreserved-identifier"
+  typedef char $sxSgD;
+  static inline constexpr $sxSgD __swift_mangled_name = 0;
+#pragma clang diagnostic pop
+#pragma clang diagnostic pop
+};
+
+namespace _impl {
+
+template<class T_0_0>
+#ifdef __cpp_concepts
+requires swift::isUsableInGenericContext<T_0_0>
+#endif // __cpp_concepts
+class _impl_Optional {
+public:
+#ifndef __cpp_concepts
+static_assert(swift::isUsableInGenericContext<T_0_0>, "type cannot be used in a Swift generic context");
+#endif // __cpp_concepts
+  static SWIFT_INLINE_THUNK char * _Nonnull getOpaquePointer(Optional<T_0_0> &object) { return object._getOpaquePointer(); }
+  static SWIFT_INLINE_THUNK const char * _Nonnull getOpaquePointer(const Optional<T_0_0> &object) { return object._getOpaquePointer(); }
+  template<class T>
+  static SWIFT_INLINE_PRIVATE_HELPER Optional<T_0_0> returnNewValue(T callable) {
+    auto result = Optional<T_0_0>::_make();
+    callable(result._getOpaquePointer());
+    return result;
+  }
+  static SWIFT_INLINE_THUNK void initializeWithTake(char * _Nonnull destStorage, char * _Nonnull srcStorage) {
+    auto metadata = _impl::$sSqMa(0, swift::TypeMetadataTrait<T_0_0>::getTypeMetadata());
+    auto *vwTableAddr = reinterpret_cast<swift::_impl::ValueWitnessTable **>(metadata._0) - 1;
+#ifdef __arm64e__
+    auto *vwTable = reinterpret_cast<swift::_impl::ValueWitnessTable *>(ptrauth_auth_data(reinterpret_cast<void *>(*vwTableAddr), ptrauth_key_process_independent_data, ptrauth_blend_discriminator(vwTableAddr, 11839)));
+#else
+    auto *vwTable = *vwTableAddr;
+#endif
+    vwTable->initializeWithTake(destStorage, srcStorage, metadata._0);
+  }
+};
+
+} // namespace _impl
+
+} // end namespace 
+
+namespace swift SWIFT_PRIVATE_ATTR {
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wc++17-extensions"
+template<class T_0_0>
+#ifdef __cpp_concepts
+requires swift::isUsableInGenericContext<T_0_0>
+#endif // __cpp_concepts
+struct TypeMetadataTrait<swift::Optional<T_0_0>> {
+  static SWIFT_INLINE_THUNK void * _Nonnull getTypeMetadata() {
+    return swift::_impl::$sSqMa(0, swift::TypeMetadataTrait<T_0_0>::getTypeMetadata())._0;
+  }
+};
+namespace _impl{
+} // namespace
+#pragma clang diagnostic pop
+} // namespace swift
+
+namespace swift SWIFT_PRIVATE_ATTR SWIFT_SYMBOL_MODULE("swift") {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+namespace _impl {
+
+class _impl_String;
+
+// Type metadata accessor for String
+SWIFT_EXTERN swift::_impl::MetadataResponseTy $sSSMa(swift::_impl::MetadataRequestTy) SWIFT_NOEXCEPT SWIFT_CALL;
+
+
+} // namespace _impl
+
+class SWIFT_SYMBOL("s:SS") String final {
+public:
+  SWIFT_INLINE_THUNK ~String() noexcept {
+    auto metadata = _impl::$sSSMa(0);
+    auto *vwTableAddr = reinterpret_cast<swift::_impl::ValueWitnessTable **>(metadata._0) - 1;
+#ifdef __arm64e__
+    auto *vwTable = reinterpret_cast<swift::_impl::ValueWitnessTable *>(ptrauth_auth_data(reinterpret_cast<void *>(*vwTableAddr), ptrauth_key_process_independent_data, ptrauth_blend_discriminator(vwTableAddr, 11839)));
+#else
+    auto *vwTable = *vwTableAddr;
+#endif
+    vwTable->destroy(_getOpaquePointer(), metadata._0);
+  }
+  SWIFT_INLINE_THUNK String(const String &other) noexcept {
+    auto metadata = _impl::$sSSMa(0);
+    auto *vwTableAddr = reinterpret_cast<swift::_impl::ValueWitnessTable **>(metadata._0) - 1;
+#ifdef __arm64e__
+    auto *vwTable = reinterpret_cast<swift::_impl::ValueWitnessTable *>(ptrauth_auth_data(reinterpret_cast<void *>(*vwTableAddr), ptrauth_key_process_independent_data, ptrauth_blend_discriminator(vwTableAddr, 11839)));
+#else
+    auto *vwTable = *vwTableAddr;
+#endif
+    vwTable->initializeWithCopy(_getOpaquePointer(), const_cast<char *>(other._getOpaquePointer()), metadata._0);
+  }
+  SWIFT_INLINE_THUNK String &operator =(const String &other) noexcept {
+    auto metadata = _impl::$sSSMa(0);
+    auto *vwTableAddr = reinterpret_cast<swift::_impl::ValueWitnessTable **>(metadata._0) - 1;
+#ifdef __arm64e__
+    auto *vwTable = reinterpret_cast<swift::_impl::ValueWitnessTable *>(ptrauth_auth_data(reinterpret_cast<void *>(*vwTableAddr), ptrauth_key_process_independent_data, ptrauth_blend_discriminator(vwTableAddr, 11839)));
+#else
+    auto *vwTable = *vwTableAddr;
+#endif
+    vwTable->assignWithCopy(_getOpaquePointer(), const_cast<char *>(other._getOpaquePointer()), metadata._0);
+  return *this;
+  }
+  SWIFT_INLINE_THUNK String &operator =(String &&other) = delete;
+  [[noreturn]] SWIFT_INLINE_PRIVATE_HELPER String(String &&) noexcept {
+  swift::_impl::_fatalError_Cxx_move_of_Swift_value_type_not_supported_yet();
+  swift::_impl::_swift_stdlib_reportFatalError("swift", 5, "C++ does not support moving a Swift value yet", 45, 0);
+  abort();
+  }
+/// Creates an empty string.
+/// Using this initializer is equivalent to initializing a string with an
+/// empty string literal.
+/// \code
+/// let empty = ""
+/// let alsoEmpty = String()
+///
+/// \endcode
+  static SWIFT_INLINE_THUNK String init() SWIFT_SYMBOL("s:S2Sycfc");
+  SWIFT_INLINE_THUNK String_Index getStartIndex() const SWIFT_SYMBOL("s:SS10startIndexSS0B0Vvp");
+  SWIFT_INLINE_THUNK String_Index getEndIndex() const SWIFT_SYMBOL("s:SS8endIndexSS0B0Vvp");
+  SWIFT_INLINE_THUNK swift::Int getCount() const SWIFT_SYMBOL("s:SS5countSivp");
+/// Returns the distance between two indices.
+/// complexity:
+/// O(<em>n</em>), where <em>n</em> is the resulting distance.
+/// \param start A valid index of the collection.
+///
+/// \param end Another valid index of the collection. If <code>end</code> is equal to
+/// <code>start</code>, the result is zero.
+///
+///
+/// returns:
+/// The distance between <code>start</code> and <code>end</code>.
+  SWIFT_INLINE_THUNK swift::Int distanceFromTo(const String_Index& start, const String_Index& end) const SWIFT_SYMBOL("s:SS8distance4from2toSiSS5IndexV_AEtF");
+/// Reserves enough space in the string’s underlying storage to store the
+/// specified number of ASCII characters.
+/// Because each character in a string can require more than a single ASCII
+/// character’s worth of storage, additional allocation may be necessary
+/// when adding characters to a string after a call to
+/// <code>reserveCapacity(_:)</code>.
+/// complexity:
+/// O(<em>n</em>)
+/// \param n The minimum number of ASCII character’s worth of storage
+/// to allocate.
+///
+  SWIFT_INLINE_THUNK void reserveCapacity(swift::Int n) SWIFT_SYMBOL("s:SS15reserveCapacityyySiF");
+/// Appends the given string to this string.
+/// The following example builds a customized greeting by using the
+/// <code>append(_:)</code> method:
+/// \code
+/// var greeting = "Hello, "
+/// if let name = getUserName() {
+///     greeting.append(name)
+/// } else {
+///     greeting.append("friend")
+/// }
+/// print(greeting)
+/// // Prints "Hello, friend"
+///
+/// \endcode\param other Another string.
+///
+  SWIFT_INLINE_THUNK void append(const String& other) SWIFT_SYMBOL("s:SS6appendyySSF");
+  SWIFT_INLINE_THUNK void appendContentsOf(const String& newElements) SWIFT_SYMBOL("s:SS6append10contentsOfySS_tF");
+/// Replaces this string with the empty string.
+/// Calling this method invalidates any existing indices for use with this
+/// string.
+/// \param keepCapacity Pass <code>true</code> to prevent the release of the
+/// string’s allocated storage. Retaining the storage can be a useful
+/// optimization when you’re planning to grow the string again. The
+/// default value is <code>false</code>.
+///
+  SWIFT_INLINE_THUNK void removeAllKeepingCapacity(bool keepCapacity) SWIFT_SYMBOL("s:SS9removeAll15keepingCapacityySb_tF");
+  SWIFT_INLINE_THUNK UTF8View getUtf8() const SWIFT_SYMBOL("s:SS4utf8SS8UTF8ViewVvp");
+  SWIFT_INLINE_THUNK void setUtf8(const UTF8View& newValue) SWIFT_SYMBOL("s:SS4utf8SS8UTF8ViewVvp");
+  SWIFT_INLINE_THUNK String getCharacters() const SWIFT_SYMBOL("s:SS10charactersSSvp");
+  SWIFT_INLINE_THUNK void setCharacters(const String& newValue) SWIFT_SYMBOL("s:SS10charactersSSvp");
+  SWIFT_INLINE_THUNK swift::Int getHashValue() const SWIFT_SYMBOL("s:SS9hashValueSivp");
+  SWIFT_INLINE_THUNK Array<uint8_t> get_nfcCodeUnits() const SWIFT_SYMBOL("s:SS13_nfcCodeUnitsSays5UInt8VGvp");
+  SWIFT_INLINE_THUNK bool isEmpty() const SWIFT_SYMBOL("s:SS7isEmptySbvp");
+/// Returns a lowercase version of the string.
+/// Here’s an example of transforming a string to all lowercase letters.
+/// \code
+/// let cafe = "BBQ Café 🍵"
+/// print(cafe.lowercased())
+/// // Prints "bbq café 🍵"
+///
+/// \endcodecomplexity:
+/// O(<em>n</em>)
+///
+/// returns:
+/// A lowercase copy of the string.
+  SWIFT_INLINE_THUNK String lowercased() const SWIFT_SYMBOL("s:SS10lowercasedSSyF");
+/// Returns an uppercase version of the string.
+/// The following example transforms a string to uppercase letters:
+/// \code
+/// let cafe = "Café 🍵"
+/// print(cafe.uppercased())
+/// // Prints "CAFÉ 🍵"
+///
+/// \endcodecomplexity:
+/// O(<em>n</em>)
+///
+/// returns:
+/// An uppercase copy of the string.
+  SWIFT_INLINE_THUNK String uppercased() const SWIFT_SYMBOL("s:SS10uppercasedSSyF");
+  SWIFT_INLINE_THUNK String getDebugDescription() const SWIFT_SYMBOL("s:SS16debugDescriptionSSvp");
+  SWIFT_INLINE_THUNK String getDescription() const SWIFT_SYMBOL("s:SS11descriptionSSvp");
+/// Appends the given string to this string.
+/// \param other A string to append.
+///
+  SWIFT_INLINE_THUNK void write(const String& other) SWIFT_SYMBOL("s:SS5writeyySSF");
+  SWIFT_INLINE_THUNK void _dump() const SWIFT_SYMBOL("s:SS5_dumpyyF");
+  SWIFT_INLINE_THUNK bool hasPrefix(const String& prefix) const SWIFT_SYMBOL("s:SS9hasPrefixySbSSF");
+  SWIFT_INLINE_THUNK bool hasSuffix(const String& suffix) const SWIFT_SYMBOL("s:SS9hasSuffixySbSSF");
+#if defined(__OBJC__)
+  SWIFT_INLINE_THUNK operator NSString * _Nonnull () const noexcept {
+    return (__bridge_transfer NSString *)(_impl::$sSS10FoundationE19_bridgeToObjectiveCSo8NSStringCyF(_impl::swift_interop_passDirect_Swift_String(_getOpaquePointer())));
+  }
+static SWIFT_INLINE_THUNK String init(NSString * _Nonnull nsString) noexcept {
+    auto result = _make();
+    auto res = _impl::$sSS10FoundationE36_unconditionallyBridgeFromObjectiveCySSSo8NSStringCSgFZ((__bridge void *)nsString);
+    memcpy(result._getOpaquePointer(), &res, sizeof(res));
+    return result;
+  }
+
+#endif
+#define SWIFT_CXX_INTEROP_STRING_MIXIN
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wnon-modular-include-in-framework-module"
+// Look for the C++ interop support header relative to clang's resource dir:
+//  '<toolchain>/usr/lib/clang/<version>/include/../../../swift/swiftToCxx'.
+#if __has_include(<../../../swift/swiftToCxx/_SwiftStdlibCxxOverlay.h>)
+#include <../../../swift/swiftToCxx/_SwiftStdlibCxxOverlay.h>
+#elif __has_include(<../../../../../lib/swift/swiftToCxx/_SwiftStdlibCxxOverlay.h>)
+//  '<toolchain>/usr/local/lib/clang/<version>/include/../../../../../lib/swift/swiftToCxx'.
+#include <../../../../../lib/swift/swiftToCxx/_SwiftStdlibCxxOverlay.h>
+// Alternatively, allow user to find the header using additional include path into '<toolchain>/lib/swift'.
+#elif __has_include(<swiftToCxx/_SwiftStdlibCxxOverlay.h>)
+#include <swiftToCxx/_SwiftStdlibCxxOverlay.h>
+#endif
+#pragma clang diagnostic pop
+private:
+  SWIFT_INLINE_THUNK String() noexcept {}
+  static SWIFT_INLINE_THUNK String _make() noexcept { return String(); }
+  SWIFT_INLINE_THUNK const char * _Nonnull _getOpaquePointer() const noexcept { return _storage; }
+  SWIFT_INLINE_THUNK char * _Nonnull _getOpaquePointer() noexcept { return _storage; }
+
+  alignas(8) char _storage[16];
+  friend class _impl::_impl_String;
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wc++17-extensions"
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wreserved-identifier"
+  typedef char $sSSD;
+  static inline constexpr $sSSD __swift_mangled_name = 0;
+#pragma clang diagnostic pop
+#pragma clang diagnostic pop
+};
+
+namespace _impl {
+
+class _impl_String {
+public:
+  static SWIFT_INLINE_THUNK char * _Nonnull getOpaquePointer(String &object) { return object._getOpaquePointer(); }
+  static SWIFT_INLINE_THUNK const char * _Nonnull getOpaquePointer(const String &object) { return object._getOpaquePointer(); }
+  template<class T>
+  static SWIFT_INLINE_PRIVATE_HELPER String returnNewValue(T callable) {
+    auto result = String::_make();
+    callable(result._getOpaquePointer());
+    return result;
+  }
+  static SWIFT_INLINE_THUNK void initializeWithTake(char * _Nonnull destStorage, char * _Nonnull srcStorage) {
+    auto metadata = _impl::$sSSMa(0);
+    auto *vwTableAddr = reinterpret_cast<swift::_impl::ValueWitnessTable **>(metadata._0) - 1;
+#ifdef __arm64e__
+    auto *vwTable = reinterpret_cast<swift::_impl::ValueWitnessTable *>(ptrauth_auth_data(reinterpret_cast<void *>(*vwTableAddr), ptrauth_key_process_independent_data, ptrauth_blend_discriminator(vwTableAddr, 11839)));
+#else
+    auto *vwTable = *vwTableAddr;
+#endif
+    vwTable->initializeWithTake(destStorage, srcStorage, metadata._0);
+  }
+};
+
+} // namespace _impl
+
+} // end namespace 
+
+namespace swift SWIFT_PRIVATE_ATTR {
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wc++17-extensions"
+template<>
+struct TypeMetadataTrait<swift::String> {
+  static SWIFT_INLINE_THUNK void * _Nonnull getTypeMetadata() {
+    return swift::_impl::$sSSMa(0)._0;
+  }
+};
+namespace _impl{
+template<>
+static inline const constexpr bool isValueType<swift::String> = true;
+template<>
+struct implClassFor<swift::String> { using type = swift::_impl::_impl_String; };
+} // namespace
+#pragma clang diagnostic pop
+} // namespace swift
+
+namespace swift SWIFT_PRIVATE_ATTR SWIFT_SYMBOL_MODULE("swift") {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+namespace _impl {
+
+class _impl_UTF8View;
+
+// Type metadata accessor for UTF8View
+SWIFT_EXTERN swift::_impl::MetadataResponseTy $sSS8UTF8ViewVMa(swift::_impl::MetadataRequestTy) SWIFT_NOEXCEPT SWIFT_CALL;
+
+
+} // namespace _impl
+
+class SWIFT_SYMBOL("s:SS8UTF8ViewV") UTF8View final {
+public:
+  SWIFT_INLINE_THUNK ~UTF8View() noexcept {
+    auto metadata = _impl::$sSS8UTF8ViewVMa(0);
+    auto *vwTableAddr = reinterpret_cast<swift::_impl::ValueWitnessTable **>(metadata._0) - 1;
+#ifdef __arm64e__
+    auto *vwTable = reinterpret_cast<swift::_impl::ValueWitnessTable *>(ptrauth_auth_data(reinterpret_cast<void *>(*vwTableAddr), ptrauth_key_process_independent_data, ptrauth_blend_discriminator(vwTableAddr, 11839)));
+#else
+    auto *vwTable = *vwTableAddr;
+#endif
+    vwTable->destroy(_getOpaquePointer(), metadata._0);
+  }
+  SWIFT_INLINE_THUNK UTF8View(const UTF8View &other) noexcept {
+    auto metadata = _impl::$sSS8UTF8ViewVMa(0);
+    auto *vwTableAddr = reinterpret_cast<swift::_impl::ValueWitnessTable **>(metadata._0) - 1;
+#ifdef __arm64e__
+    auto *vwTable = reinterpret_cast<swift::_impl::ValueWitnessTable *>(ptrauth_auth_data(reinterpret_cast<void *>(*vwTableAddr), ptrauth_key_process_independent_data, ptrauth_blend_discriminator(vwTableAddr, 11839)));
+#else
+    auto *vwTable = *vwTableAddr;
+#endif
+    vwTable->initializeWithCopy(_getOpaquePointer(), const_cast<char *>(other._getOpaquePointer()), metadata._0);
+  }
+  SWIFT_INLINE_THUNK UTF8View &operator =(const UTF8View &other) noexcept {
+    auto metadata = _impl::$sSS8UTF8ViewVMa(0);
+    auto *vwTableAddr = reinterpret_cast<swift::_impl::ValueWitnessTable **>(metadata._0) - 1;
+#ifdef __arm64e__
+    auto *vwTable = reinterpret_cast<swift::_impl::ValueWitnessTable *>(ptrauth_auth_data(reinterpret_cast<void *>(*vwTableAddr), ptrauth_key_process_independent_data, ptrauth_blend_discriminator(vwTableAddr, 11839)));
+#else
+    auto *vwTable = *vwTableAddr;
+#endif
+    vwTable->assignWithCopy(_getOpaquePointer(), const_cast<char *>(other._getOpaquePointer()), metadata._0);
+  return *this;
+  }
+  SWIFT_INLINE_THUNK UTF8View &operator =(UTF8View &&other) = delete;
+  [[noreturn]] SWIFT_INLINE_PRIVATE_HELPER UTF8View(UTF8View &&) noexcept {
+  swift::_impl::_fatalError_Cxx_move_of_Swift_value_type_not_supported_yet();
+  swift::_impl::_swift_stdlib_reportFatalError("swift", 5, "C++ does not support moving a Swift value yet", 45, 0);
+  abort();
+  }
+  SWIFT_INLINE_THUNK String_Index getStartIndex() const SWIFT_SYMBOL("s:SS8UTF8ViewV10startIndexSS0D0Vvp");
+  SWIFT_INLINE_THUNK String_Index getEndIndex() const SWIFT_SYMBOL("s:SS8UTF8ViewV8endIndexSS0D0Vvp");
+/// Returns the next consecutive position after <code>i</code>.
+/// precondition:
+/// The next position is representable.
+  SWIFT_INLINE_THUNK String_Index indexAfter(const String_Index& i) const SWIFT_SYMBOL("s:SS8UTF8ViewV5index5afterSS5IndexVAF_tF");
+  SWIFT_INLINE_THUNK String_Index indexBefore(const String_Index& i) const SWIFT_SYMBOL("s:SS8UTF8ViewV5index6beforeSS5IndexVAF_tF");
+  SWIFT_INLINE_THUNK String_Index indexOffsetBy(const String_Index& i, swift::Int n) const SWIFT_SYMBOL("s:SS8UTF8ViewV5index_8offsetBySS5IndexVAF_SitF");
+  SWIFT_INLINE_THUNK swift::Optional<String_Index> indexOffsetByLimitedBy(const String_Index& i, swift::Int n, const String_Index& limit) const SWIFT_SYMBOL("s:SS8UTF8ViewV5index_8offsetBy07limitedE0SS5IndexVSgAG_SiAGtF");
+  SWIFT_INLINE_THUNK swift::Int distanceFromTo(const String_Index& i, const String_Index& j) const SWIFT_SYMBOL("s:SS8UTF8ViewV8distance4from2toSiSS5IndexV_AGtF");
+SWIFT_INLINE_THUNK uint8_t operator [](const String_Index& i) const SWIFT_SYMBOL("s:SS8UTF8ViewVys5UInt8VSS5IndexVcig");
+  SWIFT_INLINE_THUNK String getDescription() const SWIFT_SYMBOL("s:SS8UTF8ViewV11descriptionSSvp");
+  SWIFT_INLINE_THUNK String getDebugDescription() const SWIFT_SYMBOL("s:SS8UTF8ViewV16debugDescriptionSSvp");
+  SWIFT_INLINE_THUNK swift::Int getCount() const SWIFT_SYMBOL("s:SS8UTF8ViewV5countSivp");
+private:
+  SWIFT_INLINE_THUNK UTF8View() noexcept {}
+  static SWIFT_INLINE_THUNK UTF8View _make() noexcept { return UTF8View(); }
+  SWIFT_INLINE_THUNK const char * _Nonnull _getOpaquePointer() const noexcept { return _storage; }
+  SWIFT_INLINE_THUNK char * _Nonnull _getOpaquePointer() noexcept { return _storage; }
+
+  alignas(8) char _storage[16];
+  friend class _impl::_impl_UTF8View;
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wc++17-extensions"
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wreserved-identifier"
+  typedef char $sSS8UTF8ViewVD;
+  static inline constexpr $sSS8UTF8ViewVD __swift_mangled_name = 0;
+#pragma clang diagnostic pop
+#pragma clang diagnostic pop
+};
+
+namespace _impl {
+
+class _impl_UTF8View {
+public:
+  static SWIFT_INLINE_THUNK char * _Nonnull getOpaquePointer(UTF8View &object) { return object._getOpaquePointer(); }
+  static SWIFT_INLINE_THUNK const char * _Nonnull getOpaquePointer(const UTF8View &object) { return object._getOpaquePointer(); }
+  template<class T>
+  static SWIFT_INLINE_PRIVATE_HELPER UTF8View returnNewValue(T callable) {
+    auto result = UTF8View::_make();
+    callable(result._getOpaquePointer());
+    return result;
+  }
+  static SWIFT_INLINE_THUNK void initializeWithTake(char * _Nonnull destStorage, char * _Nonnull srcStorage) {
+    auto metadata = _impl::$sSS8UTF8ViewVMa(0);
+    auto *vwTableAddr = reinterpret_cast<swift::_impl::ValueWitnessTable **>(metadata._0) - 1;
+#ifdef __arm64e__
+    auto *vwTable = reinterpret_cast<swift::_impl::ValueWitnessTable *>(ptrauth_auth_data(reinterpret_cast<void *>(*vwTableAddr), ptrauth_key_process_independent_data, ptrauth_blend_discriminator(vwTableAddr, 11839)));
+#else
+    auto *vwTable = *vwTableAddr;
+#endif
+    vwTable->initializeWithTake(destStorage, srcStorage, metadata._0);
+  }
+};
+
+} // namespace _impl
+
+} // end namespace 
+
+namespace swift SWIFT_PRIVATE_ATTR {
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wc++17-extensions"
+template<>
+struct TypeMetadataTrait<swift::UTF8View> {
+  static SWIFT_INLINE_THUNK void * _Nonnull getTypeMetadata() {
+    return swift::_impl::$sSS8UTF8ViewVMa(0)._0;
+  }
+};
+namespace _impl{
+template<>
+static inline const constexpr bool isValueType<swift::UTF8View> = true;
+template<>
+struct implClassFor<swift::UTF8View> { using type = swift::_impl::_impl_UTF8View; };
+} // namespace
+#pragma clang diagnostic pop
+} // namespace swift
+
+namespace swift SWIFT_PRIVATE_ATTR SWIFT_SYMBOL_MODULE("swift") {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+  template<class T_0_0>
+#ifdef __cpp_concepts
+requires swift::isUsableInGenericContext<T_0_0>
+#endif // __cpp_concepts
+SWIFT_INLINE_THUNK Array<T_0_0> Array<T_0_0>::init() {
+#ifndef __cpp_concepts
+static_assert(swift::isUsableInGenericContext<T_0_0>, "type cannot be used in a Swift generic context");
+#endif // __cpp_concepts
+  return _impl::_impl_Array<T_0_0>::returnNewValue([&](char * _Nonnull result) SWIFT_INLINE_THUNK_ATTRIBUTES {
+    _impl::swift_interop_returnDirect_swift_void_ptr_0_8(result, _impl::$sS2ayxGycfC(swift::TypeMetadataTrait<T_0_0>::getTypeMetadata()));
+  });
+  }
+  template<class T_0_0>
+#ifdef __cpp_concepts
+requires swift::isUsableInGenericContext<T_0_0>
+#endif // __cpp_concepts
+SWIFT_INLINE_THUNK Array<T_0_0> Array<T_0_0>::init(const T_0_0& repeatedValue, swift::Int count) {
+#ifndef __cpp_concepts
+static_assert(swift::isUsableInGenericContext<T_0_0>, "type cannot be used in a Swift generic context");
+#endif // __cpp_concepts
+  return _impl::_impl_Array<T_0_0>::returnNewValue([&](char * _Nonnull result) SWIFT_INLINE_THUNK_ATTRIBUTES {
+    _impl::swift_interop_returnDirect_swift_void_ptr_0_8(result, _impl::$sSa9repeating5countSayxGx_SitcfC(swift::_impl::getOpaquePointer(repeatedValue), count, swift::TypeMetadataTrait<T_0_0>::getTypeMetadata()));
+  });
+  }
+  template<class T_0_0>
+#ifdef __cpp_concepts
+requires swift::isUsableInGenericContext<T_0_0>
+#endif // __cpp_concepts
+SWIFT_INLINE_THUNK void Array<T_0_0>::reserveCapacity(swift::Int minimumCapacity) {
+#ifndef __cpp_concepts
+static_assert(swift::isUsableInGenericContext<T_0_0>, "type cannot be used in a Swift generic context");
+#endif // __cpp_concepts
+  return _impl::$sSa15reserveCapacityyySiF(minimumCapacity, swift::TypeMetadataTrait<Array<T_0_0>>::getTypeMetadata(), _getOpaquePointer());
+  }
+  template<class T_0_0>
+#ifdef __cpp_concepts
+requires swift::isUsableInGenericContext<T_0_0>
+#endif // __cpp_concepts
+SWIFT_INLINE_THUNK void Array<T_0_0>::append(const T_0_0& newElement) {
+#ifndef __cpp_concepts
+static_assert(swift::isUsableInGenericContext<T_0_0>, "type cannot be used in a Swift generic context");
+#endif // __cpp_concepts
+  return _impl::$sSa6appendyyxnF(swift::_impl::getOpaquePointer(newElement), swift::TypeMetadataTrait<Array<T_0_0>>::getTypeMetadata(), _getOpaquePointer());
+  }
+  template<class T_0_0>
+#ifdef __cpp_concepts
+requires swift::isUsableInGenericContext<T_0_0>
+#endif // __cpp_concepts
+SWIFT_INLINE_THUNK swift::Optional<T_0_0> Array<T_0_0>::_customRemoveLast() {
+#ifndef __cpp_concepts
+static_assert(swift::isUsableInGenericContext<T_0_0>, "type cannot be used in a Swift generic context");
+#endif // __cpp_concepts
+  return _impl::_impl_Optional<T_0_0>::returnNewValue([&](char * _Nonnull result) SWIFT_INLINE_THUNK_ATTRIBUTES {
+    _impl::$sSa17_customRemoveLastxSgyF(result, swift::TypeMetadataTrait<Array<T_0_0>>::getTypeMetadata(), _getOpaquePointer());
+  });
+  }
+  template<class T_0_0>
+#ifdef __cpp_concepts
+requires swift::isUsableInGenericContext<T_0_0>
+#endif // __cpp_concepts
+SWIFT_INLINE_THUNK T_0_0 Array<T_0_0>::removeAt(swift::Int index) {
+#ifndef __cpp_concepts
+static_assert(swift::isUsableInGenericContext<T_0_0>, "type cannot be used in a Swift generic context");
+#endif // __cpp_concepts
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wc++17-extensions"
+  if constexpr (std::is_base_of<::swift::_impl::RefCountedClass, T_0_0>::value) {
+  void *returnValue;
+  _impl::$sSa6remove2atxSi_tF(reinterpret_cast<void *>(&returnValue), index, swift::TypeMetadataTrait<Array<T_0_0>>::getTypeMetadata(), _getOpaquePointer());
+  return ::swift::_impl::implClassFor<T_0_0>::type::makeRetained(returnValue);
+  } else if constexpr (::swift::_impl::isValueType<T_0_0>) {
+  return ::swift::_impl::implClassFor<T_0_0>::type::returnNewValue([&](void * _Nonnull returnValue) SWIFT_INLINE_THUNK_ATTRIBUTES {
+_impl::$sSa6remove2atxSi_tF(returnValue, index, swift::TypeMetadataTrait<Array<T_0_0>>::getTypeMetadata(), _getOpaquePointer());
+  });
+  } else if constexpr (::swift::_impl::isSwiftBridgedCxxRecord<T_0_0>) {
+alignas(alignof(T_0_0)) char storage[sizeof(T_0_0)];
+auto * _Nonnull storageObjectPtr = reinterpret_cast<T_0_0 *>(storage);
+_impl::$sSa6remove2atxSi_tF(storage, index, swift::TypeMetadataTrait<Array<T_0_0>>::getTypeMetadata(), _getOpaquePointer());
+T_0_0 result(static_cast<T_0_0 &&>(*storageObjectPtr));
+storageObjectPtr->~T_0_0();
+return result;
+  } else {
+  T_0_0 returnValue;
+_impl::$sSa6remove2atxSi_tF(reinterpret_cast<void *>(&returnValue), index, swift::TypeMetadataTrait<Array<T_0_0>>::getTypeMetadata(), _getOpaquePointer());
+  return returnValue;
+  }
+#pragma clang diagnostic pop
+  }
+  template<class T_0_0>
+#ifdef __cpp_concepts
+requires swift::isUsableInGenericContext<T_0_0>
+#endif // __cpp_concepts
+SWIFT_INLINE_THUNK void Array<T_0_0>::insertAt(const T_0_0& newElement, swift::Int i) {
+#ifndef __cpp_concepts
+static_assert(swift::isUsableInGenericContext<T_0_0>, "type cannot be used in a Swift generic context");
+#endif // __cpp_concepts
+  return _impl::$sSa6insert_2atyxn_SitF(swift::_impl::getOpaquePointer(newElement), i, swift::TypeMetadataTrait<Array<T_0_0>>::getTypeMetadata(), _getOpaquePointer());
+  }
+  template<class T_0_0>
+#ifdef __cpp_concepts
+requires swift::isUsableInGenericContext<T_0_0>
+#endif // __cpp_concepts
+SWIFT_INLINE_THUNK void Array<T_0_0>::removeAllKeepingCapacity(bool keepCapacity) {
+#ifndef __cpp_concepts
+static_assert(swift::isUsableInGenericContext<T_0_0>, "type cannot be used in a Swift generic context");
+#endif // __cpp_concepts
+  return _impl::$sSa9removeAll15keepingCapacityySb_tF(keepCapacity, swift::TypeMetadataTrait<Array<T_0_0>>::getTypeMetadata(), _getOpaquePointer());
+  }
+  template<class T_0_0>
+#ifdef __cpp_concepts
+requires swift::isUsableInGenericContext<T_0_0>
+#endif // __cpp_concepts
+SWIFT_INLINE_THUNK swift::Int Array<T_0_0>::getStartIndex() const {
+#ifndef __cpp_concepts
+static_assert(swift::isUsableInGenericContext<T_0_0>, "type cannot be used in a Swift generic context");
+#endif // __cpp_concepts
+  return _impl::$sSa10startIndexSivg(_impl::swift_interop_passDirect_swift_void_ptr_0_8(_getOpaquePointer()), swift::TypeMetadataTrait<T_0_0>::getTypeMetadata());
+  }
+  template<class T_0_0>
+#ifdef __cpp_concepts
+requires swift::isUsableInGenericContext<T_0_0>
+#endif // __cpp_concepts
+SWIFT_INLINE_THUNK swift::Int Array<T_0_0>::getEndIndex() const {
+#ifndef __cpp_concepts
+static_assert(swift::isUsableInGenericContext<T_0_0>, "type cannot be used in a Swift generic context");
+#endif // __cpp_concepts
+  return _impl::$sSa8endIndexSivg(_impl::swift_interop_passDirect_swift_void_ptr_0_8(_getOpaquePointer()), swift::TypeMetadataTrait<T_0_0>::getTypeMetadata());
+  }
+  template<class T_0_0>
+#ifdef __cpp_concepts
+requires swift::isUsableInGenericContext<T_0_0>
+#endif // __cpp_concepts
+SWIFT_INLINE_THUNK swift::Int Array<T_0_0>::distanceFromTo(swift::Int start, swift::Int end) const {
+#ifndef __cpp_concepts
+static_assert(swift::isUsableInGenericContext<T_0_0>, "type cannot be used in a Swift generic context");
+#endif // __cpp_concepts
+  return _impl::$sSa8distance4from2toS2i_SitF(start, end, _impl::swift_interop_passDirect_swift_void_ptr_0_8(_getOpaquePointer()), swift::TypeMetadataTrait<T_0_0>::getTypeMetadata());
+  }
+template<class T_0_0>
+#ifdef __cpp_concepts
+requires swift::isUsableInGenericContext<T_0_0>
+#endif // __cpp_concepts
+SWIFT_INLINE_THUNK T_0_0 Array<T_0_0>::operator [](swift::Int index) const SWIFT_SYMBOL("s:SayxSicig") {
+#ifndef __cpp_concepts
+static_assert(swift::isUsableInGenericContext<T_0_0>, "type cannot be used in a Swift generic context");
+#endif // __cpp_concepts
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wc++17-extensions"
+  if constexpr (std::is_base_of<::swift::_impl::RefCountedClass, T_0_0>::value) {
+  void *returnValue;
+  _impl::$sSayxSicig(reinterpret_cast<void *>(&returnValue), index, _impl::swift_interop_passDirect_swift_void_ptr_0_8(_getOpaquePointer()), swift::TypeMetadataTrait<T_0_0>::getTypeMetadata());
+  return ::swift::_impl::implClassFor<T_0_0>::type::makeRetained(returnValue);
+  } else if constexpr (::swift::_impl::isValueType<T_0_0>) {
+  return ::swift::_impl::implClassFor<T_0_0>::type::returnNewValue([&](void * _Nonnull returnValue) SWIFT_INLINE_THUNK_ATTRIBUTES {
+_impl::$sSayxSicig(returnValue, index, _impl::swift_interop_passDirect_swift_void_ptr_0_8(_getOpaquePointer()), swift::TypeMetadataTrait<T_0_0>::getTypeMetadata());
+  });
+  } else if constexpr (::swift::_impl::isSwiftBridgedCxxRecord<T_0_0>) {
+alignas(alignof(T_0_0)) char storage[sizeof(T_0_0)];
+auto * _Nonnull storageObjectPtr = reinterpret_cast<T_0_0 *>(storage);
+_impl::$sSayxSicig(storage, index, _impl::swift_interop_passDirect_swift_void_ptr_0_8(_getOpaquePointer()), swift::TypeMetadataTrait<T_0_0>::getTypeMetadata());
+T_0_0 result(static_cast<T_0_0 &&>(*storageObjectPtr));
+storageObjectPtr->~T_0_0();
+return result;
+  } else {
+  T_0_0 returnValue;
+_impl::$sSayxSicig(reinterpret_cast<void *>(&returnValue), index, _impl::swift_interop_passDirect_swift_void_ptr_0_8(_getOpaquePointer()), swift::TypeMetadataTrait<T_0_0>::getTypeMetadata());
+  return returnValue;
+  }
+#pragma clang diagnostic pop
+  }
+  template<class T_0_0>
+#ifdef __cpp_concepts
+requires swift::isUsableInGenericContext<T_0_0>
+#endif // __cpp_concepts
+SWIFT_INLINE_THUNK swift::Int Array<T_0_0>::getCount() const {
+#ifndef __cpp_concepts
+static_assert(swift::isUsableInGenericContext<T_0_0>, "type cannot be used in a Swift generic context");
+#endif // __cpp_concepts
+  return _impl::$sSa5countSivg(_impl::swift_interop_passDirect_swift_void_ptr_0_8(_getOpaquePointer()), swift::TypeMetadataTrait<T_0_0>::getTypeMetadata());
+  }
+  template<class T_0_0>
+#ifdef __cpp_concepts
+requires swift::isUsableInGenericContext<T_0_0>
+#endif // __cpp_concepts
+SWIFT_INLINE_THUNK bool Array<T_0_0>::_hoistableIsNativeTypeChecked() const {
+#ifndef __cpp_concepts
+static_assert(swift::isUsableInGenericContext<T_0_0>, "type cannot be used in a Swift generic context");
+#endif // __cpp_concepts
+  return _impl::$sSa29_hoistableIsNativeTypeCheckedSbyF(_impl::swift_interop_passDirect_swift_void_ptr_0_8(_getOpaquePointer()), swift::TypeMetadataTrait<T_0_0>::getTypeMetadata());
+  }
+  template<class T_0_0>
+#ifdef __cpp_concepts
+requires swift::isUsableInGenericContext<T_0_0>
+#endif // __cpp_concepts
+SWIFT_INLINE_THUNK swift::Int Array<T_0_0>::getCapacity() const {
+#ifndef __cpp_concepts
+static_assert(swift::isUsableInGenericContext<T_0_0>, "type cannot be used in a Swift generic context");
+#endif // __cpp_concepts
+  return _impl::$sSa8capacitySivg(_impl::swift_interop_passDirect_swift_void_ptr_0_8(_getOpaquePointer()), swift::TypeMetadataTrait<T_0_0>::getTypeMetadata());
+  }
+  template<class T_0_0>
+#ifdef __cpp_concepts
+requires swift::isUsableInGenericContext<T_0_0>
+#endif // __cpp_concepts
+SWIFT_INLINE_THUNK String Array<T_0_0>::getDescription() const {
+#ifndef __cpp_concepts
+static_assert(swift::isUsableInGenericContext<T_0_0>, "type cannot be used in a Swift generic context");
+#endif // __cpp_concepts
+  return _impl::_impl_String::returnNewValue([&](char * _Nonnull result) SWIFT_INLINE_THUNK_ATTRIBUTES {
+    _impl::swift_interop_returnDirect_swift_uint64_t_0_8_void_ptr_8_16(result, _impl::$sSa11descriptionSSvg(_impl::swift_interop_passDirect_swift_void_ptr_0_8(_getOpaquePointer()), swift::TypeMetadataTrait<T_0_0>::getTypeMetadata()));
+  });
+  }
+  template<class T_0_0>
+#ifdef __cpp_concepts
+requires swift::isUsableInGenericContext<T_0_0>
+#endif // __cpp_concepts
+SWIFT_INLINE_THUNK String Array<T_0_0>::getDebugDescription() const {
+#ifndef __cpp_concepts
+static_assert(swift::isUsableInGenericContext<T_0_0>, "type cannot be used in a Swift generic context");
+#endif // __cpp_concepts
+  return _impl::_impl_String::returnNewValue([&](char * _Nonnull result) SWIFT_INLINE_THUNK_ATTRIBUTES {
+    _impl::swift_interop_returnDirect_swift_uint64_t_0_8_void_ptr_8_16(result, _impl::$sSa16debugDescriptionSSvg(_impl::swift_interop_passDirect_swift_void_ptr_0_8(_getOpaquePointer()), swift::TypeMetadataTrait<T_0_0>::getTypeMetadata()));
+  });
+  }
+  template<class T_0_0>
+#ifdef __cpp_concepts
+requires swift::isUsableInGenericContext<T_0_0>
+#endif // __cpp_concepts
+SWIFT_INLINE_THUNK Array<T_0_0> Array<T_0_0>::init(const Array<T_0_0>& elements) {
+#ifndef __cpp_concepts
+static_assert(swift::isUsableInGenericContext<T_0_0>, "type cannot be used in a Swift generic context");
+#endif // __cpp_concepts
+  return _impl::_impl_Array<T_0_0>::returnNewValue([&](char * _Nonnull result) SWIFT_INLINE_THUNK_ATTRIBUTES {
+    _impl::swift_interop_returnDirect_swift_void_ptr_0_8(result, _impl::$sSa12arrayLiteralSayxGxd_tcfC(_impl::swift_interop_passDirect_swift_void_ptr_0_8(_impl::_impl_Array<T_0_0>::getOpaquePointer(elements)), swift::TypeMetadataTrait<T_0_0>::getTypeMetadata()));
+  });
+  }
+  SWIFT_INLINE_THUNK swift::Int String_Index::getEncodedOffset() const {
+  return _impl::$sSS5IndexV13encodedOffsetSivg(_impl::swift_interop_passDirect_swift_uint64_t_0_8(_getOpaquePointer()));
+  }
+  SWIFT_INLINE_THUNK String_Index String_Index::init(swift::Int offset) {
+  return _impl::_impl_String_Index::returnNewValue([&](char * _Nonnull result) SWIFT_INLINE_THUNK_ATTRIBUTES {
+    _impl::swift_interop_returnDirect_swift_uint64_t_0_8(result, _impl::$sSS5IndexV13encodedOffsetABSi_tcfC(offset));
+  });
+  }
+  SWIFT_INLINE_THUNK swift::Optional<String_Index> String_Index::init(const String_Index& sourcePosition, const String& target) {
+  return _impl::_impl_Optional<String_Index>::returnNewValue([&](char * _Nonnull result) SWIFT_INLINE_THUNK_ATTRIBUTES {
+    _impl::swift_interop_returnDirect_swift_uint64_t_0_8_uint8_t_8_9(result, _impl::$sSS5IndexV_6withinABSgAB_SStcfC(_impl::swift_interop_passDirect_swift_uint64_t_0_8(_impl::_impl_String_Index::getOpaquePointer(sourcePosition)), _impl::swift_interop_passDirect_swift_uint64_t_0_8_void_ptr_8_16(_impl::_impl_String::getOpaquePointer(target))));
+  });
+  }
+  SWIFT_INLINE_THUNK swift::Optional<String_Index> String_Index::samePositionIn(const UTF8View& utf8) const {
+  return _impl::_impl_Optional<String_Index>::returnNewValue([&](char * _Nonnull result) SWIFT_INLINE_THUNK_ATTRIBUTES {
+    _impl::swift_interop_returnDirect_swift_uint64_t_0_8_uint8_t_8_9(result, _impl::$sSS5IndexV12samePosition2inABSgSS8UTF8ViewV_tF(_impl::swift_interop_passDirect_swift_uint64_t_0_8_void_ptr_8_16(_impl::_impl_UTF8View::getOpaquePointer(utf8)), _impl::swift_interop_passDirect_swift_uint64_t_0_8(_getOpaquePointer())));
+  });
+  }
+  SWIFT_INLINE_THUNK swift::Int String_Index::getHashValue() const {
+  return _impl::$sSS5IndexV9hashValueSivg(_impl::swift_interop_passDirect_swift_uint64_t_0_8(_getOpaquePointer()));
+  }
+  SWIFT_INLINE_THUNK swift::Optional<String_Index> String_Index::samePositionIn(const String& characters) const {
+  return _impl::_impl_Optional<String_Index>::returnNewValue([&](char * _Nonnull result) SWIFT_INLINE_THUNK_ATTRIBUTES {
+    _impl::swift_interop_returnDirect_swift_uint64_t_0_8_uint8_t_8_9(result, _impl::$sSS5IndexV12samePosition2inABSgSS_tF(_impl::swift_interop_passDirect_swift_uint64_t_0_8_void_ptr_8_16(_impl::_impl_String::getOpaquePointer(characters)), _impl::swift_interop_passDirect_swift_uint64_t_0_8(_getOpaquePointer())));
+  });
+  }
+  SWIFT_INLINE_THUNK swift::Optional<String_Index> String_Index::init(const String_Index& idx, const UTF8View& target) {
+  return _impl::_impl_Optional<String_Index>::returnNewValue([&](char * _Nonnull result) SWIFT_INLINE_THUNK_ATTRIBUTES {
+    _impl::swift_interop_returnDirect_swift_uint64_t_0_8_uint8_t_8_9(result, _impl::$sSS5IndexV_6withinABSgAB_SS8UTF8ViewVtcfC(_impl::swift_interop_passDirect_swift_uint64_t_0_8(_impl::_impl_String_Index::getOpaquePointer(idx)), _impl::swift_interop_passDirect_swift_uint64_t_0_8_void_ptr_8_16(_impl::_impl_UTF8View::getOpaquePointer(target))));
+  });
+  }
+template<class T_0_0>
+#ifdef __cpp_concepts
+requires swift::isUsableInGenericContext<T_0_0>
+#endif // __cpp_concepts
+  SWIFT_INLINE_THUNK Optional<T_0_0> Optional<T_0_0>::_impl_some::operator()(const T_0_0& val) const {
+    auto result = Optional<T_0_0>::_make();
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wc++17-extensions"
+if constexpr (std::is_base_of<::swift::_impl::RefCountedClass, T_0_0>::value) {
+    void *ptr = ::swift::_impl::_impl_RefCountedClass::copyOpaquePointer(val);
+    memcpy(result._getOpaquePointer(), &ptr, sizeof(ptr));
+} else if constexpr (::swift::_impl::isValueType<T_0_0>) {
+    alignas(T_0_0) unsigned char buffer[sizeof(T_0_0)];
+    auto *valCopy = new(buffer) T_0_0(val);
+    swift::_impl::implClassFor<T_0_0>::type::initializeWithTake(result._getOpaquePointer(), swift::_impl::implClassFor<T_0_0>::type::getOpaquePointer(*valCopy));
+} else {
+    memcpy(result._getOpaquePointer(), &val, sizeof(val));
+}
+#pragma clang diagnostic pop
+    result._destructiveInjectEnumTag(0);
+    return result;
+  }
+template<class T_0_0>
+#ifdef __cpp_concepts
+requires swift::isUsableInGenericContext<T_0_0>
+#endif // __cpp_concepts
+  SWIFT_INLINE_THUNK  bool Optional<T_0_0>::isSome() const {
+    return *this == Optional<T_0_0>::some;
+  }
+template<class T_0_0>
+#ifdef __cpp_concepts
+requires swift::isUsableInGenericContext<T_0_0>
+#endif // __cpp_concepts
+  SWIFT_INLINE_THUNK T_0_0 Optional<T_0_0>::getSome() const {
+    if (!isSome()) abort();
+    alignas(Optional) unsigned char buffer[sizeof(Optional)];
+    auto *thisCopy = new(buffer) Optional(*this);
+    char * _Nonnull payloadFromDestruction = thisCopy->_destructiveProjectEnumData();
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wc++17-extensions"
+  if constexpr (std::is_base_of<::swift::_impl::RefCountedClass, T_0_0>::value) {
+  void *returnValue;
+  returnValue = *reinterpret_cast<void **>(payloadFromDestruction);
+  return ::swift::_impl::implClassFor<T_0_0>::type::makeRetained(returnValue);
+  } else if constexpr (::swift::_impl::isValueType<T_0_0>) {
+  return ::swift::_impl::implClassFor<T_0_0>::type::returnNewValue([&](void * _Nonnull returnValue) SWIFT_INLINE_THUNK_ATTRIBUTES {
+  return ::swift::_impl::implClassFor<T_0_0>::type::initializeWithTake(reinterpret_cast<char * _Nonnull>(returnValue), payloadFromDestruction);
+  });
+  } else if constexpr (::swift::_impl::isSwiftBridgedCxxRecord<T_0_0>) {
+abort();
+  } else {
+  T_0_0 returnValue;
+memcpy(&returnValue, payloadFromDestruction, sizeof(returnValue));
+  return returnValue;
+  }
+#pragma clang diagnostic pop
+}
+template<class T_0_0>
+#ifdef __cpp_concepts
+requires swift::isUsableInGenericContext<T_0_0>
+#endif // __cpp_concepts
+  SWIFT_INLINE_THUNK Optional<T_0_0> Optional<T_0_0>::_impl_none::operator()() const {
+    auto result = Optional<T_0_0>::_make();
+    result._destructiveInjectEnumTag(1);
+    return result;
+  }
+template<class T_0_0>
+#ifdef __cpp_concepts
+requires swift::isUsableInGenericContext<T_0_0>
+#endif // __cpp_concepts
+  SWIFT_INLINE_THUNK  bool Optional<T_0_0>::isNone() const {
+    return *this == Optional<T_0_0>::none;
+  }
+  template<class T_0_0>
+#ifdef __cpp_concepts
+requires swift::isUsableInGenericContext<T_0_0>
+#endif // __cpp_concepts
+SWIFT_INLINE_THUNK swift::Optional<T_0_0> Optional<T_0_0>::init(const T_0_0& some_) {
+#ifndef __cpp_concepts
+static_assert(swift::isUsableInGenericContext<T_0_0>, "type cannot be used in a Swift generic context");
+#endif // __cpp_concepts
+  return _impl::_impl_Optional<T_0_0>::returnNewValue([&](char * _Nonnull result) SWIFT_INLINE_THUNK_ATTRIBUTES {
+    _impl::$sSqyxSgxcfC(result, swift::_impl::getOpaquePointer(some_), swift::TypeMetadataTrait<T_0_0>::getTypeMetadata());
+  });
+  }
+  template<class T_0_0>
+#ifdef __cpp_concepts
+requires swift::isUsableInGenericContext<T_0_0>
+#endif // __cpp_concepts
+SWIFT_INLINE_THUNK T_0_0 Optional<T_0_0>::getUnsafelyUnwrapped() const {
+#ifndef __cpp_concepts
+static_assert(swift::isUsableInGenericContext<T_0_0>, "type cannot be used in a Swift generic context");
+#endif // __cpp_concepts
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wc++17-extensions"
+  if constexpr (std::is_base_of<::swift::_impl::RefCountedClass, T_0_0>::value) {
+  void *returnValue;
+  _impl::$sSq17unsafelyUnwrappedxvg(reinterpret_cast<void *>(&returnValue), swift::TypeMetadataTrait<Optional<T_0_0>>::getTypeMetadata(), _getOpaquePointer());
+  return ::swift::_impl::implClassFor<T_0_0>::type::makeRetained(returnValue);
+  } else if constexpr (::swift::_impl::isValueType<T_0_0>) {
+  return ::swift::_impl::implClassFor<T_0_0>::type::returnNewValue([&](void * _Nonnull returnValue) SWIFT_INLINE_THUNK_ATTRIBUTES {
+_impl::$sSq17unsafelyUnwrappedxvg(returnValue, swift::TypeMetadataTrait<Optional<T_0_0>>::getTypeMetadata(), _getOpaquePointer());
+  });
+  } else if constexpr (::swift::_impl::isSwiftBridgedCxxRecord<T_0_0>) {
+alignas(alignof(T_0_0)) char storage[sizeof(T_0_0)];
+auto * _Nonnull storageObjectPtr = reinterpret_cast<T_0_0 *>(storage);
+_impl::$sSq17unsafelyUnwrappedxvg(storage, swift::TypeMetadataTrait<Optional<T_0_0>>::getTypeMetadata(), _getOpaquePointer());
+T_0_0 result(static_cast<T_0_0 &&>(*storageObjectPtr));
+storageObjectPtr->~T_0_0();
+return result;
+  } else {
+  T_0_0 returnValue;
+_impl::$sSq17unsafelyUnwrappedxvg(reinterpret_cast<void *>(&returnValue), swift::TypeMetadataTrait<Optional<T_0_0>>::getTypeMetadata(), _getOpaquePointer());
+  return returnValue;
+  }
+#pragma clang diagnostic pop
+  }
+  SWIFT_INLINE_THUNK String String::init() {
+  return _impl::_impl_String::returnNewValue([&](char * _Nonnull result) SWIFT_INLINE_THUNK_ATTRIBUTES {
+    _impl::swift_interop_returnDirect_swift_uint64_t_0_8_void_ptr_8_16(result, _impl::$sS2SycfC());
+  });
+  }
+  SWIFT_INLINE_THUNK String_Index String::getStartIndex() const {
+  return _impl::_impl_String_Index::returnNewValue([&](char * _Nonnull result) SWIFT_INLINE_THUNK_ATTRIBUTES {
+    _impl::swift_interop_returnDirect_swift_uint64_t_0_8(result, _impl::$sSS10startIndexSS0B0Vvg(_impl::swift_interop_passDirect_swift_uint64_t_0_8_void_ptr_8_16(_getOpaquePointer())));
+  });
+  }
+  SWIFT_INLINE_THUNK String_Index String::getEndIndex() const {
+  return _impl::_impl_String_Index::returnNewValue([&](char * _Nonnull result) SWIFT_INLINE_THUNK_ATTRIBUTES {
+    _impl::swift_interop_returnDirect_swift_uint64_t_0_8(result, _impl::$sSS8endIndexSS0B0Vvg(_impl::swift_interop_passDirect_swift_uint64_t_0_8_void_ptr_8_16(_getOpaquePointer())));
+  });
+  }
+  SWIFT_INLINE_THUNK swift::Int String::getCount() const {
+  return _impl::$sSS5countSivg(_impl::swift_interop_passDirect_swift_uint64_t_0_8_void_ptr_8_16(_getOpaquePointer()));
+  }
+  SWIFT_INLINE_THUNK swift::Int String::distanceFromTo(const String_Index& start, const String_Index& end) const {
+  return _impl::$sSS8distance4from2toSiSS5IndexV_AEtF(_impl::swift_interop_passDirect_swift_uint64_t_0_8(_impl::_impl_String_Index::getOpaquePointer(start)), _impl::swift_interop_passDirect_swift_uint64_t_0_8(_impl::_impl_String_Index::getOpaquePointer(end)), _impl::swift_interop_passDirect_swift_uint64_t_0_8_void_ptr_8_16(_getOpaquePointer()));
+  }
+  SWIFT_INLINE_THUNK void String::reserveCapacity(swift::Int n) {
+  return _impl::$sSS15reserveCapacityyySiF(n, _getOpaquePointer());
+  }
+  SWIFT_INLINE_THUNK void String::append(const String& other) {
+  return _impl::$sSS6appendyySSF(_impl::swift_interop_passDirect_swift_uint64_t_0_8_void_ptr_8_16(_impl::_impl_String::getOpaquePointer(other)), _getOpaquePointer());
+  }
+  SWIFT_INLINE_THUNK void String::appendContentsOf(const String& newElements) {
+  return _impl::$sSS6append10contentsOfySS_tF(_impl::swift_interop_passDirect_swift_uint64_t_0_8_void_ptr_8_16(_impl::_impl_String::getOpaquePointer(newElements)), _getOpaquePointer());
+  }
+  SWIFT_INLINE_THUNK void String::removeAllKeepingCapacity(bool keepCapacity) {
+  return _impl::$sSS9removeAll15keepingCapacityySb_tF(keepCapacity, _getOpaquePointer());
+  }
+  SWIFT_INLINE_THUNK UTF8View String::getUtf8() const {
+  return _impl::_impl_UTF8View::returnNewValue([&](char * _Nonnull result) SWIFT_INLINE_THUNK_ATTRIBUTES {
+    _impl::swift_interop_returnDirect_swift_uint64_t_0_8_void_ptr_8_16(result, _impl::$sSS4utf8SS8UTF8ViewVvg(_impl::swift_interop_passDirect_swift_uint64_t_0_8_void_ptr_8_16(_getOpaquePointer())));
+  });
+  }
+  SWIFT_INLINE_THUNK void String::setUtf8(const UTF8View& newValue) {
+  return _impl::$sSS4utf8SS8UTF8ViewVvs(_impl::swift_interop_passDirect_swift_uint64_t_0_8_void_ptr_8_16(_impl::_impl_UTF8View::getOpaquePointer(newValue)), _getOpaquePointer());
+  }
+  SWIFT_INLINE_THUNK String String::getCharacters() const {
+  return _impl::_impl_String::returnNewValue([&](char * _Nonnull result) SWIFT_INLINE_THUNK_ATTRIBUTES {
+    _impl::swift_interop_returnDirect_swift_uint64_t_0_8_void_ptr_8_16(result, _impl::$sSS10charactersSSvg(_impl::swift_interop_passDirect_swift_uint64_t_0_8_void_ptr_8_16(_getOpaquePointer())));
+  });
+  }
+  SWIFT_INLINE_THUNK void String::setCharacters(const String& newValue) {
+  return _impl::$sSS10charactersSSvs(_impl::swift_interop_passDirect_swift_uint64_t_0_8_void_ptr_8_16(_impl::_impl_String::getOpaquePointer(newValue)), _getOpaquePointer());
+  }
+  SWIFT_INLINE_THUNK swift::Int String::getHashValue() const {
+  return _impl::$sSS9hashValueSivg(_impl::swift_interop_passDirect_swift_uint64_t_0_8_void_ptr_8_16(_getOpaquePointer()));
+  }
+  SWIFT_INLINE_THUNK Array<uint8_t> String::get_nfcCodeUnits() const {
+  return _impl::_impl_Array<uint8_t>::returnNewValue([&](char * _Nonnull result) SWIFT_INLINE_THUNK_ATTRIBUTES {
+    _impl::swift_interop_returnDirect_swift_void_ptr_0_8(result, _impl::$sSS13_nfcCodeUnitsSays5UInt8VGvg(_impl::swift_interop_passDirect_swift_uint64_t_0_8_void_ptr_8_16(_getOpaquePointer())));
+  });
+  }
+  SWIFT_INLINE_THUNK bool String::isEmpty() const {
+  return _impl::$sSS7isEmptySbvg(_impl::swift_interop_passDirect_swift_uint64_t_0_8_void_ptr_8_16(_getOpaquePointer()));
+  }
+  SWIFT_INLINE_THUNK String String::lowercased() const {
+  return _impl::_impl_String::returnNewValue([&](char * _Nonnull result) SWIFT_INLINE_THUNK_ATTRIBUTES {
+    _impl::swift_interop_returnDirect_swift_uint64_t_0_8_void_ptr_8_16(result, _impl::$sSS10lowercasedSSyF(_impl::swift_interop_passDirect_swift_uint64_t_0_8_void_ptr_8_16(_getOpaquePointer())));
+  });
+  }
+  SWIFT_INLINE_THUNK String String::uppercased() const {
+  return _impl::_impl_String::returnNewValue([&](char * _Nonnull result) SWIFT_INLINE_THUNK_ATTRIBUTES {
+    _impl::swift_interop_returnDirect_swift_uint64_t_0_8_void_ptr_8_16(result, _impl::$sSS10uppercasedSSyF(_impl::swift_interop_passDirect_swift_uint64_t_0_8_void_ptr_8_16(_getOpaquePointer())));
+  });
+  }
+  SWIFT_INLINE_THUNK String String::getDebugDescription() const {
+  return _impl::_impl_String::returnNewValue([&](char * _Nonnull result) SWIFT_INLINE_THUNK_ATTRIBUTES {
+    _impl::swift_interop_returnDirect_swift_uint64_t_0_8_void_ptr_8_16(result, _impl::$sSS16debugDescriptionSSvg(_impl::swift_interop_passDirect_swift_uint64_t_0_8_void_ptr_8_16(_getOpaquePointer())));
+  });
+  }
+  SWIFT_INLINE_THUNK String String::getDescription() const {
+  return _impl::_impl_String::returnNewValue([&](char * _Nonnull result) SWIFT_INLINE_THUNK_ATTRIBUTES {
+    _impl::swift_interop_returnDirect_swift_uint64_t_0_8_void_ptr_8_16(result, _impl::$sSS11descriptionSSvg(_impl::swift_interop_passDirect_swift_uint64_t_0_8_void_ptr_8_16(_getOpaquePointer())));
+  });
+  }
+  SWIFT_INLINE_THUNK void String::write(const String& other) {
+  return _impl::$sSS5writeyySSF(_impl::swift_interop_passDirect_swift_uint64_t_0_8_void_ptr_8_16(_impl::_impl_String::getOpaquePointer(other)), _getOpaquePointer());
+  }
+  SWIFT_INLINE_THUNK void String::_dump() const {
+  return _impl::$sSS5_dumpyyF(_impl::swift_interop_passDirect_swift_uint64_t_0_8_void_ptr_8_16(_getOpaquePointer()));
+  }
+  SWIFT_INLINE_THUNK bool String::hasPrefix(const String& prefix) const {
+  return _impl::$sSS9hasPrefixySbSSF(_impl::swift_interop_passDirect_swift_uint64_t_0_8_void_ptr_8_16(_impl::_impl_String::getOpaquePointer(prefix)), _impl::swift_interop_passDirect_swift_uint64_t_0_8_void_ptr_8_16(_getOpaquePointer()));
+  }
+  SWIFT_INLINE_THUNK bool String::hasSuffix(const String& suffix) const {
+  return _impl::$sSS9hasSuffixySbSSF(_impl::swift_interop_passDirect_swift_uint64_t_0_8_void_ptr_8_16(_impl::_impl_String::getOpaquePointer(suffix)), _impl::swift_interop_passDirect_swift_uint64_t_0_8_void_ptr_8_16(_getOpaquePointer()));
+  }
+  SWIFT_INLINE_THUNK String_Index UTF8View::getStartIndex() const {
+  return _impl::_impl_String_Index::returnNewValue([&](char * _Nonnull result) SWIFT_INLINE_THUNK_ATTRIBUTES {
+    _impl::swift_interop_returnDirect_swift_uint64_t_0_8(result, _impl::$sSS8UTF8ViewV10startIndexSS0D0Vvg(_impl::swift_interop_passDirect_swift_uint64_t_0_8_void_ptr_8_16(_getOpaquePointer())));
+  });
+  }
+  SWIFT_INLINE_THUNK String_Index UTF8View::getEndIndex() const {
+  return _impl::_impl_String_Index::returnNewValue([&](char * _Nonnull result) SWIFT_INLINE_THUNK_ATTRIBUTES {
+    _impl::swift_interop_returnDirect_swift_uint64_t_0_8(result, _impl::$sSS8UTF8ViewV8endIndexSS0D0Vvg(_impl::swift_interop_passDirect_swift_uint64_t_0_8_void_ptr_8_16(_getOpaquePointer())));
+  });
+  }
+  SWIFT_INLINE_THUNK String_Index UTF8View::indexAfter(const String_Index& i) const {
+  return _impl::_impl_String_Index::returnNewValue([&](char * _Nonnull result) SWIFT_INLINE_THUNK_ATTRIBUTES {
+    _impl::swift_interop_returnDirect_swift_uint64_t_0_8(result, _impl::$sSS8UTF8ViewV5index5afterSS5IndexVAF_tF(_impl::swift_interop_passDirect_swift_uint64_t_0_8(_impl::_impl_String_Index::getOpaquePointer(i)), _impl::swift_interop_passDirect_swift_uint64_t_0_8_void_ptr_8_16(_getOpaquePointer())));
+  });
+  }
+  SWIFT_INLINE_THUNK String_Index UTF8View::indexBefore(const String_Index& i) const {
+  return _impl::_impl_String_Index::returnNewValue([&](char * _Nonnull result) SWIFT_INLINE_THUNK_ATTRIBUTES {
+    _impl::swift_interop_returnDirect_swift_uint64_t_0_8(result, _impl::$sSS8UTF8ViewV5index6beforeSS5IndexVAF_tF(_impl::swift_interop_passDirect_swift_uint64_t_0_8(_impl::_impl_String_Index::getOpaquePointer(i)), _impl::swift_interop_passDirect_swift_uint64_t_0_8_void_ptr_8_16(_getOpaquePointer())));
+  });
+  }
+  SWIFT_INLINE_THUNK String_Index UTF8View::indexOffsetBy(const String_Index& i, swift::Int n) const {
+  return _impl::_impl_String_Index::returnNewValue([&](char * _Nonnull result) SWIFT_INLINE_THUNK_ATTRIBUTES {
+    _impl::swift_interop_returnDirect_swift_uint64_t_0_8(result, _impl::$sSS8UTF8ViewV5index_8offsetBySS5IndexVAF_SitF(_impl::swift_interop_passDirect_swift_uint64_t_0_8(_impl::_impl_String_Index::getOpaquePointer(i)), n, _impl::swift_interop_passDirect_swift_uint64_t_0_8_void_ptr_8_16(_getOpaquePointer())));
+  });
+  }
+  SWIFT_INLINE_THUNK swift::Optional<String_Index> UTF8View::indexOffsetByLimitedBy(const String_Index& i, swift::Int n, const String_Index& limit) const {
+  return _impl::_impl_Optional<String_Index>::returnNewValue([&](char * _Nonnull result) SWIFT_INLINE_THUNK_ATTRIBUTES {
+    _impl::swift_interop_returnDirect_swift_uint64_t_0_8_uint8_t_8_9(result, _impl::$sSS8UTF8ViewV5index_8offsetBy07limitedE0SS5IndexVSgAG_SiAGtF(_impl::swift_interop_passDirect_swift_uint64_t_0_8(_impl::_impl_String_Index::getOpaquePointer(i)), n, _impl::swift_interop_passDirect_swift_uint64_t_0_8(_impl::_impl_String_Index::getOpaquePointer(limit)), _impl::swift_interop_passDirect_swift_uint64_t_0_8_void_ptr_8_16(_getOpaquePointer())));
+  });
+  }
+  SWIFT_INLINE_THUNK swift::Int UTF8View::distanceFromTo(const String_Index& i, const String_Index& j) const {
+  return _impl::$sSS8UTF8ViewV8distance4from2toSiSS5IndexV_AGtF(_impl::swift_interop_passDirect_swift_uint64_t_0_8(_impl::_impl_String_Index::getOpaquePointer(i)), _impl::swift_interop_passDirect_swift_uint64_t_0_8(_impl::_impl_String_Index::getOpaquePointer(j)), _impl::swift_interop_passDirect_swift_uint64_t_0_8_void_ptr_8_16(_getOpaquePointer()));
+  }
+SWIFT_INLINE_THUNK uint8_t UTF8View::operator [](const String_Index& i) const SWIFT_SYMBOL("s:SS8UTF8ViewVys5UInt8VSS5IndexVcig") {
+  return _impl::$sSS8UTF8ViewVys5UInt8VSS5IndexVcig(_impl::swift_interop_passDirect_swift_uint64_t_0_8(_impl::_impl_String_Index::getOpaquePointer(i)), _impl::swift_interop_passDirect_swift_uint64_t_0_8_void_ptr_8_16(_getOpaquePointer()));
+  }
+  SWIFT_INLINE_THUNK String UTF8View::getDescription() const {
+  return _impl::_impl_String::returnNewValue([&](char * _Nonnull result) SWIFT_INLINE_THUNK_ATTRIBUTES {
+    _impl::swift_interop_returnDirect_swift_uint64_t_0_8_void_ptr_8_16(result, _impl::$sSS8UTF8ViewV11descriptionSSvg(_impl::swift_interop_passDirect_swift_uint64_t_0_8_void_ptr_8_16(_getOpaquePointer())));
+  });
+  }
+  SWIFT_INLINE_THUNK String UTF8View::getDebugDescription() const {
+  return _impl::_impl_String::returnNewValue([&](char * _Nonnull result) SWIFT_INLINE_THUNK_ATTRIBUTES {
+    _impl::swift_interop_returnDirect_swift_uint64_t_0_8_void_ptr_8_16(result, _impl::$sSS8UTF8ViewV16debugDescriptionSSvg(_impl::swift_interop_passDirect_swift_uint64_t_0_8_void_ptr_8_16(_getOpaquePointer())));
+  });
+  }
+  SWIFT_INLINE_THUNK swift::Int UTF8View::getCount() const {
+  return _impl::$sSS8UTF8ViewV5countSivg(_impl::swift_interop_passDirect_swift_uint64_t_0_8_void_ptr_8_16(_getOpaquePointer()));
+  }
+
+// Unavailable in C++: Swift operator function '!=(_:_:)'.
+
+// Unavailable in C++: Swift operator function '!=(_:_:)'.
+
+// Unavailable in C++: Swift operator function '!=(_:_:)'.
+
+// Unavailable in C++: Swift operator function '!=(_:_:)'.
+
+// Unavailable in C++: Swift operator function '!=(_:_:)'.
+
+// Unavailable in C++: Swift operator function '!=(_:_:)'.
+
+// Unavailable in C++: Swift operator function '!=(_:_:)'.
+
+// Unavailable in C++: Swift operator function '!=(_:_:)'.
+
+// Unavailable in C++: Swift operator function '!=(_:_:)'.
+
+// Unavailable in C++: Swift operator function '!==(_:_:)'.
+
+// Unavailable in C++: Swift operator function '%(_:_:)'.
+
+// Unavailable in C++: Swift operator function '%=(_:_:)'.
+
+// Unavailable in C++: Swift operator function '<(_:_:)'.
+
+// Unavailable in C++: Swift operator function '<(_:_:)'.
+
+// Unavailable in C++: Swift operator function '<(_:_:)'.
+
+// Unavailable in C++: Swift operator function '<(_:_:)'.
+
+// Unavailable in C++: Swift operator function '<(_:_:)'.
+
+// Unavailable in C++: Swift operator function '<(_:_:)'.
+
+// Unavailable in C++: Swift operator function '<=(_:_:)'.
+
+// Unavailable in C++: Swift operator function '<=(_:_:)'.
+
+// Unavailable in C++: Swift operator function '<=(_:_:)'.
+
+// Unavailable in C++: Swift operator function '<=(_:_:)'.
+
+// Unavailable in C++: Swift operator function '<=(_:_:)'.
+
+// Unavailable in C++: Swift operator function '<=(_:_:)'.
+
+// Unavailable in C++: Swift operator function '==(_:_:)'.
+
+// Unavailable in C++: Swift operator function '==(_:_:)'.
+
+// Unavailable in C++: Swift operator function '==(_:_:)'.
+
+// Unavailable in C++: Swift operator function '==(_:_:)'.
+
+// Unavailable in C++: Swift operator function '==(_:_:)'.
+
+// Unavailable in C++: Swift operator function '==(_:_:)'.
+
+// Unavailable in C++: Swift operator function '==(_:_:)'.
+
+// Unavailable in C++: Swift operator function '==(_:_:)'.
+
+// Unavailable in C++: Swift operator function '===(_:_:)'.
+
+// Unavailable in C++: Swift operator function '>(_:_:)'.
+
+// Unavailable in C++: Swift operator function '>(_:_:)'.
+
+// Unavailable in C++: Swift operator function '>(_:_:)'.
+
+// Unavailable in C++: Swift operator function '>(_:_:)'.
+
+// Unavailable in C++: Swift operator function '>(_:_:)'.
+
+// Unavailable in C++: Swift operator function '>(_:_:)'.
+
+// Unavailable in C++: Swift operator function '>=(_:_:)'.
+
+// Unavailable in C++: Swift operator function '>=(_:_:)'.
+
+// Unavailable in C++: Swift operator function '>=(_:_:)'.
+
+// Unavailable in C++: Swift operator function '>=(_:_:)'.
+
+// Unavailable in C++: Swift operator function '>=(_:_:)'.
+
+// Unavailable in C++: Swift operator function '>=(_:_:)'.
+
+// Unavailable in C++: Swift operator function '??(_:_:)'.
+
+// Unavailable in C++: Swift operator function '??(_:_:)'.
+
+class AdditiveArithmetic { } SWIFT_UNAVAILABLE_MSG("protocol 'AdditiveArithmetic' can not yet be represented in C++");
+
+// Unavailable in C++: Swift type alias 'AnyClass'.
+
+class AnyKeyPath { } SWIFT_UNAVAILABLE_MSG("class 'AnyKeyPath' is not yet exposed to C++");
+
+// Unavailable in C++: Swift type alias 'AnyObject'.
+
+// Unavailable in C++: Swift type alias 'ArrayLiteralConvertible'.
+
+class BidirectionalCollection { } SWIFT_UNAVAILABLE_MSG("protocol 'BidirectionalCollection' can not yet be represented in C++");
+
+// Unavailable in C++: Swift type alias 'BidirectionalIndexable'.
+
+// Unavailable in C++: Swift type alias 'BidirectionalSlice'.
+
+class BinaryFloatingPoint { } SWIFT_UNAVAILABLE_MSG("protocol 'BinaryFloatingPoint' can not yet be represented in C++");
+
+class BinaryInteger { } SWIFT_UNAVAILABLE_MSG("protocol 'BinaryInteger' can not yet be represented in C++");
+
+// Unavailable in C++: Swift type alias 'BooleanLiteralConvertible'.
+
+// Unavailable in C++: Swift type alias 'BooleanLiteralType'.
+
+// Unavailable in C++: Swift type alias 'CBool'.
+
+// Unavailable in C++: Swift type alias 'CChar'.
+
+// Unavailable in C++: Swift type alias 'CChar16'.
+
+// Unavailable in C++: Swift type alias 'CChar32'.
+
+// Unavailable in C++: Swift type alias 'CDouble'.
+
+// Unavailable in C++: Swift type alias 'CFloat'.
+
+// Unavailable in C++: Swift type alias 'CFloat16'.
+
+// Unavailable in C++: Swift type alias 'CInt'.
+
+// Unavailable in C++: Swift type alias 'CLong'.
+
+// Unavailable in C++: Swift type alias 'CLongDouble'.
+
+// Unavailable in C++: Swift type alias 'CLongLong'.
+
+// Unavailable in C++: Swift type alias 'CShort'.
+
+// Unavailable in C++: Swift type alias 'CSignedChar'.
+
+// Unavailable in C++: Swift type alias 'CUnsignedChar'.
+
+// Unavailable in C++: Swift type alias 'CUnsignedInt'.
+
+// Unavailable in C++: Swift type alias 'CUnsignedLong'.
+
+// Unavailable in C++: Swift type alias 'CUnsignedLongLong'.
+
+// Unavailable in C++: Swift type alias 'CUnsignedShort'.
+
+class CVarArg { } SWIFT_UNAVAILABLE_MSG("protocol 'CVarArg' can not yet be represented in C++");
+
+// Unavailable in C++: Swift type alias 'CWideChar'.
+
+class CaseIterable { } SWIFT_UNAVAILABLE_MSG("protocol 'CaseIterable' can not yet be represented in C++");
+
+// Unavailable in C++: Swift type alias 'ClosedRangeIndex'.
+
+// Unavailable in C++: Swift type alias 'Codable'.
+
+class CodingKey { } SWIFT_UNAVAILABLE_MSG("protocol 'CodingKey' can not yet be represented in C++");
+
+class CodingKeyRepresentable { } SWIFT_UNAVAILABLE_MSG("protocol 'CodingKeyRepresentable' can not yet be represented in C++");
+
+class Collection { } SWIFT_UNAVAILABLE_MSG("protocol 'Collection' can not yet be represented in C++");
+
+class CommandLine { } SWIFT_UNAVAILABLE_MSG("enum 'CommandLine' is not yet exposed to C++");
+
+class Comparable { } SWIFT_UNAVAILABLE_MSG("protocol 'Comparable' can not yet be represented in C++");
+
+// Unavailable in C++: Swift type alias 'ConcurrentValue'.
+
+// Unavailable in C++: Swift type alias 'CountableClosedRange'.
+
+// Unavailable in C++: Swift type alias 'CountablePartialRangeFrom'.
+
+// Unavailable in C++: Swift type alias 'CountableRange'.
+
+class CustomDebugStringConvertible { } SWIFT_UNAVAILABLE_MSG("protocol 'CustomDebugStringConvertible' can not yet be represented in C++");
+
+class CustomLeafReflectable { } SWIFT_UNAVAILABLE_MSG("protocol 'CustomLeafReflectable' can not yet be represented in C++");
+
+class CustomPlaygroundDisplayConvertible { } SWIFT_UNAVAILABLE_MSG("protocol 'CustomPlaygroundDisplayConvertible' can not yet be represented in C++");
+
+// Unavailable in C++: Swift type alias 'CustomPlaygroundQuickLookable'.
+
+class CustomReflectable { } SWIFT_UNAVAILABLE_MSG("protocol 'CustomReflectable' can not yet be represented in C++");
+
+class CustomStringConvertible { } SWIFT_UNAVAILABLE_MSG("protocol 'CustomStringConvertible' can not yet be represented in C++");
+
+class Decodable { } SWIFT_UNAVAILABLE_MSG("protocol 'Decodable' can not yet be represented in C++");
+
+class Decoder { } SWIFT_UNAVAILABLE_MSG("protocol 'Decoder' can not yet be represented in C++");
+
+class DecodingError { } SWIFT_UNAVAILABLE_MSG("enum 'DecodingError' is not yet exposed to C++");
+
+// Unavailable in C++: Swift type alias 'DefaultBidirectionalIndices'.
+
+// Unavailable in C++: Swift type alias 'DefaultRandomAccessIndices'.
+
+// Unavailable in C++: Swift type alias 'DictionaryIndex'.
+
+// Unavailable in C++: Swift type alias 'DictionaryIterator'.
+
+// Unavailable in C++: Swift type alias 'DictionaryLiteral'.
+
+// Unavailable in C++: Swift type alias 'DictionaryLiteralConvertible'.
+
+class DurationProtocol { } SWIFT_UNAVAILABLE_MSG("protocol 'DurationProtocol' can not yet be represented in C++");
+
+// Unavailable in C++: Swift type alias 'EmptyIterator'.
+
+class Encodable { } SWIFT_UNAVAILABLE_MSG("protocol 'Encodable' can not yet be represented in C++");
+
+class Encoder { } SWIFT_UNAVAILABLE_MSG("protocol 'Encoder' can not yet be represented in C++");
+
+class EncodingError { } SWIFT_UNAVAILABLE_MSG("enum 'EncodingError' is not yet exposed to C++");
+
+// Unavailable in C++: Swift type alias 'EnumeratedIterator'.
+
+class Equatable { } SWIFT_UNAVAILABLE_MSG("protocol 'Equatable' can not yet be represented in C++");
+
+class ExpressibleByArrayLiteral { } SWIFT_UNAVAILABLE_MSG("protocol 'ExpressibleByArrayLiteral' can not yet be represented in C++");
+
+class ExpressibleByBooleanLiteral { } SWIFT_UNAVAILABLE_MSG("protocol 'ExpressibleByBooleanLiteral' can not yet be represented in C++");
+
+class ExpressibleByDictionaryLiteral { } SWIFT_UNAVAILABLE_MSG("protocol 'ExpressibleByDictionaryLiteral' can not yet be represented in C++");
+
+class ExpressibleByExtendedGraphemeClusterLiteral { } SWIFT_UNAVAILABLE_MSG("protocol 'ExpressibleByExtendedGraphemeClusterLiteral' can not yet be represented in C++");
+
+class ExpressibleByFloatLiteral { } SWIFT_UNAVAILABLE_MSG("protocol 'ExpressibleByFloatLiteral' can not yet be represented in C++");
+
+class ExpressibleByIntegerLiteral { } SWIFT_UNAVAILABLE_MSG("protocol 'ExpressibleByIntegerLiteral' can not yet be represented in C++");
+
+class ExpressibleByNilLiteral { } SWIFT_UNAVAILABLE_MSG("protocol 'ExpressibleByNilLiteral' can not yet be represented in C++");
+
+class ExpressibleByStringInterpolation { } SWIFT_UNAVAILABLE_MSG("protocol 'ExpressibleByStringInterpolation' can not yet be represented in C++");
+
+class ExpressibleByStringLiteral { } SWIFT_UNAVAILABLE_MSG("protocol 'ExpressibleByStringLiteral' can not yet be represented in C++");
+
+class ExpressibleByUnicodeScalarLiteral { } SWIFT_UNAVAILABLE_MSG("protocol 'ExpressibleByUnicodeScalarLiteral' can not yet be represented in C++");
+
+// Unavailable in C++: Swift type alias 'ExtendedGraphemeClusterLiteralConvertible'.
+
+// Unavailable in C++: Swift type alias 'ExtendedGraphemeClusterType'.
+
+class FixedWidthInteger { } SWIFT_UNAVAILABLE_MSG("protocol 'FixedWidthInteger' can not yet be represented in C++");
+
+// Unavailable in C++: Swift type alias 'FlattenBidirectionalCollection'.
+
+// Unavailable in C++: Swift type alias 'FlattenBidirectionalCollectionIndex'.
+
+// Unavailable in C++: Swift type alias 'FlattenCollection'.
+
+// Unavailable in C++: Swift type alias 'FlattenCollectionIndex'.
+
+// Unavailable in C++: Swift type alias 'Float32'.
+
+// Unavailable in C++: Swift type alias 'Float64'.
+
+// Unavailable in C++: Swift type alias 'FloatLiteralConvertible'.
+
+// Unavailable in C++: Swift type alias 'FloatLiteralType'.
+
+class FloatingPoint { } SWIFT_UNAVAILABLE_MSG("protocol 'FloatingPoint' can not yet be represented in C++");
+
+class FloatingPointClassification { } SWIFT_UNAVAILABLE_MSG("enum 'FloatingPointClassification' is not yet exposed to C++");
+
+class FloatingPointRoundingRule { } SWIFT_UNAVAILABLE_MSG("enum 'FloatingPointRoundingRule' is not yet exposed to C++");
+
+class FloatingPointSign { } SWIFT_UNAVAILABLE_MSG("enum 'FloatingPointSign' is not yet exposed to C++");
+
+class Hashable { } SWIFT_UNAVAILABLE_MSG("protocol 'Hashable' can not yet be represented in C++");
+
+class Identifiable { } SWIFT_UNAVAILABLE_MSG("protocol 'Identifiable' can not yet be represented in C++");
+
+// Unavailable in C++: Swift type alias 'ImplicitlyUnwrappedOptional'.
+
+// Unavailable in C++: Swift type alias 'Indexable'.
+
+// Unavailable in C++: Swift type alias 'IndexableBase'.
+
+class InstantProtocol { } SWIFT_UNAVAILABLE_MSG("protocol 'InstantProtocol' can not yet be represented in C++");
+
+// Unavailable in C++: Swift type alias 'IntegerLiteralConvertible'.
+
+// Unavailable in C++: Swift type alias 'IntegerLiteralType'.
+
+// Unavailable in C++: Swift type alias 'IteratorOverOne'.
+
+class IteratorProtocol { } SWIFT_UNAVAILABLE_MSG("protocol 'IteratorProtocol' can not yet be represented in C++");
+
+// Unavailable in C++: Swift type alias 'JoinedIterator'.
+
+class KeyPath { } SWIFT_UNAVAILABLE_MSG("generic generic class 'KeyPath' can not yet be exposed to C++");
+
+class KeyedDecodingContainerProtocol { } SWIFT_UNAVAILABLE_MSG("protocol 'KeyedDecodingContainerProtocol' can not yet be represented in C++");
+
+class KeyedEncodingContainerProtocol { } SWIFT_UNAVAILABLE_MSG("protocol 'KeyedEncodingContainerProtocol' can not yet be represented in C++");
+
+// Unavailable in C++: Swift type alias 'LazyBidirectionalCollection'.
+
+// Unavailable in C++: Swift type alias 'LazyCollection'.
+
+class LazyCollectionProtocol { } SWIFT_UNAVAILABLE_MSG("protocol 'LazyCollectionProtocol' can not yet be represented in C++");
+
+// Unavailable in C++: Swift type alias 'LazyDropWhileBidirectionalCollection'.
+
+// Unavailable in C++: Swift type alias 'LazyDropWhileCollection'.
+
+// Unavailable in C++: Swift type alias 'LazyDropWhileIndex'.
+
+// Unavailable in C++: Swift type alias 'LazyDropWhileIterator'.
+
+// Unavailable in C++: Swift type alias 'LazyFilterBidirectionalCollection'.
+
+// Unavailable in C++: Swift type alias 'LazyFilterCollection'.
+
+// Unavailable in C++: Swift type alias 'LazyFilterIndex'.
+
+// Unavailable in C++: Swift type alias 'LazyFilterIterator'.
+
+// Unavailable in C++: Swift type alias 'LazyMapBidirectionalCollection'.
+
+// Unavailable in C++: Swift type alias 'LazyMapCollection'.
+
+// Unavailable in C++: Swift type alias 'LazyMapIterator'.
+
+// Unavailable in C++: Swift type alias 'LazyMapRandomAccessCollection'.
+
+// Unavailable in C++: Swift type alias 'LazyPrefixWhileBidirectionalCollection'.
+
+// Unavailable in C++: Swift type alias 'LazyPrefixWhileCollection'.
+
+// Unavailable in C++: Swift type alias 'LazyPrefixWhileIndex'.
+
+// Unavailable in C++: Swift type alias 'LazyPrefixWhileIterator'.
+
+// Unavailable in C++: Swift type alias 'LazyRandomAccessCollection'.
+
+class LazySequenceProtocol { } SWIFT_UNAVAILABLE_MSG("protocol 'LazySequenceProtocol' can not yet be represented in C++");
+
+class LosslessStringConvertible { } SWIFT_UNAVAILABLE_MSG("protocol 'LosslessStringConvertible' can not yet be represented in C++");
+
+class ManagedBuffer { } SWIFT_UNAVAILABLE_MSG("generic generic class 'ManagedBuffer' can not yet be exposed to C++");
+
+class MemoryLayout { } SWIFT_UNAVAILABLE_MSG("generic enum 'MemoryLayout' is not yet exposed to C++");
+
+class MirrorPath { } SWIFT_UNAVAILABLE_MSG("protocol 'MirrorPath' can not yet be represented in C++");
+
+// Unavailable in C++: Swift type alias 'MutableBidirectionalSlice'.
+
+class MutableCollection { } SWIFT_UNAVAILABLE_MSG("protocol 'MutableCollection' can not yet be represented in C++");
+
+// Unavailable in C++: Swift type alias 'MutableIndexable'.
+
+// Unavailable in C++: Swift type alias 'MutableRandomAccessSlice'.
+
+// Unavailable in C++: Swift type alias 'MutableRangeReplaceableBidirectionalSlice'.
+
+// Unavailable in C++: Swift type alias 'MutableRangeReplaceableRandomAccessSlice'.
+
+// Unavailable in C++: Swift type alias 'MutableRangeReplaceableSlice'.
+
+// Unavailable in C++: Swift type alias 'MutableSlice'.
+
+class Never { } SWIFT_UNAVAILABLE_MSG("enum 'Never' is not yet exposed to C++");
+
+// Unavailable in C++: Swift type alias 'NilLiteralConvertible'.
+
+class Numeric { } SWIFT_UNAVAILABLE_MSG("protocol 'Numeric' can not yet be represented in C++");
+
+class OptionSet { } SWIFT_UNAVAILABLE_MSG("protocol 'OptionSet' can not yet be represented in C++");
+
+class PartialKeyPath { } SWIFT_UNAVAILABLE_MSG("generic generic class 'PartialKeyPath' can not yet be exposed to C++");
+
+// Unavailable in C++: Swift type alias 'PlaygroundQuickLook'.
+
+class RandomAccessCollection { } SWIFT_UNAVAILABLE_MSG("protocol 'RandomAccessCollection' can not yet be represented in C++");
+
+// Unavailable in C++: Swift type alias 'RandomAccessIndexable'.
+
+// Unavailable in C++: Swift type alias 'RandomAccessSlice'.
+
+class RandomNumberGenerator { } SWIFT_UNAVAILABLE_MSG("protocol 'RandomNumberGenerator' can not yet be represented in C++");
+
+class RangeExpression { } SWIFT_UNAVAILABLE_MSG("protocol 'RangeExpression' can not yet be represented in C++");
+
+// Unavailable in C++: Swift type alias 'RangeReplaceableBidirectionalSlice'.
+
+class RangeReplaceableCollection { } SWIFT_UNAVAILABLE_MSG("protocol 'RangeReplaceableCollection' can not yet be represented in C++");
+
+// Unavailable in C++: Swift type alias 'RangeReplaceableIndexable'.
+
+// Unavailable in C++: Swift type alias 'RangeReplaceableRandomAccessSlice'.
+
+// Unavailable in C++: Swift type alias 'RangeReplaceableSlice'.
+
+class RawRepresentable { } SWIFT_UNAVAILABLE_MSG("protocol 'RawRepresentable' can not yet be represented in C++");
+
+class ReferenceWritableKeyPath { } SWIFT_UNAVAILABLE_MSG("generic generic class 'ReferenceWritableKeyPath' can not yet be exposed to C++");
+
+class Result { } SWIFT_UNAVAILABLE_MSG("generic requirements for generic enum 'Result' can not yet be represented in C++");
+
+// Unavailable in C++: Swift type alias 'ReversedIndex'.
+
+// Unavailable in C++: Swift type alias 'ReversedRandomAccessCollection'.
+
+class SIMD { } SWIFT_UNAVAILABLE_MSG("protocol 'SIMD' can not yet be represented in C++");
+
+class SIMDScalar { } SWIFT_UNAVAILABLE_MSG("protocol 'SIMDScalar' can not yet be represented in C++");
+
+class SIMDStorage { } SWIFT_UNAVAILABLE_MSG("protocol 'SIMDStorage' can not yet be represented in C++");
+
+class Sendable { } SWIFT_UNAVAILABLE_MSG("protocol 'Sendable' can not yet be represented in C++");
+
+class Sequence { } SWIFT_UNAVAILABLE_MSG("protocol 'Sequence' can not yet be represented in C++");
+
+class SetAlgebra { } SWIFT_UNAVAILABLE_MSG("protocol 'SetAlgebra' can not yet be represented in C++");
+
+// Unavailable in C++: Swift type alias 'SetIndex'.
+
+// Unavailable in C++: Swift type alias 'SetIterator'.
+
+class SignedInteger { } SWIFT_UNAVAILABLE_MSG("protocol 'SignedInteger' can not yet be represented in C++");
+
+class SignedNumeric { } SWIFT_UNAVAILABLE_MSG("protocol 'SignedNumeric' can not yet be represented in C++");
+
+class SingleValueDecodingContainer { } SWIFT_UNAVAILABLE_MSG("protocol 'SingleValueDecodingContainer' can not yet be represented in C++");
+
+class SingleValueEncodingContainer { } SWIFT_UNAVAILABLE_MSG("protocol 'SingleValueEncodingContainer' can not yet be represented in C++");
+
+class Strideable { } SWIFT_UNAVAILABLE_MSG("protocol 'Strideable' can not yet be represented in C++");
+
+// Unavailable in C++: Swift type alias 'StringInterpolationConvertible'.
+
+class StringInterpolationProtocol { } SWIFT_UNAVAILABLE_MSG("protocol 'StringInterpolationProtocol' can not yet be represented in C++");
+
+// Unavailable in C++: Swift type alias 'StringLiteralConvertible'.
+
+// Unavailable in C++: Swift type alias 'StringLiteralType'.
+
+class StringProtocol { } SWIFT_UNAVAILABLE_MSG("protocol 'StringProtocol' can not yet be represented in C++");
+
+class TextOutputStream { } SWIFT_UNAVAILABLE_MSG("protocol 'TextOutputStream' can not yet be represented in C++");
+
+class TextOutputStreamable { } SWIFT_UNAVAILABLE_MSG("protocol 'TextOutputStreamable' can not yet be represented in C++");
+
+// Unavailable in C++: Swift type alias 'UTF16'.
+
+// Unavailable in C++: Swift type alias 'UTF32'.
+
+// Unavailable in C++: Swift type alias 'UTF8'.
+
+// Unavailable in C++: Swift type alias 'UnboundedRange'.
+
+class UnboundedRange_ { } SWIFT_UNAVAILABLE_MSG("enum 'UnboundedRange_' is not yet exposed to C++");
+
+// Unavailable in C++: Swift type alias 'UnfoldFirstSequence'.
+
+class Unicode { } SWIFT_UNAVAILABLE_MSG("enum 'Unicode' is not yet exposed to C++");
+
+class UnicodeCodec { } SWIFT_UNAVAILABLE_MSG("protocol 'UnicodeCodec' can not yet be represented in C++");
+
+class UnicodeDecodingResult { } SWIFT_UNAVAILABLE_MSG("enum 'UnicodeDecodingResult' is not yet exposed to C++");
+
+// Unavailable in C++: Swift type alias 'UnicodeScalar'.
+
+// Unavailable in C++: Swift type alias 'UnicodeScalarLiteralConvertible'.
+
+// Unavailable in C++: Swift type alias 'UnicodeScalarType'.
+
+class UnkeyedDecodingContainer { } SWIFT_UNAVAILABLE_MSG("protocol 'UnkeyedDecodingContainer' can not yet be represented in C++");
+
+class UnkeyedEncodingContainer { } SWIFT_UNAVAILABLE_MSG("protocol 'UnkeyedEncodingContainer' can not yet be represented in C++");
+
+// Unavailable in C++: Swift type alias 'UnsafeBufferPointerIterator'.
+
+// Unavailable in C++: Swift type alias 'UnsafeConcurrentValue'.
+
+// Unavailable in C++: Swift type alias 'UnsafeMutableRawBufferPointerIterator'.
+
+// Unavailable in C++: Swift type alias 'UnsafeRawBufferPointerIterator'.
+
+class UnsafeSendable { } SWIFT_UNAVAILABLE_MSG("protocol 'UnsafeSendable' can not yet be represented in C++");
+
+class UnsignedInteger { } SWIFT_UNAVAILABLE_MSG("protocol 'UnsignedInteger' can not yet be represented in C++");
+
+// Unavailable in C++: Swift type alias 'Void'.
+
+class WritableKeyPath { } SWIFT_UNAVAILABLE_MSG("generic generic class 'WritableKeyPath' can not yet be exposed to C++");
+
+// Unavailable in C++: Swift type alias 'Zip2Iterator'.
+
+// Unavailable in C++: Swift global function 'abs(_:)'.
+
+// Unavailable in C++: Swift global function 'all(_:)'.
+
+// Unavailable in C++: Swift global function 'any(_:)'.
+
+// Unavailable in C++: Swift global function 'assert(_:_:file:line:)'.
+
+// Unavailable in C++: Swift global function 'assertionFailure(_:file:line:)'.
+
+// Unavailable in C++: Swift macro 'column()'.
+
+// Unavailable in C++: Swift global function 'debugPrint(_:separator:terminator:)'.
+
+// Unavailable in C++: Swift global function 'debugPrint(_:separator:terminator:to:)'.
+
+// Unavailable in C++: Swift macro 'dsohandle()'.
+
+// Unavailable in C++: Swift global function 'dump(_:name:indent:maxDepth:maxItems:)'.
+
+// Unavailable in C++: Swift global function 'dump(_:to:name:indent:maxDepth:maxItems:)'.
+
+// Unavailable in C++: Swift macro 'error(_:)'.
+
+// Unavailable in C++: Swift macro 'externalMacro(module:type:)'.
+
+// Unavailable in C++: Swift global function 'fatalError(_:file:line:)'.
+
+// Unavailable in C++: Swift macro 'file()'.
+
+// Unavailable in C++: Swift macro 'fileID()'.
+
+// Unavailable in C++: Swift macro 'filePath()'.
+
+// Unavailable in C++: Swift macro 'function()'.
+
+// Unavailable in C++: Swift global function 'getVaList(_:)'.
+
+// Unavailable in C++: Swift global function 'isKnownUniquelyReferenced(_:)'.
+
+// Unavailable in C++: Swift global function 'isKnownUniquelyReferenced(_:)'.
+
+// Unavailable in C++: Swift macro 'line()'.
+
+// Unavailable in C++: Swift global function 'max(_:_:)'.
+
+// Unavailable in C++: Swift global function 'max(_:_:_:_:)'.
+
+// Unavailable in C++: Swift global function 'min(_:_:)'.
+
+// Unavailable in C++: Swift global function 'min(_:_:_:_:)'.
+
+// Unavailable in C++: Swift global function 'numericCast(_:)'.
+
+// Unavailable in C++: Swift global function 'pointwiseMax(_:_:)'.
+
+// Unavailable in C++: Swift global function 'pointwiseMax(_:_:)'.
+
+// Unavailable in C++: Swift global function 'pointwiseMin(_:_:)'.
+
+// Unavailable in C++: Swift global function 'pointwiseMin(_:_:)'.
+
+// Unavailable in C++: Swift global function 'precondition(_:_:file:line:)'.
+
+// Unavailable in C++: Swift global function 'preconditionFailure(_:file:line:)'.
+
+// Unavailable in C++: Swift global function 'print(_:separator:terminator:)'.
+
+// Unavailable in C++: Swift global function 'print(_:separator:terminator:to:)'.
+
+// Unavailable in C++: Swift global function 'readLine(strippingNewline:)'.
+
+// Unavailable in C++: Swift global function 'repeatElement(_:count:)'.
+
+// Unavailable in C++: Swift global function 'sequence(first:next:)'.
+
+// Unavailable in C++: Swift global function 'sequence(state:next:)'.
+
+// Unavailable in C++: Swift global function 'stride(from:through:by:)'.
+
+// Unavailable in C++: Swift global function 'stride(from:to:by:)'.
+
+// Unavailable in C++: Swift global function 'swap(_:_:)'.
+
+// Unavailable in C++: Swift global function 'transcode(_:_:_:_:stopOnError:)'.
+
+// Unavailable in C++: Swift global function 'transcode(_:from:to:stoppingOnError:into:)'.
+
+// Unavailable in C++: Swift global function 'type(of:)'.
+
+// Unavailable in C++: Swift global function 'unsafeBitCast(_:to:)'.
+
+// Unavailable in C++: Swift global function 'unsafeDowncast(_:to:)'.
+
+// Unavailable in C++: Swift macro 'warning(_:)'.
+
+// Unavailable in C++: Swift global function 'withExtendedLifetime(_:_:)'.
+
+// Unavailable in C++: Swift global function 'withExtendedLifetime(_:_:)'.
+
+// Unavailable in C++: Swift global function 'withUnsafeBytes(of:_:)'.
+
+// Unavailable in C++: Swift global function 'withUnsafeBytes(of:_:)'.
+
+// Unavailable in C++: Swift global function 'withUnsafeMutableBytes(of:_:)'.
+
+// Unavailable in C++: Swift global function 'withUnsafeMutablePointer(to:_:)'.
+
+// Unavailable in C++: Swift global function 'withUnsafePointer(to:_:)'.
+
+// Unavailable in C++: Swift global function 'withUnsafePointer(to:_:)'.
+
+// Unavailable in C++: Swift global function 'withUnsafeTemporaryAllocation(byteCount:alignment:_:)'.
+
+// Unavailable in C++: Swift global function 'withUnsafeTemporaryAllocation(of:capacity:_:)'.
+
+// Unavailable in C++: Swift global function 'withVaList(_:_:)'.
+
+// Unavailable in C++: Swift global function 'withoutActuallyEscaping(_:do:)'.
+
+// Unavailable in C++: Swift global function 'zip(_:_:)'.
+
+// Unavailable in C++: Swift operator function '~=(_:_:)'.
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wnon-modular-include-in-framework-module"
+// Look for the C++ interop support header relative to clang's resource dir:
+//  '<toolchain>/usr/lib/clang/<version>/include/../../../swift/swiftToCxx'.
+#if __has_include(<../../../swift/swiftToCxx/_SwiftStdlibCxxOverlay.h>)
+#include <../../../swift/swiftToCxx/_SwiftStdlibCxxOverlay.h>
+#elif __has_include(<../../../../../lib/swift/swiftToCxx/_SwiftStdlibCxxOverlay.h>)
+//  '<toolchain>/usr/local/lib/clang/<version>/include/../../../../../lib/swift/swiftToCxx'.
+#include <../../../../../lib/swift/swiftToCxx/_SwiftStdlibCxxOverlay.h>
+// Alternatively, allow user to find the header using additional include path into '<toolchain>/lib/swift'.
+#elif __has_include(<swiftToCxx/_SwiftStdlibCxxOverlay.h>)
+#include <swiftToCxx/_SwiftStdlibCxxOverlay.h>
+#endif
+#pragma clang diagnostic pop
+
+} // namespace swift
+
+#pragma clang diagnostic pop
+#undef SWIFT_SYMBOL
+#endif // SWIFT_SWIFT_H
+#ifdef SWIFT_SYMBOL
+#undef SWIFT_SYMBOL
+#endif
+#define SWIFT_SYMBOL(usrValue) SWIFT_SYMBOL_MODULE_USR("SCompressLib", usrValue)
+#ifndef SWIFT_PRINTED_CORE
+#define SWIFT_PRINTED_CORE
+namespace swift SWIFT_PRIVATE_ATTR {
+
+namespace _impl {
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+// Swift type metadata response type.
+struct MetadataResponseTy {
+  void * _Null_unspecified _0;
+  uint64_t _1;
+};
+// Swift type metadata request type.
+typedef uint64_t MetadataRequestTy;
+
+#if __cplusplus > 201402L
+#  define SWIFT_NOEXCEPT_FUNCTION_PTR noexcept
+#else
+#  define SWIFT_NOEXCEPT_FUNCTION_PTR
+#endif
+
+using ValueWitnessInitializeBufferWithCopyOfBufferTy = void * _Nonnull(* __ptrauth_swift_value_witness_function_pointer(55882))(void * _Nonnull, void * _Nonnull, void * _Nonnull) SWIFT_NOEXCEPT_FUNCTION_PTR;
+using ValueWitnessDestroyTy = void(* __ptrauth_swift_value_witness_function_pointer(1272))(void * _Nonnull, void * _Nonnull) SWIFT_NOEXCEPT_FUNCTION_PTR;
+using ValueWitnessInitializeWithCopyTy = void * _Nonnull(* __ptrauth_swift_value_witness_function_pointer(58298))(void * _Nonnull, void * _Nonnull, void * _Nonnull) SWIFT_NOEXCEPT_FUNCTION_PTR;
+using ValueWitnessAssignWithCopyTy = void * _Nonnull(* __ptrauth_swift_value_witness_function_pointer(34641))(void * _Nonnull, void * _Nonnull, void * _Nonnull) SWIFT_NOEXCEPT_FUNCTION_PTR;
+using ValueWitnessInitializeWithTakeTy = void * _Nonnull(* __ptrauth_swift_value_witness_function_pointer(18648))(void * _Nonnull, void * _Nonnull, void * _Nonnull) SWIFT_NOEXCEPT_FUNCTION_PTR;
+using ValueWitnessAssignWithTakeTy = void * _Nonnull(* __ptrauth_swift_value_witness_function_pointer(61402))(void * _Nonnull, void * _Nonnull, void * _Nonnull) SWIFT_NOEXCEPT_FUNCTION_PTR;
+using ValueWitnessGetEnumTagSinglePayloadTy = unsigned(* __ptrauth_swift_value_witness_function_pointer(24816))(const void * _Nonnull, unsigned, void * _Nonnull) SWIFT_NOEXCEPT_FUNCTION_PTR;
+using ValueWitnessStoreEnumTagSinglePayloadTy = void(* __ptrauth_swift_value_witness_function_pointer(41169))(void * _Nonnull, unsigned, unsigned, void * _Nonnull) SWIFT_NOEXCEPT_FUNCTION_PTR;
+
+struct ValueWitnessTable {
+  ValueWitnessInitializeBufferWithCopyOfBufferTy _Nonnull initializeBufferWithCopyOfBuffer;
+  ValueWitnessDestroyTy _Nonnull destroy;
+  ValueWitnessInitializeWithCopyTy _Nonnull initializeWithCopy;
+  ValueWitnessAssignWithCopyTy _Nonnull assignWithCopy;
+  ValueWitnessInitializeWithTakeTy _Nonnull initializeWithTake;
+  ValueWitnessAssignWithTakeTy _Nonnull assignWithTake;
+  ValueWitnessGetEnumTagSinglePayloadTy _Nonnull getEnumTagSinglePayload;
+  ValueWitnessStoreEnumTagSinglePayloadTy _Nonnull storeEnumTagSinglePayload;
+  size_t size;
+  size_t stride;
+  unsigned flags;
+  unsigned extraInhabitantCount;
+
+  constexpr size_t getAlignment() const { return (flags & 255) + 1; }
+};
+
+using EnumValueWitnessGetEnumTagTy = unsigned(* __ptrauth_swift_value_witness_function_pointer(41909))(const void * _Nonnull, void * _Nonnull) SWIFT_NOEXCEPT_FUNCTION_PTR;
+using EnumValueWitnessDestructiveProjectEnumDataTy = void(* __ptrauth_swift_value_witness_function_pointer(1053))(void * _Nonnull, void * _Nonnull) SWIFT_NOEXCEPT_FUNCTION_PTR;
+using EnumValueWitnessDestructiveInjectEnumTagTy = void(* __ptrauth_swift_value_witness_function_pointer(45796))(void * _Nonnull, unsigned, void * _Nonnull) SWIFT_NOEXCEPT_FUNCTION_PTR;
+
+struct EnumValueWitnessTable {
+  ValueWitnessTable vwTable;
+  EnumValueWitnessGetEnumTagTy _Nonnull getEnumTag;
+  EnumValueWitnessDestructiveProjectEnumDataTy _Nonnull destructiveProjectEnumData;
+  EnumValueWitnessDestructiveInjectEnumTagTy _Nonnull destructiveInjectEnumTag;
+};
+
+#undef SWIFT_NOEXCEPT_FUNCTION_PTR
+
+
+// type metadata address for Bool.
+SWIFT_IMPORT_STDLIB_SYMBOL extern size_t $sSbN;
+// type metadata address for Int8.
+SWIFT_IMPORT_STDLIB_SYMBOL extern size_t $ss4Int8VN;
+// type metadata address for UInt8.
+SWIFT_IMPORT_STDLIB_SYMBOL extern size_t $ss5UInt8VN;
+// type metadata address for Int16.
+SWIFT_IMPORT_STDLIB_SYMBOL extern size_t $ss5Int16VN;
+// type metadata address for UInt16.
+SWIFT_IMPORT_STDLIB_SYMBOL extern size_t $ss6UInt16VN;
+// type metadata address for Int32.
+SWIFT_IMPORT_STDLIB_SYMBOL extern size_t $ss5Int32VN;
+// type metadata address for UInt32.
+SWIFT_IMPORT_STDLIB_SYMBOL extern size_t $ss6UInt32VN;
+// type metadata address for Int64.
+SWIFT_IMPORT_STDLIB_SYMBOL extern size_t $ss5Int64VN;
+// type metadata address for UInt64.
+SWIFT_IMPORT_STDLIB_SYMBOL extern size_t $ss6UInt64VN;
+// type metadata address for Float.
+SWIFT_IMPORT_STDLIB_SYMBOL extern size_t $sSfN;
+// type metadata address for Double.
+SWIFT_IMPORT_STDLIB_SYMBOL extern size_t $sSdN;
+// type metadata address for OpaquePointer.
+SWIFT_IMPORT_STDLIB_SYMBOL extern size_t $ss13OpaquePointerVN;
+// type metadata address for Int.
+SWIFT_IMPORT_STDLIB_SYMBOL extern size_t $sSiN;
+// type metadata address for UInt.
+SWIFT_IMPORT_STDLIB_SYMBOL extern size_t $sSuN;
+
+#ifdef __cplusplus
+}
+#endif
+
+
+} // namespace _impl
+
+
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wc++17-extensions"
+template<>
+static inline const constexpr bool isUsableInGenericContext<bool> = true;
+
+template<>
+struct TypeMetadataTrait<bool> {
+  static SWIFT_INLINE_THUNK void * _Nonnull getTypeMetadata() {
+    return &_impl::$sSbN;
+  }
+};
+
+template<>
+static inline const constexpr bool isUsableInGenericContext<int8_t> = true;
+
+template<>
+struct TypeMetadataTrait<int8_t> {
+  static SWIFT_INLINE_THUNK void * _Nonnull getTypeMetadata() {
+    return &_impl::$ss4Int8VN;
+  }
+};
+
+template<>
+static inline const constexpr bool isUsableInGenericContext<uint8_t> = true;
+
+template<>
+struct TypeMetadataTrait<uint8_t> {
+  static SWIFT_INLINE_THUNK void * _Nonnull getTypeMetadata() {
+    return &_impl::$ss5UInt8VN;
+  }
+};
+
+template<>
+static inline const constexpr bool isUsableInGenericContext<int16_t> = true;
+
+template<>
+struct TypeMetadataTrait<int16_t> {
+  static SWIFT_INLINE_THUNK void * _Nonnull getTypeMetadata() {
+    return &_impl::$ss5Int16VN;
+  }
+};
+
+template<>
+static inline const constexpr bool isUsableInGenericContext<uint16_t> = true;
+
+template<>
+struct TypeMetadataTrait<uint16_t> {
+  static SWIFT_INLINE_THUNK void * _Nonnull getTypeMetadata() {
+    return &_impl::$ss6UInt16VN;
+  }
+};
+
+template<>
+static inline const constexpr bool isUsableInGenericContext<int32_t> = true;
+
+template<>
+struct TypeMetadataTrait<int32_t> {
+  static SWIFT_INLINE_THUNK void * _Nonnull getTypeMetadata() {
+    return &_impl::$ss5Int32VN;
+  }
+};
+
+template<>
+static inline const constexpr bool isUsableInGenericContext<uint32_t> = true;
+
+template<>
+struct TypeMetadataTrait<uint32_t> {
+  static SWIFT_INLINE_THUNK void * _Nonnull getTypeMetadata() {
+    return &_impl::$ss6UInt32VN;
+  }
+};
+
+template<>
+static inline const constexpr bool isUsableInGenericContext<int64_t> = true;
+
+template<>
+struct TypeMetadataTrait<int64_t> {
+  static SWIFT_INLINE_THUNK void * _Nonnull getTypeMetadata() {
+    return &_impl::$ss5Int64VN;
+  }
+};
+
+template<>
+static inline const constexpr bool isUsableInGenericContext<uint64_t> = true;
+
+template<>
+struct TypeMetadataTrait<uint64_t> {
+  static SWIFT_INLINE_THUNK void * _Nonnull getTypeMetadata() {
+    return &_impl::$ss6UInt64VN;
+  }
+};
+
+template<>
+static inline const constexpr bool isUsableInGenericContext<float> = true;
+
+template<>
+struct TypeMetadataTrait<float> {
+  static SWIFT_INLINE_THUNK void * _Nonnull getTypeMetadata() {
+    return &_impl::$sSfN;
+  }
+};
+
+template<>
+static inline const constexpr bool isUsableInGenericContext<double> = true;
+
+template<>
+struct TypeMetadataTrait<double> {
+  static SWIFT_INLINE_THUNK void * _Nonnull getTypeMetadata() {
+    return &_impl::$sSdN;
+  }
+};
+
+template<>
+static inline const constexpr bool isUsableInGenericContext<void *> = true;
+
+template<>
+struct TypeMetadataTrait<void *> {
+  static SWIFT_INLINE_THUNK void * _Nonnull getTypeMetadata() {
+    return &_impl::$ss13OpaquePointerVN;
+  }
+};
+
+template<>
+static inline const constexpr bool isUsableInGenericContext<swift::Int> = true;
+
+template<>
+struct TypeMetadataTrait<swift::Int> {
+  static SWIFT_INLINE_THUNK void * _Nonnull getTypeMetadata() {
+    return &_impl::$sSiN;
+  }
+};
+
+template<>
+static inline const constexpr bool isUsableInGenericContext<swift::UInt> = true;
+
+template<>
+struct TypeMetadataTrait<swift::UInt> {
+  static SWIFT_INLINE_THUNK void * _Nonnull getTypeMetadata() {
+    return &_impl::$sSuN;
+  }
+};
+
+#pragma clang diagnostic pop
+
+} // namespace swift
+
+#endif
+#endif
+#ifdef __cplusplus
+namespace SCompressLib SWIFT_PRIVATE_ATTR SWIFT_SYMBOL_MODULE("SCompressLib") {
+namespace _impl {
+extern "C" {
+#endif
+
+SWIFT_EXTERN void $s12SCompressLib0A5ParamVACycfC(SWIFT_INDIRECT_RESULT void * _Nonnull) SWIFT_NOEXCEPT SWIFT_CALL; // init()
+SWIFT_EXTERN int32_t $s12SCompressLib0A5ParamV2ids5Int32Vvg(SWIFT_CONTEXT const void * _Nonnull _self) SWIFT_NOEXCEPT SWIFT_CALL; // _
+SWIFT_EXTERN void $s12SCompressLib0A5ParamV2ids5Int32Vvs(int32_t value, SWIFT_CONTEXT void * _Nonnull _self) SWIFT_NOEXCEPT SWIFT_CALL; // _
+SWIFT_EXTERN int32_t $s12SCompressLib0A5ParamV5widths5Int32Vvg(SWIFT_CONTEXT const void * _Nonnull _self) SWIFT_NOEXCEPT SWIFT_CALL; // _
+SWIFT_EXTERN void $s12SCompressLib0A5ParamV5widths5Int32Vvs(int32_t value, SWIFT_CONTEXT void * _Nonnull _self) SWIFT_NOEXCEPT SWIFT_CALL; // _
+SWIFT_EXTERN int32_t $s12SCompressLib0A5ParamV6heights5Int32Vvg(SWIFT_CONTEXT const void * _Nonnull _self) SWIFT_NOEXCEPT SWIFT_CALL; // _
+SWIFT_EXTERN void $s12SCompressLib0A5ParamV6heights5Int32Vvs(int32_t value, SWIFT_CONTEXT void * _Nonnull _self) SWIFT_NOEXCEPT SWIFT_CALL; // _
+SWIFT_EXTERN int32_t $s12SCompressLib0A5ParamV6strides5Int32Vvg(SWIFT_CONTEXT const void * _Nonnull _self) SWIFT_NOEXCEPT SWIFT_CALL; // _
+SWIFT_EXTERN void $s12SCompressLib0A5ParamV6strides5Int32Vvs(int32_t value, SWIFT_CONTEXT void * _Nonnull _self) SWIFT_NOEXCEPT SWIFT_CALL; // _
+SWIFT_EXTERN int32_t $s12SCompressLib0A5ParamV11pixelFormats5Int32Vvg(SWIFT_CONTEXT const void * _Nonnull _self) SWIFT_NOEXCEPT SWIFT_CALL; // _
+SWIFT_EXTERN void $s12SCompressLib0A5ParamV11pixelFormats5Int32Vvs(int32_t value, SWIFT_CONTEXT void * _Nonnull _self) SWIFT_NOEXCEPT SWIFT_CALL; // _
+SWIFT_EXTERN int32_t $s12SCompressLib0A5ParamV9tileWidths5Int32Vvg(SWIFT_CONTEXT const void * _Nonnull _self) SWIFT_NOEXCEPT SWIFT_CALL; // _
+SWIFT_EXTERN void $s12SCompressLib0A5ParamV9tileWidths5Int32Vvs(int32_t value, SWIFT_CONTEXT void * _Nonnull _self) SWIFT_NOEXCEPT SWIFT_CALL; // _
+SWIFT_EXTERN int32_t $s12SCompressLib0A5ParamV9modeAlphas5Int32Vvg(SWIFT_CONTEXT const void * _Nonnull _self) SWIFT_NOEXCEPT SWIFT_CALL; // _
+SWIFT_EXTERN void $s12SCompressLib0A5ParamV9modeAlphas5Int32Vvs(int32_t value, SWIFT_CONTEXT void * _Nonnull _self) SWIFT_NOEXCEPT SWIFT_CALL; // _
+SWIFT_EXTERN int32_t $s12SCompressLib0A5ParamV7modeRgbs5Int32Vvg(SWIFT_CONTEXT const void * _Nonnull _self) SWIFT_NOEXCEPT SWIFT_CALL; // _
+SWIFT_EXTERN void $s12SCompressLib0A5ParamV7modeRgbs5Int32Vvs(int32_t value, SWIFT_CONTEXT void * _Nonnull _self) SWIFT_NOEXCEPT SWIFT_CALL; // _
+SWIFT_EXTERN int32_t $s12SCompressLib0A5ParamV7cmpModes5Int32Vvg(SWIFT_CONTEXT const void * _Nonnull _self) SWIFT_NOEXCEPT SWIFT_CALL; // _
+SWIFT_EXTERN void $s12SCompressLib0A5ParamV7cmpModes5Int32Vvs(int32_t value, SWIFT_CONTEXT void * _Nonnull _self) SWIFT_NOEXCEPT SWIFT_CALL; // _
+// Stub struct to be used to pass/return values to/from Swift functions.
+struct swift_interop_returnStub_SCompressLib_void_ptr_0_8 {
+  void * _Nullable _1;
+};
+
+static SWIFT_C_INLINE_THUNK void swift_interop_returnDirect_SCompressLib_void_ptr_0_8(char * _Nonnull result, struct swift_interop_returnStub_SCompressLib_void_ptr_0_8 value) {
+  memcpy(result + 0, &value._1, 8);
+}
+
+SWIFT_EXTERN struct swift_interop_returnStub_SCompressLib_void_ptr_0_8 $s12SCompressLib0A5ParamV10redChannelSays5UInt8VGvg(SWIFT_CONTEXT const void * _Nonnull _self) SWIFT_NOEXCEPT SWIFT_CALL; // _
+// Stub struct to be used to pass/return values to/from Swift functions.
+struct swift_interop_passStub_SCompressLib_void_ptr_0_8 {
+  void * _Nullable _1;
+};
+
+static SWIFT_C_INLINE_THUNK struct swift_interop_passStub_SCompressLib_void_ptr_0_8 swift_interop_passDirect_SCompressLib_void_ptr_0_8(const char * _Nonnull value) {
+  struct swift_interop_passStub_SCompressLib_void_ptr_0_8 result;
+  memcpy(&result._1, value + 0, 8);
+  return result;
+}
+
+SWIFT_EXTERN void $s12SCompressLib0A5ParamV10redChannelSays5UInt8VGvs(struct swift_interop_passStub_SCompressLib_void_ptr_0_8 value, SWIFT_CONTEXT void * _Nonnull _self) SWIFT_NOEXCEPT SWIFT_CALL; // _
+SWIFT_EXTERN struct swift_interop_returnStub_SCompressLib_void_ptr_0_8 $s12SCompressLib0A5ParamV12greenChannelSays5UInt8VGvg(SWIFT_CONTEXT const void * _Nonnull _self) SWIFT_NOEXCEPT SWIFT_CALL; // _
+SWIFT_EXTERN void $s12SCompressLib0A5ParamV12greenChannelSays5UInt8VGvs(struct swift_interop_passStub_SCompressLib_void_ptr_0_8 value, SWIFT_CONTEXT void * _Nonnull _self) SWIFT_NOEXCEPT SWIFT_CALL; // _
+SWIFT_EXTERN struct swift_interop_returnStub_SCompressLib_void_ptr_0_8 $s12SCompressLib0A5ParamV11blueChannelSays5UInt8VGvg(SWIFT_CONTEXT const void * _Nonnull _self) SWIFT_NOEXCEPT SWIFT_CALL; // _
+SWIFT_EXTERN void $s12SCompressLib0A5ParamV11blueChannelSays5UInt8VGvs(struct swift_interop_passStub_SCompressLib_void_ptr_0_8 value, SWIFT_CONTEXT void * _Nonnull _self) SWIFT_NOEXCEPT SWIFT_CALL; // _
+SWIFT_EXTERN struct swift_interop_returnStub_SCompressLib_void_ptr_0_8 $s12SCompressLib0A5ParamV12alphaChannelSays5UInt8VGvg(SWIFT_CONTEXT const void * _Nonnull _self) SWIFT_NOEXCEPT SWIFT_CALL; // _
+SWIFT_EXTERN void $s12SCompressLib0A5ParamV12alphaChannelSays5UInt8VGvs(struct swift_interop_passStub_SCompressLib_void_ptr_0_8 value, SWIFT_CONTEXT void * _Nonnull _self) SWIFT_NOEXCEPT SWIFT_CALL; // _
+SWIFT_EXTERN void $s12SCompressLib0A4Rets2id5state9tileWidth7retDataySi_S2iSays5UInt8VGtF(ptrdiff_t id, ptrdiff_t state, ptrdiff_t tileWidth, struct swift_interop_passStub_SCompressLib_void_ptr_0_8 retData) SWIFT_NOEXCEPT SWIFT_CALL; // SCompressRets(id:state:tileWidth:retData:)
+SWIFT_EXTERN void $s12SCompressLib14SDecompressRet2id5state5width6height6format3red5green4blue5alphaySi_SiS3uSays5UInt8VGA3NtF(ptrdiff_t id, ptrdiff_t state, size_t width, size_t height, size_t format, struct swift_interop_passStub_SCompressLib_void_ptr_0_8 red, struct swift_interop_passStub_SCompressLib_void_ptr_0_8 green, struct swift_interop_passStub_SCompressLib_void_ptr_0_8 blue, struct swift_interop_passStub_SCompressLib_void_ptr_0_8 alpha) SWIFT_NOEXCEPT SWIFT_CALL; // SDecompressRet(id:state:width:height:format:red:green:blue:alpha:)
+SWIFT_EXTERN void $s12SCompressLib15SDecompressRetsVACycfC(SWIFT_INDIRECT_RESULT void * _Nonnull) SWIFT_NOEXCEPT SWIFT_CALL; // init()
+SWIFT_EXTERN int32_t $s12SCompressLib15SDecompressRetsV5widths5Int32Vvg(SWIFT_CONTEXT const void * _Nonnull _self) SWIFT_NOEXCEPT SWIFT_CALL; // _
+SWIFT_EXTERN void $s12SCompressLib15SDecompressRetsV5widths5Int32Vvs(int32_t value, SWIFT_CONTEXT void * _Nonnull _self) SWIFT_NOEXCEPT SWIFT_CALL; // _
+SWIFT_EXTERN int32_t $s12SCompressLib15SDecompressRetsV6heights5Int32Vvg(SWIFT_CONTEXT const void * _Nonnull _self) SWIFT_NOEXCEPT SWIFT_CALL; // _
+SWIFT_EXTERN void $s12SCompressLib15SDecompressRetsV6heights5Int32Vvs(int32_t value, SWIFT_CONTEXT void * _Nonnull _self) SWIFT_NOEXCEPT SWIFT_CALL; // _
+SWIFT_EXTERN int32_t $s12SCompressLib15SDecompressRetsV6formats5Int32Vvg(SWIFT_CONTEXT const void * _Nonnull _self) SWIFT_NOEXCEPT SWIFT_CALL; // _
+SWIFT_EXTERN void $s12SCompressLib15SDecompressRetsV6formats5Int32Vvs(int32_t value, SWIFT_CONTEXT void * _Nonnull _self) SWIFT_NOEXCEPT SWIFT_CALL; // _
+SWIFT_EXTERN struct swift_interop_returnStub_SCompressLib_void_ptr_0_8 $s12SCompressLib15SDecompressRetsV10redChannelSays5UInt8VGvg(SWIFT_CONTEXT const void * _Nonnull _self) SWIFT_NOEXCEPT SWIFT_CALL; // _
+SWIFT_EXTERN void $s12SCompressLib15SDecompressRetsV10redChannelSays5UInt8VGvs(struct swift_interop_passStub_SCompressLib_void_ptr_0_8 value, SWIFT_CONTEXT void * _Nonnull _self) SWIFT_NOEXCEPT SWIFT_CALL; // _
+SWIFT_EXTERN struct swift_interop_returnStub_SCompressLib_void_ptr_0_8 $s12SCompressLib15SDecompressRetsV12greenChannelSays5UInt8VGvg(SWIFT_CONTEXT const void * _Nonnull _self) SWIFT_NOEXCEPT SWIFT_CALL; // _
+SWIFT_EXTERN void $s12SCompressLib15SDecompressRetsV12greenChannelSays5UInt8VGvs(struct swift_interop_passStub_SCompressLib_void_ptr_0_8 value, SWIFT_CONTEXT void * _Nonnull _self) SWIFT_NOEXCEPT SWIFT_CALL; // _
+SWIFT_EXTERN struct swift_interop_returnStub_SCompressLib_void_ptr_0_8 $s12SCompressLib15SDecompressRetsV11blueChannelSays5UInt8VGvg(SWIFT_CONTEXT const void * _Nonnull _self) SWIFT_NOEXCEPT SWIFT_CALL; // _
+SWIFT_EXTERN void $s12SCompressLib15SDecompressRetsV11blueChannelSays5UInt8VGvs(struct swift_interop_passStub_SCompressLib_void_ptr_0_8 value, SWIFT_CONTEXT void * _Nonnull _self) SWIFT_NOEXCEPT SWIFT_CALL; // _
+SWIFT_EXTERN struct swift_interop_returnStub_SCompressLib_void_ptr_0_8 $s12SCompressLib15SDecompressRetsV12alphaChannelSays5UInt8VGvg(SWIFT_CONTEXT const void * _Nonnull _self) SWIFT_NOEXCEPT SWIFT_CALL; // _
+SWIFT_EXTERN void $s12SCompressLib15SDecompressRetsV12alphaChannelSays5UInt8VGvs(struct swift_interop_passStub_SCompressLib_void_ptr_0_8 value, SWIFT_CONTEXT void * _Nonnull _self) SWIFT_NOEXCEPT SWIFT_CALL; // _
+SWIFT_EXTERN void $s12SCompressLib10SPicZipApiVACycfC(SWIFT_INDIRECT_RESULT void * _Nonnull) SWIFT_NOEXCEPT SWIFT_CALL; // init()
+SWIFT_EXTERN void $s12SCompressLib10SPicZipApiV8Compress13compressParamyAA0aH0V_tF(const void * _Nonnull compressParam, SWIFT_CONTEXT const void * _Nonnull _self) SWIFT_NOEXCEPT SWIFT_CALL; // Compress(compressParam:)
+SWIFT_EXTERN void $s12SCompressLib10SPicZipApiV10Decompress2id10fileBufferys6UInt32V_Says5UInt8VGtF(uint32_t id, struct swift_interop_passStub_SCompressLib_void_ptr_0_8 fileBuffer, SWIFT_CONTEXT const void * _Nonnull _self) SWIFT_NOEXCEPT SWIFT_CALL; // Decompress(id:fileBuffer:)
+
+#ifdef __cplusplus
+}
+}
+}
+namespace SCompressLib SWIFT_PRIVATE_ATTR SWIFT_SYMBOL_MODULE("SCompressLib") {
+
+class SWIFT_SYMBOL("s:12SCompressLib0A5ParamV") SCompressParam;
+} // end namespace 
+
+namespace swift SWIFT_PRIVATE_ATTR {
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wc++17-extensions"
+template<>
+static inline const constexpr bool isUsableInGenericContext<SCompressLib::SCompressParam> = true;
+#pragma clang diagnostic pop
+} // namespace swift
+
+namespace SCompressLib SWIFT_PRIVATE_ATTR SWIFT_SYMBOL_MODULE("SCompressLib") {
+namespace _impl {
+
+class _impl_SCompressParam;
+
+// Type metadata accessor for SCompressParam
+SWIFT_EXTERN swift::_impl::MetadataResponseTy $s12SCompressLib0A5ParamVMa(swift::_impl::MetadataRequestTy) SWIFT_NOEXCEPT SWIFT_CALL;
+
+
+} // namespace _impl
+
+class SWIFT_SYMBOL("s:12SCompressLib0A5ParamV") SCompressParam final {
+public:
+  SWIFT_INLINE_THUNK ~SCompressParam() noexcept {
+    auto metadata = _impl::$s12SCompressLib0A5ParamVMa(0);
+    auto *vwTableAddr = reinterpret_cast<swift::_impl::ValueWitnessTable **>(metadata._0) - 1;
+#ifdef __arm64e__
+    auto *vwTable = reinterpret_cast<swift::_impl::ValueWitnessTable *>(ptrauth_auth_data(reinterpret_cast<void *>(*vwTableAddr), ptrauth_key_process_independent_data, ptrauth_blend_discriminator(vwTableAddr, 11839)));
+#else
+    auto *vwTable = *vwTableAddr;
+#endif
+    vwTable->destroy(_getOpaquePointer(), metadata._0);
+  }
+  SWIFT_INLINE_THUNK SCompressParam(const SCompressParam &other) noexcept {
+    auto metadata = _impl::$s12SCompressLib0A5ParamVMa(0);
+    auto *vwTableAddr = reinterpret_cast<swift::_impl::ValueWitnessTable **>(metadata._0) - 1;
+#ifdef __arm64e__
+    auto *vwTable = reinterpret_cast<swift::_impl::ValueWitnessTable *>(ptrauth_auth_data(reinterpret_cast<void *>(*vwTableAddr), ptrauth_key_process_independent_data, ptrauth_blend_discriminator(vwTableAddr, 11839)));
+#else
+    auto *vwTable = *vwTableAddr;
+#endif
+    _storage = swift::_impl::OpaqueStorage(vwTable->size, vwTable->getAlignment());
+    vwTable->initializeWithCopy(_getOpaquePointer(), const_cast<char *>(other._getOpaquePointer()), metadata._0);
+  }
+  SWIFT_INLINE_THUNK SCompressParam &operator =(const SCompressParam &other) noexcept {
+    auto metadata = _impl::$s12SCompressLib0A5ParamVMa(0);
+    auto *vwTableAddr = reinterpret_cast<swift::_impl::ValueWitnessTable **>(metadata._0) - 1;
+#ifdef __arm64e__
+    auto *vwTable = reinterpret_cast<swift::_impl::ValueWitnessTable *>(ptrauth_auth_data(reinterpret_cast<void *>(*vwTableAddr), ptrauth_key_process_independent_data, ptrauth_blend_discriminator(vwTableAddr, 11839)));
+#else
+    auto *vwTable = *vwTableAddr;
+#endif
+    vwTable->assignWithCopy(_getOpaquePointer(), const_cast<char *>(other._getOpaquePointer()), metadata._0);
+  return *this;
+  }
+  SWIFT_INLINE_THUNK SCompressParam &operator =(SCompressParam &&other) = delete;
+  [[noreturn]] SWIFT_INLINE_PRIVATE_HELPER SCompressParam(SCompressParam &&) noexcept {
+  swift::_impl::_fatalError_Cxx_move_of_Swift_value_type_not_supported_yet();
+  swift::_impl::_swift_stdlib_reportFatalError("swift", 5, "C++ does not support moving a Swift value yet", 45, 0);
+  abort();
+  }
+  static SWIFT_INLINE_THUNK SCompressParam init() SWIFT_SYMBOL("s:12SCompressLib0A5ParamVACycfc");
+  SWIFT_INLINE_THUNK int32_t getId() const SWIFT_SYMBOL("s:12SCompressLib0A5ParamV2ids5Int32Vvp");
+  SWIFT_INLINE_THUNK void setId(int32_t value) SWIFT_SYMBOL("s:12SCompressLib0A5ParamV2ids5Int32Vvp");
+  SWIFT_INLINE_THUNK int32_t getWidth() const SWIFT_SYMBOL("s:12SCompressLib0A5ParamV5widths5Int32Vvp");
+  SWIFT_INLINE_THUNK void setWidth(int32_t value) SWIFT_SYMBOL("s:12SCompressLib0A5ParamV5widths5Int32Vvp");
+  SWIFT_INLINE_THUNK int32_t getHeight() const SWIFT_SYMBOL("s:12SCompressLib0A5ParamV6heights5Int32Vvp");
+  SWIFT_INLINE_THUNK void setHeight(int32_t value) SWIFT_SYMBOL("s:12SCompressLib0A5ParamV6heights5Int32Vvp");
+  SWIFT_INLINE_THUNK int32_t getStride() const SWIFT_SYMBOL("s:12SCompressLib0A5ParamV6strides5Int32Vvp");
+  SWIFT_INLINE_THUNK void setStride(int32_t value) SWIFT_SYMBOL("s:12SCompressLib0A5ParamV6strides5Int32Vvp");
+  SWIFT_INLINE_THUNK int32_t getPixelFormat() const SWIFT_SYMBOL("s:12SCompressLib0A5ParamV11pixelFormats5Int32Vvp");
+  SWIFT_INLINE_THUNK void setPixelFormat(int32_t value) SWIFT_SYMBOL("s:12SCompressLib0A5ParamV11pixelFormats5Int32Vvp");
+  SWIFT_INLINE_THUNK int32_t getTileWidth() const SWIFT_SYMBOL("s:12SCompressLib0A5ParamV9tileWidths5Int32Vvp");
+  SWIFT_INLINE_THUNK void setTileWidth(int32_t value) SWIFT_SYMBOL("s:12SCompressLib0A5ParamV9tileWidths5Int32Vvp");
+  SWIFT_INLINE_THUNK int32_t getModeAlpha() const SWIFT_SYMBOL("s:12SCompressLib0A5ParamV9modeAlphas5Int32Vvp");
+  SWIFT_INLINE_THUNK void setModeAlpha(int32_t value) SWIFT_SYMBOL("s:12SCompressLib0A5ParamV9modeAlphas5Int32Vvp");
+  SWIFT_INLINE_THUNK int32_t getModeRgb() const SWIFT_SYMBOL("s:12SCompressLib0A5ParamV7modeRgbs5Int32Vvp");
+  SWIFT_INLINE_THUNK void setModeRgb(int32_t value) SWIFT_SYMBOL("s:12SCompressLib0A5ParamV7modeRgbs5Int32Vvp");
+  SWIFT_INLINE_THUNK int32_t getCmpMode() const SWIFT_SYMBOL("s:12SCompressLib0A5ParamV7cmpModes5Int32Vvp");
+  SWIFT_INLINE_THUNK void setCmpMode(int32_t value) SWIFT_SYMBOL("s:12SCompressLib0A5ParamV7cmpModes5Int32Vvp");
+  SWIFT_INLINE_THUNK swift::Array<uint8_t> getRedChannel() const SWIFT_SYMBOL("s:12SCompressLib0A5ParamV10redChannelSays5UInt8VGvp");
+  SWIFT_INLINE_THUNK void setRedChannel(const swift::Array<uint8_t>& value) SWIFT_SYMBOL("s:12SCompressLib0A5ParamV10redChannelSays5UInt8VGvp");
+  SWIFT_INLINE_THUNK swift::Array<uint8_t> getGreenChannel() const SWIFT_SYMBOL("s:12SCompressLib0A5ParamV12greenChannelSays5UInt8VGvp");
+  SWIFT_INLINE_THUNK void setGreenChannel(const swift::Array<uint8_t>& value) SWIFT_SYMBOL("s:12SCompressLib0A5ParamV12greenChannelSays5UInt8VGvp");
+  SWIFT_INLINE_THUNK swift::Array<uint8_t> getBlueChannel() const SWIFT_SYMBOL("s:12SCompressLib0A5ParamV11blueChannelSays5UInt8VGvp");
+  SWIFT_INLINE_THUNK void setBlueChannel(const swift::Array<uint8_t>& value) SWIFT_SYMBOL("s:12SCompressLib0A5ParamV11blueChannelSays5UInt8VGvp");
+  SWIFT_INLINE_THUNK swift::Array<uint8_t> getAlphaChannel() const SWIFT_SYMBOL("s:12SCompressLib0A5ParamV12alphaChannelSays5UInt8VGvp");
+  SWIFT_INLINE_THUNK void setAlphaChannel(const swift::Array<uint8_t>& value) SWIFT_SYMBOL("s:12SCompressLib0A5ParamV12alphaChannelSays5UInt8VGvp");
+private:
+  SWIFT_INLINE_THUNK SCompressParam(swift::_impl::ValueWitnessTable * _Nonnull vwTable) noexcept : _storage(vwTable->size, vwTable->getAlignment()) {}
+  static SWIFT_INLINE_THUNK SCompressParam _make() noexcept {
+    auto metadata = _impl::$s12SCompressLib0A5ParamVMa(0);
+    auto *vwTableAddr = reinterpret_cast<swift::_impl::ValueWitnessTable **>(metadata._0) - 1;
+#ifdef __arm64e__
+    auto *vwTable = reinterpret_cast<swift::_impl::ValueWitnessTable *>(ptrauth_auth_data(reinterpret_cast<void *>(*vwTableAddr), ptrauth_key_process_independent_data, ptrauth_blend_discriminator(vwTableAddr, 11839)));
+#else
+    auto *vwTable = *vwTableAddr;
+#endif
+    return SCompressParam(vwTable);
+  }
+  SWIFT_INLINE_THUNK const char * _Nonnull _getOpaquePointer() const noexcept { return _storage.getOpaquePointer(); }
+  SWIFT_INLINE_THUNK char * _Nonnull _getOpaquePointer() noexcept { return _storage.getOpaquePointer(); }
+
+  swift::_impl::OpaqueStorage _storage;
+  friend class _impl::_impl_SCompressParam;
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wc++17-extensions"
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wreserved-identifier"
+  typedef char $s12SCompressLib0A5ParamVD;
+  static inline constexpr $s12SCompressLib0A5ParamVD __swift_mangled_name = 0;
+#pragma clang diagnostic pop
+#pragma clang diagnostic pop
+};
+
+namespace _impl {
+
+class _impl_SCompressParam {
+public:
+  static SWIFT_INLINE_THUNK char * _Nonnull getOpaquePointer(SCompressParam &object) { return object._getOpaquePointer(); }
+  static SWIFT_INLINE_THUNK const char * _Nonnull getOpaquePointer(const SCompressParam &object) { return object._getOpaquePointer(); }
+  template<class T>
+  static SWIFT_INLINE_PRIVATE_HELPER SCompressParam returnNewValue(T callable) {
+    auto result = SCompressParam::_make();
+    callable(result._getOpaquePointer());
+    return result;
+  }
+  static SWIFT_INLINE_THUNK void initializeWithTake(char * _Nonnull destStorage, char * _Nonnull srcStorage) {
+    auto metadata = _impl::$s12SCompressLib0A5ParamVMa(0);
+    auto *vwTableAddr = reinterpret_cast<swift::_impl::ValueWitnessTable **>(metadata._0) - 1;
+#ifdef __arm64e__
+    auto *vwTable = reinterpret_cast<swift::_impl::ValueWitnessTable *>(ptrauth_auth_data(reinterpret_cast<void *>(*vwTableAddr), ptrauth_key_process_independent_data, ptrauth_blend_discriminator(vwTableAddr, 11839)));
+#else
+    auto *vwTable = *vwTableAddr;
+#endif
+    vwTable->initializeWithTake(destStorage, srcStorage, metadata._0);
+  }
+};
+
+} // namespace _impl
+
+} // end namespace 
+
+namespace swift SWIFT_PRIVATE_ATTR {
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wc++17-extensions"
+template<>
+struct TypeMetadataTrait<SCompressLib::SCompressParam> {
+  static SWIFT_INLINE_THUNK void * _Nonnull getTypeMetadata() {
+    return SCompressLib::_impl::$s12SCompressLib0A5ParamVMa(0)._0;
+  }
+};
+namespace _impl{
+template<>
+static inline const constexpr bool isValueType<SCompressLib::SCompressParam> = true;
+template<>
+static inline const constexpr bool isOpaqueLayout<SCompressLib::SCompressParam> = true;
+template<>
+struct implClassFor<SCompressLib::SCompressParam> { using type = SCompressLib::_impl::_impl_SCompressParam; };
+} // namespace
+#pragma clang diagnostic pop
+} // namespace swift
+
+namespace SCompressLib SWIFT_PRIVATE_ATTR SWIFT_SYMBOL_MODULE("SCompressLib") {
+
+
+SWIFT_INLINE_THUNK void SCompressRets(swift::Int id, swift::Int state, swift::Int tileWidth, const swift::Array<uint8_t>& retData) noexcept SWIFT_SYMBOL("s:12SCompressLib0A4Rets2id5state9tileWidth7retDataySi_S2iSays5UInt8VGtF") {
+  return _impl::$s12SCompressLib0A4Rets2id5state9tileWidth7retDataySi_S2iSays5UInt8VGtF(id, state, tileWidth, _impl::swift_interop_passDirect_SCompressLib_void_ptr_0_8(swift::_impl::_impl_Array<uint8_t>::getOpaquePointer(retData)));
+}
+
+
+SWIFT_INLINE_THUNK void SDecompressRet(swift::Int id, swift::Int state, swift::UInt width, swift::UInt height, swift::UInt format, const swift::Array<uint8_t>& red, const swift::Array<uint8_t>& green, const swift::Array<uint8_t>& blue, const swift::Array<uint8_t>& alpha) noexcept SWIFT_SYMBOL("s:12SCompressLib14SDecompressRet2id5state5width6height6format3red5green4blue5alphaySi_SiS3uSays5UInt8VGA3NtF") {
+  return _impl::$s12SCompressLib14SDecompressRet2id5state5width6height6format3red5green4blue5alphaySi_SiS3uSays5UInt8VGA3NtF(id, state, width, height, format, _impl::swift_interop_passDirect_SCompressLib_void_ptr_0_8(swift::_impl::_impl_Array<uint8_t>::getOpaquePointer(red)), _impl::swift_interop_passDirect_SCompressLib_void_ptr_0_8(swift::_impl::_impl_Array<uint8_t>::getOpaquePointer(green)), _impl::swift_interop_passDirect_SCompressLib_void_ptr_0_8(swift::_impl::_impl_Array<uint8_t>::getOpaquePointer(blue)), _impl::swift_interop_passDirect_SCompressLib_void_ptr_0_8(swift::_impl::_impl_Array<uint8_t>::getOpaquePointer(alpha)));
+}
+
+class SWIFT_SYMBOL("s:12SCompressLib15SDecompressRetsV") SDecompressRets;
+} // end namespace 
+
+namespace swift SWIFT_PRIVATE_ATTR {
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wc++17-extensions"
+template<>
+static inline const constexpr bool isUsableInGenericContext<SCompressLib::SDecompressRets> = true;
+#pragma clang diagnostic pop
+} // namespace swift
+
+namespace SCompressLib SWIFT_PRIVATE_ATTR SWIFT_SYMBOL_MODULE("SCompressLib") {
+namespace _impl {
+
+class _impl_SDecompressRets;
+
+// Type metadata accessor for SDecompressRets
+SWIFT_EXTERN swift::_impl::MetadataResponseTy $s12SCompressLib15SDecompressRetsVMa(swift::_impl::MetadataRequestTy) SWIFT_NOEXCEPT SWIFT_CALL;
+
+
+} // namespace _impl
+
+class SWIFT_SYMBOL("s:12SCompressLib15SDecompressRetsV") SDecompressRets final {
+public:
+  SWIFT_INLINE_THUNK ~SDecompressRets() noexcept {
+    auto metadata = _impl::$s12SCompressLib15SDecompressRetsVMa(0);
+    auto *vwTableAddr = reinterpret_cast<swift::_impl::ValueWitnessTable **>(metadata._0) - 1;
+#ifdef __arm64e__
+    auto *vwTable = reinterpret_cast<swift::_impl::ValueWitnessTable *>(ptrauth_auth_data(reinterpret_cast<void *>(*vwTableAddr), ptrauth_key_process_independent_data, ptrauth_blend_discriminator(vwTableAddr, 11839)));
+#else
+    auto *vwTable = *vwTableAddr;
+#endif
+    vwTable->destroy(_getOpaquePointer(), metadata._0);
+  }
+  SWIFT_INLINE_THUNK SDecompressRets(const SDecompressRets &other) noexcept {
+    auto metadata = _impl::$s12SCompressLib15SDecompressRetsVMa(0);
+    auto *vwTableAddr = reinterpret_cast<swift::_impl::ValueWitnessTable **>(metadata._0) - 1;
+#ifdef __arm64e__
+    auto *vwTable = reinterpret_cast<swift::_impl::ValueWitnessTable *>(ptrauth_auth_data(reinterpret_cast<void *>(*vwTableAddr), ptrauth_key_process_independent_data, ptrauth_blend_discriminator(vwTableAddr, 11839)));
+#else
+    auto *vwTable = *vwTableAddr;
+#endif
+    _storage = swift::_impl::OpaqueStorage(vwTable->size, vwTable->getAlignment());
+    vwTable->initializeWithCopy(_getOpaquePointer(), const_cast<char *>(other._getOpaquePointer()), metadata._0);
+  }
+  SWIFT_INLINE_THUNK SDecompressRets &operator =(const SDecompressRets &other) noexcept {
+    auto metadata = _impl::$s12SCompressLib15SDecompressRetsVMa(0);
+    auto *vwTableAddr = reinterpret_cast<swift::_impl::ValueWitnessTable **>(metadata._0) - 1;
+#ifdef __arm64e__
+    auto *vwTable = reinterpret_cast<swift::_impl::ValueWitnessTable *>(ptrauth_auth_data(reinterpret_cast<void *>(*vwTableAddr), ptrauth_key_process_independent_data, ptrauth_blend_discriminator(vwTableAddr, 11839)));
+#else
+    auto *vwTable = *vwTableAddr;
+#endif
+    vwTable->assignWithCopy(_getOpaquePointer(), const_cast<char *>(other._getOpaquePointer()), metadata._0);
+  return *this;
+  }
+  SWIFT_INLINE_THUNK SDecompressRets &operator =(SDecompressRets &&other) = delete;
+  [[noreturn]] SWIFT_INLINE_PRIVATE_HELPER SDecompressRets(SDecompressRets &&) noexcept {
+  swift::_impl::_fatalError_Cxx_move_of_Swift_value_type_not_supported_yet();
+  swift::_impl::_swift_stdlib_reportFatalError("swift", 5, "C++ does not support moving a Swift value yet", 45, 0);
+  abort();
+  }
+  static SWIFT_INLINE_THUNK SDecompressRets init() SWIFT_SYMBOL("s:12SCompressLib15SDecompressRetsVACycfc");
+  SWIFT_INLINE_THUNK int32_t getWidth() const SWIFT_SYMBOL("s:12SCompressLib15SDecompressRetsV5widths5Int32Vvp");
+  SWIFT_INLINE_THUNK void setWidth(int32_t value) SWIFT_SYMBOL("s:12SCompressLib15SDecompressRetsV5widths5Int32Vvp");
+  SWIFT_INLINE_THUNK int32_t getHeight() const SWIFT_SYMBOL("s:12SCompressLib15SDecompressRetsV6heights5Int32Vvp");
+  SWIFT_INLINE_THUNK void setHeight(int32_t value) SWIFT_SYMBOL("s:12SCompressLib15SDecompressRetsV6heights5Int32Vvp");
+  SWIFT_INLINE_THUNK int32_t getFormat() const SWIFT_SYMBOL("s:12SCompressLib15SDecompressRetsV6formats5Int32Vvp");
+  SWIFT_INLINE_THUNK void setFormat(int32_t value) SWIFT_SYMBOL("s:12SCompressLib15SDecompressRetsV6formats5Int32Vvp");
+  SWIFT_INLINE_THUNK swift::Array<uint8_t> getRedChannel() const SWIFT_SYMBOL("s:12SCompressLib15SDecompressRetsV10redChannelSays5UInt8VGvp");
+  SWIFT_INLINE_THUNK void setRedChannel(const swift::Array<uint8_t>& value) SWIFT_SYMBOL("s:12SCompressLib15SDecompressRetsV10redChannelSays5UInt8VGvp");
+  SWIFT_INLINE_THUNK swift::Array<uint8_t> getGreenChannel() const SWIFT_SYMBOL("s:12SCompressLib15SDecompressRetsV12greenChannelSays5UInt8VGvp");
+  SWIFT_INLINE_THUNK void setGreenChannel(const swift::Array<uint8_t>& value) SWIFT_SYMBOL("s:12SCompressLib15SDecompressRetsV12greenChannelSays5UInt8VGvp");
+  SWIFT_INLINE_THUNK swift::Array<uint8_t> getBlueChannel() const SWIFT_SYMBOL("s:12SCompressLib15SDecompressRetsV11blueChannelSays5UInt8VGvp");
+  SWIFT_INLINE_THUNK void setBlueChannel(const swift::Array<uint8_t>& value) SWIFT_SYMBOL("s:12SCompressLib15SDecompressRetsV11blueChannelSays5UInt8VGvp");
+  SWIFT_INLINE_THUNK swift::Array<uint8_t> getAlphaChannel() const SWIFT_SYMBOL("s:12SCompressLib15SDecompressRetsV12alphaChannelSays5UInt8VGvp");
+  SWIFT_INLINE_THUNK void setAlphaChannel(const swift::Array<uint8_t>& value) SWIFT_SYMBOL("s:12SCompressLib15SDecompressRetsV12alphaChannelSays5UInt8VGvp");
+private:
+  SWIFT_INLINE_THUNK SDecompressRets(swift::_impl::ValueWitnessTable * _Nonnull vwTable) noexcept : _storage(vwTable->size, vwTable->getAlignment()) {}
+  static SWIFT_INLINE_THUNK SDecompressRets _make() noexcept {
+    auto metadata = _impl::$s12SCompressLib15SDecompressRetsVMa(0);
+    auto *vwTableAddr = reinterpret_cast<swift::_impl::ValueWitnessTable **>(metadata._0) - 1;
+#ifdef __arm64e__
+    auto *vwTable = reinterpret_cast<swift::_impl::ValueWitnessTable *>(ptrauth_auth_data(reinterpret_cast<void *>(*vwTableAddr), ptrauth_key_process_independent_data, ptrauth_blend_discriminator(vwTableAddr, 11839)));
+#else
+    auto *vwTable = *vwTableAddr;
+#endif
+    return SDecompressRets(vwTable);
+  }
+  SWIFT_INLINE_THUNK const char * _Nonnull _getOpaquePointer() const noexcept { return _storage.getOpaquePointer(); }
+  SWIFT_INLINE_THUNK char * _Nonnull _getOpaquePointer() noexcept { return _storage.getOpaquePointer(); }
+
+  swift::_impl::OpaqueStorage _storage;
+  friend class _impl::_impl_SDecompressRets;
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wc++17-extensions"
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wreserved-identifier"
+  typedef char $s12SCompressLib15SDecompressRetsVD;
+  static inline constexpr $s12SCompressLib15SDecompressRetsVD __swift_mangled_name = 0;
+#pragma clang diagnostic pop
+#pragma clang diagnostic pop
+};
+
+namespace _impl {
+
+class _impl_SDecompressRets {
+public:
+  static SWIFT_INLINE_THUNK char * _Nonnull getOpaquePointer(SDecompressRets &object) { return object._getOpaquePointer(); }
+  static SWIFT_INLINE_THUNK const char * _Nonnull getOpaquePointer(const SDecompressRets &object) { return object._getOpaquePointer(); }
+  template<class T>
+  static SWIFT_INLINE_PRIVATE_HELPER SDecompressRets returnNewValue(T callable) {
+    auto result = SDecompressRets::_make();
+    callable(result._getOpaquePointer());
+    return result;
+  }
+  static SWIFT_INLINE_THUNK void initializeWithTake(char * _Nonnull destStorage, char * _Nonnull srcStorage) {
+    auto metadata = _impl::$s12SCompressLib15SDecompressRetsVMa(0);
+    auto *vwTableAddr = reinterpret_cast<swift::_impl::ValueWitnessTable **>(metadata._0) - 1;
+#ifdef __arm64e__
+    auto *vwTable = reinterpret_cast<swift::_impl::ValueWitnessTable *>(ptrauth_auth_data(reinterpret_cast<void *>(*vwTableAddr), ptrauth_key_process_independent_data, ptrauth_blend_discriminator(vwTableAddr, 11839)));
+#else
+    auto *vwTable = *vwTableAddr;
+#endif
+    vwTable->initializeWithTake(destStorage, srcStorage, metadata._0);
+  }
+};
+
+} // namespace _impl
+
+} // end namespace 
+
+namespace swift SWIFT_PRIVATE_ATTR {
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wc++17-extensions"
+template<>
+struct TypeMetadataTrait<SCompressLib::SDecompressRets> {
+  static SWIFT_INLINE_THUNK void * _Nonnull getTypeMetadata() {
+    return SCompressLib::_impl::$s12SCompressLib15SDecompressRetsVMa(0)._0;
+  }
+};
+namespace _impl{
+template<>
+static inline const constexpr bool isValueType<SCompressLib::SDecompressRets> = true;
+template<>
+static inline const constexpr bool isOpaqueLayout<SCompressLib::SDecompressRets> = true;
+template<>
+struct implClassFor<SCompressLib::SDecompressRets> { using type = SCompressLib::_impl::_impl_SDecompressRets; };
+} // namespace
+#pragma clang diagnostic pop
+} // namespace swift
+
+namespace SCompressLib SWIFT_PRIVATE_ATTR SWIFT_SYMBOL_MODULE("SCompressLib") {
+
+class SWIFT_SYMBOL("s:12SCompressLib10SPicZipApiV") SPicZipApi;
+} // end namespace 
+
+namespace swift SWIFT_PRIVATE_ATTR {
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wc++17-extensions"
+template<>
+static inline const constexpr bool isUsableInGenericContext<SCompressLib::SPicZipApi> = true;
+#pragma clang diagnostic pop
+} // namespace swift
+
+namespace SCompressLib SWIFT_PRIVATE_ATTR SWIFT_SYMBOL_MODULE("SCompressLib") {
+namespace _impl {
+
+class _impl_SPicZipApi;
+
+// Type metadata accessor for SPicZipApi
+SWIFT_EXTERN swift::_impl::MetadataResponseTy $s12SCompressLib10SPicZipApiVMa(swift::_impl::MetadataRequestTy) SWIFT_NOEXCEPT SWIFT_CALL;
+
+
+} // namespace _impl
+
+class SWIFT_SYMBOL("s:12SCompressLib10SPicZipApiV") SPicZipApi final {
+public:
+  SWIFT_INLINE_THUNK ~SPicZipApi() noexcept {
+    auto metadata = _impl::$s12SCompressLib10SPicZipApiVMa(0);
+    auto *vwTableAddr = reinterpret_cast<swift::_impl::ValueWitnessTable **>(metadata._0) - 1;
+#ifdef __arm64e__
+    auto *vwTable = reinterpret_cast<swift::_impl::ValueWitnessTable *>(ptrauth_auth_data(reinterpret_cast<void *>(*vwTableAddr), ptrauth_key_process_independent_data, ptrauth_blend_discriminator(vwTableAddr, 11839)));
+#else
+    auto *vwTable = *vwTableAddr;
+#endif
+    vwTable->destroy(_getOpaquePointer(), metadata._0);
+  }
+  SWIFT_INLINE_THUNK SPicZipApi(const SPicZipApi &other) noexcept {
+    auto metadata = _impl::$s12SCompressLib10SPicZipApiVMa(0);
+    auto *vwTableAddr = reinterpret_cast<swift::_impl::ValueWitnessTable **>(metadata._0) - 1;
+#ifdef __arm64e__
+    auto *vwTable = reinterpret_cast<swift::_impl::ValueWitnessTable *>(ptrauth_auth_data(reinterpret_cast<void *>(*vwTableAddr), ptrauth_key_process_independent_data, ptrauth_blend_discriminator(vwTableAddr, 11839)));
+#else
+    auto *vwTable = *vwTableAddr;
+#endif
+    _storage = swift::_impl::OpaqueStorage(vwTable->size, vwTable->getAlignment());
+    vwTable->initializeWithCopy(_getOpaquePointer(), const_cast<char *>(other._getOpaquePointer()), metadata._0);
+  }
+  SWIFT_INLINE_THUNK SPicZipApi &operator =(const SPicZipApi &other) noexcept {
+    auto metadata = _impl::$s12SCompressLib10SPicZipApiVMa(0);
+    auto *vwTableAddr = reinterpret_cast<swift::_impl::ValueWitnessTable **>(metadata._0) - 1;
+#ifdef __arm64e__
+    auto *vwTable = reinterpret_cast<swift::_impl::ValueWitnessTable *>(ptrauth_auth_data(reinterpret_cast<void *>(*vwTableAddr), ptrauth_key_process_independent_data, ptrauth_blend_discriminator(vwTableAddr, 11839)));
+#else
+    auto *vwTable = *vwTableAddr;
+#endif
+    vwTable->assignWithCopy(_getOpaquePointer(), const_cast<char *>(other._getOpaquePointer()), metadata._0);
+  return *this;
+  }
+  SWIFT_INLINE_THUNK SPicZipApi &operator =(SPicZipApi &&other) = delete;
+  [[noreturn]] SWIFT_INLINE_PRIVATE_HELPER SPicZipApi(SPicZipApi &&) noexcept {
+  swift::_impl::_fatalError_Cxx_move_of_Swift_value_type_not_supported_yet();
+  swift::_impl::_swift_stdlib_reportFatalError("swift", 5, "C++ does not support moving a Swift value yet", 45, 0);
+  abort();
+  }
+  static SWIFT_INLINE_THUNK SPicZipApi init() SWIFT_SYMBOL("s:12SCompressLib10SPicZipApiVACycfc");
+  SWIFT_INLINE_THUNK void Compress(const SCompressParam& compressParam) const SWIFT_SYMBOL("s:12SCompressLib10SPicZipApiV8Compress13compressParamyAA0aH0V_tF");
+  SWIFT_INLINE_THUNK void Decompress(uint32_t id, const swift::Array<uint8_t>& fileBuffer) const SWIFT_SYMBOL("s:12SCompressLib10SPicZipApiV10Decompress2id10fileBufferys6UInt32V_Says5UInt8VGtF");
+private:
+  SWIFT_INLINE_THUNK SPicZipApi(swift::_impl::ValueWitnessTable * _Nonnull vwTable) noexcept : _storage(vwTable->size, vwTable->getAlignment()) {}
+  static SWIFT_INLINE_THUNK SPicZipApi _make() noexcept {
+    auto metadata = _impl::$s12SCompressLib10SPicZipApiVMa(0);
+    auto *vwTableAddr = reinterpret_cast<swift::_impl::ValueWitnessTable **>(metadata._0) - 1;
+#ifdef __arm64e__
+    auto *vwTable = reinterpret_cast<swift::_impl::ValueWitnessTable *>(ptrauth_auth_data(reinterpret_cast<void *>(*vwTableAddr), ptrauth_key_process_independent_data, ptrauth_blend_discriminator(vwTableAddr, 11839)));
+#else
+    auto *vwTable = *vwTableAddr;
+#endif
+    return SPicZipApi(vwTable);
+  }
+  SWIFT_INLINE_THUNK const char * _Nonnull _getOpaquePointer() const noexcept { return _storage.getOpaquePointer(); }
+  SWIFT_INLINE_THUNK char * _Nonnull _getOpaquePointer() noexcept { return _storage.getOpaquePointer(); }
+
+  swift::_impl::OpaqueStorage _storage;
+  friend class _impl::_impl_SPicZipApi;
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wc++17-extensions"
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wreserved-identifier"
+  typedef char $s12SCompressLib10SPicZipApiVD;
+  static inline constexpr $s12SCompressLib10SPicZipApiVD __swift_mangled_name = 0;
+#pragma clang diagnostic pop
+#pragma clang diagnostic pop
+};
+
+namespace _impl {
+
+class _impl_SPicZipApi {
+public:
+  static SWIFT_INLINE_THUNK char * _Nonnull getOpaquePointer(SPicZipApi &object) { return object._getOpaquePointer(); }
+  static SWIFT_INLINE_THUNK const char * _Nonnull getOpaquePointer(const SPicZipApi &object) { return object._getOpaquePointer(); }
+  template<class T>
+  static SWIFT_INLINE_PRIVATE_HELPER SPicZipApi returnNewValue(T callable) {
+    auto result = SPicZipApi::_make();
+    callable(result._getOpaquePointer());
+    return result;
+  }
+  static SWIFT_INLINE_THUNK void initializeWithTake(char * _Nonnull destStorage, char * _Nonnull srcStorage) {
+    auto metadata = _impl::$s12SCompressLib10SPicZipApiVMa(0);
+    auto *vwTableAddr = reinterpret_cast<swift::_impl::ValueWitnessTable **>(metadata._0) - 1;
+#ifdef __arm64e__
+    auto *vwTable = reinterpret_cast<swift::_impl::ValueWitnessTable *>(ptrauth_auth_data(reinterpret_cast<void *>(*vwTableAddr), ptrauth_key_process_independent_data, ptrauth_blend_discriminator(vwTableAddr, 11839)));
+#else
+    auto *vwTable = *vwTableAddr;
+#endif
+    vwTable->initializeWithTake(destStorage, srcStorage, metadata._0);
+  }
+};
+
+} // namespace _impl
+
+} // end namespace 
+
+namespace swift SWIFT_PRIVATE_ATTR {
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wc++17-extensions"
+template<>
+struct TypeMetadataTrait<SCompressLib::SPicZipApi> {
+  static SWIFT_INLINE_THUNK void * _Nonnull getTypeMetadata() {
+    return SCompressLib::_impl::$s12SCompressLib10SPicZipApiVMa(0)._0;
+  }
+};
+namespace _impl{
+template<>
+static inline const constexpr bool isValueType<SCompressLib::SPicZipApi> = true;
+template<>
+static inline const constexpr bool isOpaqueLayout<SCompressLib::SPicZipApi> = true;
+template<>
+struct implClassFor<SCompressLib::SPicZipApi> { using type = SCompressLib::_impl::_impl_SPicZipApi; };
+} // namespace
+#pragma clang diagnostic pop
+} // namespace swift
+
+namespace SCompressLib SWIFT_PRIVATE_ATTR SWIFT_SYMBOL_MODULE("SCompressLib") {
+
+
+
+  SWIFT_INLINE_THUNK SCompressParam SCompressParam::init() {
+  return _impl::_impl_SCompressParam::returnNewValue([&](char * _Nonnull result) SWIFT_INLINE_THUNK_ATTRIBUTES {
+    _impl::$s12SCompressLib0A5ParamVACycfC(result);
+  });
+  }
+  SWIFT_INLINE_THUNK int32_t SCompressParam::getId() const {
+  return _impl::$s12SCompressLib0A5ParamV2ids5Int32Vvg(_getOpaquePointer());
+  }
+  SWIFT_INLINE_THUNK void SCompressParam::setId(int32_t value) {
+  return _impl::$s12SCompressLib0A5ParamV2ids5Int32Vvs(value, _getOpaquePointer());
+  }
+  SWIFT_INLINE_THUNK int32_t SCompressParam::getWidth() const {
+  return _impl::$s12SCompressLib0A5ParamV5widths5Int32Vvg(_getOpaquePointer());
+  }
+  SWIFT_INLINE_THUNK void SCompressParam::setWidth(int32_t value) {
+  return _impl::$s12SCompressLib0A5ParamV5widths5Int32Vvs(value, _getOpaquePointer());
+  }
+  SWIFT_INLINE_THUNK int32_t SCompressParam::getHeight() const {
+  return _impl::$s12SCompressLib0A5ParamV6heights5Int32Vvg(_getOpaquePointer());
+  }
+  SWIFT_INLINE_THUNK void SCompressParam::setHeight(int32_t value) {
+  return _impl::$s12SCompressLib0A5ParamV6heights5Int32Vvs(value, _getOpaquePointer());
+  }
+  SWIFT_INLINE_THUNK int32_t SCompressParam::getStride() const {
+  return _impl::$s12SCompressLib0A5ParamV6strides5Int32Vvg(_getOpaquePointer());
+  }
+  SWIFT_INLINE_THUNK void SCompressParam::setStride(int32_t value) {
+  return _impl::$s12SCompressLib0A5ParamV6strides5Int32Vvs(value, _getOpaquePointer());
+  }
+  SWIFT_INLINE_THUNK int32_t SCompressParam::getPixelFormat() const {
+  return _impl::$s12SCompressLib0A5ParamV11pixelFormats5Int32Vvg(_getOpaquePointer());
+  }
+  SWIFT_INLINE_THUNK void SCompressParam::setPixelFormat(int32_t value) {
+  return _impl::$s12SCompressLib0A5ParamV11pixelFormats5Int32Vvs(value, _getOpaquePointer());
+  }
+  SWIFT_INLINE_THUNK int32_t SCompressParam::getTileWidth() const {
+  return _impl::$s12SCompressLib0A5ParamV9tileWidths5Int32Vvg(_getOpaquePointer());
+  }
+  SWIFT_INLINE_THUNK void SCompressParam::setTileWidth(int32_t value) {
+  return _impl::$s12SCompressLib0A5ParamV9tileWidths5Int32Vvs(value, _getOpaquePointer());
+  }
+  SWIFT_INLINE_THUNK int32_t SCompressParam::getModeAlpha() const {
+  return _impl::$s12SCompressLib0A5ParamV9modeAlphas5Int32Vvg(_getOpaquePointer());
+  }
+  SWIFT_INLINE_THUNK void SCompressParam::setModeAlpha(int32_t value) {
+  return _impl::$s12SCompressLib0A5ParamV9modeAlphas5Int32Vvs(value, _getOpaquePointer());
+  }
+  SWIFT_INLINE_THUNK int32_t SCompressParam::getModeRgb() const {
+  return _impl::$s12SCompressLib0A5ParamV7modeRgbs5Int32Vvg(_getOpaquePointer());
+  }
+  SWIFT_INLINE_THUNK void SCompressParam::setModeRgb(int32_t value) {
+  return _impl::$s12SCompressLib0A5ParamV7modeRgbs5Int32Vvs(value, _getOpaquePointer());
+  }
+  SWIFT_INLINE_THUNK int32_t SCompressParam::getCmpMode() const {
+  return _impl::$s12SCompressLib0A5ParamV7cmpModes5Int32Vvg(_getOpaquePointer());
+  }
+  SWIFT_INLINE_THUNK void SCompressParam::setCmpMode(int32_t value) {
+  return _impl::$s12SCompressLib0A5ParamV7cmpModes5Int32Vvs(value, _getOpaquePointer());
+  }
+  SWIFT_INLINE_THUNK swift::Array<uint8_t> SCompressParam::getRedChannel() const {
+  return swift::_impl::_impl_Array<uint8_t>::returnNewValue([&](char * _Nonnull result) SWIFT_INLINE_THUNK_ATTRIBUTES {
+    _impl::swift_interop_returnDirect_SCompressLib_void_ptr_0_8(result, _impl::$s12SCompressLib0A5ParamV10redChannelSays5UInt8VGvg(_getOpaquePointer()));
+  });
+  }
+  SWIFT_INLINE_THUNK void SCompressParam::setRedChannel(const swift::Array<uint8_t>& value) {
+  return _impl::$s12SCompressLib0A5ParamV10redChannelSays5UInt8VGvs(_impl::swift_interop_passDirect_SCompressLib_void_ptr_0_8(swift::_impl::_impl_Array<uint8_t>::getOpaquePointer(value)), _getOpaquePointer());
+  }
+  SWIFT_INLINE_THUNK swift::Array<uint8_t> SCompressParam::getGreenChannel() const {
+  return swift::_impl::_impl_Array<uint8_t>::returnNewValue([&](char * _Nonnull result) SWIFT_INLINE_THUNK_ATTRIBUTES {
+    _impl::swift_interop_returnDirect_SCompressLib_void_ptr_0_8(result, _impl::$s12SCompressLib0A5ParamV12greenChannelSays5UInt8VGvg(_getOpaquePointer()));
+  });
+  }
+  SWIFT_INLINE_THUNK void SCompressParam::setGreenChannel(const swift::Array<uint8_t>& value) {
+  return _impl::$s12SCompressLib0A5ParamV12greenChannelSays5UInt8VGvs(_impl::swift_interop_passDirect_SCompressLib_void_ptr_0_8(swift::_impl::_impl_Array<uint8_t>::getOpaquePointer(value)), _getOpaquePointer());
+  }
+  SWIFT_INLINE_THUNK swift::Array<uint8_t> SCompressParam::getBlueChannel() const {
+  return swift::_impl::_impl_Array<uint8_t>::returnNewValue([&](char * _Nonnull result) SWIFT_INLINE_THUNK_ATTRIBUTES {
+    _impl::swift_interop_returnDirect_SCompressLib_void_ptr_0_8(result, _impl::$s12SCompressLib0A5ParamV11blueChannelSays5UInt8VGvg(_getOpaquePointer()));
+  });
+  }
+  SWIFT_INLINE_THUNK void SCompressParam::setBlueChannel(const swift::Array<uint8_t>& value) {
+  return _impl::$s12SCompressLib0A5ParamV11blueChannelSays5UInt8VGvs(_impl::swift_interop_passDirect_SCompressLib_void_ptr_0_8(swift::_impl::_impl_Array<uint8_t>::getOpaquePointer(value)), _getOpaquePointer());
+  }
+  SWIFT_INLINE_THUNK swift::Array<uint8_t> SCompressParam::getAlphaChannel() const {
+  return swift::_impl::_impl_Array<uint8_t>::returnNewValue([&](char * _Nonnull result) SWIFT_INLINE_THUNK_ATTRIBUTES {
+    _impl::swift_interop_returnDirect_SCompressLib_void_ptr_0_8(result, _impl::$s12SCompressLib0A5ParamV12alphaChannelSays5UInt8VGvg(_getOpaquePointer()));
+  });
+  }
+  SWIFT_INLINE_THUNK void SCompressParam::setAlphaChannel(const swift::Array<uint8_t>& value) {
+  return _impl::$s12SCompressLib0A5ParamV12alphaChannelSays5UInt8VGvs(_impl::swift_interop_passDirect_SCompressLib_void_ptr_0_8(swift::_impl::_impl_Array<uint8_t>::getOpaquePointer(value)), _getOpaquePointer());
+  }
+  SWIFT_INLINE_THUNK SDecompressRets SDecompressRets::init() {
+  return _impl::_impl_SDecompressRets::returnNewValue([&](char * _Nonnull result) SWIFT_INLINE_THUNK_ATTRIBUTES {
+    _impl::$s12SCompressLib15SDecompressRetsVACycfC(result);
+  });
+  }
+  SWIFT_INLINE_THUNK int32_t SDecompressRets::getWidth() const {
+  return _impl::$s12SCompressLib15SDecompressRetsV5widths5Int32Vvg(_getOpaquePointer());
+  }
+  SWIFT_INLINE_THUNK void SDecompressRets::setWidth(int32_t value) {
+  return _impl::$s12SCompressLib15SDecompressRetsV5widths5Int32Vvs(value, _getOpaquePointer());
+  }
+  SWIFT_INLINE_THUNK int32_t SDecompressRets::getHeight() const {
+  return _impl::$s12SCompressLib15SDecompressRetsV6heights5Int32Vvg(_getOpaquePointer());
+  }
+  SWIFT_INLINE_THUNK void SDecompressRets::setHeight(int32_t value) {
+  return _impl::$s12SCompressLib15SDecompressRetsV6heights5Int32Vvs(value, _getOpaquePointer());
+  }
+  SWIFT_INLINE_THUNK int32_t SDecompressRets::getFormat() const {
+  return _impl::$s12SCompressLib15SDecompressRetsV6formats5Int32Vvg(_getOpaquePointer());
+  }
+  SWIFT_INLINE_THUNK void SDecompressRets::setFormat(int32_t value) {
+  return _impl::$s12SCompressLib15SDecompressRetsV6formats5Int32Vvs(value, _getOpaquePointer());
+  }
+  SWIFT_INLINE_THUNK swift::Array<uint8_t> SDecompressRets::getRedChannel() const {
+  return swift::_impl::_impl_Array<uint8_t>::returnNewValue([&](char * _Nonnull result) SWIFT_INLINE_THUNK_ATTRIBUTES {
+    _impl::swift_interop_returnDirect_SCompressLib_void_ptr_0_8(result, _impl::$s12SCompressLib15SDecompressRetsV10redChannelSays5UInt8VGvg(_getOpaquePointer()));
+  });
+  }
+  SWIFT_INLINE_THUNK void SDecompressRets::setRedChannel(const swift::Array<uint8_t>& value) {
+  return _impl::$s12SCompressLib15SDecompressRetsV10redChannelSays5UInt8VGvs(_impl::swift_interop_passDirect_SCompressLib_void_ptr_0_8(swift::_impl::_impl_Array<uint8_t>::getOpaquePointer(value)), _getOpaquePointer());
+  }
+  SWIFT_INLINE_THUNK swift::Array<uint8_t> SDecompressRets::getGreenChannel() const {
+  return swift::_impl::_impl_Array<uint8_t>::returnNewValue([&](char * _Nonnull result) SWIFT_INLINE_THUNK_ATTRIBUTES {
+    _impl::swift_interop_returnDirect_SCompressLib_void_ptr_0_8(result, _impl::$s12SCompressLib15SDecompressRetsV12greenChannelSays5UInt8VGvg(_getOpaquePointer()));
+  });
+  }
+  SWIFT_INLINE_THUNK void SDecompressRets::setGreenChannel(const swift::Array<uint8_t>& value) {
+  return _impl::$s12SCompressLib15SDecompressRetsV12greenChannelSays5UInt8VGvs(_impl::swift_interop_passDirect_SCompressLib_void_ptr_0_8(swift::_impl::_impl_Array<uint8_t>::getOpaquePointer(value)), _getOpaquePointer());
+  }
+  SWIFT_INLINE_THUNK swift::Array<uint8_t> SDecompressRets::getBlueChannel() const {
+  return swift::_impl::_impl_Array<uint8_t>::returnNewValue([&](char * _Nonnull result) SWIFT_INLINE_THUNK_ATTRIBUTES {
+    _impl::swift_interop_returnDirect_SCompressLib_void_ptr_0_8(result, _impl::$s12SCompressLib15SDecompressRetsV11blueChannelSays5UInt8VGvg(_getOpaquePointer()));
+  });
+  }
+  SWIFT_INLINE_THUNK void SDecompressRets::setBlueChannel(const swift::Array<uint8_t>& value) {
+  return _impl::$s12SCompressLib15SDecompressRetsV11blueChannelSays5UInt8VGvs(_impl::swift_interop_passDirect_SCompressLib_void_ptr_0_8(swift::_impl::_impl_Array<uint8_t>::getOpaquePointer(value)), _getOpaquePointer());
+  }
+  SWIFT_INLINE_THUNK swift::Array<uint8_t> SDecompressRets::getAlphaChannel() const {
+  return swift::_impl::_impl_Array<uint8_t>::returnNewValue([&](char * _Nonnull result) SWIFT_INLINE_THUNK_ATTRIBUTES {
+    _impl::swift_interop_returnDirect_SCompressLib_void_ptr_0_8(result, _impl::$s12SCompressLib15SDecompressRetsV12alphaChannelSays5UInt8VGvg(_getOpaquePointer()));
+  });
+  }
+  SWIFT_INLINE_THUNK void SDecompressRets::setAlphaChannel(const swift::Array<uint8_t>& value) {
+  return _impl::$s12SCompressLib15SDecompressRetsV12alphaChannelSays5UInt8VGvs(_impl::swift_interop_passDirect_SCompressLib_void_ptr_0_8(swift::_impl::_impl_Array<uint8_t>::getOpaquePointer(value)), _getOpaquePointer());
+  }
+  SWIFT_INLINE_THUNK SPicZipApi SPicZipApi::init() {
+  return _impl::_impl_SPicZipApi::returnNewValue([&](char * _Nonnull result) SWIFT_INLINE_THUNK_ATTRIBUTES {
+    _impl::$s12SCompressLib10SPicZipApiVACycfC(result);
+  });
+  }
+  SWIFT_INLINE_THUNK void SPicZipApi::Compress(const SCompressParam& compressParam) const {
+  return _impl::$s12SCompressLib10SPicZipApiV8Compress13compressParamyAA0aH0V_tF(_impl::_impl_SCompressParam::getOpaquePointer(compressParam), _getOpaquePointer());
+  }
+  SWIFT_INLINE_THUNK void SPicZipApi::Decompress(uint32_t id, const swift::Array<uint8_t>& fileBuffer) const {
+  return _impl::$s12SCompressLib10SPicZipApiV10Decompress2id10fileBufferys6UInt32V_Says5UInt8VGtF(id, _impl::swift_interop_passDirect_SCompressLib_void_ptr_0_8(swift::_impl::_impl_Array<uint8_t>::getOpaquePointer(fileBuffer)), _getOpaquePointer());
+  }
+
+class PicZipEvent { } SWIFT_UNAVAILABLE_MSG("protocol 'PicZipEvent' can not yet be represented in C++");
+
+// Unavailable in C++: Swift global function 'SetZipEvent(picEvent:)'.
+
+} // namespace SCompressLib
+
+#undef SWIFT_SYMBOL
+#endif
+#pragma clang diagnostic pop
+#endif
+
+#else
+#error unsupported Swift architecture
+#endif
diff --git a/MixSdk/Example/SCompressLib.framework/Headers/SCompressLib.h b/MixSdk/Example/SCompressLib.framework/Headers/SCompressLib.h
new file mode 100644 (file)
index 0000000..7a1cbf2
--- /dev/null
@@ -0,0 +1,18 @@
+//
+//  SCompressLib.h
+//  SCompressLib
+//
+//  Created by l30037444 on 2023/10/26.
+//
+
+#import <Foundation/Foundation.h>
+
+//! Project version number for SCompressLib.
+FOUNDATION_EXPORT double SCompressLibVersionNumber;
+
+//! Project version string for SCompressLib.
+FOUNDATION_EXPORT const unsigned char SCompressLibVersionString[];
+
+// In this header, you should import all the public headers of your framework using statements like #import <SCompressLib/PublicHeader.h>
+
+#import <SCompressLib/CPicZipApi.hpp>
diff --git a/MixSdk/Example/SCompressLib.framework/ICE_V5R1_BLOCK_HTC.cfg b/MixSdk/Example/SCompressLib.framework/ICE_V5R1_BLOCK_HTC.cfg
new file mode 100644 (file)
index 0000000..c79a4af
--- /dev/null
@@ -0,0 +1,28 @@
+input_file                 = "sample_A044_020.bgra8888" #"msaa__width_1__theta_whole.data"\r
+                           #"06_crossCountryskiing_sportrecord_notarget_7.bgra8888" \r
+                           #"A007_compress_card_copy_4_454_454_480x460.bgra8888" \r
+                           #"sample_A034_011_240x240.bgra8888" #sample_A035_007_240x240 #A007_compress_imply_454_454_480x460\r
+                           #A009_adjust_success_454_454_480x460 #A008_breath_rhythm_454_454_480x460 #A010_compass_454_454_480x460\r
+                           #sample_A047_002_400x400 #A010_compass_chinese_edtion_454_454_480x460 #A010_compass_obstructed_454_454_480x460\r
+                           #A008_breath_start_454_454_480x460 #A008_breath5inspiration_908_908_960x960\r
+                           #watch_1_250_250_256x256\r
+output_file                 = "test.yuv"  \r
+cmp_ratio_file           = "cmp_ratio.txt"                        \r
+bs_file                     = "11.bs"    \r
+head_file                = "11.head"                                    \r
+is_enc                     = 1\r
+frm_start                 = 0\r
+frm_len                  = 1                       \r
+cmp_mode                 = 0          # 0 -- cmp 1 -- bypass            \r
+frame_width                 = 154  \r
+frame_height             = 154 \r
+pix_format                 = 4          #0 -- YUV420 1 -- YUV422  2 -- YUV444 3 -- rgb  4 -- argb 5 -- RGBW \r
+is_rgb_offline           = 0          #0 -- rgb   cmp online         1 -- alpha cmp offline\r
+is_a_offline             = 0          #0 -- alpha cmp online         1 -- alpha cmp offline\r
+is_a_bypass              = 0          #0 -- bit truncation(2x 4 bit) 1 -- bypass\r
+bit_depth                = 0          #0 -- 8bit   1-- 10 bit   2 -- 12bit  3 -- 14bit\r
+ratio                     = 3          #cmp ratio of RGB (Alpha 2x only)\r
+\r
+###### graphic paras ######\r
+grph_en                  = 1    \r
+grph_loss_thr             = 286331153  #0x11111111                      \r
diff --git a/MixSdk/Example/SCompressLib.framework/ICE_V5R1_BLOCK_HTC_RM.cfg b/MixSdk/Example/SCompressLib.framework/ICE_V5R1_BLOCK_HTC_RM.cfg
new file mode 100644 (file)
index 0000000..4232a27
--- /dev/null
@@ -0,0 +1,34 @@
+input_file                 = "A100_079.rgb" #"sample_A061_022.bgra8888" #466_chinese_cvt_466x466.bgra8888\r
+output_file              = "A100_079_4x.rgb"\r
+bs_file                     = "A100_028_4x.bs" #"sample_A061_022.astc"\r
+is_enc                   = 1\r
+cmp_mode                 = 0\r
+frame_width              = 82\r
+frame_height             = 94\r
+pix_format               = 0      # 0-- rgb888_packed  1-- argb8888_packed  2-- rgb565_packed, 1 pixel takes 2byte, MSB-rrrrrggggggbbbbb-LSB\r
+profile                  = 1      # 0-- ASTC(2D 4x4 sRGB) only   1-- HTC;\r
+                                  # profile 0 is a subset of profile 1, but has a different file header\r
+                                  # profile 0 is disallowed when rgb565 (pix_format: 2)\r
+ut_type_mode             = 0\r
+\r
+######## ***** OFFLINE ***** ########\r
+stride                   = 82    # image stride in pixel, default equal to frame_width, \r
+tile_width               = 4     # TILE size: 4-- 4x4, 6-- 6x4, 8-- 8x4, 16-- 16x4\r
+mode_alpha               = 1      # 0-- A_BYPASS,  1-- A_MERGE,   2-- A_SEPARATE, 3-- A_CONST,   4-- A_BINARY; valid only if pixel format is argb\r
+                                    ### A_BYPASS: alpha bypass\r
+                                    ### A_MERGE: alpha is compressed with rgb as argb\r
+                                    ### A_SEPARATE: alpha is compressed separately in 2x\r
+                                    ### A_CONST: alpha is treated as a constant value which symbolized in file header\r
+                                    ### A_BINARY: only 2 values available, the 2 values are both symbolized in file header, typically 0 or 255\r
+mode_rgb                 = 1      # 0-- RGB_BYPASS, 1-- RGB_ASTC, 2-- RGB_TABLE,  3-- RGB_CONST ,4-- RGB_BINARY\r
+                                    ### RGB_BYPASS: rgb bypass\r
+                                    ### RGB_ASTC: rgb or argb is compressed using ASTC-based tool\r
+                                    ### RGB_TABLE: only 4 colors available, the 4 colos are both symbolized in file header\r
+                                    ### RGB_CONST: all pixels are treated as a constant value which symbolized in file header\r
+                                    ### RGB_BINARY: only 2 colors available, the 2 colos are both symbolized in file header\r
+\r
+\r
+######## *****  ONLINE  ***** ########\r
+#is_a_offline            = 1      # 0 -- alpha cmp_online  1 -- alpha cmp_offline\r
+#is_a_bypass             = 0      # 0 -- alpha cmp 2x      1 -- alpha bypass\r
+#is_lossless             = 0
\ No newline at end of file
diff --git a/MixSdk/Example/SCompressLib.framework/Info.plist b/MixSdk/Example/SCompressLib.framework/Info.plist
new file mode 100644 (file)
index 0000000..0bd31a4
Binary files /dev/null and b/MixSdk/Example/SCompressLib.framework/Info.plist differ
diff --git a/MixSdk/Example/SCompressLib.framework/Modules/SCompressLib.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo b/MixSdk/Example/SCompressLib.framework/Modules/SCompressLib.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo
new file mode 100644 (file)
index 0000000..0ca8a17
Binary files /dev/null and b/MixSdk/Example/SCompressLib.framework/Modules/SCompressLib.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo differ
diff --git a/MixSdk/Example/SCompressLib.framework/Modules/SCompressLib.swiftmodule/arm64-apple-ios.abi.json b/MixSdk/Example/SCompressLib.framework/Modules/SCompressLib.swiftmodule/arm64-apple-ios.abi.json
new file mode 100644 (file)
index 0000000..285192e
--- /dev/null
@@ -0,0 +1,2633 @@
+{
+  "ABIRoot": {
+    "kind": "Root",
+    "name": "TopLevel",
+    "printedName": "TopLevel",
+    "children": [
+      {
+        "kind": "Import",
+        "name": "Foundation",
+        "printedName": "Foundation",
+        "declKind": "Import",
+        "moduleName": "SCompressLib",
+        "declAttributes": [
+          "RawDocComment"
+        ]
+      },
+      {
+        "kind": "TypeDecl",
+        "name": "SPicZipApi",
+        "printedName": "SPicZipApi",
+        "children": [
+          {
+            "kind": "Constructor",
+            "name": "init",
+            "printedName": "init()",
+            "children": [
+              {
+                "kind": "TypeNominal",
+                "name": "SPicZipApi",
+                "printedName": "SCompressLib.SPicZipApi",
+                "usr": "s:12SCompressLib10SPicZipApiV"
+              }
+            ],
+            "declKind": "Constructor",
+            "usr": "s:12SCompressLib10SPicZipApiVACycfc",
+            "mangledName": "$s12SCompressLib10SPicZipApiVACycfc",
+            "moduleName": "SCompressLib",
+            "declAttributes": [
+              "AccessControl"
+            ],
+            "init_kind": "Designated"
+          },
+          {
+            "kind": "Function",
+            "name": "Compress",
+            "printedName": "Compress(compressParam:)",
+            "children": [
+              {
+                "kind": "TypeNominal",
+                "name": "Void",
+                "printedName": "()"
+              },
+              {
+                "kind": "TypeNominal",
+                "name": "SCompressParam",
+                "printedName": "SCompressLib.SCompressParam",
+                "usr": "s:12SCompressLib0A5ParamV"
+              }
+            ],
+            "declKind": "Func",
+            "usr": "s:12SCompressLib10SPicZipApiV8Compress13compressParamyAA0aH0V_tF",
+            "mangledName": "$s12SCompressLib10SPicZipApiV8Compress13compressParamyAA0aH0V_tF",
+            "moduleName": "SCompressLib",
+            "declAttributes": [
+              "AccessControl"
+            ],
+            "funcSelfKind": "NonMutating"
+          },
+          {
+            "kind": "Function",
+            "name": "Decompress",
+            "printedName": "Decompress(id:fileBuffer:)",
+            "children": [
+              {
+                "kind": "TypeNominal",
+                "name": "Void",
+                "printedName": "()"
+              },
+              {
+                "kind": "TypeNominal",
+                "name": "UInt32",
+                "printedName": "Swift.UInt32",
+                "usr": "s:s6UInt32V"
+              },
+              {
+                "kind": "TypeNominal",
+                "name": "Array",
+                "printedName": "[Swift.UInt8]",
+                "children": [
+                  {
+                    "kind": "TypeNominal",
+                    "name": "UInt8",
+                    "printedName": "Swift.UInt8",
+                    "usr": "s:s5UInt8V"
+                  }
+                ],
+                "usr": "s:Sa"
+              }
+            ],
+            "declKind": "Func",
+            "usr": "s:12SCompressLib10SPicZipApiV10Decompress2id10fileBufferys6UInt32V_Says5UInt8VGtF",
+            "mangledName": "$s12SCompressLib10SPicZipApiV10Decompress2id10fileBufferys6UInt32V_Says5UInt8VGtF",
+            "moduleName": "SCompressLib",
+            "declAttributes": [
+              "AccessControl"
+            ],
+            "funcSelfKind": "NonMutating"
+          }
+        ],
+        "declKind": "Struct",
+        "usr": "s:12SCompressLib10SPicZipApiV",
+        "mangledName": "$s12SCompressLib10SPicZipApiV",
+        "moduleName": "SCompressLib",
+        "declAttributes": [
+          "AccessControl"
+        ]
+      },
+      {
+        "kind": "Import",
+        "name": "Foundation",
+        "printedName": "Foundation",
+        "declKind": "Import",
+        "moduleName": "SCompressLib",
+        "declAttributes": [
+          "RawDocComment"
+        ]
+      },
+      {
+        "kind": "TypeDecl",
+        "name": "SDecompressRets",
+        "printedName": "SDecompressRets",
+        "children": [
+          {
+            "kind": "Constructor",
+            "name": "init",
+            "printedName": "init()",
+            "children": [
+              {
+                "kind": "TypeNominal",
+                "name": "SDecompressRets",
+                "printedName": "SCompressLib.SDecompressRets",
+                "usr": "s:12SCompressLib15SDecompressRetsV"
+              }
+            ],
+            "declKind": "Constructor",
+            "usr": "s:12SCompressLib15SDecompressRetsVACycfc",
+            "mangledName": "$s12SCompressLib15SDecompressRetsVACycfc",
+            "moduleName": "SCompressLib",
+            "declAttributes": [
+              "AccessControl"
+            ],
+            "init_kind": "Designated"
+          },
+          {
+            "kind": "Var",
+            "name": "width",
+            "printedName": "width",
+            "children": [
+              {
+                "kind": "TypeNominal",
+                "name": "Int32",
+                "printedName": "Swift.Int32",
+                "usr": "s:s5Int32V"
+              }
+            ],
+            "declKind": "Var",
+            "usr": "s:12SCompressLib15SDecompressRetsV5widths5Int32Vvp",
+            "mangledName": "$s12SCompressLib15SDecompressRetsV5widths5Int32Vvp",
+            "moduleName": "SCompressLib",
+            "declAttributes": [
+              "HasStorage",
+              "AccessControl"
+            ],
+            "hasStorage": true,
+            "accessors": [
+              {
+                "kind": "Accessor",
+                "name": "Get",
+                "printedName": "Get()",
+                "children": [
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Int32",
+                    "printedName": "Swift.Int32",
+                    "usr": "s:s5Int32V"
+                  }
+                ],
+                "declKind": "Accessor",
+                "usr": "s:12SCompressLib15SDecompressRetsV5widths5Int32Vvg",
+                "mangledName": "$s12SCompressLib15SDecompressRetsV5widths5Int32Vvg",
+                "moduleName": "SCompressLib",
+                "implicit": true,
+                "accessorKind": "get"
+              },
+              {
+                "kind": "Accessor",
+                "name": "Set",
+                "printedName": "Set()",
+                "children": [
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Void",
+                    "printedName": "()"
+                  },
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Int32",
+                    "printedName": "Swift.Int32",
+                    "usr": "s:s5Int32V"
+                  }
+                ],
+                "declKind": "Accessor",
+                "usr": "s:12SCompressLib15SDecompressRetsV5widths5Int32Vvs",
+                "mangledName": "$s12SCompressLib15SDecompressRetsV5widths5Int32Vvs",
+                "moduleName": "SCompressLib",
+                "implicit": true,
+                "accessorKind": "set"
+              },
+              {
+                "kind": "Accessor",
+                "name": "Modify",
+                "printedName": "Modify()",
+                "children": [
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Void",
+                    "printedName": "()"
+                  }
+                ],
+                "declKind": "Accessor",
+                "usr": "s:12SCompressLib15SDecompressRetsV5widths5Int32VvM",
+                "mangledName": "$s12SCompressLib15SDecompressRetsV5widths5Int32VvM",
+                "moduleName": "SCompressLib",
+                "implicit": true,
+                "accessorKind": "_modify"
+              }
+            ]
+          },
+          {
+            "kind": "Var",
+            "name": "height",
+            "printedName": "height",
+            "children": [
+              {
+                "kind": "TypeNominal",
+                "name": "Int32",
+                "printedName": "Swift.Int32",
+                "usr": "s:s5Int32V"
+              }
+            ],
+            "declKind": "Var",
+            "usr": "s:12SCompressLib15SDecompressRetsV6heights5Int32Vvp",
+            "mangledName": "$s12SCompressLib15SDecompressRetsV6heights5Int32Vvp",
+            "moduleName": "SCompressLib",
+            "declAttributes": [
+              "HasStorage",
+              "AccessControl"
+            ],
+            "hasStorage": true,
+            "accessors": [
+              {
+                "kind": "Accessor",
+                "name": "Get",
+                "printedName": "Get()",
+                "children": [
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Int32",
+                    "printedName": "Swift.Int32",
+                    "usr": "s:s5Int32V"
+                  }
+                ],
+                "declKind": "Accessor",
+                "usr": "s:12SCompressLib15SDecompressRetsV6heights5Int32Vvg",
+                "mangledName": "$s12SCompressLib15SDecompressRetsV6heights5Int32Vvg",
+                "moduleName": "SCompressLib",
+                "implicit": true,
+                "accessorKind": "get"
+              },
+              {
+                "kind": "Accessor",
+                "name": "Set",
+                "printedName": "Set()",
+                "children": [
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Void",
+                    "printedName": "()"
+                  },
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Int32",
+                    "printedName": "Swift.Int32",
+                    "usr": "s:s5Int32V"
+                  }
+                ],
+                "declKind": "Accessor",
+                "usr": "s:12SCompressLib15SDecompressRetsV6heights5Int32Vvs",
+                "mangledName": "$s12SCompressLib15SDecompressRetsV6heights5Int32Vvs",
+                "moduleName": "SCompressLib",
+                "implicit": true,
+                "accessorKind": "set"
+              },
+              {
+                "kind": "Accessor",
+                "name": "Modify",
+                "printedName": "Modify()",
+                "children": [
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Void",
+                    "printedName": "()"
+                  }
+                ],
+                "declKind": "Accessor",
+                "usr": "s:12SCompressLib15SDecompressRetsV6heights5Int32VvM",
+                "mangledName": "$s12SCompressLib15SDecompressRetsV6heights5Int32VvM",
+                "moduleName": "SCompressLib",
+                "implicit": true,
+                "accessorKind": "_modify"
+              }
+            ]
+          },
+          {
+            "kind": "Var",
+            "name": "format",
+            "printedName": "format",
+            "children": [
+              {
+                "kind": "TypeNominal",
+                "name": "Int32",
+                "printedName": "Swift.Int32",
+                "usr": "s:s5Int32V"
+              }
+            ],
+            "declKind": "Var",
+            "usr": "s:12SCompressLib15SDecompressRetsV6formats5Int32Vvp",
+            "mangledName": "$s12SCompressLib15SDecompressRetsV6formats5Int32Vvp",
+            "moduleName": "SCompressLib",
+            "declAttributes": [
+              "HasStorage",
+              "AccessControl"
+            ],
+            "hasStorage": true,
+            "accessors": [
+              {
+                "kind": "Accessor",
+                "name": "Get",
+                "printedName": "Get()",
+                "children": [
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Int32",
+                    "printedName": "Swift.Int32",
+                    "usr": "s:s5Int32V"
+                  }
+                ],
+                "declKind": "Accessor",
+                "usr": "s:12SCompressLib15SDecompressRetsV6formats5Int32Vvg",
+                "mangledName": "$s12SCompressLib15SDecompressRetsV6formats5Int32Vvg",
+                "moduleName": "SCompressLib",
+                "implicit": true,
+                "accessorKind": "get"
+              },
+              {
+                "kind": "Accessor",
+                "name": "Set",
+                "printedName": "Set()",
+                "children": [
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Void",
+                    "printedName": "()"
+                  },
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Int32",
+                    "printedName": "Swift.Int32",
+                    "usr": "s:s5Int32V"
+                  }
+                ],
+                "declKind": "Accessor",
+                "usr": "s:12SCompressLib15SDecompressRetsV6formats5Int32Vvs",
+                "mangledName": "$s12SCompressLib15SDecompressRetsV6formats5Int32Vvs",
+                "moduleName": "SCompressLib",
+                "implicit": true,
+                "accessorKind": "set"
+              },
+              {
+                "kind": "Accessor",
+                "name": "Modify",
+                "printedName": "Modify()",
+                "children": [
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Void",
+                    "printedName": "()"
+                  }
+                ],
+                "declKind": "Accessor",
+                "usr": "s:12SCompressLib15SDecompressRetsV6formats5Int32VvM",
+                "mangledName": "$s12SCompressLib15SDecompressRetsV6formats5Int32VvM",
+                "moduleName": "SCompressLib",
+                "implicit": true,
+                "accessorKind": "_modify"
+              }
+            ]
+          },
+          {
+            "kind": "Var",
+            "name": "redChannel",
+            "printedName": "redChannel",
+            "children": [
+              {
+                "kind": "TypeNominal",
+                "name": "Array",
+                "printedName": "[Swift.UInt8]",
+                "children": [
+                  {
+                    "kind": "TypeNominal",
+                    "name": "UInt8",
+                    "printedName": "Swift.UInt8",
+                    "usr": "s:s5UInt8V"
+                  }
+                ],
+                "usr": "s:Sa"
+              }
+            ],
+            "declKind": "Var",
+            "usr": "s:12SCompressLib15SDecompressRetsV10redChannelSays5UInt8VGvp",
+            "mangledName": "$s12SCompressLib15SDecompressRetsV10redChannelSays5UInt8VGvp",
+            "moduleName": "SCompressLib",
+            "declAttributes": [
+              "HasStorage",
+              "AccessControl"
+            ],
+            "hasStorage": true,
+            "accessors": [
+              {
+                "kind": "Accessor",
+                "name": "Get",
+                "printedName": "Get()",
+                "children": [
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Array",
+                    "printedName": "[Swift.UInt8]",
+                    "children": [
+                      {
+                        "kind": "TypeNominal",
+                        "name": "UInt8",
+                        "printedName": "Swift.UInt8",
+                        "usr": "s:s5UInt8V"
+                      }
+                    ],
+                    "usr": "s:Sa"
+                  }
+                ],
+                "declKind": "Accessor",
+                "usr": "s:12SCompressLib15SDecompressRetsV10redChannelSays5UInt8VGvg",
+                "mangledName": "$s12SCompressLib15SDecompressRetsV10redChannelSays5UInt8VGvg",
+                "moduleName": "SCompressLib",
+                "implicit": true,
+                "accessorKind": "get"
+              },
+              {
+                "kind": "Accessor",
+                "name": "Set",
+                "printedName": "Set()",
+                "children": [
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Void",
+                    "printedName": "()"
+                  },
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Array",
+                    "printedName": "[Swift.UInt8]",
+                    "children": [
+                      {
+                        "kind": "TypeNominal",
+                        "name": "UInt8",
+                        "printedName": "Swift.UInt8",
+                        "usr": "s:s5UInt8V"
+                      }
+                    ],
+                    "usr": "s:Sa"
+                  }
+                ],
+                "declKind": "Accessor",
+                "usr": "s:12SCompressLib15SDecompressRetsV10redChannelSays5UInt8VGvs",
+                "mangledName": "$s12SCompressLib15SDecompressRetsV10redChannelSays5UInt8VGvs",
+                "moduleName": "SCompressLib",
+                "implicit": true,
+                "accessorKind": "set"
+              },
+              {
+                "kind": "Accessor",
+                "name": "Modify",
+                "printedName": "Modify()",
+                "children": [
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Void",
+                    "printedName": "()"
+                  }
+                ],
+                "declKind": "Accessor",
+                "usr": "s:12SCompressLib15SDecompressRetsV10redChannelSays5UInt8VGvM",
+                "mangledName": "$s12SCompressLib15SDecompressRetsV10redChannelSays5UInt8VGvM",
+                "moduleName": "SCompressLib",
+                "implicit": true,
+                "accessorKind": "_modify"
+              }
+            ]
+          },
+          {
+            "kind": "Var",
+            "name": "greenChannel",
+            "printedName": "greenChannel",
+            "children": [
+              {
+                "kind": "TypeNominal",
+                "name": "Array",
+                "printedName": "[Swift.UInt8]",
+                "children": [
+                  {
+                    "kind": "TypeNominal",
+                    "name": "UInt8",
+                    "printedName": "Swift.UInt8",
+                    "usr": "s:s5UInt8V"
+                  }
+                ],
+                "usr": "s:Sa"
+              }
+            ],
+            "declKind": "Var",
+            "usr": "s:12SCompressLib15SDecompressRetsV12greenChannelSays5UInt8VGvp",
+            "mangledName": "$s12SCompressLib15SDecompressRetsV12greenChannelSays5UInt8VGvp",
+            "moduleName": "SCompressLib",
+            "declAttributes": [
+              "HasStorage",
+              "AccessControl"
+            ],
+            "hasStorage": true,
+            "accessors": [
+              {
+                "kind": "Accessor",
+                "name": "Get",
+                "printedName": "Get()",
+                "children": [
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Array",
+                    "printedName": "[Swift.UInt8]",
+                    "children": [
+                      {
+                        "kind": "TypeNominal",
+                        "name": "UInt8",
+                        "printedName": "Swift.UInt8",
+                        "usr": "s:s5UInt8V"
+                      }
+                    ],
+                    "usr": "s:Sa"
+                  }
+                ],
+                "declKind": "Accessor",
+                "usr": "s:12SCompressLib15SDecompressRetsV12greenChannelSays5UInt8VGvg",
+                "mangledName": "$s12SCompressLib15SDecompressRetsV12greenChannelSays5UInt8VGvg",
+                "moduleName": "SCompressLib",
+                "implicit": true,
+                "accessorKind": "get"
+              },
+              {
+                "kind": "Accessor",
+                "name": "Set",
+                "printedName": "Set()",
+                "children": [
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Void",
+                    "printedName": "()"
+                  },
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Array",
+                    "printedName": "[Swift.UInt8]",
+                    "children": [
+                      {
+                        "kind": "TypeNominal",
+                        "name": "UInt8",
+                        "printedName": "Swift.UInt8",
+                        "usr": "s:s5UInt8V"
+                      }
+                    ],
+                    "usr": "s:Sa"
+                  }
+                ],
+                "declKind": "Accessor",
+                "usr": "s:12SCompressLib15SDecompressRetsV12greenChannelSays5UInt8VGvs",
+                "mangledName": "$s12SCompressLib15SDecompressRetsV12greenChannelSays5UInt8VGvs",
+                "moduleName": "SCompressLib",
+                "implicit": true,
+                "accessorKind": "set"
+              },
+              {
+                "kind": "Accessor",
+                "name": "Modify",
+                "printedName": "Modify()",
+                "children": [
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Void",
+                    "printedName": "()"
+                  }
+                ],
+                "declKind": "Accessor",
+                "usr": "s:12SCompressLib15SDecompressRetsV12greenChannelSays5UInt8VGvM",
+                "mangledName": "$s12SCompressLib15SDecompressRetsV12greenChannelSays5UInt8VGvM",
+                "moduleName": "SCompressLib",
+                "implicit": true,
+                "accessorKind": "_modify"
+              }
+            ]
+          },
+          {
+            "kind": "Var",
+            "name": "blueChannel",
+            "printedName": "blueChannel",
+            "children": [
+              {
+                "kind": "TypeNominal",
+                "name": "Array",
+                "printedName": "[Swift.UInt8]",
+                "children": [
+                  {
+                    "kind": "TypeNominal",
+                    "name": "UInt8",
+                    "printedName": "Swift.UInt8",
+                    "usr": "s:s5UInt8V"
+                  }
+                ],
+                "usr": "s:Sa"
+              }
+            ],
+            "declKind": "Var",
+            "usr": "s:12SCompressLib15SDecompressRetsV11blueChannelSays5UInt8VGvp",
+            "mangledName": "$s12SCompressLib15SDecompressRetsV11blueChannelSays5UInt8VGvp",
+            "moduleName": "SCompressLib",
+            "declAttributes": [
+              "HasStorage",
+              "AccessControl"
+            ],
+            "hasStorage": true,
+            "accessors": [
+              {
+                "kind": "Accessor",
+                "name": "Get",
+                "printedName": "Get()",
+                "children": [
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Array",
+                    "printedName": "[Swift.UInt8]",
+                    "children": [
+                      {
+                        "kind": "TypeNominal",
+                        "name": "UInt8",
+                        "printedName": "Swift.UInt8",
+                        "usr": "s:s5UInt8V"
+                      }
+                    ],
+                    "usr": "s:Sa"
+                  }
+                ],
+                "declKind": "Accessor",
+                "usr": "s:12SCompressLib15SDecompressRetsV11blueChannelSays5UInt8VGvg",
+                "mangledName": "$s12SCompressLib15SDecompressRetsV11blueChannelSays5UInt8VGvg",
+                "moduleName": "SCompressLib",
+                "implicit": true,
+                "accessorKind": "get"
+              },
+              {
+                "kind": "Accessor",
+                "name": "Set",
+                "printedName": "Set()",
+                "children": [
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Void",
+                    "printedName": "()"
+                  },
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Array",
+                    "printedName": "[Swift.UInt8]",
+                    "children": [
+                      {
+                        "kind": "TypeNominal",
+                        "name": "UInt8",
+                        "printedName": "Swift.UInt8",
+                        "usr": "s:s5UInt8V"
+                      }
+                    ],
+                    "usr": "s:Sa"
+                  }
+                ],
+                "declKind": "Accessor",
+                "usr": "s:12SCompressLib15SDecompressRetsV11blueChannelSays5UInt8VGvs",
+                "mangledName": "$s12SCompressLib15SDecompressRetsV11blueChannelSays5UInt8VGvs",
+                "moduleName": "SCompressLib",
+                "implicit": true,
+                "accessorKind": "set"
+              },
+              {
+                "kind": "Accessor",
+                "name": "Modify",
+                "printedName": "Modify()",
+                "children": [
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Void",
+                    "printedName": "()"
+                  }
+                ],
+                "declKind": "Accessor",
+                "usr": "s:12SCompressLib15SDecompressRetsV11blueChannelSays5UInt8VGvM",
+                "mangledName": "$s12SCompressLib15SDecompressRetsV11blueChannelSays5UInt8VGvM",
+                "moduleName": "SCompressLib",
+                "implicit": true,
+                "accessorKind": "_modify"
+              }
+            ]
+          },
+          {
+            "kind": "Var",
+            "name": "alphaChannel",
+            "printedName": "alphaChannel",
+            "children": [
+              {
+                "kind": "TypeNominal",
+                "name": "Array",
+                "printedName": "[Swift.UInt8]",
+                "children": [
+                  {
+                    "kind": "TypeNominal",
+                    "name": "UInt8",
+                    "printedName": "Swift.UInt8",
+                    "usr": "s:s5UInt8V"
+                  }
+                ],
+                "usr": "s:Sa"
+              }
+            ],
+            "declKind": "Var",
+            "usr": "s:12SCompressLib15SDecompressRetsV12alphaChannelSays5UInt8VGvp",
+            "mangledName": "$s12SCompressLib15SDecompressRetsV12alphaChannelSays5UInt8VGvp",
+            "moduleName": "SCompressLib",
+            "declAttributes": [
+              "HasStorage",
+              "AccessControl"
+            ],
+            "hasStorage": true,
+            "accessors": [
+              {
+                "kind": "Accessor",
+                "name": "Get",
+                "printedName": "Get()",
+                "children": [
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Array",
+                    "printedName": "[Swift.UInt8]",
+                    "children": [
+                      {
+                        "kind": "TypeNominal",
+                        "name": "UInt8",
+                        "printedName": "Swift.UInt8",
+                        "usr": "s:s5UInt8V"
+                      }
+                    ],
+                    "usr": "s:Sa"
+                  }
+                ],
+                "declKind": "Accessor",
+                "usr": "s:12SCompressLib15SDecompressRetsV12alphaChannelSays5UInt8VGvg",
+                "mangledName": "$s12SCompressLib15SDecompressRetsV12alphaChannelSays5UInt8VGvg",
+                "moduleName": "SCompressLib",
+                "implicit": true,
+                "accessorKind": "get"
+              },
+              {
+                "kind": "Accessor",
+                "name": "Set",
+                "printedName": "Set()",
+                "children": [
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Void",
+                    "printedName": "()"
+                  },
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Array",
+                    "printedName": "[Swift.UInt8]",
+                    "children": [
+                      {
+                        "kind": "TypeNominal",
+                        "name": "UInt8",
+                        "printedName": "Swift.UInt8",
+                        "usr": "s:s5UInt8V"
+                      }
+                    ],
+                    "usr": "s:Sa"
+                  }
+                ],
+                "declKind": "Accessor",
+                "usr": "s:12SCompressLib15SDecompressRetsV12alphaChannelSays5UInt8VGvs",
+                "mangledName": "$s12SCompressLib15SDecompressRetsV12alphaChannelSays5UInt8VGvs",
+                "moduleName": "SCompressLib",
+                "implicit": true,
+                "accessorKind": "set"
+              },
+              {
+                "kind": "Accessor",
+                "name": "Modify",
+                "printedName": "Modify()",
+                "children": [
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Void",
+                    "printedName": "()"
+                  }
+                ],
+                "declKind": "Accessor",
+                "usr": "s:12SCompressLib15SDecompressRetsV12alphaChannelSays5UInt8VGvM",
+                "mangledName": "$s12SCompressLib15SDecompressRetsV12alphaChannelSays5UInt8VGvM",
+                "moduleName": "SCompressLib",
+                "implicit": true,
+                "accessorKind": "_modify"
+              }
+            ]
+          }
+        ],
+        "declKind": "Struct",
+        "usr": "s:12SCompressLib15SDecompressRetsV",
+        "mangledName": "$s12SCompressLib15SDecompressRetsV",
+        "moduleName": "SCompressLib",
+        "declAttributes": [
+          "AccessControl"
+        ]
+      },
+      {
+        "kind": "Import",
+        "name": "Foundation",
+        "printedName": "Foundation",
+        "declKind": "Import",
+        "moduleName": "SCompressLib",
+        "declAttributes": [
+          "RawDocComment"
+        ]
+      },
+      {
+        "kind": "TypeDecl",
+        "name": "SCompressParam",
+        "printedName": "SCompressParam",
+        "children": [
+          {
+            "kind": "Constructor",
+            "name": "init",
+            "printedName": "init()",
+            "children": [
+              {
+                "kind": "TypeNominal",
+                "name": "SCompressParam",
+                "printedName": "SCompressLib.SCompressParam",
+                "usr": "s:12SCompressLib0A5ParamV"
+              }
+            ],
+            "declKind": "Constructor",
+            "usr": "s:12SCompressLib0A5ParamVACycfc",
+            "mangledName": "$s12SCompressLib0A5ParamVACycfc",
+            "moduleName": "SCompressLib",
+            "declAttributes": [
+              "AccessControl"
+            ],
+            "init_kind": "Designated"
+          },
+          {
+            "kind": "Var",
+            "name": "id",
+            "printedName": "id",
+            "children": [
+              {
+                "kind": "TypeNominal",
+                "name": "Int32",
+                "printedName": "Swift.Int32",
+                "usr": "s:s5Int32V"
+              }
+            ],
+            "declKind": "Var",
+            "usr": "s:12SCompressLib0A5ParamV2ids5Int32Vvp",
+            "mangledName": "$s12SCompressLib0A5ParamV2ids5Int32Vvp",
+            "moduleName": "SCompressLib",
+            "declAttributes": [
+              "HasStorage",
+              "AccessControl"
+            ],
+            "hasStorage": true,
+            "accessors": [
+              {
+                "kind": "Accessor",
+                "name": "Get",
+                "printedName": "Get()",
+                "children": [
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Int32",
+                    "printedName": "Swift.Int32",
+                    "usr": "s:s5Int32V"
+                  }
+                ],
+                "declKind": "Accessor",
+                "usr": "s:12SCompressLib0A5ParamV2ids5Int32Vvg",
+                "mangledName": "$s12SCompressLib0A5ParamV2ids5Int32Vvg",
+                "moduleName": "SCompressLib",
+                "implicit": true,
+                "accessorKind": "get"
+              },
+              {
+                "kind": "Accessor",
+                "name": "Set",
+                "printedName": "Set()",
+                "children": [
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Void",
+                    "printedName": "()"
+                  },
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Int32",
+                    "printedName": "Swift.Int32",
+                    "usr": "s:s5Int32V"
+                  }
+                ],
+                "declKind": "Accessor",
+                "usr": "s:12SCompressLib0A5ParamV2ids5Int32Vvs",
+                "mangledName": "$s12SCompressLib0A5ParamV2ids5Int32Vvs",
+                "moduleName": "SCompressLib",
+                "implicit": true,
+                "accessorKind": "set"
+              },
+              {
+                "kind": "Accessor",
+                "name": "Modify",
+                "printedName": "Modify()",
+                "children": [
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Void",
+                    "printedName": "()"
+                  }
+                ],
+                "declKind": "Accessor",
+                "usr": "s:12SCompressLib0A5ParamV2ids5Int32VvM",
+                "mangledName": "$s12SCompressLib0A5ParamV2ids5Int32VvM",
+                "moduleName": "SCompressLib",
+                "implicit": true,
+                "accessorKind": "_modify"
+              }
+            ]
+          },
+          {
+            "kind": "Var",
+            "name": "width",
+            "printedName": "width",
+            "children": [
+              {
+                "kind": "TypeNominal",
+                "name": "Int32",
+                "printedName": "Swift.Int32",
+                "usr": "s:s5Int32V"
+              }
+            ],
+            "declKind": "Var",
+            "usr": "s:12SCompressLib0A5ParamV5widths5Int32Vvp",
+            "mangledName": "$s12SCompressLib0A5ParamV5widths5Int32Vvp",
+            "moduleName": "SCompressLib",
+            "declAttributes": [
+              "HasStorage",
+              "AccessControl"
+            ],
+            "hasStorage": true,
+            "accessors": [
+              {
+                "kind": "Accessor",
+                "name": "Get",
+                "printedName": "Get()",
+                "children": [
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Int32",
+                    "printedName": "Swift.Int32",
+                    "usr": "s:s5Int32V"
+                  }
+                ],
+                "declKind": "Accessor",
+                "usr": "s:12SCompressLib0A5ParamV5widths5Int32Vvg",
+                "mangledName": "$s12SCompressLib0A5ParamV5widths5Int32Vvg",
+                "moduleName": "SCompressLib",
+                "implicit": true,
+                "accessorKind": "get"
+              },
+              {
+                "kind": "Accessor",
+                "name": "Set",
+                "printedName": "Set()",
+                "children": [
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Void",
+                    "printedName": "()"
+                  },
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Int32",
+                    "printedName": "Swift.Int32",
+                    "usr": "s:s5Int32V"
+                  }
+                ],
+                "declKind": "Accessor",
+                "usr": "s:12SCompressLib0A5ParamV5widths5Int32Vvs",
+                "mangledName": "$s12SCompressLib0A5ParamV5widths5Int32Vvs",
+                "moduleName": "SCompressLib",
+                "implicit": true,
+                "accessorKind": "set"
+              },
+              {
+                "kind": "Accessor",
+                "name": "Modify",
+                "printedName": "Modify()",
+                "children": [
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Void",
+                    "printedName": "()"
+                  }
+                ],
+                "declKind": "Accessor",
+                "usr": "s:12SCompressLib0A5ParamV5widths5Int32VvM",
+                "mangledName": "$s12SCompressLib0A5ParamV5widths5Int32VvM",
+                "moduleName": "SCompressLib",
+                "implicit": true,
+                "accessorKind": "_modify"
+              }
+            ]
+          },
+          {
+            "kind": "Var",
+            "name": "height",
+            "printedName": "height",
+            "children": [
+              {
+                "kind": "TypeNominal",
+                "name": "Int32",
+                "printedName": "Swift.Int32",
+                "usr": "s:s5Int32V"
+              }
+            ],
+            "declKind": "Var",
+            "usr": "s:12SCompressLib0A5ParamV6heights5Int32Vvp",
+            "mangledName": "$s12SCompressLib0A5ParamV6heights5Int32Vvp",
+            "moduleName": "SCompressLib",
+            "declAttributes": [
+              "HasStorage",
+              "AccessControl"
+            ],
+            "hasStorage": true,
+            "accessors": [
+              {
+                "kind": "Accessor",
+                "name": "Get",
+                "printedName": "Get()",
+                "children": [
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Int32",
+                    "printedName": "Swift.Int32",
+                    "usr": "s:s5Int32V"
+                  }
+                ],
+                "declKind": "Accessor",
+                "usr": "s:12SCompressLib0A5ParamV6heights5Int32Vvg",
+                "mangledName": "$s12SCompressLib0A5ParamV6heights5Int32Vvg",
+                "moduleName": "SCompressLib",
+                "implicit": true,
+                "accessorKind": "get"
+              },
+              {
+                "kind": "Accessor",
+                "name": "Set",
+                "printedName": "Set()",
+                "children": [
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Void",
+                    "printedName": "()"
+                  },
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Int32",
+                    "printedName": "Swift.Int32",
+                    "usr": "s:s5Int32V"
+                  }
+                ],
+                "declKind": "Accessor",
+                "usr": "s:12SCompressLib0A5ParamV6heights5Int32Vvs",
+                "mangledName": "$s12SCompressLib0A5ParamV6heights5Int32Vvs",
+                "moduleName": "SCompressLib",
+                "implicit": true,
+                "accessorKind": "set"
+              },
+              {
+                "kind": "Accessor",
+                "name": "Modify",
+                "printedName": "Modify()",
+                "children": [
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Void",
+                    "printedName": "()"
+                  }
+                ],
+                "declKind": "Accessor",
+                "usr": "s:12SCompressLib0A5ParamV6heights5Int32VvM",
+                "mangledName": "$s12SCompressLib0A5ParamV6heights5Int32VvM",
+                "moduleName": "SCompressLib",
+                "implicit": true,
+                "accessorKind": "_modify"
+              }
+            ]
+          },
+          {
+            "kind": "Var",
+            "name": "stride",
+            "printedName": "stride",
+            "children": [
+              {
+                "kind": "TypeNominal",
+                "name": "Int32",
+                "printedName": "Swift.Int32",
+                "usr": "s:s5Int32V"
+              }
+            ],
+            "declKind": "Var",
+            "usr": "s:12SCompressLib0A5ParamV6strides5Int32Vvp",
+            "mangledName": "$s12SCompressLib0A5ParamV6strides5Int32Vvp",
+            "moduleName": "SCompressLib",
+            "declAttributes": [
+              "HasStorage",
+              "AccessControl"
+            ],
+            "hasStorage": true,
+            "accessors": [
+              {
+                "kind": "Accessor",
+                "name": "Get",
+                "printedName": "Get()",
+                "children": [
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Int32",
+                    "printedName": "Swift.Int32",
+                    "usr": "s:s5Int32V"
+                  }
+                ],
+                "declKind": "Accessor",
+                "usr": "s:12SCompressLib0A5ParamV6strides5Int32Vvg",
+                "mangledName": "$s12SCompressLib0A5ParamV6strides5Int32Vvg",
+                "moduleName": "SCompressLib",
+                "implicit": true,
+                "accessorKind": "get"
+              },
+              {
+                "kind": "Accessor",
+                "name": "Set",
+                "printedName": "Set()",
+                "children": [
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Void",
+                    "printedName": "()"
+                  },
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Int32",
+                    "printedName": "Swift.Int32",
+                    "usr": "s:s5Int32V"
+                  }
+                ],
+                "declKind": "Accessor",
+                "usr": "s:12SCompressLib0A5ParamV6strides5Int32Vvs",
+                "mangledName": "$s12SCompressLib0A5ParamV6strides5Int32Vvs",
+                "moduleName": "SCompressLib",
+                "implicit": true,
+                "accessorKind": "set"
+              },
+              {
+                "kind": "Accessor",
+                "name": "Modify",
+                "printedName": "Modify()",
+                "children": [
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Void",
+                    "printedName": "()"
+                  }
+                ],
+                "declKind": "Accessor",
+                "usr": "s:12SCompressLib0A5ParamV6strides5Int32VvM",
+                "mangledName": "$s12SCompressLib0A5ParamV6strides5Int32VvM",
+                "moduleName": "SCompressLib",
+                "implicit": true,
+                "accessorKind": "_modify"
+              }
+            ]
+          },
+          {
+            "kind": "Var",
+            "name": "pixelFormat",
+            "printedName": "pixelFormat",
+            "children": [
+              {
+                "kind": "TypeNominal",
+                "name": "Int32",
+                "printedName": "Swift.Int32",
+                "usr": "s:s5Int32V"
+              }
+            ],
+            "declKind": "Var",
+            "usr": "s:12SCompressLib0A5ParamV11pixelFormats5Int32Vvp",
+            "mangledName": "$s12SCompressLib0A5ParamV11pixelFormats5Int32Vvp",
+            "moduleName": "SCompressLib",
+            "declAttributes": [
+              "HasStorage",
+              "AccessControl"
+            ],
+            "hasStorage": true,
+            "accessors": [
+              {
+                "kind": "Accessor",
+                "name": "Get",
+                "printedName": "Get()",
+                "children": [
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Int32",
+                    "printedName": "Swift.Int32",
+                    "usr": "s:s5Int32V"
+                  }
+                ],
+                "declKind": "Accessor",
+                "usr": "s:12SCompressLib0A5ParamV11pixelFormats5Int32Vvg",
+                "mangledName": "$s12SCompressLib0A5ParamV11pixelFormats5Int32Vvg",
+                "moduleName": "SCompressLib",
+                "implicit": true,
+                "accessorKind": "get"
+              },
+              {
+                "kind": "Accessor",
+                "name": "Set",
+                "printedName": "Set()",
+                "children": [
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Void",
+                    "printedName": "()"
+                  },
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Int32",
+                    "printedName": "Swift.Int32",
+                    "usr": "s:s5Int32V"
+                  }
+                ],
+                "declKind": "Accessor",
+                "usr": "s:12SCompressLib0A5ParamV11pixelFormats5Int32Vvs",
+                "mangledName": "$s12SCompressLib0A5ParamV11pixelFormats5Int32Vvs",
+                "moduleName": "SCompressLib",
+                "implicit": true,
+                "accessorKind": "set"
+              },
+              {
+                "kind": "Accessor",
+                "name": "Modify",
+                "printedName": "Modify()",
+                "children": [
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Void",
+                    "printedName": "()"
+                  }
+                ],
+                "declKind": "Accessor",
+                "usr": "s:12SCompressLib0A5ParamV11pixelFormats5Int32VvM",
+                "mangledName": "$s12SCompressLib0A5ParamV11pixelFormats5Int32VvM",
+                "moduleName": "SCompressLib",
+                "implicit": true,
+                "accessorKind": "_modify"
+              }
+            ]
+          },
+          {
+            "kind": "Var",
+            "name": "tileWidth",
+            "printedName": "tileWidth",
+            "children": [
+              {
+                "kind": "TypeNominal",
+                "name": "Int32",
+                "printedName": "Swift.Int32",
+                "usr": "s:s5Int32V"
+              }
+            ],
+            "declKind": "Var",
+            "usr": "s:12SCompressLib0A5ParamV9tileWidths5Int32Vvp",
+            "mangledName": "$s12SCompressLib0A5ParamV9tileWidths5Int32Vvp",
+            "moduleName": "SCompressLib",
+            "declAttributes": [
+              "HasStorage",
+              "AccessControl",
+              "RawDocComment"
+            ],
+            "hasStorage": true,
+            "accessors": [
+              {
+                "kind": "Accessor",
+                "name": "Get",
+                "printedName": "Get()",
+                "children": [
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Int32",
+                    "printedName": "Swift.Int32",
+                    "usr": "s:s5Int32V"
+                  }
+                ],
+                "declKind": "Accessor",
+                "usr": "s:12SCompressLib0A5ParamV9tileWidths5Int32Vvg",
+                "mangledName": "$s12SCompressLib0A5ParamV9tileWidths5Int32Vvg",
+                "moduleName": "SCompressLib",
+                "implicit": true,
+                "accessorKind": "get"
+              },
+              {
+                "kind": "Accessor",
+                "name": "Set",
+                "printedName": "Set()",
+                "children": [
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Void",
+                    "printedName": "()"
+                  },
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Int32",
+                    "printedName": "Swift.Int32",
+                    "usr": "s:s5Int32V"
+                  }
+                ],
+                "declKind": "Accessor",
+                "usr": "s:12SCompressLib0A5ParamV9tileWidths5Int32Vvs",
+                "mangledName": "$s12SCompressLib0A5ParamV9tileWidths5Int32Vvs",
+                "moduleName": "SCompressLib",
+                "implicit": true,
+                "accessorKind": "set"
+              },
+              {
+                "kind": "Accessor",
+                "name": "Modify",
+                "printedName": "Modify()",
+                "children": [
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Void",
+                    "printedName": "()"
+                  }
+                ],
+                "declKind": "Accessor",
+                "usr": "s:12SCompressLib0A5ParamV9tileWidths5Int32VvM",
+                "mangledName": "$s12SCompressLib0A5ParamV9tileWidths5Int32VvM",
+                "moduleName": "SCompressLib",
+                "implicit": true,
+                "accessorKind": "_modify"
+              }
+            ]
+          },
+          {
+            "kind": "Var",
+            "name": "modeAlpha",
+            "printedName": "modeAlpha",
+            "children": [
+              {
+                "kind": "TypeNominal",
+                "name": "Int32",
+                "printedName": "Swift.Int32",
+                "usr": "s:s5Int32V"
+              }
+            ],
+            "declKind": "Var",
+            "usr": "s:12SCompressLib0A5ParamV9modeAlphas5Int32Vvp",
+            "mangledName": "$s12SCompressLib0A5ParamV9modeAlphas5Int32Vvp",
+            "moduleName": "SCompressLib",
+            "declAttributes": [
+              "HasStorage",
+              "AccessControl",
+              "RawDocComment"
+            ],
+            "hasStorage": true,
+            "accessors": [
+              {
+                "kind": "Accessor",
+                "name": "Get",
+                "printedName": "Get()",
+                "children": [
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Int32",
+                    "printedName": "Swift.Int32",
+                    "usr": "s:s5Int32V"
+                  }
+                ],
+                "declKind": "Accessor",
+                "usr": "s:12SCompressLib0A5ParamV9modeAlphas5Int32Vvg",
+                "mangledName": "$s12SCompressLib0A5ParamV9modeAlphas5Int32Vvg",
+                "moduleName": "SCompressLib",
+                "implicit": true,
+                "accessorKind": "get"
+              },
+              {
+                "kind": "Accessor",
+                "name": "Set",
+                "printedName": "Set()",
+                "children": [
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Void",
+                    "printedName": "()"
+                  },
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Int32",
+                    "printedName": "Swift.Int32",
+                    "usr": "s:s5Int32V"
+                  }
+                ],
+                "declKind": "Accessor",
+                "usr": "s:12SCompressLib0A5ParamV9modeAlphas5Int32Vvs",
+                "mangledName": "$s12SCompressLib0A5ParamV9modeAlphas5Int32Vvs",
+                "moduleName": "SCompressLib",
+                "implicit": true,
+                "accessorKind": "set"
+              },
+              {
+                "kind": "Accessor",
+                "name": "Modify",
+                "printedName": "Modify()",
+                "children": [
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Void",
+                    "printedName": "()"
+                  }
+                ],
+                "declKind": "Accessor",
+                "usr": "s:12SCompressLib0A5ParamV9modeAlphas5Int32VvM",
+                "mangledName": "$s12SCompressLib0A5ParamV9modeAlphas5Int32VvM",
+                "moduleName": "SCompressLib",
+                "implicit": true,
+                "accessorKind": "_modify"
+              }
+            ]
+          },
+          {
+            "kind": "Var",
+            "name": "modeRgb",
+            "printedName": "modeRgb",
+            "children": [
+              {
+                "kind": "TypeNominal",
+                "name": "Int32",
+                "printedName": "Swift.Int32",
+                "usr": "s:s5Int32V"
+              }
+            ],
+            "declKind": "Var",
+            "usr": "s:12SCompressLib0A5ParamV7modeRgbs5Int32Vvp",
+            "mangledName": "$s12SCompressLib0A5ParamV7modeRgbs5Int32Vvp",
+            "moduleName": "SCompressLib",
+            "declAttributes": [
+              "HasStorage",
+              "AccessControl",
+              "RawDocComment"
+            ],
+            "hasStorage": true,
+            "accessors": [
+              {
+                "kind": "Accessor",
+                "name": "Get",
+                "printedName": "Get()",
+                "children": [
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Int32",
+                    "printedName": "Swift.Int32",
+                    "usr": "s:s5Int32V"
+                  }
+                ],
+                "declKind": "Accessor",
+                "usr": "s:12SCompressLib0A5ParamV7modeRgbs5Int32Vvg",
+                "mangledName": "$s12SCompressLib0A5ParamV7modeRgbs5Int32Vvg",
+                "moduleName": "SCompressLib",
+                "implicit": true,
+                "accessorKind": "get"
+              },
+              {
+                "kind": "Accessor",
+                "name": "Set",
+                "printedName": "Set()",
+                "children": [
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Void",
+                    "printedName": "()"
+                  },
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Int32",
+                    "printedName": "Swift.Int32",
+                    "usr": "s:s5Int32V"
+                  }
+                ],
+                "declKind": "Accessor",
+                "usr": "s:12SCompressLib0A5ParamV7modeRgbs5Int32Vvs",
+                "mangledName": "$s12SCompressLib0A5ParamV7modeRgbs5Int32Vvs",
+                "moduleName": "SCompressLib",
+                "implicit": true,
+                "accessorKind": "set"
+              },
+              {
+                "kind": "Accessor",
+                "name": "Modify",
+                "printedName": "Modify()",
+                "children": [
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Void",
+                    "printedName": "()"
+                  }
+                ],
+                "declKind": "Accessor",
+                "usr": "s:12SCompressLib0A5ParamV7modeRgbs5Int32VvM",
+                "mangledName": "$s12SCompressLib0A5ParamV7modeRgbs5Int32VvM",
+                "moduleName": "SCompressLib",
+                "implicit": true,
+                "accessorKind": "_modify"
+              }
+            ]
+          },
+          {
+            "kind": "Var",
+            "name": "cmpMode",
+            "printedName": "cmpMode",
+            "children": [
+              {
+                "kind": "TypeNominal",
+                "name": "Int32",
+                "printedName": "Swift.Int32",
+                "usr": "s:s5Int32V"
+              }
+            ],
+            "declKind": "Var",
+            "usr": "s:12SCompressLib0A5ParamV7cmpModes5Int32Vvp",
+            "mangledName": "$s12SCompressLib0A5ParamV7cmpModes5Int32Vvp",
+            "moduleName": "SCompressLib",
+            "declAttributes": [
+              "HasStorage",
+              "AccessControl",
+              "RawDocComment"
+            ],
+            "hasStorage": true,
+            "accessors": [
+              {
+                "kind": "Accessor",
+                "name": "Get",
+                "printedName": "Get()",
+                "children": [
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Int32",
+                    "printedName": "Swift.Int32",
+                    "usr": "s:s5Int32V"
+                  }
+                ],
+                "declKind": "Accessor",
+                "usr": "s:12SCompressLib0A5ParamV7cmpModes5Int32Vvg",
+                "mangledName": "$s12SCompressLib0A5ParamV7cmpModes5Int32Vvg",
+                "moduleName": "SCompressLib",
+                "implicit": true,
+                "accessorKind": "get"
+              },
+              {
+                "kind": "Accessor",
+                "name": "Set",
+                "printedName": "Set()",
+                "children": [
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Void",
+                    "printedName": "()"
+                  },
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Int32",
+                    "printedName": "Swift.Int32",
+                    "usr": "s:s5Int32V"
+                  }
+                ],
+                "declKind": "Accessor",
+                "usr": "s:12SCompressLib0A5ParamV7cmpModes5Int32Vvs",
+                "mangledName": "$s12SCompressLib0A5ParamV7cmpModes5Int32Vvs",
+                "moduleName": "SCompressLib",
+                "implicit": true,
+                "accessorKind": "set"
+              },
+              {
+                "kind": "Accessor",
+                "name": "Modify",
+                "printedName": "Modify()",
+                "children": [
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Void",
+                    "printedName": "()"
+                  }
+                ],
+                "declKind": "Accessor",
+                "usr": "s:12SCompressLib0A5ParamV7cmpModes5Int32VvM",
+                "mangledName": "$s12SCompressLib0A5ParamV7cmpModes5Int32VvM",
+                "moduleName": "SCompressLib",
+                "implicit": true,
+                "accessorKind": "_modify"
+              }
+            ]
+          },
+          {
+            "kind": "Var",
+            "name": "redChannel",
+            "printedName": "redChannel",
+            "children": [
+              {
+                "kind": "TypeNominal",
+                "name": "Array",
+                "printedName": "[Swift.UInt8]",
+                "children": [
+                  {
+                    "kind": "TypeNominal",
+                    "name": "UInt8",
+                    "printedName": "Swift.UInt8",
+                    "usr": "s:s5UInt8V"
+                  }
+                ],
+                "usr": "s:Sa"
+              }
+            ],
+            "declKind": "Var",
+            "usr": "s:12SCompressLib0A5ParamV10redChannelSays5UInt8VGvp",
+            "mangledName": "$s12SCompressLib0A5ParamV10redChannelSays5UInt8VGvp",
+            "moduleName": "SCompressLib",
+            "declAttributes": [
+              "HasStorage",
+              "AccessControl"
+            ],
+            "hasStorage": true,
+            "accessors": [
+              {
+                "kind": "Accessor",
+                "name": "Get",
+                "printedName": "Get()",
+                "children": [
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Array",
+                    "printedName": "[Swift.UInt8]",
+                    "children": [
+                      {
+                        "kind": "TypeNominal",
+                        "name": "UInt8",
+                        "printedName": "Swift.UInt8",
+                        "usr": "s:s5UInt8V"
+                      }
+                    ],
+                    "usr": "s:Sa"
+                  }
+                ],
+                "declKind": "Accessor",
+                "usr": "s:12SCompressLib0A5ParamV10redChannelSays5UInt8VGvg",
+                "mangledName": "$s12SCompressLib0A5ParamV10redChannelSays5UInt8VGvg",
+                "moduleName": "SCompressLib",
+                "implicit": true,
+                "accessorKind": "get"
+              },
+              {
+                "kind": "Accessor",
+                "name": "Set",
+                "printedName": "Set()",
+                "children": [
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Void",
+                    "printedName": "()"
+                  },
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Array",
+                    "printedName": "[Swift.UInt8]",
+                    "children": [
+                      {
+                        "kind": "TypeNominal",
+                        "name": "UInt8",
+                        "printedName": "Swift.UInt8",
+                        "usr": "s:s5UInt8V"
+                      }
+                    ],
+                    "usr": "s:Sa"
+                  }
+                ],
+                "declKind": "Accessor",
+                "usr": "s:12SCompressLib0A5ParamV10redChannelSays5UInt8VGvs",
+                "mangledName": "$s12SCompressLib0A5ParamV10redChannelSays5UInt8VGvs",
+                "moduleName": "SCompressLib",
+                "implicit": true,
+                "accessorKind": "set"
+              },
+              {
+                "kind": "Accessor",
+                "name": "Modify",
+                "printedName": "Modify()",
+                "children": [
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Void",
+                    "printedName": "()"
+                  }
+                ],
+                "declKind": "Accessor",
+                "usr": "s:12SCompressLib0A5ParamV10redChannelSays5UInt8VGvM",
+                "mangledName": "$s12SCompressLib0A5ParamV10redChannelSays5UInt8VGvM",
+                "moduleName": "SCompressLib",
+                "implicit": true,
+                "accessorKind": "_modify"
+              }
+            ]
+          },
+          {
+            "kind": "Var",
+            "name": "greenChannel",
+            "printedName": "greenChannel",
+            "children": [
+              {
+                "kind": "TypeNominal",
+                "name": "Array",
+                "printedName": "[Swift.UInt8]",
+                "children": [
+                  {
+                    "kind": "TypeNominal",
+                    "name": "UInt8",
+                    "printedName": "Swift.UInt8",
+                    "usr": "s:s5UInt8V"
+                  }
+                ],
+                "usr": "s:Sa"
+              }
+            ],
+            "declKind": "Var",
+            "usr": "s:12SCompressLib0A5ParamV12greenChannelSays5UInt8VGvp",
+            "mangledName": "$s12SCompressLib0A5ParamV12greenChannelSays5UInt8VGvp",
+            "moduleName": "SCompressLib",
+            "declAttributes": [
+              "HasStorage",
+              "AccessControl"
+            ],
+            "hasStorage": true,
+            "accessors": [
+              {
+                "kind": "Accessor",
+                "name": "Get",
+                "printedName": "Get()",
+                "children": [
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Array",
+                    "printedName": "[Swift.UInt8]",
+                    "children": [
+                      {
+                        "kind": "TypeNominal",
+                        "name": "UInt8",
+                        "printedName": "Swift.UInt8",
+                        "usr": "s:s5UInt8V"
+                      }
+                    ],
+                    "usr": "s:Sa"
+                  }
+                ],
+                "declKind": "Accessor",
+                "usr": "s:12SCompressLib0A5ParamV12greenChannelSays5UInt8VGvg",
+                "mangledName": "$s12SCompressLib0A5ParamV12greenChannelSays5UInt8VGvg",
+                "moduleName": "SCompressLib",
+                "implicit": true,
+                "accessorKind": "get"
+              },
+              {
+                "kind": "Accessor",
+                "name": "Set",
+                "printedName": "Set()",
+                "children": [
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Void",
+                    "printedName": "()"
+                  },
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Array",
+                    "printedName": "[Swift.UInt8]",
+                    "children": [
+                      {
+                        "kind": "TypeNominal",
+                        "name": "UInt8",
+                        "printedName": "Swift.UInt8",
+                        "usr": "s:s5UInt8V"
+                      }
+                    ],
+                    "usr": "s:Sa"
+                  }
+                ],
+                "declKind": "Accessor",
+                "usr": "s:12SCompressLib0A5ParamV12greenChannelSays5UInt8VGvs",
+                "mangledName": "$s12SCompressLib0A5ParamV12greenChannelSays5UInt8VGvs",
+                "moduleName": "SCompressLib",
+                "implicit": true,
+                "accessorKind": "set"
+              },
+              {
+                "kind": "Accessor",
+                "name": "Modify",
+                "printedName": "Modify()",
+                "children": [
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Void",
+                    "printedName": "()"
+                  }
+                ],
+                "declKind": "Accessor",
+                "usr": "s:12SCompressLib0A5ParamV12greenChannelSays5UInt8VGvM",
+                "mangledName": "$s12SCompressLib0A5ParamV12greenChannelSays5UInt8VGvM",
+                "moduleName": "SCompressLib",
+                "implicit": true,
+                "accessorKind": "_modify"
+              }
+            ]
+          },
+          {
+            "kind": "Var",
+            "name": "blueChannel",
+            "printedName": "blueChannel",
+            "children": [
+              {
+                "kind": "TypeNominal",
+                "name": "Array",
+                "printedName": "[Swift.UInt8]",
+                "children": [
+                  {
+                    "kind": "TypeNominal",
+                    "name": "UInt8",
+                    "printedName": "Swift.UInt8",
+                    "usr": "s:s5UInt8V"
+                  }
+                ],
+                "usr": "s:Sa"
+              }
+            ],
+            "declKind": "Var",
+            "usr": "s:12SCompressLib0A5ParamV11blueChannelSays5UInt8VGvp",
+            "mangledName": "$s12SCompressLib0A5ParamV11blueChannelSays5UInt8VGvp",
+            "moduleName": "SCompressLib",
+            "declAttributes": [
+              "HasStorage",
+              "AccessControl"
+            ],
+            "hasStorage": true,
+            "accessors": [
+              {
+                "kind": "Accessor",
+                "name": "Get",
+                "printedName": "Get()",
+                "children": [
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Array",
+                    "printedName": "[Swift.UInt8]",
+                    "children": [
+                      {
+                        "kind": "TypeNominal",
+                        "name": "UInt8",
+                        "printedName": "Swift.UInt8",
+                        "usr": "s:s5UInt8V"
+                      }
+                    ],
+                    "usr": "s:Sa"
+                  }
+                ],
+                "declKind": "Accessor",
+                "usr": "s:12SCompressLib0A5ParamV11blueChannelSays5UInt8VGvg",
+                "mangledName": "$s12SCompressLib0A5ParamV11blueChannelSays5UInt8VGvg",
+                "moduleName": "SCompressLib",
+                "implicit": true,
+                "accessorKind": "get"
+              },
+              {
+                "kind": "Accessor",
+                "name": "Set",
+                "printedName": "Set()",
+                "children": [
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Void",
+                    "printedName": "()"
+                  },
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Array",
+                    "printedName": "[Swift.UInt8]",
+                    "children": [
+                      {
+                        "kind": "TypeNominal",
+                        "name": "UInt8",
+                        "printedName": "Swift.UInt8",
+                        "usr": "s:s5UInt8V"
+                      }
+                    ],
+                    "usr": "s:Sa"
+                  }
+                ],
+                "declKind": "Accessor",
+                "usr": "s:12SCompressLib0A5ParamV11blueChannelSays5UInt8VGvs",
+                "mangledName": "$s12SCompressLib0A5ParamV11blueChannelSays5UInt8VGvs",
+                "moduleName": "SCompressLib",
+                "implicit": true,
+                "accessorKind": "set"
+              },
+              {
+                "kind": "Accessor",
+                "name": "Modify",
+                "printedName": "Modify()",
+                "children": [
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Void",
+                    "printedName": "()"
+                  }
+                ],
+                "declKind": "Accessor",
+                "usr": "s:12SCompressLib0A5ParamV11blueChannelSays5UInt8VGvM",
+                "mangledName": "$s12SCompressLib0A5ParamV11blueChannelSays5UInt8VGvM",
+                "moduleName": "SCompressLib",
+                "implicit": true,
+                "accessorKind": "_modify"
+              }
+            ]
+          },
+          {
+            "kind": "Var",
+            "name": "alphaChannel",
+            "printedName": "alphaChannel",
+            "children": [
+              {
+                "kind": "TypeNominal",
+                "name": "Array",
+                "printedName": "[Swift.UInt8]",
+                "children": [
+                  {
+                    "kind": "TypeNominal",
+                    "name": "UInt8",
+                    "printedName": "Swift.UInt8",
+                    "usr": "s:s5UInt8V"
+                  }
+                ],
+                "usr": "s:Sa"
+              }
+            ],
+            "declKind": "Var",
+            "usr": "s:12SCompressLib0A5ParamV12alphaChannelSays5UInt8VGvp",
+            "mangledName": "$s12SCompressLib0A5ParamV12alphaChannelSays5UInt8VGvp",
+            "moduleName": "SCompressLib",
+            "declAttributes": [
+              "HasStorage",
+              "AccessControl"
+            ],
+            "hasStorage": true,
+            "accessors": [
+              {
+                "kind": "Accessor",
+                "name": "Get",
+                "printedName": "Get()",
+                "children": [
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Array",
+                    "printedName": "[Swift.UInt8]",
+                    "children": [
+                      {
+                        "kind": "TypeNominal",
+                        "name": "UInt8",
+                        "printedName": "Swift.UInt8",
+                        "usr": "s:s5UInt8V"
+                      }
+                    ],
+                    "usr": "s:Sa"
+                  }
+                ],
+                "declKind": "Accessor",
+                "usr": "s:12SCompressLib0A5ParamV12alphaChannelSays5UInt8VGvg",
+                "mangledName": "$s12SCompressLib0A5ParamV12alphaChannelSays5UInt8VGvg",
+                "moduleName": "SCompressLib",
+                "implicit": true,
+                "accessorKind": "get"
+              },
+              {
+                "kind": "Accessor",
+                "name": "Set",
+                "printedName": "Set()",
+                "children": [
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Void",
+                    "printedName": "()"
+                  },
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Array",
+                    "printedName": "[Swift.UInt8]",
+                    "children": [
+                      {
+                        "kind": "TypeNominal",
+                        "name": "UInt8",
+                        "printedName": "Swift.UInt8",
+                        "usr": "s:s5UInt8V"
+                      }
+                    ],
+                    "usr": "s:Sa"
+                  }
+                ],
+                "declKind": "Accessor",
+                "usr": "s:12SCompressLib0A5ParamV12alphaChannelSays5UInt8VGvs",
+                "mangledName": "$s12SCompressLib0A5ParamV12alphaChannelSays5UInt8VGvs",
+                "moduleName": "SCompressLib",
+                "implicit": true,
+                "accessorKind": "set"
+              },
+              {
+                "kind": "Accessor",
+                "name": "Modify",
+                "printedName": "Modify()",
+                "children": [
+                  {
+                    "kind": "TypeNominal",
+                    "name": "Void",
+                    "printedName": "()"
+                  }
+                ],
+                "declKind": "Accessor",
+                "usr": "s:12SCompressLib0A5ParamV12alphaChannelSays5UInt8VGvM",
+                "mangledName": "$s12SCompressLib0A5ParamV12alphaChannelSays5UInt8VGvM",
+                "moduleName": "SCompressLib",
+                "implicit": true,
+                "accessorKind": "_modify"
+              }
+            ]
+          }
+        ],
+        "declKind": "Struct",
+        "usr": "s:12SCompressLib0A5ParamV",
+        "mangledName": "$s12SCompressLib0A5ParamV",
+        "moduleName": "SCompressLib",
+        "declAttributes": [
+          "AccessControl"
+        ]
+      },
+      {
+        "kind": "Import",
+        "name": "Foundation",
+        "printedName": "Foundation",
+        "declKind": "Import",
+        "moduleName": "SCompressLib",
+        "declAttributes": [
+          "RawDocComment"
+        ]
+      },
+      {
+        "kind": "TypeDecl",
+        "name": "PicZipEvent",
+        "printedName": "PicZipEvent",
+        "children": [
+          {
+            "kind": "Function",
+            "name": "CompressRets",
+            "printedName": "CompressRets(id:state:tileWidth:retData:)",
+            "children": [
+              {
+                "kind": "TypeNominal",
+                "name": "Void",
+                "printedName": "()"
+              },
+              {
+                "kind": "TypeNominal",
+                "name": "Int",
+                "printedName": "Swift.Int",
+                "usr": "s:Si"
+              },
+              {
+                "kind": "TypeNominal",
+                "name": "Int",
+                "printedName": "Swift.Int",
+                "usr": "s:Si"
+              },
+              {
+                "kind": "TypeNominal",
+                "name": "Int",
+                "printedName": "Swift.Int",
+                "usr": "s:Si"
+              },
+              {
+                "kind": "TypeNominal",
+                "name": "Array",
+                "printedName": "[Swift.UInt8]",
+                "children": [
+                  {
+                    "kind": "TypeNominal",
+                    "name": "UInt8",
+                    "printedName": "Swift.UInt8",
+                    "usr": "s:s5UInt8V"
+                  }
+                ],
+                "usr": "s:Sa"
+              }
+            ],
+            "declKind": "Func",
+            "usr": "s:12SCompressLib11PicZipEventP12CompressRets2id5state9tileWidth7retDataySi_S2iSays5UInt8VGtF",
+            "mangledName": "$s12SCompressLib11PicZipEventP12CompressRets2id5state9tileWidth7retDataySi_S2iSays5UInt8VGtF",
+            "moduleName": "SCompressLib",
+            "genericSig": "<τ_0_0 where τ_0_0 : SCompressLib.PicZipEvent>",
+            "sugared_genericSig": "<Self where Self : SCompressLib.PicZipEvent>",
+            "protocolReq": true,
+            "reqNewWitnessTableEntry": true,
+            "funcSelfKind": "NonMutating"
+          },
+          {
+            "kind": "Function",
+            "name": "DecompressRets",
+            "printedName": "DecompressRets(id:state:decomRets:)",
+            "children": [
+              {
+                "kind": "TypeNominal",
+                "name": "Void",
+                "printedName": "()"
+              },
+              {
+                "kind": "TypeNominal",
+                "name": "Int",
+                "printedName": "Swift.Int",
+                "usr": "s:Si"
+              },
+              {
+                "kind": "TypeNominal",
+                "name": "Int",
+                "printedName": "Swift.Int",
+                "usr": "s:Si"
+              },
+              {
+                "kind": "TypeNominal",
+                "name": "SDecompressRets",
+                "printedName": "SCompressLib.SDecompressRets",
+                "usr": "s:12SCompressLib15SDecompressRetsV"
+              }
+            ],
+            "declKind": "Func",
+            "usr": "s:12SCompressLib11PicZipEventP14DecompressRets2id5state05decomG0ySi_SiAA011SDecompressG0VtF",
+            "mangledName": "$s12SCompressLib11PicZipEventP14DecompressRets2id5state05decomG0ySi_SiAA011SDecompressG0VtF",
+            "moduleName": "SCompressLib",
+            "genericSig": "<τ_0_0 where τ_0_0 : SCompressLib.PicZipEvent>",
+            "sugared_genericSig": "<Self where Self : SCompressLib.PicZipEvent>",
+            "protocolReq": true,
+            "reqNewWitnessTableEntry": true,
+            "funcSelfKind": "NonMutating"
+          }
+        ],
+        "declKind": "Protocol",
+        "usr": "s:12SCompressLib11PicZipEventP",
+        "mangledName": "$s12SCompressLib11PicZipEventP",
+        "moduleName": "SCompressLib",
+        "declAttributes": [
+          "AccessControl"
+        ]
+      },
+      {
+        "kind": "Function",
+        "name": "SetZipEvent",
+        "printedName": "SetZipEvent(picEvent:)",
+        "children": [
+          {
+            "kind": "TypeNominal",
+            "name": "Void",
+            "printedName": "()"
+          },
+          {
+            "kind": "TypeNominal",
+            "name": "PicZipEvent",
+            "printedName": "SCompressLib.PicZipEvent",
+            "usr": "s:12SCompressLib11PicZipEventP"
+          }
+        ],
+        "declKind": "Func",
+        "usr": "s:12SCompressLib11SetZipEvent03picE0yAA03PicdE0_p_tF",
+        "mangledName": "$s12SCompressLib11SetZipEvent03picE0yAA03PicdE0_p_tF",
+        "moduleName": "SCompressLib",
+        "declAttributes": [
+          "AccessControl"
+        ],
+        "funcSelfKind": "NonMutating"
+      },
+      {
+        "kind": "Function",
+        "name": "SCompressRets",
+        "printedName": "SCompressRets(id:state:tileWidth:retData:)",
+        "children": [
+          {
+            "kind": "TypeNominal",
+            "name": "Void",
+            "printedName": "()"
+          },
+          {
+            "kind": "TypeNominal",
+            "name": "Int",
+            "printedName": "Swift.Int",
+            "usr": "s:Si"
+          },
+          {
+            "kind": "TypeNominal",
+            "name": "Int",
+            "printedName": "Swift.Int",
+            "usr": "s:Si"
+          },
+          {
+            "kind": "TypeNominal",
+            "name": "Int",
+            "printedName": "Swift.Int",
+            "usr": "s:Si"
+          },
+          {
+            "kind": "TypeNominal",
+            "name": "Array",
+            "printedName": "[Swift.UInt8]",
+            "children": [
+              {
+                "kind": "TypeNominal",
+                "name": "UInt8",
+                "printedName": "Swift.UInt8",
+                "usr": "s:s5UInt8V"
+              }
+            ],
+            "usr": "s:Sa"
+          }
+        ],
+        "declKind": "Func",
+        "usr": "s:12SCompressLib0A4Rets2id5state9tileWidth7retDataySi_S2iSays5UInt8VGtF",
+        "mangledName": "$s12SCompressLib0A4Rets2id5state9tileWidth7retDataySi_S2iSays5UInt8VGtF",
+        "moduleName": "SCompressLib",
+        "declAttributes": [
+          "AccessControl"
+        ],
+        "funcSelfKind": "NonMutating"
+      },
+      {
+        "kind": "Function",
+        "name": "SDecompressRet",
+        "printedName": "SDecompressRet(id:state:width:height:format:red:green:blue:alpha:)",
+        "children": [
+          {
+            "kind": "TypeNominal",
+            "name": "Void",
+            "printedName": "()"
+          },
+          {
+            "kind": "TypeNominal",
+            "name": "Int",
+            "printedName": "Swift.Int",
+            "usr": "s:Si"
+          },
+          {
+            "kind": "TypeNominal",
+            "name": "Int",
+            "printedName": "Swift.Int",
+            "usr": "s:Si"
+          },
+          {
+            "kind": "TypeNominal",
+            "name": "UInt",
+            "printedName": "Swift.UInt",
+            "usr": "s:Su"
+          },
+          {
+            "kind": "TypeNominal",
+            "name": "UInt",
+            "printedName": "Swift.UInt",
+            "usr": "s:Su"
+          },
+          {
+            "kind": "TypeNominal",
+            "name": "UInt",
+            "printedName": "Swift.UInt",
+            "usr": "s:Su"
+          },
+          {
+            "kind": "TypeNominal",
+            "name": "Array",
+            "printedName": "[Swift.UInt8]",
+            "children": [
+              {
+                "kind": "TypeNominal",
+                "name": "UInt8",
+                "printedName": "Swift.UInt8",
+                "usr": "s:s5UInt8V"
+              }
+            ],
+            "usr": "s:Sa"
+          },
+          {
+            "kind": "TypeNominal",
+            "name": "Array",
+            "printedName": "[Swift.UInt8]",
+            "children": [
+              {
+                "kind": "TypeNominal",
+                "name": "UInt8",
+                "printedName": "Swift.UInt8",
+                "usr": "s:s5UInt8V"
+              }
+            ],
+            "usr": "s:Sa"
+          },
+          {
+            "kind": "TypeNominal",
+            "name": "Array",
+            "printedName": "[Swift.UInt8]",
+            "children": [
+              {
+                "kind": "TypeNominal",
+                "name": "UInt8",
+                "printedName": "Swift.UInt8",
+                "usr": "s:s5UInt8V"
+              }
+            ],
+            "usr": "s:Sa"
+          },
+          {
+            "kind": "TypeNominal",
+            "name": "Array",
+            "printedName": "[Swift.UInt8]",
+            "children": [
+              {
+                "kind": "TypeNominal",
+                "name": "UInt8",
+                "printedName": "Swift.UInt8",
+                "usr": "s:s5UInt8V"
+              }
+            ],
+            "usr": "s:Sa"
+          }
+        ],
+        "declKind": "Func",
+        "usr": "s:12SCompressLib14SDecompressRet2id5state5width6height6format3red5green4blue5alphaySi_SiS3uSays5UInt8VGA3NtF",
+        "mangledName": "$s12SCompressLib14SDecompressRet2id5state5width6height6format3red5green4blue5alphaySi_SiS3uSays5UInt8VGA3NtF",
+        "moduleName": "SCompressLib",
+        "declAttributes": [
+          "AccessControl"
+        ],
+        "funcSelfKind": "NonMutating"
+      }
+    ],
+    "json_format_version": 8
+  },
+  "ConstValues": [
+    {
+      "filePath": "\/Users\/l30037444\/Desktop\/Code\/SCompressDemo\/SCompressLib\/SPicZipApi.swift",
+      "kind": "StringLiteral",
+      "offset": 1926,
+      "length": 24,
+      "value": "\"Decompress id == \""
+    },
+    {
+      "filePath": "\/Users\/l30037444\/Desktop\/Code\/SCompressDemo\/SCompressLib\/SPicZipApi.swift",
+      "kind": "StringLiteral",
+      "offset": 1949,
+      "length": 2,
+      "value": "\"\""
+    },
+    {
+      "filePath": "\/Users\/l30037444\/Desktop\/Code\/SCompressDemo\/SCompressLib\/DecomressRets.swift",
+      "kind": "IntegerLiteral",
+      "offset": 179,
+      "length": 1,
+      "value": "0"
+    },
+    {
+      "filePath": "\/Users\/l30037444\/Desktop\/Code\/SCompressDemo\/SCompressLib\/DecomressRets.swift",
+      "kind": "IntegerLiteral",
+      "offset": 198,
+      "length": 1,
+      "value": "0"
+    },
+    {
+      "filePath": "\/Users\/l30037444\/Desktop\/Code\/SCompressDemo\/SCompressLib\/DecomressRets.swift",
+      "kind": "IntegerLiteral",
+      "offset": 217,
+      "length": 1,
+      "value": "0"
+    },
+    {
+      "filePath": "\/Users\/l30037444\/Desktop\/Code\/SCompressDemo\/SCompressLib\/DecomressRets.swift",
+      "kind": "Array",
+      "offset": 240,
+      "length": 2,
+      "value": "[]"
+    },
+    {
+      "filePath": "\/Users\/l30037444\/Desktop\/Code\/SCompressDemo\/SCompressLib\/DecomressRets.swift",
+      "kind": "Array",
+      "offset": 266,
+      "length": 2,
+      "value": "[]"
+    },
+    {
+      "filePath": "\/Users\/l30037444\/Desktop\/Code\/SCompressDemo\/SCompressLib\/DecomressRets.swift",
+      "kind": "Array",
+      "offset": 291,
+      "length": 2,
+      "value": "[]"
+    },
+    {
+      "filePath": "\/Users\/l30037444\/Desktop\/Code\/SCompressDemo\/SCompressLib\/DecomressRets.swift",
+      "kind": "Array",
+      "offset": 317,
+      "length": 2,
+      "value": "[]"
+    },
+    {
+      "filePath": "\/Users\/l30037444\/Desktop\/Code\/SCompressDemo\/SCompressLib\/CompressParam.swift",
+      "kind": "IntegerLiteral",
+      "offset": 174,
+      "length": 1,
+      "value": "0"
+    },
+    {
+      "filePath": "\/Users\/l30037444\/Desktop\/Code\/SCompressDemo\/SCompressLib\/CompressParam.swift",
+      "kind": "IntegerLiteral",
+      "offset": 192,
+      "length": 3,
+      "value": "800"
+    },
+    {
+      "filePath": "\/Users\/l30037444\/Desktop\/Code\/SCompressDemo\/SCompressLib\/CompressParam.swift",
+      "kind": "IntegerLiteral",
+      "offset": 213,
+      "length": 4,
+      "value": "1280"
+    },
+    {
+      "filePath": "\/Users\/l30037444\/Desktop\/Code\/SCompressDemo\/SCompressLib\/CompressParam.swift",
+      "kind": "IntegerLiteral",
+      "offset": 235,
+      "length": 1,
+      "value": "0"
+    },
+    {
+      "filePath": "\/Users\/l30037444\/Desktop\/Code\/SCompressDemo\/SCompressLib\/CompressParam.swift",
+      "kind": "IntegerLiteral",
+      "offset": 259,
+      "length": 1,
+      "value": "0"
+    },
+    {
+      "filePath": "\/Users\/l30037444\/Desktop\/Code\/SCompressDemo\/SCompressLib\/CompressParam.swift",
+      "kind": "IntegerLiteral",
+      "offset": 281,
+      "length": 1,
+      "value": "0"
+    },
+    {
+      "filePath": "\/Users\/l30037444\/Desktop\/Code\/SCompressDemo\/SCompressLib\/CompressParam.swift",
+      "kind": "IntegerLiteral",
+      "offset": 303,
+      "length": 1,
+      "value": "0"
+    },
+    {
+      "filePath": "\/Users\/l30037444\/Desktop\/Code\/SCompressDemo\/SCompressLib\/CompressParam.swift",
+      "kind": "IntegerLiteral",
+      "offset": 323,
+      "length": 1,
+      "value": "0"
+    },
+    {
+      "filePath": "\/Users\/l30037444\/Desktop\/Code\/SCompressDemo\/SCompressLib\/CompressParam.swift",
+      "kind": "IntegerLiteral",
+      "offset": 343,
+      "length": 1,
+      "value": "0"
+    },
+    {
+      "filePath": "\/Users\/l30037444\/Desktop\/Code\/SCompressDemo\/SCompressLib\/CompressParam.swift",
+      "kind": "Array",
+      "offset": 366,
+      "length": 2,
+      "value": "[]"
+    },
+    {
+      "filePath": "\/Users\/l30037444\/Desktop\/Code\/SCompressDemo\/SCompressLib\/CompressParam.swift",
+      "kind": "Array",
+      "offset": 392,
+      "length": 2,
+      "value": "[]"
+    },
+    {
+      "filePath": "\/Users\/l30037444\/Desktop\/Code\/SCompressDemo\/SCompressLib\/CompressParam.swift",
+      "kind": "Array",
+      "offset": 417,
+      "length": 2,
+      "value": "[]"
+    },
+    {
+      "filePath": "\/Users\/l30037444\/Desktop\/Code\/SCompressDemo\/SCompressLib\/CompressParam.swift",
+      "kind": "Array",
+      "offset": 443,
+      "length": 2,
+      "value": "[]"
+    },
+    {
+      "filePath": "\/Users\/l30037444\/Desktop\/Code\/SCompressDemo\/SCompressLib\/API.swift",
+      "kind": "StringLiteral",
+      "offset": 501,
+      "length": 13,
+      "value": "\"id == \""
+    },
+    {
+      "filePath": "\/Users\/l30037444\/Desktop\/Code\/SCompressDemo\/SCompressLib\/API.swift",
+      "kind": "StringLiteral",
+      "offset": 513,
+      "length": 2,
+      "value": "\"\""
+    },
+    {
+      "filePath": "\/Users\/l30037444\/Desktop\/Code\/SCompressDemo\/SCompressLib\/API.swift",
+      "kind": "StringLiteral",
+      "offset": 526,
+      "length": 19,
+      "value": "\"state == \""
+    },
+    {
+      "filePath": "\/Users\/l30037444\/Desktop\/Code\/SCompressDemo\/SCompressLib\/API.swift",
+      "kind": "StringLiteral",
+      "offset": 544,
+      "length": 2,
+      "value": "\"\""
+    },
+    {
+      "filePath": "\/Users\/l30037444\/Desktop\/Code\/SCompressDemo\/SCompressLib\/API.swift",
+      "kind": "StringLiteral",
+      "offset": 557,
+      "length": 27,
+      "value": "\"tileWidth == \""
+    },
+    {
+      "filePath": "\/Users\/l30037444\/Desktop\/Code\/SCompressDemo\/SCompressLib\/API.swift",
+      "kind": "StringLiteral",
+      "offset": 583,
+      "length": 2,
+      "value": "\"\""
+    },
+    {
+      "filePath": "\/Users\/l30037444\/Desktop\/Code\/SCompressDemo\/SCompressLib\/API.swift",
+      "kind": "StringLiteral",
+      "offset": 899,
+      "length": 13,
+      "value": "\"id == \""
+    },
+    {
+      "filePath": "\/Users\/l30037444\/Desktop\/Code\/SCompressDemo\/SCompressLib\/API.swift",
+      "kind": "StringLiteral",
+      "offset": 911,
+      "length": 2,
+      "value": "\"\""
+    },
+    {
+      "filePath": "\/Users\/l30037444\/Desktop\/Code\/SCompressDemo\/SCompressLib\/API.swift",
+      "kind": "StringLiteral",
+      "offset": 924,
+      "length": 19,
+      "value": "\"state == \""
+    },
+    {
+      "filePath": "\/Users\/l30037444\/Desktop\/Code\/SCompressDemo\/SCompressLib\/API.swift",
+      "kind": "StringLiteral",
+      "offset": 942,
+      "length": 2,
+      "value": "\"\""
+    }
+  ]
+}
\ No newline at end of file
diff --git a/MixSdk/Example/SCompressLib.framework/Modules/SCompressLib.swiftmodule/arm64-apple-ios.private.swiftinterface b/MixSdk/Example/SCompressLib.framework/Modules/SCompressLib.swiftmodule/arm64-apple-ios.private.swiftinterface
new file mode 100644 (file)
index 0000000..4016fa0
--- /dev/null
@@ -0,0 +1,48 @@
+// swift-interface-format-version: 1.0
+// swift-compiler-version: Apple Swift version 5.9 (swiftlang-5.9.0.128.108 clang-1500.0.40.1)
+// swift-module-flags: -target arm64-apple-ios12.0 -enable-objc-interop -cxx-interoperability-mode=default -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name SCompressLib
+// swift-module-flags-ignorable: -enable-bare-slash-regex
+import Foundation
+@_exported import SCompressLib
+import Swift
+import _Concurrency
+import _StringProcessing
+import _SwiftConcurrencyShims
+public struct SPicZipApi {
+  public init()
+  public func Compress(compressParam: SCompressLib.SCompressParam)
+  public func Decompress(id: Swift.UInt32, fileBuffer: [Swift.UInt8])
+}
+public struct SDecompressRets {
+  public init()
+  public var width: Swift.Int32
+  public var height: Swift.Int32
+  public var format: Swift.Int32
+  public var redChannel: [Swift.UInt8]
+  public var greenChannel: [Swift.UInt8]
+  public var blueChannel: [Swift.UInt8]
+  public var alphaChannel: [Swift.UInt8]
+}
+public struct SCompressParam {
+  public init()
+  public var id: Swift.Int32
+  public var width: Swift.Int32
+  public var height: Swift.Int32
+  public var stride: Swift.Int32
+  public var pixelFormat: Swift.Int32
+  public var tileWidth: Swift.Int32
+  public var modeAlpha: Swift.Int32
+  public var modeRgb: Swift.Int32
+  public var cmpMode: Swift.Int32
+  public var redChannel: [Swift.UInt8]
+  public var greenChannel: [Swift.UInt8]
+  public var blueChannel: [Swift.UInt8]
+  public var alphaChannel: [Swift.UInt8]
+}
+public protocol PicZipEvent {
+  func CompressRets(id: Swift.Int, state: Swift.Int, tileWidth: Swift.Int, retData: [Swift.UInt8])
+  func DecompressRets(id: Swift.Int, state: Swift.Int, decomRets: SCompressLib.SDecompressRets)
+}
+public func SetZipEvent(picEvent: any SCompressLib.PicZipEvent)
+public func SCompressRets(id: Swift.Int, state: Swift.Int, tileWidth: Swift.Int, retData: [Swift.UInt8])
+public func SDecompressRet(id: Swift.Int, state: Swift.Int, width: Swift.UInt, height: Swift.UInt, format: Swift.UInt, red: [Swift.UInt8], green: [Swift.UInt8], blue: [Swift.UInt8], alpha: [Swift.UInt8])
diff --git a/MixSdk/Example/SCompressLib.framework/Modules/SCompressLib.swiftmodule/arm64-apple-ios.swiftdoc b/MixSdk/Example/SCompressLib.framework/Modules/SCompressLib.swiftmodule/arm64-apple-ios.swiftdoc
new file mode 100644 (file)
index 0000000..1eda4a0
Binary files /dev/null and b/MixSdk/Example/SCompressLib.framework/Modules/SCompressLib.swiftmodule/arm64-apple-ios.swiftdoc differ
diff --git a/MixSdk/Example/SCompressLib.framework/Modules/SCompressLib.swiftmodule/arm64-apple-ios.swiftinterface b/MixSdk/Example/SCompressLib.framework/Modules/SCompressLib.swiftmodule/arm64-apple-ios.swiftinterface
new file mode 100644 (file)
index 0000000..4016fa0
--- /dev/null
@@ -0,0 +1,48 @@
+// swift-interface-format-version: 1.0
+// swift-compiler-version: Apple Swift version 5.9 (swiftlang-5.9.0.128.108 clang-1500.0.40.1)
+// swift-module-flags: -target arm64-apple-ios12.0 -enable-objc-interop -cxx-interoperability-mode=default -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name SCompressLib
+// swift-module-flags-ignorable: -enable-bare-slash-regex
+import Foundation
+@_exported import SCompressLib
+import Swift
+import _Concurrency
+import _StringProcessing
+import _SwiftConcurrencyShims
+public struct SPicZipApi {
+  public init()
+  public func Compress(compressParam: SCompressLib.SCompressParam)
+  public func Decompress(id: Swift.UInt32, fileBuffer: [Swift.UInt8])
+}
+public struct SDecompressRets {
+  public init()
+  public var width: Swift.Int32
+  public var height: Swift.Int32
+  public var format: Swift.Int32
+  public var redChannel: [Swift.UInt8]
+  public var greenChannel: [Swift.UInt8]
+  public var blueChannel: [Swift.UInt8]
+  public var alphaChannel: [Swift.UInt8]
+}
+public struct SCompressParam {
+  public init()
+  public var id: Swift.Int32
+  public var width: Swift.Int32
+  public var height: Swift.Int32
+  public var stride: Swift.Int32
+  public var pixelFormat: Swift.Int32
+  public var tileWidth: Swift.Int32
+  public var modeAlpha: Swift.Int32
+  public var modeRgb: Swift.Int32
+  public var cmpMode: Swift.Int32
+  public var redChannel: [Swift.UInt8]
+  public var greenChannel: [Swift.UInt8]
+  public var blueChannel: [Swift.UInt8]
+  public var alphaChannel: [Swift.UInt8]
+}
+public protocol PicZipEvent {
+  func CompressRets(id: Swift.Int, state: Swift.Int, tileWidth: Swift.Int, retData: [Swift.UInt8])
+  func DecompressRets(id: Swift.Int, state: Swift.Int, decomRets: SCompressLib.SDecompressRets)
+}
+public func SetZipEvent(picEvent: any SCompressLib.PicZipEvent)
+public func SCompressRets(id: Swift.Int, state: Swift.Int, tileWidth: Swift.Int, retData: [Swift.UInt8])
+public func SDecompressRet(id: Swift.Int, state: Swift.Int, width: Swift.UInt, height: Swift.UInt, format: Swift.UInt, red: [Swift.UInt8], green: [Swift.UInt8], blue: [Swift.UInt8], alpha: [Swift.UInt8])
diff --git a/MixSdk/Example/SCompressLib.framework/Modules/SCompressLib.swiftmodule/arm64-apple-ios.swiftmodule b/MixSdk/Example/SCompressLib.framework/Modules/SCompressLib.swiftmodule/arm64-apple-ios.swiftmodule
new file mode 100644 (file)
index 0000000..379ffb1
Binary files /dev/null and b/MixSdk/Example/SCompressLib.framework/Modules/SCompressLib.swiftmodule/arm64-apple-ios.swiftmodule differ
diff --git a/MixSdk/Example/SCompressLib.framework/Modules/module.modulemap b/MixSdk/Example/SCompressLib.framework/Modules/module.modulemap
new file mode 100644 (file)
index 0000000..0df02e1
--- /dev/null
@@ -0,0 +1,11 @@
+framework module SCompressLib {
+  umbrella header "SCompressLib.h"
+  export *
+
+  module * { export * }
+}
+
+module SCompressLib.Swift {
+  header "SCompressLib-Swift.h"
+  requires objc
+}
diff --git a/MixSdk/Example/SCompressLib.framework/SCompressLib b/MixSdk/Example/SCompressLib.framework/SCompressLib
new file mode 100644 (file)
index 0000000..fd74335
Binary files /dev/null and b/MixSdk/Example/SCompressLib.framework/SCompressLib differ
index 5a9a36d..6d53a6b 100644 (file)
Binary files a/MixSdk/MixSdk.xcworkspace/xcuserdata/apple.xcuserdatad/UserInterfaceState.xcuserstate and b/MixSdk/MixSdk.xcworkspace/xcuserdata/apple.xcuserdatad/UserInterfaceState.xcuserstate differ
index a1a8a88..2155d5d 100644 (file)
             </Locations>
          </BreakpointContent>
       </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "FADD7AE2-E4B0-41A3-BE94-FDEBCBB8C7F5"
+            shouldBeEnabled = "Yes"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "MixSdk/MixSdk/MSAigc.swift"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "121"
+            endingLineNumber = "121"
+            landmarkName = "createTask(_:completeHandler:)"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
    </Breakpoints>
 </Bucket>
index 27dc4a3..92a2441 100644 (file)
@@ -44,6 +44,7 @@
                18314AA42C3D37EE0028CE50 /* AudioTransform.m in Sources */ = {isa = PBXBuildFile; fileRef = 18314AA02C3D37ED0028CE50 /* AudioTransform.m */; };
                184FFC542C21B091006F664D /* MSAigcModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 184FFC532C21B091006F664D /* MSAigcModel.swift */; };
                186BFD492C57915500673D8C /* MSVoiceChat.swift in Sources */ = {isa = PBXBuildFile; fileRef = 186BFD482C57915500673D8C /* MSVoiceChat.swift */; };
+               187C54642C6B7C4B0022C3D4 /* MSCompress.swift in Sources */ = {isa = PBXBuildFile; fileRef = 187C54632C6B7C4B0022C3D4 /* MSCompress.swift */; };
                188695A22C59DA5700B9B89F /* MSVoiceChatModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 188695A12C59DA5700B9B89F /* MSVoiceChatModel.swift */; };
                18A2DCC92C40D94800A8731B /* AES.swift in Sources */ = {isa = PBXBuildFile; fileRef = 18A2DC4F2C40D94700A8731B /* AES.swift */; };
                18A2DCCA2C40D94800A8731B /* ASN1Scanner.swift in Sources */ = {isa = PBXBuildFile; fileRef = 18A2DC512C40D94700A8731B /* ASN1Scanner.swift */; };
                18314AA02C3D37ED0028CE50 /* AudioTransform.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AudioTransform.m; sourceTree = "<group>"; };
                184FFC532C21B091006F664D /* MSAigcModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MSAigcModel.swift; sourceTree = "<group>"; };
                186BFD482C57915500673D8C /* MSVoiceChat.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MSVoiceChat.swift; sourceTree = "<group>"; };
+               187C54632C6B7C4B0022C3D4 /* MSCompress.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MSCompress.swift; sourceTree = "<group>"; };
                188695A12C59DA5700B9B89F /* MSVoiceChatModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MSVoiceChatModel.swift; sourceTree = "<group>"; };
                18A2DC4F2C40D94700A8731B /* AES.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AES.swift; sourceTree = "<group>"; };
                18A2DC512C40D94700A8731B /* ASN1Scanner.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ASN1Scanner.swift; sourceTree = "<group>"; };
                                186BFD482C57915500673D8C /* MSVoiceChat.swift */,
                                188695A12C59DA5700B9B89F /* MSVoiceChatModel.swift */,
                                181188442C1AC35F00C23FAB /* MSError.swift */,
+                               187C54632C6B7C4B0022C3D4 /* MSCompress.swift */,
                        );
                        path = MixSdk;
                        sourceTree = "<group>";
                                18A2DD1B2C40D94900A8731B /* CCM.swift in Sources */,
                                18A2DD2E2C40D94900A8731B /* PrimeTest.swift in Sources */,
                                18A2DCDF2C40D94800A8731B /* UInt16+Extension.swift in Sources */,
+                               187C54642C6B7C4B0022C3D4 /* MSCompress.swift in Sources */,
                                18A2DD162C40D94900A8731B /* BlockModeOptions.swift in Sources */,
                                181188572C1BE24200C23FAB /* MSStt.swift in Sources */,
                                18314A912C3D13A60028CE50 /* AudioConvert.m in Sources */,
                                DYLIB_CURRENT_VERSION = 1;
                                DYLIB_INSTALL_NAME_BASE = "@rpath";
                                ENABLE_MODULE_VERIFIER = YES;
+                               FRAMEWORK_SEARCH_PATHS = (
+                                       "$(inherited)",
+                                       "$(PROJECT_DIR)",
+                               );
                                GENERATE_INFOPLIST_FILE = YES;
                                HEADER_SEARCH_PATHS = "$(PROJECT_DIR)/MixSdk/FFmpeg-iOS/include";
                                INFOPLIST_KEY_NSHumanReadableCopyright = "";
                                SKIP_INSTALL = YES;
                                SWIFT_EMIT_LOC_STRINGS = YES;
                                SWIFT_OBJC_BRIDGING_HEADER = "MixSdk/MixSdk-Bridging-Header.h";
+                               SWIFT_OBJC_INTEROP_MODE = objc;
                                SWIFT_OPTIMIZATION_LEVEL = "-Onone";
                                SWIFT_VERSION = 4.2;
                                TARGETED_DEVICE_FAMILY = "1,2";
                                DYLIB_CURRENT_VERSION = 1;
                                DYLIB_INSTALL_NAME_BASE = "@rpath";
                                ENABLE_MODULE_VERIFIER = YES;
+                               FRAMEWORK_SEARCH_PATHS = (
+                                       "$(inherited)",
+                                       "$(PROJECT_DIR)",
+                               );
                                GENERATE_INFOPLIST_FILE = YES;
                                HEADER_SEARCH_PATHS = "$(PROJECT_DIR)/MixSdk/FFmpeg-iOS/include";
                                INFOPLIST_KEY_NSHumanReadableCopyright = "";
                                SKIP_INSTALL = YES;
                                SWIFT_EMIT_LOC_STRINGS = YES;
                                SWIFT_OBJC_BRIDGING_HEADER = "MixSdk/MixSdk-Bridging-Header.h";
+                               SWIFT_OBJC_INTEROP_MODE = objc;
                                SWIFT_VERSION = 4.2;
                                TARGETED_DEVICE_FAMILY = "1,2";
                        };
diff --git a/MixSdk/MixSdk/MixSdk/MSCompress.swift b/MixSdk/MixSdk/MixSdk/MSCompress.swift
new file mode 100644 (file)
index 0000000..e868e10
--- /dev/null
@@ -0,0 +1,140 @@
+////
+////  MSCompress.swift
+////  Example
+////
+////  Created by incar on 2024/8/13.
+////
+//
+//import UIKit
+//import SCompressLib
+//
+///// 压缩回调
+//public typealias MSCompressCallBack = (_ retData: [UInt8]) -> Void
+///// 解压回调
+//public typealias MSDeCompressCallBack = (_ image: UIImage?) -> Void
+//
+//public class MSCompress{
+//    fileprivate static var compressCallBack:MSCompressCallBack?
+//    fileprivate static var decompressCallBack:MSDeCompressCallBack?
+//    
+//    public static func compress(image:UIImage,finished: @escaping MSCompressCallBack){
+//        compressCallBack = finished
+//        
+//        print("start = ",Date().timeIntervalSince1970)
+//        let width = Int(image.size.width)
+//        let height = Int(image.size.height)
+//        print("width = \(width), height = \(height)")
+//        let pixelFormat = image.cgImage?.pixelFormatInfo
+//        print("pixelFormat = \(pixelFormat.debugDescription)")
+//        var sParam = SCompressParam()
+//        sParam.id = 15
+//        sParam.width = Int32(width)
+//        sParam.height = Int32(height)
+//        sParam.stride = Int32(width)
+//        sParam.modeRgb = 1
+//        sParam.modeAlpha = 1
+//        sParam.cmpMode = 0
+//        sParam.tileWidth = 4
+//        sParam.pixelFormat = 1
+//        
+//        let provider = image.cgImage!.dataProvider
+//        let providerData = provider!.data
+//        let data = CFDataGetBytePtr(providerData)
+//        
+//        for hei in  0...(height - 1) {
+//            for wid in 0...(width - 1) {
+//                let color = image[data!,providerData!,wid, hei]
+//                sParam.redChannel.append(color.r)
+//                sParam.greenChannel.append(color.g)
+//                sParam.blueChannel.append(color.b)
+//                sParam.alphaChannel.append(color.a)
+//            }
+//        }
+//        print("red channel len = \(sParam.redChannel.count)")
+//        let picApi = SPicZipApi()
+//        SetZipEvent(picEvent: MyZipRets())
+//        picApi.Compress(compressParam: sParam)
+//        print("end = ",Date().timeIntervalSince1970)
+//    }
+//
+//    public static func deCompress(data:Data,finished: @escaping MSDeCompressCallBack){
+//        decompressCallBack = finished
+//        print("start = ",Date().timeIntervalSince1970)
+//        let picApi = SPicZipApi()
+//        var compressedFile : [UInt8] = []
+//        for i in 0...data.count - 1 {
+//            compressedFile.append(data[i])
+//        }
+//        picApi.Decompress(id: 39, fileBuffer: compressedFile)
+//        print("end = ",Date().timeIntervalSince1970)
+//    }
+//    
+//}
+//
+//fileprivate func drawRect(decomRets: SCompressLib.SDecompressRets) ->CGImage?{
+//    let width  = decomRets.width
+//    let height = decomRets.height
+//    let boundingBox = CGRectMake(0, 0, CGFloat(width), CGFloat(height))
+//    let context = createBitmapContext(pixelsWide: Int(width), Int(height))
+//    let data = context!.data
+//    var pixelIdx = 0
+//    var chanIdx = 0
+//    for i in 0...height - 1 {
+//        for j in 0...width - 1 {
+//            chanIdx = Int(i * width + j)
+//            data?.storeBytes(of:decomRets.alphaChannel[chanIdx], toByteOffset: pixelIdx, as: UInt8.self)
+//            pixelIdx += 1
+//            data?.storeBytes(of:decomRets.redChannel[chanIdx], toByteOffset: pixelIdx, as: UInt8.self)
+//            pixelIdx += 1
+//            data?.storeBytes(of:decomRets.greenChannel[chanIdx], toByteOffset: pixelIdx, as: UInt8.self)
+//            pixelIdx += 1
+//            data?.storeBytes(of:decomRets.blueChannel[chanIdx], toByteOffset: pixelIdx, as: UInt8.self)
+//            pixelIdx += 1
+//        }
+//    }
+//    let decompressPic = context!.makeImage()
+//    return decompressPic
+//}
+//
+//fileprivate func createBitmapContext(pixelsWide: Int, _ pixelsHigh: Int) -> CGContext? {
+//    let bytesPerPixel = 4 // 生成包括ARGB四个通道的像素点,每个像素点需要4个字节
+//    let bytesPerRow = bytesPerPixel * pixelsWide
+//    let bitsPerComponent = 8
+//    let byteCount = (bytesPerRow * pixelsHigh)
+//    let colorSpace = CGColorSpaceCreateDeviceRGB()
+//    let pixels = UnsafeMutablePointer<CUnsignedChar>.allocate(capacity:byteCount)
+//    let bitmapInfo = CGImageAlphaInfo.premultipliedFirst.rawValue | CGBitmapInfo.byteOrder32Big.rawValue
+//    let context = CGContext(data: pixels, width: pixelsWide, height: pixelsHigh, bitsPerComponent: bitsPerComponent, bytesPerRow: bytesPerRow, space: colorSpace, bitmapInfo: bitmapInfo)
+//    return context
+//}
+//
+//fileprivate struct MyZipRets : PicZipEvent {
+//    func DecompressRets(id: Int, state: Int, decomRets: SCompressLib.SDecompressRets) {
+//        let imageWidth = Int(decomRets.width)
+//        let imageHeight = Int(decomRets.height)
+//        var cgImg =  drawRect(decomRets: decomRets)
+//        var img = (cgImg != nil) ? UIImage(cgImage: cgImg!):nil
+//        MSCompress.decompressCallBack?(img)
+//        print("decompress finish id ====== \(id)")
+//    }
+//    
+//    func CompressRets(id: Int, state: Int, tileWidth: Int, retData: [UInt8]) {
+//        MSCompress.compressCallBack?(retData)
+//    }
+//}
+//
+//
+//fileprivate extension UIImage {
+//    subscript (data:UnsafePointer<UInt8>,providerData:CFData,x: Int, y: Int) -> (r : UInt8, g : UInt8, b : UInt8, a : UInt8) {
+//        if x < 0 || x > Int(size.width) || y < 0 || y > Int(size.height) {
+//            return (0, 0, 0, 0)
+//        }
+//        let numberOfComponents = 4
+//        let pixelData = ((Int(size.width) * y) + x) * numberOfComponents
+//        let r = UInt8(data[pixelData])
+//        let g = UInt8(data[pixelData + 1])
+//        let b = UInt8(data[pixelData + 2])
+//        let a = UInt8(data[pixelData + 3])
+//        return (r, g, b, a)
+//    }
+//}
index c234438..653e191 100644 (file)
@@ -158,7 +158,7 @@ public class MixSdk:NSObject {
     public var logs: [String] { Logger.logs }
     
     /// SDK 版本号
-    public let version: String = "1.0.13"
+    public let version: String = "1.0.14"
     /// 默认为 false
     public var isDebug: Bool = false {
         didSet { Logger.isDebug = isDebug }
index 011e494..59d294d 100644 (file)
@@ -2,12 +2,12 @@
 
 ## 介绍
 
-- 当前版本:v1.0.12
+- 当前版本:v1.0.14
 
-- 更新内容20240802:
-  1. chat切换模型如果还处在回复过程中,则先回一个end。
+- 更新内容20240815:
+  1. chat新增通义千问、讯飞星火
   
-  1. chat增加重置当前对话接口。
+  1. 新增图片转换库
   
      
 
@@ -398,6 +398,12 @@ public class MixSdk : NSObject {
 /// Ai平台类型
 public enum MSPlatform {
 
+    /// 通义千问
+    case aliyun
+
+    /// 讯飞星火
+    case xunfei
+
     /// 文心一言
     case yiyan
 
@@ -409,6 +415,8 @@ public enum MSPlatform {
 
     /// chatGPT
     case chatGPT
+
+    public var title: String { get }
 }
 ```
 
@@ -724,3 +732,64 @@ public typealias MSTtsVoiceCallBack = (_ data: Data) -> Void
 public typealias MSAudioConvertCallBack = (_ data: Data) -> Void
 ```
 
+
+
+## 图片处理
+
+### 引入frame
+
+1. 把 SCompressLib.framework 拖入项目中
+
+2. 在 Build Settings 选项卡中,设置如下参数
+
+   ![image-20240814105116165](/Users/apple/Library/Application Support/typora-user-images/image-20240814105116165.png)
+
+3. 在使用的文件中`#import SCompressLib`
+
+### 使用方法
+
+将demo里面的 MSCompress.swift加到项目
+
+```swift
+    //图片转bin
+@objc func compressAction(){
+        let image = UIImage(imageLiteralResourceName: "51722943641_.pic.png")
+        MSCompress.compress(image: image) { retData in
+            //保存
+            let basedFilePath = NSHomeDirectory() + "/Documents"
+            let fileManager = FileManager.default
+            let format = DateFormatter()
+            let now = Date()
+            format.dateFormat = "HHmmss"
+            let timeStamp = format.string(from: now)
+            let fullPath = basedFilePath + "/CompressRets_abalone" + timeStamp + ".bin"
+            print("fullPath = \(fullPath)")
+            self.binPath = fullPath
+            
+            let exist = fileManager.fileExists(atPath: fullPath)
+            if !exist {
+                let data = Data(bytes: retData, count: retData.count)
+                fileManager.createFile(atPath: fullPath, contents: data)
+            }
+        }
+    }
+
+    //bin转图片
+    @objc func deCompressAction(){
+        if let fullPath = binPath{
+            let fileURL = URL(fileURLWithPath: fullPath)
+            do {
+                let fileData = try Data(contentsOf: fileURL)
+                MSCompress.deCompress(data: fileData) { image in
+                    self.imgView.image = image
+                }
+            } catch {
+                print("file read error.")
+            }
+        }
+        else{
+            print("请先压缩")
+        }
+    }
+```
+