// !$*UTF8*$!
{
	archiveVersion = 1;
	classes = {
	};
	objectVersion = 56;
	objects = {

/* Begin PBXBuildFile section */
		EC01511E2C305CA9008A115E /* DashboardView.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC01511D2C305CA9008A115E /* DashboardView.swift */; };
		EC0151202C305D7B008A115E /* SidebarItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC01511F2C305D7B008A115E /* SidebarItem.swift */; };
		EC0151232C306089008A115E /* Sidebar.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC0151222C306089008A115E /* Sidebar.swift */; };
		EC0151262C3067B9008A115E /* TrashView.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC0151252C3067B9008A115E /* TrashView.swift */; };
		EC01512A2C306935008A115E /* MemoGrid.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC0151292C306935008A115E /* MemoGrid.swift */; };
		EC01512C2C306BEF008A115E /* MemoCard.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC01512B2C306BEF008A115E /* MemoCard.swift */; };
		EC01512E2C30727F008A115E /* MemoPreview.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC01512D2C30727F008A115E /* MemoPreview.swift */; };
		EC0D14212BF79C73009BFE5F /* ToolObject.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC0D14202BF79C73009BFE5F /* ToolObject.swift */; };
		EC0D14242BF79C98009BFE5F /* MemolaModel.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = EC0D14222BF79C98009BFE5F /* MemolaModel.xcdatamodeld */; };
		EC0D14262BF7A8C9009BFE5F /* PenObject.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC0D14252BF7A8C9009BFE5F /* PenObject.swift */; };
		EC0D14282BF7BF20009BFE5F /* ContextMenuViewModifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC0D14272BF7BF20009BFE5F /* ContextMenuViewModifier.swift */; };
		EC1815082C2D980B00541369 /* Sort.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC1815072C2D980B00541369 /* Sort.swift */; };
		EC18150A2C2DA09E00541369 /* Filter.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC1815092C2DA09E00541369 /* Filter.swift */; };
		EC18150D2C2DAC3700541369 /* Placeholder.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC18150C2C2DAC3700541369 /* Placeholder.swift */; };
		EC1B783D2BFA0AC9005A34E2 /* Toolbar.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC1B783C2BFA0AC9005A34E2 /* Toolbar.swift */; };
		EC2002D52C416033002EBD5F /* FileCommands.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC2002D42C416033002EBD5F /* FileCommands.swift */; };
		EC2002D72C4160EF002EBD5F /* EditCommands.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC2002D62C4160EF002EBD5F /* EditCommands.swift */; };
		EC2002D92C4161ED002EBD5F /* ViewCommands.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC2002D82C4161ED002EBD5F /* ViewCommands.swift */; };
		EC2002DD2C4163E8002EBD5F /* AppCommands.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC2002DC2C4163E8002EBD5F /* AppCommands.swift */; };
		EC2002ED2C417B68002EBD5F /* AppScene.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC2002EC2C417B68002EBD5F /* AppScene.swift */; };
		EC2002F02C417BF1002EBD5F /* ActiveSceneKey.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC2002EF2C417BF1002EBD5F /* ActiveSceneKey.swift */; };
		EC2106AD2C10C2A700FBE27C /* AnyStroke.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC2106AC2C10C2A700FBE27C /* AnyStroke.swift */; };
		EC2117632C47FA30005B32A1 /* SettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC2117622C47FA30005B32A1 /* SettingsView.swift */; };
		EC2117662C4802C0005B32A1 /* AppWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC2117652C4802C0005B32A1 /* AppWindow.swift */; };
		EC2117692C480D4D005B32A1 /* AboutView.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC2117682C480D4D005B32A1 /* AboutView.swift */; };
		EC21176B2C480EE6005B32A1 /* Bundle++.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC21176A2C480EE6005B32A1 /* Bundle++.swift */; };
		EC2BEBF42C0F5FF7005DB0AF /* RTree.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC2BEBF32C0F5FF7005DB0AF /* RTree.swift */; };
		EC2BEBF62C0F600D005DB0AF /* Box.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC2BEBF52C0F600D005DB0AF /* Box.swift */; };
		EC2BEBF82C0F601A005DB0AF /* Node.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC2BEBF72C0F601A005DB0AF /* Node.swift */; };
		EC35655A2BF060D900A4E0BF /* Quad.metal in Sources */ = {isa = PBXBuildFile; fileRef = EC3565592BF060D900A4E0BF /* Quad.metal */; };
		EC37FB122C1B2DD90008D976 /* ToolSelection.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC37FB112C1B2DD90008D976 /* ToolSelection.swift */; };
		EC42F7852C25267000E86E96 /* ElementGroup.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC42F7842C25267000E86E96 /* ElementGroup.swift */; };
		EC4538892BEBCAE000A86FEC /* Quad.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC4538882BEBCAE000A86FEC /* Quad.swift */; };
		EC5050072BF65CED00B4D86E /* PenDropDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC5050062BF65CED00B4D86E /* PenDropDelegate.swift */; };
		EC50500D2BF6674400B4D86E /* OnDragViewModifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC50500C2BF6674400B4D86E /* OnDragViewModifier.swift */; };
		EC5D40812C21CE270067F090 /* PhotoBackgroundRenderPass.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC5D40802C21CE270067F090 /* PhotoBackgroundRenderPass.swift */; };
		EC5E83902BFDB69C00261D9C /* MovingAverage.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC5E838F2BFDB69C00261D9C /* MovingAverage.swift */; };
		EC68C9992C4A888C00D8E4F9 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = EC68C9982C4A888C00D8E4F9 /* LaunchScreen.storyboard */; platformFilter = ios; };
		EC6E3BD72C43C6A400DD20F3 /* Application.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC6E3BD62C43C6A400DD20F3 /* Application.swift */; };
		EC6E3BD92C43C6C000DD20F3 /* OnDismissSearchViewModifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC6E3BD82C43C6C000DD20F3 /* OnDismissSearchViewModifier.swift */; };
		EC6E3BDB2C43C78700DD20F3 /* NavigationSplitViewVisibility++.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC6E3BDA2C43C78700DD20F3 /* NavigationSplitViewVisibility++.swift */; };
		EC6E3BDE2C43D5A500DD20F3 /* SidebarVisibility.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC6E3BDC2C43D5A500DD20F3 /* SidebarVisibility.swift */; };
		EC7F6BEC2BE5E6E300A34A7B /* MemolaApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC7F6BEB2BE5E6E300A34A7B /* MemolaApp.swift */; };
		EC7F6BF02BE5E6E400A34A7B /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = EC7F6BEF2BE5E6E400A34A7B /* Assets.xcassets */; };
		EC7F6BF32BE5E6E400A34A7B /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = EC7F6BF22BE5E6E400A34A7B /* Preview Assets.xcassets */; };
		EC86C5822C4010CC00C07D21 /* PhotoDock.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC86C5812C4010CC00C07D21 /* PhotoDock.swift */; };
		EC8C9DCE2C39882500A8F3C4 /* NSSyncScrollView.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC8C9DCD2C39882500A8F3C4 /* NSSyncScrollView.swift */; };
		EC8F54AC2C2ACDA8001C7C74 /* GridMode.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC8F54AB2C2ACDA8001C7C74 /* GridMode.swift */; };
		EC8F54AE2C2AF5A4001C7C74 /* LineGridVertex.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC8F54AD2C2AF5A4001C7C74 /* LineGridVertex.swift */; };
		EC8F54B02C2AF5E9001C7C74 /* LineGridContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC8F54AF2C2AF5E9001C7C74 /* LineGridContext.swift */; };
		EC9AB09F2C1401A40076AF58 /* EraserObject.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC9AB09E2C1401A40076AF58 /* EraserObject.swift */; };
		ECA7387A2BE5EF0400A4542E /* MemosView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECA738792BE5EF0400A4542E /* MemosView.swift */; };
		ECA7387D2BE5EF4B00A4542E /* MemoView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECA7387C2BE5EF4B00A4542E /* MemoView.swift */; };
		ECA738832BE5FEFE00A4542E /* RenderPass.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECA738822BE5FEFE00A4542E /* RenderPass.swift */; };
		ECA738862BE5FF2500A4542E /* Canvas.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECA738852BE5FF2500A4542E /* Canvas.swift */; };
		ECA738882BE5FF4400A4542E /* Renderer.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECA738872BE5FF4400A4542E /* Renderer.swift */; };
		ECA7388A2BE6006A00A4542E /* PipelineStates.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECA738892BE6006A00A4542E /* PipelineStates.swift */; };
		ECA7388C2BE6009600A4542E /* Textures.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECA7388B2BE6009600A4542E /* Textures.swift */; };
		ECA7388F2BE600DA00A4542E /* Grid.metal in Sources */ = {isa = PBXBuildFile; fileRef = ECA7388E2BE600DA00A4542E /* Grid.metal */; };
		ECA738912BE600F500A4542E /* Cache.metal in Sources */ = {isa = PBXBuildFile; fileRef = ECA738902BE600F500A4542E /* Cache.metal */; };
		ECA738932BE6011100A4542E /* Stroke.metal in Sources */ = {isa = PBXBuildFile; fileRef = ECA738922BE6011100A4542E /* Stroke.metal */; };
		ECA738952BE6012D00A4542E /* ViewPort.metal in Sources */ = {isa = PBXBuildFile; fileRef = ECA738942BE6012D00A4542E /* ViewPort.metal */; };
		ECA738972BE6014200A4542E /* Graphic.metal in Sources */ = {isa = PBXBuildFile; fileRef = ECA738962BE6014200A4542E /* Graphic.metal */; };
		ECA7389C2BE601AF00A4542E /* PointGridVertex.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECA7389B2BE601AF00A4542E /* PointGridVertex.swift */; };
		ECA7389E2BE601CB00A4542E /* QuadVertex.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECA7389D2BE601CB00A4542E /* QuadVertex.swift */; };
		ECA738A02BE601E400A4542E /* ViewPortVertex.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECA7389F2BE601E400A4542E /* ViewPortVertex.swift */; };
		ECA738A62BE6023F00A4542E /* GridUniforms.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECA738A52BE6023F00A4542E /* GridUniforms.swift */; };
		ECA738A82BE6025900A4542E /* GraphicUniforms.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECA738A72BE6025900A4542E /* GraphicUniforms.swift */; };
		ECA738AA2BE6026D00A4542E /* Uniforms.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECA738A92BE6026D00A4542E /* Uniforms.swift */; };
		ECA738AD2BE60CC600A4542E /* DrawingView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECA738AC2BE60CC600A4542E /* DrawingView.swift */; };
		ECA738B02BE60D0B00A4542E /* CanvasViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECA738AF2BE60D0B00A4542E /* CanvasViewController.swift */; };
		ECA738B32BE60D9E00A4542E /* CanvasView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECA738B22BE60D9E00A4542E /* CanvasView.swift */; };
		ECA738B62BE60DCD00A4542E /* History.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECA738B52BE60DCD00A4542E /* History.swift */; };
		ECA738B82BE60DDC00A4542E /* HistoryEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECA738B72BE60DDC00A4542E /* HistoryEvent.swift */; };
		ECA738BA2BE60DEF00A4542E /* HistoryAction.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECA738B92BE60DEF00A4542E /* HistoryAction.swift */; };
		ECA738BC2BE60E0300A4542E /* Tool.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECA738BB2BE60E0300A4542E /* Tool.swift */; };
		ECA738BF2BE60E3400A4542E /* Pen.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECA738BE2BE60E3400A4542E /* Pen.swift */; };
		ECA738C12BE60E5300A4542E /* PenStyle.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECA738C02BE60E5300A4542E /* PenStyle.swift */; };
		ECA738C42BE60E8800A4542E /* MarkerPenStyle.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECA738C32BE60E8800A4542E /* MarkerPenStyle.swift */; };
		ECA738C62BE60E9D00A4542E /* EraserPenStyle.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECA738C52BE60E9D00A4542E /* EraserPenStyle.swift */; };
		ECA738C92BE60EF700A4542E /* GraphicContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECA738C82BE60EF700A4542E /* GraphicContext.swift */; };
		ECA738CB2BE60F1900A4542E /* ViewPortContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECA738CA2BE60F1900A4542E /* ViewPortContext.swift */; };
		ECA738CD2BE60F2F00A4542E /* PointGridContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECA738CC2BE60F2F00A4542E /* PointGridContext.swift */; };
		ECA738D22BE60F7B00A4542E /* PenStroke.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECA738D12BE60F7B00A4542E /* PenStroke.swift */; };
		ECA738D42BE60F9100A4542E /* StrokeGenerator.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECA738D32BE60F9100A4542E /* StrokeGenerator.swift */; };
		ECA738D72BE60FC100A4542E /* SolidPointStrokeGenerator.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECA738D62BE60FC100A4542E /* SolidPointStrokeGenerator.swift */; };
		ECA738DA2BE60FF100A4542E /* CacheRenderPass.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECA738D92BE60FF100A4542E /* CacheRenderPass.swift */; };
		ECA738DC2BE6108D00A4542E /* StrokeRenderPass.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECA738DB2BE6108D00A4542E /* StrokeRenderPass.swift */; };
		ECA738DE2BE610A000A4542E /* ViewPortRenderPass.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECA738DD2BE610A000A4542E /* ViewPortRenderPass.swift */; };
		ECA738E02BE610B900A4542E /* EraserRenderPass.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECA738DF2BE610B900A4542E /* EraserRenderPass.swift */; };
		ECA738E22BE610D000A4542E /* GraphicRenderPass.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECA738E12BE610D000A4542E /* GraphicRenderPass.swift */; };
		ECA738E42BE6110800A4542E /* Drawable.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECA738E32BE6110800A4542E /* Drawable.swift */; };
		ECA738FC2BE61C5200A4542E /* Persistence.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECA738FB2BE61C5200A4542E /* Persistence.swift */; };
		ECA739082BE623F300A4542E /* PenDock.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECA739072BE623F300A4542E /* PenDock.swift */; };
		ECBE529C2C1D94A4006BDB3D /* CameraView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECBE529A2C1D94A4006BDB3D /* CameraView.swift */; };
		ECC4F38C2C4B9B63007EC227 /* PhotoFileObject.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECC4F38B2C4B9B63007EC227 /* PhotoFileObject.swift */; };
		ECC995A32C1E8F2800B2699A /* PhotoItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECC995A22C1E8F2800B2699A /* PhotoItem.swift */; };
		ECD12A862C19EE3900B96E12 /* ElementObject.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECD12A852C19EE3900B96E12 /* ElementObject.swift */; };
		ECD12A8A2C19EFB000B96E12 /* Element.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECD12A892C19EFB000B96E12 /* Element.swift */; };
		ECD12A8C2C1AEAA900B96E12 /* PhotoObject.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECD12A8B2C1AEAA900B96E12 /* PhotoObject.swift */; };
		ECD12A8F2C1AEBA400B96E12 /* Photo.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECD12A8E2C1AEBA400B96E12 /* Photo.swift */; };
		ECD12A912C1B04EA00B96E12 /* PhotoRenderPass.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECD12A902C1B04EA00B96E12 /* PhotoRenderPass.swift */; };
		ECD12A932C1B062000B96E12 /* Photo.metal in Sources */ = {isa = PBXBuildFile; fileRef = ECD12A922C1B062000B96E12 /* Photo.metal */; };
		ECD12A952C1B1FA200B96E12 /* PhotoVertex.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECD12A942C1B1FA200B96E12 /* PhotoVertex.swift */; };
		ECDAC07B2C318DBC0000ED77 /* ElementToolbar.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECDAC07A2C318DBC0000ED77 /* ElementToolbar.swift */; };
		ECDDD40D2C366B3B00DF9D5E /* PreviewRenderPass.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECDDD40C2C366B3B00DF9D5E /* PreviewRenderPass.swift */; };
		ECE883BD2C00AA170045C53D /* EraserStroke.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECE883BC2C00AA170045C53D /* EraserStroke.swift */; };
		ECE883BF2C00AB440045C53D /* Stroke.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECE883BE2C00AB440045C53D /* Stroke.swift */; };
		ECE883C12C00C9CB0045C53D /* StrokeStyle.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECE883C02C00C9CB0045C53D /* StrokeStyle.swift */; };
		ECEC01A82BEE11BA006DA24C /* QuadShape.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECEC01A72BEE11BA006DA24C /* QuadShape.swift */; };
		ECF7B2D02C39169C004D2C57 /* Array++.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECF7B2BD2C39169C004D2C57 /* Array++.swift */; };
		ECF7B2D12C39169C004D2C57 /* CGAffineTransform++.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECF7B2BE2C39169C004D2C57 /* CGAffineTransform++.swift */; };
		ECF7B2D22C39169C004D2C57 /* CGFloat++.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECF7B2BF2C39169C004D2C57 /* CGFloat++.swift */; };
		ECF7B2D32C39169C004D2C57 /* CGPoint++.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECF7B2C02C39169C004D2C57 /* CGPoint++.swift */; };
		ECF7B2D42C39169C004D2C57 /* CGRect++.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECF7B2C12C39169C004D2C57 /* CGRect++.swift */; };
		ECF7B2D52C39169C004D2C57 /* CGSize++.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECF7B2C22C39169C004D2C57 /* CGSize++.swift */; };
		ECF7B2D62C39169C004D2C57 /* Collection++.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECF7B2C32C39169C004D2C57 /* Collection++.swift */; };
		ECF7B2D72C39169C004D2C57 /* Color++.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECF7B2C42C39169C004D2C57 /* Color++.swift */; };
		ECF7B2D82C39169C004D2C57 /* Data++.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECF7B2C52C39169C004D2C57 /* Data++.swift */; };
		ECF7B2D92C39169C004D2C57 /* Date++.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECF7B2C62C39169C004D2C57 /* Date++.swift */; };
		ECF7B2DA2C39169C004D2C57 /* Float++.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECF7B2C72C39169C004D2C57 /* Float++.swift */; };
		ECF7B2DB2C39169C004D2C57 /* MTLDevice++.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECF7B2C82C39169C004D2C57 /* MTLDevice++.swift */; };
		ECF7B2DC2C39169C004D2C57 /* MTLTexture++.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECF7B2C92C39169C004D2C57 /* MTLTexture++.swift */; };
		ECF7B2DD2C39169C004D2C57 /* NSManagedObject++.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECF7B2CA2C39169C004D2C57 /* NSManagedObject++.swift */; };
		ECF7B2DE2C39169C004D2C57 /* NSManagedObjectContext++.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECF7B2CB2C39169C004D2C57 /* NSManagedObjectContext++.swift */; };
		ECF7B2DF2C39169C004D2C57 /* simd_float4x4++.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECF7B2CC2C39169C004D2C57 /* simd_float4x4++.swift */; };
		ECF7B2E02C39169C004D2C57 /* Image++.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECF7B2CD2C39169C004D2C57 /* Image++.swift */; };
		ECF7B2E12C39169C004D2C57 /* View++.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECF7B2CE2C39169C004D2C57 /* View++.swift */; };
		ECF7B2E42C39174D004D2C57 /* Platform.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECF7B2E32C39174D004D2C57 /* Platform.swift */; };
		ECF7B2E72C39544E004D2C57 /* NSCenterClipView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECF7B2E62C39544E004D2C57 /* NSCenterClipView.swift */; };
		ECFA15202BEF21EF00455818 /* MemoObject.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECFA151F2BEF21EF00455818 /* MemoObject.swift */; };
		ECFA15222BEF21F500455818 /* CanvasObject.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECFA15212BEF21F500455818 /* CanvasObject.swift */; };
		ECFA15242BEF223300455818 /* GraphicContextObject.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECFA15232BEF223300455818 /* GraphicContextObject.swift */; };
		ECFA15262BEF224900455818 /* StrokeObject.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECFA15252BEF224900455818 /* StrokeObject.swift */; };
		ECFA15282BEF225000455818 /* QuadObject.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECFA15272BEF225000455818 /* QuadObject.swift */; };
		ECFC51272BF8885700D0D051 /* ColorPicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECFC51262BF8885700D0D051 /* ColorPicker.swift */; };
