Update HeroImage to match the BigIcon component from Compound. (#3439)

We can move it across in a following PR.
This commit is contained in:
Doug
2024-10-23 12:13:14 +01:00
committed by GitHub
parent 97014da88d
commit e25f10e74d
259 changed files with 552 additions and 545 deletions

View File

@@ -962,7 +962,6 @@
D43F0503EF2CBC55272538FE /* SDKGeneratedMocks.swift in Sources */ = {isa = PBXBuildFile; fileRef = C2F079B5DBD0D85FEA687AAE /* SDKGeneratedMocks.swift */; };
D46C33F8B61B55F0C8C2D15F /* LocationRoomTimelineItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1B2AC540DE619B36832A5DB5 /* LocationRoomTimelineItem.swift */; };
D4CB979EB4FE26AAD9F9A72B /* UserProfileScreenModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = 604A69C081B935D6A38DE6D8 /* UserProfileScreenModels.swift */; };
D4D5595C4A2A702CFF4E94FF /* HeroImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7EC2F1622C5BBABED6012E12 /* HeroImage.swift */; };
D4D7CCECC6C0AAFC42E165BB /* NotificationPermissionsScreenViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = BE9BBB18FB27F09032AD8769 /* NotificationPermissionsScreenViewModel.swift */; };
D53B80EF02C1062E68659EDD /* ReportContentViewModelTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 086C19086DD16E9B38E25954 /* ReportContentViewModelTests.swift */; };
D55AF9B5B55FEED04771A461 /* RoomFlowCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A008E57D52B07B78DFAD1BB /* RoomFlowCoordinator.swift */; };
@@ -1132,6 +1131,7 @@
FB595EC9C00AB32F39034055 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5A37E2FACFD041CE466223CD /* SceneDelegate.swift */; };
FBD402E3170EB1ED0D1AA672 /* EncryptionKeyProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2355398E4A55DA5A89128AD1 /* EncryptionKeyProvider.swift */; };
FBF09B6C900415800DDF2A21 /* EmojiProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C113E0CB7E15E9765B1817A /* EmojiProvider.swift */; };
FC0EEFF630F34899953BB950 /* BigIcon.swift in Sources */ = {isa = PBXBuildFile; fileRef = D01FD1171FF40E34D707FD00 /* BigIcon.swift */; };
FC10228E73323BDC09526F97 /* PostHog in Frameworks */ = {isa = PBXBuildFile; productRef = 4278261E147DB2DE5CFB7FC5 /* PostHog */; };
FC8B95EC506E6BB5793D81CE /* ClientProtocolTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = E34685D186453E429ADEE58E /* ClientProtocolTests.swift */; };
FCD3F2B82CAB29A07887A127 /* KeychainAccess in Frameworks */ = {isa = PBXBuildFile; productRef = 2B43F2AF7456567FE37270A7 /* KeychainAccess */; };
@@ -1751,7 +1751,6 @@
7E492690C8B27A892C194CC4 /* AdvancedSettingsScreenCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AdvancedSettingsScreenCoordinator.swift; sourceTree = "<group>"; };
7E8562F4D7DE073BC32902AB /* EncryptionResetScreenViewModelProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EncryptionResetScreenViewModelProtocol.swift; sourceTree = "<group>"; };
7EB58E4E8D6D634C246AD5C2 /* RoomInviterLabel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RoomInviterLabel.swift; sourceTree = "<group>"; };
7EC2F1622C5BBABED6012E12 /* HeroImage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HeroImage.swift; sourceTree = "<group>"; };
7EECE8B331CD169790EF284F /* BugReportScreenViewModelTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BugReportScreenViewModelTests.swift; sourceTree = "<group>"; };
7F615A00DB223FF3280204D2 /* UserDiscoveryServiceProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserDiscoveryServiceProtocol.swift; sourceTree = "<group>"; };
7FB2253D36E81E045E1CB432 /* Duration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Duration.swift; sourceTree = "<group>"; };
@@ -2114,6 +2113,7 @@
CDE3F3911FF7CC639BDE5844 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Localizable.strings; sourceTree = "<group>"; };
CEE20623EB4A9B88FB29F2BA /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/SAS.strings; sourceTree = "<group>"; };
CEE41494C837AA403A06A5D9 /* UnitTests.xctestplan */ = {isa = PBXFileReference; path = UnitTests.xctestplan; sourceTree = "<group>"; };
D01FD1171FF40E34D707FD00 /* BigIcon.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BigIcon.swift; sourceTree = "<group>"; };
D071F86CD47582B9196C9D16 /* UserDiscoverySection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserDiscoverySection.swift; sourceTree = "<group>"; };
D086854995173E897F993C26 /* AdvancedSettingsScreenViewModelProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AdvancedSettingsScreenViewModelProtocol.swift; sourceTree = "<group>"; };
D09A267106B9585D3D0CFC0D /* ClientError.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ClientError.swift; sourceTree = "<group>"; };
@@ -2955,8 +2955,8 @@
CC743C7A85E3171BCBF0A653 /* AvatarHeaderView.swift */,
9A028783CFFF861C5E44FFB1 /* BadgeLabel.swift */,
C1FA515B3B0D61EF1E907D2D /* BadgeView.swift */,
D01FD1171FF40E34D707FD00 /* BigIcon.swift */,
8CC23C63849452BC86EA2852 /* ButtonStyle.swift */,
7EC2F1622C5BBABED6012E12 /* HeroImage.swift */,
B590BD4507D4F0A377FDE01A /* LoadableAvatarImage.swift */,
C352359663A0E52BA20761EE /* LoadableImage.swift */,
FFECCE59967018204876D0A5 /* LocationMarkerView.swift */,
@@ -6343,6 +6343,7 @@
D876EC0FED3B6D46C806912A /* AvatarSize.swift in Sources */,
7A25D6926A2C01DB8D0D67A5 /* BadgeLabel.swift in Sources */,
A4B0BAD62A12ED76BD611B79 /* BadgeView.swift in Sources */,
FC0EEFF630F34899953BB950 /* BigIcon.swift in Sources */,
38546A6010A2CF240EC9AF73 /* BindableState.swift in Sources */,
EB9F4688006B52E69DF5358F /* BlankFormCoordinator.swift in Sources */,
369BF960E52BBEE61F8A5BD1 /* BlockedUsersScreen.swift in Sources */,
@@ -6494,7 +6495,6 @@
D34E328E9E65904358248FDD /* GlobalSearchScreenModels.swift in Sources */,
55D18AA4F4A2257642EBDB94 /* GlobalSearchScreenViewModel.swift in Sources */,
E32A18802EB37EEE3EF7B965 /* GlobalSearchScreenViewModelProtocol.swift in Sources */,
D4D5595C4A2A702CFF4E94FF /* HeroImage.swift in Sources */,
0C1E537A49ABB386F7554D4A /* HighlightedTimelineItemModifier.swift in Sources */,
964B9D2EC38C488C360CE0C9 /* HomeScreen.swift in Sources */,
62C5876C4254C58C2086F0DE /* HomeScreenContent.swift in Sources */,

