[
  {
    "crash": {
      "engineVariant": {
        "os": "ios",
        "arch": "arm64",
        "mode": "release"
      },
      "frames": [
        {
          "no": "0",
          "binary": "IOGPU",
          "pc": 7703464844,
          "symbol": "-[IOGPUMetalCommandBuffer commandBufferResourceInfo]",
          "offset": 12,
          "location": "",
          "runtimeType": "ios"
        },
        {
          "no": "1",
          "binary": "AGXMetalA9",
          "pc": 7920088288,
          "symbol": "(Missing)",
          "offset": null,
          "location": "",
          "runtimeType": "ios"
        },
        {
          "no": "2",
          "binary": "AGXMetalA9",
          "pc": 7919559688,
          "symbol": "(Missing)",
          "offset": null,
          "location": "",
          "runtimeType": "ios"
        },
        {
          "no": "3",
          "binary": "AGXMetalA9",
          "pc": 7919611888,
          "symbol": "(Missing)",
          "offset": null,
          "location": "",
          "runtimeType": "ios"
        },
        {
          "no": "4",
          "binary": "Flutter",
          "pc": 4395708724,
          "symbol": "(Missing)",
          "offset": null,
          "location": "",
          "runtimeType": "ios"
        },
        {
          "no": "5",
          "binary": "Flutter",
          "pc": 4395721188,
          "symbol": "(Missing)",
          "offset": null,
          "location": "",
          "runtimeType": "ios"
        },
        {
          "no": "6",
          "binary": "Flutter",
          "pc": 4394745476,
          "symbol": "(Missing)",
          "offset": null,
          "location": "",
          "runtimeType": "ios"
        },
        {
          "no": "7",
          "binary": "Flutter",
          "pc": 4394744548,
          "symbol": "(Missing)",
          "offset": null,
          "location": "",
          "runtimeType": "ios"
        },
        {
          "no": "8",
          "binary": "Flutter",
          "pc": 4394867300,
          "symbol": "(Missing)",
          "offset": null,
          "location": "",
          "runtimeType": "ios"
        },
        {
          "no": "9",
          "binary": "Flutter",
          "pc": 4394792692,
          "symbol": "(Missing)",
          "offset": null,
          "location": "",
          "runtimeType": "ios"
        },
        {
          "no": "10",
          "binary": "Flutter",
          "pc": 4394914004,
          "symbol": "(Missing)",
          "offset": null,
          "location": "",
          "runtimeType": "ios"
        },
        {
          "no": "11",
          "binary": "Flutter",
          "pc": 4394791632,
          "symbol": "(Missing)",
          "offset": null,
          "location": "",
          "runtimeType": "ios"
        },
        {
          "no": "12",
          "binary": "Flutter",
          "pc": 4394648788,
          "symbol": "(Missing)",
          "offset": null,
          "location": "",
          "runtimeType": "ios"
        },
        {
          "no": "13",
          "binary": "Flutter",
          "pc": 4395403972,
          "symbol": "(Missing)",
          "offset": null,
          "location": "",
          "runtimeType": "ios"
        },
        {
          "no": "14",
          "binary": "Flutter",
          "pc": 4396742256,
          "symbol": "(Missing)",
          "offset": null,
          "location": "",
          "runtimeType": "ios"
        },
        {
          "no": "15",
          "binary": "Flutter",
          "pc": 4393174888,
          "symbol": "(Missing)",
          "offset": null,
          "location": "",
          "runtimeType": "ios"
        },
        {
          "no": "16",
          "binary": "Flutter",
          "pc": 4396740432,
          "symbol": "(Missing)",
          "offset": null,
          "location": "",
          "runtimeType": "ios"
        },
        {
          "no": "17",
          "binary": "Flutter",
          "pc": 4393169996,
          "symbol": "(Missing)",
          "offset": null,
          "location": "",
          "runtimeType": "ios"
        },
        {
          "no": "18",
          "binary": "Flutter",
          "pc": 4393178048,
          "symbol": "(Missing)",
          "offset": null,
          "location": "",
          "runtimeType": "ios"
        },
        {
          "no": "19",
          "binary": "CoreFoundation",
          "pc": 6747212336,
          "symbol": "__CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__",
          "offset": 28,
          "location": "",
          "runtimeType": "ios"
        },
        {
          "no": "20",
          "binary": "CoreFoundation",
          "pc": 6747211316,
          "symbol": "__CFRunLoopDoTimer",
          "offset": 1004,
          "location": "",
          "runtimeType": "ios"
        },
        {
          "no": "21",
          "binary": "CoreFoundation",
          "pc": 6747208468,
          "symbol": "__CFRunLoopDoTimers",
          "offset": 324,
          "location": "",
          "runtimeType": "ios"
        },
        {
          "no": "22",
          "binary": "CoreFoundation",
          "pc": 6747184816,
          "symbol": "__CFRunLoopRun",
          "offset": 1912,
          "location": "",
          "runtimeType": "ios"
        },
        {
          "no": "23",
          "binary": "CoreFoundation",
          "pc": 6747181568,
          "symbol": "CFRunLoopRunSpecific",
          "offset": 572,
          "location": "",
          "runtimeType": "ios"
        },
        {
          "no": "24",
          "binary": "Flutter",
          "pc": 4393177756,
          "symbol": "(Missing)",
          "offset": null,
          "location": "",
          "runtimeType": "ios"
        },
        {
          "no": "25",
          "binary": "Flutter",
          "pc": 4393176100,
          "symbol": "(Missing)",
          "offset": null,
          "location": "",
          "runtimeType": "ios"
        },
        {
          "no": "26",
          "binary": "libsystem_pthread.dylib",
          "pc": 7914433392,
          "symbol": "_pthread_start",
          "offset": 288,
          "location": "",
          "runtimeType": "ios"
        },
        {
          "no": "27",
          "binary": "libsystem_pthread.dylib",
          "pc": 7914453120,
          "symbol": "thread_start",
          "offset": 8,
          "location": "",
          "runtimeType": "ios"
        }
      ],
      "format": "native",
      "androidMajorVersion": null
    },
    "engineBuild": {
      "engineHash": "b8752bbfff0419c8bf616b602bc59fd28f6a3d1b",
      "variant": {
        "os": "ios",
        "arch": "arm64",
        "mode": "release"
      }
    },
    "symbolized": "#00 00000001cb298b8c IOGPU -[IOGPUMetalCommandBuffer commandBufferResourceInfo] + 12\n#01 00000001d812f4e0 AGXMetalA9 (Missing)\n#02 00000001d80ae408 AGXMetalA9 (Missing)\n#03 00000001d80baff0 AGXMetalA9 (Missing)\n#04 0000000106013134 Flutter Flutter + 2781492\n                             GrMtlCommandBuffer::getBlitCommandEncoder()\n                             third_party/skia/src/gpu/mtl/GrMtlCommandBuffer.mm:45:37\n#05 00000001060161e4 Flutter Flutter + 2793956\n                             GrMtlGpu::uploadToTexture(GrMtlTexture*, int, int, int, int, GrColorType, GrMipLevel const*, int)\n                             third_party/skia/src/gpu/mtl/GrMtlGpu.mm:364:71\n                             GrMtlGpu::onWritePixels(GrSurface*, int, int, int, int, GrColorType, GrColorType, GrMipLevel const*, int, bool)\n                             third_party/skia/src/gpu/mtl/GrMtlGpu.mm:1205:0\n#06 0000000105f27e84 Flutter Flutter + 1818244\n                             GrGpu::writePixels(GrSurface*, int, int, int, int, GrColorType, GrColorType, GrMipLevel const*, int, bool)\n                             third_party/skia/src/gpu/GrGpu.cpp:465:15\n#07 0000000105f27ae4 Flutter Flutter + 1817316\n                             GrGpu::createTexture(SkISize, GrBackendFormat const&, GrRenderable, int, SkBudgeted, GrProtected, GrColorType, GrColorType, GrMipLevel const*, int)\n                             third_party/skia/src/gpu/GrGpu.cpp:205:24\n#08 0000000105f45a64 Flutter Flutter + 1940068\n                             GrResourceProvider::createTexture(SkISize, GrBackendFormat const&, GrColorType, GrRenderable, int, SkBudgeted, GrProtected, GrMipLevel const*, int)\n                             third_party/skia/src/gpu/GrResourceProvider.cpp:86:18\n#09 0000000105f336f4 Flutter Flutter + 1865460\n                             GrProxyProvider::createMippedProxyFromBitmap(SkBitmap const&, SkBudgeted)::$_1::operator()(GrResourceProvider*, GrSurfaceProxy::LazySurfaceDesc const&) const\n                             third_party/skia/src/gpu/GrProxyProvider.cpp:376:61\n                             decltype(std::__1::forward<GrProxyProvider::createMippedProxyFromBitmap(SkBitmap const&, SkBudgeted)::$_1&>(fp)(std::__1::forward<GrResourceProvider*>(fp0), std::__1::forward<GrSurfaceProxy::LazySurfaceDesc const&>(fp0))) std::__1::__invoke<GrProxyProvider::createMippedProxyFromBitmap(SkBitmap const&, SkBudgeted)::$_1&, GrResourceProvider*, GrSurfaceProxy::LazySurfaceDesc const&>(GrProxyProvider::createMippedProxyFromBitmap(SkBitmap const&, SkBudgeted)::$_1&, GrResourceProvider*&&, GrSurfaceProxy::LazySurfaceDesc const&)\n                             /opt/s/w/ir/cache/osx_sdk/XCode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits:4361:0\n                             GrSurfaceProxy::LazyCallbackResult std::__1::__invoke_void_return_wrapper<GrSurfaceProxy::LazyCallbackResult>::__call<GrProxyProvider::createMippedProxyFromBitmap(SkBitmap const&, SkBudgeted)::$_1&, GrResourceProvider*, GrSurfaceProxy::LazySurfaceDesc const&>(GrProxyProvider::createMippedProxyFromBitmap(SkBitmap const&, SkBudgeted)::$_1&, GrResourceProvider*&&, GrSurfaceProxy::LazySurfaceDesc const&)\n                             /opt/s/w/ir/cache/osx_sdk/XCode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__functional_base:318:0\n                             std::__1::__function::__alloc_func<GrProxyProvider::createMippedProxyFromBitmap(SkBitmap const&, SkBudgeted)::$_1, std::__1::allocator<GrProxyProvider::createMippedProxyFromBitmap(SkBitmap const&, SkBudgeted)::$_1>, GrSurfaceProxy::LazyCallbackResult (GrResourceProvider*, GrSurfaceProxy::LazySurfaceDesc const&)>::operator()(GrResourceProvider*&&, GrSurfaceProxy::LazySurfaceDesc const&)\n                             /opt/s/w/ir/cache/osx_sdk/XCode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional:1527:0\n                             std::__1::__function::__func<GrProxyProvider::createMippedProxyFromBitmap(SkBitmap const&, SkBudgeted)::$_1, std::__1::allocator<GrProxyProvider::createMippedProxyFromBitmap(SkBitmap const&, SkBudgeted)::$_1>, GrSurfaceProxy::LazyCallbackResult (GrResourceProvider*, GrSurfaceProxy::LazySurfaceDesc const&)>::operator()(GrResourceProvider*&&, GrSurfaceProxy::LazySurfaceDesc const&)\n                             /opt/s/w/ir/cache/osx_sdk/XCode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional:1651:0\n#10 0000000105f510d4 Flutter Flutter + 1986772\n                             std::__1::__function::__value_func<GrSurfaceProxy::LazyCallbackResult (GrResourceProvider*, GrSurfaceProxy::LazySurfaceDesc const&)>::operator()(GrResourceProvider*&&, GrSurfaceProxy::LazySurfaceDesc const&) const\n                             /opt/s/w/ir/cache/osx_sdk/XCode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional:1799:16\n                             std::__1::function<GrSurfaceProxy::LazyCallbackResult (GrResourceProvider*, GrSurfaceProxy::LazySurfaceDesc const&)>::operator()(GrResourceProvider*, GrSurfaceProxy::LazySurfaceDesc const&) const\n                             /opt/s/w/ir/cache/osx_sdk/XCode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional:2347:0\n                             GrSurfaceProxyPriv::doLazyInstantiation(GrResourceProvider*)\n                             third_party/skia/src/gpu/GrSurfaceProxy.cpp:375:0\n#11 0000000105f332d0 Flutter Flutter + 1864400\n                             GrProxyProvider::createProxyFromBitmap(SkBitmap const&, GrMipmapped, SkBackingFit, SkBudgeted)\n                             third_party/skia/src/gpu/GrProxyProvider.cpp:305:28\n#12 0000000105f104d4 Flutter Flutter + 1721556\n                             GrBitmapTextureMaker::refOriginalTextureProxyView(GrMipmapped)\n                             third_party/skia/src/gpu/GrBitmapTextureMaker.cpp:90:36\n#13 0000000105fc8ac4 Flutter Flutter + 2476740\n                             SkImage::MakeCrossContextFromPixmap(GrDirectContext*, SkPixmap const&, bool, bool)\n                             third_party/skia/src/image/SkImage_Gpu.cpp:637:29\n#14 000000010610f670 Flutter Flutter + 3815024\n                             flutter::UploadRasterImage(sk_sp<SkImage>, fml::WeakPtr<flutter::IOManager>, fml::tracing::TraceFlow const&)::$_3::operator()() const\n                             flutter/lib/ui/painting/image_decoder.cc:199:44\n                             decltype(std::__1::forward<flutter::UploadRasterImage(sk_sp<SkImage>, fml::WeakPtr<flutter::IOManager>, fml::tracing::TraceFlow const&)::$_3&>(fp)()) std::__1::__invoke<flutter::UploadRasterImage(sk_sp<SkImage>, fml::WeakPtr<flutter::IOManager>, fml::tracing::TraceFlow const&)::$_3&>(flutter::UploadRasterImage(sk_sp<SkImage>, fml::WeakPtr<flutter::IOManager>, fml::tracing::TraceFlow const&)::$_3&)\n                             /opt/s/w/ir/cache/osx_sdk/XCode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits:4361:0\n                             void std::__1::__invoke_void_return_wrapper<void>::__call<flutter::UploadRasterImage(sk_sp<SkImage>, fml::WeakPtr<flutter::IOManager>, fml::tracing::TraceFlow const&)::$_3&>(flutter::UploadRasterImage(sk_sp<SkImage>, fml::WeakPtr<flutter::IOManager>, fml::tracing::TraceFlow const&)::$_3&)\n                             /opt/s/w/ir/cache/osx_sdk/XCode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__functional_base:349:0\n                             std::__1::__function::__alloc_func<flutter::UploadRasterImage(sk_sp<SkImage>, fml::WeakPtr<flutter::IOManager>, fml::tracing::TraceFlow const&)::$_3, std::__1::allocator<flutter::UploadRasterImage(sk_sp<SkImage>, fml::WeakPtr<flutter::IOManager>, fml::tracing::TraceFlow const&)::$_3>, void ()>::operator()()\n                             /opt/s/w/ir/cache/osx_sdk/XCode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional:1527:0\n                             std::__1::__function::__func<flutter::UploadRasterImage(sk_sp<SkImage>, fml::WeakPtr<flutter::IOManager>, fml::tracing::TraceFlow const&)::$_3, std::__1::allocator<flutter::UploadRasterImage(sk_sp<SkImage>, fml::WeakPtr<flutter::IOManager>, fml::tracing::TraceFlow const&)::$_3>, void ()>::operator()()\n                             /opt/s/w/ir/cache/osx_sdk/XCode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional:1651:0\n#15 0000000105da8768 Flutter Flutter + 247656\n                             fml::SyncSwitch::Execute(fml::SyncSwitch::Handlers const&)\n                             flutter/fml/synchronization/sync_switch.cc:0:0\n#16 000000010610ef50 Flutter Flutter + 3813200\n                             flutter::UploadRasterImage(sk_sp<SkImage>, fml::WeakPtr<flutter::IOManager>, fml::tracing::TraceFlow const&)\n                             flutter/lib/ui/painting/image_decoder.cc:184:45\n                             flutter::ImageDecoder::Decode(fml::RefPtr<flutter::ImageDescriptor>, unsigned int, unsigned int, std::__1::function<void (flutter::SkiaGPUObject<SkImage>)> const&)::$_1::operator()()::'lambda'()::operator()()\n                             flutter/lib/ui/painting/image_decoder.cc:295:0\n                             auto fml::internal::CopyableLambda<flutter::ImageDecoder::Decode(fml::RefPtr<flutter::ImageDescriptor>, unsigned int, unsigned int, std::__1::function<void (flutter::SkiaGPUObject<SkImage>)> const&)::$_1::operator()()::'lambda'()>::operator()<>() const\n                             flutter/fml/make_copyable.h:24:0\n                             decltype(std::__1::forward<fml::internal::CopyableLambda<flutter::ImageDecoder::Decode(fml::RefPtr<flutter::ImageDescriptor>, unsigned int, unsigned int, std::__1::function<void (flutter::SkiaGPUObject<SkImage>)> const&)::$_1::operator()()::'lambda'()>&>(fp)()) std::__1::__invoke<fml::internal::CopyableLambda<flutter::ImageDecoder::Decode(fml::RefPtr<flutter::ImageDescriptor>, unsigned int, unsigned int, std::__1::function<void (flutter::SkiaGPUObject<SkImage>)> const&)::$_1::operator()()::'lambda'()>&>(fml::internal::CopyableLambda<flutter::ImageDecoder::Decode(fml::RefPtr<flutter::ImageDescriptor>, unsigned int, unsigned int, std::__1::function<void (flutter::SkiaGPUObject<SkImage>)> const&)::$_1::operator()()::'lambda'()>&)\n                             /opt/s/w/ir/cache/osx_sdk/XCode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits:4361:0\n                             void std::__1::__invoke_void_return_wrapper<void>::__call<fml::internal::CopyableLambda<flutter::ImageDecoder::Decode(fml::RefPtr<flutter::ImageDescriptor>, unsigned int, unsigned int, std::__1::function<void (flutter::SkiaGPUObject<SkImage>)> const&)::$_1::operator()()::'lambda'()>&>(fml::internal::CopyableLambda<flutter::ImageDecoder::Decode(fml::RefPtr<flutter::ImageDescriptor>, unsigned int, unsigned int, std::__1::function<void (flutter::SkiaGPUObject<SkImage>)> const&)::$_1::operator()()::'lambda'()>&)\n                             /opt/s/w/ir/cache/osx_sdk/XCode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__functional_base:349:0\n                             std::__1::__function::__alloc_func<fml::internal::CopyableLambda<flutter::ImageDecoder::Decode(fml::RefPtr<flutter::ImageDescriptor>, unsigned int, unsigned int, std::__1::function<void (flutter::SkiaGPUObject<SkImage>)> const&)::$_1::operator()()::'lambda'()>, std::__1::allocator<fml::internal::CopyableLambda<flutter::ImageDecoder::Decode(fml::RefPtr<flutter::ImageDescriptor>, unsigned int, unsigned int, std::__1::function<void (flutter::SkiaGPUObject<SkImage>)> const&)::$_1::operator()()::'lambda'()> >, void ()>::operator()()\n                             /opt/s/w/ir/cache/osx_sdk/XCode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional:1527:0\n                             std::__1::__function::__func<fml::internal::CopyableLambda<flutter::ImageDecoder::Decode(fml::RefPtr<flutter::ImageDescriptor>, unsigned int, unsigned int, std::__1::function<void (flutter::SkiaGPUObject<SkImage>)> const&)::$_1::operator()()::'lambda'()>, std::__1::allocator<fml::internal::CopyableLambda<flutter::ImageDecoder::Decode(fml::RefPtr<flutter::ImageDescriptor>, unsigned int, unsigned int, std::__1::function<void (flutter::SkiaGPUObject<SkImage>)> const&)::$_1::operator()()::'lambda'()> >, void ()>::operator()()\n                             /opt/s/w/ir/cache/osx_sdk/XCode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional:1651:0\n#17 0000000105da744c Flutter Flutter + 242764\n                             std::__1::__function::__value_func<void ()>::operator()() const\n                             /opt/s/w/ir/cache/osx_sdk/XCode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional:1799:16\n                             std::__1::function<void ()>::operator()() const\n                             /opt/s/w/ir/cache/osx_sdk/XCode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional:2347:0\n                             fml::MessageLoopImpl::FlushTasks(fml::FlushType)\n                             flutter/fml/message_loop_impl.cc:130:0\n#18 0000000105da93c0 Flutter Flutter + 250816\n                             fml::MessageLoopImpl::RunExpiredTasksNow()\n                             flutter/fml/message_loop_impl.cc:143:3\n                             fml::MessageLoopDarwin::OnTimerFire(__CFRunLoopTimer*, fml::MessageLoopDarwin*)\n                             flutter/fml/platform/darwin/message_loop_darwin.mm:75:0\n#19 00000001922a4a30 CoreFoundation __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 28\n#20 00000001922a4634 CoreFoundation __CFRunLoopDoTimer + 1004\n#21 00000001922a3b14 CoreFoundation __CFRunLoopDoTimers + 324\n#22 000000019229deb0 CoreFoundation __CFRunLoopRun + 1912\n#23 000000019229d200 CoreFoundation CFRunLoopRunSpecific + 572\n#24 0000000105da929c Flutter Flutter + 250524\n                             fml::MessageLoopDarwin::Run()\n                             flutter/fml/platform/darwin/message_loop_darwin.mm:46:20\n#25 0000000105da8c24 Flutter Flutter + 248868\n                             fml::MessageLoopImpl::DoRun()\n                             flutter/fml/message_loop_impl.cc:96:3\n                             fml::MessageLoop::Run()\n                             flutter/fml/message_loop.cc:49:0\n                             fml::Thread::Thread(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)::$_0::operator()() const\n                             flutter/fml/thread.cc:36:0\n                             decltype(std::__1::forward<fml::Thread::Thread(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)::$_0>(fp)()) std::__1::__invoke<fml::Thread::Thread(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)::$_0>(fml::Thread::Thread(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)::$_0&&)\n                             /opt/s/w/ir/cache/osx_sdk/XCode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits:4361:0\n                             void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, fml::Thread::Thread(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)::$_0>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, fml::Thread::Thread(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)::$_0>&, std::__1::__tuple_indices<>)\n                             /opt/s/w/ir/cache/osx_sdk/XCode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/thread:342:0\n                             void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, fml::Thread::Thread(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)::$_0> >(void*)\n                             /opt/s/w/ir/cache/osx_sdk/XCode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/thread:352:0\n#26 00000001d7bcab70 libsystem_pthread.dylib _pthread_start + 288\n#27 00000001d7bcf880 libsystem_pthread.dylib thread_start + 8\n",
    "notes": [
      {
        "kind": "loadBaseDetected",
        "message": "0000000105d6c000"
      }
    ]
  }
]