/* End PBXBuildFile section */

/* Begin PBXFileReference section */
		EC01511D2C305CA9008A115E /* DashboardView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DashboardView.swift; sourceTree = "<group>"; };
		EC01511F2C305D7B008A115E /* SidebarItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SidebarItem.swift; sourceTree = "<group>"; };
		EC0151222C306089008A115E /* Sidebar.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Sidebar.swift; sourceTree = "<group>"; };
		EC0151252C3067B9008A115E /* TrashView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TrashView.swift; sourceTree = "<group>"; };
		EC0151292C306935008A115E /* MemoGrid.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MemoGrid.swift; sourceTree = "<group>"; };
		EC01512B2C306BEF008A115E /* MemoCard.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MemoCard.swift; sourceTree = "<group>"; };
		EC01512D2C30727F008A115E /* MemoPreview.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MemoPreview.swift; sourceTree = "<group>"; };
		EC0D14202BF79C73009BFE5F /* ToolObject.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ToolObject.swift; sourceTree = "<group>"; };
		EC0D14232BF79C98009BFE5F /* MemolaModel.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = MemolaModel.xcdatamodel; sourceTree = "<group>"; };
		EC0D14252BF7A8C9009BFE5F /* PenObject.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PenObject.swift; sourceTree = "<group>"; };
		EC0D14272BF7BF20009BFE5F /* ContextMenuViewModifier.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContextMenuViewModifier.swift; sourceTree = "<group>"; };
		EC1815072C2D980B00541369 /* Sort.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Sort.swift; sourceTree = "<group>"; };
		EC1815092C2DA09E00541369 /* Filter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Filter.swift; sourceTree = "<group>"; };
		EC18150C2C2DAC3700541369 /* Placeholder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Placeholder.swift; sourceTree = "<group>"; };
		EC1B783C2BFA0AC9005A34E2 /* Toolbar.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Toolbar.swift; sourceTree = "<group>"; };
		EC2002D42C416033002EBD5F /* FileCommands.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FileCommands.swift; sourceTree = "<group>"; };
		EC2002D62C4160EF002EBD5F /* EditCommands.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EditCommands.swift; sourceTree = "<group>"; };
		EC2002D82C4161ED002EBD5F /* ViewCommands.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewCommands.swift; sourceTree = "<group>"; };
		EC2002DC2C4163E8002EBD5F /* AppCommands.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppCommands.swift; sourceTree = "<group>"; };
		EC2002EC2C417B68002EBD5F /* AppScene.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppScene.swift; sourceTree = "<group>"; };
		EC2002EF2C417BF1002EBD5F /* ActiveSceneKey.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ActiveSceneKey.swift; sourceTree = "<group>"; };
		EC2106AC2C10C2A700FBE27C /* AnyStroke.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AnyStroke.swift; sourceTree = "<group>"; };
		EC2117622C47FA30005B32A1 /* SettingsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsView.swift; sourceTree = "<group>"; };
		EC2117652C4802C0005B32A1 /* AppWindow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppWindow.swift; sourceTree = "<group>"; };
		EC2117682C480D4D005B32A1 /* AboutView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AboutView.swift; sourceTree = "<group>"; };
		EC21176A2C480EE6005B32A1 /* Bundle++.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Bundle++.swift"; sourceTree = "<group>"; };
		EC2BEBF32C0F5FF7005DB0AF /* RTree.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RTree.swift; sourceTree = "<group>"; };
		EC2BEBF52C0F600D005DB0AF /* Box.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Box.swift; sourceTree = "<group>"; };
		EC2BEBF72C0F601A005DB0AF /* Node.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Node.swift; sourceTree = "<group>"; };
		EC3565592BF060D900A4E0BF /* Quad.metal */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.metal; path = Quad.metal; sourceTree = "<group>"; };
		EC37FB112C1B2DD90008D976 /* ToolSelection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ToolSelection.swift; sourceTree = "<group>"; };
		EC42F7842C25267000E86E96 /* ElementGroup.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ElementGroup.swift; sourceTree = "<group>"; };
		EC4538882BEBCAE000A86FEC /* Quad.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Quad.swift; sourceTree = "<group>"; };
		EC5050062BF65CED00B4D86E /* PenDropDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PenDropDelegate.swift; sourceTree = "<group>"; };
		EC50500C2BF6674400B4D86E /* OnDragViewModifier.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OnDragViewModifier.swift; sourceTree = "<group>"; };
		EC50500E2BF670EA00B4D86E /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
		EC5D40802C21CE270067F090 /* PhotoBackgroundRenderPass.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PhotoBackgroundRenderPass.swift; sourceTree = "<group>"; };
		EC5E838F2BFDB69C00261D9C /* MovingAverage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MovingAverage.swift; sourceTree = "<group>"; };
		EC68C9982C4A888C00D8E4F9 /* LaunchScreen.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = LaunchScreen.storyboard; sourceTree = "<group>"; };
		EC6E3BD62C43C6A400DD20F3 /* Application.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Application.swift; sourceTree = "<group>"; };
		EC6E3BD82C43C6C000DD20F3 /* OnDismissSearchViewModifier.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OnDismissSearchViewModifier.swift; sourceTree = "<group>"; };
		EC6E3BDA2C43C78700DD20F3 /* NavigationSplitViewVisibility++.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NavigationSplitViewVisibility++.swift"; sourceTree = "<group>"; };
		EC6E3BDC2C43D5A500DD20F3 /* SidebarVisibility.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SidebarVisibility.swift; sourceTree = "<group>"; };
		EC7F6BE82BE5E6E300A34A7B /* Memola.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Memola.app; sourceTree = BUILT_PRODUCTS_DIR; };
		EC7F6BEB2BE5E6E300A34A7B /* MemolaApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MemolaApp.swift; sourceTree = "<group>"; };
		EC7F6BEF2BE5E6E400A34A7B /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
		EC7F6BF22BE5E6E400A34A7B /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = "<group>"; };
		EC86C5812C4010CC00C07D21 /* PhotoDock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PhotoDock.swift; sourceTree = "<group>"; };
		EC8C9DCD2C39882500A8F3C4 /* NSSyncScrollView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NSSyncScrollView.swift; sourceTree = "<group>"; };
		EC8F54AB2C2ACDA8001C7C74 /* GridMode.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GridMode.swift; sourceTree = "<group>"; };
		EC8F54AD2C2AF5A4001C7C74 /* LineGridVertex.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LineGridVertex.swift; sourceTree = "<group>"; };
		EC8F54AF2C2AF5E9001C7C74 /* LineGridContext.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LineGridContext.swift; sourceTree = "<group>"; };
		EC9AB09E2C1401A40076AF58 /* EraserObject.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EraserObject.swift; sourceTree = "<group>"; };
		ECA738792BE5EF0400A4542E /* MemosView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MemosView.swift; sourceTree = "<group>"; };
		ECA7387C2BE5EF4B00A4542E /* MemoView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MemoView.swift; sourceTree = "<group>"; };
		ECA738822BE5FEFE00A4542E /* RenderPass.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RenderPass.swift; sourceTree = "<group>"; };
		ECA738852BE5FF2500A4542E /* Canvas.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Canvas.swift; sourceTree = "<group>"; };
		ECA738872BE5FF4400A4542E /* Renderer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Renderer.swift; sourceTree = "<group>"; };
		ECA738892BE6006A00A4542E /* PipelineStates.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PipelineStates.swift; sourceTree = "<group>"; };
		ECA7388B2BE6009600A4542E /* Textures.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Textures.swift; sourceTree = "<group>"; };
		ECA7388E2BE600DA00A4542E /* Grid.metal */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.metal; path = Grid.metal; sourceTree = "<group>"; };
		ECA738902BE600F500A4542E /* Cache.metal */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.metal; path = Cache.metal; sourceTree = "<group>"; };
		ECA738922BE6011100A4542E /* Stroke.metal */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.metal; path = Stroke.metal; sourceTree = "<group>"; };
		ECA738942BE6012D00A4542E /* ViewPort.metal */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.metal; path = ViewPort.metal; sourceTree = "<group>"; };
		ECA738962BE6014200A4542E /* Graphic.metal */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.metal; path = Graphic.metal; sourceTree = "<group>"; };
		ECA7389B2BE601AF00A4542E /* PointGridVertex.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PointGridVertex.swift; sourceTree = "<group>"; };
		ECA7389D2BE601CB00A4542E /* QuadVertex.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = QuadVertex.swift; sourceTree = "<group>"; };
		ECA7389F2BE601E400A4542E /* ViewPortVertex.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewPortVertex.swift; sourceTree = "<group>"; };
		ECA738A52BE6023F00A4542E /* GridUniforms.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GridUniforms.swift; sourceTree = "<group>"; };
		ECA738A72BE6025900A4542E /* GraphicUniforms.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GraphicUniforms.swift; sourceTree = "<group>"; };
		ECA738A92BE6026D00A4542E /* Uniforms.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Uniforms.swift; sourceTree = "<group>"; };
		ECA738AC2BE60CC600A4542E /* DrawingView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DrawingView.swift; sourceTree = "<group>"; };
		ECA738AF2BE60D0B00A4542E /* CanvasViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CanvasViewController.swift; sourceTree = "<group>"; };
		ECA738B22BE60D9E00A4542E /* CanvasView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CanvasView.swift; sourceTree = "<group>"; };
		ECA738B52BE60DCD00A4542E /* History.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = History.swift; sourceTree = "<group>"; };
		ECA738B72BE60DDC00A4542E /* HistoryEvent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HistoryEvent.swift; sourceTree = "<group>"; };
		ECA738B92BE60DEF00A4542E /* HistoryAction.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HistoryAction.swift; sourceTree = "<group>"; };
		ECA738BB2BE60E0300A4542E /* Tool.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Tool.swift; sourceTree = "<group>"; };
		ECA738BE2BE60E3400A4542E /* Pen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Pen.swift; sourceTree = "<group>"; };
		ECA738C02BE60E5300A4542E /* PenStyle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PenStyle.swift; sourceTree = "<group>"; };
		ECA738C32BE60E8800A4542E /* MarkerPenStyle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MarkerPenStyle.swift; sourceTree = "<group>"; };
		ECA738C52BE60E9D00A4542E /* EraserPenStyle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EraserPenStyle.swift; sourceTree = "<group>"; };
		ECA738C82BE60EF700A4542E /* GraphicContext.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GraphicContext.swift; sourceTree = "<group>"; };
		ECA738CA2BE60F1900A4542E /* ViewPortContext.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewPortContext.swift; sourceTree = "<group>"; };
		ECA738CC2BE60F2F00A4542E /* PointGridContext.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PointGridContext.swift; sourceTree = "<group>"; };
		ECA738D12BE60F7B00A4542E /* PenStroke.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PenStroke.swift; sourceTree = "<group>"; };
		ECA738D32BE60F9100A4542E /* StrokeGenerator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StrokeGenerator.swift; sourceTree = "<group>"; };
		ECA738D62BE60FC100A4542E /* SolidPointStrokeGenerator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SolidPointStrokeGenerator.swift; sourceTree = "<group>"; };
		ECA738D92BE60FF100A4542E /* CacheRenderPass.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CacheRenderPass.swift; sourceTree = "<group>"; };
		ECA738DB2BE6108D00A4542E /* StrokeRenderPass.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StrokeRenderPass.swift; sourceTree = "<group>"; };
		ECA738DD2BE610A000A4542E /* ViewPortRenderPass.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewPortRenderPass.swift; sourceTree = "<group>"; };
		ECA738DF2BE610B900A4542E /* EraserRenderPass.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EraserRenderPass.swift; sourceTree = "<group>"; };
		ECA738E12BE610D000A4542E /* GraphicRenderPass.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GraphicRenderPass.swift; sourceTree = "<group>"; };
		ECA738E32BE6110800A4542E /* Drawable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Drawable.swift; sourceTree = "<group>"; };
		ECA738FB2BE61C5200A4542E /* Persistence.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Persistence.swift; sourceTree = "<group>"; };
		ECA739072BE623F300A4542E /* PenDock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PenDock.swift; sourceTree = "<group>"; };
		ECBE529A2C1D94A4006BDB3D /* CameraView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CameraView.swift; sourceTree = "<group>"; };
		ECC4F38B2C4B9B63007EC227 /* PhotoFileObject.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PhotoFileObject.swift; sourceTree = "<group>"; };
		ECC995A22C1E8F2800B2699A /* PhotoItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PhotoItem.swift; sourceTree = "<group>"; };
		ECD12A852C19EE3900B96E12 /* ElementObject.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ElementObject.swift; sourceTree = "<group>"; };
		ECD12A892C19EFB000B96E12 /* Element.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Element.swift; sourceTree = "<group>"; };
		ECD12A8B2C1AEAA900B96E12 /* PhotoObject.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PhotoObject.swift; sourceTree = "<group>"; };
		ECD12A8E2C1AEBA400B96E12 /* Photo.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Photo.swift; sourceTree = "<group>"; };
		ECD12A902C1B04EA00B96E12 /* PhotoRenderPass.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PhotoRenderPass.swift; sourceTree = "<group>"; };
		ECD12A922C1B062000B96E12 /* Photo.metal */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.metal; path = Photo.metal; sourceTree = "<group>"; };
		ECD12A942C1B1FA200B96E12 /* PhotoVertex.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PhotoVertex.swift; sourceTree = "<group>"; };
		ECDAC07A2C318DBC0000ED77 /* ElementToolbar.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ElementToolbar.swift; sourceTree = "<group>"; };
		ECDDD40C2C366B3B00DF9D5E /* PreviewRenderPass.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PreviewRenderPass.swift; sourceTree = "<group>"; };
		ECE883BC2C00AA170045C53D /* EraserStroke.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EraserStroke.swift; sourceTree = "<group>"; };
		ECE883BE2C00AB440045C53D /* Stroke.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Stroke.swift; sourceTree = "<group>"; };
		ECE883C02C00C9CB0045C53D /* StrokeStyle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StrokeStyle.swift; sourceTree = "<group>"; };
		ECEC01A72BEE11BA006DA24C /* QuadShape.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = QuadShape.swift; sourceTree = "<group>"; };
		ECF7B2BD2C39169C004D2C57 /* Array++.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Array++.swift"; sourceTree = "<group>"; };
		ECF7B2BE2C39169C004D2C57 /* CGAffineTransform++.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "CGAffineTransform++.swift"; sourceTree = "<group>"; };
		ECF7B2BF2C39169C004D2C57 /* CGFloat++.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "CGFloat++.swift"; sourceTree = "<group>"; };
		ECF7B2C02C39169C004D2C57 /* CGPoint++.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "CGPoint++.swift"; sourceTree = "<group>"; };
		ECF7B2C12C39169C004D2C57 /* CGRect++.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "CGRect++.swift"; sourceTree = "<group>"; };
		ECF7B2C22C39169C004D2C57 /* CGSize++.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "CGSize++.swift"; sourceTree = "<group>"; };
		ECF7B2C32C39169C004D2C57 /* Collection++.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Collection++.swift"; sourceTree = "<group>"; };
		ECF7B2C42C39169C004D2C57 /* Color++.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Color++.swift"; sourceTree = "<group>"; };
		ECF7B2C52C39169C004D2C57 /* Data++.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Data++.swift"; sourceTree = "<group>"; };
		ECF7B2C62C39169C004D2C57 /* Date++.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Date++.swift"; sourceTree = "<group>"; };
		ECF7B2C72C39169C004D2C57 /* Float++.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Float++.swift"; sourceTree = "<group>"; };
		ECF7B2C82C39169C004D2C57 /* MTLDevice++.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "MTLDevice++.swift"; sourceTree = "<group>"; };
		ECF7B2C92C39169C004D2C57 /* MTLTexture++.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "MTLTexture++.swift"; sourceTree = "<group>"; };
		ECF7B2CA2C39169C004D2C57 /* NSManagedObject++.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NSManagedObject++.swift"; sourceTree = "<group>"; };
		ECF7B2CB2C39169C004D2C57 /* NSManagedObjectContext++.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NSManagedObjectContext++.swift"; sourceTree = "<group>"; };
		ECF7B2CC2C39169C004D2C57 /* simd_float4x4++.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "simd_float4x4++.swift"; sourceTree = "<group>"; };
		ECF7B2CD2C39169C004D2C57 /* Image++.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Image++.swift"; sourceTree = "<group>"; };
		ECF7B2CE2C39169C004D2C57 /* View++.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "View++.swift"; sourceTree = "<group>"; };
		ECF7B2E32C39174D004D2C57 /* Platform.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Platform.swift; sourceTree = "<group>"; };
		ECF7B2E62C39544E004D2C57 /* NSCenterClipView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NSCenterClipView.swift; sourceTree = "<group>"; };
		ECF7B2E82C395A8E004D2C57 /* Memola.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Memola.entitlements; sourceTree = "<group>"; };
		ECFA151F2BEF21EF00455818 /* MemoObject.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MemoObject.swift; sourceTree = "<group>"; };
		ECFA15212BEF21F500455818 /* CanvasObject.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CanvasObject.swift; sourceTree = "<group>"; };
		ECFA15232BEF223300455818 /* GraphicContextObject.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GraphicContextObject.swift; sourceTree = "<group>"; };
		ECFA15252BEF224900455818 /* StrokeObject.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StrokeObject.swift; sourceTree = "<group>"; };
		ECFA15272BEF225000455818 /* QuadObject.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = QuadObject.swift; sourceTree = "<group>"; };
		ECFC51262BF8885700D0D051 /* ColorPicker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ColorPicker.swift; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
		EC7F6BE52BE5E6E300A34A7B /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
		EC01511A2C305ABB008A115E /* Dashboard */ = {
			isa = PBXGroup;
			children = (
				EC0151272C306906008A115E /* Details */,
				EC0151212C30605F008A115E /* Sidebar */,
				EC01511C2C305C99008A115E /* Dashboard */,
			);
			path = Dashboard;
			sourceTree = "<group>";
		};
		EC01511C2C305C99008A115E /* Dashboard */ = {
			isa = PBXGroup;
			children = (
				EC01511D2C305CA9008A115E /* DashboardView.swift */,
			);
			path = Dashboard;
			sourceTree = "<group>";
		};
		EC0151212C30605F008A115E /* Sidebar */ = {
			isa = PBXGroup;
			children = (
				EC0151222C306089008A115E /* Sidebar.swift */,
				EC01511F2C305D7B008A115E /* SidebarItem.swift */,
			);
			path = Sidebar;
			sourceTree = "<group>";
		};
		EC0151242C3067B2008A115E /* Trash */ = {
			isa = PBXGroup;
			children = (
				EC0151252C3067B9008A115E /* TrashView.swift */,
			);
			path = Trash;
			sourceTree = "<group>";
		};
		EC0151272C306906008A115E /* Details */ = {
			isa = PBXGroup;
			children = (
				EC0151282C306927008A115E /* Shared */,
				EC0151242C3067B2008A115E /* Trash */,
				ECA738782BE5EEF700A4542E /* Memos */,
			);
			path = Details;
			sourceTree = "<group>";
		};
		EC0151282C306927008A115E /* Shared */ = {
			isa = PBXGroup;
			children = (
				EC0151292C306935008A115E /* MemoGrid.swift */,
				EC01512B2C306BEF008A115E /* MemoCard.swift */,
				EC01512D2C30727F008A115E /* MemoPreview.swift */,
			);
			path = Shared;
			sourceTree = "<group>";
		};
		EC1437B42BE748E60022C903 /* Views */ = {
			isa = PBXGroup;
			children = (
				EC8C9DCC2C3987FD00A8F3C4 /* AppKit */,
				ECA738AC2BE60CC600A4542E /* DrawingView.swift */,
			);
			path = Views;
			sourceTree = "<group>";
		};
		EC1437B52BE748EF0022C903 /* ViewController */ = {
			isa = PBXGroup;
			children = (
				ECA738AF2BE60D0B00A4542E /* CanvasViewController.swift */,
			);
			path = ViewController;
			sourceTree = "<group>";
		};
		EC18150B2C2DA3AD00541369 /* Placeholder */ = {
			isa = PBXGroup;
			children = (
				EC18150C2C2DAC3700541369 /* Placeholder.swift */,
			);
			path = Placeholder;
			sourceTree = "<group>";
		};
		EC1B783A2BF9C68C005A34E2 /* Views */ = {
			isa = PBXGroup;
			children = (
				EC18150B2C2DA3AD00541369 /* Placeholder */,
				ECBE529B2C1D94A4006BDB3D /* CameraView */,
				ECFC51252BF8885000D0D051 /* ColorPicker */,
			);
			path = Views;
			sourceTree = "<group>";
		};
		EC1B783B2BFA0AAC005A34E2 /* Toolbar */ = {
			isa = PBXGroup;
			children = (
				EC1B783C2BFA0AC9005A34E2 /* Toolbar.swift */,
			);
			path = Toolbar;
			sourceTree = "<group>";
		};
		EC2002D32C416002002EBD5F /* Commands */ = {
			isa = PBXGroup;
			children = (
				EC2002DC2C4163E8002EBD5F /* AppCommands.swift */,
				EC2002D62C4160EF002EBD5F /* EditCommands.swift */,
				EC2002D42C416033002EBD5F /* FileCommands.swift */,
				EC2002D82C4161ED002EBD5F /* ViewCommands.swift */,
			);
			path = Commands;
			sourceTree = "<group>";
		};
		EC2002EE2C417BBF002EBD5F /* AppScene */ = {
			isa = PBXGroup;
			children = (
				EC2002EC2C417B68002EBD5F /* AppScene.swift */,
				EC2002EF2C417BF1002EBD5F /* ActiveSceneKey.swift */,
			);
			path = AppScene;
			sourceTree = "<group>";
		};
		EC2117602C47FA14005B32A1 /* Settings */ = {
			isa = PBXGroup;
			children = (
				EC2117672C480D45005B32A1 /* About */,
				EC2117612C47FA29005B32A1 /* Settings */,
			);
			path = Settings;
			sourceTree = "<group>";
		};
		EC2117612C47FA29005B32A1 /* Settings */ = {
			isa = PBXGroup;
			children = (
				EC2117622C47FA30005B32A1 /* SettingsView.swift */,
			);
			path = Settings;
			sourceTree = "<group>";
		};
		EC2117642C4802B4005B32A1 /* AppWindow */ = {
			isa = PBXGroup;
			children = (
				EC2117652C4802C0005B32A1 /* AppWindow.swift */,
			);
			path = AppWindow;
			sourceTree = "<group>";
		};
		EC2117672C480D45005B32A1 /* About */ = {
			isa = PBXGroup;
			children = (
				EC2117682C480D4D005B32A1 /* AboutView.swift */,
			);
			path = About;
			sourceTree = "<group>";
		};
		EC2BEBF22C0F5FE1005DB0AF /* RTree */ = {
			isa = PBXGroup;
			children = (
				EC2BEBF32C0F5FF7005DB0AF /* RTree.swift */,
				EC2BEBF52C0F600D005DB0AF /* Box.swift */,
				EC2BEBF72C0F601A005DB0AF /* Node.swift */,
			);
			path = RTree;
			sourceTree = "<group>";
		};
		EC5050042BF65CBC00B4D86E /* Core */ = {
			isa = PBXGroup;
			children = (
				ECA738BB2BE60E0300A4542E /* Tool.swift */,
				EC37FB112C1B2DD90008D976 /* ToolSelection.swift */,
			);
			path = Core;
			sourceTree = "<group>";
		};
		EC5050052BF65CCD00B4D86E /* PenDock */ = {
			isa = PBXGroup;
			children = (
				ECA739072BE623F300A4542E /* PenDock.swift */,
				EC5050062BF65CED00B4D86E /* PenDropDelegate.swift */,
			);
			path = PenDock;
			sourceTree = "<group>";
		};
		EC5050082BF65D0500B4D86E /* Memo */ = {
			isa = PBXGroup;
			children = (
				ECA7387C2BE5EF4B00A4542E /* MemoView.swift */,
			);
			path = Memo;
			sourceTree = "<group>";
		};
		EC5050092BF65D5700B4D86E /* Canvas */ = {
			isa = PBXGroup;
			children = (
				ECA738B22BE60D9E00A4542E /* CanvasView.swift */,
			);
			path = Canvas;
			sourceTree = "<group>";
		};
		EC50500A2BF6672000B4D86E /* Components */ = {
			isa = PBXGroup;
			children = (
				EC1B783A2BF9C68C005A34E2 /* Views */,
				EC50500B2BF6673300B4D86E /* ViewModifiers */,
			);
			path = Components;
			sourceTree = "<group>";
		};
		EC50500B2BF6673300B4D86E /* ViewModifiers */ = {
			isa = PBXGroup;
			children = (
				EC6E3BD82C43C6C000DD20F3 /* OnDismissSearchViewModifier.swift */,
				EC50500C2BF6674400B4D86E /* OnDragViewModifier.swift */,
				EC0D14272BF7BF20009BFE5F /* ContextMenuViewModifier.swift */,
			);
			path = ViewModifiers;
			sourceTree = "<group>";
		};
		EC5050102BF670EE00B4D86E /* Config */ = {
			isa = PBXGroup;
			children = (
				EC50500E2BF670EA00B4D86E /* Info.plist */,
			);
			path = Config;
			sourceTree = "<group>";
		};
		EC5E838E2BFDB69000261D9C /* Algorithms */ = {
			isa = PBXGroup;
			children = (
				EC5E838F2BFDB69C00261D9C /* MovingAverage.swift */,
			);
			path = Algorithms;
			sourceTree = "<group>";
		};
		EC68C9972C4A887C00D8E4F9 /* LaunchScreen */ = {
			isa = PBXGroup;
			children = (
				EC68C9982C4A888C00D8E4F9 /* LaunchScreen.storyboard */,
			);
			path = LaunchScreen;
			sourceTree = "<group>";
		};
		EC6E3BDD2C43D5A500DD20F3 /* SidebarVisibility */ = {
			isa = PBXGroup;
			children = (
				EC6E3BDC2C43D5A500DD20F3 /* SidebarVisibility.swift */,
			);
			path = SidebarVisibility;
			sourceTree = "<group>";
		};
		EC7F6BDF2BE5E6E300A34A7B = {
			isa = PBXGroup;
			children = (
				EC7F6BEA2BE5E6E300A34A7B /* Memola */,
				EC7F6BE92BE5E6E300A34A7B /* Products */,
			);
			sourceTree = "<group>";
		};
		EC7F6BE92BE5E6E300A34A7B /* Products */ = {
			isa = PBXGroup;
			children = (
				EC7F6BE82BE5E6E300A34A7B /* Memola.app */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		EC7F6BEA2BE5E6E300A34A7B /* Memola */ = {
			isa = PBXGroup;
			children = (
				ECA738762BE5EE4E00A4542E /* App */,
				EC2002D32C416002002EBD5F /* Commands */,
				ECA7387E2BE5FE4200A4542E /* Canvas */,
				EC50500A2BF6672000B4D86E /* Components */,
				EC5050102BF670EE00B4D86E /* Config */,
				ECA738772BE5EEE800A4542E /* Features */,
				ECF7B2E82C395A8E004D2C57 /* Memola.entitlements */,
				ECA738FA2BE61B1700A4542E /* Persistence */,
				EC7F6BF12BE5E6E400A34A7B /* Preview Content */,
				ECA738802BE5FE6000A4542E /* Resources */,
				ECF7B2E52C391DFA004D2C57 /* Utilies */,
			);
			path = Memola;
			sourceTree = "<group>";
		};
		EC7F6BF12BE5E6E400A34A7B /* Preview Content */ = {
			isa = PBXGroup;
			children = (
				EC7F6BF22BE5E6E400A34A7B /* Preview Assets.xcassets */,
			);
			path = "Preview Content";
			sourceTree = "<group>";
		};
		EC86C5802C4010BE00C07D21 /* PhotoDock */ = {
			isa = PBXGroup;
			children = (
				ECC995A22C1E8F2800B2699A /* PhotoItem.swift */,
				EC86C5812C4010CC00C07D21 /* PhotoDock.swift */,
			);
			path = PhotoDock;
			sourceTree = "<group>";
		};
		EC8C9DCC2C3987FD00A8F3C4 /* AppKit */ = {
			isa = PBXGroup;
			children = (
				ECF7B2E62C39544E004D2C57 /* NSCenterClipView.swift */,
				EC8C9DCD2C39882500A8F3C4 /* NSSyncScrollView.swift */,
			);
			path = AppKit;
			sourceTree = "<group>";
		};
		EC8F54AA2C2ACD9D001C7C74 /* Grid */ = {
			isa = PBXGroup;
			children = (
				EC8F54AB2C2ACDA8001C7C74 /* GridMode.swift */,
			);
			path = Grid;
			sourceTree = "<group>";
		};
		ECA738762BE5EE4E00A4542E /* App */ = {
			isa = PBXGroup;
			children = (
				EC7F6BEB2BE5E6E300A34A7B /* MemolaApp.swift */,
				EC6E3BD62C43C6A400DD20F3 /* Application.swift */,
			);
			path = App;
			sourceTree = "<group>";
		};
		ECA738772BE5EEE800A4542E /* Features */ = {
			isa = PBXGroup;
			children = (
				EC01511A2C305ABB008A115E /* Dashboard */,
				ECA7387B2BE5EF3500A4542E /* Memo */,
				EC2117602C47FA14005B32A1 /* Settings */,
			);
			path = Features;
			sourceTree = "<group>";
		};
		ECA738782BE5EEF700A4542E /* Memos */ = {
			isa = PBXGroup;
			children = (
				EC1815072C2D980B00541369 /* Sort.swift */,
				EC1815092C2DA09E00541369 /* Filter.swift */,
				ECA738792BE5EF0400A4542E /* MemosView.swift */,
			);
			path = Memos;
			sourceTree = "<group>";
		};
		ECA7387B2BE5EF3500A4542E /* Memo */ = {
			isa = PBXGroup;
			children = (
				EC86C5802C4010BE00C07D21 /* PhotoDock */,
				ECDAC0792C318DAF0000ED77 /* ElementToolbar */,
				EC1B783B2BFA0AAC005A34E2 /* Toolbar */,
				EC5050082BF65D0500B4D86E /* Memo */,
				EC5050052BF65CCD00B4D86E /* PenDock */,
			);
			path = Memo;
			sourceTree = "<group>";
		};
		ECA7387E2BE5FE4200A4542E /* Canvas */ = {
			isa = PBXGroup;
			children = (
				EC8F54AA2C2ACD9D001C7C74 /* Grid */,
				ECD12A872C19EF8700B96E12 /* Elements */,
				EC2BEBF22C0F5FE1005DB0AF /* RTree */,
				ECA738812BE5FEEE00A4542E /* Abstracts */,
				ECA738992BE6018900A4542E /* Buffers */,
				ECA738C72BE60EE200A4542E /* Contexts */,
				ECA738842BE5FF1B00A4542E /* Core */,
				ECA738B42BE60DC200A4542E /* History */,
				ECA738D82BE60FE200A4542E /* RenderPasses */,
				ECA7388D2BE600BB00A4542E /* Shaders */,
				ECA738B12BE60D8800A4542E /* Tool */,
				ECA738AB2BE60CB500A4542E /* View */,
			);
			path = Canvas;
			sourceTree = "<group>";
		};
		ECA738802BE5FE6000A4542E /* Resources */ = {
			isa = PBXGroup;
			children = (
				EC68C9972C4A887C00D8E4F9 /* LaunchScreen */,
				ECA738FE2BE61D5700A4542E /* Models */,
				ECA738FD2BE61D4700A4542E /* Assets */,
			);
			path = Resources;
			sourceTree = "<group>";
		};
		ECA738812BE5FEEE00A4542E /* Abstracts */ = {
			isa = PBXGroup;
			children = (
				ECA738822BE5FEFE00A4542E /* RenderPass.swift */,
				ECA738E32BE6110800A4542E /* Drawable.swift */,
			);
			path = Abstracts;
			sourceTree = "<group>";
		};
		ECA738842BE5FF1B00A4542E /* Core */ = {
			isa = PBXGroup;
			children = (
				ECA738852BE5FF2500A4542E /* Canvas.swift */,
				ECA738892BE6006A00A4542E /* PipelineStates.swift */,
				ECA738872BE5FF4400A4542E /* Renderer.swift */,
				ECA7388B2BE6009600A4542E /* Textures.swift */,
			);
			path = Core;
			sourceTree = "<group>";
		};
		ECA7388D2BE600BB00A4542E /* Shaders */ = {
			isa = PBXGroup;
			children = (
				ECA7388E2BE600DA00A4542E /* Grid.metal */,
				ECA738902BE600F500A4542E /* Cache.metal */,
				ECA738922BE6011100A4542E /* Stroke.metal */,
				ECA738942BE6012D00A4542E /* ViewPort.metal */,
				ECA738962BE6014200A4542E /* Graphic.metal */,
				EC3565592BF060D900A4E0BF /* Quad.metal */,
				ECD12A922C1B062000B96E12 /* Photo.metal */,
			);
			path = Shaders;
			sourceTree = "<group>";
		};
		ECA738982BE6015700A4542E /* Primitives */ = {
			isa = PBXGroup;
			children = (
				EC4538882BEBCAE000A86FEC /* Quad.swift */,
				ECEC01A72BEE11BA006DA24C /* QuadShape.swift */,
			);
			path = Primitives;
			sourceTree = "<group>";
		};
		ECA738992BE6018900A4542E /* Buffers */ = {
			isa = PBXGroup;
			children = (
				ECA738A42BE6022F00A4542E /* Uniforms */,
				ECA7389A2BE6019700A4542E /* Vertices */,
			);
			path = Buffers;
			sourceTree = "<group>";
		};
		ECA7389A2BE6019700A4542E /* Vertices */ = {
			isa = PBXGroup;
			children = (
				ECA7389B2BE601AF00A4542E /* PointGridVertex.swift */,
				ECA7389D2BE601CB00A4542E /* QuadVertex.swift */,
				ECA7389F2BE601E400A4542E /* ViewPortVertex.swift */,
				ECD12A942C1B1FA200B96E12 /* PhotoVertex.swift */,
				EC8F54AD2C2AF5A4001C7C74 /* LineGridVertex.swift */,
			);
			path = Vertices;
			sourceTree = "<group>";
		};
		ECA738A42BE6022F00A4542E /* Uniforms */ = {
			isa = PBXGroup;
			children = (
				ECA738A52BE6023F00A4542E /* GridUniforms.swift */,
				ECA738A72BE6025900A4542E /* GraphicUniforms.swift */,
				ECA738A92BE6026D00A4542E /* Uniforms.swift */,
			);
			path = Uniforms;
			sourceTree = "<group>";
		};
		ECA738AB2BE60CB500A4542E /* View */ = {
			isa = PBXGroup;
			children = (
				EC5050092BF65D5700B4D86E /* Canvas */,
				ECA738AE2BE60CEC00A4542E /* Bridge */,
			);
			path = View;
			sourceTree = "<group>";
		};
		ECA738AE2BE60CEC00A4542E /* Bridge */ = {
			isa = PBXGroup;
			children = (
				EC1437B52BE748EF0022C903 /* ViewController */,
				EC1437B42BE748E60022C903 /* Views */,
			);
			path = Bridge;
			sourceTree = "<group>";
		};
		ECA738B12BE60D8800A4542E /* Tool */ = {
			isa = PBXGroup;
			children = (
				EC5050042BF65CBC00B4D86E /* Core */,
				ECA738BD2BE60E2800A4542E /* Pen */,
			);
			path = Tool;
			sourceTree = "<group>";
		};
		ECA738B42BE60DC200A4542E /* History */ = {
			isa = PBXGroup;
			children = (
				ECA738B52BE60DCD00A4542E /* History.swift */,
				ECA738B72BE60DDC00A4542E /* HistoryEvent.swift */,
				ECA738B92BE60DEF00A4542E /* HistoryAction.swift */,
			);
			path = History;
			sourceTree = "<group>";
		};
		ECA738BD2BE60E2800A4542E /* Pen */ = {
			isa = PBXGroup;
			children = (
				ECA739062BE61F7500A4542E /* Core */,
				ECA738C22BE60E7200A4542E /* PenStyles */,
			);
			path = Pen;
			sourceTree = "<group>";
		};
		ECA738C22BE60E7200A4542E /* PenStyles */ = {
			isa = PBXGroup;
			children = (
				ECA738C32BE60E8800A4542E /* MarkerPenStyle.swift */,
				ECA738C52BE60E9D00A4542E /* EraserPenStyle.swift */,
			);
			path = PenStyles;
			sourceTree = "<group>";
		};
		ECA738C72BE60EE200A4542E /* Contexts */ = {
			isa = PBXGroup;
			children = (
				ECA738C82BE60EF700A4542E /* GraphicContext.swift */,
				ECA738CA2BE60F1900A4542E /* ViewPortContext.swift */,
				ECA738CC2BE60F2F00A4542E /* PointGridContext.swift */,
				EC8F54AF2C2AF5E9001C7C74 /* LineGridContext.swift */,
			);
			path = Contexts;
			sourceTree = "<group>";
		};
		ECA738CE2BE60F5000A4542E /* Stroke */ = {
			isa = PBXGroup;
			children = (
				ECE883B92C009DCA0045C53D /* Core */,
				ECE883B82C009DC30045C53D /* Strokes */,
				EC5E838E2BFDB69000261D9C /* Algorithms */,
				ECA738D52BE60FA200A4542E /* Generators */,
			);
			path = Stroke;
			sourceTree = "<group>";
		};
		ECA738D52BE60FA200A4542E /* Generators */ = {
			isa = PBXGroup;
			children = (
				ECA738D62BE60FC100A4542E /* SolidPointStrokeGenerator.swift */,
			);
			path = Generators;
			sourceTree = "<group>";
		};
		ECA738D82BE60FE200A4542E /* RenderPasses */ = {
			isa = PBXGroup;
			children = (
				ECA738D92BE60FF100A4542E /* CacheRenderPass.swift */,
				ECA738DB2BE6108D00A4542E /* StrokeRenderPass.swift */,
				ECA738DD2BE610A000A4542E /* ViewPortRenderPass.swift */,
				ECA738DF2BE610B900A4542E /* EraserRenderPass.swift */,
				ECA738E12BE610D000A4542E /* GraphicRenderPass.swift */,
				ECD12A902C1B04EA00B96E12 /* PhotoRenderPass.swift */,
				EC5D40802C21CE270067F090 /* PhotoBackgroundRenderPass.swift */,
				ECDDD40C2C366B3B00DF9D5E /* PreviewRenderPass.swift */,
			);
			path = RenderPasses;
			sourceTree = "<group>";
		};
		ECA738F92BE6130000A4542E /* Geometries */ = {
			isa = PBXGroup;
			children = (
				ECA738CE2BE60F5000A4542E /* Stroke */,
				ECA738982BE6015700A4542E /* Primitives */,
			);
			path = Geometries;
			sourceTree = "<group>";
		};
		ECA738FA2BE61B1700A4542E /* Persistence */ = {
			isa = PBXGroup;
			children = (
				ECFA151E2BEF21BE00455818 /* Objects */,
				ECA739022BE61DE700A4542E /* Core */,
			);
			path = Persistence;
			sourceTree = "<group>";
		};
		ECA738FD2BE61D4700A4542E /* Assets */ = {
			isa = PBXGroup;
			children = (
				EC7F6BEF2BE5E6E400A34A7B /* Assets.xcassets */,
			);
			path = Assets;
			sourceTree = "<group>";
		};
		ECA738FE2BE61D5700A4542E /* Models */ = {
			isa = PBXGroup;
			children = (
				EC0D14222BF79C98009BFE5F /* MemolaModel.xcdatamodeld */,
			);
			path = Models;
			sourceTree = "<group>";
		};
		ECA739022BE61DE700A4542E /* Core */ = {
			isa = PBXGroup;
			children = (
				ECA738FB2BE61C5200A4542E /* Persistence.swift */,
			);
			path = Core;
			sourceTree = "<group>";
		};
		ECA739062BE61F7500A4542E /* Core */ = {
			isa = PBXGroup;
			children = (
				ECA738BE2BE60E3400A4542E /* Pen.swift */,
				ECA738C02BE60E5300A4542E /* PenStyle.swift */,
			);
			path = Core;
			sourceTree = "<group>";
		};
		ECBE529B2C1D94A4006BDB3D /* CameraView */ = {
			isa = PBXGroup;
			children = (
				ECBE529A2C1D94A4006BDB3D /* CameraView.swift */,
			);
			path = CameraView;
			sourceTree = "<group>";
		};
		ECD12A872C19EF8700B96E12 /* Elements */ = {
			isa = PBXGroup;
			children = (
				ECD12A8D2C1AEB8000B96E12 /* Photo */,
				ECD12A882C19EF9500B96E12 /* Core */,
				ECA738F92BE6130000A4542E /* Geometries */,
			);
			path = Elements;
			sourceTree = "<group>";
		};
		ECD12A882C19EF9500B96E12 /* Core */ = {
			isa = PBXGroup;
			children = (
				ECD12A892C19EFB000B96E12 /* Element.swift */,
				EC42F7842C25267000E86E96 /* ElementGroup.swift */,
			);
			path = Core;
			sourceTree = "<group>";
		};
		ECD12A8D2C1AEB8000B96E12 /* Photo */ = {
			isa = PBXGroup;
			children = (
				ECD12A8E2C1AEBA400B96E12 /* Photo.swift */,
			);
			path = Photo;
			sourceTree = "<group>";
		};
		ECDAC0792C318DAF0000ED77 /* ElementToolbar */ = {
			isa = PBXGroup;
			children = (
				ECDAC07A2C318DBC0000ED77 /* ElementToolbar.swift */,
			);
			path = ElementToolbar;
			sourceTree = "<group>";
		};
		ECE883B82C009DC30045C53D /* Strokes */ = {
			isa = PBXGroup;
			children = (
				ECA738D12BE60F7B00A4542E /* PenStroke.swift */,
				ECE883BC2C00AA170045C53D /* EraserStroke.swift */,
			);
			path = Strokes;
			sourceTree = "<group>";
		};
		ECE883B92C009DCA0045C53D /* Core */ = {
			isa = PBXGroup;
			children = (
				EC2106AC2C10C2A700FBE27C /* AnyStroke.swift */,
				ECE883BE2C00AB440045C53D /* Stroke.swift */,
				ECA738D32BE60F9100A4542E /* StrokeGenerator.swift */,
				ECE883C02C00C9CB0045C53D /* StrokeStyle.swift */,
			);
			path = Core;
			sourceTree = "<group>";
		};
		ECF7B2CF2C39169C004D2C57 /* Extensions */ = {
			isa = PBXGroup;
			children = (
				EC6E3BDA2C43C78700DD20F3 /* NavigationSplitViewVisibility++.swift */,
				ECF7B2BD2C39169C004D2C57 /* Array++.swift */,
				ECF7B2BE2C39169C004D2C57 /* CGAffineTransform++.swift */,
				ECF7B2BF2C39169C004D2C57 /* CGFloat++.swift */,
				ECF7B2C02C39169C004D2C57 /* CGPoint++.swift */,
				ECF7B2C12C39169C004D2C57 /* CGRect++.swift */,
				ECF7B2C22C39169C004D2C57 /* CGSize++.swift */,
				ECF7B2C32C39169C004D2C57 /* Collection++.swift */,
				ECF7B2C42C39169C004D2C57 /* Color++.swift */,
				ECF7B2C52C39169C004D2C57 /* Data++.swift */,
				ECF7B2C62C39169C004D2C57 /* Date++.swift */,
				ECF7B2C72C39169C004D2C57 /* Float++.swift */,
				ECF7B2C82C39169C004D2C57 /* MTLDevice++.swift */,
				ECF7B2C92C39169C004D2C57 /* MTLTexture++.swift */,
				ECF7B2CA2C39169C004D2C57 /* NSManagedObject++.swift */,
				ECF7B2CB2C39169C004D2C57 /* NSManagedObjectContext++.swift */,
				ECF7B2CC2C39169C004D2C57 /* simd_float4x4++.swift */,
				ECF7B2CD2C39169C004D2C57 /* Image++.swift */,
				ECF7B2CE2C39169C004D2C57 /* View++.swift */,
				EC21176A2C480EE6005B32A1 /* Bundle++.swift */,
			);
			path = Extensions;
			sourceTree = "<group>";
		};
		ECF7B2E22C39172D004D2C57 /* Platform */ = {
			isa = PBXGroup;
			children = (
				ECF7B2E32C39174D004D2C57 /* Platform.swift */,
			);
			path = Platform;
			sourceTree = "<group>";
		};
		ECF7B2E52C391DFA004D2C57 /* Utilies */ = {
			isa = PBXGroup;
			children = (
				EC2117642C4802B4005B32A1 /* AppWindow */,
				EC6E3BDD2C43D5A500DD20F3 /* SidebarVisibility */,
				EC2002EE2C417BBF002EBD5F /* AppScene */,
				ECF7B2CF2C39169C004D2C57 /* Extensions */,
				ECF7B2E22C39172D004D2C57 /* Platform */,
			);
			path = Utilies;
			sourceTree = "<group>";
		};
		ECFA151E2BEF21BE00455818 /* Objects */ = {
			isa = PBXGroup;
			children = (
				ECFA151F2BEF21EF00455818 /* MemoObject.swift */,
				ECFA15212BEF21F500455818 /* CanvasObject.swift */,
				ECFA15232BEF223300455818 /* GraphicContextObject.swift */,
				ECFA15252BEF224900455818 /* StrokeObject.swift */,
				ECFA15272BEF225000455818 /* QuadObject.swift */,
				EC0D14202BF79C73009BFE5F /* ToolObject.swift */,
				EC0D14252BF7A8C9009BFE5F /* PenObject.swift */,
				EC9AB09E2C1401A40076AF58 /* EraserObject.swift */,
				ECD12A852C19EE3900B96E12 /* ElementObject.swift */,
				ECD12A8B2C1AEAA900B96E12 /* PhotoObject.swift */,
				ECC4F38B2C4B9B63007EC227 /* PhotoFileObject.swift */,
			);
			path = Objects;
			sourceTree = "<group>";
		};
		ECFC51252BF8885000D0D051 /* ColorPicker */ = {
			isa = PBXGroup;
			children = (
				ECFC51262BF8885700D0D051 /* ColorPicker.swift */,
			);
			path = ColorPicker;
			sourceTree = "<group>";
		};
/* End PBXGroup section */

/* Begin PBXNativeTarget section */
		EC7F6BE72BE5E6E300A34A7B /* Memola */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = EC7F6BF62BE5E6E400A34A7B /* Build configuration list for PBXNativeTarget "Memola" */;
			buildPhases = (
				EC7F6BE42BE5E6E300A34A7B /* Sources */,
				EC7F6BE52BE5E6E300A34A7B /* Frameworks */,
				EC7F6BE62BE5E6E300A34A7B /* Resources */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = Memola;
			packageProductDependencies = (
			);
			productName = Memola;
			productReference = EC7F6BE82BE5E6E300A34A7B /* Memola.app */;
			productType = "com.apple.product-type.application";
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		EC7F6BE02BE5E6E300A34A7B /* Project object */ = {
			isa = PBXProject;
			attributes = {
				BuildIndependentTargetsInParallel = 1;
				LastSwiftUpdateCheck = 1500;
				LastUpgradeCheck = 1500;
				TargetAttributes = {
					EC7F6BE72BE5E6E300A34A7B = {
						CreatedOnToolsVersion = 15.0;
					};
				};
			};
			buildConfigurationList = EC7F6BE32BE5E6E300A34A7B /* Build configuration list for PBXProject "Memola" */;
			compatibilityVersion = "Xcode 14.0";
			developmentRegion = en;
			hasScannedForEncodings = 0;
			knownRegions = (
				en,
				Base,
			);
			mainGroup = EC7F6BDF2BE5E6E300A34A7B;
			packageReferences = (
			);
			productRefGroup = EC7F6BE92BE5E6E300A34A7B /* Products */;
			projectDirPath = "";
			projectRoot = "";
			targets = (
				EC7F6BE72BE5E6E300A34A7B /* Memola */,
			);
		};
/* End PBXProject section */

/* Begin PBXResourcesBuildPhase section */
		EC7F6BE62BE5E6E300A34A7B /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				EC68C9992C4A888C00D8E4F9 /* LaunchScreen.storyboard in Resources */,
				EC7F6BF32BE5E6E400A34A7B /* Preview Assets.xcassets in Resources */,
				EC7F6BF02BE5E6E400A34A7B /* Assets.xcassets in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXResourcesBuildPhase section */

/* Begin PBXSourcesBuildPhase section */
		EC7F6BE42BE5E6E300A34A7B /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				ECA738B02BE60D0B00A4542E /* CanvasViewController.swift in Sources */,
				ECD12A912C1B04EA00B96E12 /* PhotoRenderPass.swift in Sources */,
				EC18150A2C2DA09E00541369 /* Filter.swift in Sources */,
				EC5D40812C21CE270067F090 /* PhotoBackgroundRenderPass.swift in Sources */,
				ECA738E42BE6110800A4542E /* Drawable.swift in Sources */,
				ECA738AD2BE60CC600A4542E /* DrawingView.swift in Sources */,
				EC1B783D2BFA0AC9005A34E2 /* Toolbar.swift in Sources */,
				ECA738E02BE610B900A4542E /* EraserRenderPass.swift in Sources */,
				EC8F54B02C2AF5E9001C7C74 /* LineGridContext.swift in Sources */,
				EC35655A2BF060D900A4E0BF /* Quad.metal in Sources */,
				ECA738912BE600F500A4542E /* Cache.metal in Sources */,
				ECF7B2D82C39169C004D2C57 /* Data++.swift in Sources */,
				ECA7389C2BE601AF00A4542E /* PointGridVertex.swift in Sources */,
				ECA738A82BE6025900A4542E /* GraphicUniforms.swift in Sources */,
				EC01511E2C305CA9008A115E /* DashboardView.swift in Sources */,
				EC8F54AE2C2AF5A4001C7C74 /* LineGridVertex.swift in Sources */,
				EC2002F02C417BF1002EBD5F /* ActiveSceneKey.swift in Sources */,
				EC5E83902BFDB69C00261D9C /* MovingAverage.swift in Sources */,
				ECFA15262BEF224900455818 /* StrokeObject.swift in Sources */,
				ECA738FC2BE61C5200A4542E /* Persistence.swift in Sources */,
				ECA7387A2BE5EF0400A4542E /* MemosView.swift in Sources */,
				EC86C5822C4010CC00C07D21 /* PhotoDock.swift in Sources */,
				ECA738BA2BE60DEF00A4542E /* HistoryAction.swift in Sources */,
				ECFA15222BEF21F500455818 /* CanvasObject.swift in Sources */,
				ECA738AA2BE6026D00A4542E /* Uniforms.swift in Sources */,
				ECF7B2D12C39169C004D2C57 /* CGAffineTransform++.swift in Sources */,
				EC2002DD2C4163E8002EBD5F /* AppCommands.swift in Sources */,
				EC1815082C2D980B00541369 /* Sort.swift in Sources */,
				EC6E3BD92C43C6C000DD20F3 /* OnDismissSearchViewModifier.swift in Sources */,
				EC2117662C4802C0005B32A1 /* AppWindow.swift in Sources */,
				ECA7387D2BE5EF4B00A4542E /* MemoView.swift in Sources */,
				ECDDD40D2C366B3B00DF9D5E /* PreviewRenderPass.swift in Sources */,
				ECF7B2E12C39169C004D2C57 /* View++.swift in Sources */,
				ECA738DA2BE60FF100A4542E /* CacheRenderPass.swift in Sources */,
				ECF7B2DA2C39169C004D2C57 /* Float++.swift in Sources */,
				ECA738CD2BE60F2F00A4542E /* PointGridContext.swift in Sources */,
				ECC4F38C2C4B9B63007EC227 /* PhotoFileObject.swift in Sources */,
				EC6E3BDE2C43D5A500DD20F3 /* SidebarVisibility.swift in Sources */,
				ECFA15202BEF21EF00455818 /* MemoObject.swift in Sources */,
				ECE883C12C00C9CB0045C53D /* StrokeStyle.swift in Sources */,
				EC37FB122C1B2DD90008D976 /* ToolSelection.swift in Sources */,
				EC6E3BDB2C43C78700DD20F3 /* NavigationSplitViewVisibility++.swift in Sources */,
				ECA738C62BE60E9D00A4542E /* EraserPenStyle.swift in Sources */,
				ECA738A62BE6023F00A4542E /* GridUniforms.swift in Sources */,
				ECA738D72BE60FC100A4542E /* SolidPointStrokeGenerator.swift in Sources */,
				EC2BEBF62C0F600D005DB0AF /* Box.swift in Sources */,
				ECA738832BE5FEFE00A4542E /* RenderPass.swift in Sources */,
				ECEC01A82BEE11BA006DA24C /* QuadShape.swift in Sources */,
				EC2117692C480D4D005B32A1 /* AboutView.swift in Sources */,
				ECF7B2DC2C39169C004D2C57 /* MTLTexture++.swift in Sources */,
				ECA738862BE5FF2500A4542E /* Canvas.swift in Sources */,
				ECF7B2DE2C39169C004D2C57 /* NSManagedObjectContext++.swift in Sources */,
				ECA738882BE5FF4400A4542E /* Renderer.swift in Sources */,
				EC6E3BD72C43C6A400DD20F3 /* Application.swift in Sources */,
				EC8C9DCE2C39882500A8F3C4 /* NSSyncScrollView.swift in Sources */,
				ECF7B2D72C39169C004D2C57 /* Color++.swift in Sources */,
				EC01512C2C306BEF008A115E /* MemoCard.swift in Sources */,
				EC2117632C47FA30005B32A1 /* SettingsView.swift in Sources */,
				ECA738D42BE60F9100A4542E /* StrokeGenerator.swift in Sources */,
				ECF7B2D52C39169C004D2C57 /* CGSize++.swift in Sources */,
				ECA739082BE623F300A4542E /* PenDock.swift in Sources */,
				ECA738CB2BE60F1900A4542E /* ViewPortContext.swift in Sources */,
				ECA7388C2BE6009600A4542E /* Textures.swift in Sources */,
				ECFC51272BF8885700D0D051 /* ColorPicker.swift in Sources */,
				ECA738B82BE60DDC00A4542E /* HistoryEvent.swift in Sources */,
				EC0D14262BF7A8C9009BFE5F /* PenObject.swift in Sources */,
				ECA738952BE6012D00A4542E /* ViewPort.metal in Sources */,
				ECD12A952C1B1FA200B96E12 /* PhotoVertex.swift in Sources */,
				ECF7B2DD2C39169C004D2C57 /* NSManagedObject++.swift in Sources */,
				ECD12A8C2C1AEAA900B96E12 /* PhotoObject.swift in Sources */,
				ECD12A862C19EE3900B96E12 /* ElementObject.swift in Sources */,
				EC0D14242BF79C98009BFE5F /* MemolaModel.xcdatamodeld in Sources */,
				EC2002ED2C417B68002EBD5F /* AppScene.swift in Sources */,
				ECFA15242BEF223300455818 /* GraphicContextObject.swift in Sources */,
				ECA738E22BE610D000A4542E /* GraphicRenderPass.swift in Sources */,
				ECE883BF2C00AB440045C53D /* Stroke.swift in Sources */,
				ECA738DC2BE6108D00A4542E /* StrokeRenderPass.swift in Sources */,
				ECF7B2E72C39544E004D2C57 /* NSCenterClipView.swift in Sources */,
				ECF7B2D22C39169C004D2C57 /* CGFloat++.swift in Sources */,
				EC4538892BEBCAE000A86FEC /* Quad.swift in Sources */,
				ECE883BD2C00AA170045C53D /* EraserStroke.swift in Sources */,
				EC42F7852C25267000E86E96 /* ElementGroup.swift in Sources */,
				ECD12A8F2C1AEBA400B96E12 /* Photo.swift in Sources */,
				ECF7B2D42C39169C004D2C57 /* CGRect++.swift in Sources */,
				ECF7B2D62C39169C004D2C57 /* Collection++.swift in Sources */,
				EC0151232C306089008A115E /* Sidebar.swift in Sources */,
				ECD12A932C1B062000B96E12 /* Photo.metal in Sources */,
				ECA7388F2BE600DA00A4542E /* Grid.metal in Sources */,
				EC2BEBF42C0F5FF7005DB0AF /* RTree.swift in Sources */,
				ECA738C92BE60EF700A4542E /* GraphicContext.swift in Sources */,
				EC0D14212BF79C73009BFE5F /* ToolObject.swift in Sources */,
				ECDAC07B2C318DBC0000ED77 /* ElementToolbar.swift in Sources */,
				EC50500D2BF6674400B4D86E /* OnDragViewModifier.swift in Sources */,
				EC9AB09F2C1401A40076AF58 /* EraserObject.swift in Sources */,
				ECBE529C2C1D94A4006BDB3D /* CameraView.swift in Sources */,
				ECA7389E2BE601CB00A4542E /* QuadVertex.swift in Sources */,
				ECA738B32BE60D9E00A4542E /* CanvasView.swift in Sources */,
				EC0151202C305D7B008A115E /* SidebarItem.swift in Sources */,
				EC01512A2C306935008A115E /* MemoGrid.swift in Sources */,
				ECA738C42BE60E8800A4542E /* MarkerPenStyle.swift in Sources */,
				EC0151262C3067B9008A115E /* TrashView.swift in Sources */,
				ECF7B2D92C39169C004D2C57 /* Date++.swift in Sources */,
				ECA738BF2BE60E3400A4542E /* Pen.swift in Sources */,
				ECFA15282BEF225000455818 /* QuadObject.swift in Sources */,
				ECA738932BE6011100A4542E /* Stroke.metal in Sources */,
				ECA738B62BE60DCD00A4542E /* History.swift in Sources */,
				ECA738D22BE60F7B00A4542E /* PenStroke.swift in Sources */,
				EC01512E2C30727F008A115E /* MemoPreview.swift in Sources */,
				EC5050072BF65CED00B4D86E /* PenDropDelegate.swift in Sources */,
				ECF7B2E42C39174D004D2C57 /* Platform.swift in Sources */,
				ECA738C12BE60E5300A4542E /* PenStyle.swift in Sources */,
				EC21176B2C480EE6005B32A1 /* Bundle++.swift in Sources */,
				EC2002D72C4160EF002EBD5F /* EditCommands.swift in Sources */,
				ECF7B2DF2C39169C004D2C57 /* simd_float4x4++.swift in Sources */,
				ECF7B2D02C39169C004D2C57 /* Array++.swift in Sources */,
				ECA738DE2BE610A000A4542E /* ViewPortRenderPass.swift in Sources */,
				EC8F54AC2C2ACDA8001C7C74 /* GridMode.swift in Sources */,
				EC2002D92C4161ED002EBD5F /* ViewCommands.swift in Sources */,
				EC7F6BEC2BE5E6E300A34A7B /* MemolaApp.swift in Sources */,
				EC2002D52C416033002EBD5F /* FileCommands.swift in Sources */,
				EC2BEBF82C0F601A005DB0AF /* Node.swift in Sources */,
				ECA738A02BE601E400A4542E /* ViewPortVertex.swift in Sources */,
				ECD12A8A2C19EFB000B96E12 /* Element.swift in Sources */,
				EC0D14282BF7BF20009BFE5F /* ContextMenuViewModifier.swift in Sources */,
				EC2106AD2C10C2A700FBE27C /* AnyStroke.swift in Sources */,
				ECF7B2DB2C39169C004D2C57 /* MTLDevice++.swift in Sources */,
				ECC995A32C1E8F2800B2699A /* PhotoItem.swift in Sources */,
				ECA738BC2BE60E0300A4542E /* Tool.swift in Sources */,
				ECF7B2E02C39169C004D2C57 /* Image++.swift in Sources */,
				ECA738972BE6014200A4542E /* Graphic.metal in Sources */,
				ECF7B2D32C39169C004D2C57 /* CGPoint++.swift in Sources */,
				ECA7388A2BE6006A00A4542E /* PipelineStates.swift in Sources */,
				EC18150D2C2DAC3700541369 /* Placeholder.swift in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXSourcesBuildPhase section */

/* Begin XCBuildConfiguration section */
		EC7F6BF42BE5E6E400A34A7B /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
				CLANG_ANALYZER_NONNULL = YES;
				CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
				CLANG_ENABLE_MODULES = YES;
				CLANG_ENABLE_OBJC_ARC = YES;
				CLANG_ENABLE_OBJC_WEAK = YES;
				CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_COMMA = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
				CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INFINITE_RECURSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
				CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
				CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
				CLANG_WARN_STRICT_PROTOTYPES = YES;
				CLANG_WARN_SUSPICIOUS_MOVE = YES;
				CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				COPY_PHASE_STRIP = NO;
				DEBUG_INFORMATION_FORMAT = dwarf;
				ENABLE_STRICT_OBJC_MSGSEND = YES;
				ENABLE_TESTABILITY = YES;
				ENABLE_USER_SCRIPT_SANDBOXING = YES;
				GCC_C_LANGUAGE_STANDARD = gnu17;
				GCC_DYNAMIC_NO_PIC = NO;
				GCC_NO_COMMON_BLOCKS = YES;
				GCC_OPTIMIZATION_LEVEL = 0;
				GCC_PREPROCESSOR_DEFINITIONS = (
					"DEBUG=1",
					"$(inherited)",
				);
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				IPHONEOS_DEPLOYMENT_TARGET = 17.0;
				LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
				MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
				MTL_FAST_MATH = YES;
				ONLY_ACTIVE_ARCH = YES;
				SDKROOT = iphoneos;
				SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)";
				SWIFT_OPTIMIZATION_LEVEL = "-Onone";
			};
			name = Debug;
		};
		EC7F6BF52BE5E6E400A34A7B /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
				CLANG_ANALYZER_NONNULL = YES;
				CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
				CLANG_ENABLE_MODULES = YES;
				CLANG_ENABLE_OBJC_ARC = YES;
				CLANG_ENABLE_OBJC_WEAK = YES;
				CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_COMMA = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
				CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INFINITE_RECURSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
				CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
				CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
				CLANG_WARN_STRICT_PROTOTYPES = YES;
				CLANG_WARN_SUSPICIOUS_MOVE = YES;
				CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				COPY_PHASE_STRIP = NO;
				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
				ENABLE_NS_ASSERTIONS = NO;
				ENABLE_STRICT_OBJC_MSGSEND = YES;
				ENABLE_USER_SCRIPT_SANDBOXING = YES;
				GCC_C_LANGUAGE_STANDARD = gnu17;
				GCC_NO_COMMON_BLOCKS = YES;
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				IPHONEOS_DEPLOYMENT_TARGET = 17.0;
				LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
				MTL_ENABLE_DEBUG_INFO = NO;
				MTL_FAST_MATH = YES;
				SDKROOT = iphoneos;
				SWIFT_COMPILATION_MODE = wholemodule;
				VALIDATE_PRODUCT = YES;
			};
			name = Release;
		};
		EC7F6BF72BE5E6E400A34A7B /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
				ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
				ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES;
				CODE_SIGN_ENTITLEMENTS = Memola/Memola.entitlements;
				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
				"CODE_SIGN_IDENTITY[sdk=macosx*]" = "Mac Developer";
				CODE_SIGN_STYLE = Manual;
				CURRENT_PROJECT_VERSION = 9;
				DEVELOPMENT_ASSET_PATHS = "\"Memola/Preview Content\"";
				DEVELOPMENT_TEAM = "";
				"DEVELOPMENT_TEAM[sdk=iphoneos*]" = HQSP3Q2MC6;
				"DEVELOPMENT_TEAM[sdk=macosx*]" = HQSP3Q2MC6;
				ENABLE_PREVIEWS = YES;
				GENERATE_INFOPLIST_FILE = NO;
				INFOPLIST_FILE = Memola/Config/Info.plist;
				INFOPLIST_KEY_CFBundleDisplayName = Memola;
				INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.productivity";
				INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES;
				INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
				INFOPLIST_KEY_UILaunchScreen_Generation = YES;
				INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
				INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
				LD_RUNPATH_SEARCH_PATHS = (
					"$(inherited)",
					"@executable_path/Frameworks",
				);
				MACOSX_DEPLOYMENT_TARGET = 14.0;
				MARKETING_VERSION = 1.0.2;
				MTLLINKER_FLAGS = "";
				MTL_COMPILER_FLAGS = "";
				PRODUCT_BUNDLE_IDENTIFIER = com.dscyrescotti.memola.dev;
				PRODUCT_NAME = "$(TARGET_NAME)";
				PROVISIONING_PROFILE_SPECIFIER = "";
				"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "Memola Dev - iOS";
				"PROVISIONING_PROFILE_SPECIFIER[sdk=macosx*]" = "Memola Dev - macOS";
				SUPPORTED_PLATFORMS = "iphoneos iphonesimulator macosx";
				SUPPORTS_MACCATALYST = NO;
				SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
				SWIFT_EMIT_LOC_STRINGS = YES;
				SWIFT_VERSION = 5.0;
				TARGETED_DEVICE_FAMILY = "1,2";
			};
			name = Debug;
		};
		EC7F6BF82BE5E6E400A34A7B /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
				ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
				ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES;
				CODE_SIGN_ENTITLEMENTS = Memola/Memola.entitlements;
				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution";
				"CODE_SIGN_IDENTITY[sdk=macosx*]" = "3rd Party Mac Developer Application";
				CODE_SIGN_STYLE = Manual;
				CURRENT_PROJECT_VERSION = 9;
				DEVELOPMENT_ASSET_PATHS = "\"Memola/Preview Content\"";
				DEVELOPMENT_TEAM = "";
				"DEVELOPMENT_TEAM[sdk=iphoneos*]" = HQSP3Q2MC6;
				"DEVELOPMENT_TEAM[sdk=macosx*]" = HQSP3Q2MC6;
				ENABLE_PREVIEWS = YES;
				GENERATE_INFOPLIST_FILE = NO;
				INFOPLIST_FILE = Memola/Config/Info.plist;
				INFOPLIST_KEY_CFBundleDisplayName = Memola;
				INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.productivity";
				INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES;
				INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
				INFOPLIST_KEY_UILaunchScreen_Generation = YES;
				INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
				INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
				LD_RUNPATH_SEARCH_PATHS = (
					"$(inherited)",
					"@executable_path/Frameworks",
				);
				MACOSX_DEPLOYMENT_TARGET = 14.0;
				MARKETING_VERSION = 1.0.2;
				MTLLINKER_FLAGS = "";
				MTL_COMPILER_FLAGS = "";
				PRODUCT_BUNDLE_IDENTIFIER = com.dscyrescotti.memola;
				PRODUCT_NAME = "$(TARGET_NAME)";
				PROVISIONING_PROFILE_SPECIFIER = "";
				"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "Memola - iOS";
				"PROVISIONING_PROFILE_SPECIFIER[sdk=macosx*]" = "Memola - macOS";
				SUPPORTED_PLATFORMS = "iphoneos iphonesimulator macosx";
				SUPPORTS_MACCATALYST = NO;
				SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
				SWIFT_EMIT_LOC_STRINGS = YES;
				SWIFT_VERSION = 5.0;
				TARGETED_DEVICE_FAMILY = "1,2";
			};
			name = Release;
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		EC7F6BE32BE5E6E300A34A7B /* Build configuration list for PBXProject "Memola" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				EC7F6BF42BE5E6E400A34A7B /* Debug */,
				EC7F6BF52BE5E6E400A34A7B /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		EC7F6BF62BE5E6E400A34A7B /* Build configuration list for PBXNativeTarget "Memola" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				EC7F6BF72BE5E6E400A34A7B /* Debug */,
				EC7F6BF82BE5E6E400A34A7B /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
/* End XCConfigurationList section */

/* Begin XCVersionGroup section */
		EC0D14222BF79C98009BFE5F /* MemolaModel.xcdatamodeld */ = {
			isa = XCVersionGroup;
			children = (
				EC0D14232BF79C98009BFE5F /* MemolaModel.xcdatamodel */,
			);
			currentVersion = EC0D14232BF79C98009BFE5F /* MemolaModel.xcdatamodel */;
			name = MemolaModel.xcdatamodeld;
			path = /Users/dscyrescotti/Documents/Projects/Memola/Memola/Resources/Models/MemolaModel.xcdatamodeld;
			sourceTree = "<group>";
			versionGroupType = wrapper.xcdatamodel;
		};
/* End XCVersionGroup section */
	};
	rootObject = EC7F6BE02BE5E6E300A34A7B /* Project object */;
}