View File

@@ -10,39 +10,36 @@ import SwiftUI
/// An image that is styled for use as the main/top/hero screen icon. This component
/// takes a compound icon. If you would like to apply it to an SFSymbol, you can call
/// the `heroImage()` modifier directly on the Image.
struct HeroImage: View {
/// the `bigIcon()` modifier directly on the Image.
struct BigIcon: View {
enum Style {
case normal
case subtle
case defaultSolid
case `default`
case alertSolid
case alert
case successSolid
case success
case critical
case criticalOnSecondary
var foregroundColor: Color {
switch self {
case .normal:
.compound.iconPrimary
case .subtle:
case .defaultSolid, .default:
.compound.iconSecondary
case .success:
.compound.iconSuccessPrimary
case .critical, .criticalOnSecondary:
case .alertSolid, .alert:
.compound.iconCriticalPrimary
case .successSolid, .success:
.compound.iconSuccessPrimary
}
}
var backgroundFillColor: Color {
switch self {
case .normal:
case .defaultSolid:
.compound.bgSubtleSecondary
case .subtle:
.compound.bgSubtlePrimary
case .success:
.compound.bgSuccessSubtle
case .critical:
case .alertSolid:
.compound.bgCriticalSubtle
case .criticalOnSecondary:
case .successSolid:
.compound.bgSuccessSubtle
case .default, .alert, .success:
.compound.bgCanvasDefault
}
}
@@ -50,32 +47,32 @@ struct HeroImage: View {
/// The icon that is shown.
let icon: KeyPath<CompoundIcons, Image>
var style: Style = .normal
var style: Style = .defaultSolid
var body: some View {
CompoundIcon(icon, size: .custom(42), relativeTo: .title)
.modifier(HeroImageModifier(style: style))
CompoundIcon(icon, size: .custom(32), relativeTo: .title)
.modifier(BigIconModifier(style: style))
}
}
extension Image {
/// Styles the image for use as the main/top/hero screen icon. You should prefer
/// the HeroImage component when possible, by using an icon from Compound.
func heroImage(insets: CGFloat = 16, style: HeroImage.Style = .normal) -> some View {
/// the BigIcon component when possible, by using an icon from Compound.
func bigIcon(insets: CGFloat = 16, style: BigIcon.Style = .defaultSolid) -> some View {
resizable()
.renderingMode(.template)
.aspectRatio(contentMode: .fit)
.scaledPadding(insets, relativeTo: .title)
.modifier(HeroImageModifier(style: style))
.modifier(BigIconModifier(style: style))
}
}
private struct HeroImageModifier: ViewModifier {
let style: HeroImage.Style
private struct BigIconModifier: ViewModifier {
let style: BigIcon.Style
func body(content: Content) -> some View {
content
.scaledFrame(size: 70, relativeTo: .title)
.scaledFrame(size: 64, relativeTo: .title)
.foregroundColor(style.foregroundColor)
.background {
RoundedRectangle(cornerRadius: 14)
@@ -87,22 +84,32 @@ private struct HeroImageModifier: ViewModifier {
// MARK: - Previews
struct HeroImage_Previews: PreviewProvider, TestablePreview {
struct BigIcon_Previews: PreviewProvider, TestablePreview {
static var previews: some View {
VStack(spacing: 20) {
VStack(spacing: 40) {
HStack(spacing: 20) {
HeroImage(icon: \.lockSolid)
BigIcon(icon: \.lockSolid)
Image(systemName: "hourglass")
.heroImage()
.bigIcon()
Image(asset: Asset.Images.serverSelectionIcon)
.heroImage(insets: 19)
.bigIcon(insets: 19)
}
HStack(spacing: 20) {
HeroImage(icon: \.helpSolid, style: .subtle)
HeroImage(icon: \.checkCircleSolid, style: .success)
HeroImage(icon: \.error, style: .critical)
HeroImage(icon: \.error, style: .criticalOnSecondary)
VStack(spacing: 20) {
HStack(spacing: 20) {
BigIcon(icon: \.helpSolid)
BigIcon(icon: \.helpSolid, style: .default)
}
HStack(spacing: 20) {
BigIcon(icon: \.error, style: .alertSolid)
BigIcon(icon: \.error, style: .alert)
}
HStack(spacing: 20) {
BigIcon(icon: \.checkCircleSolid, style: .successSolid)
BigIcon(icon: \.checkCircleSolid, style: .success)
}
}
}
}

View File

@@ -58,7 +58,7 @@ struct AppLockSetupPINScreen: View {
var header: some View {
VStack(spacing: 8) {
HeroImage(icon: \.lockSolid)
BigIcon(icon: \.lockSolid)
.padding(.bottom, 8)
Text(context.viewState.title)

View File

@@ -45,7 +45,7 @@ struct LoginScreen: View {
/// The header containing the title and icon.
var header: some View {
VStack(spacing: 8) {
HeroImage(icon: \.lockSolid)
BigIcon(icon: \.lockSolid)
.padding(.bottom, 8)
Text(L10n.screenLoginTitleWithHomeserver(context.viewState.homeserver.address))

View File

@@ -29,7 +29,7 @@ struct ServerConfirmationScreen: View {
var header: some View {
VStack(spacing: 8) {
Image(systemSymbol: .personCropCircleFill)
.heroImage()
.bigIcon()
.padding(.bottom, 8)
Text(context.viewState.title)

View File

@@ -32,7 +32,7 @@ struct ServerSelectionScreen: View {
var header: some View {
VStack(spacing: 8) {
Image(asset: Asset.Images.serverSelectionIcon)
.heroImage(insets: 19)
.bigIcon(insets: 19)
.padding(.bottom, 8)
Text(L10n.screenChangeServerTitle)

View File

@@ -15,7 +15,7 @@ struct EncryptionResetPasswordScreen: View {
var body: some View {
FullscreenDialog {
VStack(spacing: 16) {
HeroImage(icon: \.lockSolid)
BigIcon(icon: \.lockSolid)
Text(L10n.screenResetEncryptionPasswordTitle)
.foregroundColor(.compound.textPrimary)

View File

@@ -39,7 +39,7 @@ struct EncryptionResetScreen: View {
private var header: some View {
VStack(spacing: 8) {
HeroImage(icon: \.error, style: .criticalOnSecondary)
BigIcon(icon: \.error, style: .alert)
.padding(.bottom, 8)
Text(L10n.screenEncryptionResetTitle)

View File

@@ -88,7 +88,7 @@ struct JoinRoomScreen: View {
@ViewBuilder
private var knockedView: some View {
VStack(spacing: 16) {
HeroImage(icon: \.checkCircleSolid, style: .success)
BigIcon(icon: \.checkCircleSolid, style: .successSolid)
VStack(spacing: 8) {
Text(L10n.screenJoinRoomKnockSentTitle)
.font(.compound.headingMDBold)

View File

@@ -35,7 +35,7 @@ struct AnalyticsPromptScreen: View {
private var header: some View {
VStack(spacing: 8) {
HeroImage(icon: \.chart)
BigIcon(icon: \.chart)
.padding(.bottom, 8)
Text(L10n.screenAnalyticsPromptTitle(InfoPlistReader.main.bundleDisplayName))

View File

@@ -37,7 +37,7 @@ struct IdentityConfirmationScreen: View {
@ViewBuilder
private var screenHeader: some View {
VStack(spacing: 0) {
HeroImage(icon: \.lockSolid)
BigIcon(icon: \.lockSolid)
.padding(.bottom, 16)
Text(L10n.screenIdentityConfirmationTitle)

View File

@@ -29,7 +29,7 @@ struct IdentityConfirmedScreen: View {
@ViewBuilder
private var screenHeader: some View {
VStack(spacing: 0) {
HeroImage(icon: \.checkCircle, style: .success)
BigIcon(icon: \.checkCircle, style: .successSolid)
.padding(.bottom, 16)
Text(L10n.screenIdentityConfirmedTitle)

View File

@@ -27,7 +27,7 @@ struct NotificationPermissionsScreen: View {
/// The main content of the screen that is shown inside the scroll view.
private var mainContent: some View {
VStack(spacing: 8) {
HeroImage(icon: \.notificationsSolid)
BigIcon(icon: \.notificationsSolid)
.padding(.bottom, 8)
Text(L10n.screenNotificationOptinTitle)

View File

@@ -58,11 +58,11 @@ struct SessionVerificationScreen: View {
private var screenHeader: some View {
VStack(spacing: 0) {
if context.viewState.verificationState == .initial {
HeroImage(icon: \.lockSolid)
BigIcon(icon: \.lockSolid)
.padding(.bottom, 16)
} else {
Image(systemName: headerImageName)
.heroImage()
.bigIcon()
.padding(.bottom, 16)
}

View File

@@ -50,7 +50,7 @@ struct PinnedEventsTimelineScreen: View {
private var content: some View {
if timelineContext.viewState.pinnedEventIDs.isEmpty {
VStack(spacing: 16) {
HeroImage(icon: \.pin, style: .normal)
BigIcon(icon: \.pin)
Text(L10n.screenPinnedTimelineEmptyStateHeadline)
.font(.compound.headingSMSemibold)
.foregroundStyle(.compound.textPrimary)

View File

@@ -41,7 +41,7 @@ struct QRCodeLoginScreen: View {
FullscreenDialog {
VStack(alignment: .leading, spacing: 40) {
VStack(spacing: 16) {
HeroImage(icon: \.computer, style: .subtle)
BigIcon(icon: \.computer, style: .default)
VStack(spacing: 8) {
Text(L10n.screenQrCodeLoginInitialStateTitle(InfoPlistReader.main.productionAppName))
@@ -101,7 +101,7 @@ struct QRCodeLoginScreen: View {
VStack(spacing: 16) {
switch state {
case .deviceCode:
HeroImage(icon: \.computer, style: .subtle)
BigIcon(icon: \.computer, style: .default)
VStack(spacing: 8) {
Text(L10n.screenQrCodeLoginDeviceCodeTitle)
@@ -115,7 +115,7 @@ struct QRCodeLoginScreen: View {
.multilineTextAlignment(.center)
}
case .verificationCode:
HeroImage(icon: \.lock, style: .subtle)
BigIcon(icon: \.lock, style: .default)
VStack(spacing: 8) {
Text(L10n.screenQrCodeLoginVerifyCodeTitle)
@@ -136,7 +136,7 @@ struct QRCodeLoginScreen: View {
FullscreenDialog {
VStack(spacing: 40) {
VStack(spacing: 16) {
HeroImage(icon: \.takePhotoSolid, style: .subtle)
BigIcon(icon: \.takePhotoSolid, style: .default)
Text(L10n.screenQrCodeLoginScanningStateTitle)
.foregroundColor(.compound.textPrimary)
@@ -256,7 +256,7 @@ struct QRCodeLoginScreen: View {
switch errorState {
case .noCameraPermission:
VStack(spacing: 16) {
HeroImage(icon: \.takePhotoSolid, style: .subtle)
BigIcon(icon: \.takePhotoSolid, style: .default)
VStack(spacing: 8) {
Text(L10n.screenQrCodeLoginNoCameraPermissionStateTitle)
@@ -273,7 +273,7 @@ struct QRCodeLoginScreen: View {
case .connectionNotSecure:
VStack(spacing: 40) {
VStack(spacing: 16) {
HeroImage(icon: \.error, style: .criticalOnSecondary)
BigIcon(icon: \.error, style: .alert)
VStack(spacing: 8) {
Text(L10n.screenQrCodeLoginConnectionNoteSecureStateTitle)
@@ -339,7 +339,7 @@ struct QRCodeLoginScreen: View {
}
VStack(spacing: 16) {
HeroImage(icon: \.error, style: .criticalOnSecondary)
BigIcon(icon: \.error, style: .alert)
VStack(spacing: 8) {
Text(title)

View File

@@ -38,7 +38,7 @@ struct ResolveVerifiedUserSendFailureScreen: View {
var header: some View {
VStack(spacing: 8) {
HeroImage(icon: \.error, style: .critical)
BigIcon(icon: \.error, style: .alertSolid)
.padding(.bottom, 8)
Text(context.viewState.title)

View File

@@ -40,7 +40,7 @@ struct SecureBackupKeyBackupScreen: View {
private var disableBackupSection: some View {
VStack(spacing: 16) {
HeroImage(icon: \.keyOffSolid)
BigIcon(icon: \.keyOffSolid)
Text(L10n.screenKeyBackupDisableTitle)
.foregroundColor(.compound.textPrimary)

View File

@@ -15,7 +15,7 @@ struct SecureBackupLogoutConfirmationScreen: View {
var body: some View {
FullscreenDialog {
VStack(spacing: 16) {
HeroImage(icon: \.keyOffSolid)
BigIcon(icon: \.keyOffSolid)
content
}
.padding()

View File

@@ -53,7 +53,7 @@ struct SecureBackupRecoveryKeyScreen: View {
private var header: some View {
VStack(spacing: 16) {
HeroImage(icon: \.keySolid)
BigIcon(icon: \.keySolid)
Text(context.viewState.title)
.foregroundColor(.compound.textPrimary)

View File

@@ -83,6 +83,12 @@ extension PreviewTests {
}
}
func test_bigIcon() {
for preview in BigIcon_Previews._allPreviews {
assertSnapshots(matching: preview)
}
}
func test_blockedUsersScreen() {
for preview in BlockedUsersScreen_Previews._allPreviews {
assertSnapshots(matching: preview)
@@ -221,12 +227,6 @@ extension PreviewTests {
}
}
func test_heroImage() {
for preview in HeroImage_Previews._allPreviews {
assertSnapshots(matching: preview)
}
}
func test_highlightedTimelineItemModifier() {
for preview in HighlightedTimelineItemModifier_Previews._allPreviews {
assertSnapshots(matching: preview)

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1c2db75b98f86afcffbba913ef8d728d6a6ab51d3b73314897c1108210d00c45
size 517693
oid sha256:8b702610b9a43191c4dccee0173300c5c5db9041e60ad9bc581ebfc2a47fcd8a
size 519748

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:87469d91baa3ee639d04012ad9afcf049eb8e9c6cd78fb6dadbac5fbcfb481f3
size 543421
oid sha256:2151c4124c4f826a9b2b1039ec2cffea1f7f9930e37918ca65558239190c8032
size 545056

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c8f77a8e5c48eb636514ce6f735c79d583c4ffc7b034cdc49484fbff0ec4a882
size 315619
oid sha256:76a550baf0bfc5fc2e7d2ccbfdb1e367cd025a3daca8526d4040a46523454869
size 316889

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e0f75923ed4fcfb1c774751abe0a5697fbbf71a274a163dce56c1723a1e6ead2
size 321695
oid sha256:8e28e24910ef83b66f273751cb0427e7f6df1ac127bfe6422ca172e7be0819bc
size 323831

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4e8e2c0d5fb539547eb17874010dc890a90283cd99a9baf63a91b8b4d4bccfc1
size 102419
oid sha256:0aaae68e8c63927afcd5320c2657c025d1982b11debf3e9a5925ee5b9580b0f6
size 101720

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a1da726841138e630d6e85133cda1fd90baab69fbaf6513c465d4e56ead739e7
size 102732
oid sha256:f7cde3e4e50e9fc852fc44f521b3d629d2d98f73ab3b3221aec32ae54d339594
size 102036

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:13118c3e920fdee262b388f2ed710f631c06502ef2447074c9c8551e2939a8ff
size 92803
oid sha256:a89061d4ba1b7c8cdb80f3e2eedc3d2f35af10060af395d6ee68ecf8596c518d
size 92227

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c25a877355d3256f14e6029a877bdf86cff7b792b7639e33acb50fa09de34987
size 91322
oid sha256:3e3141859adc07a1a7194db3aa89045caf0b6fe682d4948f21a3c9fc902aae47
size 90769

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c96e282d280d870f4e5f625381034ae37572fd3f84a88314ae2ca1d265d4fb28
size 120848
oid sha256:1dda7ef374d7784aa0ec87123e04d1325ca15a8fd3128a09788dd6f4fcd5435e
size 120397

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:268ba715124976362a3bffb717681af0d82b8e93562d2374a70ff2bf4cde752f
size 121144
oid sha256:bb0662eabc3099f39991a6d22a4a3e1a2d7b20175c365452cef0155399b1ce39
size 120642

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a7afee97b88a11735eaf6a7feebc86b16d48bf9c07e5a4842d05223f542d0b0d
size 94251
oid sha256:c20ef9f91eaf5b50893f227886a55de5589d4fd48779c52cd70f7ac349b6cf55
size 93704

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:82e57447f74abc770a97c13e2c68cff73c02aa46321596d620195a18de078691
size 93896
oid sha256:1f2418234c9e398983b2fe2f9812be025eff010cc1f8bc8f2547afe67ced150e
size 93336

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0f0d14bbe0566bc50d964af9f958c5501d8905748299545e54e36ed41dc63696
size 58511
oid sha256:8927accb451011658d3eaa3e677764b8df123b8e0fc2d658a3b9c2ab56cc46ef
size 58405

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:fd3f9345a6ee5874078da7ab4ea83d6c8f1cb608bfba421730d6228ac84cdc75
size 58844
oid sha256:8c219f072b9d6afe480672105dffb966b257453b275a03ad3565166708a2039a
size 58700

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e7629b409f37c0fddd6f36e68d6fe6da2aa9d782759abbd74501e80bb4cb35a1
size 49415
oid sha256:07b296f7d747cc3c2c02e6bfadfdd026505f1057176187c708cedefc87b7c240
size 49207

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:03ebe2f4f43ff78ed48a4e2cc943ddbdfdfc6e07944804b55fc75ae855a76698
size 48104
oid sha256:69321186112474b6f2e74382d7ee2de6f019111dee666f39bdc00041fee8ad41
size 47793

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:51d4fe7837ee09f20bb446037004354bdd7e3056f37a72e8f63c074e691addd9
size 79170
oid sha256:9e352074ae172e506d02ac4ec96a8a5d1dfb38184489e48296ca349ecc7796f4
size 79077

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7ab0ad8f12771b5636df311f435c05af4a9f965438426f72899bf9ae31b10d0b
size 79454
oid sha256:8e7937cbeae8a4c53a51ac85891d28b43d1346676493969751add9c40abe0e84
size 79363

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6d3f3fc20d010027cabf991f4ed7e626ff3cf3b37a27f533689e13e058128044
size 52015
oid sha256:a65aec7ba0447b622e1a051c4271adafe2bc73c43dff06a7d470ced000fa9a77
size 51766

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8bab864c1f3986d0c09972e4793d5ca18976ad533a428f006192c8c412b260ac
size 51822
oid sha256:2fcfefc8b08089b1bfaf7ce157b4f0d08fec7a2bf15d8ac4bb8dd4484d4e8699
size 51549

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:dd3411701b93dd7452d099b533ce08b1c69d2207af736ab1269cf7386295128f
size 86763

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:dd3411701b93dd7452d099b533ce08b1c69d2207af736ab1269cf7386295128f
size 86763

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9b0c07456ae43e1a3e11aea244a8e827b4abf670b12018537d87ba5cc83e6069
size 45805

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9b0c07456ae43e1a3e11aea244a8e827b4abf670b12018537d87ba5cc83e6069
size 45805

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e43762e16cf7619be64aff1f0510ce618fb6980248df235bbcf4d017d9e94f14
size 100528
oid sha256:5f2d161033e0af7ddc616d0eb652020b7c4e9a87c646c0734d06d7bb0e8a9a9d
size 99948

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:86d58428192333e6aa8697a1e22c115bbbea4183e29100e4e75ea6fc1c377c4c
size 117766
oid sha256:cda9062039283132c3a793e896d1ab039cf9c646d4fee267d905faf7dcb64735
size 117332

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a83ab0654a14096806604c8ba2beb2e762651799283b0313af34030634d2c025
size 56895
oid sha256:18ff87c5d19917060e6fa5f0df10eda9ff5aa78116cc821762070b1da71e879e
size 56640

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:af2422461ff5afc9dcd3f26a6cda3801ea64c163644f4a02bef28ac5fe2363c7
size 73087
oid sha256:635ff740d1a3c9bf2b4e4e58c23ace908a732d408fccfa6cada3e031766851bf
size 72949

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:35ff1ec5ba08bdcfe19c68655ea38c0a679ee896aee25b188b9667439e37c605
size 157122
oid sha256:b6669bd265a9b14b47f3e80786ce487275a81dd0a7c096bab707fc573d5ca5ba
size 156868

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:01977f47e883168370867511229e4357a7a9c3fb5b1ec623fc618c6627c0b1c4
size 213205
oid sha256:13eb76a6174949e63d35e260744763a405b7fd4cdfb0405189b647115be04f4d
size 212875

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:04e69f0f8f95eef2e94d6b5ff06340b2961c19f82a65285330e8aa4299d4b7e3
size 107557
oid sha256:e2f9383e9ccde9ed8fda0461051e0c445537c299f3881b2d7feeae084bdb6be4
size 107493

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8bdd88fa80104946db0c54b75d0a2b95d1283152f6a640b4de24428df41401ff
size 164076
oid sha256:359d2bfea87562d0bce3472e9994180397a2b33315b9d6768439bfbdcc3eb61a
size 164012

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:798f00aea1c63551ad62f6f926fac78bf6a52b051a84700205f8013b121c8c5d
size 86845

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:798f00aea1c63551ad62f6f926fac78bf6a52b051a84700205f8013b121c8c5d
size 86845

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:df39d35a4bc393f96bec96b9741cb1719faad3f39108e4efc74ddbd542a01b6f
size 45643

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:df39d35a4bc393f96bec96b9741cb1719faad3f39108e4efc74ddbd542a01b6f
size 45643

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:25d8ff95556fe43a082fa3b9608ee24c9aad7d7ba6301c08ec379a05454a8845
size 115469
oid sha256:c664b1a6087e9d8ca0b3800d28ec524ea2c673f2af29ea3a5141b3c90a75d0cd
size 114821

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:37ec779f712d787c348388eddc70a81616f7d99b8341afbd121a77a332b42a62
size 127877
oid sha256:65c9523f7de175bc72bdf9ab54ba912434cb38340ec9dd6be7f9a7ba4a3de774
size 127199

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:94b7e221c0c46d14eebd9c91e3915ea24819fd0c80d75ac73c2734f15a6a1881
size 68993
oid sha256:e7110b9d71eaea56f760c77e50d33b0ad0111c85259856eee78fc5b47d4ee892
size 68645

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3126e413b4fa4d38ce378a479e3ff5d34383cf6dea456582eb2806f1e5ff2d4d
size 87719
oid sha256:36486eb38870172f99df27faa7d81e6f60070420443a20335927e8fa650a0232
size 87491

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:accd166f617c76fd93fb981e22091b0fa6fffb29800a2f9f9a52d97ee168070b
size 96564
oid sha256:e230f4c7bdbc45ee05e93cd98f0f22a4800d9397428f161604b9bf0e89722c61
size 95961

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8bde634539569c48796d0edda577fe408b04ddfa4124268e4e37d5b45a13410c
size 109812
oid sha256:ce8b5b2f87c552f7331874a0d12258fa0c158d095b194fcc6b043bd5faeeb8e0
size 109013

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3b53456c363be86017d2b9e78f206cd11da7f7eb289252f3889a198408d6d74f
size 53533
oid sha256:a9634c0047fa3928b4cc3662aa8bb1315900f89f74e845b5d074d06e68d9da98
size 53028

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d2013ae2ea2e2c287aefb1d325557226f8734f6c3fc15f148eb5b88d76f372f7
size 68968
oid sha256:97d333e6798cd7449999133c69480f6162011f327974d49fbbb7d47c786db9d5
size 68742

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:79f1c8ea20c6791a7d25d8fc18f45d1d0fef989b8fa0316c5b312bfc9dd4c271
size 1972382
oid sha256:47bda34db0009a5f2d04a9ab3fdb761d9efb266046c85abf786051ec3d30f081
size 1973723

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d159ef72270668acb4ffe1443954086a895e630d5809ff51a65b9302ada8ca89
size 1988527
oid sha256:7d768cff2a5e42c223808f4fc3b1b3f7fbfe13d94711ae2ddeb77d24c2088517
size 1990759

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4e0a6de1d32f7d2845bf66ae655ac2b7404083a6d3478f96e1eea29f0b102e51
size 811030
oid sha256:6f21b9720b09a4fdc89f4f1f25548200d159b404ed6431693defe99c401f99d2
size 812339

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3e8581d10df35158cd98cc36e23f1ca1ad38659732699bd7073f92aa4331e847
size 828204
oid sha256:7ae617786ed8ee75c55bf33222bdf80faca1dac30a5d0fca84175e3ed7f42d9f
size 829745

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:268e4db4b7fbbabd0804c70d5532c8632ee225d633304da1e136c489332ab306
size 92683
oid sha256:8d85af5b139ae8af8f98acc7a366f51f644ee4e4c32087a9f38895131a5cf3ab
size 91146

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d93585f86e776c0636eb9457cfa6acd35dfef6a8e9591b817aa9b41470ffb1cb
size 95029
oid sha256:b3a1054d741c88b6478b2befe8f1c33be87a57721a5cf32912c2bb62def9e929
size 94504

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9369cd8554cdfc4d1e53d73b33a890db9c7f9e8e39fe4075a58999ec5b2df8ca
size 95979
oid sha256:42c3d1d51c27e4c9ad7d35688d4050d97fd7d165e77223e609c82dc6631b7ac6
size 94453

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7821d479f4e7230da2df271d889e5c6147edadfbd2b9cadd391a7959605d74a4
size 96911
oid sha256:eb3dfb1e2dedb8ddc54ec7fcadd270f62391efa6906b93a5857908dff17a1bad
size 95331

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:374a57ae7fcf402b65b10a2863b0a05128ac111b97b0ee88298d880f1fc8fb7c
size 116598
oid sha256:f74db8270e8cf70c0c9151faf717f9fd146287d5a984421adab858917c6242cd
size 116034

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:415182fb2d280fdd1c6b723383621acad2275b1d2286de57e718e21c274e3823
size 100924
oid sha256:7dd98bf3e8d9450b90902c5d9b78c33fc01a9cf76f1bdb3084a619b97bf09f04
size 99360

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f305e0b0e2423bd83e825f0a5fff222fc751ba9a9a397a48ec8884191fa649af
size 47648
oid sha256:69f9a72211bb4e8865d5e944a39965bd8ae106e3e5ab978a7e125be43b4db77a
size 47422

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c25500ebf350efd1e8fee87c2031b7caeb6e525e22a65db6d793301749a8474b
size 55931
oid sha256:541601f6d62456324f58f1ef5021567f22d2cb3798007814b7962708a86722c6
size 55565

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b57da444c1ba2db6cc6cc5f465753f56911079916a857d63435b79f1c64d6e00
size 50637
oid sha256:1e8f48a5189f53a45cf504da4d6828677df479036011660e218fa9582e6a53f5
size 50317

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:40434e10facf844daa52896c3cabb1ac9dfc05cfb1d25ea358ca1f0387012655
size 55739
oid sha256:51afd42d91ebfc2b63a8c961f7b9f34dcfa1c6cee075ef361354384cf994bddb
size 55059

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5eebc69dcd0285b9e83b7594f157f8aa45ebe217d2a186e981d821dd81847d46
size 80515
oid sha256:f4b9ccdb9656c2d28d91c6d3a3d65af0b40cc049977ce6cdf3ba2bd3943338b0
size 80171

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:76dbdda9f2d9b68d64a912d8d1b3e945449d71e6c5f557ae426d97e9b6b3a3ae
size 59817
oid sha256:b311840717a31f6fe7a70a6bf61a8a2556941bdad9c2caee94dbea781fe5fe76
size 59181

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1f0e46d684e61d7c71d57edef6050678c5138866c3b56a5d1fceebec3344f308
size 446397
oid sha256:9399fed5f2a4033b1d2eb68ba85a1171466fd13c13caae0d721bc3aa02ac0441
size 448049

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d94207b315052bf345acc8b842444f3bde379ae8c210207570785d26c64a0012
size 471518
oid sha256:ab0c1142ee57473ba9ac24cb0fda2015c2f30ef00e3561a931c4b0928d7df77b
size 470178

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c864558ebed0a41cb5120509923876d183932c4219cea89c2cef28a061bd41c3
size 292807
oid sha256:40d1ab56e337e7bb924e9f757c1f1c479163c3b00308fb81d34692cd8196cd8c
size 293583

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:202d4983b945f41ce84f96292ca7f1f65b85349d7837673bc07f3d61c0ac5c40
size 308383
oid sha256:c1e43f3a98ea4f830ee9110028646c362e1be4175111ca60a4b359f127d9224c
size 309530

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1cb783734a65fa84449c22e1c2df60151ff03e17a9a6d7f7ada2568be24a08c9
size 96586
oid sha256:779fbc896e06aaabcbd630fbc37b1b7ca7c4b5d24aca5013e7cdaf2f5c7affb3
size 96245

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:cb254d38a6bd5eacf43837e030ec62fa12489daa4f4b8b838b71bec9b7a469e3
size 112922
oid sha256:7c122f1df55e7944efe4a14d3540fce1298e4ce1aa7578840c211cdaa4572f1a
size 112566

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3b35ed703fbe9bdcbd7fbc637f0954ceb66a316e534cc331920fab34522758e7
size 56642
oid sha256:c41242a8fc2df8bf2ee6be525f2d9247e9f4333193098006cd768f2f6d44fa09
size 56386

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:859d4cad624b9556ad55f8c4d39badd26512237c280ee9affe44321c162cba18
size 76416
oid sha256:f01f3a67d066a9b4f53a2f11575e7ee73207c954b4d07557743b2da84cd05253
size 76063

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3d2b451eb6bc898a85a3d70d00cdc3da623f794aa6c8a4f15d8409449a945845
size 100792
oid sha256:614193c4d202e37a09e4cc027f367704a0f459da4c19e5dfc5e455b9bf1ebb91
size 100487

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9af5feed468c1e193d153cf3a79464c2594d11c143a143bb6d1d0e2167456801
size 106015
oid sha256:5118050501a46c00143ef43742be4cb239b80a46ff94bc0f3e079f774ba3ac02
size 105351

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6b7180ebbb140dea72b006104c9e76cdbba65a8281ebf1df2a0037eca668fe75
size 160208
oid sha256:2438be958a801fe7938c2e7df5a0ced027f9179ca1d42479d03b9db25a97f5d9
size 160064

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1c20f3df009d815ccdf37db4af789c400be29041153f465e9f71cf551818ebd6
size 98682
oid sha256:123406b9830503244c28536110ee449007f0eddd70261f46ca6717b21e7899d7
size 98416

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e2424cd9bb0c636eec98a52603bcef3cf7d334f12efbdb74e0df0803d35ca1df
size 117014
oid sha256:6cc16bf32cba121e8614af30a879c877013d68c2c25b5801f236c6d76cda94f3
size 116404

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f1580204688212fd8a948143715ca5c0b6585051c6f2b4dc7d4306a19d2ee646
size 123145
oid sha256:48b84efc510d0de306ea99cd726f79e12e1988ae8ad3fe52ef3c6348a096d6c2
size 122590

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:49efc224c55e165a7bdbc3c4036f8ec3a111293fd7eb73131b016eb99a8cbb26
size 100886
oid sha256:66da381173bdafd89500442ff09d56f6f0daa8a8f1b127d60defd6ad4545e545
size 100725

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b9bcabb6711e7d21bd9bfbb5b620051019d333b8f7694ede5351b0e88e74ab35
size 102101
oid sha256:90fd278cdd95fe12eaf2e9c739c69d9512910c1da99864b508b0f2a41d0fdf29
size 101925

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8eede65da7fcb800583f0f73a595cadecdb233f3185f7e272797b63e39f25df8
size 146499
oid sha256:2721166398d184d26983211c370bc4f6ea9e1d280f3466945bfe1c6ae5420528
size 145904

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:03c18c209c7d4ad65dd7cad0f01e09df0ac8655029ef0bf06697269bbca7980b
size 117845
oid sha256:15bffb921a394273401bd228a3bfe30a8e175f16111ce5f7001aae94ef22520f
size 117254

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7e52853f72f1a139274fdefcb94f0fd9c6364c43e5808f6ca504eb201f4d3b45
size 120877
oid sha256:2a87bd66f523175b80a2c1cbe3a290626f5eb9d397551ffa20590093e662099a
size 120570

Some files were not shown because too many files have changed in this diff Show More