Begin statistics creation

This commit is contained in:
Christoph Hagen
2025-08-31 16:27:32 +02:00
parent f972a2c020
commit 96bd07bdb7
33 changed files with 1406 additions and 187 deletions

View File

@@ -103,6 +103,7 @@
E25DA5952D023BD100AEF16D /* PageSettingsDetailView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E25DA5942D023BCC00AEF16D /* PageSettingsDetailView.swift */; };
E25DA5992D02401E00AEF16D /* PageGenerator.swift in Sources */ = {isa = PBXBuildFile; fileRef = E25DA5982D02401A00AEF16D /* PageGenerator.swift */; };
E25DA59B2D024A2B00AEF16D /* DateItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = E25DA59A2D024A2900AEF16D /* DateItem.swift */; };
E26C300F2E634B3A00FEB26D /* TimeInterval+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = E26C300E2E634B3A00FEB26D /* TimeInterval+Extensions.swift */; };
E2720B882DF38BB700FDB543 /* Insert+Video.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2720B872DF38BB200FDB543 /* Insert+Video.swift */; };
E29D31202D0320E70051B7F4 /* ContentLabels.swift in Sources */ = {isa = PBXBuildFile; fileRef = E29D311F2D0320E20051B7F4 /* ContentLabels.swift */; };
E29D31222D0363FD0051B7F4 /* ContentButtons.swift in Sources */ = {isa = PBXBuildFile; fileRef = E29D31212D0363FA0051B7F4 /* ContentButtons.swift */; };
@@ -208,6 +209,20 @@
E2BF1BC82D6FC880003089F1 /* Insert+Link.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2BF1BC72D6FC87C003089F1 /* Insert+Link.swift */; };
E2BF1BCA2D70EDF8003089F1 /* TagPropertyView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2BF1BC92D70EDF3003089F1 /* TagPropertyView.swift */; };
E2BF1BCC2D70EE59003089F1 /* TagPickerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2BF1BCB2D70EE55003089F1 /* TagPickerView.swift */; };
E2DBA3B12E58F57B00F1E143 /* WorkoutBlock.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2DBA3B02E58F57800F1E143 /* WorkoutBlock.swift */; };
E2DBA3B32E58FB7500F1E143 /* StatisticsFileGenerator.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2DBA3B22E58FB6900F1E143 /* StatisticsFileGenerator.swift */; };
E2DBA3B82E590BEE00F1E143 /* Image+Png.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2DBA3B72E590BEA00F1E143 /* Image+Png.swift */; };
E2DBA3BA2E5CBFAE00F1E143 /* Date+Days.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2DBA3B92E5CBFA700F1E143 /* Date+Days.swift */; };
E2DBA3BC2E5CC18500F1E143 /* FilesPropertyView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2DBA3BB2E5CC18000F1E143 /* FilesPropertyView.swift */; };
E2DBA3C42E5E601B00F1E143 /* RouteSeries.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2DBA3C32E5E601B00F1E143 /* RouteSeries.swift */; };
E2DBA3C52E5E601B00F1E143 /* RouteSample.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2DBA3C22E5E601B00F1E143 /* RouteSample.swift */; };
E2DBA3C62E5E601B00F1E143 /* RouteData.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2DBA3C02E5E601B00F1E143 /* RouteData.swift */; };
E2DBA3C72E5E601B00F1E143 /* RouteProfile.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2DBA3C12E5E601B00F1E143 /* RouteProfile.swift */; };
E2DBA3C92E5E603300F1E143 /* DataRanges.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2DBA3C82E5E603300F1E143 /* DataRanges.swift */; };
E2DBA3CB2E5E603900F1E143 /* RangeInterval.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2DBA3CA2E5E603900F1E143 /* RangeInterval.swift */; };
E2DBA3CF2E5F771F00F1E143 /* Double+Arithmetic.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2DBA3CE2E5F771F00F1E143 /* Double+Arithmetic.swift */; };
E2DBA3D12E61E5FF00F1E143 /* Point.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2DBA3D02E61E5FD00F1E143 /* Point.swift */; };
E2DBA3D32E61F70000F1E143 /* CLLocation+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2DBA3D22E61F6EF00F1E143 /* CLLocation+Extensions.swift */; };
E2DD04742C276F31003BFF1F /* MainView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2DD04732C276F31003BFF1F /* MainView.swift */; };
E2DD047A2C276F32003BFF1F /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = E2DD04792C276F32003BFF1F /* Assets.xcassets */; };
E2E06DFB2CA4A65E0019C2AF /* Content.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2E06DFA2CA4A6570019C2AF /* Content.swift */; };
@@ -398,6 +413,7 @@
E25DA5942D023BCC00AEF16D /* PageSettingsDetailView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PageSettingsDetailView.swift; sourceTree = "<group>"; };
E25DA5982D02401A00AEF16D /* PageGenerator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PageGenerator.swift; sourceTree = "<group>"; };
E25DA59A2D024A2900AEF16D /* DateItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DateItem.swift; sourceTree = "<group>"; };
E26C300E2E634B3A00FEB26D /* TimeInterval+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "TimeInterval+Extensions.swift"; sourceTree = "<group>"; };
E2720B872DF38BB200FDB543 /* Insert+Video.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Insert+Video.swift"; sourceTree = "<group>"; };
E29D311F2D0320E20051B7F4 /* ContentLabels.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentLabels.swift; sourceTree = "<group>"; };
E29D31212D0363FA0051B7F4 /* ContentButtons.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentButtons.swift; sourceTree = "<group>"; };
@@ -502,6 +518,20 @@
E2BF1BC72D6FC87C003089F1 /* Insert+Link.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Insert+Link.swift"; sourceTree = "<group>"; };
E2BF1BC92D70EDF3003089F1 /* TagPropertyView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TagPropertyView.swift; sourceTree = "<group>"; };
E2BF1BCB2D70EE55003089F1 /* TagPickerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TagPickerView.swift; sourceTree = "<group>"; };
E2DBA3B02E58F57800F1E143 /* WorkoutBlock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WorkoutBlock.swift; sourceTree = "<group>"; };
E2DBA3B22E58FB6900F1E143 /* StatisticsFileGenerator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StatisticsFileGenerator.swift; sourceTree = "<group>"; };
E2DBA3B72E590BEA00F1E143 /* Image+Png.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Image+Png.swift"; sourceTree = "<group>"; };
E2DBA3B92E5CBFA700F1E143 /* Date+Days.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Date+Days.swift"; sourceTree = "<group>"; };
E2DBA3BB2E5CC18000F1E143 /* FilesPropertyView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FilesPropertyView.swift; sourceTree = "<group>"; };
E2DBA3C02E5E601B00F1E143 /* RouteData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RouteData.swift; sourceTree = "<group>"; };
E2DBA3C12E5E601B00F1E143 /* RouteProfile.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RouteProfile.swift; sourceTree = "<group>"; };
E2DBA3C22E5E601B00F1E143 /* RouteSample.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RouteSample.swift; sourceTree = "<group>"; };
E2DBA3C32E5E601B00F1E143 /* RouteSeries.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RouteSeries.swift; sourceTree = "<group>"; };
E2DBA3C82E5E603300F1E143 /* DataRanges.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DataRanges.swift; sourceTree = "<group>"; };
E2DBA3CA2E5E603900F1E143 /* RangeInterval.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RangeInterval.swift; sourceTree = "<group>"; };
E2DBA3CE2E5F771F00F1E143 /* Double+Arithmetic.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Double+Arithmetic.swift"; sourceTree = "<group>"; };
E2DBA3D02E61E5FD00F1E143 /* Point.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Point.swift; sourceTree = "<group>"; };
E2DBA3D22E61F6EF00F1E143 /* CLLocation+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "CLLocation+Extensions.swift"; sourceTree = "<group>"; };
E2DD04702C276F31003BFF1F /* CHDataManagement.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = CHDataManagement.app; sourceTree = BUILT_PRODUCTS_DIR; };
E2DD04732C276F31003BFF1F /* MainView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainView.swift; sourceTree = "<group>"; };
E2DD04792C276F32003BFF1F /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
@@ -716,14 +746,19 @@
E224E0D72E55074E0031C2B0 /* Workouts */ = {
isa = PBXGroup;
children = (
E2DBA3D22E61F6EF00F1E143 /* CLLocation+Extensions.swift */,
E2DBA3B92E5CBFA700F1E143 /* Date+Days.swift */,
E2DBA3CE2E5F771F00F1E143 /* Double+Arithmetic.swift */,
E2ADC02B2E5795F000B4FF88 /* ElevationGraph.swift */,
E2ADC0292E5794AB00B4FF88 /* RouteOverview.swift */,
E224E0E82E5668470031C2B0 /* Time+String.swift */,
E224E0E62E5664A70031C2B0 /* RoutePreviewView.swift */,
E224E0E12E5652680031C2B0 /* WorkoutData.swift */,
E2DBA3BF2E5E601300F1E143 /* File */,
E224E0DF2E5652120031C2B0 /* Locations+Sampled.swift */,
E224E0DD2E5651D70031C2B0 /* Sequence+Median.swift */,
E224E0D82E55075C0031C2B0 /* MapImageCreator.swift */,
E2DBA3D02E61E5FD00F1E143 /* Point.swift */,
E2ADC0292E5794AB00B4FF88 /* RouteOverview.swift */,
E224E0E62E5664A70031C2B0 /* RoutePreviewView.swift */,
E224E0DD2E5651D70031C2B0 /* Sequence+Median.swift */,
E224E0E82E5668470031C2B0 /* Time+String.swift */,
E224E0E12E5652680031C2B0 /* WorkoutData.swift */,
);
path = Workouts;
sourceTree = "<group>";
@@ -773,7 +808,9 @@
E22990232D0EDBD0009F8D77 /* HeaderElement.swift */,
E29D31842D0AE8EE0051B7F4 /* KnownHeaderElement.swift */,
E25DA5222CFF6C2600AEF16D /* ImageGenerator.swift */,
E2DBA3B42E590B1E00F1E143 /* Images */,
E22990412D107A94009F8D77 /* ImageVersion.swift */,
E2DBA3B22E58FB6900F1E143 /* StatisticsFileGenerator.swift */,
E2FE0F182D2723E3002963B7 /* ImageSet.swift */,
);
path = Generator;
@@ -884,6 +921,7 @@
E29D312F2D03A2BD0051B7F4 /* DescriptionField.swift */,
E22990292D0F5A10009F8D77 /* DetailTitle.swift */,
E22990252D0F5822009F8D77 /* FilePropertyView.swift */,
E2DBA3BB2E5CC18000F1E143 /* FilesPropertyView.swift */,
E2A21C0F2CB18B390060935B /* FlowHStack.swift */,
E229903F2D0F95DA009F8D77 /* FolderOnDiskPropertyView.swift */,
E22990392D0F7E44009F8D77 /* GenericPropertyView.swift */,
@@ -1076,6 +1114,7 @@
E2B85F552C4BD0AD0047CD0C /* Extensions */ = {
isa = PBXGroup;
children = (
E26C300E2E634B3A00FEB26D /* TimeInterval+Extensions.swift */,
E2ADC02D2E57CC6500B4FF88 /* Double+Rounded.swift */,
E2FE0F1F2D29A709002963B7 /* Array+Remove.swift */,
E2FE0EE72D16D4A3002963B7 /* ConvertThrowing.swift */,
@@ -1093,6 +1132,27 @@
path = Extensions;
sourceTree = "<group>";
};
E2DBA3B42E590B1E00F1E143 /* Images */ = {
isa = PBXGroup;
children = (
E2DBA3B72E590BEA00F1E143 /* Image+Png.swift */,
);
path = Images;
sourceTree = "<group>";
};
E2DBA3BF2E5E601300F1E143 /* File */ = {
isa = PBXGroup;
children = (
E2DBA3CA2E5E603900F1E143 /* RangeInterval.swift */,
E2DBA3C82E5E603300F1E143 /* DataRanges.swift */,
E2DBA3C02E5E601B00F1E143 /* RouteData.swift */,
E2DBA3C12E5E601B00F1E143 /* RouteProfile.swift */,
E2DBA3C22E5E601B00F1E143 /* RouteSample.swift */,
E2DBA3C32E5E601B00F1E143 /* RouteSeries.swift */,
);
path = File;
sourceTree = "<group>";
};
E2DD04672C276F31003BFF1F = {
isa = PBXGroup;
children = (
@@ -1216,6 +1276,7 @@
E2FE0F342D2B27E6002963B7 /* Blocks */ = {
isa = PBXGroup;
children = (
E2DBA3B02E58F57800F1E143 /* WorkoutBlock.swift */,
E2F3B3822DC496C800CFA712 /* GalleryBlock.swift */,
E2EC1FAF2DC0D7D600C41784 /* RouteBlock.swift */,
E2B482212D676BEB005C309D /* PhoneScreensBlock.swift */,
@@ -1416,6 +1477,7 @@
E229902E2D0F7280009F8D77 /* IdPropertyView.swift in Sources */,
E2FE0F462D2BC777002963B7 /* MarkdownImageProcessor.swift in Sources */,
E29D31AD2D0DA5360051B7F4 /* AudioPlayerIcons.swift in Sources */,
E2DBA3B32E58FB7500F1E143 /* StatisticsFileGenerator.swift in Sources */,
E2FD1D5A2D477AB200B48627 /* InsertableItemsView.swift in Sources */,
E25DA5452D00952E00AEF16D /* SettingsSection.swift in Sources */,
E2A21C462CBAE2E60060935B /* FeedEntryContent.swift in Sources */,
@@ -1438,6 +1500,7 @@
E229904E2D13535C009F8D77 /* SecurityBookmark.swift in Sources */,
E2FE0F6E2D2D3689002963B7 /* LocalizedAudioPlayerSettings.swift in Sources */,
E2A21C082CB17B870060935B /* TagView.swift in Sources */,
E2DBA3B82E590BEE00F1E143 /* Image+Png.swift in Sources */,
E29D313D2D047C1B0051B7F4 /* LocalizedPageContentView.swift in Sources */,
E2BF1BC82D6FC880003089F1 /* Insert+Link.swift in Sources */,
E2FE0F242D2A8C21002963B7 /* TagDisplayView.swift in Sources */,
@@ -1466,6 +1529,7 @@
E229902C2D0F6FC6009F8D77 /* LocalizedItemId.swift in Sources */,
E25DA5952D023BD100AEF16D /* PageSettingsDetailView.swift in Sources */,
E21850092CEE01C30090B18B /* PagePickerView.swift in Sources */,
E2DBA3D12E61E5FF00F1E143 /* Point.swift in Sources */,
E29D31492D0489BB0051B7F4 /* AddFileView.swift in Sources */,
E2B482202D670753005C309D /* WallpaperSlider.swift in Sources */,
E29D312E2D03A0D70051B7F4 /* LocalizedPageDetailView.swift in Sources */,
@@ -1477,6 +1541,7 @@
E2B4821A2D63AFF6005C309D /* NotificationSender.swift in Sources */,
E2FE0F3A2D2B3E4F002963B7 /* AudioPlayerSettings.swift in Sources */,
E2A21C032CB16C290060935B /* Environment+Language.swift in Sources */,
E2DBA3BC2E5CC18500F1E143 /* FilesPropertyView.swift in Sources */,
E2FE0F092D2689F0002963B7 /* TagPageGeneratorSource.swift in Sources */,
E22990302D0F75DE009F8D77 /* BoolPropertyView.swift in Sources */,
E229901E2D0E4364009F8D77 /* LocalizedItem.swift in Sources */,
@@ -1487,6 +1552,7 @@
E21850272CF3B42D0090B18B /* PostDetailView.swift in Sources */,
E22990242D0EDBD0009F8D77 /* HeaderElement.swift in Sources */,
E2BF1BCA2D70EDF8003089F1 /* TagPropertyView.swift in Sources */,
E2DBA3C92E5E603300F1E143 /* DataRanges.swift in Sources */,
E2ADC02C2E5795F300B4FF88 /* ElevationGraph.swift in Sources */,
E29D31BC2D0DB5120051B7F4 /* CommandProcessor.swift in Sources */,
E2F3B39C2DC5542E00CFA712 /* LabelEditingView.swift in Sources */,
@@ -1494,6 +1560,7 @@
E20BCCAF2D53F4A500B8DBEB /* GenerationStringIssuesView.swift in Sources */,
E29D312C2D039DB80051B7F4 /* PageDetailView.swift in Sources */,
E29D31432D0488960051B7F4 /* MainContentView.swift in Sources */,
E2DBA3CF2E5F771F00F1E143 /* Double+Arithmetic.swift in Sources */,
E29D31282D0371930051B7F4 /* ContentPageVideo.swift in Sources */,
E2B4820D2D5E811E005C309D /* TryFilesMiddleware.swift in Sources */,
E20BCC9F2D53851400B8DBEB /* SelectableListItem.swift in Sources */,
@@ -1515,11 +1582,13 @@
E2521DFC2D5020BE00C56662 /* PostContentGenerator.swift in Sources */,
E21850232CF10C850090B18B /* TagSelectionView.swift in Sources */,
E2F3B3A22DC769C300CFA712 /* ColoredButton.swift in Sources */,
E2DBA3D32E61F70000F1E143 /* CLLocation+Extensions.swift in Sources */,
E2A21C332CB5BCAC0060935B /* PageContentView.swift in Sources */,
E22990402D0F95EC009F8D77 /* FolderOnDiskPropertyView.swift in Sources */,
E2FE0F422D2B4821002963B7 /* OtherCodeBlock.swift in Sources */,
E21850332CFAFA2F0090B18B /* Settings.swift in Sources */,
E29D31892D0AED1F0051B7F4 /* ModelViewer.swift in Sources */,
E2DBA3BA2E5CBFAE00F1E143 /* Date+Days.swift in Sources */,
E2FD1D392D3BBED300B48627 /* InsertableView.swift in Sources */,
E29D31412D04887F0051B7F4 /* SelectedDetailView.swift in Sources */,
E29D31A32D0CC98C0051B7F4 /* Item.swift in Sources */,
@@ -1561,6 +1630,7 @@
E21A57392D8C714000E9EBE3 /* File+Mock.swift in Sources */,
E21A573A2D8C714000E9EBE3 /* Tag+Mock.swift in Sources */,
E21A573B2D8C714000E9EBE3 /* Post+Mock.swift in Sources */,
E2DBA3CB2E5E603900F1E143 /* RangeInterval.swift in Sources */,
E21A573C2D8C714000E9EBE3 /* Page+Mock.swift in Sources */,
E21A573D2D8C714000E9EBE3 /* Content+Mock.swift in Sources */,
E25DA5732D018AA100AEF16D /* FileContentView.swift in Sources */,
@@ -1569,6 +1639,7 @@
E25DA5232CFF6C3700AEF16D /* ImageGenerator.swift in Sources */,
E2F3B3832DC496CB00CFA712 /* GalleryBlock.swift in Sources */,
E2A9CB7E2C7BCF2A005C89CC /* Page.swift in Sources */,
E2DBA3B12E58F57B00F1E143 /* WorkoutBlock.swift in Sources */,
E29D31202D0320E70051B7F4 /* ContentLabels.swift in Sources */,
E2FE0F572D2BCFD4002963B7 /* BlockLineProcessor.swift in Sources */,
E229904A2D10BB90009F8D77 /* SecurityScopeBookmark.swift in Sources */,
@@ -1617,6 +1688,7 @@
E2FE0F0F2D268D4F002963B7 /* BoxCommand.swift in Sources */,
E22990482D10B7B7009F8D77 /* StorageAccessError.swift in Sources */,
E29D31832D0A43DB0051B7F4 /* RelatedPageLink.swift in Sources */,
E26C300F2E634B3A00FEB26D /* TimeInterval+Extensions.swift in Sources */,
E20BCC9B2D535C3500B8DBEB /* ChangeObservableItem.swift in Sources */,
E2A21C512CBBD53F0060935B /* FileResource.swift in Sources */,
E22990152D0E2B7F009F8D77 /* ItemSelectionView.swift in Sources */,
@@ -1643,6 +1715,10 @@
E29D31AA2D0CEE3F0051B7F4 /* AudioPlayer.swift in Sources */,
E2FE0F4B2D2BCCAA002963B7 /* MarkdownHeadlineProcessor.swift in Sources */,
E2FE0F532D2BCE17002963B7 /* SvgCommand.swift in Sources */,
E2DBA3C42E5E601B00F1E143 /* RouteSeries.swift in Sources */,
E2DBA3C52E5E601B00F1E143 /* RouteSample.swift in Sources */,
E2DBA3C62E5E601B00F1E143 /* RouteData.swift in Sources */,
E2DBA3C72E5E601B00F1E143 /* RouteProfile.swift in Sources */,
E2FE0F3E2D2B4225002963B7 /* AudioSettingsDetailView.swift in Sources */,
E25DA58F2D02368D00AEF16D /* PageSettings.swift in Sources */,
E25DA50D2CFD9BA200AEF16D /* PostTagAssignmentView.swift in Sources */,