diff --git a/Telegram-iOS/en.lproj/Localizable.strings b/Telegram-iOS/en.lproj/Localizable.strings index 85b36d1113..fa77ad9df3 100644 --- a/Telegram-iOS/en.lproj/Localizable.strings +++ b/Telegram-iOS/en.lproj/Localizable.strings @@ -4485,6 +4485,8 @@ Any member of this group will be able to see messages in the channel."; "Chat.AttachmentMultipleFilesDisabled" = "Slowmode is enabled. You can't send multiple files at once."; "Chat.AttachmentMultipleForwardDisabled" = "Slowmode is enabled. You can't forward multiple messages at once."; "Chat.MultipleTextMessagesDisabled" = "Slowmode is enabled. You can't send multiple messages at once."; +"Share.MultipleMessagesDisabled" = "Slowmode is enabled. You can't send multiple messages at once."; +"Chat.SlowmodeSendError" = "Slowmode is enabled."; "StickerPacksSettings.AnimatedStickersInfo" = "Animated stickers in a chat will play continuously."; "Conversation.Owner" = "owner"; diff --git a/submodules/MediaPlayer/Sources/FFMpegMediaFrameSourceContext.swift b/submodules/MediaPlayer/Sources/FFMpegMediaFrameSourceContext.swift index 5d6bd9bf39..b12b445457 100644 --- a/submodules/MediaPlayer/Sources/FFMpegMediaFrameSourceContext.swift +++ b/submodules/MediaPlayer/Sources/FFMpegMediaFrameSourceContext.swift @@ -622,6 +622,12 @@ final class FFMpegMediaFrameSourceContext: NSObject { } if let closestFrame = closestFrame { actualPts = closestFrame.pts + } else { + if let videoStream = initializedState.videoStream { + actualPts = videoStream.duration + } else { + actualPts = extraVideoFrames.last!.pts + } } } if let audioStream = initializedState.audioStream { diff --git a/submodules/MediaPlayer/Sources/MediaPlayer.swift b/submodules/MediaPlayer/Sources/MediaPlayer.swift index 7aaf423231..1c4075e03e 100644 --- a/submodules/MediaPlayer/Sources/MediaPlayer.swift +++ b/submodules/MediaPlayer/Sources/MediaPlayer.swift @@ -784,7 +784,7 @@ private final class MediaPlayerContext { } } else if let worstStatus = worstStatus, case let .finished(finishedAt) = worstStatus, finishedAt.isFinite { let nextTickDelay = max(0.0, finishedAt - timestamp) / self.baseRate - if nextTickDelay.isLessThanOrEqualTo(0.0) || timestamp.isEqual(to: 0.0) { + if nextTickDelay.isLessThanOrEqualTo(0.0) { rate = 0.0 performActionAtEndNow = true } else { diff --git a/submodules/MtProtoKit/MTProtoKit/MTTcpConnection.m b/submodules/MtProtoKit/MTProtoKit/MTTcpConnection.m index 21213ec43b..40be47ce45 100644 --- a/submodules/MtProtoKit/MTProtoKit/MTTcpConnection.m +++ b/submodules/MtProtoKit/MTProtoKit/MTTcpConnection.m @@ -655,74 +655,97 @@ struct ctr_state { if (!_addedControlHeader) { _addedControlHeader = true; - uint8_t controlBytes[64]; - arc4random_buf(controlBytes, 64); - - int32_t controlVersion; - if (_useIntermediateFormat) { - controlVersion = 0xdddddddd; - } else { - controlVersion = 0xefefefef; - } - - memcpy(controlBytes + 56, &controlVersion, 4); - int16_t datacenterTag = (int16_t)_datacenterTag; - memcpy(controlBytes + 60, &datacenterTag, 2); - - uint8_t controlBytesReversed[64]; - for (int i = 0; i < 64; i++) { - controlBytesReversed[i] = controlBytes[64 - 1 - i]; - } - - NSData *aesKey = [[NSData alloc] initWithBytes:controlBytes + 8 length:32]; - NSData *aesIv = [[NSData alloc] initWithBytes:controlBytes + 8 + 32 length:16]; - - NSData *incomingAesKey = [[NSData alloc] initWithBytes:controlBytesReversed + 8 length:32]; - NSData *incomingAesIv = [[NSData alloc] initWithBytes:controlBytesReversed + 8 + 32 length:16]; - - NSData *effectiveSecret = nil; - if (_mtpSecret != nil) { - effectiveSecret = _mtpSecret.secret; - } - if (effectiveSecret.length != 16 && effectiveSecret.length != 17) { - effectiveSecret = nil; - } - - if (effectiveSecret) { - NSMutableData *aesKeyData = [[NSMutableData alloc] init]; - [aesKeyData appendData:aesKey]; - if (effectiveSecret.length == 16) { - [aesKeyData appendData:effectiveSecret]; - } else if (effectiveSecret.length == 17) { - [aesKeyData appendData:[effectiveSecret subdataWithRange:NSMakeRange(1, effectiveSecret.length - 1)]]; - } - NSData *aesKeyHash = MTSha256(aesKeyData); - aesKey = [aesKeyHash subdataWithRange:NSMakeRange(0, 32)]; + for (int retryCount = 0; retryCount < 10; retryCount++) { + uint8_t controlBytes[64]; + arc4random_buf(controlBytes, 64); - NSMutableData *incomingAesKeyData = [[NSMutableData alloc] init]; - [incomingAesKeyData appendData:incomingAesKey]; - if (effectiveSecret.length == 16) { - [incomingAesKeyData appendData:effectiveSecret]; - } else if (effectiveSecret.length == 17) { - [incomingAesKeyData appendData:[effectiveSecret subdataWithRange:NSMakeRange(1, effectiveSecret.length - 1)]]; + int32_t controlVersion; + if (_useIntermediateFormat) { + controlVersion = 0xdddddddd; + } else { + controlVersion = 0xefefefef; } - NSData *incomingAesKeyHash = MTSha256(incomingAesKeyData); - incomingAesKey = [incomingAesKeyHash subdataWithRange:NSMakeRange(0, 32)]; + + memcpy(controlBytes + 56, &controlVersion, 4); + int16_t datacenterTag = (int16_t)_datacenterTag; + memcpy(controlBytes + 60, &datacenterTag, 2); + + uint8_t controlBytesReversed[64]; + for (int i = 0; i < 64; i++) { + controlBytesReversed[i] = controlBytes[64 - 1 - i]; + } + + NSData *aesKey = [[NSData alloc] initWithBytes:controlBytes + 8 length:32]; + NSData *aesIv = [[NSData alloc] initWithBytes:controlBytes + 8 + 32 length:16]; + + NSData *incomingAesKey = [[NSData alloc] initWithBytes:controlBytesReversed + 8 length:32]; + NSData *incomingAesIv = [[NSData alloc] initWithBytes:controlBytesReversed + 8 + 32 length:16]; + + NSData *effectiveSecret = nil; + if (_mtpSecret != nil) { + effectiveSecret = _mtpSecret.secret; + } + if (effectiveSecret.length != 16 && effectiveSecret.length != 17) { + effectiveSecret = nil; + } + + if (effectiveSecret) { + NSMutableData *aesKeyData = [[NSMutableData alloc] init]; + [aesKeyData appendData:aesKey]; + if (effectiveSecret.length == 16) { + [aesKeyData appendData:effectiveSecret]; + } else if (effectiveSecret.length == 17) { + [aesKeyData appendData:[effectiveSecret subdataWithRange:NSMakeRange(1, effectiveSecret.length - 1)]]; + } + NSData *aesKeyHash = MTSha256(aesKeyData); + aesKey = [aesKeyHash subdataWithRange:NSMakeRange(0, 32)]; + + NSMutableData *incomingAesKeyData = [[NSMutableData alloc] init]; + [incomingAesKeyData appendData:incomingAesKey]; + if (effectiveSecret.length == 16) { + [incomingAesKeyData appendData:effectiveSecret]; + } else if (effectiveSecret.length == 17) { + [incomingAesKeyData appendData:[effectiveSecret subdataWithRange:NSMakeRange(1, effectiveSecret.length - 1)]]; + } + NSData *incomingAesKeyHash = MTSha256(incomingAesKeyData); + incomingAesKey = [incomingAesKeyHash subdataWithRange:NSMakeRange(0, 32)]; + } + + MTAesCtr *outgoingAesCtr = [[MTAesCtr alloc] initWithKey:aesKey.bytes keyLength:32 iv:aesIv.bytes decrypt:false]; + MTAesCtr *incomingAesCtr = [[MTAesCtr alloc] initWithKey:incomingAesKey.bytes keyLength:32 iv:incomingAesIv.bytes decrypt:false]; + + uint8_t encryptedControlBytes[64]; + [outgoingAesCtr encryptIn:controlBytes out:encryptedControlBytes len:64]; + + uint32_t intHeader = 0; + memcpy(&intHeader, encryptedControlBytes, 4); + + if (retryCount == 9) { + assert(false); + } else { + if (intHeader == 0x44414548 || + intHeader == 0x54534f50 || + intHeader == 0x20544547 || + intHeader == 0x4954504f || + intHeader == 0xdddddddd || + intHeader == 0xeeeeeeee || + intHeader == 0x02010316) { + continue; + } + } + + NSMutableData *outData = [[NSMutableData alloc] initWithLength:64 + packetData.length]; + memcpy(outData.mutableBytes, controlBytes, 56); + memcpy(outData.mutableBytes + 56, encryptedControlBytes + 56, 8); + + [outgoingAesCtr encryptIn:packetData.bytes out:outData.mutableBytes + 64 len:packetData.length]; + + _incomingAesCtr = incomingAesCtr; + _outgoingAesCtr = outgoingAesCtr; + [completeData appendData:outData]; + + break; } - - _outgoingAesCtr = [[MTAesCtr alloc] initWithKey:aesKey.bytes keyLength:32 iv:aesIv.bytes decrypt:false]; - _incomingAesCtr = [[MTAesCtr alloc] initWithKey:incomingAesKey.bytes keyLength:32 iv:incomingAesIv.bytes decrypt:false]; - - uint8_t encryptedControlBytes[64]; - [_outgoingAesCtr encryptIn:controlBytes out:encryptedControlBytes len:64]; - - NSMutableData *outData = [[NSMutableData alloc] initWithLength:64 + packetData.length]; - memcpy(outData.mutableBytes, controlBytes, 56); - memcpy(outData.mutableBytes + 56, encryptedControlBytes + 56, 8); - - [_outgoingAesCtr encryptIn:packetData.bytes out:outData.mutableBytes + 64 len:packetData.length]; - - [completeData appendData:outData]; } else { NSMutableData *encryptedData = [[NSMutableData alloc] initWithLength:packetData.length]; [_outgoingAesCtr encryptIn:packetData.bytes out:encryptedData.mutableBytes len:packetData.length]; diff --git a/submodules/TelegramCore/TelegramCore/PendingMessageManager.swift b/submodules/TelegramCore/TelegramCore/PendingMessageManager.swift index b1c5f9530e..f3b3013918 100644 --- a/submodules/TelegramCore/TelegramCore/PendingMessageManager.swift +++ b/submodules/TelegramCore/TelegramCore/PendingMessageManager.swift @@ -18,10 +18,6 @@ import Foundation public struct PendingMessageStatus: Equatable { public let isRunning: Bool public let progress: Float - - public static func ==(lhs: PendingMessageStatus, rhs: PendingMessageStatus) -> Bool { - return lhs.isRunning == rhs.isRunning && lhs.progress.isEqual(to: rhs.progress) - } } private enum PendingMessageState { @@ -58,7 +54,8 @@ private final class PendingMessageContext { var contentType: PendingMessageUploadedContentType? = nil let activityDisposable = MetaDisposable() var status: PendingMessageStatus? - var statusSubscribers = Bag<(PendingMessageStatus?) -> Void>() + var error: PendingMessageFailureReason? + var statusSubscribers = Bag<(PendingMessageStatus?, PendingMessageFailureReason?) -> Void>() var forcedReuploadOnce: Bool = false } @@ -66,6 +63,7 @@ public enum PendingMessageFailureReason { case flood case publicBan case mediaRestricted + case slowmodeActive } private func reasonForError(_ error: String) -> PendingMessageFailureReason? { @@ -75,6 +73,8 @@ private func reasonForError(_ error: String) -> PendingMessageFailureReason? { return .publicBan } else if error.hasPrefix("CHAT_SEND_") && error.hasSuffix("_FORBIDDEN") { return .mediaRestricted + } else if error.hasPrefix("SLOWMODE_WAIT") { + return .slowmodeActive } else { return nil } @@ -202,7 +202,7 @@ public final class PendingMessageManager { if context.status != nil { context.status = nil for subscriber in context.statusSubscribers.copyItems() { - subscriber(nil) + subscriber(nil, context.error) } } @@ -261,7 +261,7 @@ public final class PendingMessageManager { } } - public func pendingMessageStatus(_ id: MessageId) -> Signal { + public func pendingMessageStatus(_ id: MessageId) -> Signal<(PendingMessageStatus?, PendingMessageFailureReason?), NoError> { return Signal { subscriber in let disposable = MetaDisposable() @@ -274,11 +274,11 @@ public final class PendingMessageManager { self.messageContexts[id] = messageContext } - let index = messageContext.statusSubscribers.add({ status in - subscriber.putNext(status) + let index = messageContext.statusSubscribers.add({ status, error in + subscriber.putNext((status, error)) }) - subscriber.putNext(messageContext.status) + subscriber.putNext((messageContext.status, messageContext.error)) disposable.set(ActionDisposable { self.queue.async { @@ -334,7 +334,7 @@ public final class PendingMessageManager { if status != messageContext.status { messageContext.status = status for subscriber in messageContext.statusSubscribers.copyItems() { - subscriber(status) + subscriber(messageContext.status, messageContext.error) } } } @@ -445,23 +445,7 @@ public final class PendingMessageManager { return .progress(1.0) } messages[0].0.sendDisposable.set((sendMessage - |> deliverOn(self.queue) - |> afterDisposed { [weak self] in - /*if let strongSelf = self { - assert(strongSelf.queue.isCurrent()) - for (_, id, _) in messages { - if let current = strongSelf.messageContexts[id] { - current.status = .none - for subscriber in current.statusSubscribers.copyItems() { - subscriber(nil) - } - if current.statusSubscribers.isEmpty { - strongSelf.messageContexts.removeValue(forKey: id) - } - } - } - }*/ - }).start()) + |> deliverOn(self.queue)).start()) } private func commitSendingSingleMessage(messageContext: PendingMessageContext, messageId: MessageId, content: PendingMessageUploadedContentAndReuploadInfo) { @@ -471,21 +455,7 @@ public final class PendingMessageManager { return .progress(1.0) } messageContext.sendDisposable.set((sendMessage - |> deliverOn(self.queue) - |> afterDisposed { [weak self] in - /*if let strongSelf = self { - assert(strongSelf.queue.isCurrent()) - if let current = strongSelf.messageContexts[messageId] { - current.status = .none - for subscriber in current.statusSubscribers.copyItems() { - subscriber(nil) - } - if current.statusSubscribers.isEmpty { - strongSelf.messageContexts.removeValue(forKey: messageId) - } - } - }*/ - }).start(next: { [weak self] next in + |> deliverOn(self.queue)).start(next: { [weak self] next in if let strongSelf = self { assert(strongSelf.queue.isCurrent()) @@ -495,7 +465,7 @@ public final class PendingMessageManager { let status = PendingMessageStatus(isRunning: true, progress: progress) current.status = status for subscriber in current.statusSubscribers.copyItems() { - subscriber(status) + subscriber(current.status, current.error) } } } @@ -513,7 +483,7 @@ public final class PendingMessageManager { let status = PendingMessageStatus(isRunning: true, progress: 0.0) messageContext.status = status for subscriber in messageContext.statusSubscribers.copyItems() { - subscriber(status) + subscriber(messageContext.status, messageContext.error) } self.addContextActivityIfNeeded(messageContext, peerId: id.peerId) @@ -548,7 +518,7 @@ public final class PendingMessageManager { let status = PendingMessageStatus(isRunning: true, progress: progress) current.status = status for subscriber in current.statusSubscribers.copyItems() { - subscriber(status) + subscriber(current.status, current.error) } } case let .content(content): @@ -582,7 +552,7 @@ public final class PendingMessageManager { let status = PendingMessageStatus(isRunning: true, progress: 0.0) context.status = status for subscriber in context.statusSubscribers.copyItems() { - subscriber(status) + subscriber(context.status, context.error) } self.addContextActivityIfNeeded(context, peerId: peerId) context.uploadDisposable.set((uploadSignal @@ -596,7 +566,7 @@ public final class PendingMessageManager { let status = PendingMessageStatus(isRunning: true, progress: progress) current.status = status for subscriber in current.statusSubscribers.copyItems() { - subscriber(status) + subscriber(context.status, context.error) } } case let .content(content): @@ -780,6 +750,15 @@ public final class PendingMessageManager { return .complete() } } else if let failureReason = reasonForError(error.errorDescription), let message = messages.first?.0 { + for (message, _) in messages { + if let context = strongSelf.messageContexts[message.id] { + context.error = failureReason + for f in context.statusSubscribers.copyItems() { + f(context.status, context.error) + } + } + } + if let context = strongSelf.peerSummaryContexts[message.id.peerId] { for subscriber in context.messageFailedSubscribers.copyItems() { subscriber(failureReason) @@ -996,6 +975,13 @@ public final class PendingMessageManager { return } } else if let failureReason = reasonForError(error.errorDescription) { + if let context = strongSelf.messageContexts[message.id] { + context.error = failureReason + for f in context.statusSubscribers.copyItems() { + f(context.status, context.error) + } + } + if let context = strongSelf.peerSummaryContexts[message.id.peerId] { for subscriber in context.messageFailedSubscribers.copyItems() { subscriber(failureReason) diff --git a/submodules/TelegramPresentationData/Sources/DefaultDarkPresentationTheme.swift b/submodules/TelegramPresentationData/Sources/DefaultDarkPresentationTheme.swift index d4cc686bd9..edac983b71 100644 --- a/submodules/TelegramPresentationData/Sources/DefaultDarkPresentationTheme.swift +++ b/submodules/TelegramPresentationData/Sources/DefaultDarkPresentationTheme.swift @@ -1,7 +1,7 @@ import Foundation import UIKit -private func makeDarkPresentationTheme(accentColor: UIColor) -> PresentationTheme { +private func makeDarkPresentationTheme(accentColor: UIColor, preview: Bool) -> PresentationTheme { let destructiveColor: UIColor = UIColor(rgb: 0xeb5545) let constructiveColor: UIColor = UIColor(rgb: 0x08a723) let secretColor: UIColor = UIColor(rgb: 0x00b12c) @@ -313,13 +313,14 @@ private func makeDarkPresentationTheme(accentColor: UIColor) -> PresentationThem chatList: chatList, chat: chat, actionSheet: actionSheet, - inAppNotification: inAppNotification + inAppNotification: inAppNotification, + preview: preview ) } -public let defaultDarkPresentationTheme = makeDarkPresentationTheme(accentColor: UIColor(rgb: 0x2ea6ff)) +public let defaultDarkPresentationTheme = makeDarkPresentationTheme(accentColor: UIColor(rgb: 0x2ea6ff), preview: false) -public func makeDarkPresentationTheme(accentColor: UIColor?) -> PresentationTheme { +public func makeDarkPresentationTheme(accentColor: UIColor?, preview: Bool) -> PresentationTheme { let accentColor = accentColor ?? defaultDayAccentColor - return makeDarkPresentationTheme(accentColor: accentColor) + return makeDarkPresentationTheme(accentColor: accentColor, preview: preview) } diff --git a/submodules/TelegramPresentationData/Sources/DefaultDarkTintedPresentationTheme.swift b/submodules/TelegramPresentationData/Sources/DefaultDarkTintedPresentationTheme.swift index df94bd83bf..9488b7a095 100644 --- a/submodules/TelegramPresentationData/Sources/DefaultDarkTintedPresentationTheme.swift +++ b/submodules/TelegramPresentationData/Sources/DefaultDarkTintedPresentationTheme.swift @@ -1,7 +1,7 @@ import Foundation import UIKit -private func makeDarkPresentationTheme(accentColor: UIColor) -> PresentationTheme { +private func makeDarkPresentationTheme(accentColor: UIColor, preview: Bool) -> PresentationTheme { let destructiveColor: UIColor = UIColor(rgb: 0xff6767) let constructiveColor: UIColor = UIColor(rgb: 0x08a723) let secretColor: UIColor = UIColor(rgb: 0x89df9e) @@ -317,13 +317,14 @@ private func makeDarkPresentationTheme(accentColor: UIColor) -> PresentationThem chatList: chatList, chat: chat, actionSheet: actionSheet, - inAppNotification: inAppNotification + inAppNotification: inAppNotification, + preview: preview ) } -public let defaultDarkAccentPresentationTheme = makeDarkAccentPresentationTheme(accentColor: UIColor(rgb: 0x2ea6ff)) +public let defaultDarkAccentPresentationTheme = makeDarkAccentPresentationTheme(accentColor: UIColor(rgb: 0x2ea6ff), preview: false) -public func makeDarkAccentPresentationTheme(accentColor: UIColor?) -> PresentationTheme { +public func makeDarkAccentPresentationTheme(accentColor: UIColor?, preview: Bool) -> PresentationTheme { let accentColor = accentColor ?? defaultDayAccentColor - return makeDarkPresentationTheme(accentColor: accentColor) + return makeDarkPresentationTheme(accentColor: accentColor, preview: preview) } diff --git a/submodules/TelegramPresentationData/Sources/DefaultDayPresentationTheme.swift b/submodules/TelegramPresentationData/Sources/DefaultDayPresentationTheme.swift index aa966f2916..80590385c3 100644 --- a/submodules/TelegramPresentationData/Sources/DefaultDayPresentationTheme.swift +++ b/submodules/TelegramPresentationData/Sources/DefaultDayPresentationTheme.swift @@ -2,7 +2,7 @@ import Foundation import UIKit import TelegramCore -private func makeDefaultDayPresentationTheme(accentColor: UIColor, serviceBackgroundColor: UIColor, day: Bool) -> PresentationTheme { +private func makeDefaultDayPresentationTheme(accentColor: UIColor, serviceBackgroundColor: UIColor, day: Bool, preview: Bool) -> PresentationTheme { let destructiveColor: UIColor = UIColor(rgb: 0xff3b30) let constructiveColor: UIColor = UIColor(rgb: 0x00c900) let secretColor: UIColor = UIColor(rgb: 0x00b12c) @@ -323,16 +323,17 @@ private func makeDefaultDayPresentationTheme(accentColor: UIColor, serviceBackgr chatList: chatList, chat: chat, actionSheet: actionSheet, - inAppNotification: inAppNotification + inAppNotification: inAppNotification, + preview: preview ) } -public let defaultPresentationTheme = makeDefaultDayPresentationTheme(accentColor: UIColor(rgb: 0x007ee5), serviceBackgroundColor: defaultServiceBackgroundColor, day: false) +public let defaultPresentationTheme = makeDefaultDayPresentationTheme(accentColor: UIColor(rgb: 0x007ee5), serviceBackgroundColor: defaultServiceBackgroundColor, day: false, preview: false) public let defaultDayAccentColor = UIColor(rgb: 0x007ee5) public let defaultServiceBackgroundColor = UIColor(rgb: 0x000000, alpha: 0.3) -public func makeDefaultDayPresentationTheme(accentColor: UIColor? = nil, serviceBackgroundColor: UIColor, day: Bool) -> PresentationTheme { +public func makeDefaultDayPresentationTheme(accentColor: UIColor? = nil, serviceBackgroundColor: UIColor, day: Bool, preview: Bool) -> PresentationTheme { let accentColor = accentColor ?? defaultDayAccentColor - return makeDefaultDayPresentationTheme(accentColor: accentColor, serviceBackgroundColor: serviceBackgroundColor, day: day) + return makeDefaultDayPresentationTheme(accentColor: accentColor, serviceBackgroundColor: serviceBackgroundColor, day: day, preview: preview) } diff --git a/submodules/TelegramPresentationData/Sources/MakePresentationTheme.swift b/submodules/TelegramPresentationData/Sources/MakePresentationTheme.swift index 2d25ba6745..cb009ad90a 100644 --- a/submodules/TelegramPresentationData/Sources/MakePresentationTheme.swift +++ b/submodules/TelegramPresentationData/Sources/MakePresentationTheme.swift @@ -2,19 +2,19 @@ import Foundation import UIKit import TelegramUIPreferences -public func makePresentationTheme(themeReference: PresentationThemeReference, accentColor: UIColor, serviceBackgroundColor: UIColor) -> PresentationTheme { +public func makePresentationTheme(themeReference: PresentationThemeReference, accentColor: UIColor, serviceBackgroundColor: UIColor, preview: Bool = false) -> PresentationTheme { let theme: PresentationTheme switch themeReference { case let .builtin(reference): switch reference { case .dayClassic: - theme = makeDefaultDayPresentationTheme(serviceBackgroundColor: serviceBackgroundColor, day: false) + theme = makeDefaultDayPresentationTheme(serviceBackgroundColor: serviceBackgroundColor, day: false, preview: preview) case .night: - theme = makeDarkPresentationTheme(accentColor: accentColor) + theme = makeDarkPresentationTheme(accentColor: accentColor, preview: preview) case .nightAccent: - theme = makeDarkAccentPresentationTheme(accentColor: accentColor) + theme = makeDarkAccentPresentationTheme(accentColor: accentColor, preview: preview) case .day: - theme = makeDefaultDayPresentationTheme(accentColor: accentColor, serviceBackgroundColor: serviceBackgroundColor, day: true) + theme = makeDefaultDayPresentationTheme(accentColor: accentColor, serviceBackgroundColor: serviceBackgroundColor, day: true, preview: preview) } } return theme diff --git a/submodules/TelegramPresentationData/Sources/PresentationStrings.swift b/submodules/TelegramPresentationData/Sources/PresentationStrings.swift index bf8e607b0d..68674434ea 100644 --- a/submodules/TelegramPresentationData/Sources/PresentationStrings.swift +++ b/submodules/TelegramPresentationData/Sources/PresentationStrings.swift @@ -1992,2391 +1992,2396 @@ public final class PresentationStrings { public var Channel_Edit_LinkItem: String { return self._s[1683]! } public var Privacy_Calls_P2PNever: String { return self._s[1684]! } public var Conversation_AddToReadingList: String { return self._s[1686]! } - public var Message_Animation: String { return self._s[1687]! } - public var Conversation_DefaultRestrictedMedia: String { return self._s[1688]! } - public var Map_Unknown: String { return self._s[1689]! } - public var AutoDownloadSettings_LastDelimeter: String { return self._s[1690]! } + public var Share_MultipleMessagesDisabled: String { return self._s[1687]! } + public var Message_Animation: String { return self._s[1688]! } + public var Conversation_DefaultRestrictedMedia: String { return self._s[1689]! } + public var Map_Unknown: String { return self._s[1690]! } + public var AutoDownloadSettings_LastDelimeter: String { return self._s[1691]! } public func PUSH_PINNED_TEXT(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1691]!, self._r[1691]!, [_1, _2]) - } - public func Passport_FieldOneOf_Or(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { return formatWithArgumentRanges(self._s[1692]!, self._r[1692]!, [_1, _2]) } - public var Call_StatusRequesting: String { return self._s[1693]! } - public var Conversation_SecretChatContextBotAlert: String { return self._s[1694]! } - public var SocksProxySetup_ProxyStatusChecking: String { return self._s[1695]! } + public func Passport_FieldOneOf_Or(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1693]!, self._r[1693]!, [_1, _2]) + } + public var Call_StatusRequesting: String { return self._s[1694]! } + public var Conversation_SecretChatContextBotAlert: String { return self._s[1695]! } + public var SocksProxySetup_ProxyStatusChecking: String { return self._s[1696]! } public func PUSH_CHAT_MESSAGE_DOC(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1696]!, self._r[1696]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1697]!, self._r[1697]!, [_1, _2]) } public func Notification_PinnedLocationMessage(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1697]!, self._r[1697]!, [_0]) + return formatWithArgumentRanges(self._s[1698]!, self._r[1698]!, [_0]) } - public var Update_Skip: String { return self._s[1698]! } - public var Group_Username_RemoveExistingUsernamesInfo: String { return self._s[1699]! } - public var Message_PinnedPollMessage: String { return self._s[1700]! } - public var BlockedUsers_Title: String { return self._s[1701]! } + public var Update_Skip: String { return self._s[1699]! } + public var Group_Username_RemoveExistingUsernamesInfo: String { return self._s[1700]! } + public var Message_PinnedPollMessage: String { return self._s[1701]! } + public var BlockedUsers_Title: String { return self._s[1702]! } public func PUSH_CHANNEL_MESSAGE_AUDIO(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1702]!, self._r[1702]!, [_1]) + return formatWithArgumentRanges(self._s[1703]!, self._r[1703]!, [_1]) } - public var Username_CheckingUsername: String { return self._s[1703]! } - public var NotificationsSound_Bell: String { return self._s[1704]! } - public var Conversation_SendMessageErrorFlood: String { return self._s[1705]! } - public var Weekday_Monday: String { return self._s[1706]! } - public var SettingsSearch_Synonyms_Notifications_DisplayNamesOnLockScreen: String { return self._s[1707]! } - public var ChannelMembers_ChannelAdminsTitle: String { return self._s[1708]! } - public var ChatSettings_Groups: String { return self._s[1709]! } - public var Your_card_was_declined: String { return self._s[1710]! } - public var TwoStepAuth_EnterPasswordHelp: String { return self._s[1712]! } - public var ChatList_Unmute: String { return self._s[1713]! } - public var PhotoEditor_CurvesAll: String { return self._s[1714]! } - public var Weekday_ShortTuesday: String { return self._s[1715]! } - public var DialogList_Read: String { return self._s[1716]! } - public var Appearance_AppIconClassic: String { return self._s[1717]! } - public var ChannelMembers_WhoCanAddMembers_AllMembers: String { return self._s[1718]! } - public var Passport_Identity_Gender: String { return self._s[1719]! } + public var Username_CheckingUsername: String { return self._s[1704]! } + public var NotificationsSound_Bell: String { return self._s[1705]! } + public var Conversation_SendMessageErrorFlood: String { return self._s[1706]! } + public var Weekday_Monday: String { return self._s[1707]! } + public var SettingsSearch_Synonyms_Notifications_DisplayNamesOnLockScreen: String { return self._s[1708]! } + public var ChannelMembers_ChannelAdminsTitle: String { return self._s[1709]! } + public var ChatSettings_Groups: String { return self._s[1710]! } + public var Your_card_was_declined: String { return self._s[1711]! } + public var TwoStepAuth_EnterPasswordHelp: String { return self._s[1713]! } + public var ChatList_Unmute: String { return self._s[1714]! } + public var PhotoEditor_CurvesAll: String { return self._s[1715]! } + public var Weekday_ShortTuesday: String { return self._s[1716]! } + public var DialogList_Read: String { return self._s[1717]! } + public var Appearance_AppIconClassic: String { return self._s[1718]! } + public var ChannelMembers_WhoCanAddMembers_AllMembers: String { return self._s[1719]! } + public var Passport_Identity_Gender: String { return self._s[1720]! } public func Target_ShareGameConfirmationPrivate(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1720]!, self._r[1720]!, [_0]) + return formatWithArgumentRanges(self._s[1721]!, self._r[1721]!, [_0]) } - public var Target_SelectGroup: String { return self._s[1721]! } + public var Target_SelectGroup: String { return self._s[1722]! } public func DialogList_EncryptedChatStartedIncoming(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1723]!, self._r[1723]!, [_0]) + return formatWithArgumentRanges(self._s[1724]!, self._r[1724]!, [_0]) } - public var Passport_Language_en: String { return self._s[1724]! } - public var AutoDownloadSettings_AutodownloadPhotos: String { return self._s[1725]! } - public var Channel_Username_CreatePublicLinkHelp: String { return self._s[1726]! } - public var Login_CancelPhoneVerificationContinue: String { return self._s[1727]! } - public var Checkout_NewCard_PaymentCard: String { return self._s[1729]! } - public var Login_InfoHelp: String { return self._s[1730]! } - public var Contacts_PermissionsSuppressWarningTitle: String { return self._s[1731]! } - public var SettingsSearch_Synonyms_Stickers_FeaturedPacks: String { return self._s[1732]! } + public var Passport_Language_en: String { return self._s[1725]! } + public var AutoDownloadSettings_AutodownloadPhotos: String { return self._s[1726]! } + public var Channel_Username_CreatePublicLinkHelp: String { return self._s[1727]! } + public var Login_CancelPhoneVerificationContinue: String { return self._s[1728]! } + public var Checkout_NewCard_PaymentCard: String { return self._s[1730]! } + public var Login_InfoHelp: String { return self._s[1731]! } + public var Contacts_PermissionsSuppressWarningTitle: String { return self._s[1732]! } + public var SettingsSearch_Synonyms_Stickers_FeaturedPacks: String { return self._s[1733]! } public func Channel_AdminLog_MessageChangedLinkedChannel(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1733]!, self._r[1733]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1734]!, self._r[1734]!, [_1, _2]) } - public var SocksProxySetup_AddProxy: String { return self._s[1736]! } - public var CreatePoll_Title: String { return self._s[1737]! } - public var SettingsSearch_Synonyms_Privacy_Data_SecretChatLinkPreview: String { return self._s[1738]! } - public var PasscodeSettings_SimplePasscodeHelp: String { return self._s[1739]! } - public var UserInfo_GroupsInCommon: String { return self._s[1740]! } - public var Call_AudioRouteHide: String { return self._s[1741]! } - public var ContactInfo_PhoneLabelMobile: String { return self._s[1743]! } + public var SocksProxySetup_AddProxy: String { return self._s[1737]! } + public var CreatePoll_Title: String { return self._s[1738]! } + public var SettingsSearch_Synonyms_Privacy_Data_SecretChatLinkPreview: String { return self._s[1739]! } + public var PasscodeSettings_SimplePasscodeHelp: String { return self._s[1740]! } + public var UserInfo_GroupsInCommon: String { return self._s[1741]! } + public var Call_AudioRouteHide: String { return self._s[1742]! } + public var ContactInfo_PhoneLabelMobile: String { return self._s[1744]! } public func ChatList_LeaveGroupConfirmation(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1744]!, self._r[1744]!, [_0]) + return formatWithArgumentRanges(self._s[1745]!, self._r[1745]!, [_0]) } - public var TextFormat_Bold: String { return self._s[1745]! } - public var FastTwoStepSetup_EmailSection: String { return self._s[1746]! } - public var Notifications_Title: String { return self._s[1747]! } - public var Group_Username_InvalidTooShort: String { return self._s[1748]! } - public var Channel_ErrorAddTooMuch: String { return self._s[1749]! } + public var TextFormat_Bold: String { return self._s[1746]! } + public var FastTwoStepSetup_EmailSection: String { return self._s[1747]! } + public var Notifications_Title: String { return self._s[1748]! } + public var Group_Username_InvalidTooShort: String { return self._s[1749]! } + public var Channel_ErrorAddTooMuch: String { return self._s[1750]! } public func DialogList_MultipleTypingSuffix(_ _0: Int) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1750]!, self._r[1750]!, ["\(_0)"]) + return formatWithArgumentRanges(self._s[1751]!, self._r[1751]!, ["\(_0)"]) } - public var Stickers_SuggestAdded: String { return self._s[1752]! } - public var Login_CountryCode: String { return self._s[1753]! } - public var ChatSettings_AutoPlayVideos: String { return self._s[1754]! } - public var Map_GetDirections: String { return self._s[1755]! } - public var Login_PhoneFloodError: String { return self._s[1756]! } + public var Stickers_SuggestAdded: String { return self._s[1753]! } + public var Login_CountryCode: String { return self._s[1754]! } + public var ChatSettings_AutoPlayVideos: String { return self._s[1755]! } + public var Map_GetDirections: String { return self._s[1756]! } + public var Login_PhoneFloodError: String { return self._s[1757]! } public func Time_MonthOfYear_m3(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1757]!, self._r[1757]!, [_0]) + return formatWithArgumentRanges(self._s[1758]!, self._r[1758]!, [_0]) } - public var Settings_SetUsername: String { return self._s[1759]! } - public var Group_Location_ChangeLocation: String { return self._s[1760]! } - public var Notification_GroupInviterSelf: String { return self._s[1761]! } - public var InstantPage_TapToOpenLink: String { return self._s[1762]! } + public var Settings_SetUsername: String { return self._s[1760]! } + public var Group_Location_ChangeLocation: String { return self._s[1761]! } + public var Notification_GroupInviterSelf: String { return self._s[1762]! } + public var InstantPage_TapToOpenLink: String { return self._s[1763]! } public func Notification_ChannelInviter(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1763]!, self._r[1763]!, [_0]) + return formatWithArgumentRanges(self._s[1764]!, self._r[1764]!, [_0]) } - public var Watch_Suggestion_TalkLater: String { return self._s[1764]! } - public var SecretChat_Title: String { return self._s[1765]! } - public var Group_UpgradeNoticeText1: String { return self._s[1766]! } - public var AuthSessions_Title: String { return self._s[1767]! } + public var Watch_Suggestion_TalkLater: String { return self._s[1765]! } + public var SecretChat_Title: String { return self._s[1766]! } + public var Group_UpgradeNoticeText1: String { return self._s[1767]! } + public var AuthSessions_Title: String { return self._s[1768]! } public func TextFormat_AddLinkText(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1768]!, self._r[1768]!, [_0]) + return formatWithArgumentRanges(self._s[1769]!, self._r[1769]!, [_0]) } - public var PhotoEditor_CropAuto: String { return self._s[1769]! } - public var Channel_About_Title: String { return self._s[1770]! } - public var FastTwoStepSetup_EmailHelp: String { return self._s[1771]! } + public var PhotoEditor_CropAuto: String { return self._s[1770]! } + public var Channel_About_Title: String { return self._s[1771]! } + public var FastTwoStepSetup_EmailHelp: String { return self._s[1772]! } public func Conversation_Bytes(_ _0: Int) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1773]!, self._r[1773]!, ["\(_0)"]) + return formatWithArgumentRanges(self._s[1774]!, self._r[1774]!, ["\(_0)"]) } - public var Conversation_PinMessageAlert_OnlyPin: String { return self._s[1775]! } - public var Group_Setup_HistoryVisibleHelp: String { return self._s[1776]! } + public var Conversation_PinMessageAlert_OnlyPin: String { return self._s[1776]! } + public var Group_Setup_HistoryVisibleHelp: String { return self._s[1777]! } public func PUSH_MESSAGE_GIF(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1777]!, self._r[1777]!, [_1]) + return formatWithArgumentRanges(self._s[1778]!, self._r[1778]!, [_1]) } public func SharedMedia_SearchNoResultsDescription(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1779]!, self._r[1779]!, [_0]) - } - public func TwoStepAuth_RecoveryEmailUnavailable(_ _0: String) -> (String, [(Int, NSRange)]) { return formatWithArgumentRanges(self._s[1780]!, self._r[1780]!, [_0]) } - public var Privacy_PaymentsClearInfoHelp: String { return self._s[1781]! } - public var Presence_online: String { return self._s[1783]! } - public var PasscodeSettings_Title: String { return self._s[1784]! } - public var Passport_Identity_ExpiryDatePlaceholder: String { return self._s[1785]! } - public var Web_OpenExternal: String { return self._s[1786]! } - public var AutoDownloadSettings_AutoDownload: String { return self._s[1788]! } - public var Channel_OwnershipTransfer_EnterPasswordText: String { return self._s[1789]! } - public var LocalGroup_Title: String { return self._s[1790]! } + public func TwoStepAuth_RecoveryEmailUnavailable(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1781]!, self._r[1781]!, [_0]) + } + public var Privacy_PaymentsClearInfoHelp: String { return self._s[1782]! } + public var Presence_online: String { return self._s[1784]! } + public var PasscodeSettings_Title: String { return self._s[1785]! } + public var Passport_Identity_ExpiryDatePlaceholder: String { return self._s[1786]! } + public var Web_OpenExternal: String { return self._s[1787]! } + public var AutoDownloadSettings_AutoDownload: String { return self._s[1789]! } + public var Channel_OwnershipTransfer_EnterPasswordText: String { return self._s[1790]! } + public var LocalGroup_Title: String { return self._s[1791]! } public func AutoNightTheme_AutomaticHelp(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1791]!, self._r[1791]!, [_0]) + return formatWithArgumentRanges(self._s[1792]!, self._r[1792]!, [_0]) } - public var FastTwoStepSetup_PasswordConfirmationPlaceholder: String { return self._s[1792]! } - public var Map_YouAreHere: String { return self._s[1793]! } + public var FastTwoStepSetup_PasswordConfirmationPlaceholder: String { return self._s[1793]! } + public var Map_YouAreHere: String { return self._s[1794]! } public func AuthSessions_Message(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1794]!, self._r[1794]!, [_0]) - } - public func ChatList_DeleteChatConfirmation(_ _0: String) -> (String, [(Int, NSRange)]) { return formatWithArgumentRanges(self._s[1795]!, self._r[1795]!, [_0]) } - public var PrivacyLastSeenSettings_AlwaysShareWith: String { return self._s[1796]! } - public var Target_InviteToGroupErrorAlreadyInvited: String { return self._s[1797]! } - public func AuthSessions_AppUnofficial(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1798]!, self._r[1798]!, [_0]) + public func ChatList_DeleteChatConfirmation(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1796]!, self._r[1796]!, [_0]) } - public func DialogList_LiveLocationSharingTo(_ _0: String) -> (String, [(Int, NSRange)]) { + public var PrivacyLastSeenSettings_AlwaysShareWith: String { return self._s[1797]! } + public var Target_InviteToGroupErrorAlreadyInvited: String { return self._s[1798]! } + public func AuthSessions_AppUnofficial(_ _0: String) -> (String, [(Int, NSRange)]) { return formatWithArgumentRanges(self._s[1799]!, self._r[1799]!, [_0]) } - public var SocksProxySetup_Username: String { return self._s[1800]! } - public var Bot_Start: String { return self._s[1801]! } - public func Channel_AdminLog_EmptyFilterQueryText(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1802]!, self._r[1802]!, [_0]) + public func DialogList_LiveLocationSharingTo(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1800]!, self._r[1800]!, [_0]) } - public func Channel_AdminLog_MessagePinned(_ _0: String) -> (String, [(Int, NSRange)]) { + public var SocksProxySetup_Username: String { return self._s[1801]! } + public var Bot_Start: String { return self._s[1802]! } + public func Channel_AdminLog_EmptyFilterQueryText(_ _0: String) -> (String, [(Int, NSRange)]) { return formatWithArgumentRanges(self._s[1803]!, self._r[1803]!, [_0]) } - public var Contacts_SortByPresence: String { return self._s[1804]! } - public var Conversation_DiscardVoiceMessageTitle: String { return self._s[1806]! } + public func Channel_AdminLog_MessagePinned(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1804]!, self._r[1804]!, [_0]) + } + public var Contacts_SortByPresence: String { return self._s[1805]! } + public var Conversation_DiscardVoiceMessageTitle: String { return self._s[1807]! } public func PUSH_CHAT_CREATED(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1807]!, self._r[1807]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1808]!, self._r[1808]!, [_1, _2]) } public func PrivacySettings_LastSeenContactsMinus(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1808]!, self._r[1808]!, [_0]) + return formatWithArgumentRanges(self._s[1809]!, self._r[1809]!, [_0]) } public func Channel_AdminLog_MessageChangedLinkedGroup(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1809]!, self._r[1809]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1810]!, self._r[1810]!, [_1, _2]) } - public var Passport_Email_EnterOtherEmail: String { return self._s[1810]! } - public var Login_InfoAvatarPhoto: String { return self._s[1811]! } - public var Privacy_PaymentsClear_ShippingInfo: String { return self._s[1812]! } - public var Tour_Title4: String { return self._s[1813]! } - public var Passport_Identity_Translation: String { return self._s[1814]! } - public var SettingsSearch_Synonyms_Notifications_ContactJoined: String { return self._s[1815]! } - public var Login_TermsOfServiceLabel: String { return self._s[1817]! } - public var Passport_Language_it: String { return self._s[1818]! } - public var KeyCommand_JumpToNextUnreadChat: String { return self._s[1819]! } - public var Passport_Identity_SelfieHelp: String { return self._s[1820]! } - public var Conversation_ClearAll: String { return self._s[1822]! } - public var Channel_OwnershipTransfer_Title: String { return self._s[1824]! } - public var TwoStepAuth_FloodError: String { return self._s[1825]! } + public var Passport_Email_EnterOtherEmail: String { return self._s[1811]! } + public var Login_InfoAvatarPhoto: String { return self._s[1812]! } + public var Privacy_PaymentsClear_ShippingInfo: String { return self._s[1813]! } + public var Tour_Title4: String { return self._s[1814]! } + public var Passport_Identity_Translation: String { return self._s[1815]! } + public var SettingsSearch_Synonyms_Notifications_ContactJoined: String { return self._s[1816]! } + public var Login_TermsOfServiceLabel: String { return self._s[1818]! } + public var Passport_Language_it: String { return self._s[1819]! } + public var KeyCommand_JumpToNextUnreadChat: String { return self._s[1820]! } + public var Passport_Identity_SelfieHelp: String { return self._s[1821]! } + public var Conversation_ClearAll: String { return self._s[1823]! } + public var Channel_OwnershipTransfer_Title: String { return self._s[1825]! } + public var TwoStepAuth_FloodError: String { return self._s[1826]! } public func PUSH_CHANNEL_MESSAGE_GEO(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1826]!, self._r[1826]!, [_1]) + return formatWithArgumentRanges(self._s[1827]!, self._r[1827]!, [_1]) } - public var Paint_Delete: String { return self._s[1827]! } - public var Privacy_AddNewPeer: String { return self._s[1828]! } + public var Paint_Delete: String { return self._s[1828]! } + public var Privacy_AddNewPeer: String { return self._s[1829]! } public func Channel_AdminLog_MessageRank(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1829]!, self._r[1829]!, [_1]) + return formatWithArgumentRanges(self._s[1830]!, self._r[1830]!, [_1]) } - public var LogoutOptions_SetPasscodeText: String { return self._s[1830]! } + public var LogoutOptions_SetPasscodeText: String { return self._s[1831]! } public func Passport_AcceptHelp(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1831]!, self._r[1831]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1832]!, self._r[1832]!, [_1, _2]) } - public var Message_PinnedAudioMessage: String { return self._s[1832]! } + public var Message_PinnedAudioMessage: String { return self._s[1833]! } public func Watch_Time_ShortTodayAt(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1833]!, self._r[1833]!, [_0]) + return formatWithArgumentRanges(self._s[1834]!, self._r[1834]!, [_0]) } - public var Notification_Mute1hMin: String { return self._s[1834]! } - public var Notifications_GroupNotificationsSound: String { return self._s[1835]! } - public var SocksProxySetup_ShareProxyList: String { return self._s[1836]! } - public var Conversation_MessageEditedLabel: String { return self._s[1837]! } - public var Notification_Exceptions_AlwaysOff: String { return self._s[1838]! } - public var Notification_Exceptions_NewException_MessagePreviewHeader: String { return self._s[1839]! } + public var Notification_Mute1hMin: String { return self._s[1835]! } + public var Notifications_GroupNotificationsSound: String { return self._s[1836]! } + public var SocksProxySetup_ShareProxyList: String { return self._s[1837]! } + public var Conversation_MessageEditedLabel: String { return self._s[1838]! } + public var Notification_Exceptions_AlwaysOff: String { return self._s[1839]! } + public var Notification_Exceptions_NewException_MessagePreviewHeader: String { return self._s[1840]! } public func Channel_AdminLog_MessageAdmin(_ _0: String, _ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1840]!, self._r[1840]!, [_0, _1, _2]) + return formatWithArgumentRanges(self._s[1841]!, self._r[1841]!, [_0, _1, _2]) } - public var NetworkUsageSettings_ResetStats: String { return self._s[1841]! } + public var NetworkUsageSettings_ResetStats: String { return self._s[1842]! } public func PUSH_MESSAGE_GEOLIVE(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1842]!, self._r[1842]!, [_1]) + return formatWithArgumentRanges(self._s[1843]!, self._r[1843]!, [_1]) } - public var AccessDenied_LocationTracking: String { return self._s[1843]! } - public var Month_GenOctober: String { return self._s[1844]! } - public var GroupInfo_InviteLink_RevokeAlert_Revoke: String { return self._s[1845]! } - public var EnterPasscode_EnterPasscode: String { return self._s[1846]! } - public var MediaPicker_TimerTooltip: String { return self._s[1848]! } - public var SharedMedia_TitleAll: String { return self._s[1849]! } - public var SettingsSearch_Synonyms_Notifications_ChannelNotificationsExceptions: String { return self._s[1852]! } - public var Conversation_RestrictedMedia: String { return self._s[1853]! } - public var AccessDenied_PhotosRestricted: String { return self._s[1854]! } - public var Privacy_Forwards_WhoCanForward: String { return self._s[1856]! } - public var ChangePhoneNumberCode_Called: String { return self._s[1857]! } + public var AccessDenied_LocationTracking: String { return self._s[1844]! } + public var Month_GenOctober: String { return self._s[1845]! } + public var GroupInfo_InviteLink_RevokeAlert_Revoke: String { return self._s[1846]! } + public var EnterPasscode_EnterPasscode: String { return self._s[1847]! } + public var MediaPicker_TimerTooltip: String { return self._s[1849]! } + public var SharedMedia_TitleAll: String { return self._s[1850]! } + public var SettingsSearch_Synonyms_Notifications_ChannelNotificationsExceptions: String { return self._s[1853]! } + public var Conversation_RestrictedMedia: String { return self._s[1854]! } + public var AccessDenied_PhotosRestricted: String { return self._s[1855]! } + public var Privacy_Forwards_WhoCanForward: String { return self._s[1857]! } + public var ChangePhoneNumberCode_Called: String { return self._s[1858]! } public func Notification_PinnedDocumentMessage(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1858]!, self._r[1858]!, [_0]) + return formatWithArgumentRanges(self._s[1859]!, self._r[1859]!, [_0]) } - public var Conversation_SavedMessages: String { return self._s[1861]! } - public var Your_cards_expiration_month_is_invalid: String { return self._s[1863]! } - public var FastTwoStepSetup_PasswordPlaceholder: String { return self._s[1864]! } + public var Conversation_SavedMessages: String { return self._s[1862]! } + public var Your_cards_expiration_month_is_invalid: String { return self._s[1864]! } + public var FastTwoStepSetup_PasswordPlaceholder: String { return self._s[1865]! } public func Target_ShareGameConfirmationGroup(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1866]!, self._r[1866]!, [_0]) + return formatWithArgumentRanges(self._s[1867]!, self._r[1867]!, [_0]) } - public var ReportPeer_AlertSuccess: String { return self._s[1867]! } - public var PhotoEditor_CropAspectRatioOriginal: String { return self._s[1868]! } + public var ReportPeer_AlertSuccess: String { return self._s[1868]! } + public var PhotoEditor_CropAspectRatioOriginal: String { return self._s[1869]! } public func InstantPage_RelatedArticleAuthorAndDateTitle(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1869]!, self._r[1869]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1870]!, self._r[1870]!, [_1, _2]) } - public var Checkout_PasswordEntry_Title: String { return self._s[1870]! } - public var PhotoEditor_FadeTool: String { return self._s[1871]! } - public var Privacy_ContactsReset: String { return self._s[1872]! } + public var Checkout_PasswordEntry_Title: String { return self._s[1871]! } + public var PhotoEditor_FadeTool: String { return self._s[1872]! } + public var Privacy_ContactsReset: String { return self._s[1873]! } public func Channel_AdminLog_MessageRestrictedUntil(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1874]!, self._r[1874]!, [_0]) + return formatWithArgumentRanges(self._s[1875]!, self._r[1875]!, [_0]) } - public var Message_PinnedVideoMessage: String { return self._s[1875]! } - public var ChatList_Mute: String { return self._s[1876]! } - public var Permissions_CellularDataText_v0: String { return self._s[1877]! } - public var ShareMenu_SelectChats: String { return self._s[1879]! } - public var MusicPlayer_VoiceNote: String { return self._s[1880]! } - public var Conversation_RestrictedText: String { return self._s[1881]! } - public var SettingsSearch_Synonyms_Privacy_Data_DeleteDrafts: String { return self._s[1882]! } - public var TwoStepAuth_DisableSuccess: String { return self._s[1883]! } - public var Cache_Videos: String { return self._s[1884]! } - public var PrivacySettings_PhoneNumber: String { return self._s[1885]! } - public var FeatureDisabled_Oops: String { return self._s[1887]! } - public var Passport_Address_PostcodePlaceholder: String { return self._s[1888]! } + public var Message_PinnedVideoMessage: String { return self._s[1876]! } + public var ChatList_Mute: String { return self._s[1877]! } + public var Permissions_CellularDataText_v0: String { return self._s[1878]! } + public var ShareMenu_SelectChats: String { return self._s[1880]! } + public var MusicPlayer_VoiceNote: String { return self._s[1881]! } + public var Conversation_RestrictedText: String { return self._s[1882]! } + public var SettingsSearch_Synonyms_Privacy_Data_DeleteDrafts: String { return self._s[1883]! } + public var TwoStepAuth_DisableSuccess: String { return self._s[1884]! } + public var Cache_Videos: String { return self._s[1885]! } + public var PrivacySettings_PhoneNumber: String { return self._s[1886]! } + public var FeatureDisabled_Oops: String { return self._s[1888]! } + public var Passport_Address_PostcodePlaceholder: String { return self._s[1889]! } public func AddContact_StatusSuccess(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1889]!, self._r[1889]!, [_0]) + return formatWithArgumentRanges(self._s[1890]!, self._r[1890]!, [_0]) } - public var Stickers_GroupStickersHelp: String { return self._s[1890]! } - public var GroupPermission_NoSendPolls: String { return self._s[1891]! } - public var Message_VideoExpired: String { return self._s[1893]! } - public var Notifications_Badge: String { return self._s[1894]! } - public var GroupInfo_GroupHistoryVisible: String { return self._s[1895]! } - public var CreatePoll_OptionPlaceholder: String { return self._s[1896]! } - public var Username_InvalidTooShort: String { return self._s[1897]! } - public var EnterPasscode_EnterNewPasscodeChange: String { return self._s[1898]! } - public var Channel_AdminLog_PinMessages: String { return self._s[1899]! } - public var ArchivedChats_IntroTitle3: String { return self._s[1900]! } + public var Stickers_GroupStickersHelp: String { return self._s[1891]! } + public var GroupPermission_NoSendPolls: String { return self._s[1892]! } + public var Message_VideoExpired: String { return self._s[1894]! } + public var Notifications_Badge: String { return self._s[1895]! } + public var GroupInfo_GroupHistoryVisible: String { return self._s[1896]! } + public var CreatePoll_OptionPlaceholder: String { return self._s[1897]! } + public var Username_InvalidTooShort: String { return self._s[1898]! } + public var EnterPasscode_EnterNewPasscodeChange: String { return self._s[1899]! } + public var Channel_AdminLog_PinMessages: String { return self._s[1900]! } + public var ArchivedChats_IntroTitle3: String { return self._s[1901]! } public func Notification_MessageLifetimeRemoved(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1901]!, self._r[1901]!, [_1]) + return formatWithArgumentRanges(self._s[1902]!, self._r[1902]!, [_1]) } - public var Permissions_SiriAllowInSettings_v0: String { return self._s[1902]! } - public var Conversation_DefaultRestrictedText: String { return self._s[1903]! } - public var SharedMedia_CategoryDocs: String { return self._s[1906]! } + public var Permissions_SiriAllowInSettings_v0: String { return self._s[1903]! } + public var Conversation_DefaultRestrictedText: String { return self._s[1904]! } + public var SharedMedia_CategoryDocs: String { return self._s[1907]! } public func PUSH_MESSAGE_CONTACT(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1907]!, self._r[1907]!, [_1]) + return formatWithArgumentRanges(self._s[1908]!, self._r[1908]!, [_1]) } - public var Privacy_Forwards_NeverLink: String { return self._s[1909]! } + public var Privacy_Forwards_NeverLink: String { return self._s[1910]! } public func Notification_MessageLifetimeChangedOutgoing(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1910]!, self._r[1910]!, [_1]) + return formatWithArgumentRanges(self._s[1911]!, self._r[1911]!, [_1]) } - public var CheckoutInfo_ErrorShippingNotAvailable: String { return self._s[1911]! } + public var CheckoutInfo_ErrorShippingNotAvailable: String { return self._s[1912]! } public func Time_MonthOfYear_m12(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1912]!, self._r[1912]!, [_0]) + return formatWithArgumentRanges(self._s[1913]!, self._r[1913]!, [_0]) } - public var ChatSettings_PrivateChats: String { return self._s[1913]! } - public var SettingsSearch_Synonyms_EditProfile_Logout: String { return self._s[1914]! } - public var Conversation_PrivateMessageLinkCopied: String { return self._s[1915]! } - public var Channel_UpdatePhotoItem: String { return self._s[1916]! } - public var GroupInfo_LeftStatus: String { return self._s[1917]! } - public var Watch_MessageView_Forward: String { return self._s[1919]! } - public var ReportPeer_ReasonChildAbuse: String { return self._s[1920]! } - public var Cache_ClearEmpty: String { return self._s[1922]! } - public var Localization_LanguageName: String { return self._s[1923]! } - public var WebSearch_GIFs: String { return self._s[1924]! } - public var Notifications_DisplayNamesOnLockScreenInfoWithLink: String { return self._s[1925]! } - public var Username_InvalidStartsWithNumber: String { return self._s[1926]! } - public var Common_Back: String { return self._s[1927]! } - public var Passport_Identity_DateOfBirthPlaceholder: String { return self._s[1928]! } + public var ChatSettings_PrivateChats: String { return self._s[1914]! } + public var SettingsSearch_Synonyms_EditProfile_Logout: String { return self._s[1915]! } + public var Conversation_PrivateMessageLinkCopied: String { return self._s[1916]! } + public var Channel_UpdatePhotoItem: String { return self._s[1917]! } + public var GroupInfo_LeftStatus: String { return self._s[1918]! } + public var Watch_MessageView_Forward: String { return self._s[1920]! } + public var ReportPeer_ReasonChildAbuse: String { return self._s[1921]! } + public var Cache_ClearEmpty: String { return self._s[1923]! } + public var Localization_LanguageName: String { return self._s[1924]! } + public var WebSearch_GIFs: String { return self._s[1925]! } + public var Notifications_DisplayNamesOnLockScreenInfoWithLink: String { return self._s[1926]! } + public var Username_InvalidStartsWithNumber: String { return self._s[1927]! } + public var Common_Back: String { return self._s[1928]! } + public var Passport_Identity_DateOfBirthPlaceholder: String { return self._s[1929]! } public func PUSH_CHANNEL_MESSAGE_STICKER(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1929]!, self._r[1929]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1930]!, self._r[1930]!, [_1, _2]) } - public var Passport_Email_Help: String { return self._s[1930]! } - public var Watch_Conversation_Reply: String { return self._s[1932]! } - public var Conversation_EditingMessageMediaChange: String { return self._s[1934]! } - public var Passport_Identity_IssueDatePlaceholder: String { return self._s[1935]! } - public var Channel_BanUser_Unban: String { return self._s[1937]! } - public var Channel_EditAdmin_PermissionPostMessages: String { return self._s[1938]! } - public var Group_Username_CreatePublicLinkHelp: String { return self._s[1939]! } - public var TwoStepAuth_ConfirmEmailCodePlaceholder: String { return self._s[1941]! } - public var Passport_Identity_Name: String { return self._s[1942]! } + public var Passport_Email_Help: String { return self._s[1931]! } + public var Watch_Conversation_Reply: String { return self._s[1933]! } + public var Conversation_EditingMessageMediaChange: String { return self._s[1935]! } + public var Passport_Identity_IssueDatePlaceholder: String { return self._s[1936]! } + public var Channel_BanUser_Unban: String { return self._s[1938]! } + public var Channel_EditAdmin_PermissionPostMessages: String { return self._s[1939]! } + public var Group_Username_CreatePublicLinkHelp: String { return self._s[1940]! } + public var TwoStepAuth_ConfirmEmailCodePlaceholder: String { return self._s[1942]! } + public var Passport_Identity_Name: String { return self._s[1943]! } public func Channel_DiscussionGroup_HeaderGroupSet(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1943]!, self._r[1943]!, [_0]) + return formatWithArgumentRanges(self._s[1944]!, self._r[1944]!, [_0]) } - public var GroupRemoved_ViewUserInfo: String { return self._s[1944]! } - public var Conversation_BlockUser: String { return self._s[1945]! } - public var Month_GenJanuary: String { return self._s[1946]! } - public var ChatSettings_TextSize: String { return self._s[1947]! } - public var Notification_PassportValuePhone: String { return self._s[1948]! } - public var Passport_Language_ne: String { return self._s[1949]! } - public var Notification_CallBack: String { return self._s[1950]! } - public var TwoStepAuth_EmailHelp: String { return self._s[1951]! } + public var GroupRemoved_ViewUserInfo: String { return self._s[1945]! } + public var Conversation_BlockUser: String { return self._s[1946]! } + public var Month_GenJanuary: String { return self._s[1947]! } + public var ChatSettings_TextSize: String { return self._s[1948]! } + public var Notification_PassportValuePhone: String { return self._s[1949]! } + public var Passport_Language_ne: String { return self._s[1950]! } + public var Notification_CallBack: String { return self._s[1951]! } + public var TwoStepAuth_EmailHelp: String { return self._s[1952]! } public func Time_YesterdayAt(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1952]!, self._r[1952]!, [_0]) + return formatWithArgumentRanges(self._s[1953]!, self._r[1953]!, [_0]) } - public var Channel_Info_Management: String { return self._s[1953]! } - public var Passport_FieldIdentityUploadHelp: String { return self._s[1954]! } - public var Stickers_FrequentlyUsed: String { return self._s[1955]! } - public var Channel_BanUser_PermissionSendMessages: String { return self._s[1956]! } - public var Passport_Address_OneOfTypeUtilityBill: String { return self._s[1958]! } + public var Channel_Info_Management: String { return self._s[1954]! } + public var Passport_FieldIdentityUploadHelp: String { return self._s[1955]! } + public var Stickers_FrequentlyUsed: String { return self._s[1956]! } + public var Channel_BanUser_PermissionSendMessages: String { return self._s[1957]! } + public var Passport_Address_OneOfTypeUtilityBill: String { return self._s[1959]! } public func LOCAL_CHANNEL_MESSAGE_FWDS(_ _1: String, _ _2: Int) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1959]!, self._r[1959]!, [_1, "\(_2)"]) + return formatWithArgumentRanges(self._s[1960]!, self._r[1960]!, [_1, "\(_2)"]) } - public var Passport_Address_EditResidentialAddress: String { return self._s[1960]! } - public var PrivacyPolicy_DeclineTitle: String { return self._s[1961]! } - public var CreatePoll_TextHeader: String { return self._s[1962]! } + public var Passport_Address_EditResidentialAddress: String { return self._s[1961]! } + public var PrivacyPolicy_DeclineTitle: String { return self._s[1962]! } + public var CreatePoll_TextHeader: String { return self._s[1963]! } public func Checkout_SavePasswordTimeoutAndTouchId(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1963]!, self._r[1963]!, [_0]) + return formatWithArgumentRanges(self._s[1964]!, self._r[1964]!, [_0]) } - public var PhotoEditor_QualityMedium: String { return self._s[1964]! } - public var InfoPlist_NSMicrophoneUsageDescription: String { return self._s[1965]! } - public var Conversation_StatusKickedFromChannel: String { return self._s[1967]! } - public var CheckoutInfo_ReceiverInfoName: String { return self._s[1968]! } - public var Group_ErrorSendRestrictedStickers: String { return self._s[1969]! } + public var PhotoEditor_QualityMedium: String { return self._s[1965]! } + public var InfoPlist_NSMicrophoneUsageDescription: String { return self._s[1966]! } + public var Conversation_StatusKickedFromChannel: String { return self._s[1968]! } + public var CheckoutInfo_ReceiverInfoName: String { return self._s[1969]! } + public var Group_ErrorSendRestrictedStickers: String { return self._s[1970]! } public func Conversation_RestrictedInlineTimed(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1970]!, self._r[1970]!, [_0]) + return formatWithArgumentRanges(self._s[1971]!, self._r[1971]!, [_0]) } public func Channel_AdminLog_MessageTransferedName(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1971]!, self._r[1971]!, [_1]) + return formatWithArgumentRanges(self._s[1972]!, self._r[1972]!, [_1]) } - public var Conversation_LinkDialogOpen: String { return self._s[1973]! } - public var Settings_Username: String { return self._s[1974]! } - public var Conversation_Block: String { return self._s[1976]! } - public var Wallpaper_Wallpaper: String { return self._s[1977]! } - public var SocksProxySetup_UseProxy: String { return self._s[1979]! } - public var UserInfo_ShareMyContactInfo: String { return self._s[1980]! } - public var MessageTimer_Forever: String { return self._s[1981]! } - public var Privacy_Calls_WhoCanCallMe: String { return self._s[1982]! } - public var PhotoEditor_DiscardChanges: String { return self._s[1983]! } - public var AuthSessions_TerminateOtherSessionsHelp: String { return self._s[1984]! } - public var Passport_Language_da: String { return self._s[1985]! } - public var SocksProxySetup_PortPlaceholder: String { return self._s[1986]! } + public var Conversation_LinkDialogOpen: String { return self._s[1974]! } + public var Settings_Username: String { return self._s[1975]! } + public var Conversation_Block: String { return self._s[1977]! } + public var Wallpaper_Wallpaper: String { return self._s[1978]! } + public var SocksProxySetup_UseProxy: String { return self._s[1980]! } + public var UserInfo_ShareMyContactInfo: String { return self._s[1981]! } + public var MessageTimer_Forever: String { return self._s[1982]! } + public var Privacy_Calls_WhoCanCallMe: String { return self._s[1983]! } + public var PhotoEditor_DiscardChanges: String { return self._s[1984]! } + public var AuthSessions_TerminateOtherSessionsHelp: String { return self._s[1985]! } + public var Passport_Language_da: String { return self._s[1986]! } + public var SocksProxySetup_PortPlaceholder: String { return self._s[1987]! } public func SecretGIF_NotViewedYet(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1987]!, self._r[1987]!, [_0]) + return formatWithArgumentRanges(self._s[1988]!, self._r[1988]!, [_0]) } - public var Passport_Address_EditPassportRegistration: String { return self._s[1988]! } + public var Passport_Address_EditPassportRegistration: String { return self._s[1989]! } public func Channel_AdminLog_MessageChangedGroupAbout(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1990]!, self._r[1990]!, [_0]) + return formatWithArgumentRanges(self._s[1991]!, self._r[1991]!, [_0]) } - public var Passport_Identity_ResidenceCountryPlaceholder: String { return self._s[1992]! } - public var Conversation_SearchByName_Prefix: String { return self._s[1993]! } - public var Conversation_PinnedPoll: String { return self._s[1994]! } - public var Conversation_EmptyGifPanelPlaceholder: String { return self._s[1995]! } + public var Passport_Identity_ResidenceCountryPlaceholder: String { return self._s[1993]! } + public var Conversation_SearchByName_Prefix: String { return self._s[1994]! } + public var Conversation_PinnedPoll: String { return self._s[1995]! } + public var Conversation_EmptyGifPanelPlaceholder: String { return self._s[1996]! } public func PUSH_ENCRYPTION_ACCEPT(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1996]!, self._r[1996]!, [_1]) + return formatWithArgumentRanges(self._s[1997]!, self._r[1997]!, [_1]) } - public var WallpaperSearch_ColorPurple: String { return self._s[1997]! } - public var Cache_ByPeerHeader: String { return self._s[1998]! } + public var WallpaperSearch_ColorPurple: String { return self._s[1998]! } + public var Cache_ByPeerHeader: String { return self._s[1999]! } public func Conversation_EncryptedPlaceholderTitleIncoming(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1999]!, self._r[1999]!, [_0]) + return formatWithArgumentRanges(self._s[2000]!, self._r[2000]!, [_0]) } - public var ChatSettings_AutoDownloadDocuments: String { return self._s[2000]! } - public var Notification_PinnedMessage: String { return self._s[2003]! } - public var Contacts_SortBy: String { return self._s[2005]! } + public var ChatSettings_AutoDownloadDocuments: String { return self._s[2001]! } + public var Notification_PinnedMessage: String { return self._s[2004]! } + public var Contacts_SortBy: String { return self._s[2006]! } public func PUSH_CHANNEL_MESSAGE_NOTEXT(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2006]!, self._r[2006]!, [_1]) + return formatWithArgumentRanges(self._s[2007]!, self._r[2007]!, [_1]) } public func PUSH_MESSAGE_GAME(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2008]!, self._r[2008]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2009]!, self._r[2009]!, [_1, _2]) } - public var Call_EncryptionKey_Title: String { return self._s[2009]! } - public var Watch_UserInfo_Service: String { return self._s[2010]! } - public var SettingsSearch_Synonyms_Data_SaveEditedPhotos: String { return self._s[2012]! } - public var Conversation_Unpin: String { return self._s[2014]! } - public var CancelResetAccount_Title: String { return self._s[2015]! } - public var Map_LiveLocationFor15Minutes: String { return self._s[2016]! } + public var Call_EncryptionKey_Title: String { return self._s[2010]! } + public var Watch_UserInfo_Service: String { return self._s[2011]! } + public var SettingsSearch_Synonyms_Data_SaveEditedPhotos: String { return self._s[2013]! } + public var Conversation_Unpin: String { return self._s[2015]! } + public var CancelResetAccount_Title: String { return self._s[2016]! } + public var Map_LiveLocationFor15Minutes: String { return self._s[2017]! } public func Time_PreciseDate_m8(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2018]!, self._r[2018]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[2019]!, self._r[2019]!, [_1, _2, _3]) } - public var Group_Members_AddMemberBotErrorNotAllowed: String { return self._s[2019]! } - public var CallSettings_Title: String { return self._s[2020]! } - public var SettingsSearch_Synonyms_Appearance_ChatBackground: String { return self._s[2021]! } - public var PasscodeSettings_EncryptDataHelp: String { return self._s[2023]! } - public var AutoDownloadSettings_Contacts: String { return self._s[2024]! } + public var Group_Members_AddMemberBotErrorNotAllowed: String { return self._s[2020]! } + public var CallSettings_Title: String { return self._s[2021]! } + public var SettingsSearch_Synonyms_Appearance_ChatBackground: String { return self._s[2022]! } + public var PasscodeSettings_EncryptDataHelp: String { return self._s[2024]! } + public var AutoDownloadSettings_Contacts: String { return self._s[2025]! } public func Channel_AdminLog_MessageRankName(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2025]!, self._r[2025]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2026]!, self._r[2026]!, [_1, _2]) } - public var Passport_Identity_DocumentDetails: String { return self._s[2026]! } - public var LoginPassword_PasswordHelp: String { return self._s[2027]! } - public var SettingsSearch_Synonyms_Data_AutoDownloadUsingWifi: String { return self._s[2028]! } - public var PrivacyLastSeenSettings_CustomShareSettings_Delete: String { return self._s[2029]! } - public var Checkout_TotalPaidAmount: String { return self._s[2030]! } + public var Passport_Identity_DocumentDetails: String { return self._s[2027]! } + public var LoginPassword_PasswordHelp: String { return self._s[2028]! } + public var SettingsSearch_Synonyms_Data_AutoDownloadUsingWifi: String { return self._s[2029]! } + public var PrivacyLastSeenSettings_CustomShareSettings_Delete: String { return self._s[2030]! } + public var Checkout_TotalPaidAmount: String { return self._s[2031]! } public func FileSize_KB(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2031]!, self._r[2031]!, [_0]) + return formatWithArgumentRanges(self._s[2032]!, self._r[2032]!, [_0]) } - public var PasscodeSettings_ChangePasscode: String { return self._s[2032]! } - public var Conversation_SecretLinkPreviewAlert: String { return self._s[2034]! } - public var Privacy_SecretChatsLinkPreviews: String { return self._s[2035]! } + public var PasscodeSettings_ChangePasscode: String { return self._s[2033]! } + public var Conversation_SecretLinkPreviewAlert: String { return self._s[2035]! } + public var Privacy_SecretChatsLinkPreviews: String { return self._s[2036]! } public func PUSH_CHANNEL_MESSAGE_DOC(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2036]!, self._r[2036]!, [_1]) + return formatWithArgumentRanges(self._s[2037]!, self._r[2037]!, [_1]) } - public var Contacts_InviteFriends: String { return self._s[2038]! } - public var Map_ChooseLocationTitle: String { return self._s[2039]! } - public var Conversation_StopPoll: String { return self._s[2041]! } + public var Contacts_InviteFriends: String { return self._s[2039]! } + public var Map_ChooseLocationTitle: String { return self._s[2040]! } + public var Conversation_StopPoll: String { return self._s[2042]! } public func WebSearch_SearchNoResultsDescription(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2042]!, self._r[2042]!, [_0]) + return formatWithArgumentRanges(self._s[2043]!, self._r[2043]!, [_0]) } - public var Call_Camera: String { return self._s[2043]! } - public var LogoutOptions_ChangePhoneNumberTitle: String { return self._s[2044]! } - public var Calls_RatingFeedback: String { return self._s[2045]! } - public var GroupInfo_BroadcastListNamePlaceholder: String { return self._s[2046]! } - public var NotificationsSound_Pulse: String { return self._s[2047]! } - public var Watch_LastSeen_Lately: String { return self._s[2048]! } - public var ReportGroupLocation_Report: String { return self._s[2051]! } - public var Widget_NoUsers: String { return self._s[2052]! } - public var Conversation_UnvotePoll: String { return self._s[2053]! } - public var SettingsSearch_Synonyms_Privacy_ProfilePhoto: String { return self._s[2055]! } - public var Privacy_ProfilePhoto_WhoCanSeeMyPhoto: String { return self._s[2056]! } - public var NotificationsSound_Circles: String { return self._s[2057]! } - public var PrivacyLastSeenSettings_AlwaysShareWith_Title: String { return self._s[2059]! } - public var TwoStepAuth_RecoveryCodeExpired: String { return self._s[2060]! } - public var Proxy_TooltipUnavailable: String { return self._s[2061]! } - public var Passport_Identity_CountryPlaceholder: String { return self._s[2063]! } - public var GroupInfo_Permissions_SlowmodeInfo: String { return self._s[2065]! } - public var Conversation_FileDropbox: String { return self._s[2066]! } - public var Notifications_ExceptionsUnmuted: String { return self._s[2067]! } - public var Tour_Text3: String { return self._s[2069]! } - public var Login_ResetAccountProtected_Title: String { return self._s[2071]! } - public var GroupPermission_NoSendMessages: String { return self._s[2072]! } - public var WallpaperSearch_ColorTitle: String { return self._s[2073]! } - public var ChatAdmins_AllMembersAreAdminsOnHelp: String { return self._s[2074]! } + public var Call_Camera: String { return self._s[2044]! } + public var LogoutOptions_ChangePhoneNumberTitle: String { return self._s[2045]! } + public var Calls_RatingFeedback: String { return self._s[2046]! } + public var GroupInfo_BroadcastListNamePlaceholder: String { return self._s[2047]! } + public var NotificationsSound_Pulse: String { return self._s[2048]! } + public var Watch_LastSeen_Lately: String { return self._s[2049]! } + public var ReportGroupLocation_Report: String { return self._s[2052]! } + public var Widget_NoUsers: String { return self._s[2053]! } + public var Conversation_UnvotePoll: String { return self._s[2054]! } + public var SettingsSearch_Synonyms_Privacy_ProfilePhoto: String { return self._s[2056]! } + public var Privacy_ProfilePhoto_WhoCanSeeMyPhoto: String { return self._s[2057]! } + public var NotificationsSound_Circles: String { return self._s[2058]! } + public var PrivacyLastSeenSettings_AlwaysShareWith_Title: String { return self._s[2060]! } + public var TwoStepAuth_RecoveryCodeExpired: String { return self._s[2061]! } + public var Proxy_TooltipUnavailable: String { return self._s[2062]! } + public var Passport_Identity_CountryPlaceholder: String { return self._s[2064]! } + public var GroupInfo_Permissions_SlowmodeInfo: String { return self._s[2066]! } + public var Conversation_FileDropbox: String { return self._s[2067]! } + public var Notifications_ExceptionsUnmuted: String { return self._s[2068]! } + public var Tour_Text3: String { return self._s[2070]! } + public var Login_ResetAccountProtected_Title: String { return self._s[2072]! } + public var GroupPermission_NoSendMessages: String { return self._s[2073]! } + public var WallpaperSearch_ColorTitle: String { return self._s[2074]! } + public var ChatAdmins_AllMembersAreAdminsOnHelp: String { return self._s[2075]! } public func Conversation_LiveLocationYouAnd(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2076]!, self._r[2076]!, [_0]) + return formatWithArgumentRanges(self._s[2077]!, self._r[2077]!, [_0]) } - public var GroupInfo_AddParticipantTitle: String { return self._s[2077]! } - public var Checkout_ShippingOption_Title: String { return self._s[2078]! } - public var ChatSettings_AutoDownloadTitle: String { return self._s[2079]! } + public var GroupInfo_AddParticipantTitle: String { return self._s[2078]! } + public var Checkout_ShippingOption_Title: String { return self._s[2079]! } + public var ChatSettings_AutoDownloadTitle: String { return self._s[2080]! } public func DialogList_SingleTypingSuffix(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2080]!, self._r[2080]!, [_0]) - } - public func ChatSettings_AutoDownloadSettings_TypeVideo(_ _0: String) -> (String, [(Int, NSRange)]) { return formatWithArgumentRanges(self._s[2081]!, self._r[2081]!, [_0]) } - public var Channel_Management_LabelAdministrator: String { return self._s[2082]! } - public var OwnershipTransfer_ComeBackLater: String { return self._s[2083]! } - public var PrivacyLastSeenSettings_NeverShareWith_Placeholder: String { return self._s[2084]! } - public var AutoDownloadSettings_Photos: String { return self._s[2086]! } - public var Appearance_PreviewIncomingText: String { return self._s[2087]! } - public var ChannelInfo_ConfirmLeave: String { return self._s[2088]! } - public var MediaPicker_MomentsDateRangeSameMonthYearFormat: String { return self._s[2089]! } - public var Passport_Identity_DocumentNumberPlaceholder: String { return self._s[2090]! } - public var Channel_AdminLogFilter_EventsNewMembers: String { return self._s[2091]! } - public var PasscodeSettings_AutoLock_IfAwayFor_5minutes: String { return self._s[2092]! } - public var GroupInfo_SetGroupPhotoStop: String { return self._s[2093]! } - public var Notification_SecretChatScreenshot: String { return self._s[2094]! } - public var AccessDenied_Wallpapers: String { return self._s[2095]! } - public var Passport_Address_City: String { return self._s[2097]! } - public var InfoPlist_NSPhotoLibraryAddUsageDescription: String { return self._s[2098]! } - public var Appearance_ThemeCarouselClassic: String { return self._s[2099]! } - public var SocksProxySetup_SecretPlaceholder: String { return self._s[2100]! } - public var AccessDenied_LocationDisabled: String { return self._s[2101]! } - public var Group_Location_Title: String { return self._s[2102]! } - public var SocksProxySetup_HostnamePlaceholder: String { return self._s[2104]! } - public var GroupInfo_Sound: String { return self._s[2105]! } - public var ChannelInfo_ScamChannelWarning: String { return self._s[2106]! } - public var Stickers_RemoveFromFavorites: String { return self._s[2107]! } - public var Contacts_Title: String { return self._s[2108]! } - public var Passport_Language_fr: String { return self._s[2109]! } - public var Notifications_ResetAllNotifications: String { return self._s[2110]! } - public var PrivacySettings_SecurityTitle: String { return self._s[2113]! } - public var Checkout_NewCard_Title: String { return self._s[2114]! } - public var Login_HaveNotReceivedCodeInternal: String { return self._s[2115]! } - public var Conversation_ForwardChats: String { return self._s[2116]! } - public var PasscodeSettings_4DigitCode: String { return self._s[2118]! } - public var Settings_FAQ: String { return self._s[2120]! } - public var AutoDownloadSettings_DocumentsTitle: String { return self._s[2121]! } - public var Conversation_ContextMenuForward: String { return self._s[2122]! } - public var PrivacyPolicy_Title: String { return self._s[2127]! } - public var Notifications_TextTone: String { return self._s[2128]! } - public var Profile_CreateNewContact: String { return self._s[2129]! } - public var PrivacyPhoneNumberSettings_WhoCanSeeMyPhoneNumber: String { return self._s[2130]! } - public var Call_Speaker: String { return self._s[2132]! } - public var AutoNightTheme_AutomaticSection: String { return self._s[2133]! } - public var Channel_OwnershipTransfer_EnterPassword: String { return self._s[2135]! } - public var Channel_Username_InvalidCharacters: String { return self._s[2136]! } + public func ChatSettings_AutoDownloadSettings_TypeVideo(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2082]!, self._r[2082]!, [_0]) + } + public var Channel_Management_LabelAdministrator: String { return self._s[2083]! } + public var OwnershipTransfer_ComeBackLater: String { return self._s[2084]! } + public var PrivacyLastSeenSettings_NeverShareWith_Placeholder: String { return self._s[2085]! } + public var AutoDownloadSettings_Photos: String { return self._s[2087]! } + public var Appearance_PreviewIncomingText: String { return self._s[2088]! } + public var ChannelInfo_ConfirmLeave: String { return self._s[2089]! } + public var MediaPicker_MomentsDateRangeSameMonthYearFormat: String { return self._s[2090]! } + public var Passport_Identity_DocumentNumberPlaceholder: String { return self._s[2091]! } + public var Channel_AdminLogFilter_EventsNewMembers: String { return self._s[2092]! } + public var PasscodeSettings_AutoLock_IfAwayFor_5minutes: String { return self._s[2093]! } + public var GroupInfo_SetGroupPhotoStop: String { return self._s[2094]! } + public var Notification_SecretChatScreenshot: String { return self._s[2095]! } + public var AccessDenied_Wallpapers: String { return self._s[2096]! } + public var Passport_Address_City: String { return self._s[2098]! } + public var InfoPlist_NSPhotoLibraryAddUsageDescription: String { return self._s[2099]! } + public var Appearance_ThemeCarouselClassic: String { return self._s[2100]! } + public var SocksProxySetup_SecretPlaceholder: String { return self._s[2101]! } + public var AccessDenied_LocationDisabled: String { return self._s[2102]! } + public var Group_Location_Title: String { return self._s[2103]! } + public var SocksProxySetup_HostnamePlaceholder: String { return self._s[2105]! } + public var GroupInfo_Sound: String { return self._s[2106]! } + public var ChannelInfo_ScamChannelWarning: String { return self._s[2107]! } + public var Stickers_RemoveFromFavorites: String { return self._s[2108]! } + public var Contacts_Title: String { return self._s[2109]! } + public var Passport_Language_fr: String { return self._s[2110]! } + public var Notifications_ResetAllNotifications: String { return self._s[2111]! } + public var PrivacySettings_SecurityTitle: String { return self._s[2114]! } + public var Checkout_NewCard_Title: String { return self._s[2115]! } + public var Login_HaveNotReceivedCodeInternal: String { return self._s[2116]! } + public var Conversation_ForwardChats: String { return self._s[2117]! } + public var PasscodeSettings_4DigitCode: String { return self._s[2119]! } + public var Settings_FAQ: String { return self._s[2121]! } + public var AutoDownloadSettings_DocumentsTitle: String { return self._s[2122]! } + public var Conversation_ContextMenuForward: String { return self._s[2123]! } + public var PrivacyPolicy_Title: String { return self._s[2128]! } + public var Notifications_TextTone: String { return self._s[2129]! } + public var Profile_CreateNewContact: String { return self._s[2130]! } + public var PrivacyPhoneNumberSettings_WhoCanSeeMyPhoneNumber: String { return self._s[2131]! } + public var Call_Speaker: String { return self._s[2133]! } + public var AutoNightTheme_AutomaticSection: String { return self._s[2134]! } + public var Channel_OwnershipTransfer_EnterPassword: String { return self._s[2136]! } + public var Channel_Username_InvalidCharacters: String { return self._s[2137]! } public func Channel_AdminLog_MessageChangedChannelUsername(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2137]!, self._r[2137]!, [_0]) + return formatWithArgumentRanges(self._s[2138]!, self._r[2138]!, [_0]) } - public var AutoDownloadSettings_AutodownloadFiles: String { return self._s[2138]! } - public var PrivacySettings_LastSeenTitle: String { return self._s[2139]! } - public var Channel_AdminLog_CanInviteUsers: String { return self._s[2140]! } - public var SettingsSearch_Synonyms_Privacy_Data_ClearPaymentsInfo: String { return self._s[2141]! } - public var OwnershipTransfer_SecurityCheck: String { return self._s[2142]! } - public var Conversation_MessageDeliveryFailed: String { return self._s[2143]! } - public var Watch_ChatList_NoConversationsText: String { return self._s[2144]! } - public var Bot_Unblock: String { return self._s[2145]! } - public var TextFormat_Italic: String { return self._s[2146]! } - public var WallpaperSearch_ColorPink: String { return self._s[2147]! } - public var Settings_About_Help: String { return self._s[2148]! } - public var SearchImages_Title: String { return self._s[2149]! } - public var Weekday_Wednesday: String { return self._s[2150]! } - public var Conversation_ClousStorageInfo_Description1: String { return self._s[2151]! } - public var ExplicitContent_AlertTitle: String { return self._s[2152]! } + public var AutoDownloadSettings_AutodownloadFiles: String { return self._s[2139]! } + public var PrivacySettings_LastSeenTitle: String { return self._s[2140]! } + public var Channel_AdminLog_CanInviteUsers: String { return self._s[2141]! } + public var SettingsSearch_Synonyms_Privacy_Data_ClearPaymentsInfo: String { return self._s[2142]! } + public var OwnershipTransfer_SecurityCheck: String { return self._s[2143]! } + public var Conversation_MessageDeliveryFailed: String { return self._s[2144]! } + public var Watch_ChatList_NoConversationsText: String { return self._s[2145]! } + public var Bot_Unblock: String { return self._s[2146]! } + public var TextFormat_Italic: String { return self._s[2147]! } + public var WallpaperSearch_ColorPink: String { return self._s[2148]! } + public var Settings_About_Help: String { return self._s[2149]! } + public var SearchImages_Title: String { return self._s[2150]! } + public var Weekday_Wednesday: String { return self._s[2151]! } + public var Conversation_ClousStorageInfo_Description1: String { return self._s[2152]! } + public var ExplicitContent_AlertTitle: String { return self._s[2153]! } public func Time_PreciseDate_m5(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2153]!, self._r[2153]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[2154]!, self._r[2154]!, [_1, _2, _3]) } - public var Channel_DiscussionGroup_Create: String { return self._s[2154]! } - public var Weekday_Thursday: String { return self._s[2155]! } - public var Channel_BanUser_PermissionChangeGroupInfo: String { return self._s[2156]! } - public var Channel_Members_AddMembersHelp: String { return self._s[2157]! } + public var Channel_DiscussionGroup_Create: String { return self._s[2155]! } + public var Weekday_Thursday: String { return self._s[2156]! } + public var Channel_BanUser_PermissionChangeGroupInfo: String { return self._s[2157]! } + public var Channel_Members_AddMembersHelp: String { return self._s[2158]! } public func Checkout_SavePasswordTimeout(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2158]!, self._r[2158]!, [_0]) + return formatWithArgumentRanges(self._s[2159]!, self._r[2159]!, [_0]) } - public var Channel_DiscussionGroup_LinkGroup: String { return self._s[2159]! } - public var SettingsSearch_Synonyms_Notifications_InAppNotificationsVibrate: String { return self._s[2160]! } - public var Passport_RequestedInformation: String { return self._s[2161]! } - public var Login_PhoneAndCountryHelp: String { return self._s[2162]! } - public var Conversation_EncryptionProcessing: String { return self._s[2164]! } - public var Notifications_PermissionsSuppressWarningTitle: String { return self._s[2165]! } - public var PhotoEditor_EnhanceTool: String { return self._s[2167]! } - public var Channel_Setup_Title: String { return self._s[2168]! } - public var Conversation_SearchPlaceholder: String { return self._s[2169]! } - public var AccessDenied_LocationAlwaysDenied: String { return self._s[2170]! } - public var Checkout_ErrorGeneric: String { return self._s[2171]! } - public var Passport_Language_hu: String { return self._s[2172]! } + public var Channel_DiscussionGroup_LinkGroup: String { return self._s[2160]! } + public var SettingsSearch_Synonyms_Notifications_InAppNotificationsVibrate: String { return self._s[2161]! } + public var Passport_RequestedInformation: String { return self._s[2162]! } + public var Login_PhoneAndCountryHelp: String { return self._s[2163]! } + public var Conversation_EncryptionProcessing: String { return self._s[2165]! } + public var Notifications_PermissionsSuppressWarningTitle: String { return self._s[2166]! } + public var PhotoEditor_EnhanceTool: String { return self._s[2168]! } + public var Channel_Setup_Title: String { return self._s[2169]! } + public var Conversation_SearchPlaceholder: String { return self._s[2170]! } + public var AccessDenied_LocationAlwaysDenied: String { return self._s[2171]! } + public var Checkout_ErrorGeneric: String { return self._s[2172]! } + public var Passport_Language_hu: String { return self._s[2173]! } public func Passport_Identity_UploadOneOfScan(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2174]!, self._r[2174]!, [_0]) + return formatWithArgumentRanges(self._s[2175]!, self._r[2175]!, [_0]) } public func PUSH_MESSAGE(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2177]!, self._r[2177]!, [_1]) + return formatWithArgumentRanges(self._s[2178]!, self._r[2178]!, [_1]) } public func UserInfo_BlockConfirmationTitle(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2178]!, self._r[2178]!, [_0]) + return formatWithArgumentRanges(self._s[2179]!, self._r[2179]!, [_0]) } - public var Group_Location_Info: String { return self._s[2179]! } - public var Conversation_CloudStorageInfo_Title: String { return self._s[2180]! } - public var Permissions_PeopleNearbyAllow_v0: String { return self._s[2181]! } - public var PhotoEditor_CropAspectRatioSquare: String { return self._s[2182]! } + public var Group_Location_Info: String { return self._s[2180]! } + public var Conversation_CloudStorageInfo_Title: String { return self._s[2181]! } + public var Permissions_PeopleNearbyAllow_v0: String { return self._s[2182]! } + public var PhotoEditor_CropAspectRatioSquare: String { return self._s[2183]! } public func Notification_Exceptions_MutedUntil(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2183]!, self._r[2183]!, [_0]) + return formatWithArgumentRanges(self._s[2184]!, self._r[2184]!, [_0]) } - public var Conversation_ClearPrivateHistory: String { return self._s[2184]! } - public var ContactInfo_PhoneLabelHome: String { return self._s[2185]! } - public var PrivacySettings_LastSeenContacts: String { return self._s[2186]! } + public var Conversation_ClearPrivateHistory: String { return self._s[2185]! } + public var ContactInfo_PhoneLabelHome: String { return self._s[2186]! } + public var PrivacySettings_LastSeenContacts: String { return self._s[2187]! } public func ChangePhone_ErrorOccupied(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2187]!, self._r[2187]!, [_0]) + return formatWithArgumentRanges(self._s[2188]!, self._r[2188]!, [_0]) } - public var Passport_Language_cs: String { return self._s[2188]! } - public var Message_PinnedAnimationMessage: String { return self._s[2190]! } - public var Passport_Identity_ReverseSideHelp: String { return self._s[2192]! } - public var SettingsSearch_Synonyms_Data_Storage_Title: String { return self._s[2193]! } - public var SettingsSearch_Synonyms_Privacy_PasscodeAndTouchId: String { return self._s[2195]! } - public var Embed_PlayingInPIP: String { return self._s[2196]! } - public var AutoNightTheme_ScheduleSection: String { return self._s[2197]! } + public var Passport_Language_cs: String { return self._s[2189]! } + public var Message_PinnedAnimationMessage: String { return self._s[2191]! } + public var Passport_Identity_ReverseSideHelp: String { return self._s[2193]! } + public var SettingsSearch_Synonyms_Data_Storage_Title: String { return self._s[2194]! } + public var SettingsSearch_Synonyms_Privacy_PasscodeAndTouchId: String { return self._s[2196]! } + public var Embed_PlayingInPIP: String { return self._s[2197]! } + public var AutoNightTheme_ScheduleSection: String { return self._s[2198]! } public func Call_EmojiDescription(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2198]!, self._r[2198]!, [_0]) + return formatWithArgumentRanges(self._s[2199]!, self._r[2199]!, [_0]) } - public var MediaPicker_LivePhotoDescription: String { return self._s[2199]! } + public var MediaPicker_LivePhotoDescription: String { return self._s[2200]! } public func Channel_AdminLog_MessageRestrictedName(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2200]!, self._r[2200]!, [_1]) + return formatWithArgumentRanges(self._s[2201]!, self._r[2201]!, [_1]) } - public var Notification_PaymentSent: String { return self._s[2201]! } - public var PhotoEditor_CurvesGreen: String { return self._s[2202]! } - public var Notification_Exceptions_PreviewAlwaysOff: String { return self._s[2203]! } - public var SaveIncomingPhotosSettings_Title: String { return self._s[2204]! } - public var NotificationSettings_ShowNotificationsAllAccounts: String { return self._s[2205]! } + public var Notification_PaymentSent: String { return self._s[2202]! } + public var PhotoEditor_CurvesGreen: String { return self._s[2203]! } + public var Notification_Exceptions_PreviewAlwaysOff: String { return self._s[2204]! } + public var SaveIncomingPhotosSettings_Title: String { return self._s[2205]! } + public var NotificationSettings_ShowNotificationsAllAccounts: String { return self._s[2206]! } public func PUSH_MESSAGE_SCREENSHOT(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2208]!, self._r[2208]!, [_1]) - } - public func PUSH_MESSAGE_PHOTO_SECRET(_ _1: String) -> (String, [(Int, NSRange)]) { return formatWithArgumentRanges(self._s[2209]!, self._r[2209]!, [_1]) } - public func ApplyLanguage_UnsufficientDataText(_ _1: String) -> (String, [(Int, NSRange)]) { + public func PUSH_MESSAGE_PHOTO_SECRET(_ _1: String) -> (String, [(Int, NSRange)]) { return formatWithArgumentRanges(self._s[2210]!, self._r[2210]!, [_1]) } - public var NetworkUsageSettings_CallDataSection: String { return self._s[2212]! } - public var PasscodeSettings_HelpTop: String { return self._s[2213]! } - public var Group_OwnershipTransfer_ErrorAdminsTooMuch: String { return self._s[2214]! } - public var Passport_Address_TypeRentalAgreement: String { return self._s[2215]! } - public var ReportPeer_ReasonOther_Placeholder: String { return self._s[2216]! } - public var CheckoutInfo_ErrorPhoneInvalid: String { return self._s[2217]! } - public var Call_Accept: String { return self._s[2219]! } - public var GroupRemoved_RemoveInfo: String { return self._s[2220]! } - public var Month_GenMarch: String { return self._s[2222]! } - public var PhotoEditor_ShadowsTool: String { return self._s[2223]! } - public var LoginPassword_Title: String { return self._s[2224]! } - public var Call_End: String { return self._s[2225]! } - public var Watch_Conversation_GroupInfo: String { return self._s[2226]! } - public var CallSettings_Always: String { return self._s[2227]! } - public var CallFeedback_Success: String { return self._s[2228]! } - public var TwoStepAuth_SetupHint: String { return self._s[2229]! } + public func ApplyLanguage_UnsufficientDataText(_ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2211]!, self._r[2211]!, [_1]) + } + public var NetworkUsageSettings_CallDataSection: String { return self._s[2213]! } + public var PasscodeSettings_HelpTop: String { return self._s[2214]! } + public var Group_OwnershipTransfer_ErrorAdminsTooMuch: String { return self._s[2215]! } + public var Passport_Address_TypeRentalAgreement: String { return self._s[2216]! } + public var ReportPeer_ReasonOther_Placeholder: String { return self._s[2217]! } + public var CheckoutInfo_ErrorPhoneInvalid: String { return self._s[2218]! } + public var Call_Accept: String { return self._s[2220]! } + public var GroupRemoved_RemoveInfo: String { return self._s[2221]! } + public var Month_GenMarch: String { return self._s[2223]! } + public var PhotoEditor_ShadowsTool: String { return self._s[2224]! } + public var LoginPassword_Title: String { return self._s[2225]! } + public var Call_End: String { return self._s[2226]! } + public var Watch_Conversation_GroupInfo: String { return self._s[2227]! } + public var CallSettings_Always: String { return self._s[2228]! } + public var CallFeedback_Success: String { return self._s[2229]! } + public var TwoStepAuth_SetupHint: String { return self._s[2230]! } public func AddContact_ContactWillBeSharedAfterMutual(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2230]!, self._r[2230]!, [_1]) + return formatWithArgumentRanges(self._s[2231]!, self._r[2231]!, [_1]) } - public var ConversationProfile_UsersTooMuchError: String { return self._s[2231]! } - public var Login_PhoneTitle: String { return self._s[2232]! } - public var Passport_FieldPhoneHelp: String { return self._s[2233]! } - public var Weekday_ShortSunday: String { return self._s[2234]! } - public var Passport_InfoFAQ_URL: String { return self._s[2235]! } - public var ContactInfo_Job: String { return self._s[2237]! } - public var UserInfo_InviteBotToGroup: String { return self._s[2238]! } - public var Appearance_ThemeCarouselNightBlue: String { return self._s[2239]! } - public var TwoStepAuth_PasswordRemovePassportConfirmation: String { return self._s[2240]! } - public var Invite_ChannelsTooMuch: String { return self._s[2241]! } - public var SettingsSearch_Synonyms_Notifications_InAppNotificationsPreview: String { return self._s[2242]! } - public var Passport_DeletePersonalDetailsConfirmation: String { return self._s[2243]! } - public var CallFeedback_ReasonNoise: String { return self._s[2244]! } - public var Appearance_AppIconDefault: String { return self._s[2246]! } - public var Passport_Identity_AddInternalPassport: String { return self._s[2247]! } - public var MediaPicker_AddCaption: String { return self._s[2248]! } - public var CallSettings_TabIconDescription: String { return self._s[2249]! } - public var ChatList_UndoArchiveHiddenTitle: String { return self._s[2250]! } - public var Privacy_GroupsAndChannels_AlwaysAllow: String { return self._s[2251]! } - public var Passport_Identity_TypePersonalDetails: String { return self._s[2252]! } - public var DialogList_SearchSectionRecent: String { return self._s[2253]! } - public var PrivacyPolicy_DeclineMessage: String { return self._s[2254]! } - public var LogoutOptions_ClearCacheText: String { return self._s[2257]! } - public var LastSeen_WithinAWeek: String { return self._s[2258]! } - public var ChannelMembers_GroupAdminsTitle: String { return self._s[2259]! } - public var Conversation_CloudStorage_ChatStatus: String { return self._s[2261]! } + public var ConversationProfile_UsersTooMuchError: String { return self._s[2232]! } + public var Login_PhoneTitle: String { return self._s[2233]! } + public var Passport_FieldPhoneHelp: String { return self._s[2234]! } + public var Weekday_ShortSunday: String { return self._s[2235]! } + public var Passport_InfoFAQ_URL: String { return self._s[2236]! } + public var ContactInfo_Job: String { return self._s[2238]! } + public var UserInfo_InviteBotToGroup: String { return self._s[2239]! } + public var Appearance_ThemeCarouselNightBlue: String { return self._s[2240]! } + public var TwoStepAuth_PasswordRemovePassportConfirmation: String { return self._s[2241]! } + public var Invite_ChannelsTooMuch: String { return self._s[2242]! } + public var SettingsSearch_Synonyms_Notifications_InAppNotificationsPreview: String { return self._s[2243]! } + public var Passport_DeletePersonalDetailsConfirmation: String { return self._s[2244]! } + public var CallFeedback_ReasonNoise: String { return self._s[2245]! } + public var Appearance_AppIconDefault: String { return self._s[2247]! } + public var Passport_Identity_AddInternalPassport: String { return self._s[2248]! } + public var MediaPicker_AddCaption: String { return self._s[2249]! } + public var CallSettings_TabIconDescription: String { return self._s[2250]! } + public var ChatList_UndoArchiveHiddenTitle: String { return self._s[2251]! } + public var Privacy_GroupsAndChannels_AlwaysAllow: String { return self._s[2252]! } + public var Passport_Identity_TypePersonalDetails: String { return self._s[2253]! } + public var DialogList_SearchSectionRecent: String { return self._s[2254]! } + public var PrivacyPolicy_DeclineMessage: String { return self._s[2255]! } + public var LogoutOptions_ClearCacheText: String { return self._s[2258]! } + public var LastSeen_WithinAWeek: String { return self._s[2259]! } + public var ChannelMembers_GroupAdminsTitle: String { return self._s[2260]! } + public var Conversation_CloudStorage_ChatStatus: String { return self._s[2262]! } public func AddContact_SharedContactExceptionInfo(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2262]!, self._r[2262]!, [_0]) + return formatWithArgumentRanges(self._s[2263]!, self._r[2263]!, [_0]) } - public var Passport_Address_TypeResidentialAddress: String { return self._s[2263]! } - public var Conversation_StatusLeftGroup: String { return self._s[2264]! } - public var SocksProxySetup_ProxyDetailsTitle: String { return self._s[2265]! } - public var SettingsSearch_Synonyms_Calls_Title: String { return self._s[2267]! } - public var GroupPermission_AddSuccess: String { return self._s[2268]! } - public var PhotoEditor_BlurToolRadial: String { return self._s[2270]! } - public var Conversation_ContextMenuCopy: String { return self._s[2271]! } - public var AccessDenied_CallMicrophone: String { return self._s[2272]! } + public var Passport_Address_TypeResidentialAddress: String { return self._s[2264]! } + public var Conversation_StatusLeftGroup: String { return self._s[2265]! } + public var SocksProxySetup_ProxyDetailsTitle: String { return self._s[2266]! } + public var SettingsSearch_Synonyms_Calls_Title: String { return self._s[2268]! } + public var GroupPermission_AddSuccess: String { return self._s[2269]! } + public var PhotoEditor_BlurToolRadial: String { return self._s[2271]! } + public var Conversation_ContextMenuCopy: String { return self._s[2272]! } + public var AccessDenied_CallMicrophone: String { return self._s[2273]! } public func Time_PreciseDate_m2(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2273]!, self._r[2273]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[2274]!, self._r[2274]!, [_1, _2, _3]) } - public var Login_InvalidFirstNameError: String { return self._s[2274]! } - public var Notifications_Badge_CountUnreadMessages_InfoOn: String { return self._s[2275]! } - public var Checkout_PaymentMethod_New: String { return self._s[2276]! } - public var ShareMenu_CopyShareLinkGame: String { return self._s[2277]! } - public var PhotoEditor_QualityTool: String { return self._s[2278]! } - public var Login_SendCodeViaSms: String { return self._s[2279]! } - public var SettingsSearch_Synonyms_Privacy_DeleteAccountIfAwayFor: String { return self._s[2280]! } - public var Login_EmailNotConfiguredError: String { return self._s[2281]! } - public var SocksProxySetup_Status: String { return self._s[2282]! } - public var PrivacyPolicy_Accept: String { return self._s[2283]! } - public var Notifications_ExceptionsMessagePlaceholder: String { return self._s[2284]! } - public var Appearance_AppIconClassicX: String { return self._s[2285]! } + public var Login_InvalidFirstNameError: String { return self._s[2275]! } + public var Notifications_Badge_CountUnreadMessages_InfoOn: String { return self._s[2276]! } + public var Checkout_PaymentMethod_New: String { return self._s[2277]! } + public var ShareMenu_CopyShareLinkGame: String { return self._s[2278]! } + public var PhotoEditor_QualityTool: String { return self._s[2279]! } + public var Login_SendCodeViaSms: String { return self._s[2280]! } + public var SettingsSearch_Synonyms_Privacy_DeleteAccountIfAwayFor: String { return self._s[2281]! } + public var Login_EmailNotConfiguredError: String { return self._s[2282]! } + public var SocksProxySetup_Status: String { return self._s[2283]! } + public var PrivacyPolicy_Accept: String { return self._s[2284]! } + public var Notifications_ExceptionsMessagePlaceholder: String { return self._s[2285]! } + public var Appearance_AppIconClassicX: String { return self._s[2286]! } public func PUSH_CHAT_MESSAGE_TEXT(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2286]!, self._r[2286]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[2287]!, self._r[2287]!, [_1, _2, _3]) } - public var OwnershipTransfer_SecurityRequirements: String { return self._s[2287]! } - public var InfoPlist_NSLocationAlwaysUsageDescription: String { return self._s[2288]! } - public var AutoNightTheme_Automatic: String { return self._s[2289]! } - public var Channel_Username_InvalidStartsWithNumber: String { return self._s[2290]! } - public var Privacy_ContactsSyncHelp: String { return self._s[2291]! } - public var Cache_Help: String { return self._s[2292]! } - public var Group_ErrorAccessDenied: String { return self._s[2293]! } - public var Passport_Language_fa: String { return self._s[2294]! } - public var Login_ResetAccountProtected_TimerTitle: String { return self._s[2295]! } - public var PrivacySettings_LastSeen: String { return self._s[2296]! } + public var OwnershipTransfer_SecurityRequirements: String { return self._s[2288]! } + public var InfoPlist_NSLocationAlwaysUsageDescription: String { return self._s[2289]! } + public var AutoNightTheme_Automatic: String { return self._s[2290]! } + public var Channel_Username_InvalidStartsWithNumber: String { return self._s[2291]! } + public var Privacy_ContactsSyncHelp: String { return self._s[2292]! } + public var Cache_Help: String { return self._s[2293]! } + public var Group_ErrorAccessDenied: String { return self._s[2294]! } + public var Passport_Language_fa: String { return self._s[2295]! } + public var Login_ResetAccountProtected_TimerTitle: String { return self._s[2296]! } + public var PrivacySettings_LastSeen: String { return self._s[2297]! } public func DialogList_MultipleTyping(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2297]!, self._r[2297]!, [_0, _1]) + return formatWithArgumentRanges(self._s[2298]!, self._r[2298]!, [_0, _1]) } - public var Preview_SaveGif: String { return self._s[2301]! } - public var SettingsSearch_Synonyms_Privacy_TwoStepAuth: String { return self._s[2302]! } - public var Profile_About: String { return self._s[2303]! } - public var Channel_About_Placeholder: String { return self._s[2304]! } - public var Login_InfoTitle: String { return self._s[2305]! } + public var Preview_SaveGif: String { return self._s[2302]! } + public var SettingsSearch_Synonyms_Privacy_TwoStepAuth: String { return self._s[2303]! } + public var Profile_About: String { return self._s[2304]! } + public var Channel_About_Placeholder: String { return self._s[2305]! } + public var Login_InfoTitle: String { return self._s[2306]! } public func TwoStepAuth_SetupPendingEmail(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2306]!, self._r[2306]!, [_0]) + return formatWithArgumentRanges(self._s[2307]!, self._r[2307]!, [_0]) } - public var Watch_Suggestion_CantTalk: String { return self._s[2308]! } - public var ContactInfo_Title: String { return self._s[2309]! } - public var Media_ShareThisVideo: String { return self._s[2310]! } - public var Weekday_ShortFriday: String { return self._s[2311]! } - public var AccessDenied_Contacts: String { return self._s[2312]! } - public var Notification_CallIncomingShort: String { return self._s[2313]! } - public var Group_Setup_TypePublic: String { return self._s[2314]! } - public var Notifications_MessageNotificationsExceptions: String { return self._s[2315]! } - public var Notifications_Badge_IncludeChannels: String { return self._s[2316]! } - public var Notifications_MessageNotificationsPreview: String { return self._s[2319]! } - public var ConversationProfile_ErrorCreatingConversation: String { return self._s[2320]! } - public var Group_ErrorAddTooMuchBots: String { return self._s[2321]! } - public var Privacy_GroupsAndChannels_CustomShareHelp: String { return self._s[2322]! } - public var Permissions_CellularDataAllowInSettings_v0: String { return self._s[2323]! } - public var DialogList_Typing: String { return self._s[2324]! } - public var CallFeedback_IncludeLogs: String { return self._s[2326]! } - public var Checkout_Phone: String { return self._s[2328]! } - public var Login_InfoFirstNamePlaceholder: String { return self._s[2331]! } - public var Privacy_Calls_Integration: String { return self._s[2332]! } - public var Notifications_PermissionsAllow: String { return self._s[2333]! } - public var TwoStepAuth_AddHintDescription: String { return self._s[2337]! } - public var Settings_ChatSettings: String { return self._s[2338]! } + public var Watch_Suggestion_CantTalk: String { return self._s[2309]! } + public var ContactInfo_Title: String { return self._s[2310]! } + public var Media_ShareThisVideo: String { return self._s[2311]! } + public var Weekday_ShortFriday: String { return self._s[2312]! } + public var AccessDenied_Contacts: String { return self._s[2313]! } + public var Notification_CallIncomingShort: String { return self._s[2314]! } + public var Group_Setup_TypePublic: String { return self._s[2315]! } + public var Notifications_MessageNotificationsExceptions: String { return self._s[2316]! } + public var Notifications_Badge_IncludeChannels: String { return self._s[2317]! } + public var Notifications_MessageNotificationsPreview: String { return self._s[2320]! } + public var ConversationProfile_ErrorCreatingConversation: String { return self._s[2321]! } + public var Group_ErrorAddTooMuchBots: String { return self._s[2322]! } + public var Privacy_GroupsAndChannels_CustomShareHelp: String { return self._s[2323]! } + public var Permissions_CellularDataAllowInSettings_v0: String { return self._s[2324]! } + public var DialogList_Typing: String { return self._s[2325]! } + public var CallFeedback_IncludeLogs: String { return self._s[2327]! } + public var Checkout_Phone: String { return self._s[2329]! } + public var Login_InfoFirstNamePlaceholder: String { return self._s[2332]! } + public var Privacy_Calls_Integration: String { return self._s[2333]! } + public var Notifications_PermissionsAllow: String { return self._s[2334]! } + public var TwoStepAuth_AddHintDescription: String { return self._s[2338]! } + public var Settings_ChatSettings: String { return self._s[2339]! } public func PUSH_MESSAGE_ALBUM(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2339]!, self._r[2339]!, [_1]) + return formatWithArgumentRanges(self._s[2340]!, self._r[2340]!, [_1]) } public func Channel_AdminLog_MessageInvitedNameUsername(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2340]!, self._r[2340]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2341]!, self._r[2341]!, [_1, _2]) } - public var GroupRemoved_DeleteUser: String { return self._s[2342]! } + public var GroupRemoved_DeleteUser: String { return self._s[2343]! } public func Channel_AdminLog_PollStopped(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2343]!, self._r[2343]!, [_0]) + return formatWithArgumentRanges(self._s[2344]!, self._r[2344]!, [_0]) } public func PUSH_MESSAGE_PHOTO(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2344]!, self._r[2344]!, [_1]) + return formatWithArgumentRanges(self._s[2345]!, self._r[2345]!, [_1]) } - public var Login_ContinueWithLocalization: String { return self._s[2345]! } - public var Watch_Message_ForwardedFrom: String { return self._s[2346]! } - public var TwoStepAuth_EnterEmailCode: String { return self._s[2348]! } - public var Conversation_Unblock: String { return self._s[2349]! } - public var PrivacySettings_DataSettings: String { return self._s[2350]! } - public var Group_PublicLink_Info: String { return self._s[2351]! } - public var Notifications_InAppNotificationsVibrate: String { return self._s[2352]! } + public var Login_ContinueWithLocalization: String { return self._s[2346]! } + public var Watch_Message_ForwardedFrom: String { return self._s[2347]! } + public var TwoStepAuth_EnterEmailCode: String { return self._s[2349]! } + public var Conversation_Unblock: String { return self._s[2350]! } + public var PrivacySettings_DataSettings: String { return self._s[2351]! } + public var Group_PublicLink_Info: String { return self._s[2352]! } + public var Notifications_InAppNotificationsVibrate: String { return self._s[2353]! } public func Privacy_GroupsAndChannels_InviteToChannelError(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2353]!, self._r[2353]!, [_0, _1]) + return formatWithArgumentRanges(self._s[2354]!, self._r[2354]!, [_0, _1]) } - public var PrivacySettings_Passcode: String { return self._s[2356]! } - public var Call_Mute: String { return self._s[2357]! } - public var Passport_Language_dz: String { return self._s[2358]! } - public var Passport_Language_tk: String { return self._s[2359]! } + public var PrivacySettings_Passcode: String { return self._s[2357]! } + public var Call_Mute: String { return self._s[2358]! } + public var Passport_Language_dz: String { return self._s[2359]! } + public var Passport_Language_tk: String { return self._s[2360]! } public func Login_EmailCodeSubject(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2360]!, self._r[2360]!, [_0]) + return formatWithArgumentRanges(self._s[2361]!, self._r[2361]!, [_0]) } - public var Settings_Search: String { return self._s[2361]! } - public var InfoPlist_NSPhotoLibraryUsageDescription: String { return self._s[2362]! } - public var Conversation_ContextMenuReply: String { return self._s[2363]! } - public var WallpaperSearch_ColorBrown: String { return self._s[2364]! } - public var Chat_AttachmentMultipleForwardDisabled: String { return self._s[2365]! } - public var Tour_Title1: String { return self._s[2366]! } - public var Conversation_ClearGroupHistory: String { return self._s[2368]! } - public var WallpaperPreview_Motion: String { return self._s[2369]! } + public var Settings_Search: String { return self._s[2362]! } + public var InfoPlist_NSPhotoLibraryUsageDescription: String { return self._s[2363]! } + public var Conversation_ContextMenuReply: String { return self._s[2364]! } + public var WallpaperSearch_ColorBrown: String { return self._s[2365]! } + public var Chat_AttachmentMultipleForwardDisabled: String { return self._s[2366]! } + public var Tour_Title1: String { return self._s[2367]! } + public var Conversation_ClearGroupHistory: String { return self._s[2369]! } + public var WallpaperPreview_Motion: String { return self._s[2370]! } public func Checkout_PasswordEntry_Text(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2370]!, self._r[2370]!, [_0]) + return formatWithArgumentRanges(self._s[2371]!, self._r[2371]!, [_0]) } - public var Call_RateCall: String { return self._s[2371]! } - public var Channel_AdminLog_BanSendStickersAndGifs: String { return self._s[2372]! } - public var Passport_PasswordCompleteSetup: String { return self._s[2373]! } - public var Conversation_InputTextSilentBroadcastPlaceholder: String { return self._s[2374]! } - public var UserInfo_LastNamePlaceholder: String { return self._s[2376]! } + public var Call_RateCall: String { return self._s[2372]! } + public var Channel_AdminLog_BanSendStickersAndGifs: String { return self._s[2373]! } + public var Passport_PasswordCompleteSetup: String { return self._s[2374]! } + public var Conversation_InputTextSilentBroadcastPlaceholder: String { return self._s[2375]! } + public var UserInfo_LastNamePlaceholder: String { return self._s[2377]! } public func Login_WillCallYou(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2378]!, self._r[2378]!, [_0]) + return formatWithArgumentRanges(self._s[2379]!, self._r[2379]!, [_0]) } - public var Compose_Create: String { return self._s[2379]! } - public var Contacts_InviteToTelegram: String { return self._s[2380]! } - public var GroupInfo_Notifications: String { return self._s[2381]! } - public var Message_PinnedLiveLocationMessage: String { return self._s[2383]! } - public var Month_GenApril: String { return self._s[2384]! } - public var Appearance_AutoNightTheme: String { return self._s[2385]! } - public var ChatSettings_AutomaticAudioDownload: String { return self._s[2387]! } - public var Login_CodeSentSms: String { return self._s[2389]! } + public var Compose_Create: String { return self._s[2380]! } + public var Contacts_InviteToTelegram: String { return self._s[2381]! } + public var GroupInfo_Notifications: String { return self._s[2382]! } + public var Message_PinnedLiveLocationMessage: String { return self._s[2384]! } + public var Month_GenApril: String { return self._s[2385]! } + public var Appearance_AutoNightTheme: String { return self._s[2386]! } + public var ChatSettings_AutomaticAudioDownload: String { return self._s[2388]! } + public var Login_CodeSentSms: String { return self._s[2390]! } public func UserInfo_UnblockConfirmation(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2390]!, self._r[2390]!, [_0]) + return formatWithArgumentRanges(self._s[2391]!, self._r[2391]!, [_0]) } - public var EmptyGroupInfo_Line3: String { return self._s[2391]! } - public var LogoutOptions_ContactSupportText: String { return self._s[2392]! } - public var Passport_Language_hr: String { return self._s[2393]! } - public var Common_ActionNotAllowedError: String { return self._s[2394]! } + public var EmptyGroupInfo_Line3: String { return self._s[2392]! } + public var LogoutOptions_ContactSupportText: String { return self._s[2393]! } + public var Passport_Language_hr: String { return self._s[2394]! } + public var Common_ActionNotAllowedError: String { return self._s[2395]! } public func Channel_AdminLog_MessageRestrictedNewSetting(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2395]!, self._r[2395]!, [_0]) + return formatWithArgumentRanges(self._s[2396]!, self._r[2396]!, [_0]) } - public var GroupInfo_InviteLink_CopyLink: String { return self._s[2396]! } - public var Conversation_InputTextBroadcastPlaceholder: String { return self._s[2397]! } - public var Privacy_SecretChatsTitle: String { return self._s[2398]! } - public var Notification_SecretChatMessageScreenshotSelf: String { return self._s[2400]! } - public var GroupInfo_AddUserLeftError: String { return self._s[2401]! } - public var AutoDownloadSettings_TypePrivateChats: String { return self._s[2402]! } - public var LogoutOptions_ContactSupportTitle: String { return self._s[2403]! } - public var Channel_AddBotErrorHaveRights: String { return self._s[2404]! } - public var Preview_DeleteGif: String { return self._s[2405]! } - public var GroupInfo_Permissions_Exceptions: String { return self._s[2406]! } - public var Group_ErrorNotMutualContact: String { return self._s[2407]! } - public var Notification_MessageLifetime5s: String { return self._s[2408]! } + public var GroupInfo_InviteLink_CopyLink: String { return self._s[2397]! } + public var Conversation_InputTextBroadcastPlaceholder: String { return self._s[2398]! } + public var Privacy_SecretChatsTitle: String { return self._s[2399]! } + public var Notification_SecretChatMessageScreenshotSelf: String { return self._s[2401]! } + public var GroupInfo_AddUserLeftError: String { return self._s[2402]! } + public var AutoDownloadSettings_TypePrivateChats: String { return self._s[2403]! } + public var LogoutOptions_ContactSupportTitle: String { return self._s[2404]! } + public var Channel_AddBotErrorHaveRights: String { return self._s[2405]! } + public var Preview_DeleteGif: String { return self._s[2406]! } + public var GroupInfo_Permissions_Exceptions: String { return self._s[2407]! } + public var Group_ErrorNotMutualContact: String { return self._s[2408]! } + public var Notification_MessageLifetime5s: String { return self._s[2409]! } public func Watch_LastSeen_AtDate(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2409]!, self._r[2409]!, [_0]) + return formatWithArgumentRanges(self._s[2410]!, self._r[2410]!, [_0]) } - public var Channel_OwnershipTransfer_ErrorPublicChannelsTooMuch: String { return self._s[2411]! } - public var ReportSpam_DeleteThisChat: String { return self._s[2412]! } - public var Passport_Address_AddBankStatement: String { return self._s[2413]! } - public var Notification_CallIncoming: String { return self._s[2414]! } - public var Compose_NewGroupTitle: String { return self._s[2415]! } - public var TwoStepAuth_RecoveryCodeHelp: String { return self._s[2417]! } - public var Passport_Address_Postcode: String { return self._s[2419]! } + public var Channel_OwnershipTransfer_ErrorPublicChannelsTooMuch: String { return self._s[2412]! } + public var ReportSpam_DeleteThisChat: String { return self._s[2413]! } + public var Passport_Address_AddBankStatement: String { return self._s[2414]! } + public var Notification_CallIncoming: String { return self._s[2415]! } + public var Compose_NewGroupTitle: String { return self._s[2416]! } + public var TwoStepAuth_RecoveryCodeHelp: String { return self._s[2418]! } + public var Passport_Address_Postcode: String { return self._s[2420]! } public func LastSeen_YesterdayAt(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2420]!, self._r[2420]!, [_0]) + return formatWithArgumentRanges(self._s[2421]!, self._r[2421]!, [_0]) } - public var Checkout_NewCard_SaveInfoHelp: String { return self._s[2421]! } - public var WallpaperColors_Title: String { return self._s[2422]! } - public var SocksProxySetup_ShareQRCodeInfo: String { return self._s[2423]! } - public var GroupPermission_Duration: String { return self._s[2424]! } + public var Checkout_NewCard_SaveInfoHelp: String { return self._s[2422]! } + public var WallpaperColors_Title: String { return self._s[2423]! } + public var SocksProxySetup_ShareQRCodeInfo: String { return self._s[2424]! } + public var GroupPermission_Duration: String { return self._s[2425]! } public func Cache_Clear(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2425]!, self._r[2425]!, [_0]) + return formatWithArgumentRanges(self._s[2426]!, self._r[2426]!, [_0]) } - public var Bot_GroupStatusDoesNotReadHistory: String { return self._s[2426]! } - public var Username_Placeholder: String { return self._s[2427]! } - public var CallFeedback_WhatWentWrong: String { return self._s[2428]! } - public var Passport_FieldAddressUploadHelp: String { return self._s[2429]! } - public var Permissions_NotificationsAllowInSettings_v0: String { return self._s[2430]! } + public var Bot_GroupStatusDoesNotReadHistory: String { return self._s[2427]! } + public var Username_Placeholder: String { return self._s[2428]! } + public var CallFeedback_WhatWentWrong: String { return self._s[2429]! } + public var Passport_FieldAddressUploadHelp: String { return self._s[2430]! } + public var Permissions_NotificationsAllowInSettings_v0: String { return self._s[2431]! } public func Channel_AdminLog_MessageChangedUnlinkedChannel(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2432]!, self._r[2432]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2433]!, self._r[2433]!, [_1, _2]) } - public var Passport_PasswordDescription: String { return self._s[2433]! } - public var Channel_MessagePhotoUpdated: String { return self._s[2434]! } - public var MediaPicker_TapToUngroupDescription: String { return self._s[2435]! } - public var SettingsSearch_Synonyms_Notifications_BadgeCountUnreadMessages: String { return self._s[2436]! } - public var AttachmentMenu_PhotoOrVideo: String { return self._s[2437]! } - public var Conversation_ContextMenuMore: String { return self._s[2438]! } - public var Privacy_PaymentsClearInfo: String { return self._s[2439]! } - public var CallSettings_TabIcon: String { return self._s[2440]! } - public var KeyCommand_Find: String { return self._s[2441]! } - public var Message_PinnedGame: String { return self._s[2442]! } - public var Notifications_Badge_CountUnreadMessages_InfoOff: String { return self._s[2444]! } - public var Login_CallRequestState2: String { return self._s[2446]! } - public var CheckoutInfo_ReceiverInfoNamePlaceholder: String { return self._s[2448]! } + public var Passport_PasswordDescription: String { return self._s[2434]! } + public var Channel_MessagePhotoUpdated: String { return self._s[2435]! } + public var MediaPicker_TapToUngroupDescription: String { return self._s[2436]! } + public var SettingsSearch_Synonyms_Notifications_BadgeCountUnreadMessages: String { return self._s[2437]! } + public var AttachmentMenu_PhotoOrVideo: String { return self._s[2438]! } + public var Conversation_ContextMenuMore: String { return self._s[2439]! } + public var Privacy_PaymentsClearInfo: String { return self._s[2440]! } + public var CallSettings_TabIcon: String { return self._s[2441]! } + public var KeyCommand_Find: String { return self._s[2442]! } + public var Message_PinnedGame: String { return self._s[2443]! } + public var Notifications_Badge_CountUnreadMessages_InfoOff: String { return self._s[2445]! } + public var Login_CallRequestState2: String { return self._s[2447]! } + public var CheckoutInfo_ReceiverInfoNamePlaceholder: String { return self._s[2449]! } public func Checkout_PayPrice(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2450]!, self._r[2450]!, [_0]) + return formatWithArgumentRanges(self._s[2451]!, self._r[2451]!, [_0]) } - public var WallpaperPreview_Blurred: String { return self._s[2451]! } - public var Conversation_InstantPagePreview: String { return self._s[2452]! } + public var WallpaperPreview_Blurred: String { return self._s[2452]! } + public var Conversation_InstantPagePreview: String { return self._s[2453]! } public func DialogList_SingleUploadingVideoSuffix(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2453]!, self._r[2453]!, [_0]) + return formatWithArgumentRanges(self._s[2454]!, self._r[2454]!, [_0]) } - public var SecretTimer_VideoDescription: String { return self._s[2456]! } - public var WallpaperSearch_ColorRed: String { return self._s[2457]! } - public var GroupPermission_NoPinMessages: String { return self._s[2458]! } - public var Passport_Language_es: String { return self._s[2459]! } - public var Permissions_ContactsAllow_v0: String { return self._s[2461]! } - public var Conversation_EditingMessageMediaEditCurrentVideo: String { return self._s[2462]! } + public var SecretTimer_VideoDescription: String { return self._s[2457]! } + public var WallpaperSearch_ColorRed: String { return self._s[2458]! } + public var GroupPermission_NoPinMessages: String { return self._s[2459]! } + public var Passport_Language_es: String { return self._s[2460]! } + public var Permissions_ContactsAllow_v0: String { return self._s[2462]! } + public var Conversation_EditingMessageMediaEditCurrentVideo: String { return self._s[2463]! } public func PUSH_CHAT_MESSAGE_CONTACT(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2463]!, self._r[2463]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2464]!, self._r[2464]!, [_1, _2]) } - public var Privacy_Forwards_CustomHelp: String { return self._s[2464]! } - public var WebPreview_GettingLinkInfo: String { return self._s[2465]! } - public var Watch_UserInfo_Unmute: String { return self._s[2466]! } - public var GroupInfo_ChannelListNamePlaceholder: String { return self._s[2467]! } - public var AccessDenied_CameraRestricted: String { return self._s[2469]! } + public var Privacy_Forwards_CustomHelp: String { return self._s[2465]! } + public var WebPreview_GettingLinkInfo: String { return self._s[2466]! } + public var Watch_UserInfo_Unmute: String { return self._s[2467]! } + public var GroupInfo_ChannelListNamePlaceholder: String { return self._s[2468]! } + public var AccessDenied_CameraRestricted: String { return self._s[2470]! } public func Conversation_Kilobytes(_ _0: Int) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2470]!, self._r[2470]!, ["\(_0)"]) + return formatWithArgumentRanges(self._s[2471]!, self._r[2471]!, ["\(_0)"]) } - public var ChatList_ReadAll: String { return self._s[2472]! } - public var Settings_CopyUsername: String { return self._s[2473]! } - public var Contacts_SearchLabel: String { return self._s[2474]! } - public var Map_OpenInYandexNavigator: String { return self._s[2476]! } - public var PasscodeSettings_EncryptData: String { return self._s[2477]! } - public var WallpaperSearch_ColorPrefix: String { return self._s[2478]! } - public var Notifications_GroupNotificationsPreview: String { return self._s[2479]! } - public var DialogList_AdNoticeAlert: String { return self._s[2480]! } - public var CheckoutInfo_ShippingInfoAddress1: String { return self._s[2482]! } - public var CheckoutInfo_ShippingInfoAddress2: String { return self._s[2483]! } - public var Localization_LanguageCustom: String { return self._s[2484]! } - public var Passport_Identity_TypeDriversLicenseUploadScan: String { return self._s[2485]! } - public var CallFeedback_Title: String { return self._s[2486]! } - public var Passport_Address_OneOfTypePassportRegistration: String { return self._s[2489]! } - public var Conversation_InfoGroup: String { return self._s[2490]! } - public var Compose_NewMessage: String { return self._s[2491]! } - public var FastTwoStepSetup_HintPlaceholder: String { return self._s[2492]! } - public var ChatSettings_AutoDownloadVideoMessages: String { return self._s[2493]! } - public var Channel_DiscussionGroup_UnlinkChannel: String { return self._s[2494]! } + public var ChatList_ReadAll: String { return self._s[2473]! } + public var Settings_CopyUsername: String { return self._s[2474]! } + public var Contacts_SearchLabel: String { return self._s[2475]! } + public var Map_OpenInYandexNavigator: String { return self._s[2477]! } + public var PasscodeSettings_EncryptData: String { return self._s[2478]! } + public var WallpaperSearch_ColorPrefix: String { return self._s[2479]! } + public var Notifications_GroupNotificationsPreview: String { return self._s[2480]! } + public var DialogList_AdNoticeAlert: String { return self._s[2481]! } + public var CheckoutInfo_ShippingInfoAddress1: String { return self._s[2483]! } + public var CheckoutInfo_ShippingInfoAddress2: String { return self._s[2484]! } + public var Localization_LanguageCustom: String { return self._s[2485]! } + public var Passport_Identity_TypeDriversLicenseUploadScan: String { return self._s[2486]! } + public var CallFeedback_Title: String { return self._s[2487]! } + public var Passport_Address_OneOfTypePassportRegistration: String { return self._s[2490]! } + public var Conversation_InfoGroup: String { return self._s[2491]! } + public var Compose_NewMessage: String { return self._s[2492]! } + public var FastTwoStepSetup_HintPlaceholder: String { return self._s[2493]! } + public var ChatSettings_AutoDownloadVideoMessages: String { return self._s[2494]! } + public var Channel_DiscussionGroup_UnlinkChannel: String { return self._s[2495]! } public func Passport_Scans_ScanIndex(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2495]!, self._r[2495]!, [_0]) + return formatWithArgumentRanges(self._s[2496]!, self._r[2496]!, [_0]) } - public var Channel_AdminLog_CanDeleteMessages: String { return self._s[2496]! } - public var Login_CancelSignUpConfirmation: String { return self._s[2497]! } - public var ChangePhoneNumberCode_Help: String { return self._s[2498]! } - public var PrivacySettings_DeleteAccountHelp: String { return self._s[2499]! } - public var Channel_BlackList_Title: String { return self._s[2500]! } - public var UserInfo_PhoneCall: String { return self._s[2501]! } - public var Passport_Address_OneOfTypeBankStatement: String { return self._s[2503]! } - public var State_connecting: String { return self._s[2504]! } + public var Channel_AdminLog_CanDeleteMessages: String { return self._s[2497]! } + public var Login_CancelSignUpConfirmation: String { return self._s[2498]! } + public var ChangePhoneNumberCode_Help: String { return self._s[2499]! } + public var PrivacySettings_DeleteAccountHelp: String { return self._s[2500]! } + public var Channel_BlackList_Title: String { return self._s[2501]! } + public var UserInfo_PhoneCall: String { return self._s[2502]! } + public var Passport_Address_OneOfTypeBankStatement: String { return self._s[2504]! } + public var State_connecting: String { return self._s[2505]! } public func DialogList_SingleRecordingAudioSuffix(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2505]!, self._r[2505]!, [_0]) + return formatWithArgumentRanges(self._s[2506]!, self._r[2506]!, [_0]) } - public var Notifications_GroupNotifications: String { return self._s[2506]! } - public var Passport_Identity_EditPassport: String { return self._s[2507]! } - public var EnterPasscode_RepeatNewPasscode: String { return self._s[2509]! } - public var Localization_EnglishLanguageName: String { return self._s[2510]! } - public var Share_AuthDescription: String { return self._s[2511]! } - public var SettingsSearch_Synonyms_Notifications_ChannelNotificationsAlert: String { return self._s[2512]! } - public var Passport_Identity_Surname: String { return self._s[2513]! } - public var Compose_TokenListPlaceholder: String { return self._s[2514]! } - public var Passport_Identity_OneOfTypePassport: String { return self._s[2515]! } - public var Settings_AboutEmpty: String { return self._s[2516]! } - public var Conversation_Unmute: String { return self._s[2517]! } - public var CreateGroup_ChannelsTooMuch: String { return self._s[2519]! } + public var Notifications_GroupNotifications: String { return self._s[2507]! } + public var Passport_Identity_EditPassport: String { return self._s[2508]! } + public var EnterPasscode_RepeatNewPasscode: String { return self._s[2510]! } + public var Localization_EnglishLanguageName: String { return self._s[2511]! } + public var Share_AuthDescription: String { return self._s[2512]! } + public var SettingsSearch_Synonyms_Notifications_ChannelNotificationsAlert: String { return self._s[2513]! } + public var Passport_Identity_Surname: String { return self._s[2514]! } + public var Compose_TokenListPlaceholder: String { return self._s[2515]! } + public var Passport_Identity_OneOfTypePassport: String { return self._s[2516]! } + public var Settings_AboutEmpty: String { return self._s[2517]! } + public var Conversation_Unmute: String { return self._s[2518]! } + public var CreateGroup_ChannelsTooMuch: String { return self._s[2520]! } public func PUSH_CONTACT_JOINED(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2520]!, self._r[2520]!, [_1]) + return formatWithArgumentRanges(self._s[2521]!, self._r[2521]!, [_1]) } - public var Login_CodeSentCall: String { return self._s[2521]! } - public var ContactInfo_PhoneLabelHomeFax: String { return self._s[2523]! } - public var ChatSettings_Appearance: String { return self._s[2524]! } - public var Appearance_PickAccentColor: String { return self._s[2525]! } + public var Login_CodeSentCall: String { return self._s[2522]! } + public var ContactInfo_PhoneLabelHomeFax: String { return self._s[2524]! } + public var ChatSettings_Appearance: String { return self._s[2525]! } + public var Appearance_PickAccentColor: String { return self._s[2526]! } public func PUSH_CHAT_MESSAGE_NOTEXT(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2526]!, self._r[2526]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2527]!, self._r[2527]!, [_1, _2]) } public func PUSH_MESSAGE_GEO(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2527]!, self._r[2527]!, [_1]) + return formatWithArgumentRanges(self._s[2528]!, self._r[2528]!, [_1]) } - public var Notification_CallMissed: String { return self._s[2528]! } - public var SettingsSearch_Synonyms_Appearance_ChatBackground_Custom: String { return self._s[2529]! } - public var Channel_AdminLogFilter_EventsInfo: String { return self._s[2530]! } - public var ChatAdmins_AdminLabel: String { return self._s[2532]! } - public var KeyCommand_JumpToNextChat: String { return self._s[2533]! } - public var Conversation_StopPollConfirmationTitle: String { return self._s[2535]! } - public var ChangePhoneNumberCode_CodePlaceholder: String { return self._s[2536]! } - public var Month_GenJune: String { return self._s[2537]! } - public var Watch_Location_Current: String { return self._s[2538]! } - public var Conversation_TitleMute: String { return self._s[2539]! } + public var Notification_CallMissed: String { return self._s[2529]! } + public var SettingsSearch_Synonyms_Appearance_ChatBackground_Custom: String { return self._s[2530]! } + public var Channel_AdminLogFilter_EventsInfo: String { return self._s[2531]! } + public var ChatAdmins_AdminLabel: String { return self._s[2533]! } + public var KeyCommand_JumpToNextChat: String { return self._s[2534]! } + public var Conversation_StopPollConfirmationTitle: String { return self._s[2536]! } + public var ChangePhoneNumberCode_CodePlaceholder: String { return self._s[2537]! } + public var Month_GenJune: String { return self._s[2538]! } + public var Watch_Location_Current: String { return self._s[2539]! } + public var Conversation_TitleMute: String { return self._s[2540]! } public func PUSH_CHANNEL_MESSAGE_ROUND(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2540]!, self._r[2540]!, [_1]) + return formatWithArgumentRanges(self._s[2541]!, self._r[2541]!, [_1]) } - public var GroupInfo_DeleteAndExit: String { return self._s[2541]! } + public var GroupInfo_DeleteAndExit: String { return self._s[2542]! } public func Conversation_Moderate_DeleteAllMessages(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2542]!, self._r[2542]!, [_0]) + return formatWithArgumentRanges(self._s[2543]!, self._r[2543]!, [_0]) } - public var Call_ReportPlaceholder: String { return self._s[2543]! } - public var MaskStickerSettings_Info: String { return self._s[2544]! } + public var Call_ReportPlaceholder: String { return self._s[2544]! } + public var Chat_SlowmodeSendError: String { return self._s[2545]! } + public var MaskStickerSettings_Info: String { return self._s[2546]! } public func GroupInfo_AddParticipantConfirmation(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2545]!, self._r[2545]!, [_0]) + return formatWithArgumentRanges(self._s[2547]!, self._r[2547]!, [_0]) } - public var Checkout_NewCard_PostcodeTitle: String { return self._s[2546]! } - public var Passport_Address_RegionPlaceholder: String { return self._s[2548]! } - public var Contacts_ShareTelegram: String { return self._s[2549]! } - public var EnterPasscode_EnterNewPasscodeNew: String { return self._s[2550]! } - public var Channel_ErrorAccessDenied: String { return self._s[2551]! } - public var UserInfo_ScamBotWarning: String { return self._s[2553]! } - public var Stickers_GroupChooseStickerPack: String { return self._s[2554]! } - public var Call_ConnectionErrorTitle: String { return self._s[2555]! } - public var UserInfo_NotificationsEnable: String { return self._s[2556]! } - public var ArchivedChats_IntroText1: String { return self._s[2557]! } - public var Tour_Text4: String { return self._s[2560]! } - public var WallpaperSearch_Recent: String { return self._s[2561]! } - public var GroupInfo_ScamGroupWarning: String { return self._s[2562]! } - public var Profile_MessageLifetime2s: String { return self._s[2564]! } - public var Notification_MessageLifetime2s: String { return self._s[2565]! } + public var Checkout_NewCard_PostcodeTitle: String { return self._s[2548]! } + public var Passport_Address_RegionPlaceholder: String { return self._s[2550]! } + public var Contacts_ShareTelegram: String { return self._s[2551]! } + public var EnterPasscode_EnterNewPasscodeNew: String { return self._s[2552]! } + public var Channel_ErrorAccessDenied: String { return self._s[2553]! } + public var UserInfo_ScamBotWarning: String { return self._s[2555]! } + public var Stickers_GroupChooseStickerPack: String { return self._s[2556]! } + public var Call_ConnectionErrorTitle: String { return self._s[2557]! } + public var UserInfo_NotificationsEnable: String { return self._s[2558]! } + public var ArchivedChats_IntroText1: String { return self._s[2559]! } + public var Tour_Text4: String { return self._s[2562]! } + public var WallpaperSearch_Recent: String { return self._s[2563]! } + public var GroupInfo_ScamGroupWarning: String { return self._s[2564]! } + public var Profile_MessageLifetime2s: String { return self._s[2566]! } + public var Notification_MessageLifetime2s: String { return self._s[2567]! } public func Time_PreciseDate_m10(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2566]!, self._r[2566]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[2568]!, self._r[2568]!, [_1, _2, _3]) } - public var Cache_ClearCache: String { return self._s[2567]! } - public var AutoNightTheme_UpdateLocation: String { return self._s[2568]! } - public var Permissions_NotificationsUnreachableText_v0: String { return self._s[2569]! } + public var Cache_ClearCache: String { return self._s[2569]! } + public var AutoNightTheme_UpdateLocation: String { return self._s[2570]! } + public var Permissions_NotificationsUnreachableText_v0: String { return self._s[2571]! } public func Channel_AdminLog_MessageChangedGroupUsername(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2573]!, self._r[2573]!, [_0]) - } - public func Conversation_ShareMyPhoneNumber_StatusSuccess(_ _0: String) -> (String, [(Int, NSRange)]) { return formatWithArgumentRanges(self._s[2575]!, self._r[2575]!, [_0]) } - public var LocalGroup_Text: String { return self._s[2576]! } - public var Channel_AdminLog_EmptyFilterTitle: String { return self._s[2577]! } - public var SocksProxySetup_TypeSocks: String { return self._s[2578]! } - public var ChatList_UnarchiveAction: String { return self._s[2579]! } - public var AutoNightTheme_Title: String { return self._s[2580]! } - public var InstantPage_FeedbackButton: String { return self._s[2581]! } - public var Passport_FieldAddress: String { return self._s[2582]! } - public func Channel_AdminLog_SetSlowmode(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2583]!, self._r[2583]!, [_1, _2]) + public func Conversation_ShareMyPhoneNumber_StatusSuccess(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2577]!, self._r[2577]!, [_0]) } - public var Month_ShortMarch: String { return self._s[2584]! } - public func PUSH_MESSAGE_INVOICE(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { + public var LocalGroup_Text: String { return self._s[2578]! } + public var Channel_AdminLog_EmptyFilterTitle: String { return self._s[2579]! } + public var SocksProxySetup_TypeSocks: String { return self._s[2580]! } + public var ChatList_UnarchiveAction: String { return self._s[2581]! } + public var AutoNightTheme_Title: String { return self._s[2582]! } + public var InstantPage_FeedbackButton: String { return self._s[2583]! } + public var Passport_FieldAddress: String { return self._s[2584]! } + public func Channel_AdminLog_SetSlowmode(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { return formatWithArgumentRanges(self._s[2585]!, self._r[2585]!, [_1, _2]) } - public var SocksProxySetup_UsernamePlaceholder: String { return self._s[2586]! } - public var Conversation_ShareInlineBotLocationConfirmation: String { return self._s[2587]! } - public var Passport_FloodError: String { return self._s[2588]! } - public var SecretGif_Title: String { return self._s[2589]! } - public var NotificationSettings_ShowNotificationsAllAccountsInfoOn: String { return self._s[2590]! } - public var Passport_Language_th: String { return self._s[2592]! } - public var Passport_Address_Address: String { return self._s[2593]! } - public var Login_InvalidLastNameError: String { return self._s[2594]! } - public var Notifications_InAppNotificationsPreview: String { return self._s[2595]! } - public var Notifications_PermissionsUnreachableTitle: String { return self._s[2596]! } - public var SettingsSearch_FAQ: String { return self._s[2597]! } - public var ShareMenu_Send: String { return self._s[2598]! } - public var WallpaperSearch_ColorYellow: String { return self._s[2600]! } - public var Month_GenNovember: String { return self._s[2602]! } - public var SettingsSearch_Synonyms_Appearance_LargeEmoji: String { return self._s[2604]! } + public var Month_ShortMarch: String { return self._s[2586]! } + public func PUSH_MESSAGE_INVOICE(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2587]!, self._r[2587]!, [_1, _2]) + } + public var SocksProxySetup_UsernamePlaceholder: String { return self._s[2588]! } + public var Conversation_ShareInlineBotLocationConfirmation: String { return self._s[2589]! } + public var Passport_FloodError: String { return self._s[2590]! } + public var SecretGif_Title: String { return self._s[2591]! } + public var NotificationSettings_ShowNotificationsAllAccountsInfoOn: String { return self._s[2592]! } + public var Passport_Language_th: String { return self._s[2594]! } + public var Passport_Address_Address: String { return self._s[2595]! } + public var Login_InvalidLastNameError: String { return self._s[2596]! } + public var Notifications_InAppNotificationsPreview: String { return self._s[2597]! } + public var Notifications_PermissionsUnreachableTitle: String { return self._s[2598]! } + public var SettingsSearch_FAQ: String { return self._s[2599]! } + public var ShareMenu_Send: String { return self._s[2600]! } + public var WallpaperSearch_ColorYellow: String { return self._s[2602]! } + public var Month_GenNovember: String { return self._s[2604]! } + public var SettingsSearch_Synonyms_Appearance_LargeEmoji: String { return self._s[2606]! } public func Conversation_ShareMyPhoneNumberConfirmation(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2605]!, self._r[2605]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2607]!, self._r[2607]!, [_1, _2]) } - public var Checkout_Email: String { return self._s[2606]! } - public var NotificationsSound_Tritone: String { return self._s[2607]! } - public var StickerPacksSettings_ManagingHelp: String { return self._s[2609]! } + public var Checkout_Email: String { return self._s[2608]! } + public var NotificationsSound_Tritone: String { return self._s[2609]! } + public var StickerPacksSettings_ManagingHelp: String { return self._s[2611]! } public func PUSH_PINNED_ROUND(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2612]!, self._r[2612]!, [_1]) + return formatWithArgumentRanges(self._s[2614]!, self._r[2614]!, [_1]) } - public var ChangePhoneNumberNumber_Help: String { return self._s[2613]! } + public var ChangePhoneNumberNumber_Help: String { return self._s[2615]! } public func Checkout_LiabilityAlert(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2614]!, self._r[2614]!, [_1, _1, _1, _2]) + return formatWithArgumentRanges(self._s[2616]!, self._r[2616]!, [_1, _1, _1, _2]) } - public var ChatList_UndoArchiveTitle: String { return self._s[2615]! } - public var Notification_Exceptions_Add: String { return self._s[2616]! } - public var DialogList_You: String { return self._s[2617]! } - public var MediaPicker_Send: String { return self._s[2620]! } - public var SettingsSearch_Synonyms_Stickers_Title: String { return self._s[2621]! } - public var Call_AudioRouteSpeaker: String { return self._s[2622]! } - public var Watch_UserInfo_Title: String { return self._s[2623]! } - public var Appearance_AccentColor: String { return self._s[2624]! } + public var ChatList_UndoArchiveTitle: String { return self._s[2617]! } + public var Notification_Exceptions_Add: String { return self._s[2618]! } + public var DialogList_You: String { return self._s[2619]! } + public var MediaPicker_Send: String { return self._s[2622]! } + public var SettingsSearch_Synonyms_Stickers_Title: String { return self._s[2623]! } + public var Call_AudioRouteSpeaker: String { return self._s[2624]! } + public var Watch_UserInfo_Title: String { return self._s[2625]! } + public var Appearance_AccentColor: String { return self._s[2626]! } public func Login_EmailPhoneSubject(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2625]!, self._r[2625]!, [_0]) + return formatWithArgumentRanges(self._s[2627]!, self._r[2627]!, [_0]) } - public var Permissions_ContactsAllowInSettings_v0: String { return self._s[2626]! } + public var Permissions_ContactsAllowInSettings_v0: String { return self._s[2628]! } public func PUSH_CHANNEL_MESSAGE_GAME(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2627]!, self._r[2627]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2629]!, self._r[2629]!, [_1, _2]) } - public var Conversation_ClousStorageInfo_Description2: String { return self._s[2628]! } - public var WebSearch_RecentClearConfirmation: String { return self._s[2629]! } - public var Notification_CallOutgoing: String { return self._s[2630]! } - public var PrivacySettings_PasscodeAndFaceId: String { return self._s[2631]! } - public var Channel_DiscussionGroup_MakeHistoryPublic: String { return self._s[2632]! } - public var Call_RecordingDisabledMessage: String { return self._s[2633]! } - public var Message_Game: String { return self._s[2634]! } - public var Conversation_PressVolumeButtonForSound: String { return self._s[2635]! } - public var PrivacyLastSeenSettings_CustomHelp: String { return self._s[2636]! } - public var Channel_DiscussionGroup_PrivateGroup: String { return self._s[2637]! } - public var Channel_EditAdmin_PermissionAddAdmins: String { return self._s[2638]! } - public var Date_DialogDateFormat: String { return self._s[2639]! } - public var WallpaperColors_SetCustomColor: String { return self._s[2640]! } - public var Notifications_InAppNotifications: String { return self._s[2641]! } + public var Conversation_ClousStorageInfo_Description2: String { return self._s[2630]! } + public var WebSearch_RecentClearConfirmation: String { return self._s[2631]! } + public var Notification_CallOutgoing: String { return self._s[2632]! } + public var PrivacySettings_PasscodeAndFaceId: String { return self._s[2633]! } + public var Channel_DiscussionGroup_MakeHistoryPublic: String { return self._s[2634]! } + public var Call_RecordingDisabledMessage: String { return self._s[2635]! } + public var Message_Game: String { return self._s[2636]! } + public var Conversation_PressVolumeButtonForSound: String { return self._s[2637]! } + public var PrivacyLastSeenSettings_CustomHelp: String { return self._s[2638]! } + public var Channel_DiscussionGroup_PrivateGroup: String { return self._s[2639]! } + public var Channel_EditAdmin_PermissionAddAdmins: String { return self._s[2640]! } + public var Date_DialogDateFormat: String { return self._s[2641]! } + public var WallpaperColors_SetCustomColor: String { return self._s[2642]! } + public var Notifications_InAppNotifications: String { return self._s[2643]! } public func Channel_Management_RemovedBy(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2642]!, self._r[2642]!, [_0]) + return formatWithArgumentRanges(self._s[2644]!, self._r[2644]!, [_0]) } public func Settings_ApplyProxyAlert(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2643]!, self._r[2643]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2645]!, self._r[2645]!, [_1, _2]) } - public var NewContact_Title: String { return self._s[2644]! } + public var NewContact_Title: String { return self._s[2646]! } public func AutoDownloadSettings_UpToForAll(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2645]!, self._r[2645]!, [_0]) + return formatWithArgumentRanges(self._s[2647]!, self._r[2647]!, [_0]) } - public var Conversation_ViewContactDetails: String { return self._s[2646]! } + public var Conversation_ViewContactDetails: String { return self._s[2648]! } public func PUSH_CHANNEL_MESSAGE_CONTACT(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2648]!, self._r[2648]!, [_1]) + return formatWithArgumentRanges(self._s[2650]!, self._r[2650]!, [_1]) } - public var Checkout_NewCard_CardholderNameTitle: String { return self._s[2649]! } - public var Passport_Identity_ExpiryDateNone: String { return self._s[2650]! } - public var PrivacySettings_Title: String { return self._s[2651]! } - public var Conversation_SilentBroadcastTooltipOff: String { return self._s[2654]! } - public var GroupRemoved_UsersSectionTitle: String { return self._s[2655]! } - public var Contacts_PhoneNumber: String { return self._s[2656]! } - public var Map_ShowPlaces: String { return self._s[2658]! } - public var ChatAdmins_Title: String { return self._s[2659]! } - public var InstantPage_Reference: String { return self._s[2661]! } - public var ReportGroupLocation_Text: String { return self._s[2662]! } + public var Checkout_NewCard_CardholderNameTitle: String { return self._s[2651]! } + public var Passport_Identity_ExpiryDateNone: String { return self._s[2652]! } + public var PrivacySettings_Title: String { return self._s[2653]! } + public var Conversation_SilentBroadcastTooltipOff: String { return self._s[2656]! } + public var GroupRemoved_UsersSectionTitle: String { return self._s[2657]! } + public var Contacts_PhoneNumber: String { return self._s[2658]! } + public var Map_ShowPlaces: String { return self._s[2660]! } + public var ChatAdmins_Title: String { return self._s[2661]! } + public var InstantPage_Reference: String { return self._s[2663]! } + public var ReportGroupLocation_Text: String { return self._s[2664]! } public func PUSH_CHAT_MESSAGE_FWD(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2663]!, self._r[2663]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2665]!, self._r[2665]!, [_1, _2]) } - public var Camera_FlashOff: String { return self._s[2664]! } - public var Watch_UserInfo_Block: String { return self._s[2665]! } - public var ChatSettings_Stickers: String { return self._s[2666]! } - public var ChatSettings_DownloadInBackground: String { return self._s[2667]! } - public var Appearance_ThemeCarouselTintedNight: String { return self._s[2668]! } + public var Camera_FlashOff: String { return self._s[2666]! } + public var Watch_UserInfo_Block: String { return self._s[2667]! } + public var ChatSettings_Stickers: String { return self._s[2668]! } + public var ChatSettings_DownloadInBackground: String { return self._s[2669]! } + public var Appearance_ThemeCarouselTintedNight: String { return self._s[2670]! } public func UserInfo_BlockConfirmation(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2669]!, self._r[2669]!, [_0]) + return formatWithArgumentRanges(self._s[2671]!, self._r[2671]!, [_0]) } - public var Settings_ViewPhoto: String { return self._s[2670]! } - public var Login_CheckOtherSessionMessages: String { return self._s[2671]! } - public var AutoDownloadSettings_Cellular: String { return self._s[2672]! } - public var SettingsSearch_Synonyms_Notifications_GroupNotificationsExceptions: String { return self._s[2673]! } + public var Settings_ViewPhoto: String { return self._s[2672]! } + public var Login_CheckOtherSessionMessages: String { return self._s[2673]! } + public var AutoDownloadSettings_Cellular: String { return self._s[2674]! } + public var SettingsSearch_Synonyms_Notifications_GroupNotificationsExceptions: String { return self._s[2675]! } public func Target_InviteToGroupConfirmation(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2675]!, self._r[2675]!, [_0]) + return formatWithArgumentRanges(self._s[2677]!, self._r[2677]!, [_0]) } - public var Privacy_DeleteDrafts: String { return self._s[2676]! } - public var Wallpaper_SetCustomBackgroundInfo: String { return self._s[2677]! } + public var Privacy_DeleteDrafts: String { return self._s[2678]! } + public var Wallpaper_SetCustomBackgroundInfo: String { return self._s[2679]! } public func LastSeen_AtDate(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2678]!, self._r[2678]!, [_0]) + return formatWithArgumentRanges(self._s[2680]!, self._r[2680]!, [_0]) } - public var DialogList_SavedMessagesHelp: String { return self._s[2679]! } - public var DialogList_SavedMessages: String { return self._s[2680]! } - public var GroupInfo_UpgradeButton: String { return self._s[2681]! } - public var DialogList_Pin: String { return self._s[2683]! } + public var DialogList_SavedMessagesHelp: String { return self._s[2681]! } + public var DialogList_SavedMessages: String { return self._s[2682]! } + public var GroupInfo_UpgradeButton: String { return self._s[2683]! } + public var DialogList_Pin: String { return self._s[2685]! } public func ForwardedAuthors2(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2684]!, self._r[2684]!, [_0, _1]) + return formatWithArgumentRanges(self._s[2686]!, self._r[2686]!, [_0, _1]) } public func Login_PhoneGenericEmailSubject(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2685]!, self._r[2685]!, [_0]) + return formatWithArgumentRanges(self._s[2687]!, self._r[2687]!, [_0]) } - public var Notification_Exceptions_AlwaysOn: String { return self._s[2686]! } - public var UserInfo_NotificationsDisable: String { return self._s[2687]! } - public var Paint_Outlined: String { return self._s[2688]! } - public var Activity_PlayingGame: String { return self._s[2689]! } - public var SearchImages_NoImagesFound: String { return self._s[2690]! } - public var SocksProxySetup_ProxyType: String { return self._s[2691]! } - public var AppleWatch_ReplyPresetsHelp: String { return self._s[2693]! } - public var Conversation_ContextMenuCancelSending: String { return self._s[2694]! } - public var Settings_AppLanguage: String { return self._s[2695]! } - public var TwoStepAuth_ResetAccountHelp: String { return self._s[2696]! } - public var Common_ChoosePhoto: String { return self._s[2697]! } - public var CallFeedback_ReasonEcho: String { return self._s[2698]! } + public var Notification_Exceptions_AlwaysOn: String { return self._s[2688]! } + public var UserInfo_NotificationsDisable: String { return self._s[2689]! } + public var Paint_Outlined: String { return self._s[2690]! } + public var Activity_PlayingGame: String { return self._s[2691]! } + public var SearchImages_NoImagesFound: String { return self._s[2692]! } + public var SocksProxySetup_ProxyType: String { return self._s[2693]! } + public var AppleWatch_ReplyPresetsHelp: String { return self._s[2695]! } + public var Conversation_ContextMenuCancelSending: String { return self._s[2696]! } + public var Settings_AppLanguage: String { return self._s[2697]! } + public var TwoStepAuth_ResetAccountHelp: String { return self._s[2698]! } + public var Common_ChoosePhoto: String { return self._s[2699]! } + public var CallFeedback_ReasonEcho: String { return self._s[2700]! } public func PUSH_PINNED_AUDIO(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2699]!, self._r[2699]!, [_1]) + return formatWithArgumentRanges(self._s[2701]!, self._r[2701]!, [_1]) } - public var Privacy_Calls_AlwaysAllow: String { return self._s[2700]! } - public var Activity_UploadingVideo: String { return self._s[2701]! } - public var ChannelInfo_DeleteChannelConfirmation: String { return self._s[2702]! } - public var NetworkUsageSettings_Wifi: String { return self._s[2703]! } - public var Channel_BanUser_PermissionReadMessages: String { return self._s[2704]! } - public var Checkout_PayWithTouchId: String { return self._s[2705]! } - public var Wallpaper_ResetWallpapersConfirmation: String { return self._s[2706]! } + public var Privacy_Calls_AlwaysAllow: String { return self._s[2702]! } + public var Activity_UploadingVideo: String { return self._s[2703]! } + public var ChannelInfo_DeleteChannelConfirmation: String { return self._s[2704]! } + public var NetworkUsageSettings_Wifi: String { return self._s[2705]! } + public var Channel_BanUser_PermissionReadMessages: String { return self._s[2706]! } + public var Checkout_PayWithTouchId: String { return self._s[2707]! } + public var Wallpaper_ResetWallpapersConfirmation: String { return self._s[2708]! } public func PUSH_LOCKED_MESSAGE(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2708]!, self._r[2708]!, [_1]) + return formatWithArgumentRanges(self._s[2710]!, self._r[2710]!, [_1]) } - public var Notifications_ExceptionsNone: String { return self._s[2709]! } + public var Notifications_ExceptionsNone: String { return self._s[2711]! } public func Message_ForwardedMessageShort(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2710]!, self._r[2710]!, [_0]) + return formatWithArgumentRanges(self._s[2712]!, self._r[2712]!, [_0]) } public func PUSH_PINNED_GEO(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2711]!, self._r[2711]!, [_1]) + return formatWithArgumentRanges(self._s[2713]!, self._r[2713]!, [_1]) } - public var AuthSessions_IncompleteAttempts: String { return self._s[2713]! } - public var Passport_Address_Region: String { return self._s[2716]! } - public var ChatList_DeleteChat: String { return self._s[2717]! } - public var LogoutOptions_ClearCacheTitle: String { return self._s[2718]! } - public var PhotoEditor_TiltShift: String { return self._s[2719]! } - public var Settings_FAQ_URL: String { return self._s[2720]! } - public var Passport_Language_sl: String { return self._s[2721]! } - public var Settings_PrivacySettings: String { return self._s[2723]! } - public var SharedMedia_TitleLink: String { return self._s[2724]! } - public var Passport_Identity_TypePassportUploadScan: String { return self._s[2725]! } - public var Settings_SetProfilePhoto: String { return self._s[2726]! } - public var Channel_About_Help: String { return self._s[2727]! } - public var Contacts_PermissionsEnable: String { return self._s[2728]! } - public var SettingsSearch_Synonyms_Notifications_GroupNotificationsAlert: String { return self._s[2729]! } - public var AttachmentMenu_SendAsFiles: String { return self._s[2730]! } - public var CallFeedback_ReasonInterruption: String { return self._s[2732]! } - public var Passport_Address_AddTemporaryRegistration: String { return self._s[2733]! } - public var AutoDownloadSettings_AutodownloadVideos: String { return self._s[2734]! } - public var ChatSettings_AutoDownloadSettings_Delimeter: String { return self._s[2735]! } - public var PrivacySettings_DeleteAccountTitle: String { return self._s[2736]! } - public var AccessDenied_VideoMessageCamera: String { return self._s[2738]! } - public var Map_OpenInYandexMaps: String { return self._s[2740]! } - public var CreateGroup_ErrorLocatedGroupsTooMuch: String { return self._s[2741]! } - public var PhotoEditor_SaturationTool: String { return self._s[2742]! } + public var AuthSessions_IncompleteAttempts: String { return self._s[2715]! } + public var Passport_Address_Region: String { return self._s[2718]! } + public var ChatList_DeleteChat: String { return self._s[2719]! } + public var LogoutOptions_ClearCacheTitle: String { return self._s[2720]! } + public var PhotoEditor_TiltShift: String { return self._s[2721]! } + public var Settings_FAQ_URL: String { return self._s[2722]! } + public var Passport_Language_sl: String { return self._s[2723]! } + public var Settings_PrivacySettings: String { return self._s[2725]! } + public var SharedMedia_TitleLink: String { return self._s[2726]! } + public var Passport_Identity_TypePassportUploadScan: String { return self._s[2727]! } + public var Settings_SetProfilePhoto: String { return self._s[2728]! } + public var Channel_About_Help: String { return self._s[2729]! } + public var Contacts_PermissionsEnable: String { return self._s[2730]! } + public var SettingsSearch_Synonyms_Notifications_GroupNotificationsAlert: String { return self._s[2731]! } + public var AttachmentMenu_SendAsFiles: String { return self._s[2732]! } + public var CallFeedback_ReasonInterruption: String { return self._s[2734]! } + public var Passport_Address_AddTemporaryRegistration: String { return self._s[2735]! } + public var AutoDownloadSettings_AutodownloadVideos: String { return self._s[2736]! } + public var ChatSettings_AutoDownloadSettings_Delimeter: String { return self._s[2737]! } + public var PrivacySettings_DeleteAccountTitle: String { return self._s[2738]! } + public var AccessDenied_VideoMessageCamera: String { return self._s[2740]! } + public var Map_OpenInYandexMaps: String { return self._s[2742]! } + public var CreateGroup_ErrorLocatedGroupsTooMuch: String { return self._s[2743]! } + public var PhotoEditor_SaturationTool: String { return self._s[2744]! } public func PUSH_MESSAGE_STICKER(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2743]!, self._r[2743]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2745]!, self._r[2745]!, [_1, _2]) } - public var PrivacyPhoneNumberSettings_CustomHelp: String { return self._s[2744]! } - public var Notification_Exceptions_NewException_NotificationHeader: String { return self._s[2745]! } - public var Group_OwnershipTransfer_ErrorLocatedGroupsTooMuch: String { return self._s[2746]! } - public var Appearance_TextSize: String { return self._s[2747]! } + public var PrivacyPhoneNumberSettings_CustomHelp: String { return self._s[2746]! } + public var Notification_Exceptions_NewException_NotificationHeader: String { return self._s[2747]! } + public var Group_OwnershipTransfer_ErrorLocatedGroupsTooMuch: String { return self._s[2748]! } + public var Appearance_TextSize: String { return self._s[2749]! } public func LOCAL_MESSAGE_FWDS(_ _1: String, _ _2: Int) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2748]!, self._r[2748]!, [_1, "\(_2)"]) + return formatWithArgumentRanges(self._s[2750]!, self._r[2750]!, [_1, "\(_2)"]) } - public var Channel_Username_InvalidTooShort: String { return self._s[2750]! } + public var Channel_Username_InvalidTooShort: String { return self._s[2752]! } public func Group_OwnershipTransfer_DescriptionInfo(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2751]!, self._r[2751]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2753]!, self._r[2753]!, [_1, _2]) } public func PUSH_CHAT_MESSAGE_GAME(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2752]!, self._r[2752]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[2754]!, self._r[2754]!, [_1, _2, _3]) } - public var GroupInfo_PublicLinkAdd: String { return self._s[2753]! } - public var Passport_PassportInformation: String { return self._s[2756]! } - public var WatchRemote_AlertTitle: String { return self._s[2757]! } - public var Privacy_GroupsAndChannels_NeverAllow: String { return self._s[2758]! } - public var ConvertToSupergroup_HelpText: String { return self._s[2760]! } + public var GroupInfo_PublicLinkAdd: String { return self._s[2755]! } + public var Passport_PassportInformation: String { return self._s[2758]! } + public var WatchRemote_AlertTitle: String { return self._s[2759]! } + public var Privacy_GroupsAndChannels_NeverAllow: String { return self._s[2760]! } + public var ConvertToSupergroup_HelpText: String { return self._s[2762]! } public func Time_MonthOfYear_m7(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2761]!, self._r[2761]!, [_0]) + return formatWithArgumentRanges(self._s[2763]!, self._r[2763]!, [_0]) } public func PUSH_PHONE_CALL_REQUEST(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2762]!, self._r[2762]!, [_1]) + return formatWithArgumentRanges(self._s[2764]!, self._r[2764]!, [_1]) } - public var Privacy_GroupsAndChannels_CustomHelp: String { return self._s[2763]! } - public var TwoStepAuth_RecoveryCodeInvalid: String { return self._s[2765]! } - public var AccessDenied_CameraDisabled: String { return self._s[2766]! } + public var Privacy_GroupsAndChannels_CustomHelp: String { return self._s[2765]! } + public var TwoStepAuth_RecoveryCodeInvalid: String { return self._s[2767]! } + public var AccessDenied_CameraDisabled: String { return self._s[2768]! } public func Channel_Username_UsernameIsAvailable(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2767]!, self._r[2767]!, [_0]) + return formatWithArgumentRanges(self._s[2769]!, self._r[2769]!, [_0]) } - public var PhotoEditor_ContrastTool: String { return self._s[2770]! } + public var PhotoEditor_ContrastTool: String { return self._s[2772]! } public func PUSH_PINNED_DOC(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2771]!, self._r[2771]!, [_1]) + return formatWithArgumentRanges(self._s[2773]!, self._r[2773]!, [_1]) } - public var DialogList_Draft: String { return self._s[2772]! } - public var Privacy_TopPeersDelete: String { return self._s[2774]! } - public var LoginPassword_PasswordPlaceholder: String { return self._s[2775]! } - public var Passport_Identity_TypeIdentityCardUploadScan: String { return self._s[2776]! } - public var WebSearch_RecentSectionClear: String { return self._s[2777]! } - public var Watch_ChatList_NoConversationsTitle: String { return self._s[2779]! } - public var Common_Done: String { return self._s[2781]! } - public var AuthSessions_EmptyText: String { return self._s[2782]! } - public var Conversation_ShareBotContactConfirmation: String { return self._s[2783]! } - public var Tour_Title5: String { return self._s[2784]! } + public var DialogList_Draft: String { return self._s[2774]! } + public var Privacy_TopPeersDelete: String { return self._s[2776]! } + public var LoginPassword_PasswordPlaceholder: String { return self._s[2777]! } + public var Passport_Identity_TypeIdentityCardUploadScan: String { return self._s[2778]! } + public var WebSearch_RecentSectionClear: String { return self._s[2779]! } + public var Watch_ChatList_NoConversationsTitle: String { return self._s[2781]! } + public var Common_Done: String { return self._s[2783]! } + public var AuthSessions_EmptyText: String { return self._s[2784]! } + public var Conversation_ShareBotContactConfirmation: String { return self._s[2785]! } + public var Tour_Title5: String { return self._s[2786]! } public func Map_DirectionsDriveEta(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2785]!, self._r[2785]!, [_0]) + return formatWithArgumentRanges(self._s[2787]!, self._r[2787]!, [_0]) } - public var ApplyLanguage_UnsufficientDataTitle: String { return self._s[2786]! } - public var Conversation_LinkDialogSave: String { return self._s[2787]! } - public var GroupInfo_ActionRestrict: String { return self._s[2788]! } - public var Checkout_Title: String { return self._s[2789]! } - public var Channel_DiscussionGroup_HeaderLabel: String { return self._s[2791]! } - public var Channel_AdminLog_CanChangeInfo: String { return self._s[2793]! } - public var Notification_RenamedGroup: String { return self._s[2794]! } - public var PeopleNearby_Groups: String { return self._s[2795]! } - public var Checkout_PayWithFaceId: String { return self._s[2796]! } - public var Channel_BanList_BlockedTitle: String { return self._s[2797]! } - public var SettingsSearch_Synonyms_Notifications_InAppNotificationsSound: String { return self._s[2799]! } - public var Checkout_WebConfirmation_Title: String { return self._s[2800]! } - public var Notifications_MessageNotificationsAlert: String { return self._s[2801]! } + public var ApplyLanguage_UnsufficientDataTitle: String { return self._s[2788]! } + public var Conversation_LinkDialogSave: String { return self._s[2789]! } + public var GroupInfo_ActionRestrict: String { return self._s[2790]! } + public var Checkout_Title: String { return self._s[2791]! } + public var Channel_DiscussionGroup_HeaderLabel: String { return self._s[2793]! } + public var Channel_AdminLog_CanChangeInfo: String { return self._s[2795]! } + public var Notification_RenamedGroup: String { return self._s[2796]! } + public var PeopleNearby_Groups: String { return self._s[2797]! } + public var Checkout_PayWithFaceId: String { return self._s[2798]! } + public var Channel_BanList_BlockedTitle: String { return self._s[2799]! } + public var SettingsSearch_Synonyms_Notifications_InAppNotificationsSound: String { return self._s[2801]! } + public var Checkout_WebConfirmation_Title: String { return self._s[2802]! } + public var Notifications_MessageNotificationsAlert: String { return self._s[2803]! } public func Activity_RemindAboutGroup(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2802]!, self._r[2802]!, [_0]) + return formatWithArgumentRanges(self._s[2804]!, self._r[2804]!, [_0]) } - public var Profile_AddToExisting: String { return self._s[2804]! } + public var Profile_AddToExisting: String { return self._s[2806]! } public func Profile_CreateEncryptedChatOutdatedError(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2805]!, self._r[2805]!, [_0, _1]) + return formatWithArgumentRanges(self._s[2807]!, self._r[2807]!, [_0, _1]) } - public var Cache_Files: String { return self._s[2807]! } - public var Permissions_PrivacyPolicy: String { return self._s[2808]! } - public var SocksProxySetup_ConnectAndSave: String { return self._s[2809]! } - public var UserInfo_NotificationsDefaultDisabled: String { return self._s[2810]! } - public var AutoDownloadSettings_TypeContacts: String { return self._s[2812]! } - public var Calls_NoCallsPlaceholder: String { return self._s[2814]! } - public var Channel_Username_RevokeExistingUsernamesInfo: String { return self._s[2815]! } - public var Notifications_ExceptionsGroupPlaceholder: String { return self._s[2817]! } + public var Cache_Files: String { return self._s[2809]! } + public var Permissions_PrivacyPolicy: String { return self._s[2810]! } + public var SocksProxySetup_ConnectAndSave: String { return self._s[2811]! } + public var UserInfo_NotificationsDefaultDisabled: String { return self._s[2812]! } + public var AutoDownloadSettings_TypeContacts: String { return self._s[2814]! } + public var Calls_NoCallsPlaceholder: String { return self._s[2816]! } + public var Channel_Username_RevokeExistingUsernamesInfo: String { return self._s[2817]! } + public var Notifications_ExceptionsGroupPlaceholder: String { return self._s[2819]! } public func PUSH_CHAT_MESSAGE_INVOICE(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2818]!, self._r[2818]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[2820]!, self._r[2820]!, [_1, _2, _3]) } - public var SettingsSearch_Synonyms_Notifications_GroupNotificationsSound: String { return self._s[2819]! } - public var Passport_FieldAddressHelp: String { return self._s[2820]! } - public var Privacy_GroupsAndChannels_InviteToChannelMultipleError: String { return self._s[2821]! } + public var SettingsSearch_Synonyms_Notifications_GroupNotificationsSound: String { return self._s[2821]! } + public var Passport_FieldAddressHelp: String { return self._s[2822]! } + public var Privacy_GroupsAndChannels_InviteToChannelMultipleError: String { return self._s[2823]! } public func Login_TermsOfService_ProceedBot(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2822]!, self._r[2822]!, [_0]) + return formatWithArgumentRanges(self._s[2824]!, self._r[2824]!, [_0]) } - public var Channel_AdminLog_EmptyTitle: String { return self._s[2823]! } - public var Privacy_Calls_NeverAllow_Title: String { return self._s[2825]! } - public var Login_UnknownError: String { return self._s[2826]! } - public var Group_UpgradeNoticeText2: String { return self._s[2828]! } - public var Watch_Compose_AddContact: String { return self._s[2829]! } - public var Web_Error: String { return self._s[2830]! } - public var Gif_Search: String { return self._s[2831]! } - public var Profile_MessageLifetime1h: String { return self._s[2832]! } - public var CheckoutInfo_ReceiverInfoEmailPlaceholder: String { return self._s[2833]! } - public var Channel_Username_CheckingUsername: String { return self._s[2834]! } - public var CallFeedback_ReasonSilentRemote: String { return self._s[2835]! } - public var AutoDownloadSettings_TypeChannels: String { return self._s[2836]! } - public var Channel_AboutItem: String { return self._s[2837]! } - public var Privacy_GroupsAndChannels_AlwaysAllow_Placeholder: String { return self._s[2839]! } - public var GroupInfo_SharedMedia: String { return self._s[2840]! } + public var Channel_AdminLog_EmptyTitle: String { return self._s[2825]! } + public var Privacy_Calls_NeverAllow_Title: String { return self._s[2827]! } + public var Login_UnknownError: String { return self._s[2828]! } + public var Group_UpgradeNoticeText2: String { return self._s[2830]! } + public var Watch_Compose_AddContact: String { return self._s[2831]! } + public var Web_Error: String { return self._s[2832]! } + public var Gif_Search: String { return self._s[2833]! } + public var Profile_MessageLifetime1h: String { return self._s[2834]! } + public var CheckoutInfo_ReceiverInfoEmailPlaceholder: String { return self._s[2835]! } + public var Channel_Username_CheckingUsername: String { return self._s[2836]! } + public var CallFeedback_ReasonSilentRemote: String { return self._s[2837]! } + public var AutoDownloadSettings_TypeChannels: String { return self._s[2838]! } + public var Channel_AboutItem: String { return self._s[2839]! } + public var Privacy_GroupsAndChannels_AlwaysAllow_Placeholder: String { return self._s[2841]! } + public var GroupInfo_SharedMedia: String { return self._s[2842]! } public func Channel_AdminLog_MessagePromotedName(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2841]!, self._r[2841]!, [_1]) - } - public var Call_PhoneCallInProgressMessage: String { return self._s[2842]! } - public func PUSH_CHANNEL_ALBUM(_ _1: String) -> (String, [(Int, NSRange)]) { return formatWithArgumentRanges(self._s[2843]!, self._r[2843]!, [_1]) } - public var ChatList_UndoArchiveRevealedText: String { return self._s[2844]! } - public var GroupInfo_InviteLink_RevokeAlert_Text: String { return self._s[2845]! } - public var Conversation_SearchByName_Placeholder: String { return self._s[2846]! } - public var CreatePoll_AddOption: String { return self._s[2847]! } - public var GroupInfo_Permissions_SearchPlaceholder: String { return self._s[2848]! } - public var Group_UpgradeNoticeHeader: String { return self._s[2849]! } - public var Channel_Management_AddModerator: String { return self._s[2850]! } - public var AutoDownloadSettings_MaxFileSize: String { return self._s[2851]! } - public var StickerPacksSettings_ShowStickersButton: String { return self._s[2852]! } - public var NotificationsSound_Hello: String { return self._s[2853]! } - public var SocksProxySetup_SavedProxies: String { return self._s[2854]! } - public var Channel_Stickers_Placeholder: String { return self._s[2856]! } + public var Call_PhoneCallInProgressMessage: String { return self._s[2844]! } + public func PUSH_CHANNEL_ALBUM(_ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2845]!, self._r[2845]!, [_1]) + } + public var ChatList_UndoArchiveRevealedText: String { return self._s[2846]! } + public var GroupInfo_InviteLink_RevokeAlert_Text: String { return self._s[2847]! } + public var Conversation_SearchByName_Placeholder: String { return self._s[2848]! } + public var CreatePoll_AddOption: String { return self._s[2849]! } + public var GroupInfo_Permissions_SearchPlaceholder: String { return self._s[2850]! } + public var Group_UpgradeNoticeHeader: String { return self._s[2851]! } + public var Channel_Management_AddModerator: String { return self._s[2852]! } + public var AutoDownloadSettings_MaxFileSize: String { return self._s[2853]! } + public var StickerPacksSettings_ShowStickersButton: String { return self._s[2854]! } + public var NotificationsSound_Hello: String { return self._s[2855]! } + public var SocksProxySetup_SavedProxies: String { return self._s[2856]! } + public var Channel_Stickers_Placeholder: String { return self._s[2858]! } public func Login_EmailCodeBody(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2857]!, self._r[2857]!, [_0]) + return formatWithArgumentRanges(self._s[2859]!, self._r[2859]!, [_0]) } - public var PrivacyPolicy_DeclineDeclineAndDelete: String { return self._s[2858]! } - public var Channel_Management_AddModeratorHelp: String { return self._s[2859]! } - public var ContactInfo_BirthdayLabel: String { return self._s[2860]! } - public var ChangePhoneNumberCode_RequestingACall: String { return self._s[2861]! } - public var AutoDownloadSettings_Channels: String { return self._s[2862]! } - public var Passport_Language_mn: String { return self._s[2863]! } - public var Notifications_ResetAllNotificationsHelp: String { return self._s[2866]! } - public var Passport_Language_ja: String { return self._s[2868]! } - public var Settings_About_Title: String { return self._s[2869]! } - public var Settings_NotificationsAndSounds: String { return self._s[2870]! } - public var ChannelInfo_DeleteGroup: String { return self._s[2871]! } - public var Settings_BlockedUsers: String { return self._s[2872]! } + public var PrivacyPolicy_DeclineDeclineAndDelete: String { return self._s[2860]! } + public var Channel_Management_AddModeratorHelp: String { return self._s[2861]! } + public var ContactInfo_BirthdayLabel: String { return self._s[2862]! } + public var ChangePhoneNumberCode_RequestingACall: String { return self._s[2863]! } + public var AutoDownloadSettings_Channels: String { return self._s[2864]! } + public var Passport_Language_mn: String { return self._s[2865]! } + public var Notifications_ResetAllNotificationsHelp: String { return self._s[2868]! } + public var Passport_Language_ja: String { return self._s[2870]! } + public var Settings_About_Title: String { return self._s[2871]! } + public var Settings_NotificationsAndSounds: String { return self._s[2872]! } + public var ChannelInfo_DeleteGroup: String { return self._s[2873]! } + public var Settings_BlockedUsers: String { return self._s[2874]! } public func Time_MonthOfYear_m4(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2873]!, self._r[2873]!, [_0]) + return formatWithArgumentRanges(self._s[2875]!, self._r[2875]!, [_0]) } - public var AutoDownloadSettings_PreloadVideo: String { return self._s[2874]! } - public var Passport_Address_AddResidentialAddress: String { return self._s[2875]! } - public var Channel_Username_Title: String { return self._s[2876]! } + public var AutoDownloadSettings_PreloadVideo: String { return self._s[2876]! } + public var Passport_Address_AddResidentialAddress: String { return self._s[2877]! } + public var Channel_Username_Title: String { return self._s[2878]! } public func Notification_RemovedGroupPhoto(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2877]!, self._r[2877]!, [_0]) + return formatWithArgumentRanges(self._s[2879]!, self._r[2879]!, [_0]) } - public var AttachmentMenu_File: String { return self._s[2879]! } - public var AppleWatch_Title: String { return self._s[2880]! } - public var Activity_RecordingVideoMessage: String { return self._s[2881]! } + public var AttachmentMenu_File: String { return self._s[2881]! } + public var AppleWatch_Title: String { return self._s[2882]! } + public var Activity_RecordingVideoMessage: String { return self._s[2883]! } public func Channel_DiscussionGroup_PublicChannelLink(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2882]!, self._r[2882]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2884]!, self._r[2884]!, [_1, _2]) } - public var Weekday_Saturday: String { return self._s[2883]! } - public var WallpaperPreview_SwipeColorsTopText: String { return self._s[2884]! } - public var Profile_CreateEncryptedChatError: String { return self._s[2885]! } - public var Common_Next: String { return self._s[2887]! } - public var Channel_Stickers_YourStickers: String { return self._s[2889]! } - public var Call_AudioRouteHeadphones: String { return self._s[2890]! } - public var TwoStepAuth_EnterPasswordForgot: String { return self._s[2892]! } - public var Watch_Contacts_NoResults: String { return self._s[2894]! } - public var PhotoEditor_TintTool: String { return self._s[2897]! } - public var LoginPassword_ResetAccount: String { return self._s[2899]! } - public var Settings_SavedMessages: String { return self._s[2900]! } - public var SettingsSearch_Synonyms_Appearance_Animations: String { return self._s[2901]! } - public var Bot_GenericSupportStatus: String { return self._s[2902]! } - public var StickerPack_Add: String { return self._s[2903]! } - public var Checkout_TotalAmount: String { return self._s[2904]! } - public var Your_cards_number_is_invalid: String { return self._s[2905]! } - public var SettingsSearch_Synonyms_Appearance_AutoNightTheme: String { return self._s[2906]! } + public var Weekday_Saturday: String { return self._s[2885]! } + public var WallpaperPreview_SwipeColorsTopText: String { return self._s[2886]! } + public var Profile_CreateEncryptedChatError: String { return self._s[2887]! } + public var Common_Next: String { return self._s[2889]! } + public var Channel_Stickers_YourStickers: String { return self._s[2891]! } + public var Call_AudioRouteHeadphones: String { return self._s[2892]! } + public var TwoStepAuth_EnterPasswordForgot: String { return self._s[2894]! } + public var Watch_Contacts_NoResults: String { return self._s[2896]! } + public var PhotoEditor_TintTool: String { return self._s[2899]! } + public var LoginPassword_ResetAccount: String { return self._s[2901]! } + public var Settings_SavedMessages: String { return self._s[2902]! } + public var SettingsSearch_Synonyms_Appearance_Animations: String { return self._s[2903]! } + public var Bot_GenericSupportStatus: String { return self._s[2904]! } + public var StickerPack_Add: String { return self._s[2905]! } + public var Checkout_TotalAmount: String { return self._s[2906]! } + public var Your_cards_number_is_invalid: String { return self._s[2907]! } + public var SettingsSearch_Synonyms_Appearance_AutoNightTheme: String { return self._s[2908]! } public func ChangePhoneNumberCode_CallTimer(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2907]!, self._r[2907]!, [_0]) + return formatWithArgumentRanges(self._s[2909]!, self._r[2909]!, [_0]) } public func GroupPermission_AddedInfo(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2908]!, self._r[2908]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2910]!, self._r[2910]!, [_1, _2]) } - public var ChatSettings_ConnectionType_UseSocks5: String { return self._s[2909]! } + public var ChatSettings_ConnectionType_UseSocks5: String { return self._s[2911]! } public func PUSH_CHAT_PHOTO_EDITED(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2911]!, self._r[2911]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2913]!, self._r[2913]!, [_1, _2]) } public func Conversation_RestrictedTextTimed(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2912]!, self._r[2912]!, [_0]) + return formatWithArgumentRanges(self._s[2914]!, self._r[2914]!, [_0]) } - public var GroupInfo_InviteLink_ShareLink: String { return self._s[2913]! } - public var StickerPack_Share: String { return self._s[2914]! } - public var Passport_DeleteAddress: String { return self._s[2915]! } - public var Settings_Passport: String { return self._s[2916]! } - public var SharedMedia_EmptyFilesText: String { return self._s[2917]! } - public var Conversation_DeleteMessagesForMe: String { return self._s[2918]! } - public var PasscodeSettings_AutoLock_IfAwayFor_1hour: String { return self._s[2919]! } - public var Contacts_PermissionsText: String { return self._s[2920]! } - public var Group_Setup_HistoryVisible: String { return self._s[2921]! } - public var Passport_Address_AddRentalAgreement: String { return self._s[2923]! } - public var SocksProxySetup_Title: String { return self._s[2924]! } - public var Notification_Mute1h: String { return self._s[2925]! } + public var GroupInfo_InviteLink_ShareLink: String { return self._s[2915]! } + public var StickerPack_Share: String { return self._s[2916]! } + public var Passport_DeleteAddress: String { return self._s[2917]! } + public var Settings_Passport: String { return self._s[2918]! } + public var SharedMedia_EmptyFilesText: String { return self._s[2919]! } + public var Conversation_DeleteMessagesForMe: String { return self._s[2920]! } + public var PasscodeSettings_AutoLock_IfAwayFor_1hour: String { return self._s[2921]! } + public var Contacts_PermissionsText: String { return self._s[2922]! } + public var Group_Setup_HistoryVisible: String { return self._s[2923]! } + public var Passport_Address_AddRentalAgreement: String { return self._s[2925]! } + public var SocksProxySetup_Title: String { return self._s[2926]! } + public var Notification_Mute1h: String { return self._s[2927]! } public func Passport_Email_CodeHelp(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2926]!, self._r[2926]!, [_0]) + return formatWithArgumentRanges(self._s[2928]!, self._r[2928]!, [_0]) } - public var NotificationSettings_ShowNotificationsAllAccountsInfoOff: String { return self._s[2927]! } + public var NotificationSettings_ShowNotificationsAllAccountsInfoOff: String { return self._s[2929]! } public func PUSH_PINNED_GEOLIVE(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2928]!, self._r[2928]!, [_1]) + return formatWithArgumentRanges(self._s[2930]!, self._r[2930]!, [_1]) } - public var FastTwoStepSetup_PasswordSection: String { return self._s[2929]! } - public var NetworkUsageSettings_ResetStatsConfirmation: String { return self._s[2932]! } - public var InfoPlist_NSFaceIDUsageDescription: String { return self._s[2934]! } - public var DialogList_NoMessagesText: String { return self._s[2935]! } - public var Privacy_ContactsResetConfirmation: String { return self._s[2936]! } - public var Privacy_Calls_P2PHelp: String { return self._s[2937]! } - public var Channel_DiscussionGroup_SearchPlaceholder: String { return self._s[2939]! } - public var Your_cards_expiration_year_is_invalid: String { return self._s[2940]! } - public var Common_TakePhotoOrVideo: String { return self._s[2941]! } - public var Call_StatusBusy: String { return self._s[2942]! } - public var Conversation_PinnedMessage: String { return self._s[2943]! } - public var AutoDownloadSettings_VoiceMessagesTitle: String { return self._s[2944]! } - public var TwoStepAuth_SetupPasswordConfirmFailed: String { return self._s[2945]! } - public var Undo_ChatCleared: String { return self._s[2946]! } - public var AppleWatch_ReplyPresets: String { return self._s[2947]! } - public var Passport_DiscardMessageDescription: String { return self._s[2949]! } - public var Login_NetworkError: String { return self._s[2950]! } + public var FastTwoStepSetup_PasswordSection: String { return self._s[2931]! } + public var NetworkUsageSettings_ResetStatsConfirmation: String { return self._s[2934]! } + public var InfoPlist_NSFaceIDUsageDescription: String { return self._s[2936]! } + public var DialogList_NoMessagesText: String { return self._s[2937]! } + public var Privacy_ContactsResetConfirmation: String { return self._s[2938]! } + public var Privacy_Calls_P2PHelp: String { return self._s[2939]! } + public var Channel_DiscussionGroup_SearchPlaceholder: String { return self._s[2941]! } + public var Your_cards_expiration_year_is_invalid: String { return self._s[2942]! } + public var Common_TakePhotoOrVideo: String { return self._s[2943]! } + public var Call_StatusBusy: String { return self._s[2944]! } + public var Conversation_PinnedMessage: String { return self._s[2945]! } + public var AutoDownloadSettings_VoiceMessagesTitle: String { return self._s[2946]! } + public var TwoStepAuth_SetupPasswordConfirmFailed: String { return self._s[2947]! } + public var Undo_ChatCleared: String { return self._s[2948]! } + public var AppleWatch_ReplyPresets: String { return self._s[2949]! } + public var Passport_DiscardMessageDescription: String { return self._s[2951]! } + public var Login_NetworkError: String { return self._s[2952]! } public func Notification_PinnedRoundMessage(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2951]!, self._r[2951]!, [_0]) + return formatWithArgumentRanges(self._s[2953]!, self._r[2953]!, [_0]) } public func Channel_AdminLog_MessageRemovedChannelUsername(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2952]!, self._r[2952]!, [_0]) + return formatWithArgumentRanges(self._s[2954]!, self._r[2954]!, [_0]) } - public var SocksProxySetup_PasswordPlaceholder: String { return self._s[2953]! } - public var Login_ResetAccountProtected_LimitExceeded: String { return self._s[2955]! } + public var SocksProxySetup_PasswordPlaceholder: String { return self._s[2955]! } + public var Login_ResetAccountProtected_LimitExceeded: String { return self._s[2957]! } public func Watch_LastSeen_YesterdayAt(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2957]!, self._r[2957]!, [_0]) + return formatWithArgumentRanges(self._s[2959]!, self._r[2959]!, [_0]) } - public var Call_ConnectionErrorMessage: String { return self._s[2958]! } - public var SettingsSearch_Synonyms_Notifications_MessageNotificationsSound: String { return self._s[2959]! } - public var Compose_GroupTokenListPlaceholder: String { return self._s[2961]! } - public var ConversationMedia_Title: String { return self._s[2962]! } - public var EncryptionKey_Title: String { return self._s[2964]! } - public var TwoStepAuth_EnterPasswordTitle: String { return self._s[2965]! } - public var Notification_Exceptions_AddException: String { return self._s[2966]! } - public var PrivacySettings_BlockedPeersEmpty: String { return self._s[2967]! } - public var Profile_MessageLifetime1m: String { return self._s[2968]! } + public var Call_ConnectionErrorMessage: String { return self._s[2960]! } + public var SettingsSearch_Synonyms_Notifications_MessageNotificationsSound: String { return self._s[2961]! } + public var Compose_GroupTokenListPlaceholder: String { return self._s[2963]! } + public var ConversationMedia_Title: String { return self._s[2964]! } + public var EncryptionKey_Title: String { return self._s[2966]! } + public var TwoStepAuth_EnterPasswordTitle: String { return self._s[2967]! } + public var Notification_Exceptions_AddException: String { return self._s[2968]! } + public var PrivacySettings_BlockedPeersEmpty: String { return self._s[2969]! } + public var Profile_MessageLifetime1m: String { return self._s[2970]! } public func Channel_AdminLog_MessageUnkickedName(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2969]!, self._r[2969]!, [_1]) + return formatWithArgumentRanges(self._s[2971]!, self._r[2971]!, [_1]) } - public var Month_GenMay: String { return self._s[2970]! } + public var Month_GenMay: String { return self._s[2972]! } public func LiveLocationUpdated_TodayAt(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2971]!, self._r[2971]!, [_0]) + return formatWithArgumentRanges(self._s[2973]!, self._r[2973]!, [_0]) } - public var PeopleNearby_Users: String { return self._s[2972]! } - public var ChannelMembers_WhoCanAddMembersAllHelp: String { return self._s[2973]! } - public var AutoDownloadSettings_ResetSettings: String { return self._s[2974]! } - public var Conversation_EmptyPlaceholder: String { return self._s[2976]! } - public var Passport_Address_AddPassportRegistration: String { return self._s[2977]! } - public var Notifications_ChannelNotificationsAlert: String { return self._s[2978]! } - public var ChatSettings_AutoDownloadUsingCellular: String { return self._s[2979]! } - public var Camera_TapAndHoldForVideo: String { return self._s[2980]! } - public var Channel_JoinChannel: String { return self._s[2982]! } - public var Appearance_Animations: String { return self._s[2985]! } + public var PeopleNearby_Users: String { return self._s[2974]! } + public var ChannelMembers_WhoCanAddMembersAllHelp: String { return self._s[2975]! } + public var AutoDownloadSettings_ResetSettings: String { return self._s[2976]! } + public var Conversation_EmptyPlaceholder: String { return self._s[2978]! } + public var Passport_Address_AddPassportRegistration: String { return self._s[2979]! } + public var Notifications_ChannelNotificationsAlert: String { return self._s[2980]! } + public var ChatSettings_AutoDownloadUsingCellular: String { return self._s[2981]! } + public var Camera_TapAndHoldForVideo: String { return self._s[2982]! } + public var Channel_JoinChannel: String { return self._s[2984]! } + public var Appearance_Animations: String { return self._s[2987]! } public func Notification_MessageLifetimeChanged(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2986]!, self._r[2986]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2988]!, self._r[2988]!, [_1, _2]) } - public var Stickers_GroupStickers: String { return self._s[2988]! } - public var ConvertToSupergroup_HelpTitle: String { return self._s[2990]! } - public var Passport_Address_Street: String { return self._s[2991]! } - public var Conversation_AddContact: String { return self._s[2992]! } - public var Login_PhonePlaceholder: String { return self._s[2993]! } - public var Channel_Members_InviteLink: String { return self._s[2995]! } - public var Bot_Stop: String { return self._s[2996]! } - public var SettingsSearch_Synonyms_Proxy_UseForCalls: String { return self._s[2998]! } - public var Notification_PassportValueAddress: String { return self._s[2999]! } - public var Month_ShortJuly: String { return self._s[3000]! } - public var Passport_Address_TypeTemporaryRegistrationUploadScan: String { return self._s[3001]! } - public var Channel_AdminLog_BanSendMedia: String { return self._s[3002]! } - public var Passport_Identity_ReverseSide: String { return self._s[3003]! } - public var Watch_Stickers_Recents: String { return self._s[3006]! } - public var PrivacyLastSeenSettings_EmpryUsersPlaceholder: String { return self._s[3008]! } - public var Map_SendThisLocation: String { return self._s[3009]! } + public var Stickers_GroupStickers: String { return self._s[2990]! } + public var ConvertToSupergroup_HelpTitle: String { return self._s[2992]! } + public var Passport_Address_Street: String { return self._s[2993]! } + public var Conversation_AddContact: String { return self._s[2994]! } + public var Login_PhonePlaceholder: String { return self._s[2995]! } + public var Channel_Members_InviteLink: String { return self._s[2997]! } + public var Bot_Stop: String { return self._s[2998]! } + public var SettingsSearch_Synonyms_Proxy_UseForCalls: String { return self._s[3000]! } + public var Notification_PassportValueAddress: String { return self._s[3001]! } + public var Month_ShortJuly: String { return self._s[3002]! } + public var Passport_Address_TypeTemporaryRegistrationUploadScan: String { return self._s[3003]! } + public var Channel_AdminLog_BanSendMedia: String { return self._s[3004]! } + public var Passport_Identity_ReverseSide: String { return self._s[3005]! } + public var Watch_Stickers_Recents: String { return self._s[3008]! } + public var PrivacyLastSeenSettings_EmpryUsersPlaceholder: String { return self._s[3010]! } + public var Map_SendThisLocation: String { return self._s[3011]! } public func Time_MonthOfYear_m1(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3010]!, self._r[3010]!, [_0]) + return formatWithArgumentRanges(self._s[3012]!, self._r[3012]!, [_0]) } public func InviteText_SingleContact(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3011]!, self._r[3011]!, [_0]) - } - public var ConvertToSupergroup_Note: String { return self._s[3012]! } - public func FileSize_MB(_ _0: String) -> (String, [(Int, NSRange)]) { return formatWithArgumentRanges(self._s[3013]!, self._r[3013]!, [_0]) } - public var NetworkUsageSettings_GeneralDataSection: String { return self._s[3014]! } + public var ConvertToSupergroup_Note: String { return self._s[3014]! } + public func FileSize_MB(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[3015]!, self._r[3015]!, [_0]) + } + public var NetworkUsageSettings_GeneralDataSection: String { return self._s[3016]! } public func Compatibility_SecretMediaVersionTooLow(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3015]!, self._r[3015]!, [_0, _1]) + return formatWithArgumentRanges(self._s[3017]!, self._r[3017]!, [_0, _1]) } - public var Login_CallRequestState3: String { return self._s[3017]! } - public var Wallpaper_SearchShort: String { return self._s[3018]! } - public var SettingsSearch_Synonyms_Appearance_ColorTheme: String { return self._s[3020]! } - public var PasscodeSettings_UnlockWithFaceId: String { return self._s[3021]! } - public var Channel_BotDoesntSupportGroups: String { return self._s[3022]! } + public var Login_CallRequestState3: String { return self._s[3019]! } + public var Wallpaper_SearchShort: String { return self._s[3020]! } + public var SettingsSearch_Synonyms_Appearance_ColorTheme: String { return self._s[3022]! } + public var PasscodeSettings_UnlockWithFaceId: String { return self._s[3023]! } + public var Channel_BotDoesntSupportGroups: String { return self._s[3024]! } public func PUSH_CHAT_MESSAGE_GEOLIVE(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3023]!, self._r[3023]!, [_1, _2]) + return formatWithArgumentRanges(self._s[3025]!, self._r[3025]!, [_1, _2]) } - public var Channel_AdminLogFilter_Title: String { return self._s[3024]! } - public var Notifications_GroupNotificationsExceptions: String { return self._s[3028]! } + public var Channel_AdminLogFilter_Title: String { return self._s[3026]! } + public var Notifications_GroupNotificationsExceptions: String { return self._s[3030]! } public func FileSize_B(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3029]!, self._r[3029]!, [_0]) - } - public var Passport_CorrectErrors: String { return self._s[3030]! } - public func Channel_MessageTitleUpdated(_ _0: String) -> (String, [(Int, NSRange)]) { return formatWithArgumentRanges(self._s[3031]!, self._r[3031]!, [_0]) } - public var Map_SendMyCurrentLocation: String { return self._s[3032]! } - public var Channel_DiscussionGroup: String { return self._s[3033]! } + public var Passport_CorrectErrors: String { return self._s[3032]! } + public func Channel_MessageTitleUpdated(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[3033]!, self._r[3033]!, [_0]) + } + public var Map_SendMyCurrentLocation: String { return self._s[3034]! } + public var Channel_DiscussionGroup: String { return self._s[3035]! } public func PUSH_PINNED_CONTACT(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3034]!, self._r[3034]!, [_1, _2]) + return formatWithArgumentRanges(self._s[3036]!, self._r[3036]!, [_1, _2]) } - public var SharedMedia_SearchNoResults: String { return self._s[3035]! } - public var Permissions_NotificationsText_v0: String { return self._s[3036]! } - public var Appearance_AppIcon: String { return self._s[3037]! } - public var LoginPassword_FloodError: String { return self._s[3038]! } - public var Group_Setup_HistoryHiddenHelp: String { return self._s[3040]! } + public var SharedMedia_SearchNoResults: String { return self._s[3037]! } + public var Permissions_NotificationsText_v0: String { return self._s[3038]! } + public var Appearance_AppIcon: String { return self._s[3039]! } + public var LoginPassword_FloodError: String { return self._s[3040]! } + public var Group_Setup_HistoryHiddenHelp: String { return self._s[3042]! } public func TwoStepAuth_PendingEmailHelp(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3041]!, self._r[3041]!, [_0]) - } - public var Passport_Language_bn: String { return self._s[3042]! } - public func DialogList_SingleUploadingPhotoSuffix(_ _0: String) -> (String, [(Int, NSRange)]) { return formatWithArgumentRanges(self._s[3043]!, self._r[3043]!, [_0]) } - public func Notification_PinnedAudioMessage(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3044]!, self._r[3044]!, [_0]) - } - public func Channel_AdminLog_MessageChangedGroupStickerPack(_ _0: String) -> (String, [(Int, NSRange)]) { + public var Passport_Language_bn: String { return self._s[3044]! } + public func DialogList_SingleUploadingPhotoSuffix(_ _0: String) -> (String, [(Int, NSRange)]) { return formatWithArgumentRanges(self._s[3045]!, self._r[3045]!, [_0]) } - public var GroupInfo_InvitationLinkGroupFull: String { return self._s[3048]! } - public var Group_EditAdmin_PermissionChangeInfo: String { return self._s[3050]! } - public var Contacts_PermissionsAllow: String { return self._s[3051]! } - public var ReportPeer_ReasonCopyright: String { return self._s[3052]! } - public var Channel_EditAdmin_PermissinAddAdminOn: String { return self._s[3053]! } - public var WallpaperPreview_Pattern: String { return self._s[3054]! } - public var Paint_Duplicate: String { return self._s[3055]! } - public var Passport_Address_Country: String { return self._s[3056]! } - public var Notification_RenamedChannel: String { return self._s[3058]! } - public var CheckoutInfo_ErrorPostcodeInvalid: String { return self._s[3059]! } - public var Group_MessagePhotoUpdated: String { return self._s[3060]! } - public var Channel_BanUser_PermissionSendMedia: String { return self._s[3061]! } - public var Conversation_ContextMenuBan: String { return self._s[3062]! } - public var TwoStepAuth_EmailSent: String { return self._s[3063]! } - public var MessagePoll_NoVotes: String { return self._s[3064]! } - public var Passport_Language_is: String { return self._s[3065]! } - public var PeopleNearby_UsersEmpty: String { return self._s[3067]! } - public var Tour_Text5: String { return self._s[3068]! } + public func Notification_PinnedAudioMessage(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[3046]!, self._r[3046]!, [_0]) + } + public func Channel_AdminLog_MessageChangedGroupStickerPack(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[3047]!, self._r[3047]!, [_0]) + } + public var GroupInfo_InvitationLinkGroupFull: String { return self._s[3050]! } + public var Group_EditAdmin_PermissionChangeInfo: String { return self._s[3052]! } + public var Contacts_PermissionsAllow: String { return self._s[3053]! } + public var ReportPeer_ReasonCopyright: String { return self._s[3054]! } + public var Channel_EditAdmin_PermissinAddAdminOn: String { return self._s[3055]! } + public var WallpaperPreview_Pattern: String { return self._s[3056]! } + public var Paint_Duplicate: String { return self._s[3057]! } + public var Passport_Address_Country: String { return self._s[3058]! } + public var Notification_RenamedChannel: String { return self._s[3060]! } + public var CheckoutInfo_ErrorPostcodeInvalid: String { return self._s[3061]! } + public var Group_MessagePhotoUpdated: String { return self._s[3062]! } + public var Channel_BanUser_PermissionSendMedia: String { return self._s[3063]! } + public var Conversation_ContextMenuBan: String { return self._s[3064]! } + public var TwoStepAuth_EmailSent: String { return self._s[3065]! } + public var MessagePoll_NoVotes: String { return self._s[3066]! } + public var Passport_Language_is: String { return self._s[3067]! } + public var PeopleNearby_UsersEmpty: String { return self._s[3069]! } + public var Tour_Text5: String { return self._s[3070]! } public func Call_GroupFormat(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3070]!, self._r[3070]!, [_1, _2]) + return formatWithArgumentRanges(self._s[3072]!, self._r[3072]!, [_1, _2]) } - public var Undo_SecretChatDeleted: String { return self._s[3071]! } - public var SocksProxySetup_ShareQRCode: String { return self._s[3072]! } - public var LogoutOptions_ChangePhoneNumberText: String { return self._s[3073]! } - public var Paint_Edit: String { return self._s[3075]! } - public var Undo_DeletedGroup: String { return self._s[3078]! } - public var LoginPassword_ForgotPassword: String { return self._s[3079]! } - public var GroupInfo_GroupNamePlaceholder: String { return self._s[3080]! } + public var Undo_SecretChatDeleted: String { return self._s[3073]! } + public var SocksProxySetup_ShareQRCode: String { return self._s[3074]! } + public var LogoutOptions_ChangePhoneNumberText: String { return self._s[3075]! } + public var Paint_Edit: String { return self._s[3077]! } + public var Undo_DeletedGroup: String { return self._s[3080]! } + public var LoginPassword_ForgotPassword: String { return self._s[3081]! } + public var GroupInfo_GroupNamePlaceholder: String { return self._s[3082]! } public func Notification_Kicked(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3081]!, self._r[3081]!, [_0, _1]) + return formatWithArgumentRanges(self._s[3083]!, self._r[3083]!, [_0, _1]) } - public var Conversation_InputTextCaptionPlaceholder: String { return self._s[3082]! } - public var AutoDownloadSettings_VideoMessagesTitle: String { return self._s[3083]! } - public var Passport_Language_uz: String { return self._s[3084]! } - public var Conversation_PinMessageAlertGroup: String { return self._s[3085]! } - public var SettingsSearch_Synonyms_Privacy_GroupsAndChannels: String { return self._s[3086]! } - public var Map_StopLiveLocation: String { return self._s[3088]! } - public var PasscodeSettings_Help: String { return self._s[3090]! } - public var NotificationsSound_Input: String { return self._s[3091]! } - public var Share_Title: String { return self._s[3094]! } - public var LogoutOptions_Title: String { return self._s[3095]! } - public var Login_TermsOfServiceAgree: String { return self._s[3096]! } - public var Compose_NewEncryptedChatTitle: String { return self._s[3097]! } - public var Channel_AdminLog_TitleSelectedEvents: String { return self._s[3098]! } - public var Channel_EditAdmin_PermissionEditMessages: String { return self._s[3099]! } - public var EnterPasscode_EnterTitle: String { return self._s[3100]! } + public var Conversation_InputTextCaptionPlaceholder: String { return self._s[3084]! } + public var AutoDownloadSettings_VideoMessagesTitle: String { return self._s[3085]! } + public var Passport_Language_uz: String { return self._s[3086]! } + public var Conversation_PinMessageAlertGroup: String { return self._s[3087]! } + public var SettingsSearch_Synonyms_Privacy_GroupsAndChannels: String { return self._s[3088]! } + public var Map_StopLiveLocation: String { return self._s[3090]! } + public var PasscodeSettings_Help: String { return self._s[3092]! } + public var NotificationsSound_Input: String { return self._s[3093]! } + public var Share_Title: String { return self._s[3096]! } + public var LogoutOptions_Title: String { return self._s[3097]! } + public var Login_TermsOfServiceAgree: String { return self._s[3098]! } + public var Compose_NewEncryptedChatTitle: String { return self._s[3099]! } + public var Channel_AdminLog_TitleSelectedEvents: String { return self._s[3100]! } + public var Channel_EditAdmin_PermissionEditMessages: String { return self._s[3101]! } + public var EnterPasscode_EnterTitle: String { return self._s[3102]! } public func Call_PrivacyErrorMessage(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3101]!, self._r[3101]!, [_0]) + return formatWithArgumentRanges(self._s[3103]!, self._r[3103]!, [_0]) } - public var Settings_CopyPhoneNumber: String { return self._s[3102]! } - public var Conversation_AddToContacts: String { return self._s[3103]! } - public var NotificationsSound_Keys: String { return self._s[3104]! } + public var Settings_CopyPhoneNumber: String { return self._s[3104]! } + public var Conversation_AddToContacts: String { return self._s[3105]! } + public var NotificationsSound_Keys: String { return self._s[3106]! } public func Call_ParticipantVersionOutdatedError(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3105]!, self._r[3105]!, [_0]) + return formatWithArgumentRanges(self._s[3107]!, self._r[3107]!, [_0]) } - public var Notification_MessageLifetime1w: String { return self._s[3106]! } - public var Message_Video: String { return self._s[3107]! } - public var AutoDownloadSettings_CellularTitle: String { return self._s[3108]! } + public var Notification_MessageLifetime1w: String { return self._s[3108]! } + public var Message_Video: String { return self._s[3109]! } + public var AutoDownloadSettings_CellularTitle: String { return self._s[3110]! } public func PUSH_CHANNEL_MESSAGE_PHOTO(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3109]!, self._r[3109]!, [_1]) + return formatWithArgumentRanges(self._s[3111]!, self._r[3111]!, [_1]) } public func Notification_JoinedChat(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3112]!, self._r[3112]!, [_0]) + return formatWithArgumentRanges(self._s[3114]!, self._r[3114]!, [_0]) } public func PrivacySettings_LastSeenContactsPlus(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3113]!, self._r[3113]!, [_0]) + return formatWithArgumentRanges(self._s[3115]!, self._r[3115]!, [_0]) } - public var Passport_Language_mk: String { return self._s[3114]! } - public var CreatePoll_CancelConfirmation: String { return self._s[3115]! } - public var Conversation_SilentBroadcastTooltipOn: String { return self._s[3117]! } - public var PrivacyPolicy_Decline: String { return self._s[3118]! } - public var Passport_Identity_DoesNotExpire: String { return self._s[3119]! } - public var Channel_AdminLogFilter_EventsRestrictions: String { return self._s[3120]! } - public var Permissions_SiriAllow_v0: String { return self._s[3122]! } - public var Appearance_ThemeCarouselNight: String { return self._s[3123]! } + public var Passport_Language_mk: String { return self._s[3116]! } + public var CreatePoll_CancelConfirmation: String { return self._s[3117]! } + public var Conversation_SilentBroadcastTooltipOn: String { return self._s[3119]! } + public var PrivacyPolicy_Decline: String { return self._s[3120]! } + public var Passport_Identity_DoesNotExpire: String { return self._s[3121]! } + public var Channel_AdminLogFilter_EventsRestrictions: String { return self._s[3122]! } + public var Permissions_SiriAllow_v0: String { return self._s[3124]! } + public var Appearance_ThemeCarouselNight: String { return self._s[3125]! } public func LOCAL_CHAT_MESSAGE_FWDS(_ _1: String, _ _2: Int) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3124]!, self._r[3124]!, [_1, "\(_2)"]) + return formatWithArgumentRanges(self._s[3126]!, self._r[3126]!, [_1, "\(_2)"]) } public func Notification_RenamedChat(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3125]!, self._r[3125]!, [_0]) + return formatWithArgumentRanges(self._s[3127]!, self._r[3127]!, [_0]) } - public var Paint_Regular: String { return self._s[3126]! } - public var ChatSettings_AutoDownloadReset: String { return self._s[3127]! } - public var SocksProxySetup_ShareLink: String { return self._s[3128]! } - public var BlockedUsers_SelectUserTitle: String { return self._s[3129]! } - public var GroupInfo_InviteByLink: String { return self._s[3131]! } - public var MessageTimer_Custom: String { return self._s[3132]! } - public var UserInfo_NotificationsDefaultEnabled: String { return self._s[3133]! } - public var Passport_Address_TypeTemporaryRegistration: String { return self._s[3135]! } - public var ChatSettings_AutoDownloadUsingWiFi: String { return self._s[3136]! } - public var Channel_Username_InvalidTaken: String { return self._s[3137]! } - public var Conversation_ClousStorageInfo_Description3: String { return self._s[3138]! } - public var Settings_ChatBackground: String { return self._s[3139]! } - public var Channel_Subscribers_Title: String { return self._s[3140]! } - public var ApplyLanguage_ChangeLanguageTitle: String { return self._s[3141]! } - public var Watch_ConnectionDescription: String { return self._s[3142]! } - public var ChatList_ArchivedChatsTitle: String { return self._s[3146]! } - public var Wallpaper_ResetWallpapers: String { return self._s[3147]! } - public var EditProfile_Title: String { return self._s[3148]! } - public var NotificationsSound_Bamboo: String { return self._s[3150]! } - public var Channel_AdminLog_MessagePreviousMessage: String { return self._s[3152]! } - public var Login_SmsRequestState2: String { return self._s[3153]! } - public var Passport_Language_ar: String { return self._s[3154]! } + public var Paint_Regular: String { return self._s[3128]! } + public var ChatSettings_AutoDownloadReset: String { return self._s[3129]! } + public var SocksProxySetup_ShareLink: String { return self._s[3130]! } + public var BlockedUsers_SelectUserTitle: String { return self._s[3131]! } + public var GroupInfo_InviteByLink: String { return self._s[3133]! } + public var MessageTimer_Custom: String { return self._s[3134]! } + public var UserInfo_NotificationsDefaultEnabled: String { return self._s[3135]! } + public var Passport_Address_TypeTemporaryRegistration: String { return self._s[3137]! } + public var ChatSettings_AutoDownloadUsingWiFi: String { return self._s[3138]! } + public var Channel_Username_InvalidTaken: String { return self._s[3139]! } + public var Conversation_ClousStorageInfo_Description3: String { return self._s[3140]! } + public var Settings_ChatBackground: String { return self._s[3141]! } + public var Channel_Subscribers_Title: String { return self._s[3142]! } + public var ApplyLanguage_ChangeLanguageTitle: String { return self._s[3143]! } + public var Watch_ConnectionDescription: String { return self._s[3144]! } + public var ChatList_ArchivedChatsTitle: String { return self._s[3148]! } + public var Wallpaper_ResetWallpapers: String { return self._s[3149]! } + public var EditProfile_Title: String { return self._s[3150]! } + public var NotificationsSound_Bamboo: String { return self._s[3152]! } + public var Channel_AdminLog_MessagePreviousMessage: String { return self._s[3154]! } + public var Login_SmsRequestState2: String { return self._s[3155]! } + public var Passport_Language_ar: String { return self._s[3156]! } public func Message_AuthorPinnedGame(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3155]!, self._r[3155]!, [_0]) + return formatWithArgumentRanges(self._s[3157]!, self._r[3157]!, [_0]) } - public var SettingsSearch_Synonyms_EditProfile_Title: String { return self._s[3156]! } - public var Conversation_MessageDialogEdit: String { return self._s[3157]! } + public var SettingsSearch_Synonyms_EditProfile_Title: String { return self._s[3158]! } + public var Conversation_MessageDialogEdit: String { return self._s[3159]! } public func PUSH_AUTH_UNKNOWN(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3158]!, self._r[3158]!, [_1]) + return formatWithArgumentRanges(self._s[3160]!, self._r[3160]!, [_1]) } - public var Common_Close: String { return self._s[3159]! } - public var GroupInfo_PublicLink: String { return self._s[3160]! } - public var Channel_OwnershipTransfer_ErrorPrivacyRestricted: String { return self._s[3161]! } - public var SettingsSearch_Synonyms_Notifications_GroupNotificationsPreview: String { return self._s[3162]! } + public var Common_Close: String { return self._s[3161]! } + public var GroupInfo_PublicLink: String { return self._s[3162]! } + public var Channel_OwnershipTransfer_ErrorPrivacyRestricted: String { return self._s[3163]! } + public var SettingsSearch_Synonyms_Notifications_GroupNotificationsPreview: String { return self._s[3164]! } public func Channel_AdminLog_MessageToggleInvitesOff(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3166]!, self._r[3166]!, [_0]) - } - public var UserInfo_About_Placeholder: String { return self._s[3167]! } - public func Conversation_FileHowToText(_ _0: String) -> (String, [(Int, NSRange)]) { return formatWithArgumentRanges(self._s[3168]!, self._r[3168]!, [_0]) } - public var GroupInfo_Permissions_SectionTitle: String { return self._s[3169]! } - public var Channel_Info_Banned: String { return self._s[3171]! } + public var UserInfo_About_Placeholder: String { return self._s[3169]! } + public func Conversation_FileHowToText(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[3170]!, self._r[3170]!, [_0]) + } + public var GroupInfo_Permissions_SectionTitle: String { return self._s[3171]! } + public var Channel_Info_Banned: String { return self._s[3173]! } public func Time_MonthOfYear_m11(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3172]!, self._r[3172]!, [_0]) + return formatWithArgumentRanges(self._s[3174]!, self._r[3174]!, [_0]) } - public var Appearance_Other: String { return self._s[3173]! } - public var Passport_Language_my: String { return self._s[3174]! } - public var Group_Setup_BasicHistoryHiddenHelp: String { return self._s[3175]! } + public var Appearance_Other: String { return self._s[3175]! } + public var Passport_Language_my: String { return self._s[3176]! } + public var Group_Setup_BasicHistoryHiddenHelp: String { return self._s[3177]! } public func Time_PreciseDate_m9(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3176]!, self._r[3176]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[3178]!, self._r[3178]!, [_1, _2, _3]) } - public var SettingsSearch_Synonyms_Privacy_PasscodeAndFaceId: String { return self._s[3177]! } - public var Preview_CopyAddress: String { return self._s[3178]! } + public var SettingsSearch_Synonyms_Privacy_PasscodeAndFaceId: String { return self._s[3179]! } + public var Preview_CopyAddress: String { return self._s[3180]! } public func DialogList_SinglePlayingGameSuffix(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3179]!, self._r[3179]!, [_0]) + return formatWithArgumentRanges(self._s[3181]!, self._r[3181]!, [_0]) } - public var KeyCommand_JumpToPreviousChat: String { return self._s[3180]! } - public var UserInfo_BotSettings: String { return self._s[3181]! } - public var LiveLocation_MenuStopAll: String { return self._s[3183]! } - public var Passport_PasswordCreate: String { return self._s[3184]! } - public var StickerSettings_MaskContextInfo: String { return self._s[3185]! } - public var Message_PinnedLocationMessage: String { return self._s[3186]! } - public var Map_Satellite: String { return self._s[3187]! } - public var Watch_Message_Unsupported: String { return self._s[3188]! } - public var Username_TooManyPublicUsernamesError: String { return self._s[3189]! } - public var TwoStepAuth_EnterPasswordInvalid: String { return self._s[3190]! } + public var KeyCommand_JumpToPreviousChat: String { return self._s[3182]! } + public var UserInfo_BotSettings: String { return self._s[3183]! } + public var LiveLocation_MenuStopAll: String { return self._s[3185]! } + public var Passport_PasswordCreate: String { return self._s[3186]! } + public var StickerSettings_MaskContextInfo: String { return self._s[3187]! } + public var Message_PinnedLocationMessage: String { return self._s[3188]! } + public var Map_Satellite: String { return self._s[3189]! } + public var Watch_Message_Unsupported: String { return self._s[3190]! } + public var Username_TooManyPublicUsernamesError: String { return self._s[3191]! } + public var TwoStepAuth_EnterPasswordInvalid: String { return self._s[3192]! } public func Notification_PinnedTextMessage(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3191]!, self._r[3191]!, [_0, _1]) + return formatWithArgumentRanges(self._s[3193]!, self._r[3193]!, [_0, _1]) } public func Conversation_OpenBotLinkText(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3192]!, self._r[3192]!, [_0]) + return formatWithArgumentRanges(self._s[3194]!, self._r[3194]!, [_0]) } - public var Notifications_ChannelNotificationsHelp: String { return self._s[3193]! } - public var Privacy_Calls_P2PContacts: String { return self._s[3194]! } - public var NotificationsSound_None: String { return self._s[3195]! } - public var Channel_DiscussionGroup_UnlinkGroup: String { return self._s[3197]! } - public var AccessDenied_VoiceMicrophone: String { return self._s[3198]! } + public var Notifications_ChannelNotificationsHelp: String { return self._s[3195]! } + public var Privacy_Calls_P2PContacts: String { return self._s[3196]! } + public var NotificationsSound_None: String { return self._s[3197]! } + public var Channel_DiscussionGroup_UnlinkGroup: String { return self._s[3199]! } + public var AccessDenied_VoiceMicrophone: String { return self._s[3200]! } public func ApplyLanguage_ChangeLanguageAlreadyActive(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3199]!, self._r[3199]!, [_1]) + return formatWithArgumentRanges(self._s[3201]!, self._r[3201]!, [_1]) } - public var Cache_Indexing: String { return self._s[3200]! } - public var DialogList_RecentTitlePeople: String { return self._s[3202]! } - public var DialogList_EncryptionRejected: String { return self._s[3203]! } - public var GroupInfo_Administrators: String { return self._s[3204]! } - public var Passport_ScanPassportHelp: String { return self._s[3205]! } - public var Application_Name: String { return self._s[3206]! } - public var Channel_AdminLogFilter_ChannelEventsInfo: String { return self._s[3207]! } - public var Appearance_ThemeCarouselDay: String { return self._s[3209]! } - public var Passport_Identity_TranslationHelp: String { return self._s[3210]! } + public var Cache_Indexing: String { return self._s[3202]! } + public var DialogList_RecentTitlePeople: String { return self._s[3204]! } + public var DialogList_EncryptionRejected: String { return self._s[3205]! } + public var GroupInfo_Administrators: String { return self._s[3206]! } + public var Passport_ScanPassportHelp: String { return self._s[3207]! } + public var Application_Name: String { return self._s[3208]! } + public var Channel_AdminLogFilter_ChannelEventsInfo: String { return self._s[3209]! } + public var Appearance_ThemeCarouselDay: String { return self._s[3211]! } + public var Passport_Identity_TranslationHelp: String { return self._s[3212]! } public func Notification_JoinedGroupByLink(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3211]!, self._r[3211]!, [_0]) + return formatWithArgumentRanges(self._s[3213]!, self._r[3213]!, [_0]) } public func DialogList_EncryptedChatStartedOutgoing(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3212]!, self._r[3212]!, [_0]) + return formatWithArgumentRanges(self._s[3214]!, self._r[3214]!, [_0]) } - public var Channel_EditAdmin_PermissionDeleteMessages: String { return self._s[3213]! } - public var Privacy_ChatsTitle: String { return self._s[3214]! } - public var DialogList_ClearHistoryConfirmation: String { return self._s[3215]! } - public var SettingsSearch_Synonyms_Data_Storage_ClearCache: String { return self._s[3216]! } - public var Watch_Suggestion_HoldOn: String { return self._s[3217]! } - public var Group_EditAdmin_TransferOwnership: String { return self._s[3218]! } - public var Group_LinkedChannel: String { return self._s[3219]! } - public var SocksProxySetup_RequiredCredentials: String { return self._s[3220]! } - public var Passport_Address_TypeRentalAgreementUploadScan: String { return self._s[3221]! } - public var TwoStepAuth_EmailSkipAlert: String { return self._s[3222]! } - public var Channel_Setup_TypePublic: String { return self._s[3225]! } + public var Channel_EditAdmin_PermissionDeleteMessages: String { return self._s[3215]! } + public var Privacy_ChatsTitle: String { return self._s[3216]! } + public var DialogList_ClearHistoryConfirmation: String { return self._s[3217]! } + public var SettingsSearch_Synonyms_Data_Storage_ClearCache: String { return self._s[3218]! } + public var Watch_Suggestion_HoldOn: String { return self._s[3219]! } + public var Group_EditAdmin_TransferOwnership: String { return self._s[3220]! } + public var Group_LinkedChannel: String { return self._s[3221]! } + public var SocksProxySetup_RequiredCredentials: String { return self._s[3222]! } + public var Passport_Address_TypeRentalAgreementUploadScan: String { return self._s[3223]! } + public var TwoStepAuth_EmailSkipAlert: String { return self._s[3224]! } + public var Channel_Setup_TypePublic: String { return self._s[3227]! } public func Channel_AdminLog_MessageToggleInvitesOn(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3226]!, self._r[3226]!, [_0]) + return formatWithArgumentRanges(self._s[3228]!, self._r[3228]!, [_0]) } - public var Channel_TypeSetup_Title: String { return self._s[3228]! } - public var Map_OpenInMaps: String { return self._s[3230]! } + public var Channel_TypeSetup_Title: String { return self._s[3230]! } + public var Map_OpenInMaps: String { return self._s[3232]! } public func PUSH_PINNED_NOTEXT(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3231]!, self._r[3231]!, [_1]) + return formatWithArgumentRanges(self._s[3233]!, self._r[3233]!, [_1]) } - public var NotificationsSound_Tremolo: String { return self._s[3233]! } + public var NotificationsSound_Tremolo: String { return self._s[3235]! } public func Date_ChatDateHeaderYear(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3234]!, self._r[3234]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[3236]!, self._r[3236]!, [_1, _2, _3]) } - public var ConversationProfile_UnknownAddMemberError: String { return self._s[3235]! } - public var Channel_OwnershipTransfer_PasswordPlaceholder: String { return self._s[3236]! } - public var Passport_PasswordHelp: String { return self._s[3237]! } - public var Login_CodeExpiredError: String { return self._s[3238]! } - public var Channel_EditAdmin_PermissionChangeInfo: String { return self._s[3239]! } - public var Conversation_TitleUnmute: String { return self._s[3240]! } - public var Passport_Identity_ScansHelp: String { return self._s[3241]! } - public var Passport_Language_lo: String { return self._s[3242]! } - public var Camera_FlashAuto: String { return self._s[3243]! } - public var Conversation_OpenBotLinkOpen: String { return self._s[3244]! } - public var Common_Cancel: String { return self._s[3245]! } - public var DialogList_SavedMessagesTooltip: String { return self._s[3246]! } - public var TwoStepAuth_SetupPasswordTitle: String { return self._s[3247]! } - public var Appearance_TintAllColors: String { return self._s[3248]! } + public var ConversationProfile_UnknownAddMemberError: String { return self._s[3237]! } + public var Channel_OwnershipTransfer_PasswordPlaceholder: String { return self._s[3238]! } + public var Passport_PasswordHelp: String { return self._s[3239]! } + public var Login_CodeExpiredError: String { return self._s[3240]! } + public var Channel_EditAdmin_PermissionChangeInfo: String { return self._s[3241]! } + public var Conversation_TitleUnmute: String { return self._s[3242]! } + public var Passport_Identity_ScansHelp: String { return self._s[3243]! } + public var Passport_Language_lo: String { return self._s[3244]! } + public var Camera_FlashAuto: String { return self._s[3245]! } + public var Conversation_OpenBotLinkOpen: String { return self._s[3246]! } + public var Common_Cancel: String { return self._s[3247]! } + public var DialogList_SavedMessagesTooltip: String { return self._s[3248]! } + public var TwoStepAuth_SetupPasswordTitle: String { return self._s[3249]! } + public var Appearance_TintAllColors: String { return self._s[3250]! } public func PUSH_MESSAGE_FWD(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3249]!, self._r[3249]!, [_1]) + return formatWithArgumentRanges(self._s[3251]!, self._r[3251]!, [_1]) } - public var Conversation_ReportSpamConfirmation: String { return self._s[3250]! } - public var ChatSettings_Title: String { return self._s[3252]! } - public var Passport_PasswordReset: String { return self._s[3253]! } - public var SocksProxySetup_TypeNone: String { return self._s[3254]! } - public var PhoneNumberHelp_Help: String { return self._s[3256]! } - public var Checkout_EnterPassword: String { return self._s[3257]! } - public var Share_AuthTitle: String { return self._s[3259]! } - public var Activity_UploadingDocument: String { return self._s[3260]! } - public var State_Connecting: String { return self._s[3261]! } - public var Profile_MessageLifetime1w: String { return self._s[3262]! } - public var Conversation_ContextMenuReport: String { return self._s[3263]! } - public var CheckoutInfo_ReceiverInfoPhone: String { return self._s[3264]! } - public var AutoNightTheme_ScheduledTo: String { return self._s[3265]! } - public var AuthSessions_Terminate: String { return self._s[3266]! } - public var Checkout_NewCard_CardholderNamePlaceholder: String { return self._s[3267]! } - public var KeyCommand_JumpToPreviousUnreadChat: String { return self._s[3268]! } - public var PhotoEditor_Set: String { return self._s[3269]! } - public var EmptyGroupInfo_Title: String { return self._s[3270]! } - public var Login_PadPhoneHelp: String { return self._s[3271]! } - public var AutoDownloadSettings_TypeGroupChats: String { return self._s[3273]! } - public var PrivacyPolicy_DeclineLastWarning: String { return self._s[3275]! } - public var NotificationsSound_Complete: String { return self._s[3276]! } - public var SettingsSearch_Synonyms_Privacy_Data_Title: String { return self._s[3277]! } - public var Group_Info_AdminLog: String { return self._s[3278]! } - public var GroupPermission_NotAvailableInPublicGroups: String { return self._s[3279]! } - public var Channel_AdminLog_InfoPanelAlertText: String { return self._s[3280]! } - public var Conversation_Admin: String { return self._s[3282]! } - public var Conversation_GifTooltip: String { return self._s[3283]! } - public var Passport_NotLoggedInMessage: String { return self._s[3284]! } + public var Conversation_ReportSpamConfirmation: String { return self._s[3252]! } + public var ChatSettings_Title: String { return self._s[3254]! } + public var Passport_PasswordReset: String { return self._s[3255]! } + public var SocksProxySetup_TypeNone: String { return self._s[3256]! } + public var PhoneNumberHelp_Help: String { return self._s[3258]! } + public var Checkout_EnterPassword: String { return self._s[3259]! } + public var Share_AuthTitle: String { return self._s[3261]! } + public var Activity_UploadingDocument: String { return self._s[3262]! } + public var State_Connecting: String { return self._s[3263]! } + public var Profile_MessageLifetime1w: String { return self._s[3264]! } + public var Conversation_ContextMenuReport: String { return self._s[3265]! } + public var CheckoutInfo_ReceiverInfoPhone: String { return self._s[3266]! } + public var AutoNightTheme_ScheduledTo: String { return self._s[3267]! } + public var AuthSessions_Terminate: String { return self._s[3268]! } + public var Checkout_NewCard_CardholderNamePlaceholder: String { return self._s[3269]! } + public var KeyCommand_JumpToPreviousUnreadChat: String { return self._s[3270]! } + public var PhotoEditor_Set: String { return self._s[3271]! } + public var EmptyGroupInfo_Title: String { return self._s[3272]! } + public var Login_PadPhoneHelp: String { return self._s[3273]! } + public var AutoDownloadSettings_TypeGroupChats: String { return self._s[3275]! } + public var PrivacyPolicy_DeclineLastWarning: String { return self._s[3277]! } + public var NotificationsSound_Complete: String { return self._s[3278]! } + public var SettingsSearch_Synonyms_Privacy_Data_Title: String { return self._s[3279]! } + public var Group_Info_AdminLog: String { return self._s[3280]! } + public var GroupPermission_NotAvailableInPublicGroups: String { return self._s[3281]! } + public var Channel_AdminLog_InfoPanelAlertText: String { return self._s[3282]! } + public var Conversation_Admin: String { return self._s[3284]! } + public var Conversation_GifTooltip: String { return self._s[3285]! } + public var Passport_NotLoggedInMessage: String { return self._s[3286]! } public func AutoDownloadSettings_OnFor(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3285]!, self._r[3285]!, [_0]) + return formatWithArgumentRanges(self._s[3287]!, self._r[3287]!, [_0]) } - public var Profile_MessageLifetimeForever: String { return self._s[3286]! } - public var SharedMedia_EmptyTitle: String { return self._s[3288]! } - public var Channel_Edit_PrivatePublicLinkAlert: String { return self._s[3290]! } - public var Username_Help: String { return self._s[3291]! } - public var DialogList_LanguageTooltip: String { return self._s[3293]! } - public var Map_LoadError: String { return self._s[3294]! } - public var Login_PhoneNumberAlreadyAuthorized: String { return self._s[3295]! } - public var Channel_AdminLog_AddMembers: String { return self._s[3296]! } - public var ArchivedChats_IntroTitle2: String { return self._s[3297]! } - public var Notification_Exceptions_NewException: String { return self._s[3298]! } - public var TwoStepAuth_EmailTitle: String { return self._s[3299]! } - public var WatchRemote_AlertText: String { return self._s[3300]! } - public var ChatSettings_ConnectionType_Title: String { return self._s[3303]! } + public var Profile_MessageLifetimeForever: String { return self._s[3288]! } + public var SharedMedia_EmptyTitle: String { return self._s[3290]! } + public var Channel_Edit_PrivatePublicLinkAlert: String { return self._s[3292]! } + public var Username_Help: String { return self._s[3293]! } + public var DialogList_LanguageTooltip: String { return self._s[3295]! } + public var Map_LoadError: String { return self._s[3296]! } + public var Login_PhoneNumberAlreadyAuthorized: String { return self._s[3297]! } + public var Channel_AdminLog_AddMembers: String { return self._s[3298]! } + public var ArchivedChats_IntroTitle2: String { return self._s[3299]! } + public var Notification_Exceptions_NewException: String { return self._s[3300]! } + public var TwoStepAuth_EmailTitle: String { return self._s[3301]! } + public var WatchRemote_AlertText: String { return self._s[3302]! } + public var ChatSettings_ConnectionType_Title: String { return self._s[3305]! } public func Settings_CheckPhoneNumberTitle(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3304]!, self._r[3304]!, [_0]) + return formatWithArgumentRanges(self._s[3306]!, self._r[3306]!, [_0]) } - public var SettingsSearch_Synonyms_Calls_CallTab: String { return self._s[3305]! } - public var Passport_Address_CountryPlaceholder: String { return self._s[3306]! } + public var SettingsSearch_Synonyms_Calls_CallTab: String { return self._s[3307]! } + public var Passport_Address_CountryPlaceholder: String { return self._s[3308]! } public func DialogList_AwaitingEncryption(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3307]!, self._r[3307]!, [_0]) + return formatWithArgumentRanges(self._s[3309]!, self._r[3309]!, [_0]) } public func Time_PreciseDate_m6(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3308]!, self._r[3308]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[3310]!, self._r[3310]!, [_1, _2, _3]) } - public var Group_AdminLog_EmptyText: String { return self._s[3309]! } - public var SettingsSearch_Synonyms_Appearance_Title: String { return self._s[3310]! } - public var Conversation_PrivateChannelTooltip: String { return self._s[3312]! } - public var ChatList_UndoArchiveText1: String { return self._s[3313]! } - public var AccessDenied_VideoMicrophone: String { return self._s[3314]! } - public var Conversation_ContextMenuStickerPackAdd: String { return self._s[3315]! } - public var Cache_ClearNone: String { return self._s[3316]! } - public var SocksProxySetup_FailedToConnect: String { return self._s[3317]! } - public var Permissions_NotificationsTitle_v0: String { return self._s[3318]! } + public var Group_AdminLog_EmptyText: String { return self._s[3311]! } + public var SettingsSearch_Synonyms_Appearance_Title: String { return self._s[3312]! } + public var Conversation_PrivateChannelTooltip: String { return self._s[3314]! } + public var ChatList_UndoArchiveText1: String { return self._s[3315]! } + public var AccessDenied_VideoMicrophone: String { return self._s[3316]! } + public var Conversation_ContextMenuStickerPackAdd: String { return self._s[3317]! } + public var Cache_ClearNone: String { return self._s[3318]! } + public var SocksProxySetup_FailedToConnect: String { return self._s[3319]! } + public var Permissions_NotificationsTitle_v0: String { return self._s[3320]! } public func Channel_AdminLog_MessageEdited(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3319]!, self._r[3319]!, [_0]) - } - public var Passport_Identity_Country: String { return self._s[3320]! } - public func ChatSettings_AutoDownloadSettings_TypeFile(_ _0: String) -> (String, [(Int, NSRange)]) { return formatWithArgumentRanges(self._s[3321]!, self._r[3321]!, [_0]) } - public func Notification_CreatedChat(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3322]!, self._r[3322]!, [_0]) + public var Passport_Identity_Country: String { return self._s[3322]! } + public func ChatSettings_AutoDownloadSettings_TypeFile(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[3323]!, self._r[3323]!, [_0]) } - public var Exceptions_AddToExceptions: String { return self._s[3323]! } - public var AccessDenied_Settings: String { return self._s[3324]! } - public var Passport_Address_TypeUtilityBillUploadScan: String { return self._s[3325]! } - public var Month_ShortMay: String { return self._s[3326]! } - public var Compose_NewGroup: String { return self._s[3327]! } - public var Group_Setup_TypePrivate: String { return self._s[3329]! } - public var Login_PadPhoneHelpTitle: String { return self._s[3331]! } - public var Appearance_ThemeDayClassic: String { return self._s[3332]! } - public var Channel_AdminLog_MessagePreviousCaption: String { return self._s[3333]! } - public var AutoDownloadSettings_OffForAll: String { return self._s[3334]! } - public var Privacy_GroupsAndChannels_WhoCanAddMe: String { return self._s[3335]! } - public var Conversation_typing: String { return self._s[3337]! } - public var Paint_Masks: String { return self._s[3338]! } - public var Contacts_DeselectAll: String { return self._s[3339]! } - public var Username_InvalidTaken: String { return self._s[3340]! } - public var Call_StatusNoAnswer: String { return self._s[3341]! } - public var TwoStepAuth_EmailAddSuccess: String { return self._s[3342]! } - public var SettingsSearch_Synonyms_Privacy_BlockedUsers: String { return self._s[3343]! } - public var Passport_Identity_Selfie: String { return self._s[3344]! } - public var Login_InfoLastNamePlaceholder: String { return self._s[3345]! } - public var Privacy_SecretChatsLinkPreviewsHelp: String { return self._s[3346]! } - public var Conversation_ClearSecretHistory: String { return self._s[3347]! } - public var PeopleNearby_Description: String { return self._s[3349]! } - public var NetworkUsageSettings_Title: String { return self._s[3350]! } - public var Your_cards_security_code_is_invalid: String { return self._s[3352]! } + public func Notification_CreatedChat(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[3324]!, self._r[3324]!, [_0]) + } + public var Exceptions_AddToExceptions: String { return self._s[3325]! } + public var AccessDenied_Settings: String { return self._s[3326]! } + public var Passport_Address_TypeUtilityBillUploadScan: String { return self._s[3327]! } + public var Month_ShortMay: String { return self._s[3328]! } + public var Compose_NewGroup: String { return self._s[3329]! } + public var Group_Setup_TypePrivate: String { return self._s[3331]! } + public var Login_PadPhoneHelpTitle: String { return self._s[3333]! } + public var Appearance_ThemeDayClassic: String { return self._s[3334]! } + public var Channel_AdminLog_MessagePreviousCaption: String { return self._s[3335]! } + public var AutoDownloadSettings_OffForAll: String { return self._s[3336]! } + public var Privacy_GroupsAndChannels_WhoCanAddMe: String { return self._s[3337]! } + public var Conversation_typing: String { return self._s[3339]! } + public var Paint_Masks: String { return self._s[3340]! } + public var Contacts_DeselectAll: String { return self._s[3341]! } + public var Username_InvalidTaken: String { return self._s[3342]! } + public var Call_StatusNoAnswer: String { return self._s[3343]! } + public var TwoStepAuth_EmailAddSuccess: String { return self._s[3344]! } + public var SettingsSearch_Synonyms_Privacy_BlockedUsers: String { return self._s[3345]! } + public var Passport_Identity_Selfie: String { return self._s[3346]! } + public var Login_InfoLastNamePlaceholder: String { return self._s[3347]! } + public var Privacy_SecretChatsLinkPreviewsHelp: String { return self._s[3348]! } + public var Conversation_ClearSecretHistory: String { return self._s[3349]! } + public var PeopleNearby_Description: String { return self._s[3351]! } + public var NetworkUsageSettings_Title: String { return self._s[3352]! } + public var Your_cards_security_code_is_invalid: String { return self._s[3354]! } public func Notification_LeftChannel(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3354]!, self._r[3354]!, [_0]) + return formatWithArgumentRanges(self._s[3356]!, self._r[3356]!, [_0]) } public func Call_CallInProgressMessage(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3355]!, self._r[3355]!, [_1, _2]) + return formatWithArgumentRanges(self._s[3357]!, self._r[3357]!, [_1, _2]) } - public var SaveIncomingPhotosSettings_From: String { return self._s[3357]! } - public var Map_LiveLocationTitle: String { return self._s[3358]! } - public var Login_InfoAvatarAdd: String { return self._s[3359]! } - public var Passport_Identity_FilesView: String { return self._s[3360]! } - public var UserInfo_GenericPhoneLabel: String { return self._s[3361]! } - public var Privacy_Calls_NeverAllow: String { return self._s[3362]! } + public var SaveIncomingPhotosSettings_From: String { return self._s[3359]! } + public var Map_LiveLocationTitle: String { return self._s[3360]! } + public var Login_InfoAvatarAdd: String { return self._s[3361]! } + public var Passport_Identity_FilesView: String { return self._s[3362]! } + public var UserInfo_GenericPhoneLabel: String { return self._s[3363]! } + public var Privacy_Calls_NeverAllow: String { return self._s[3364]! } public func Contacts_AddPhoneNumber(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3363]!, self._r[3363]!, [_0]) + return formatWithArgumentRanges(self._s[3365]!, self._r[3365]!, [_0]) } - public var ContactInfo_PhoneNumberHidden: String { return self._s[3364]! } - public var TwoStepAuth_ConfirmationText: String { return self._s[3365]! } - public var ChatSettings_AutomaticVideoMessageDownload: String { return self._s[3366]! } + public var ContactInfo_PhoneNumberHidden: String { return self._s[3366]! } + public var TwoStepAuth_ConfirmationText: String { return self._s[3367]! } + public var ChatSettings_AutomaticVideoMessageDownload: String { return self._s[3368]! } public func PUSH_CHAT_MESSAGE_VIDEOS(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3367]!, self._r[3367]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[3369]!, self._r[3369]!, [_1, _2, _3]) } - public var Channel_AdminLogFilter_AdminsAll: String { return self._s[3368]! } - public var Tour_Title2: String { return self._s[3369]! } - public var Conversation_FileOpenIn: String { return self._s[3370]! } - public var Checkout_ErrorPrecheckoutFailed: String { return self._s[3371]! } - public var Wallpaper_Set: String { return self._s[3372]! } - public var Passport_Identity_Translations: String { return self._s[3374]! } + public var Channel_AdminLogFilter_AdminsAll: String { return self._s[3370]! } + public var Tour_Title2: String { return self._s[3371]! } + public var Conversation_FileOpenIn: String { return self._s[3372]! } + public var Checkout_ErrorPrecheckoutFailed: String { return self._s[3373]! } + public var Wallpaper_Set: String { return self._s[3374]! } + public var Passport_Identity_Translations: String { return self._s[3376]! } public func Channel_AdminLog_MessageChangedChannelAbout(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3375]!, self._r[3375]!, [_0]) + return formatWithArgumentRanges(self._s[3377]!, self._r[3377]!, [_0]) } - public var Channel_LeaveChannel: String { return self._s[3376]! } + public var Channel_LeaveChannel: String { return self._s[3378]! } public func PINNED_INVOICE(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3377]!, self._r[3377]!, [_1]) + return formatWithArgumentRanges(self._s[3379]!, self._r[3379]!, [_1]) } - public var SettingsSearch_Synonyms_Proxy_AddProxy: String { return self._s[3378]! } - public var PhotoEditor_HighlightsTint: String { return self._s[3379]! } - public var Passport_Email_Delete: String { return self._s[3380]! } - public var Conversation_Mute: String { return self._s[3382]! } - public var Channel_AddBotAsAdmin: String { return self._s[3383]! } - public var Channel_AdminLog_CanSendMessages: String { return self._s[3385]! } - public var Channel_Management_LabelOwner: String { return self._s[3387]! } + public var SettingsSearch_Synonyms_Proxy_AddProxy: String { return self._s[3380]! } + public var PhotoEditor_HighlightsTint: String { return self._s[3381]! } + public var Passport_Email_Delete: String { return self._s[3382]! } + public var Conversation_Mute: String { return self._s[3384]! } + public var Channel_AddBotAsAdmin: String { return self._s[3385]! } + public var Channel_AdminLog_CanSendMessages: String { return self._s[3387]! } + public var Channel_Management_LabelOwner: String { return self._s[3389]! } public func Notification_PassportValuesSentMessage(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3388]!, self._r[3388]!, [_1, _2]) + return formatWithArgumentRanges(self._s[3390]!, self._r[3390]!, [_1, _2]) } - public var Calls_CallTabDescription: String { return self._s[3389]! } - public var Passport_Identity_NativeNameHelp: String { return self._s[3390]! } - public var Common_No: String { return self._s[3391]! } - public var Weekday_Sunday: String { return self._s[3392]! } - public var Notification_Reply: String { return self._s[3393]! } - public var Conversation_ViewMessage: String { return self._s[3394]! } + public var Calls_CallTabDescription: String { return self._s[3391]! } + public var Passport_Identity_NativeNameHelp: String { return self._s[3392]! } + public var Common_No: String { return self._s[3393]! } + public var Weekday_Sunday: String { return self._s[3394]! } + public var Notification_Reply: String { return self._s[3395]! } + public var Conversation_ViewMessage: String { return self._s[3396]! } public func Checkout_SavePasswordTimeoutAndFaceId(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3395]!, self._r[3395]!, [_0]) + return formatWithArgumentRanges(self._s[3397]!, self._r[3397]!, [_0]) } public func Map_LiveLocationPrivateDescription(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3396]!, self._r[3396]!, [_0]) + return formatWithArgumentRanges(self._s[3398]!, self._r[3398]!, [_0]) } - public var SettingsSearch_Synonyms_EditProfile_AddAccount: String { return self._s[3397]! } - public var Message_PinnedDocumentMessage: String { return self._s[3398]! } - public var DialogList_TabTitle: String { return self._s[3400]! } - public var ChatSettings_AutoPlayTitle: String { return self._s[3401]! } - public var Passport_FieldEmail: String { return self._s[3402]! } - public var Conversation_UnpinMessageAlert: String { return self._s[3403]! } - public var Passport_Address_TypeBankStatement: String { return self._s[3404]! } - public var Passport_Identity_ExpiryDate: String { return self._s[3405]! } - public var Privacy_Calls_P2P: String { return self._s[3406]! } + public var SettingsSearch_Synonyms_EditProfile_AddAccount: String { return self._s[3399]! } + public var Message_PinnedDocumentMessage: String { return self._s[3400]! } + public var DialogList_TabTitle: String { return self._s[3402]! } + public var ChatSettings_AutoPlayTitle: String { return self._s[3403]! } + public var Passport_FieldEmail: String { return self._s[3404]! } + public var Conversation_UnpinMessageAlert: String { return self._s[3405]! } + public var Passport_Address_TypeBankStatement: String { return self._s[3406]! } + public var Passport_Identity_ExpiryDate: String { return self._s[3407]! } + public var Privacy_Calls_P2P: String { return self._s[3408]! } public func CancelResetAccount_Success(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3408]!, self._r[3408]!, [_0]) + return formatWithArgumentRanges(self._s[3410]!, self._r[3410]!, [_0]) } - public var SocksProxySetup_UseForCallsHelp: String { return self._s[3409]! } + public var SocksProxySetup_UseForCallsHelp: String { return self._s[3411]! } public func PUSH_CHAT_ALBUM(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3410]!, self._r[3410]!, [_1, _2]) + return formatWithArgumentRanges(self._s[3412]!, self._r[3412]!, [_1, _2]) } - public var Stickers_ClearRecent: String { return self._s[3411]! } - public var EnterPasscode_ChangeTitle: String { return self._s[3412]! } - public var Passport_InfoText: String { return self._s[3413]! } - public var Checkout_NewCard_SaveInfoEnableHelp: String { return self._s[3414]! } + public var Stickers_ClearRecent: String { return self._s[3413]! } + public var EnterPasscode_ChangeTitle: String { return self._s[3414]! } + public var Passport_InfoText: String { return self._s[3415]! } + public var Checkout_NewCard_SaveInfoEnableHelp: String { return self._s[3416]! } public func Login_InvalidPhoneEmailSubject(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3415]!, self._r[3415]!, [_0]) + return formatWithArgumentRanges(self._s[3417]!, self._r[3417]!, [_0]) } public func Time_PreciseDate_m3(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3416]!, self._r[3416]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[3418]!, self._r[3418]!, [_1, _2, _3]) } - public var SettingsSearch_Synonyms_Notifications_BadgeIncludeMutedChannels: String { return self._s[3417]! } - public var Passport_Identity_EditDriversLicense: String { return self._s[3418]! } - public var Conversation_TapAndHoldToRecord: String { return self._s[3420]! } - public var SettingsSearch_Synonyms_Notifications_BadgeIncludeMutedChats: String { return self._s[3421]! } + public var SettingsSearch_Synonyms_Notifications_BadgeIncludeMutedChannels: String { return self._s[3419]! } + public var Passport_Identity_EditDriversLicense: String { return self._s[3420]! } + public var Conversation_TapAndHoldToRecord: String { return self._s[3422]! } + public var SettingsSearch_Synonyms_Notifications_BadgeIncludeMutedChats: String { return self._s[3423]! } public func Notification_CallTimeFormat(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3422]!, self._r[3422]!, [_1, _2]) + return formatWithArgumentRanges(self._s[3424]!, self._r[3424]!, [_1, _2]) } - public var Channel_EditAdmin_PermissionInviteViaLink: String { return self._s[3424]! } + public var Channel_EditAdmin_PermissionInviteViaLink: String { return self._s[3426]! } public func Generic_OpenHiddenLinkAlert(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3426]!, self._r[3426]!, [_0]) + return formatWithArgumentRanges(self._s[3428]!, self._r[3428]!, [_0]) } - public var DialogList_Unread: String { return self._s[3427]! } + public var DialogList_Unread: String { return self._s[3429]! } public func PUSH_CHAT_MESSAGE_GIF(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3428]!, self._r[3428]!, [_1, _2]) + return formatWithArgumentRanges(self._s[3430]!, self._r[3430]!, [_1, _2]) } - public var User_DeletedAccount: String { return self._s[3429]! } - public var OwnershipTransfer_SetupTwoStepAuth: String { return self._s[3430]! } + public var User_DeletedAccount: String { return self._s[3431]! } + public var OwnershipTransfer_SetupTwoStepAuth: String { return self._s[3432]! } public func Watch_Time_ShortYesterdayAt(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3431]!, self._r[3431]!, [_0]) + return formatWithArgumentRanges(self._s[3433]!, self._r[3433]!, [_0]) } - public var UserInfo_NotificationsDefault: String { return self._s[3432]! } - public var SharedMedia_CategoryMedia: String { return self._s[3433]! } - public var SocksProxySetup_ProxyStatusUnavailable: String { return self._s[3434]! } - public var Channel_AdminLog_MessageRestrictedForever: String { return self._s[3435]! } - public var Watch_ChatList_Compose: String { return self._s[3436]! } - public var Notifications_MessageNotificationsExceptionsHelp: String { return self._s[3437]! } - public var AutoDownloadSettings_Delimeter: String { return self._s[3438]! } - public var Watch_Microphone_Access: String { return self._s[3439]! } - public var Group_Setup_HistoryHeader: String { return self._s[3440]! } - public var Map_SetThisLocation: String { return self._s[3441]! } - public var Activity_UploadingPhoto: String { return self._s[3442]! } - public var Conversation_Edit: String { return self._s[3444]! } - public var Group_ErrorSendRestrictedMedia: String { return self._s[3445]! } - public var Login_TermsOfServiceDecline: String { return self._s[3446]! } - public var Message_PinnedContactMessage: String { return self._s[3447]! } + public var UserInfo_NotificationsDefault: String { return self._s[3434]! } + public var SharedMedia_CategoryMedia: String { return self._s[3435]! } + public var SocksProxySetup_ProxyStatusUnavailable: String { return self._s[3436]! } + public var Channel_AdminLog_MessageRestrictedForever: String { return self._s[3437]! } + public var Watch_ChatList_Compose: String { return self._s[3438]! } + public var Notifications_MessageNotificationsExceptionsHelp: String { return self._s[3439]! } + public var AutoDownloadSettings_Delimeter: String { return self._s[3440]! } + public var Watch_Microphone_Access: String { return self._s[3441]! } + public var Group_Setup_HistoryHeader: String { return self._s[3442]! } + public var Map_SetThisLocation: String { return self._s[3443]! } + public var Activity_UploadingPhoto: String { return self._s[3444]! } + public var Conversation_Edit: String { return self._s[3446]! } + public var Group_ErrorSendRestrictedMedia: String { return self._s[3447]! } + public var Login_TermsOfServiceDecline: String { return self._s[3448]! } + public var Message_PinnedContactMessage: String { return self._s[3449]! } public func Channel_AdminLog_MessageRestrictedNameUsername(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3448]!, self._r[3448]!, [_1, _2]) + return formatWithArgumentRanges(self._s[3450]!, self._r[3450]!, [_1, _2]) } public func Login_PhoneBannedEmailBody(_ _1: String, _ _2: String, _ _3: String, _ _4: String, _ _5: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3449]!, self._r[3449]!, [_1, _2, _3, _4, _5]) + return formatWithArgumentRanges(self._s[3451]!, self._r[3451]!, [_1, _2, _3, _4, _5]) } - public var Appearance_LargeEmoji: String { return self._s[3450]! } - public var TwoStepAuth_AdditionalPassword: String { return self._s[3452]! } + public var Appearance_LargeEmoji: String { return self._s[3452]! } + public var TwoStepAuth_AdditionalPassword: String { return self._s[3454]! } public func PUSH_CHAT_DELETE_YOU(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3453]!, self._r[3453]!, [_1, _2]) + return formatWithArgumentRanges(self._s[3455]!, self._r[3455]!, [_1, _2]) } - public var Passport_Phone_EnterOtherNumber: String { return self._s[3454]! } - public var Message_PinnedPhotoMessage: String { return self._s[3455]! } - public var Passport_FieldPhone: String { return self._s[3456]! } - public var TwoStepAuth_RecoveryEmailAddDescription: String { return self._s[3457]! } - public var ChatSettings_AutoPlayGifs: String { return self._s[3458]! } - public var InfoPlist_NSCameraUsageDescription: String { return self._s[3460]! } - public var Conversation_Call: String { return self._s[3461]! } - public var Common_TakePhoto: String { return self._s[3463]! } - public var Group_EditAdmin_RankTitle: String { return self._s[3464]! } - public var Channel_NotificationLoading: String { return self._s[3465]! } + public var Passport_Phone_EnterOtherNumber: String { return self._s[3456]! } + public var Message_PinnedPhotoMessage: String { return self._s[3457]! } + public var Passport_FieldPhone: String { return self._s[3458]! } + public var TwoStepAuth_RecoveryEmailAddDescription: String { return self._s[3459]! } + public var ChatSettings_AutoPlayGifs: String { return self._s[3460]! } + public var InfoPlist_NSCameraUsageDescription: String { return self._s[3462]! } + public var Conversation_Call: String { return self._s[3463]! } + public var Common_TakePhoto: String { return self._s[3465]! } + public var Group_EditAdmin_RankTitle: String { return self._s[3466]! } + public var Channel_NotificationLoading: String { return self._s[3467]! } public func Notification_Exceptions_Sound(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3466]!, self._r[3466]!, [_0]) + return formatWithArgumentRanges(self._s[3468]!, self._r[3468]!, [_0]) } public func PUSH_CHANNEL_MESSAGE_VIDEO(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3467]!, self._r[3467]!, [_1]) + return formatWithArgumentRanges(self._s[3469]!, self._r[3469]!, [_1]) } - public var Permissions_SiriTitle_v0: String { return self._s[3468]! } + public var Permissions_SiriTitle_v0: String { return self._s[3470]! } public func Login_ResetAccountProtected_Text(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3469]!, self._r[3469]!, [_0]) + return formatWithArgumentRanges(self._s[3471]!, self._r[3471]!, [_0]) } - public var Channel_MessagePhotoRemoved: String { return self._s[3470]! } - public var Common_edit: String { return self._s[3471]! } - public var PrivacySettings_AuthSessions: String { return self._s[3472]! } - public var Month_ShortJune: String { return self._s[3473]! } - public var PrivacyLastSeenSettings_AlwaysShareWith_Placeholder: String { return self._s[3474]! } - public var Call_ReportSend: String { return self._s[3475]! } - public var Watch_LastSeen_JustNow: String { return self._s[3476]! } - public var Notifications_MessageNotifications: String { return self._s[3477]! } - public var WallpaperSearch_ColorGreen: String { return self._s[3478]! } - public var BroadcastListInfo_AddRecipient: String { return self._s[3480]! } - public var Group_Status: String { return self._s[3481]! } + public var Channel_MessagePhotoRemoved: String { return self._s[3472]! } + public var Common_edit: String { return self._s[3473]! } + public var PrivacySettings_AuthSessions: String { return self._s[3474]! } + public var Month_ShortJune: String { return self._s[3475]! } + public var PrivacyLastSeenSettings_AlwaysShareWith_Placeholder: String { return self._s[3476]! } + public var Call_ReportSend: String { return self._s[3477]! } + public var Watch_LastSeen_JustNow: String { return self._s[3478]! } + public var Notifications_MessageNotifications: String { return self._s[3479]! } + public var WallpaperSearch_ColorGreen: String { return self._s[3480]! } + public var BroadcastListInfo_AddRecipient: String { return self._s[3482]! } + public var Group_Status: String { return self._s[3483]! } public func AutoNightTheme_LocationHelp(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3482]!, self._r[3482]!, [_0, _1]) + return formatWithArgumentRanges(self._s[3484]!, self._r[3484]!, [_0, _1]) } - public var TextFormat_AddLinkTitle: String { return self._s[3483]! } - public var ShareMenu_ShareTo: String { return self._s[3484]! } - public var Conversation_Moderate_Ban: String { return self._s[3485]! } + public var TextFormat_AddLinkTitle: String { return self._s[3485]! } + public var ShareMenu_ShareTo: String { return self._s[3486]! } + public var Conversation_Moderate_Ban: String { return self._s[3487]! } public func Conversation_DeleteMessagesFor(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3486]!, self._r[3486]!, [_0]) + return formatWithArgumentRanges(self._s[3488]!, self._r[3488]!, [_0]) } - public var SharedMedia_ViewInChat: String { return self._s[3487]! } - public var Map_LiveLocationFor8Hours: String { return self._s[3488]! } + public var SharedMedia_ViewInChat: String { return self._s[3489]! } + public var Map_LiveLocationFor8Hours: String { return self._s[3490]! } public func PUSH_PINNED_PHOTO(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3489]!, self._r[3489]!, [_1]) + return formatWithArgumentRanges(self._s[3491]!, self._r[3491]!, [_1]) } public func PUSH_PINNED_POLL(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3490]!, self._r[3490]!, [_1, _2]) + return formatWithArgumentRanges(self._s[3492]!, self._r[3492]!, [_1, _2]) } public func Map_AccurateTo(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3492]!, self._r[3492]!, [_0]) + return formatWithArgumentRanges(self._s[3494]!, self._r[3494]!, [_0]) } - public var Map_OpenInHereMaps: String { return self._s[3493]! } - public var Appearance_ReduceMotion: String { return self._s[3494]! } + public var Map_OpenInHereMaps: String { return self._s[3495]! } + public var Appearance_ReduceMotion: String { return self._s[3496]! } public func PUSH_MESSAGE_TEXT(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3495]!, self._r[3495]!, [_1, _2]) - } - public var Channel_Setup_TypePublicHelp: String { return self._s[3496]! } - public var Passport_Identity_EditInternalPassport: String { return self._s[3497]! } - public var PhotoEditor_Skip: String { return self._s[3498]! } - public func SharedMedia_Photo(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[0 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Map_ETAMinutes(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[1 * 6 + Int(form.rawValue)]!, stringValue) + return formatWithArgumentRanges(self._s[3497]!, self._r[3497]!, [_1, _2]) } + public var Channel_Setup_TypePublicHelp: String { return self._s[3498]! } + public var Passport_Identity_EditInternalPassport: String { return self._s[3499]! } + public var PhotoEditor_Skip: String { return self._s[3500]! } public func PUSH_CHANNEL_MESSAGE_ROUNDS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, selector) - return String(format: self._ps[2 * 6 + Int(form.rawValue)]!, _1, _2) - } - public func QuickSend_Photos(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[3 * 6 + Int(form.rawValue)]!, stringValue) - } - public func ForwardedPhotos(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[4 * 6 + Int(form.rawValue)]!, stringValue) - } - public func PrivacyLastSeenSettings_AddUsers(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[5 * 6 + Int(form.rawValue)]!, stringValue) - } - public func PUSH_CHANNEL_MESSAGE_VIDEOS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, selector) - return String(format: self._ps[6 * 6 + Int(form.rawValue)]!, _1, _2) - } - public func PUSH_CHANNEL_MESSAGE_FWDS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, selector) - return String(format: self._ps[7 * 6 + Int(form.rawValue)]!, _1, _2) - } - public func PUSH_MESSAGES(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, selector) - return String(format: self._ps[8 * 6 + Int(form.rawValue)]!, _1, _2) - } - public func Conversation_StatusSubscribers(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[9 * 6 + Int(form.rawValue)]!, stringValue) - } - public func ChatList_DeleteConfirmation(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[10 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Notifications_ExceptionMuteExpires_Days(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[11 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Forward_ConfirmMultipleFiles(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[12 * 6 + Int(form.rawValue)]!, stringValue) - } - public func StickerPack_StickerCount(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[13 * 6 + Int(form.rawValue)]!, stringValue) - } - public func MessageTimer_Minutes(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[14 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Passport_Scans(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[15 * 6 + Int(form.rawValue)]!, stringValue) - } - public func SharedMedia_File(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[16 * 6 + Int(form.rawValue)]!, stringValue) - } - public func StickerPack_RemoveStickerCount(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[17 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Conversation_StatusMembers(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[18 * 6 + Int(form.rawValue)]!, stringValue) - } - public func PUSH_CHANNEL_MESSAGES(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, selector) - return String(format: self._ps[19 * 6 + Int(form.rawValue)]!, _1, _2) - } - public func LiveLocationUpdated_MinutesAgo(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[20 * 6 + Int(form.rawValue)]!, stringValue) - } - public func StickerPack_AddStickerCount(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[21 * 6 + Int(form.rawValue)]!, stringValue) + return String(format: self._ps[0 * 6 + Int(form.rawValue)]!, _1, _2) } public func ForwardedFiles(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[22 * 6 + Int(form.rawValue)]!, stringValue) - } - public func SharedMedia_DeleteItemsConfirmation(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[23 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Notifications_Exceptions(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[24 * 6 + Int(form.rawValue)]!, stringValue) - } - public func MessagePoll_VotedCount(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[25 * 6 + Int(form.rawValue)]!, stringValue) - } - public func DialogList_LiveLocationChatsCount(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[26 * 6 + Int(form.rawValue)]!, stringValue) - } - public func PUSH_CHANNEL_MESSAGE_PHOTOS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, selector) - return String(format: self._ps[27 * 6 + Int(form.rawValue)]!, _1, _2) - } - public func PUSH_MESSAGE_FWDS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, selector) - return String(format: self._ps[28 * 6 + Int(form.rawValue)]!, _1, _2) - } - public func Notification_GameScoreSelfSimple(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[29 * 6 + Int(form.rawValue)]!, stringValue) - } - public func MuteExpires_Hours(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[30 * 6 + Int(form.rawValue)]!, stringValue) - } - public func AttachmentMenu_SendVideo(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[31 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Call_ShortSeconds(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[32 * 6 + Int(form.rawValue)]!, stringValue) - } - public func ServiceMessage_GameScoreSimple(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[33 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Media_SharePhoto(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[34 * 6 + Int(form.rawValue)]!, stringValue) - } - public func ChatList_SelectedChats(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[35 * 6 + Int(form.rawValue)]!, stringValue) - } - public func ServiceMessage_GameScoreSelfSimple(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[36 * 6 + Int(form.rawValue)]!, stringValue) - } - public func PUSH_CHAT_MESSAGES(_ selector: Int32, _ _2: String, _ _1: String, _ _3: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, selector) - return String(format: self._ps[37 * 6 + Int(form.rawValue)]!, _2, _1, _3) - } - public func MuteFor_Hours(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[38 * 6 + Int(form.rawValue)]!, stringValue) - } - public func ForwardedAuthorsOthers(_ selector: Int32, _ _0: String, _ _1: String) -> String { - let form = presentationStringsPluralizationForm(self.lc, selector) - return String(format: self._ps[39 * 6 + Int(form.rawValue)]!, _0, _1) - } - public func AttachmentMenu_SendPhoto(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[40 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Call_Minutes(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[41 * 6 + Int(form.rawValue)]!, stringValue) - } - public func SharedMedia_Link(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[42 * 6 + Int(form.rawValue)]!, stringValue) - } - public func ForwardedLocations(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[43 * 6 + Int(form.rawValue)]!, stringValue) - } - public func MessageTimer_ShortDays(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[44 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Watch_LastSeen_MinutesAgo(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[45 * 6 + Int(form.rawValue)]!, stringValue) - } - public func MessageTimer_Seconds(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[46 * 6 + Int(form.rawValue)]!, stringValue) - } - public func PUSH_CHAT_MESSAGE_FWDS(_ selector: Int32, _ _2: String, _ _1: String, _ _3: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, selector) - return String(format: self._ps[47 * 6 + Int(form.rawValue)]!, _2, _1, _3) - } - public func ServiceMessage_GameScoreExtended(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[48 * 6 + Int(form.rawValue)]!, stringValue) - } - public func ForwardedPolls(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[49 * 6 + Int(form.rawValue)]!, stringValue) - } - public func MessageTimer_Years(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[50 * 6 + Int(form.rawValue)]!, stringValue) + return String(format: self._ps[1 * 6 + Int(form.rawValue)]!, stringValue) } public func GroupInfo_ParticipantCount(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[51 * 6 + Int(form.rawValue)]!, stringValue) + return String(format: self._ps[2 * 6 + Int(form.rawValue)]!, stringValue) } - public func ForwardedAudios(_ value: Int32) -> String { + public func Map_ETAMinutes(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[52 * 6 + Int(form.rawValue)]!, stringValue) + return String(format: self._ps[3 * 6 + Int(form.rawValue)]!, stringValue) } - public func PUSH_CHAT_MESSAGE_ROUNDS(_ selector: Int32, _ _2: String, _ _1: String, _ _3: Int32) -> String { + public func PUSH_CHAT_MESSAGE_PHOTOS(_ selector: Int32, _ _2: String, _ _1: String, _ _3: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, selector) - return String(format: self._ps[53 * 6 + Int(form.rawValue)]!, _2, _1, _3) + return String(format: self._ps[4 * 6 + Int(form.rawValue)]!, _2, _1, _3) } - public func Conversation_LiveLocationMembersCount(_ value: Int32) -> String { + public func ServiceMessage_GameScoreSimple(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[54 * 6 + Int(form.rawValue)]!, stringValue) + return String(format: self._ps[5 * 6 + Int(form.rawValue)]!, stringValue) + } + public func MuteFor_Hours(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[6 * 6 + Int(form.rawValue)]!, stringValue) + } + public func SharedMedia_DeleteItemsConfirmation(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[7 * 6 + Int(form.rawValue)]!, stringValue) + } + public func StickerPack_RemoveStickerCount(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[8 * 6 + Int(form.rawValue)]!, stringValue) + } + public func LiveLocationUpdated_MinutesAgo(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[9 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Media_ShareItem(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[10 * 6 + Int(form.rawValue)]!, stringValue) + } + public func ForwardedAuthorsOthers(_ selector: Int32, _ _0: String, _ _1: String) -> String { + let form = presentationStringsPluralizationForm(self.lc, selector) + return String(format: self._ps[11 * 6 + Int(form.rawValue)]!, _0, _1) + } + public func AttachmentMenu_SendPhoto(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[12 * 6 + Int(form.rawValue)]!, stringValue) } public func MessageTimer_ShortWeeks(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[55 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Contacts_ImportersCount(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[56 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Notifications_ExceptionMuteExpires_Minutes(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[57 * 6 + Int(form.rawValue)]!, stringValue) - } - public func MessageTimer_Weeks(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[58 * 6 + Int(form.rawValue)]!, stringValue) - } - public func LastSeen_HoursAgo(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[59 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Notification_GameScoreExtended(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[60 * 6 + Int(form.rawValue)]!, stringValue) - } - public func LiveLocation_MenuChatsCount(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[61 * 6 + Int(form.rawValue)]!, stringValue) - } - public func SharedMedia_Video(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[62 * 6 + Int(form.rawValue)]!, stringValue) - } - public func PUSH_CHAT_MESSAGE_VIDEOS(_ selector: Int32, _ _2: String, _ _1: String, _ _3: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, selector) - return String(format: self._ps[63 * 6 + Int(form.rawValue)]!, _2, _1, _3) - } - public func MessageTimer_ShortHours(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[64 * 6 + Int(form.rawValue)]!, stringValue) - } - public func MessageTimer_Months(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[65 * 6 + Int(form.rawValue)]!, stringValue) - } - public func MessageTimer_Days(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[66 * 6 + Int(form.rawValue)]!, stringValue) - } - public func MuteExpires_Minutes(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[67 * 6 + Int(form.rawValue)]!, stringValue) - } - public func PUSH_MESSAGE_PHOTOS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, selector) - return String(format: self._ps[68 * 6 + Int(form.rawValue)]!, _1, _2) - } - public func MessageTimer_Hours(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[69 * 6 + Int(form.rawValue)]!, stringValue) - } - public func SharedMedia_Generic(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[70 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Notification_GameScoreSimple(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[71 * 6 + Int(form.rawValue)]!, stringValue) - } - public func ForwardedMessages(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[72 * 6 + Int(form.rawValue)]!, stringValue) - } - public func ForwardedVideoMessages(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[73 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Wallpaper_DeleteConfirmation(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[74 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Notification_GameScoreSelfExtended(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[75 * 6 + Int(form.rawValue)]!, stringValue) - } - public func ForwardedGifs(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[76 * 6 + Int(form.rawValue)]!, stringValue) - } - public func ForwardedContacts(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[77 * 6 + Int(form.rawValue)]!, stringValue) + return String(format: self._ps[13 * 6 + Int(form.rawValue)]!, stringValue) } public func Invitation_Members(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[78 * 6 + Int(form.rawValue)]!, stringValue) + return String(format: self._ps[14 * 6 + Int(form.rawValue)]!, stringValue) } - public func PUSH_MESSAGE_ROUNDS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, selector) - return String(format: self._ps[79 * 6 + Int(form.rawValue)]!, _1, _2) - } - public func MessageTimer_ShortMinutes(_ value: Int32) -> String { + public func PasscodeSettings_FailedAttempts(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[80 * 6 + Int(form.rawValue)]!, stringValue) + return String(format: self._ps[15 * 6 + Int(form.rawValue)]!, stringValue) } - public func Call_ShortMinutes(_ value: Int32) -> String { + public func Notification_GameScoreSelfSimple(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[81 * 6 + Int(form.rawValue)]!, stringValue) + return String(format: self._ps[16 * 6 + Int(form.rawValue)]!, stringValue) + } + public func QuickSend_Photos(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[17 * 6 + Int(form.rawValue)]!, stringValue) + } + public func ForwardedMessages(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[18 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Conversation_StatusMembers(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[19 * 6 + Int(form.rawValue)]!, stringValue) + } + public func ChatList_DeleteConfirmation(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[20 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Notification_GameScoreExtended(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[21 * 6 + Int(form.rawValue)]!, stringValue) } public func LastSeen_MinutesAgo(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[82 * 6 + Int(form.rawValue)]!, stringValue) + return String(format: self._ps[22 * 6 + Int(form.rawValue)]!, stringValue) + } + public func MessageTimer_ShortSeconds(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[23 * 6 + Int(form.rawValue)]!, stringValue) + } + public func PUSH_CHAT_MESSAGE_VIDEOS(_ selector: Int32, _ _2: String, _ _1: String, _ _3: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, selector) + return String(format: self._ps[24 * 6 + Int(form.rawValue)]!, _2, _1, _3) + } + public func Notification_GameScoreSimple(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[25 * 6 + Int(form.rawValue)]!, stringValue) + } + public func SharedMedia_Link(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[26 * 6 + Int(form.rawValue)]!, stringValue) + } + public func MessageTimer_Weeks(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[27 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Map_ETAHours(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[28 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Contacts_ImportersCount(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[29 * 6 + Int(form.rawValue)]!, stringValue) + } + public func MessageTimer_Days(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[30 * 6 + Int(form.rawValue)]!, stringValue) + } + public func MessageTimer_Seconds(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[31 * 6 + Int(form.rawValue)]!, stringValue) + } + public func MuteExpires_Minutes(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[32 * 6 + Int(form.rawValue)]!, stringValue) + } + public func PUSH_CHANNEL_MESSAGES(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, selector) + return String(format: self._ps[33 * 6 + Int(form.rawValue)]!, _1, _2) + } + public func ChatList_SelectedChats(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[34 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Media_SharePhoto(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[35 * 6 + Int(form.rawValue)]!, stringValue) } public func Notifications_ExceptionMuteExpires_Hours(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[83 * 6 + Int(form.rawValue)]!, stringValue) + return String(format: self._ps[36 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Passport_Scans(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[37 * 6 + Int(form.rawValue)]!, stringValue) + } + public func MessageTimer_ShortDays(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[38 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Notifications_ExceptionMuteExpires_Minutes(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[39 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Chat_DeleteMessagesConfirmation(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[40 * 6 + Int(form.rawValue)]!, stringValue) + } + public func StickerPack_AddStickerCount(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[41 * 6 + Int(form.rawValue)]!, stringValue) + } + public func MessageTimer_ShortMinutes(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[42 * 6 + Int(form.rawValue)]!, stringValue) + } + public func ForwardedPolls(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[43 * 6 + Int(form.rawValue)]!, stringValue) + } + public func MessageTimer_Minutes(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[44 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Wallpaper_DeleteConfirmation(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[45 * 6 + Int(form.rawValue)]!, stringValue) + } + public func ForwardedLocations(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[46 * 6 + Int(form.rawValue)]!, stringValue) + } + public func ForwardedStickers(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[47 * 6 + Int(form.rawValue)]!, stringValue) + } + public func PrivacyLastSeenSettings_AddUsers(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[48 * 6 + Int(form.rawValue)]!, stringValue) + } + public func PUSH_MESSAGE_PHOTOS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, selector) + return String(format: self._ps[49 * 6 + Int(form.rawValue)]!, _1, _2) + } + public func PUSH_MESSAGE_VIDEOS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, selector) + return String(format: self._ps[50 * 6 + Int(form.rawValue)]!, _1, _2) + } + public func ForwardedVideoMessages(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[51 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Call_ShortSeconds(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[52 * 6 + Int(form.rawValue)]!, stringValue) + } + public func ServiceMessage_GameScoreSelfExtended(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[53 * 6 + Int(form.rawValue)]!, stringValue) + } + public func ForwardedPhotos(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[54 * 6 + Int(form.rawValue)]!, stringValue) + } + public func ForwardedVideos(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[55 * 6 + Int(form.rawValue)]!, stringValue) + } + public func MuteExpires_Days(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[56 * 6 + Int(form.rawValue)]!, stringValue) + } + public func ForwardedAudios(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[57 * 6 + Int(form.rawValue)]!, stringValue) + } + public func SharedMedia_File(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[58 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Call_ShortMinutes(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[59 * 6 + Int(form.rawValue)]!, stringValue) + } + public func LiveLocation_MenuChatsCount(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[60 * 6 + Int(form.rawValue)]!, stringValue) + } + public func AttachmentMenu_SendItem(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[61 * 6 + Int(form.rawValue)]!, stringValue) + } + public func PUSH_MESSAGE_FWDS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, selector) + return String(format: self._ps[62 * 6 + Int(form.rawValue)]!, _1, _2) } public func StickerPack_RemoveMaskCount(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[63 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Conversation_StatusSubscribers(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[64 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Watch_LastSeen_HoursAgo(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[65 * 6 + Int(form.rawValue)]!, stringValue) + } + public func AttachmentMenu_SendVideo(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[66 * 6 + Int(form.rawValue)]!, stringValue) + } + public func StickerPack_StickerCount(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[67 * 6 + Int(form.rawValue)]!, stringValue) + } + public func ServiceMessage_GameScoreExtended(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[68 * 6 + Int(form.rawValue)]!, stringValue) + } + public func MessageTimer_Years(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[69 * 6 + Int(form.rawValue)]!, stringValue) + } + public func PUSH_CHAT_MESSAGES(_ selector: Int32, _ _2: String, _ _1: String, _ _3: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, selector) + return String(format: self._ps[70 * 6 + Int(form.rawValue)]!, _2, _1, _3) + } + public func InviteText_ContactsCountText(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[71 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Call_Minutes(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[72 * 6 + Int(form.rawValue)]!, stringValue) + } + public func PUSH_CHANNEL_MESSAGE_PHOTOS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, selector) + return String(format: self._ps[73 * 6 + Int(form.rawValue)]!, _1, _2) + } + public func Notifications_Exceptions(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[74 * 6 + Int(form.rawValue)]!, stringValue) + } + public func MessageTimer_Months(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[75 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Media_ShareVideo(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[76 * 6 + Int(form.rawValue)]!, stringValue) + } + public func PUSH_MESSAGE_ROUNDS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, selector) + return String(format: self._ps[77 * 6 + Int(form.rawValue)]!, _1, _2) + } + public func Forward_ConfirmMultipleFiles(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[78 * 6 + Int(form.rawValue)]!, stringValue) + } + public func MuteExpires_Hours(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[79 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Call_Seconds(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[80 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Notifications_ExceptionMuteExpires_Days(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[81 * 6 + Int(form.rawValue)]!, stringValue) + } + public func SharedMedia_Video(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[82 * 6 + Int(form.rawValue)]!, stringValue) + } + public func AttachmentMenu_SendGif(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[83 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Watch_UserInfo_Mute(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[84 * 6 + Int(form.rawValue)]!, stringValue) } - public func PasscodeSettings_FailedAttempts(_ value: Int32) -> String { + public func LastSeen_HoursAgo(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[85 * 6 + Int(form.rawValue)]!, stringValue) @@ -4386,108 +4391,105 @@ public final class PresentationStrings { let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[86 * 6 + Int(form.rawValue)]!, stringValue) } - public func Media_ShareItem(_ value: Int32) -> String { + public func SharedMedia_Generic(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[87 * 6 + Int(form.rawValue)]!, stringValue) } - public func AttachmentMenu_SendItem(_ value: Int32) -> String { + public func MessagePoll_VotedCount(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[88 * 6 + Int(form.rawValue)]!, stringValue) } - public func InviteText_ContactsCountText(_ value: Int32) -> String { + public func DialogList_LiveLocationChatsCount(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[89 * 6 + Int(form.rawValue)]!, stringValue) } - public func UserCount(_ value: Int32) -> String { + public func MessageTimer_ShortHours(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[90 * 6 + Int(form.rawValue)]!, stringValue) } - public func MessageTimer_ShortSeconds(_ value: Int32) -> String { + public func ServiceMessage_GameScoreSelfSimple(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[91 * 6 + Int(form.rawValue)]!, stringValue) } - public func AttachmentMenu_SendGif(_ value: Int32) -> String { + public func ForwardedGifs(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[92 * 6 + Int(form.rawValue)]!, stringValue) } - public func ForwardedStickers(_ value: Int32) -> String { + public func MuteFor_Days(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[93 * 6 + Int(form.rawValue)]!, stringValue) } - public func CreatePoll_AddMoreOptions(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[94 * 6 + Int(form.rawValue)]!, stringValue) + public func PUSH_CHAT_MESSAGE_FWDS(_ selector: Int32, _ _2: String, _ _1: String, _ _3: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, selector) + return String(format: self._ps[94 * 6 + Int(form.rawValue)]!, _2, _1, _3) } - public func MuteExpires_Days(_ value: Int32) -> String { + public func Notification_GameScoreSelfExtended(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[95 * 6 + Int(form.rawValue)]!, stringValue) } - public func PUSH_CHAT_MESSAGE_PHOTOS(_ selector: Int32, _ _2: String, _ _1: String, _ _3: Int32) -> String { + public func PUSH_MESSAGES(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, selector) - return String(format: self._ps[96 * 6 + Int(form.rawValue)]!, _2, _1, _3) + return String(format: self._ps[96 * 6 + Int(form.rawValue)]!, _1, _2) } - public func ServiceMessage_GameScoreSelfExtended(_ value: Int32) -> String { + public func SharedMedia_Photo(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[97 * 6 + Int(form.rawValue)]!, stringValue) } - public func Watch_UserInfo_Mute(_ value: Int32) -> String { + public func Conversation_LiveLocationMembersCount(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[98 * 6 + Int(form.rawValue)]!, stringValue) } - public func Chat_DeleteMessagesConfirmation(_ value: Int32) -> String { + public func Conversation_StatusOnline(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[99 * 6 + Int(form.rawValue)]!, stringValue) } - public func Map_ETAHours(_ value: Int32) -> String { + public func Watch_LastSeen_MinutesAgo(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[100 * 6 + Int(form.rawValue)]!, stringValue) } - public func PUSH_MESSAGE_VIDEOS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, selector) - return String(format: self._ps[101 * 6 + Int(form.rawValue)]!, _1, _2) + public func ForwardedContacts(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[101 * 6 + Int(form.rawValue)]!, stringValue) } - public func Conversation_StatusOnline(_ value: Int32) -> String { + public func UserCount(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[102 * 6 + Int(form.rawValue)]!, stringValue) } - public func MuteFor_Days(_ value: Int32) -> String { + public func CreatePoll_AddMoreOptions(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[103 * 6 + Int(form.rawValue)]!, stringValue) } - public func ForwardedVideos(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[104 * 6 + Int(form.rawValue)]!, stringValue) + public func PUSH_CHANNEL_MESSAGE_VIDEOS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, selector) + return String(format: self._ps[104 * 6 + Int(form.rawValue)]!, _1, _2) } - public func Call_Seconds(_ value: Int32) -> String { + public func MessageTimer_Hours(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[105 * 6 + Int(form.rawValue)]!, stringValue) } - public func Media_ShareVideo(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[106 * 6 + Int(form.rawValue)]!, stringValue) + public func PUSH_CHANNEL_MESSAGE_FWDS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, selector) + return String(format: self._ps[106 * 6 + Int(form.rawValue)]!, _1, _2) } - public func Watch_LastSeen_HoursAgo(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[107 * 6 + Int(form.rawValue)]!, stringValue) + public func PUSH_CHAT_MESSAGE_ROUNDS(_ selector: Int32, _ _2: String, _ _1: String, _ _3: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, selector) + return String(format: self._ps[107 * 6 + Int(form.rawValue)]!, _2, _1, _3) } public init(primaryComponent: PresentationStringsComponent, secondaryComponent: PresentationStringsComponent?, groupingSeparator: String) { diff --git a/submodules/TelegramPresentationData/Sources/PresentationTheme.swift b/submodules/TelegramPresentationData/Sources/PresentationTheme.swift index d4418a6310..63bcb7557c 100644 --- a/submodules/TelegramPresentationData/Sources/PresentationTheme.swift +++ b/submodules/TelegramPresentationData/Sources/PresentationTheme.swift @@ -914,10 +914,11 @@ public final class PresentationTheme: Equatable { public let chat: PresentationThemeChat public let actionSheet: PresentationThemeActionSheet public let inAppNotification: PresentationThemeInAppNotification + public let preview: Bool public let resourceCache: PresentationsResourceCache = PresentationsResourceCache() - public init(name: PresentationThemeName, author: String?, overallDarkAppearance: Bool, intro: PresentationThemeIntro, passcode: PresentationThemePasscode, rootController: PresentationThemeRootController, list: PresentationThemeList, chatList: PresentationThemeChatList, chat: PresentationThemeChat, actionSheet: PresentationThemeActionSheet, inAppNotification: PresentationThemeInAppNotification) { + public init(name: PresentationThemeName, author: String?, overallDarkAppearance: Bool, intro: PresentationThemeIntro, passcode: PresentationThemePasscode, rootController: PresentationThemeRootController, list: PresentationThemeList, chatList: PresentationThemeChatList, chat: PresentationThemeChat, actionSheet: PresentationThemeActionSheet, inAppNotification: PresentationThemeInAppNotification, preview: Bool = false) { self.name = name self.author = author self.overallDarkAppearance = overallDarkAppearance @@ -929,6 +930,7 @@ public final class PresentationTheme: Equatable { self.chat = chat self.actionSheet = actionSheet self.inAppNotification = inAppNotification + self.preview = preview } public func image(_ key: Int32, _ generate: (PresentationTheme) -> UIImage?) -> UIImage? { diff --git a/submodules/TelegramUI/TelegramUI/AnimatedStickerUtils.swift b/submodules/TelegramUI/TelegramUI/AnimatedStickerUtils.swift index 32c45fd498..10c14c80bc 100644 --- a/submodules/TelegramUI/TelegramUI/AnimatedStickerUtils.swift +++ b/submodules/TelegramUI/TelegramUI/AnimatedStickerUtils.swift @@ -57,7 +57,7 @@ public class LocalBundleResource: TelegramMediaResource { } public func isEqual(to: MediaResource) -> Bool { - if let to = to as? LocalBundleResourceId { + if let to = to as? LocalBundleResource { return self.name == to.name && self.ext == to.ext } else { return false diff --git a/submodules/TelegramUI/TelegramUI/AppDelegate.swift b/submodules/TelegramUI/TelegramUI/AppDelegate.swift index 5840ab494a..d80e22de31 100644 --- a/submodules/TelegramUI/TelegramUI/AppDelegate.swift +++ b/submodules/TelegramUI/TelegramUI/AppDelegate.swift @@ -1870,8 +1870,8 @@ final class SharedApplicationContext { unknownMessageCategory = UNNotificationCategory(identifier: "unknown", actions: [], intentIdentifiers: [], hiddenPreviewsBodyPlaceholder: hiddenContentString, options: options) replyMessageCategory = UNNotificationCategory(identifier: "withReply", actions: [reply], intentIdentifiers: [INSearchForMessagesIntentIdentifier], hiddenPreviewsBodyPlaceholder: hiddenContentString, options: carPlayOptions) replyLegacyMessageCategory = UNNotificationCategory(identifier: "r", actions: [reply], intentIdentifiers: [INSearchForMessagesIntentIdentifier], hiddenPreviewsBodyPlaceholder: hiddenContentString, options: carPlayOptions) - replyLegacyMediaMessageCategory = UNNotificationCategory(identifier: "m", actions: [reply], intentIdentifiers: [], hiddenPreviewsBodyPlaceholder: hiddenContentString, options: options) - replyMediaMessageCategory = UNNotificationCategory(identifier: "withReplyMedia", actions: [reply], intentIdentifiers: [], hiddenPreviewsBodyPlaceholder: hiddenContentString, options: options) + replyLegacyMediaMessageCategory = UNNotificationCategory(identifier: "m", actions: [reply], intentIdentifiers: [INSearchForMessagesIntentIdentifier], hiddenPreviewsBodyPlaceholder: hiddenContentString, options: options) + replyMediaMessageCategory = UNNotificationCategory(identifier: "withReplyMedia", actions: [reply], intentIdentifiers: [], hiddenPreviewsBodyPlaceholder: hiddenContentString, options: carPlayOptions) legacyChannelMessageCategory = UNNotificationCategory(identifier: "c", actions: [], intentIdentifiers: [], hiddenPreviewsBodyPlaceholder: hiddenContentString, options: options) muteMessageCategory = UNNotificationCategory(identifier: "withMute", actions: [], intentIdentifiers: [], hiddenPreviewsBodyPlaceholder: hiddenContentString, options: options) muteMediaMessageCategory = UNNotificationCategory(identifier: "withMuteMedia", actions: [], intentIdentifiers: [], hiddenPreviewsBodyPlaceholder: hiddenContentString, options: options) @@ -1882,7 +1882,7 @@ final class SharedApplicationContext { replyMessageCategory = UNNotificationCategory(identifier: "withReply", actions: [reply], intentIdentifiers: [INSearchForMessagesIntentIdentifier], options: carPlayOptions) replyLegacyMessageCategory = UNNotificationCategory(identifier: "r", actions: [reply], intentIdentifiers: [INSearchForMessagesIntentIdentifier], options: carPlayOptions) replyLegacyMediaMessageCategory = UNNotificationCategory(identifier: "m", actions: [reply], intentIdentifiers: [], options: []) - replyMediaMessageCategory = UNNotificationCategory(identifier: "withReplyMedia", actions: [reply], intentIdentifiers: [], options: []) + replyMediaMessageCategory = UNNotificationCategory(identifier: "withReplyMedia", actions: [reply], intentIdentifiers: [], options: carPlayOptions) legacyChannelMessageCategory = UNNotificationCategory(identifier: "c", actions: [], intentIdentifiers: [], options: []) muteMessageCategory = UNNotificationCategory(identifier: "withMute", actions: [], intentIdentifiers: [], options: []) muteMediaMessageCategory = UNNotificationCategory(identifier: "withMuteMedia", actions: [], intentIdentifiers: [], options: []) diff --git a/submodules/TelegramUI/TelegramUI/ChannelAdminController.swift b/submodules/TelegramUI/TelegramUI/ChannelAdminController.swift index 7cd9b22797..d61b285553 100644 --- a/submodules/TelegramUI/TelegramUI/ChannelAdminController.swift +++ b/submodules/TelegramUI/TelegramUI/ChannelAdminController.swift @@ -761,6 +761,7 @@ public func channelAdminController(context: AccountContext, peerId: PeerId, admi var dismissInputImpl: (() -> Void)? var presentControllerImpl: ((ViewController, Any?) -> Void)? var errorImpl: (() -> Void)? + var scrollToRankImpl: (() -> Void)? let actualPeerId = Atomic(value: peerId) let upgradedToSupergroupImpl: (PeerId, @escaping () -> Void) -> Void = { peerId, completion in @@ -809,6 +810,10 @@ public func channelAdminController(context: AccountContext, peerId: PeerId, admi } }, updateFocusedOnRank: { focusedOnRank in updateState { $0.withUpdatedFocusedOnRank(focusedOnRank) } + + if focusedOnRank { + scrollToRankImpl?() + } }, dismissAdmin: { let presentationData = context.sharedContext.currentPresentationData.with { $0 } let actionSheet = ActionSheetController(presentationTheme: presentationData.theme) @@ -1082,7 +1087,7 @@ public func channelAdminController(context: AccountContext, peerId: PeerId, admi let controllerState = ItemListControllerState(theme: presentationData.theme, title: .text(presentationData.strings.Channel_Management_LabelEditor), leftNavigationButton: leftNavigationButton, rightNavigationButton: rightNavigationButton, backNavigationButton: ItemListBackButton(title: presentationData.strings.Common_Back), animateChanges: false) - let listState = ItemListNodeState(entries: channelAdminControllerEntries(presentationData: presentationData, state: state, accountPeerId: context.account.peerId, channelView: channelView, adminView: adminView, initialParticipant: initialParticipant, canEdit: canEdit), style: .blocks, focusItemTag: focusItemTag, emptyStateItem: nil, animateChanges: true) + let listState = ItemListNodeState(entries: channelAdminControllerEntries(presentationData: presentationData, state: state, accountPeerId: context.account.peerId, channelView: channelView, adminView: adminView, initialParticipant: initialParticipant, canEdit: canEdit), style: .blocks, focusItemTag: focusItemTag, ensureVisibleItemTag: nil, emptyStateItem: nil, animateChanges: true) return (controllerState, (listState, arguments)) } @@ -1091,6 +1096,7 @@ public func channelAdminController(context: AccountContext, peerId: PeerId, admi } let controller = ItemListController(context: context, state: signal) + controller.experimentalSnapScrollToItem = true dismissImpl = { [weak controller] in controller?.view.endEditing(true) controller?.dismiss() @@ -1111,6 +1117,27 @@ public func channelAdminController(context: AccountContext, peerId: PeerId, admi } } } + scrollToRankImpl = { [weak controller] in + controller?.afterLayout({ + guard let controller = controller else { + return + } + + var resultItemNode: ListViewItemNode? + let _ = controller.frameForItemNode({ itemNode in + if let itemNode = itemNode as? ItemListSingleLineInputItemNode { + if let tag = itemNode.tag as? ChannelAdminEntryTag, tag == .rank { + resultItemNode = itemNode + return true + } + } + return false + }) + if let resultItemNode = resultItemNode { + controller.ensureItemNodeVisible(resultItemNode) + } + }) + } return controller } diff --git a/submodules/TelegramUI/TelegramUI/ChatController.swift b/submodules/TelegramUI/TelegramUI/ChatController.swift index 590c171466..ca63d082e3 100644 --- a/submodules/TelegramUI/TelegramUI/ChatController.swift +++ b/submodules/TelegramUI/TelegramUI/ChatController.swift @@ -3759,20 +3759,21 @@ public final class ChatController: TelegramController, GalleryHiddenMediaTarget, self.failedMessageEventsDisposable.set((self.context.account.pendingMessageManager.failedMessageEvents(peerId: peerId) |> deliverOnMainQueue).start(next: { [weak self] reason in if let strongSelf = self { - let subjectFlags: TelegramChatBannedRightsFlags = .banSendMedia - let text: String let moreInfo: Bool switch reason { - case .flood: - text = strongSelf.presentationData.strings.Conversation_SendMessageErrorFlood - moreInfo = true - case .publicBan: - text = strongSelf.presentationData.strings.Conversation_SendMessageErrorGroupRestricted - moreInfo = true - case .mediaRestricted: - strongSelf.interfaceInteraction?.displayRestrictedInfo(.mediaRecording, .alert) - return + case .flood: + text = strongSelf.presentationData.strings.Conversation_SendMessageErrorFlood + moreInfo = true + case .publicBan: + text = strongSelf.presentationData.strings.Conversation_SendMessageErrorGroupRestricted + moreInfo = true + case .mediaRestricted: + strongSelf.interfaceInteraction?.displayRestrictedInfo(.mediaRecording, .alert) + return + case .slowmodeActive: + text = strongSelf.presentationData.strings.Chat_SlowmodeSendError + moreInfo = false } let actions: [TextAlertAction] if moreInfo { @@ -5837,7 +5838,7 @@ public final class ChatController: TelegramController, GalleryHiddenMediaTarget, return nil } return strongSelf.context.account.pendingMessageManager.pendingMessageStatus(id) - |> mapToSignal { status -> Signal in + |> mapToSignal { status, _ -> Signal in if status != nil { return .never() } else { diff --git a/submodules/TelegramUI/TelegramUI/ChatHistoryEntry.swift b/submodules/TelegramUI/TelegramUI/ChatHistoryEntry.swift index 667f78dbb4..f6e80d0e50 100644 --- a/submodules/TelegramUI/TelegramUI/ChatHistoryEntry.swift +++ b/submodules/TelegramUI/TelegramUI/ChatHistoryEntry.swift @@ -41,7 +41,11 @@ enum ChatHistoryEntry: Identifiable, Comparable { case let .MessageEntry(message, presentationData, _, _, _, _): var type = 2 if presentationData.largeEmoji && message.elligibleForLargeEmoji && messageIsElligibleForLargeEmoji(message) { - type = 3 + if animatedEmojiResource(emoji: message.text) != nil { + type = 3 + } else { + type = 4 + } } return UInt64(message.stableId) | ((UInt64(type) << 40)) case let .MessageGroupEntry(groupInfo, _, _): diff --git a/submodules/TelegramUI/TelegramUI/ChatMessageInteractiveInstantVideoNode.swift b/submodules/TelegramUI/TelegramUI/ChatMessageInteractiveInstantVideoNode.swift index a14ea83239..3151b18fde 100644 --- a/submodules/TelegramUI/TelegramUI/ChatMessageInteractiveInstantVideoNode.swift +++ b/submodules/TelegramUI/TelegramUI/ChatMessageInteractiveInstantVideoNode.swift @@ -195,7 +195,7 @@ class ChatMessageInteractiveInstantVideoNode: ASDisplayNode { var updatedPlaybackStatus: Signal? if let updatedFile = updatedFile, updatedMedia || updatedMessageId { - updatedPlaybackStatus = combineLatest(messageFileMediaResourceStatus(context: item.context, file: updatedFile, message: item.message, isRecentActions: item.associatedData.isRecentActions), item.context.account.pendingMessageManager.pendingMessageStatus(item.message.id)) + updatedPlaybackStatus = combineLatest(messageFileMediaResourceStatus(context: item.context, file: updatedFile, message: item.message, isRecentActions: item.associatedData.isRecentActions), item.context.account.pendingMessageManager.pendingMessageStatus(item.message.id) |> map { $0.0 }) |> map { resourceStatus, pendingStatus -> FileMediaResourceStatus in if let pendingStatus = pendingStatus { var progress = pendingStatus.progress diff --git a/submodules/TelegramUI/TelegramUI/ChatMessageInteractiveMediaNode.swift b/submodules/TelegramUI/TelegramUI/ChatMessageInteractiveMediaNode.swift index 074ffc7141..c0f9be3518 100644 --- a/submodules/TelegramUI/TelegramUI/ChatMessageInteractiveMediaNode.swift +++ b/submodules/TelegramUI/TelegramUI/ChatMessageInteractiveMediaNode.swift @@ -555,7 +555,7 @@ final class ChatMessageInteractiveMediaNode: ASDisplayNode { if statusUpdated { if let image = media as? TelegramMediaImage { if message.flags.isSending { - updatedStatusSignal = combineLatest(chatMessagePhotoStatus(context: context, messageId: message.id, photoReference: .message(message: MessageReference(message), media: image)), context.account.pendingMessageManager.pendingMessageStatus(message.id)) + updatedStatusSignal = combineLatest(chatMessagePhotoStatus(context: context, messageId: message.id, photoReference: .message(message: MessageReference(message), media: image)), context.account.pendingMessageManager.pendingMessageStatus(message.id) |> map { $0.0 }) |> map { resourceStatus, pendingStatus -> (MediaResourceStatus, MediaResourceStatus?) in if let pendingStatus = pendingStatus { let adjustedProgress = max(pendingStatus.progress, 0.027) @@ -571,7 +571,7 @@ final class ChatMessageInteractiveMediaNode: ASDisplayNode { } } } else if let file = media as? TelegramMediaFile { - updatedStatusSignal = combineLatest(messageMediaFileStatus(context: context, messageId: message.id, file: file), context.account.pendingMessageManager.pendingMessageStatus(message.id)) + updatedStatusSignal = combineLatest(messageMediaFileStatus(context: context, messageId: message.id, file: file), context.account.pendingMessageManager.pendingMessageStatus(message.id) |> map { $0.0 }) |> map { resourceStatus, pendingStatus -> (MediaResourceStatus, MediaResourceStatus?) in if let pendingStatus = pendingStatus { let adjustedProgress = max(pendingStatus.progress, 0.027) diff --git a/submodules/TelegramUI/TelegramUI/ChatSendMessageActionSheetControllerNode.swift b/submodules/TelegramUI/TelegramUI/ChatSendMessageActionSheetControllerNode.swift index ba32c678a3..6ac1668cf7 100644 --- a/submodules/TelegramUI/TelegramUI/ChatSendMessageActionSheetControllerNode.swift +++ b/submodules/TelegramUI/TelegramUI/ChatSendMessageActionSheetControllerNode.swift @@ -6,6 +6,9 @@ import Postbox import TelegramCore import TelegramPresentationData +private let leftInset: CGFloat = 16.0 +private let rightInset: CGFloat = 46.0 + private final class ActionSheetItemNode: ASDisplayNode { private let title: String private let action: () -> Void @@ -16,6 +19,8 @@ private final class ActionSheetItemNode: ASDisplayNode { private let iconNode: ASImageNode private let titleNode: ImmediateTextNode + private var maxWidth: CGFloat? + init(theme: PresentationTheme, title: String, action: @escaping () -> Void) { self.title = title self.action = action @@ -62,13 +67,17 @@ private final class ActionSheetItemNode: ASDisplayNode { func updateTheme(_ theme: PresentationTheme) { self.separatorNode.backgroundColor = theme.actionSheet.opaqueItemSeparatorColor self.highlightedBackgroundNode.backgroundColor = theme.actionSheet.opaqueItemHighlightedBackgroundColor - self.titleNode.attributedText = NSAttributedString(string: title, font: Font.regular(17.0), textColor: theme.actionSheet.primaryTextColor) + self.titleNode.attributedText = NSAttributedString(string: self.title, font: Font.regular(17.0), textColor: theme.actionSheet.primaryTextColor) self.iconNode.image = generateTintedImage(image: UIImage(bundleImageName: "Chat/Input/Menu/SilentIcon"), color: theme.actionSheet.primaryTextColor) + + if let maxWidth = self.maxWidth { + let _ = self.titleNode.updateLayout(CGSize(width: maxWidth - leftInset - rightInset, height: .greatestFiniteMagnitude)) + } } func updateLayout(maxWidth: CGFloat) -> (CGFloat, CGFloat, (CGFloat) -> Void) { - let leftInset: CGFloat = 16.0 - let rightInset: CGFloat = 46.0 + self.maxWidth = maxWidth + let titleSize = self.titleNode.updateLayout(CGSize(width: maxWidth - leftInset - rightInset, height: .greatestFiniteMagnitude)) let height: CGFloat = 44.0 diff --git a/submodules/TelegramUI/TelegramUI/FileMediaResourceStatus.swift b/submodules/TelegramUI/TelegramUI/FileMediaResourceStatus.swift index 7e332a5a4b..c148f57a0b 100644 --- a/submodules/TelegramUI/TelegramUI/FileMediaResourceStatus.swift +++ b/submodules/TelegramUI/TelegramUI/FileMediaResourceStatus.swift @@ -52,7 +52,7 @@ func messageFileMediaResourceStatus(context: AccountContext, file: TelegramMedia } if message.flags.isSending { - return combineLatest(messageMediaFileStatus(context: context, messageId: message.id, file: file), context.account.pendingMessageManager.pendingMessageStatus(message.id), playbackStatus) + return combineLatest(messageMediaFileStatus(context: context, messageId: message.id, file: file), context.account.pendingMessageManager.pendingMessageStatus(message.id) |> map { $0.0 }, playbackStatus) |> map { resourceStatus, pendingStatus, playbackStatus -> FileMediaResourceStatus in let mediaStatus: FileMediaResourceMediaStatus if let playbackStatus = playbackStatus { diff --git a/submodules/TelegramUI/TelegramUI/OpenChatMessage.swift b/submodules/TelegramUI/TelegramUI/OpenChatMessage.swift index 9b3dfd7e84..b4d6f7a54a 100644 --- a/submodules/TelegramUI/TelegramUI/OpenChatMessage.swift +++ b/submodules/TelegramUI/TelegramUI/OpenChatMessage.swift @@ -353,7 +353,7 @@ func openChatMessage(context: AccountContext, message: Message, standalone: Bool return nil })) case let .theme(media): - let controller = ThemePreviewController(context: context, previewTheme: makeDefaultDayPresentationTheme(accentColor: nil, serviceBackgroundColor: .black, day: true), media: .message(message: MessageReference(message), media: media)) + let controller = ThemePreviewController(context: context, previewTheme: makeDefaultDayPresentationTheme(accentColor: nil, serviceBackgroundColor: .black, day: true, preview: false), media: .message(message: MessageReference(message), media: media)) present(controller, ViewControllerPresentationArguments(presentationAnimation: .modalSheet)) } } diff --git a/submodules/TelegramUI/TelegramUI/PeerMediaCollectionController.swift b/submodules/TelegramUI/TelegramUI/PeerMediaCollectionController.swift index e24293a170..dd29d44265 100644 --- a/submodules/TelegramUI/TelegramUI/PeerMediaCollectionController.swift +++ b/submodules/TelegramUI/TelegramUI/PeerMediaCollectionController.swift @@ -663,7 +663,7 @@ public class PeerMediaCollectionController: TelegramController { return nil } return strongSelf.context.account.pendingMessageManager.pendingMessageStatus(id) - |> mapToSignal { status -> Signal in + |> mapToSignal { status, _ -> Signal in if status != nil { return .never() } else { diff --git a/submodules/TelegramUI/TelegramUI/PresentationResourcesChat.swift b/submodules/TelegramUI/TelegramUI/PresentationResourcesChat.swift index 1ea782f96c..0239693f0b 100644 --- a/submodules/TelegramUI/TelegramUI/PresentationResourcesChat.swift +++ b/submodules/TelegramUI/TelegramUI/PresentationResourcesChat.swift @@ -71,7 +71,7 @@ struct PresentationResourcesChat { let hasWallpaper = !wallpaper.isEmpty let key: PresentationResourceKey = !hasWallpaper ? PresentationResourceKey.chatPrincipalThemeEssentialGraphicsWithoutWallpaper : PresentationResourceKey.chatPrincipalThemeEssentialGraphicsWithWallpaper return theme.object(key.rawValue, { theme in - return PrincipalThemeEssentialGraphics(theme.chat, wallpaper: wallpaper) + return PrincipalThemeEssentialGraphics(theme.chat, wallpaper: wallpaper, preview: theme.preview) }) as! PrincipalThemeEssentialGraphics } diff --git a/submodules/TelegramUI/TelegramUI/PresentationThemeEssentialGraphics.swift b/submodules/TelegramUI/TelegramUI/PresentationThemeEssentialGraphics.swift index ea5bd20001..e0c3fadda5 100644 --- a/submodules/TelegramUI/TelegramUI/PresentationThemeEssentialGraphics.swift +++ b/submodules/TelegramUI/TelegramUI/PresentationThemeEssentialGraphics.swift @@ -127,82 +127,134 @@ public final class PrincipalThemeEssentialGraphics { public let radialIndicatorFileIconIncoming: UIImage public let radialIndicatorFileIconOutgoing: UIImage - init(_ theme: PresentationThemeChat, wallpaper: TelegramWallpaper) { + init(_ theme: PresentationThemeChat, wallpaper: TelegramWallpaper, preview: Bool = false) { let incoming: PresentationThemeBubbleColorComponents = wallpaper.isEmpty ? theme.message.incoming.bubble.withoutWallpaper : theme.message.incoming.bubble.withWallpaper let outgoing: PresentationThemeBubbleColorComponents = wallpaper.isEmpty ? theme.message.outgoing.bubble.withoutWallpaper : theme.message.outgoing.bubble.withWallpaper - self.chatMessageBackgroundIncomingImage = messageBubbleImage(incoming: true, fillColor: incoming.fill, strokeColor: incoming.stroke, neighbors: .none) - self.chatMessageBackgroundIncomingHighlightedImage = messageBubbleImage(incoming: true, fillColor: incoming.highlightedFill, strokeColor: incoming.stroke, neighbors: .none) - self.chatMessageBackgroundIncomingMergedTopImage = messageBubbleImage(incoming: true, fillColor: incoming.fill, strokeColor: incoming.stroke, neighbors: .top(side: false)) - self.chatMessageBackgroundIncomingMergedTopHighlightedImage = messageBubbleImage(incoming: true, fillColor: incoming.highlightedFill, strokeColor: incoming.stroke, neighbors: .top(side: false)) - self.chatMessageBackgroundIncomingMergedTopSideImage = messageBubbleImage(incoming: true, fillColor: incoming.fill, strokeColor: incoming.stroke, neighbors: .top(side: true)) - self.chatMessageBackgroundIncomingMergedTopSideHighlightedImage = messageBubbleImage(incoming: true, fillColor: incoming.highlightedFill, strokeColor: incoming.stroke, neighbors: .top(side: true)) - self.chatMessageBackgroundIncomingMergedBottomImage = messageBubbleImage(incoming: true, fillColor: incoming.fill, strokeColor: incoming.stroke, neighbors: .bottom) - self.chatMessageBackgroundIncomingMergedBottomHighlightedImage = messageBubbleImage(incoming: true, fillColor: incoming.highlightedFill, strokeColor: incoming.stroke, neighbors: .bottom) - self.chatMessageBackgroundIncomingMergedBothImage = messageBubbleImage(incoming: true, fillColor: incoming.fill, strokeColor: incoming.stroke, neighbors: .both) - self.chatMessageBackgroundIncomingMergedBothHighlightedImage = messageBubbleImage(incoming: true, fillColor: incoming.highlightedFill, strokeColor: incoming.stroke, neighbors: .both) - - self.chatMessageBackgroundOutgoingImage = messageBubbleImage(incoming: false, fillColor: outgoing.fill, strokeColor: outgoing.stroke, neighbors: .none) - self.chatMessageBackgroundOutgoingHighlightedImage = messageBubbleImage(incoming: false, fillColor: outgoing.highlightedFill, strokeColor: outgoing.stroke, neighbors: .none) - self.chatMessageBackgroundOutgoingMergedTopImage = messageBubbleImage(incoming: false, fillColor: outgoing.fill, strokeColor: outgoing.stroke, neighbors: .top(side: false)) - self.chatMessageBackgroundOutgoingMergedTopHighlightedImage = messageBubbleImage(incoming: false, fillColor: outgoing.highlightedFill, strokeColor: outgoing.stroke, neighbors: .top(side: false)) - self.chatMessageBackgroundOutgoingMergedTopSideImage = messageBubbleImage(incoming: false, fillColor: outgoing.fill, strokeColor: outgoing.stroke, neighbors: .top(side: true)) - self.chatMessageBackgroundOutgoingMergedTopSideHighlightedImage = messageBubbleImage(incoming: false, fillColor: outgoing.highlightedFill, strokeColor: outgoing.stroke, neighbors: .top(side: true)) - self.chatMessageBackgroundOutgoingMergedBottomImage = messageBubbleImage(incoming: false, fillColor: outgoing.fill, strokeColor: outgoing.stroke, neighbors: .bottom) - self.chatMessageBackgroundOutgoingMergedBottomHighlightedImage = messageBubbleImage(incoming: false, fillColor: outgoing.highlightedFill, strokeColor: outgoing.stroke, neighbors: .bottom) - self.chatMessageBackgroundOutgoingMergedBothImage = messageBubbleImage(incoming: false, fillColor: outgoing.fill, strokeColor: outgoing.stroke, neighbors: .both) - self.chatMessageBackgroundOutgoingMergedBothHighlightedImage = messageBubbleImage(incoming: false, fillColor: outgoing.highlightedFill, strokeColor: outgoing.stroke, neighbors: .both) + let emptyImage = UIImage() + if preview { + self.chatMessageBackgroundIncomingImage = messageBubbleImage(incoming: true, fillColor: incoming.fill, strokeColor: incoming.stroke, neighbors: .none) + self.chatMessageBackgroundIncomingHighlightedImage = emptyImage + self.chatMessageBackgroundIncomingMergedTopImage = emptyImage + self.chatMessageBackgroundIncomingMergedTopHighlightedImage = emptyImage + self.chatMessageBackgroundIncomingMergedTopSideImage = emptyImage + self.chatMessageBackgroundIncomingMergedTopSideHighlightedImage = emptyImage + self.chatMessageBackgroundIncomingMergedBottomImage = emptyImage + self.chatMessageBackgroundIncomingMergedBottomHighlightedImage = emptyImage + self.chatMessageBackgroundIncomingMergedBothImage = emptyImage + self.chatMessageBackgroundIncomingMergedBothHighlightedImage = emptyImage + self.chatMessageBackgroundIncomingMergedSideImage = emptyImage + self.chatMessageBackgroundIncomingMergedSideHighlightedImage = emptyImage + self.chatMessageBackgroundOutgoingImage = messageBubbleImage(incoming: false, fillColor: outgoing.fill, strokeColor: outgoing.stroke, neighbors: .none) + self.chatMessageBackgroundOutgoingHighlightedImage = emptyImage + self.chatMessageBackgroundOutgoingMergedTopImage = emptyImage + self.chatMessageBackgroundOutgoingMergedTopHighlightedImage = emptyImage + self.chatMessageBackgroundOutgoingMergedTopSideImage = emptyImage + self.chatMessageBackgroundOutgoingMergedTopSideHighlightedImage = emptyImage + self.chatMessageBackgroundOutgoingMergedBottomImage = emptyImage + self.chatMessageBackgroundOutgoingMergedBottomHighlightedImage = emptyImage + self.chatMessageBackgroundOutgoingMergedBothImage = emptyImage + self.chatMessageBackgroundOutgoingMergedBothHighlightedImage = emptyImage + self.chatMessageBackgroundOutgoingMergedSideImage = emptyImage + self.chatMessageBackgroundOutgoingMergedSideHighlightedImage = emptyImage + self.checkBubbleFullImage = emptyImage + self.checkBubblePartialImage = emptyImage + self.checkMediaFullImage = emptyImage + self.checkMediaPartialImage = emptyImage + self.checkFreeFullImage = emptyImage + self.checkFreePartialImage = emptyImage + self.clockBubbleIncomingFrameImage = emptyImage + self.clockBubbleIncomingMinImage = emptyImage + self.clockBubbleOutgoingFrameImage = emptyImage + self.clockBubbleOutgoingMinImage = emptyImage + self.clockMediaFrameImage = emptyImage + self.clockMediaMinImage = emptyImage + self.clockFreeFrameImage = emptyImage + self.clockFreeMinImage = emptyImage + self.dateAndStatusMediaBackground = emptyImage + self.dateAndStatusFreeBackground = emptyImage + self.incomingDateAndStatusImpressionIcon = emptyImage + self.outgoingDateAndStatusImpressionIcon = emptyImage + self.mediaImpressionIcon = emptyImage + self.freeImpressionIcon = emptyImage + self.dateStaticBackground = emptyImage + self.dateFloatingBackground = emptyImage + self.radialIndicatorFileIconIncoming = emptyImage + self.radialIndicatorFileIconOutgoing = emptyImage + } else { + self.chatMessageBackgroundIncomingImage = messageBubbleImage(incoming: true, fillColor: incoming.fill, strokeColor: incoming.stroke, neighbors: .none) + self.chatMessageBackgroundIncomingHighlightedImage = messageBubbleImage(incoming: true, fillColor: incoming.highlightedFill, strokeColor: incoming.stroke, neighbors: .none) + self.chatMessageBackgroundIncomingMergedTopImage = messageBubbleImage(incoming: true, fillColor: incoming.fill, strokeColor: incoming.stroke, neighbors: .top(side: false)) + self.chatMessageBackgroundIncomingMergedTopHighlightedImage = messageBubbleImage(incoming: true, fillColor: incoming.highlightedFill, strokeColor: incoming.stroke, neighbors: .top(side: false)) + self.chatMessageBackgroundIncomingMergedTopSideImage = messageBubbleImage(incoming: true, fillColor: incoming.fill, strokeColor: incoming.stroke, neighbors: .top(side: true)) + self.chatMessageBackgroundIncomingMergedTopSideHighlightedImage = messageBubbleImage(incoming: true, fillColor: incoming.highlightedFill, strokeColor: incoming.stroke, neighbors: .top(side: true)) + self.chatMessageBackgroundIncomingMergedBottomImage = messageBubbleImage(incoming: true, fillColor: incoming.fill, strokeColor: incoming.stroke, neighbors: .bottom) + self.chatMessageBackgroundIncomingMergedBottomHighlightedImage = messageBubbleImage(incoming: true, fillColor: incoming.highlightedFill, strokeColor: incoming.stroke, neighbors: .bottom) + self.chatMessageBackgroundIncomingMergedBothImage = messageBubbleImage(incoming: true, fillColor: incoming.fill, strokeColor: incoming.stroke, neighbors: .both) + self.chatMessageBackgroundIncomingMergedBothHighlightedImage = messageBubbleImage(incoming: true, fillColor: incoming.highlightedFill, strokeColor: incoming.stroke, neighbors: .both) + + self.chatMessageBackgroundOutgoingImage = messageBubbleImage(incoming: false, fillColor: outgoing.fill, strokeColor: outgoing.stroke, neighbors: .none) + self.chatMessageBackgroundOutgoingHighlightedImage = messageBubbleImage(incoming: false, fillColor: outgoing.highlightedFill, strokeColor: outgoing.stroke, neighbors: .none) + self.chatMessageBackgroundOutgoingMergedTopImage = messageBubbleImage(incoming: false, fillColor: outgoing.fill, strokeColor: outgoing.stroke, neighbors: .top(side: false)) + self.chatMessageBackgroundOutgoingMergedTopHighlightedImage = messageBubbleImage(incoming: false, fillColor: outgoing.highlightedFill, strokeColor: outgoing.stroke, neighbors: .top(side: false)) + self.chatMessageBackgroundOutgoingMergedTopSideImage = messageBubbleImage(incoming: false, fillColor: outgoing.fill, strokeColor: outgoing.stroke, neighbors: .top(side: true)) + self.chatMessageBackgroundOutgoingMergedTopSideHighlightedImage = messageBubbleImage(incoming: false, fillColor: outgoing.highlightedFill, strokeColor: outgoing.stroke, neighbors: .top(side: true)) + self.chatMessageBackgroundOutgoingMergedBottomImage = messageBubbleImage(incoming: false, fillColor: outgoing.fill, strokeColor: outgoing.stroke, neighbors: .bottom) + self.chatMessageBackgroundOutgoingMergedBottomHighlightedImage = messageBubbleImage(incoming: false, fillColor: outgoing.highlightedFill, strokeColor: outgoing.stroke, neighbors: .bottom) + self.chatMessageBackgroundOutgoingMergedBothImage = messageBubbleImage(incoming: false, fillColor: outgoing.fill, strokeColor: outgoing.stroke, neighbors: .both) + self.chatMessageBackgroundOutgoingMergedBothHighlightedImage = messageBubbleImage(incoming: false, fillColor: outgoing.highlightedFill, strokeColor: outgoing.stroke, neighbors: .both) - self.chatMessageBackgroundIncomingMergedSideImage = messageBubbleImage(incoming: true, fillColor: incoming.fill, strokeColor: incoming.stroke, neighbors: .side) - self.chatMessageBackgroundOutgoingMergedSideImage = messageBubbleImage(incoming: false, fillColor: outgoing.fill, strokeColor: outgoing.stroke, neighbors: .side) - self.chatMessageBackgroundIncomingMergedSideHighlightedImage = messageBubbleImage(incoming: true, fillColor: incoming.highlightedFill, strokeColor: incoming.stroke, neighbors: .side) - self.chatMessageBackgroundOutgoingMergedSideHighlightedImage = messageBubbleImage(incoming: false, fillColor: outgoing.highlightedFill, strokeColor: outgoing.stroke, neighbors: .side) - - self.checkBubbleFullImage = generateCheckImage(partial: false, color: theme.message.outgoingCheckColor)! - self.checkBubblePartialImage = generateCheckImage(partial: true, color: theme.message.outgoingCheckColor)! - - self.checkMediaFullImage = generateCheckImage(partial: false, color: .white)! - self.checkMediaPartialImage = generateCheckImage(partial: true, color: .white)! - - let serviceColor = serviceMessageColorComponents(chatTheme: theme, wallpaper: wallpaper) - self.checkFreeFullImage = generateCheckImage(partial: false, color: serviceColor.primaryText)! - self.checkFreePartialImage = generateCheckImage(partial: true, color: serviceColor.primaryText)! - - self.clockBubbleIncomingFrameImage = generateClockFrameImage(color: theme.message.incoming.pendingActivityColor)! - self.clockBubbleIncomingMinImage = generateClockMinImage(color: theme.message.incoming.pendingActivityColor)! - self.clockBubbleOutgoingFrameImage = generateClockFrameImage(color: theme.message.outgoing.pendingActivityColor)! - self.clockBubbleOutgoingMinImage = generateClockMinImage(color: theme.message.outgoing.pendingActivityColor)! - - self.clockMediaFrameImage = generateClockFrameImage(color: .white)! - self.clockMediaMinImage = generateClockMinImage(color: .white)! - - self.clockFreeFrameImage = generateClockFrameImage(color: serviceColor.primaryText)! - self.clockFreeMinImage = generateClockMinImage(color: serviceColor.primaryText)! - - self.dateAndStatusMediaBackground = generateStretchableFilledCircleImage(diameter: 18.0, color: theme.message.mediaDateAndStatusFillColor)! - self.dateAndStatusFreeBackground = generateStretchableFilledCircleImage(diameter: 18.0, color: serviceColor.dateFillStatic)! - - let impressionCountImage = UIImage(bundleImageName: "Chat/Message/ImpressionCount")! - self.incomingDateAndStatusImpressionIcon = generateTintedImage(image: impressionCountImage, color: theme.message.incoming.secondaryTextColor)! - self.outgoingDateAndStatusImpressionIcon = generateTintedImage(image: impressionCountImage, color: theme.message.outgoing.secondaryTextColor)! - self.mediaImpressionIcon = generateTintedImage(image: impressionCountImage, color: .white)! - self.freeImpressionIcon = generateTintedImage(image: impressionCountImage, color: serviceColor.primaryText)! - - let chatDateSize: CGFloat = 20.0 - self.dateStaticBackground = generateImage(CGSize(width: chatDateSize, height: chatDateSize), contextGenerator: { size, context -> Void in - context.clear(CGRect(origin: CGPoint(), size: size)) - context.setFillColor(serviceColor.dateFillStatic.cgColor) - context.fillEllipse(in: CGRect(origin: CGPoint(), size: size)) - })!.stretchableImage(withLeftCapWidth: Int(chatDateSize) / 2, topCapHeight: Int(chatDateSize) / 2) - - self.dateFloatingBackground = generateImage(CGSize(width: chatDateSize, height: chatDateSize), contextGenerator: { size, context -> Void in - context.clear(CGRect(origin: CGPoint(), size: size)) - context.setFillColor(serviceColor.dateFillFloating.cgColor) - context.fillEllipse(in: CGRect(origin: CGPoint(), size: size)) - })!.stretchableImage(withLeftCapWidth: Int(chatDateSize) / 2, topCapHeight: Int(chatDateSize) / 2) - - self.radialIndicatorFileIconIncoming = generateTintedImage(image: UIImage(bundleImageName: "Chat/Message/RadialProgressIconDocumentIncoming"), color: incoming.fill)! - self.radialIndicatorFileIconOutgoing = generateTintedImage(image: UIImage(bundleImageName: "Chat/Message/RadialProgressIconDocumentIncoming"), color: outgoing.fill)! + self.chatMessageBackgroundIncomingMergedSideImage = messageBubbleImage(incoming: true, fillColor: incoming.fill, strokeColor: incoming.stroke, neighbors: .side) + self.chatMessageBackgroundOutgoingMergedSideImage = messageBubbleImage(incoming: false, fillColor: outgoing.fill, strokeColor: outgoing.stroke, neighbors: .side) + self.chatMessageBackgroundIncomingMergedSideHighlightedImage = messageBubbleImage(incoming: true, fillColor: incoming.highlightedFill, strokeColor: incoming.stroke, neighbors: .side) + self.chatMessageBackgroundOutgoingMergedSideHighlightedImage = messageBubbleImage(incoming: false, fillColor: outgoing.highlightedFill, strokeColor: outgoing.stroke, neighbors: .side) + + self.checkBubbleFullImage = generateCheckImage(partial: false, color: theme.message.outgoingCheckColor)! + self.checkBubblePartialImage = generateCheckImage(partial: true, color: theme.message.outgoingCheckColor)! + + self.checkMediaFullImage = generateCheckImage(partial: false, color: .white)! + self.checkMediaPartialImage = generateCheckImage(partial: true, color: .white)! + + let serviceColor = serviceMessageColorComponents(chatTheme: theme, wallpaper: wallpaper) + self.checkFreeFullImage = generateCheckImage(partial: false, color: serviceColor.primaryText)! + self.checkFreePartialImage = generateCheckImage(partial: true, color: serviceColor.primaryText)! + + self.clockBubbleIncomingFrameImage = generateClockFrameImage(color: theme.message.incoming.pendingActivityColor)! + self.clockBubbleIncomingMinImage = generateClockMinImage(color: theme.message.incoming.pendingActivityColor)! + self.clockBubbleOutgoingFrameImage = generateClockFrameImage(color: theme.message.outgoing.pendingActivityColor)! + self.clockBubbleOutgoingMinImage = generateClockMinImage(color: theme.message.outgoing.pendingActivityColor)! + + self.clockMediaFrameImage = generateClockFrameImage(color: .white)! + self.clockMediaMinImage = generateClockMinImage(color: .white)! + + self.clockFreeFrameImage = generateClockFrameImage(color: serviceColor.primaryText)! + self.clockFreeMinImage = generateClockMinImage(color: serviceColor.primaryText)! + + self.dateAndStatusMediaBackground = generateStretchableFilledCircleImage(diameter: 18.0, color: theme.message.mediaDateAndStatusFillColor)! + self.dateAndStatusFreeBackground = generateStretchableFilledCircleImage(diameter: 18.0, color: serviceColor.dateFillStatic)! + + let impressionCountImage = UIImage(bundleImageName: "Chat/Message/ImpressionCount")! + self.incomingDateAndStatusImpressionIcon = generateTintedImage(image: impressionCountImage, color: theme.message.incoming.secondaryTextColor)! + self.outgoingDateAndStatusImpressionIcon = generateTintedImage(image: impressionCountImage, color: theme.message.outgoing.secondaryTextColor)! + self.mediaImpressionIcon = generateTintedImage(image: impressionCountImage, color: .white)! + self.freeImpressionIcon = generateTintedImage(image: impressionCountImage, color: serviceColor.primaryText)! + + let chatDateSize: CGFloat = 20.0 + self.dateStaticBackground = generateImage(CGSize(width: chatDateSize, height: chatDateSize), contextGenerator: { size, context -> Void in + context.clear(CGRect(origin: CGPoint(), size: size)) + context.setFillColor(serviceColor.dateFillStatic.cgColor) + context.fillEllipse(in: CGRect(origin: CGPoint(), size: size)) + })!.stretchableImage(withLeftCapWidth: Int(chatDateSize) / 2, topCapHeight: Int(chatDateSize) / 2) + + self.dateFloatingBackground = generateImage(CGSize(width: chatDateSize, height: chatDateSize), contextGenerator: { size, context -> Void in + context.clear(CGRect(origin: CGPoint(), size: size)) + context.setFillColor(serviceColor.dateFillFloating.cgColor) + context.fillEllipse(in: CGRect(origin: CGPoint(), size: size)) + })!.stretchableImage(withLeftCapWidth: Int(chatDateSize) / 2, topCapHeight: Int(chatDateSize) / 2) + + self.radialIndicatorFileIconIncoming = generateTintedImage(image: UIImage(bundleImageName: "Chat/Message/RadialProgressIconDocumentIncoming"), color: incoming.fill)! + self.radialIndicatorFileIconOutgoing = generateTintedImage(image: UIImage(bundleImageName: "Chat/Message/RadialProgressIconDocumentIncoming"), color: outgoing.fill)! + } } } diff --git a/submodules/TelegramUI/TelegramUI/Resources/PresentationStrings.mapping b/submodules/TelegramUI/TelegramUI/Resources/PresentationStrings.mapping index 54673159af..28e8c9c27d 100644 Binary files a/submodules/TelegramUI/TelegramUI/Resources/PresentationStrings.mapping and b/submodules/TelegramUI/TelegramUI/Resources/PresentationStrings.mapping differ diff --git a/submodules/TelegramUI/TelegramUI/ShareController.swift b/submodules/TelegramUI/TelegramUI/ShareController.swift index c4ec2e3290..55c526dee1 100644 --- a/submodules/TelegramUI/TelegramUI/ShareController.swift +++ b/submodules/TelegramUI/TelegramUI/ShareController.swift @@ -340,6 +340,11 @@ public final class ShareController: ViewController { override public func loadDisplayNode() { self.displayNode = ShareControllerNode(sharedContext: self.sharedContext, defaultAction: self.defaultAction, requestLayout: { [weak self] transition in self?.requestLayout(transition: transition) + }, presentError: { [weak self] title, text in + guard let strongSelf = self else { + return + } + strongSelf.present(standardTextAlertController(theme: AlertControllerTheme(presentationTheme: strongSelf.presentationData.theme), title: title, text: text, actions: [TextAlertAction(type: .defaultAction, title: strongSelf.presentationData.strings.Common_OK, action: {})]), in: .window(.root)) }, externalShare: self.externalShare, immediateExternalShare: self.immediateExternalShare) self.controllerNode.dismiss = { [weak self] shared in self?.presentingViewController?.dismiss(animated: false, completion: nil) @@ -353,98 +358,141 @@ public final class ShareController: ViewController { }) } self.controllerNode.share = { [weak self] text, peerIds in - if let strongSelf = self { - switch strongSelf.subject { - case let .url(url): - for peerId in peerIds { - var messages: [EnqueueMessage] = [] - if !text.isEmpty { - messages.append(.message(text: text, attributes: [], mediaReference: nil, replyToMessageId: nil, localGroupingKey: nil)) - } - messages.append(.message(text: url, attributes: [], mediaReference: nil, replyToMessageId: nil, localGroupingKey: nil)) - let _ = enqueueMessages(account: strongSelf.currentAccount, peerId: peerId, messages: messages).start() - } - return .complete() - case let .text(string): - for peerId in peerIds { - var messages: [EnqueueMessage] = [] - if !text.isEmpty { - messages.append(.message(text: text, attributes: [], mediaReference: nil, replyToMessageId: nil, localGroupingKey: nil)) - } - messages.append(.message(text: string, attributes: [], mediaReference: nil, replyToMessageId: nil, localGroupingKey: nil)) - let _ = enqueueMessages(account: strongSelf.currentAccount, peerId: peerId, messages: messages).start() - } - return .complete() - case let .quote(string, url): - for peerId in peerIds { - var messages: [EnqueueMessage] = [] - if !text.isEmpty { - messages.append(.message(text: text, attributes: [], mediaReference: nil, replyToMessageId: nil, localGroupingKey: nil)) - } - let attributedText = NSMutableAttributedString(string: string, attributes: [ChatTextInputAttributes.italic: true as NSNumber]) - attributedText.append(NSAttributedString(string: "\n\n\(url)")) - let entities = generateChatInputTextEntities(attributedText) - messages.append(.message(text: attributedText.string, attributes: [TextEntitiesMessageAttribute(entities: entities)], mediaReference: nil, replyToMessageId: nil, localGroupingKey: nil)) - let _ = enqueueMessages(account: strongSelf.currentAccount, peerId: peerId, messages: messages).start() - } - return .complete() - case let .image(representations): - for peerId in peerIds { - var messages: [EnqueueMessage] = [] - if !text.isEmpty { - messages.append(.message(text: text, attributes: [], mediaReference: nil, replyToMessageId: nil, localGroupingKey: nil)) - } - messages.append(.message(text: "", attributes: [], mediaReference: .standalone(media: TelegramMediaImage(imageId: MediaId(namespace: Namespaces.Media.LocalImage, id: arc4random64()), representations: representations.map({ $0.representation }), immediateThumbnailData: nil, reference: nil, partialReference: nil)), replyToMessageId: nil, localGroupingKey: nil)) - let _ = enqueueMessages(account: strongSelf.currentAccount, peerId: peerId, messages: messages).start() - } - return .complete() - case let .media(mediaReference): - for peerId in peerIds { - var messages: [EnqueueMessage] = [] - if !text.isEmpty { - messages.append(.message(text: text, attributes: [], mediaReference: nil, replyToMessageId: nil, localGroupingKey: nil)) - } - messages.append(.message(text: "", attributes: [], mediaReference: mediaReference, replyToMessageId: nil, localGroupingKey: nil)) - let _ = enqueueMessages(account: strongSelf.currentAccount, peerId: peerId, messages: messages).start() - } - return .complete() - case let .mapMedia(media): - for peerId in peerIds { - var messages: [EnqueueMessage] = [] - if !text.isEmpty { - messages.append(.message(text: text, attributes: [], mediaReference: nil, replyToMessageId: nil, localGroupingKey: nil)) - } - messages.append(.message(text: "", attributes: [], mediaReference: .standalone(media: media), replyToMessageId: nil, localGroupingKey: nil)) - let _ = enqueueMessages(account: strongSelf.currentAccount, peerId: peerId, messages: messages).start() - } - return .complete() - case let .messages(messages): - for peerId in peerIds { - var messagesToEnqueue: [EnqueueMessage] = [] - if !text.isEmpty { - messagesToEnqueue.append(.message(text: text, attributes: [], mediaReference: nil, replyToMessageId: nil, localGroupingKey: nil)) - } - for message in messages { - messagesToEnqueue.append(.forward(source: message.id, grouping: .auto, attributes: [])) - } - let _ = enqueueMessages(account: strongSelf.currentAccount, peerId: peerId, messages: messagesToEnqueue).start() - } - return .single(.done) - case let .fromExternal(f): - return f(peerIds, text, strongSelf.currentAccount) - |> map { state -> ShareState in - switch state { - case .preparing: - return .preparing - case let .progress(value): - return .progress(value) - case .done: - return .done - } - } + guard let strongSelf = self else { + return .complete() + } + var shareSignals: [Signal<[MessageId?], NoError>] = [] + switch strongSelf.subject { + case let .url(url): + for peerId in peerIds { + var messages: [EnqueueMessage] = [] + if !text.isEmpty { + messages.append(.message(text: text, attributes: [], mediaReference: nil, replyToMessageId: nil, localGroupingKey: nil)) + } + messages.append(.message(text: url, attributes: [], mediaReference: nil, replyToMessageId: nil, localGroupingKey: nil)) + shareSignals.append(enqueueMessages(account: strongSelf.currentAccount, peerId: peerId, messages: messages)) + } + case let .text(string): + for peerId in peerIds { + var messages: [EnqueueMessage] = [] + if !text.isEmpty { + messages.append(.message(text: text, attributes: [], mediaReference: nil, replyToMessageId: nil, localGroupingKey: nil)) + } + messages.append(.message(text: string, attributes: [], mediaReference: nil, replyToMessageId: nil, localGroupingKey: nil)) + shareSignals.append(enqueueMessages(account: strongSelf.currentAccount, peerId: peerId, messages: messages)) + } + case let .quote(string, url): + for peerId in peerIds { + var messages: [EnqueueMessage] = [] + if !text.isEmpty { + messages.append(.message(text: text, attributes: [], mediaReference: nil, replyToMessageId: nil, localGroupingKey: nil)) + } + let attributedText = NSMutableAttributedString(string: string, attributes: [ChatTextInputAttributes.italic: true as NSNumber]) + attributedText.append(NSAttributedString(string: "\n\n\(url)")) + let entities = generateChatInputTextEntities(attributedText) + messages.append(.message(text: attributedText.string, attributes: [TextEntitiesMessageAttribute(entities: entities)], mediaReference: nil, replyToMessageId: nil, localGroupingKey: nil)) + shareSignals.append(enqueueMessages(account: strongSelf.currentAccount, peerId: peerId, messages: messages)) + } + case let .image(representations): + for peerId in peerIds { + var messages: [EnqueueMessage] = [] + if !text.isEmpty { + messages.append(.message(text: text, attributes: [], mediaReference: nil, replyToMessageId: nil, localGroupingKey: nil)) + } + messages.append(.message(text: "", attributes: [], mediaReference: .standalone(media: TelegramMediaImage(imageId: MediaId(namespace: Namespaces.Media.LocalImage, id: arc4random64()), representations: representations.map({ $0.representation }), immediateThumbnailData: nil, reference: nil, partialReference: nil)), replyToMessageId: nil, localGroupingKey: nil)) + shareSignals.append(enqueueMessages(account: strongSelf.currentAccount, peerId: peerId, messages: messages)) + } + case let .media(mediaReference): + for peerId in peerIds { + var messages: [EnqueueMessage] = [] + if !text.isEmpty { + messages.append(.message(text: text, attributes: [], mediaReference: nil, replyToMessageId: nil, localGroupingKey: nil)) + } + messages.append(.message(text: "", attributes: [], mediaReference: mediaReference, replyToMessageId: nil, localGroupingKey: nil)) + shareSignals.append(enqueueMessages(account: strongSelf.currentAccount, peerId: peerId, messages: messages)) + } + case let .mapMedia(media): + for peerId in peerIds { + var messages: [EnqueueMessage] = [] + if !text.isEmpty { + messages.append(.message(text: text, attributes: [], mediaReference: nil, replyToMessageId: nil, localGroupingKey: nil)) + } + messages.append(.message(text: "", attributes: [], mediaReference: .standalone(media: media), replyToMessageId: nil, localGroupingKey: nil)) + shareSignals.append(enqueueMessages(account: strongSelf.currentAccount, peerId: peerId, messages: messages)) + } + case let .messages(messages): + for peerId in peerIds { + var messagesToEnqueue: [EnqueueMessage] = [] + if !text.isEmpty { + messagesToEnqueue.append(.message(text: text, attributes: [], mediaReference: nil, replyToMessageId: nil, localGroupingKey: nil)) + } + for message in messages { + messagesToEnqueue.append(.forward(source: message.id, grouping: .auto, attributes: [])) + } + shareSignals.append(enqueueMessages(account: strongSelf.currentAccount, peerId: peerId, messages: messagesToEnqueue)) + } + case let .fromExternal(f): + return f(peerIds, text, strongSelf.currentAccount) + |> map { state -> ShareState in + switch state { + case .preparing: + return .preparing + case let .progress(value): + return .progress(value) + case .done: + return .done + } } } - return .complete() + let account = strongSelf.currentAccount + let queue = Queue.mainQueue() + var displayedError = false + return combineLatest(queue: queue, shareSignals) + |> mapToSignal { messageIdSets -> Signal in + var statuses: [Signal<(MessageId, PendingMessageStatus?, PendingMessageFailureReason?), NoError>] = [] + for messageIds in messageIdSets { + for case let id? in messageIds { + statuses.append(account.pendingMessageManager.pendingMessageStatus(id) + |> map { status, error -> (MessageId, PendingMessageStatus?, PendingMessageFailureReason?) in + return (id, status, error) + }) + } + } + return combineLatest(queue: queue, statuses) + |> mapToSignal { statuses -> Signal in + var hasStatuses = false + for (id, status, error) in statuses { + if let error = error { + Queue.mainQueue().async { + let _ = (account.postbox.transaction { transaction -> Peer? in + transaction.deleteMessages([id]) + return transaction.getPeer(id.peerId) + } + |> deliverOnMainQueue).start(next: { peer in + guard let strongSelf = self, let peer = peer else { + return + } + if !displayedError, case .slowmodeActive = error { + displayedError = true + strongSelf.present(standardTextAlertController(theme: AlertControllerTheme(presentationTheme: strongSelf.presentationData.theme), title: peer.displayTitle, text: strongSelf.presentationData.strings.Chat_SlowmodeSendError, actions: [TextAlertAction(type: .defaultAction, title: strongSelf.presentationData.strings.Common_OK, action: {})]), in: .window(.root)) + } + }) + } + } + let _ = account.postbox.transaction({ transaction in + + }).start() + if status != nil { + hasStatuses = true + } + } + if !hasStatuses { + return .single(.done) + } + return .complete() + } + |> take(1) + } } self.controllerNode.shareExternal = { [weak self] in if let strongSelf = self { diff --git a/submodules/TelegramUI/TelegramUI/ShareControllerNode.swift b/submodules/TelegramUI/TelegramUI/ShareControllerNode.swift index 257ba16385..2c513d1eff 100644 --- a/submodules/TelegramUI/TelegramUI/ShareControllerNode.swift +++ b/submodules/TelegramUI/TelegramUI/ShareControllerNode.swift @@ -30,6 +30,7 @@ final class ShareControllerNode: ViewControllerTracingNode, UIScrollViewDelegate private let defaultAction: ShareControllerAction? private let requestLayout: (ContainedViewLayoutTransition) -> Void + private let presentError: (String?, String) -> Void private var containerLayout: (ContainerViewLayout, CGFloat, CGFloat)? @@ -70,11 +71,12 @@ final class ShareControllerNode: ViewControllerTracingNode, UIScrollViewDelegate private var hapticFeedback: HapticFeedback? - init(sharedContext: SharedAccountContext, defaultAction: ShareControllerAction?, requestLayout: @escaping (ContainedViewLayoutTransition) -> Void, externalShare: Bool, immediateExternalShare: Bool) { + init(sharedContext: SharedAccountContext, defaultAction: ShareControllerAction?, requestLayout: @escaping (ContainedViewLayoutTransition) -> Void, presentError: @escaping (String?, String) -> Void, externalShare: Bool, immediateExternalShare: Bool) { self.sharedContext = sharedContext self.presentationData = sharedContext.currentPresentationData.with { $0 } self.externalShare = externalShare self.immediateExternalShare = immediateExternalShare + self.presentError = presentError self.defaultAction = defaultAction self.requestLayout = requestLayout @@ -500,6 +502,15 @@ final class ShareControllerNode: ViewControllerTracingNode, UIScrollViewDelegate defaultAction.action() } } else { + if !self.inputFieldNode.text.isEmpty { + for peer in self.controllerInteraction!.selectedPeers { + if let channel = peer.peer as? TelegramChannel, channel.isRestrictedBySlowmode { + self.presentError(channel.title, self.presentationData.strings.Share_MultipleMessagesDisabled) + return + } + } + } + self.inputFieldNode.deactivateInput() let transition = ContainedViewLayoutTransition.animated(duration: 0.12, curve: .easeInOut) transition.updateAlpha(node: self.actionButtonNode, alpha: 0.0) diff --git a/submodules/TelegramUI/TelegramUI/ShareControllerPeerGridItem.swift b/submodules/TelegramUI/TelegramUI/ShareControllerPeerGridItem.swift index 1bb990c5d1..447842c54c 100644 --- a/submodules/TelegramUI/TelegramUI/ShareControllerPeerGridItem.swift +++ b/submodules/TelegramUI/TelegramUI/ShareControllerPeerGridItem.swift @@ -111,7 +111,7 @@ final class ShareControllerPeerGridItem: GridItem { func node(layout: GridNodeLayout, synchronousLoad: Bool) -> GridItemNode { let node = ShareControllerPeerGridItemNode() node.controllerInteraction = self.controllerInteraction - node.setup(account: self.account, theme: self.theme, strings: self.strings, peer: self.peer, presence: self.presence, search: self.search, synchronousLoad: synchronousLoad) + node.setup(account: self.account, theme: self.theme, strings: self.strings, peer: self.peer, presence: self.presence, search: self.search, synchronousLoad: synchronousLoad, force: false) return node } @@ -121,13 +121,14 @@ final class ShareControllerPeerGridItem: GridItem { return } node.controllerInteraction = self.controllerInteraction - node.setup(account: self.account, theme: self.theme, strings: self.strings, peer: self.peer, presence: self.presence, search: self.search, synchronousLoad: false) + node.setup(account: self.account, theme: self.theme, strings: self.strings, peer: self.peer, presence: self.presence, search: self.search, synchronousLoad: false, force: false) } } final class ShareControllerPeerGridItemNode: GridItemNode { - private var currentState: (Account, RenderedPeer, Bool, PeerPresence?)? + private var currentState: (Account, PresentationTheme, PresentationStrings, RenderedPeer, Bool, PeerPresence?)? private let peerNode: SelectablePeerNode + private var presenceManager: PeerPresenceStatusManager? var controllerInteraction: ShareControllerInteraction? @@ -138,7 +139,7 @@ final class ShareControllerPeerGridItemNode: GridItemNode { self.peerNode.toggleSelection = { [weak self] in if let strongSelf = self { - if let (_, peer, search, _) = strongSelf.currentState { + if let (_, _, _, peer, search, _) = strongSelf.currentState { if let _ = peer.peers[peer.peerId] { strongSelf.controllerInteraction?.togglePeer(peer, search) } @@ -146,10 +147,16 @@ final class ShareControllerPeerGridItemNode: GridItemNode { } } self.addSubnode(self.peerNode) + self.presenceManager = PeerPresenceStatusManager(update: { [weak self] in + guard let strongSelf = self, let currentState = strongSelf.currentState else { + return + } + strongSelf.setup(account: currentState.0, theme: currentState.1, strings: currentState.2, peer: currentState.3, presence: currentState.5, search: currentState.4, synchronousLoad: false, force: true) + }) } - func setup(account: Account, theme: PresentationTheme, strings: PresentationStrings, peer: RenderedPeer, presence: PeerPresence?, search: Bool, synchronousLoad: Bool) { - if self.currentState == nil || self.currentState!.0 !== account || self.currentState!.1 != peer || !arePeerPresencesEqual(self.currentState!.3, presence) { + func setup(account: Account, theme: PresentationTheme, strings: PresentationStrings, peer: RenderedPeer, presence: PeerPresence?, search: Bool, synchronousLoad: Bool, force: Bool) { + if force || self.currentState == nil || self.currentState!.0 !== account || self.currentState!.3 != peer || !arePeerPresencesEqual(self.currentState!.5, presence) { let itemTheme = SelectablePeerNodeTheme(textColor: theme.actionSheet.primaryTextColor, secretTextColor: theme.chatList.secretTitleColor, selectedTextColor: theme.actionSheet.controlAccentColor, checkBackgroundColor: theme.actionSheet.opaqueItemBackgroundColor, checkFillColor: theme.actionSheet.controlAccentColor, checkColor: theme.actionSheet.checkContentColor, avatarPlaceholderColor: theme.list.mediaPlaceholderColor) let timestamp = Int32(CFAbsoluteTimeGetCurrent() + NSTimeIntervalSince1970) @@ -163,15 +170,18 @@ final class ShareControllerPeerGridItemNode: GridItemNode { self.peerNode.theme = itemTheme self.peerNode.setup(account: account, theme: theme, strings: strings, peer: peer, online: online, synchronousLoad: synchronousLoad) - self.currentState = (account, peer, search, presence) + self.currentState = (account, theme, strings, peer, search, presence) self.setNeedsLayout() + if let presence = presence as? TelegramUserPresence { + self.presenceManager?.reset(presence: presence) + } } self.updateSelection(animated: false) } func updateSelection(animated: Bool) { var selected = false - if let controllerInteraction = self.controllerInteraction, let (_, peer, _, _) = self.currentState { + if let controllerInteraction = self.controllerInteraction, let (_, _, _, peer, _, _) = self.currentState { selected = controllerInteraction.selectedPeerIds.contains(peer.peerId) } diff --git a/submodules/TelegramUI/TelegramUI/ThemeSettingsColorSliderNode.swift b/submodules/TelegramUI/TelegramUI/ThemeSettingsColorSliderNode.swift index 7cb291d85a..3cbee0c775 100644 --- a/submodules/TelegramUI/TelegramUI/ThemeSettingsColorSliderNode.swift +++ b/submodules/TelegramUI/TelegramUI/ThemeSettingsColorSliderNode.swift @@ -131,6 +131,7 @@ final class ThemeSettingsColorSliderNode: ASDisplayNode { private let brightnessKnobNode: ThemeSettingsColorKnobNode private var validLayout: CGSize? + private var panning = false var valueChanged: ((CGFloat) -> Void)? @@ -143,6 +144,7 @@ final class ThemeSettingsColorSliderNode: ASDisplayNode { } var _value: CGFloat = 0.5 + var lastReportedValue: CGFloat? var value: CGFloat { get { @@ -196,7 +198,9 @@ final class ThemeSettingsColorSliderNode: ASDisplayNode { let inset: CGFloat = 16.0 transition.updateFrame(node: self.brightnessNode, frame: CGRect(x: inset, y: floor((size.height - 30.0) / 2.0), width: size.width - inset * 2.0, height: 30.0)) - self.updateKnobLayout(size: size, transition: .immediate) + if !self.panning { + self.updateKnobLayout(size: size, transition: .immediate) + } } @objc private func brightnessPan(_ recognizer: UIPanGestureRecognizer) { @@ -213,18 +217,27 @@ final class ThemeSettingsColorSliderNode: ASDisplayNode { var ended = false switch recognizer.state { case .changed: + self.panning = true self.updateKnobLayout(size: size, transition: .immediate) recognizer.setTranslation(CGPoint(), in: recognizer.view) case .ended: self.updateKnobLayout(size: size, transition: .immediate) + self.panning = false ended = true default: break } - if self.value != previousValue || ended { + var update = true + if let lastReportedValue = self.lastReportedValue, abs(self.value - lastReportedValue) < 0.05 { + update = false + } + + if update || ended { self.update() self.valueChanged?(self.value) + self.lastReportedValue = self.value + print("upda") } } } diff --git a/submodules/TelegramUI/TelegramUI/ThemeSettingsController.swift b/submodules/TelegramUI/TelegramUI/ThemeSettingsController.swift index 33d073ee87..b460cde122 100644 --- a/submodules/TelegramUI/TelegramUI/ThemeSettingsController.swift +++ b/submodules/TelegramUI/TelegramUI/ThemeSettingsController.swift @@ -67,7 +67,6 @@ private enum ThemeSettingsControllerEntry: ItemListNodeEntry { case wallpaper(PresentationTheme, String) case accentColor(PresentationTheme, String, PresentationThemeAccentColor?) case autoNightTheme(PresentationTheme, String, String) - case themeTint(PresentationTheme, String, Bool) case themeItem(PresentationTheme, PresentationStrings, [PresentationThemeReference], PresentationThemeReference, [Int64: PresentationThemeAccentColor], PresentationThemeAccentColor?, Bool) case iconHeader(PresentationTheme, String) case iconItem(PresentationTheme, PresentationStrings, [PresentationAppIcon], String?) @@ -78,7 +77,7 @@ private enum ThemeSettingsControllerEntry: ItemListNodeEntry { var section: ItemListSectionId { switch self { - case .themeListHeader, .chatPreview, .themeItem, .themeTint, .accentColor: + case .themeListHeader, .chatPreview, .themeItem, .accentColor: return ThemeSettingsControllerSection.chatPreview.rawValue case .fontSizeHeader, .fontSize: return ThemeSettingsControllerSection.fontSize.rawValue @@ -99,8 +98,6 @@ private enum ThemeSettingsControllerEntry: ItemListNodeEntry { return 1 case .themeItem: return 2 - case .themeTint: - return 3 case .accentColor: return 4 case .wallpaper: @@ -140,12 +137,6 @@ private enum ThemeSettingsControllerEntry: ItemListNodeEntry { } else { return false } - case let .themeTint(lhsTheme, lhsTitle, lhsValue): - if case let .themeTint(rhsTheme, rhsTitle, rhsValue) = rhs, lhsTheme === rhsTheme, lhsTitle == rhsTitle, lhsValue == rhsValue { - return true - } else { - return false - } case let .accentColor(lhsTheme, lhsText, lhsColor): if case let .accentColor(rhsTheme, rhsText, rhsColor) = rhs, lhsTheme === rhsTheme, lhsText == rhsText, lhsColor == rhsColor { return true @@ -239,10 +230,6 @@ private enum ThemeSettingsControllerEntry: ItemListNodeEntry { return ItemListDisclosureItem(theme: theme, title: text, label: "", sectionId: self.section, style: .blocks, action: { arguments.openWallpaperSettings() }) - case let .themeTint(theme, title, value): - return ItemListSwitchItem(theme: theme, title: title, value: value, sectionId: self.section, style: .blocks, updated: { value in - arguments.toggleLargeEmoji(value) - }, tag: ThemeSettingsEntryTag.tint) case let .accentColor(theme, _, color): var colors = PresentationThemeBaseColor.allCases if theme.overallDarkAppearance { @@ -450,7 +437,7 @@ public func themeSettingsController(context: AccountContext, focusOnItemTag: The let disableAnimations = settings.disableAnimations let accentColor = settings.themeSpecificAccentColors[settings.theme.index]?.color ?? defaultDayAccentColor - let theme = makePresentationTheme(themeReference: settings.theme, accentColor: accentColor, serviceBackgroundColor: defaultServiceBackgroundColor) + let theme = makePresentationTheme(themeReference: settings.theme, accentColor: accentColor, serviceBackgroundColor: defaultServiceBackgroundColor, preview: true) let wallpaper: TelegramWallpaper if let themeSpecificWallpaper = settings.themeSpecificChatWallpapers[settings.theme.index] {