diff --git a/WooCommerce/Classes/ViewRelated/ReusableViews/SwiftUI Components/IndefiniteCircularProgressViewStyle.swift b/Modules/Sources/WooFoundation/UI Components/IndefiniteCircularProgressViewStyle.swift similarity index 68% rename from WooCommerce/Classes/ViewRelated/ReusableViews/SwiftUI Components/IndefiniteCircularProgressViewStyle.swift rename to Modules/Sources/WooFoundation/UI Components/IndefiniteCircularProgressViewStyle.swift index 5aed02935ad..2613768d737 100644 --- a/WooCommerce/Classes/ViewRelated/ReusableViews/SwiftUI Components/IndefiniteCircularProgressViewStyle.swift +++ b/Modules/Sources/WooFoundation/UI Components/IndefiniteCircularProgressViewStyle.swift @@ -1,13 +1,12 @@ import SwiftUI public struct IndefiniteCircularProgressViewStyle: ProgressViewStyle { - var size: CGFloat - var lineWidth: CGFloat = Constants.lineWidth - var lineCap: CGLineCap = .round - var circleColor: Color = Color(.primaryButtonBackground).opacity(Constants.backgroundOpacity) - var fillColor: Color = Color(.primaryButtonBackground) + public var size: CGFloat + public var lineWidth: CGFloat = Constants.lineWidth + public var lineCap: CGLineCap = .round + public var circleColor: Color = Color(.primaryButtonBackground).opacity(Constants.backgroundOpacity) + public var fillColor: Color = Color(.primaryButtonBackground) - private let arcStart: Double = Constants.initialArcStart private let animationDuration: Double = 1.6 @State private var arcEnd: Double = Constants.initialArcEnd @@ -15,6 +14,14 @@ public struct IndefiniteCircularProgressViewStyle: ProgressViewStyle { @State private var viewRotation: Angle = .radians(0) @State private var arcTimer: Timer? + public init(size: CGFloat, lineWidth: CGFloat = Constants.lineWidth, lineCap: CGLineCap = .round, circleColor: Color? = nil, fillColor: Color? = nil) { + self.size = size + self.lineWidth = lineWidth + self.lineCap = lineCap + self.circleColor = circleColor ?? Color(.primaryButtonBackground).opacity(Constants.backgroundOpacity) + self.fillColor = fillColor ?? Color(.primaryButtonBackground) + } + public func makeBody(configuration: ProgressViewStyleConfiguration) -> some View { VStack { ZStack { @@ -78,21 +85,21 @@ public struct IndefiniteCircularProgressViewStyle: ProgressViewStyle { } } -private extension IndefiniteCircularProgressViewStyle { +public extension IndefiniteCircularProgressViewStyle { enum Constants { - static let lineWidth: CGFloat = 10.0 - static let backgroundOpacity: CGFloat = 0.2 + public static let lineWidth: CGFloat = 10.0 + public static let backgroundOpacity: CGFloat = 0.2 - static let initialArcStart: Double = 0 - static let initialArcEnd: Double = 0.05 - static let fullCircle: Double = 1 + public static let initialArcStart: Double = 0 + public static let initialArcEnd: Double = 0.05 + public static let fullCircle: Double = 1 - static let threeQuarterRotation: Angle = .radians((9 * Double.pi)/6) - static let fullRotation: Angle = .radians(Double.pi * 2) + public static let threeQuarterRotation: Angle = .radians((9 * Double.pi)/6) + public static let fullRotation: Angle = .radians(Double.pi * 2) } enum Localization { - static let inProgressAccessibilityLabel = NSLocalizedString( + public static let inProgressAccessibilityLabel = NSLocalizedString( "In progress", comment: "Accessibility label for an indeterminate loading indicator") } diff --git a/WooCommerce/Classes/ViewRelated/ReusableViews/SwiftUI Components/KeyboardObserver.swift b/Modules/Sources/WooFoundation/UI Components/KeyboardObserver.swift similarity index 82% rename from WooCommerce/Classes/ViewRelated/ReusableViews/SwiftUI Components/KeyboardObserver.swift rename to Modules/Sources/WooFoundation/UI Components/KeyboardObserver.swift index 168e6a05e23..5fc00f3412e 100644 --- a/WooCommerce/Classes/ViewRelated/ReusableViews/SwiftUI Components/KeyboardObserver.swift +++ b/Modules/Sources/WooFoundation/UI Components/KeyboardObserver.swift @@ -2,22 +2,22 @@ import SwiftUI import Combine @Observable -final class KeyboardObserver { - private(set) var isKeyboardVisible: Bool = false - private(set) var keyboardHeight: CGFloat = 0 +public final class KeyboardObserver { + public private(set) var isKeyboardVisible: Bool = false + public private(set) var keyboardHeight: CGFloat = 0 /// When an external keyboard is in use, iPadOS shows a quicktype bar at the bottom of the screen. /// This is reported as a keyboard with height, so `isKeyboardVisible` will be true and /// keyboard height will be > 0. /// However, it's much less of an impingement on the view, so there may be no modification to the view required. /// `isFullSizeKeyboardVisible` is true when the full software keyboard is shown. - var isFullSizeKeyboardVisible: Bool { + public var isFullSizeKeyboardVisible: Bool { return keyboardHeight > Constants.hardwareKeyboardHelperBarHeightThreshold } private var cancellables = Set() - init() { + public init() { NotificationCenter.Publisher(center: .default, name: UIResponder.keyboardWillShowNotification) .merge(with: NotificationCenter.Publisher(center: .default, name: UIResponder.keyboardDidShowNotification)) .receive(on: DispatchQueue.main) @@ -47,9 +47,9 @@ final class KeyboardObserver { } } -private extension KeyboardObserver { +public extension KeyboardObserver { enum Constants { - static let hardwareKeyboardHelperBarHeightThreshold: CGFloat = 90 + public static let hardwareKeyboardHelperBarHeightThreshold: CGFloat = 90 } } @@ -60,22 +60,22 @@ private struct KeyboardObserverKey: EnvironmentKey { } } -extension EnvironmentValues { +public extension EnvironmentValues { var keyboardObserver: KeyboardObserver { get { self[KeyboardObserverKey.self] } set { self[KeyboardObserverKey.self] = newValue } } } -struct KeyboardObserverProvider: ViewModifier { +public struct KeyboardObserverProvider: ViewModifier { @State private var observer = KeyboardObserver() - func body(content: Content) -> some View { + public func body(content: Content) -> some View { content.environment(\.keyboardObserver, observer) } } -extension View { +public extension View { func injectKeyboardObserver() -> some View { modifier(KeyboardObserverProvider()) } diff --git a/WooCommerce/Classes/ViewRelated/ReusableViews/SwiftUI Components/ScrollableVStack.swift b/Modules/Sources/WooFoundation/UI Components/ScrollableVStack.swift similarity index 94% rename from WooCommerce/Classes/ViewRelated/ReusableViews/SwiftUI Components/ScrollableVStack.swift rename to Modules/Sources/WooFoundation/UI Components/ScrollableVStack.swift index 307c285ac42..2407633b5ec 100644 --- a/WooCommerce/Classes/ViewRelated/ReusableViews/SwiftUI Components/ScrollableVStack.swift +++ b/Modules/Sources/WooFoundation/UI Components/ScrollableVStack.swift @@ -2,13 +2,13 @@ import SwiftUI /// Wraps a VStack inside a ScrollView, ensuring the content expands to fill the available space /// -struct ScrollableVStack: View { +public struct ScrollableVStack: View { let alignment: HorizontalAlignment let padding: CGFloat let spacing: CGFloat? let content: Content - init( + public init( alignment: HorizontalAlignment = .center, padding: CGFloat = 24, spacing: CGFloat? = nil, @@ -20,7 +20,7 @@ struct ScrollableVStack: View { self.content = content() } - var body: some View { + public var body: some View { GeometryReader { geometry in ScrollView { VStack(alignment: alignment, spacing: spacing) { diff --git a/WooCommerce/Classes/ViewRelated/ReusableViews/SwiftUI Components/TextFieldStyles.swift b/Modules/Sources/WooFoundation/UI Components/TextFieldStyles.swift similarity index 90% rename from WooCommerce/Classes/ViewRelated/ReusableViews/SwiftUI Components/TextFieldStyles.swift rename to Modules/Sources/WooFoundation/UI Components/TextFieldStyles.swift index cdbfde1bc52..1d69e41103e 100644 --- a/WooCommerce/Classes/ViewRelated/ReusableViews/SwiftUI Components/TextFieldStyles.swift +++ b/Modules/Sources/WooFoundation/UI Components/TextFieldStyles.swift @@ -1,7 +1,7 @@ import SwiftUI /// Text field has a rounded border that has a thicker border and brighter border color when the field is focused. -struct WooRoundedBorderTextFieldStyle: TextFieldStyle { +public struct WooRoundedBorderTextFieldStyle: TextFieldStyle { private let focused: Bool private let focusedBorderColor: Color private let unfocusedBorderColor: Color @@ -19,7 +19,7 @@ struct WooRoundedBorderTextFieldStyle: TextFieldStyle { /// - insets: The insets between the background border and the text input. /// - height: An optional fixed height for the field. /// - content: Optional closure to wrap the text field content. - init(focused: Bool, + public init(focused: Bool, focusedBorderColor: Color = Defaults.focusedBorderColor, unfocusedBorderColor: Color = Defaults.unfocusedBorderColor, backgroundColor: Color = .clear, @@ -37,7 +37,7 @@ struct WooRoundedBorderTextFieldStyle: TextFieldStyle { self.content = content } - func _body(configuration: TextField) -> some View { + public func _body(configuration: TextField) -> some View { let styledContent = content?(configuration) ?? AnyView(configuration) styledContent @@ -53,11 +53,11 @@ struct WooRoundedBorderTextFieldStyle: TextFieldStyle { } } -extension WooRoundedBorderTextFieldStyle { +public extension WooRoundedBorderTextFieldStyle { enum Defaults { - static let focusedBorderColor: Color = .init(uiColor: .brand) - static let unfocusedBorderColor: Color = .gray - static let insets = EdgeInsets(top: 10, leading: 10, bottom: 10, trailing: 10) + public static let focusedBorderColor: Color = .init(uiColor: .brand) + public static let unfocusedBorderColor: Color = .gray + public static let insets = EdgeInsets(top: 10, leading: 10, bottom: 10, trailing: 10) } } diff --git a/WooCommerce/Classes/Tools/Connectivity/ConnectivityObserver.swift b/Modules/Sources/WooFoundation/Utilities/Connectivity/ConnectivityObserver.swift similarity index 89% rename from WooCommerce/Classes/Tools/Connectivity/ConnectivityObserver.swift rename to Modules/Sources/WooFoundation/Utilities/Connectivity/ConnectivityObserver.swift index 0f9cc08d555..7182a0473ef 100644 --- a/WooCommerce/Classes/Tools/Connectivity/ConnectivityObserver.swift +++ b/Modules/Sources/WooFoundation/Utilities/Connectivity/ConnectivityObserver.swift @@ -2,7 +2,7 @@ import Combine /// Interface for the observing connectivity /// -protocol ConnectivityObserver { +public protocol ConnectivityObserver { /// Getter for current state of the connectivity. var currentStatus: ConnectivityStatus { get } @@ -21,7 +21,7 @@ protocol ConnectivityObserver { /// - unknown: It is unknown whether the network is reachable. /// - notReachable: The network is not reachable. /// - reachable: The network is reachable. -enum ConnectivityStatus: Equatable { +public enum ConnectivityStatus: Equatable { case unknown case notReachable case reachable(type: ConnectionType) @@ -32,7 +32,7 @@ enum ConnectivityStatus: Equatable { /// - ethernetOrWiFi: The connection type is either over Ethernet or WiFi. /// - cellular: The connection type is a cellular connection. /// - other: The connection type is via a local loopback network, virtual network or other unknown types. -enum ConnectionType: Equatable { +public enum ConnectionType: Equatable { case ethernetOrWiFi case cellular case other diff --git a/WooCommerce/Classes/Tools/Connectivity/DefaultConnectivityObserver.swift b/Modules/Sources/WooFoundation/Utilities/Connectivity/DefaultConnectivityObserver.swift similarity index 88% rename from WooCommerce/Classes/Tools/Connectivity/DefaultConnectivityObserver.swift rename to Modules/Sources/WooFoundation/Utilities/Connectivity/DefaultConnectivityObserver.swift index 757998e2db4..24ca1ddad1b 100644 --- a/WooCommerce/Classes/Tools/Connectivity/DefaultConnectivityObserver.swift +++ b/Modules/Sources/WooFoundation/Utilities/Connectivity/DefaultConnectivityObserver.swift @@ -1,19 +1,23 @@ import Combine import Network -final class DefaultConnectivityObserver: ConnectivityObserver { +public final class DefaultConnectivityObserver: ConnectivityObserver { /// Network monitor to evaluate connection. /// private let networkMonitor: NetworkMonitoring private let observingQueue: DispatchQueue = .global(qos: .background) - @Published private(set) var currentStatus: ConnectivityStatus = .unknown + @Published private(set) public var currentStatus: ConnectivityStatus = .unknown - var statusPublisher: AnyPublisher { + public var statusPublisher: AnyPublisher { $currentStatus.eraseToAnyPublisher() } + public convenience init() { + self.init(networkMonitor: NWPathMonitor()) + } + init(networkMonitor: NetworkMonitoring = NWPathMonitor()) { self.networkMonitor = networkMonitor startObserving() @@ -25,11 +29,11 @@ final class DefaultConnectivityObserver: ConnectivityObserver { } } - func startObserving() { + public func startObserving() { networkMonitor.start(queue: observingQueue) } - func stopObserving() { + public func stopObserving() { networkMonitor.cancel() } diff --git a/WooCommerce/Classes/View Modifiers/View+AutofocusTextModifier.swift b/Modules/Sources/WooFoundation/ViewModifiers/View+AutofocusTextModifier.swift similarity index 81% rename from WooCommerce/Classes/View Modifiers/View+AutofocusTextModifier.swift rename to Modules/Sources/WooFoundation/ViewModifiers/View+AutofocusTextModifier.swift index 864ce5789d2..3303bb798d1 100644 --- a/WooCommerce/Classes/View Modifiers/View+AutofocusTextModifier.swift +++ b/Modules/Sources/WooFoundation/ViewModifiers/View+AutofocusTextModifier.swift @@ -2,11 +2,13 @@ import SwiftUI /// Autofocus for `TextField` and `TextEditor` in iOS 15 and later /// -struct AutofocusTextModifier: ViewModifier { +public struct AutofocusTextModifier: ViewModifier { @FocusState private var textFieldIsFocused: Bool - func body(content: Content) -> some View { + public init() {} + + public func body(content: Content) -> some View { content .focused($textFieldIsFocused) .onAppear { @@ -21,7 +23,7 @@ struct AutofocusTextModifier: ViewModifier { // MARK: View extension -extension View { +public extension View { /// Autofocus in `TextField` and `TextEditor` is available only for iOS15+ /// diff --git a/WooCommerce/Classes/View Modifiers/View+Conditionals.swift b/Modules/Sources/WooFoundation/ViewModifiers/View+Conditionals.swift similarity index 97% rename from WooCommerce/Classes/View Modifiers/View+Conditionals.swift rename to Modules/Sources/WooFoundation/ViewModifiers/View+Conditionals.swift index 09defe072b9..f62ddc18d00 100644 --- a/WooCommerce/Classes/View Modifiers/View+Conditionals.swift +++ b/Modules/Sources/WooFoundation/ViewModifiers/View+Conditionals.swift @@ -1,6 +1,6 @@ import SwiftUI -extension View { +public extension View { /// Renders a view if the provided `condition` is met. /// If the `condition` is not met, an `nil` will be used in place of the receiver view. /// diff --git a/WooCommerce/Classes/View Modifiers/View+Measurements.swift b/Modules/Sources/WooFoundation/ViewModifiers/View+Measurements.swift similarity index 99% rename from WooCommerce/Classes/View Modifiers/View+Measurements.swift rename to Modules/Sources/WooFoundation/ViewModifiers/View+Measurements.swift index 26ff725ac94..32e5fcd8363 100644 --- a/WooCommerce/Classes/View Modifiers/View+Measurements.swift +++ b/Modules/Sources/WooFoundation/ViewModifiers/View+Measurements.swift @@ -1,6 +1,6 @@ import SwiftUI -extension View { +public extension View { /// Measures the height of a view and calls the provided callback with the height value. /// The callback is called both when the view first appears and whenever its height changes. /// If the view contains a list, consider wrapping it in a VStack to ensure the height updates are emitted as a group diff --git a/WooCommerce/Classes/View Modifiers/View+RoundedBorder.swift b/Modules/Sources/WooFoundation/ViewModifiers/View+RoundedBorder.swift similarity index 70% rename from WooCommerce/Classes/View Modifiers/View+RoundedBorder.swift rename to Modules/Sources/WooFoundation/ViewModifiers/View+RoundedBorder.swift index 06759ccd2ac..aeeffa6ae29 100644 --- a/WooCommerce/Classes/View Modifiers/View+RoundedBorder.swift +++ b/Modules/Sources/WooFoundation/ViewModifiers/View+RoundedBorder.swift @@ -1,13 +1,20 @@ import SwiftUI /// Custom view modifier for applying a rounded border to a view. -struct RoundedBorder: ViewModifier { +public struct RoundedBorder: ViewModifier { let cornerRadius: CGFloat let lineColor: Color let lineWidth: CGFloat let dashed: Bool - func body(content: Content) -> some View { + public init(cornerRadius: CGFloat, lineColor: Color, lineWidth: CGFloat, dashed: Bool) { + self.cornerRadius = cornerRadius + self.lineColor = lineColor + self.lineWidth = lineWidth + self.dashed = dashed + } + + public func body(content: Content) -> some View { content .overlay { RoundedRectangle(cornerRadius: cornerRadius) @@ -19,12 +26,11 @@ struct RoundedBorder: ViewModifier { private extension RoundedBorder { enum Layout { - static let height: CGFloat = 1 static let dashLength: CGFloat = 5 } } -extension View { +public extension View { /// Applies a rounded border to a view. func roundedBorder(cornerRadius: CGFloat, lineColor: Color, lineWidth: CGFloat, dashed: Bool = false) -> some View { self.modifier(RoundedBorder(cornerRadius: cornerRadius, lineColor: lineColor, lineWidth: lineWidth, dashed: dashed)) diff --git a/WooCommerce/Classes/View Modifiers/View+ScrollModifiers.swift b/Modules/Sources/WooFoundation/ViewModifiers/View+ScrollModifiers.swift similarity index 87% rename from WooCommerce/Classes/View Modifiers/View+ScrollModifiers.swift rename to Modules/Sources/WooFoundation/ViewModifiers/View+ScrollModifiers.swift index d9b2ff30b2c..984a5adab8c 100644 --- a/WooCommerce/Classes/View Modifiers/View+ScrollModifiers.swift +++ b/Modules/Sources/WooFoundation/ViewModifiers/View+ScrollModifiers.swift @@ -1,10 +1,10 @@ import SwiftUI /// Preference key for communicating sizes -struct SizePreferenceKey: PreferenceKey { - static var defaultValue: CGSize? = nil +public struct SizePreferenceKey: PreferenceKey { + public static var defaultValue: CGSize? = nil - static func reduce(value: inout CGSize?, nextValue: () -> CGSize?) { + public static func reduce(value: inout CGSize?, nextValue: () -> CGSize?) { // Take the response of the first child which updates the key. Disallow further updates from its children. value = value ?? nextValue() } @@ -12,11 +12,11 @@ struct SizePreferenceKey: PreferenceKey { /// View modifier that conditionally wraps the `content` in a `ScrollView` if the `content` height exceeds the view height. /// -struct ConditionalVerticalScrollModifier: ViewModifier { +public struct ConditionalVerticalScrollModifier: ViewModifier { /// Defines if the content should scroll or not. @State private var shouldScroll: Bool = false - func body(content: Content) -> some View { + public func body(content: Content) -> some View { GeometryReader { parentGeometry in Group { if shouldScroll { @@ -52,7 +52,7 @@ struct ConditionalVerticalScrollModifier: ViewModifier { // MARK: View Extensions -extension View { +public extension View { /// Allows the view to scroll vertically when the content height is greater than its parent height. /// func scrollVerticallyIfNeeded() -> some View { diff --git a/Modules/Sources/WooFoundation/ViewModifiers/View+SizeTracker.swift b/Modules/Sources/WooFoundation/ViewModifiers/View+SizeTracker.swift new file mode 100644 index 00000000000..d4d720dd048 --- /dev/null +++ b/Modules/Sources/WooFoundation/ViewModifiers/View+SizeTracker.swift @@ -0,0 +1,28 @@ +import SwiftUI + +public struct SizeTracker: ViewModifier { + @Binding var size: CGSize + + public init(size: Binding) { + self._size = size + } + + public func body(content: Content) -> some View { + content + .background(GeometryReader { proxy in + Color.clear + .onAppear { + self.size = proxy.size + } + .onChange(of: proxy.size) { _, newSize in + self.size = newSize + } + }) + } +} + +public extension View { + func trackSize(size: Binding) -> some View { + modifier(SizeTracker(size: size)) + } +} diff --git a/Modules/Sources/WooFoundationCore/Analytics/WooAnalyticsEvent.swift b/Modules/Sources/WooFoundationCore/Analytics/WooAnalyticsEvent.swift new file mode 100644 index 00000000000..d9cd0141e8a --- /dev/null +++ b/Modules/Sources/WooFoundationCore/Analytics/WooAnalyticsEvent.swift @@ -0,0 +1,50 @@ +import Foundation + +/// This struct represents an analytics event. It is a combination of `WooAnalyticsStat` and +/// its properties. +/// +/// This was mostly created to promote static-typing via constructors. +/// +/// ## Adding New Events +/// +/// 1. Add the event name (`String`) to `WooAnalyticsStat`. +/// 2. Create an `extension` of `WooAnalyticsStat` if necessary for grouping. +/// 3. Add a `static func` constructor. +/// +/// Here is an example: +/// +/// ~~~ +/// extension WooAnalyticsEvent { +/// enum LoginStep: String { +/// case start +/// case success +/// } +/// +/// static func login(step: LoginStep) -> WooAnalyticsEvent { +/// let properties = [ +/// "step": step.rawValue +/// ] +/// +/// return WooAnalyticsEvent(name: "login", properties: properties) +/// } +/// } +/// ~~~ +/// +/// Examples of tracking calls (in the client App or Pod): +/// +/// ~~~ +/// Analytics.track(event: .login(step: .start)) +/// Analytics.track(event: .loginStart) +/// ~~~ +/// +public struct WooAnalyticsEvent { + public let statName: WooAnalyticsStat + public let properties: [String: WooAnalyticsEventPropertyType] + public let error: Error? + + public init(statName: WooAnalyticsStat, properties: [String: WooAnalyticsEventPropertyType] = [:], error: Error? = nil) { + self.statName = statName + self.properties = properties + self.error = error + } +} diff --git a/Modules/Sources/WooFoundation/Protocols/Analytics/WooAnalyticsEventPropertyType.swift b/Modules/Sources/WooFoundationCore/Analytics/WooAnalyticsEventPropertyType.swift similarity index 100% rename from Modules/Sources/WooFoundation/Protocols/Analytics/WooAnalyticsEventPropertyType.swift rename to Modules/Sources/WooFoundationCore/Analytics/WooAnalyticsEventPropertyType.swift diff --git a/WooCommerce/Classes/Analytics/WooAnalyticsStat.swift b/Modules/Sources/WooFoundationCore/Analytics/WooAnalyticsStat.swift similarity index 94% rename from WooCommerce/Classes/Analytics/WooAnalyticsStat.swift rename to Modules/Sources/WooFoundationCore/Analytics/WooAnalyticsStat.swift index 88bf83962ed..91ecfb1d80d 100644 --- a/WooCommerce/Classes/Analytics/WooAnalyticsStat.swift +++ b/Modules/Sources/WooFoundationCore/Analytics/WooAnalyticsStat.swift @@ -1,6 +1,4 @@ -#if canImport(WordPressShared) -import WordPressShared -#endif +import Foundation /// This enum contains all of the events we track in the WooCommerce app. /// @@ -18,8 +16,7 @@ import WordPressShared /// Note: If you would like to exclude site properties (e.g. `blog_id`) for a given event, please /// add the event to the `WooAnalyticsStat.shouldSendSiteProperties` var. /// -enum WooAnalyticsStat: String { - +public enum WooAnalyticsStat: String { // MARK: Application Events // case applicationInstalled = "application_installed" @@ -1345,7 +1342,7 @@ extension WooAnalyticsStat { /// Note: Currently all authentication events will return false. If you wish /// to include additional no-site-info events, please add them here. /// - var shouldSendSiteProperties: Bool { + public var shouldSendSiteProperties: Bool { switch self { // Authentication Events case .signedIn, .logout, .openedLogin, .loginFailed, @@ -1367,102 +1364,3 @@ extension WooAnalyticsStat { } } } - -#if canImport(WordPressShared) -extension WooAnalyticsStat { - - /// Converts the provided WPAnalyticsStat into a WooAnalyticsStat. - /// This whole process kinda stinks, but we need this for the `WordPressAuthenticatorDelegate` - /// implementation. ☹️ Feel free to refactor later on! - /// - /// - Parameter stat: The WPAnalyticsStat to convert - /// - Returns: The corresponding WooAnalyticsStat or nil if it cannot be converted - /// - static func valueOf(stat: WPAnalyticsStat) -> WooAnalyticsStat? { - var wooEvent: WooAnalyticsStat? = nil - - switch stat { - case .signedIn: - wooEvent = WooAnalyticsStat.signedIn - case .signedInToJetpack: - wooEvent = WooAnalyticsStat.signedIn - case .logout: - wooEvent = WooAnalyticsStat.logout - case .openedLogin: - wooEvent = WooAnalyticsStat.openedLogin - case .loginFailed: - wooEvent = WooAnalyticsStat.loginFailed - case .loginAutoFillCredentialsFilled: - wooEvent = WooAnalyticsStat.loginAutoFillCredentialsFilled - case .loginAutoFillCredentialsUpdated: - wooEvent = WooAnalyticsStat.loginAutoFillCredentialsUpdated - case .loginProloguePaged: - wooEvent = WooAnalyticsStat.loginProloguePaged - case .loginPrologueViewed: - wooEvent = WooAnalyticsStat.loginPrologueViewed - case .loginEmailFormViewed: - wooEvent = WooAnalyticsStat.loginEmailFormViewed - case .loginMagicLinkOpenEmailClientViewed: - wooEvent = WooAnalyticsStat.loginMagicLinkOpenEmailClientViewed - case .loginMagicLinkRequestFormViewed: - wooEvent = WooAnalyticsStat.loginMagicLinkRequestFormViewed - case .loginMagicLinkExited: - wooEvent = WooAnalyticsStat.loginMagicLinkExited - case .loginMagicLinkFailed: - wooEvent = WooAnalyticsStat.loginMagicLinkFailed - case .loginMagicLinkOpened: - wooEvent = WooAnalyticsStat.loginMagicLinkOpened - case .loginMagicLinkRequested: - wooEvent = WooAnalyticsStat.loginMagicLinkRequested - case .loginMagicLinkSucceeded: - wooEvent = WooAnalyticsStat.loginMagicLinkSucceeded - case .loginPasswordFormViewed: - wooEvent = WooAnalyticsStat.loginPasswordFormViewed - case .loginURLFormViewed: - wooEvent = WooAnalyticsStat.loginURLFormViewed - case .loginURLHelpScreenViewed: - wooEvent = WooAnalyticsStat.loginURLHelpScreenViewed - case .loginUsernamePasswordFormViewed: - wooEvent = WooAnalyticsStat.loginUsernamePasswordFormViewed - case .loginTwoFactorFormViewed: - wooEvent = WooAnalyticsStat.loginTwoFactorFormViewed - case .loginEpilogueViewed: - wooEvent = WooAnalyticsStat.loginEpilogueViewed - case .loginForgotPasswordClicked: - wooEvent = WooAnalyticsStat.loginForgotPasswordClicked - case .loginSocialButtonClick: - wooEvent = WooAnalyticsStat.loginSocialButtonClick - case .loginSocialButtonFailure: - wooEvent = WooAnalyticsStat.loginSocialButtonFailure - case .loginSocialConnectSuccess: - wooEvent = WooAnalyticsStat.loginSocialConnectSuccess - case .loginSocialConnectFailure: - wooEvent = WooAnalyticsStat.loginSocialConnectFailure - case .loginSocialSuccess: - wooEvent = WooAnalyticsStat.loginSocialSuccess - case .loginSocialFailure: - wooEvent = WooAnalyticsStat.loginSocialFailure - case .loginSocial2faNeeded: - wooEvent = WooAnalyticsStat.loginSocial2faNeeded - case .loginSocialAccountsNeedConnecting: - wooEvent = WooAnalyticsStat.loginSocialAccountsNeedConnecting - case .loginSocialErrorUnknownUser: - wooEvent = WooAnalyticsStat.loginSocialErrorUnknownUser - case .onePasswordFailed: - wooEvent = WooAnalyticsStat.onePasswordFailed - case .onePasswordLogin: - wooEvent = WooAnalyticsStat.onePasswordLogin - case .onePasswordSignup: - wooEvent = WooAnalyticsStat.onePasswordSignup - case .twoFactorCodeRequested: - wooEvent = WooAnalyticsStat.twoFactorCodeRequested - case .twoFactorSentSMS: - wooEvent = WooAnalyticsStat.twoFactorSentSMS - default: - wooEvent = nil - } - - return wooEvent - } -} -#endif diff --git a/WooCommerce/Classes/Extensions/Array+Helpers.swift b/Modules/Sources/WooFoundationCore/Array+Helpers.swift similarity index 89% rename from WooCommerce/Classes/Extensions/Array+Helpers.swift rename to Modules/Sources/WooFoundationCore/Array+Helpers.swift index 956166be410..6adb6987e46 100644 --- a/WooCommerce/Classes/Extensions/Array+Helpers.swift +++ b/Modules/Sources/WooFoundationCore/Array+Helpers.swift @@ -1,9 +1,8 @@ import Foundation - // MARK: - Array Helpers // -extension Array { +public extension Array { /// Removes and returns the first element in the array. If any! /// mutating func popFirst() -> Element? { @@ -27,7 +26,7 @@ extension Array { // MARK: - Sequence Helpers // -extension Sequence { +public extension Sequence { /// Get the keypaths for a elemtents in a sequence. /// func map(_ keyPath: KeyPath) -> [T] { @@ -40,12 +39,12 @@ extension Sequence { } } -extension Sequence where Element: Numeric { +public extension Sequence where Element: Numeric { /// Returns the sum of all elements in the collection. func sum() -> Element { return reduce(0, +) } } -extension Sequence where Element: Equatable { +public extension Sequence where Element: Equatable { /// Returns the sequence with any duplicate elements after the first one removed. func removingDuplicates() -> [Element] { var result = [Element]() diff --git a/Modules/Sources/WooFoundationCore/String+Helpers.swift b/Modules/Sources/WooFoundationCore/String+Helpers.swift new file mode 100644 index 00000000000..4a5f3976529 --- /dev/null +++ b/Modules/Sources/WooFoundationCore/String+Helpers.swift @@ -0,0 +1,76 @@ +import Foundation + +/// String: Helper Methods +/// +public extension String { + + /// Helper method to provide the singular or plural (formatted) version of a + /// string based on a count. + /// + /// - Parameters: + /// - count: Number of 'things' in the string + /// - singular: Singular version of localized string — used if `count` is 1 + /// - plural: Plural version of localized string — used if `count` is greater than 1 + /// - Returns: Singular or plural version of string based on `count` param + /// + /// NOTE: String params _must_ include `%ld` placeholder (count will be placed there). + /// + static func pluralize(_ count: Int, singular: String, plural: String) -> String { + if count == 1 { + return String.localizedStringWithFormat(singular, count) + } else { + return String.localizedStringWithFormat(plural, count) + } + } + + /// Helper method to provide the singular or plural (formatted) version of a + /// string based on a count. + /// + /// - Parameters: + /// - count: Number of 'things' in the string + /// - singular: Singular version of localized string — used if `count` is 1 + /// - plural: Plural version of localized string — used if `count` is greater than 1 + /// - Returns: Singular or plural version of string based on `count` param + /// + /// NOTE: String params _must_ include `%@` placeholder (count will be placed there). + /// + static func pluralize(_ count: Decimal, singular: String, plural: String) -> String { + let stringCount = NSDecimalNumber(decimal: count).stringValue + + if count > 0 && count < 1 || count == 1 { + return String.localizedStringWithFormat(singular, stringCount) + } else { + return String.localizedStringWithFormat(plural, stringCount) + } + } + + /// A Boolean value indicating whether a string has characters. + var isNotEmpty: Bool { + return !isEmpty + } +} + +#if !os(watchOS) +import UIKit + +public extension String { + /// Sends the string to the general pasteboard and triggers a success haptic. + /// If the string is nil, nothing is sent to the pasteboard. + /// + /// - Parameter includeTrailingNewline: If true, inserts a trailing newline; defaults to true + /// + func sendToPasteboard(includeTrailingNewline: Bool = true) { + guard self.isEmpty == false else { + return + } + + var text: String = self + if includeTrailingNewline { + text += "\n" + } + + UIPasteboard.general.string = text + UINotificationFeedbackGenerator().notificationOccurred(.success) + } +} +#endif diff --git a/WooCommerce/Classes/Tools/VersionHelpers.swift b/Modules/Sources/WooFoundationCore/VersionHelpers.swift similarity index 93% rename from WooCommerce/Classes/Tools/VersionHelpers.swift rename to Modules/Sources/WooFoundationCore/VersionHelpers.swift index c7bfa61ee0c..578dbb83978 100644 --- a/WooCommerce/Classes/Tools/VersionHelpers.swift +++ b/Modules/Sources/WooFoundationCore/VersionHelpers.swift @@ -2,21 +2,21 @@ import Foundation /// Helpers for working with versions (e.g. comparing two version strings) /// -final class VersionHelpers { +public final class VersionHelpers { /// Compares two strings as versions using the same approach as PHP `version_compare`. /// https://www.php.net/manual/en/function.version-compare.php /// /// - Notable parameters: /// - includesDevAndBetaVersions: If true, the version string is considered supported if it contains the minimumRequired version /// e.g. "5.0.0-beta1" >= "5.0.0". - static func isVersionSupported(version: String, minimumRequired: String, includesDevAndBetaVersions: Bool = false) -> Bool { + public static func isVersionSupported(version: String, minimumRequired: String, includesDevAndBetaVersions: Bool = false) -> Bool { if includesDevAndBetaVersions && version.contains(minimumRequired) { return true } return VersionHelpers.compare(version, minimumRequired) != .orderedAscending } - static func isVersionSupported(version: String, minimumRequired: String, maximumPermitted: String) -> Bool { + public static func isVersionSupported(version: String, minimumRequired: String, maximumPermitted: String) -> Bool { VersionHelpers.compare(version, minimumRequired) != .orderedAscending && VersionHelpers.compare(version, maximumPermitted) != .orderedDescending } @@ -28,7 +28,7 @@ final class VersionHelpers { /// Returns `orderedSame` if the lhs version is the same as the rhs /// Returns `orderedDescending` if the lhs version is newer than the rhs /// - static func compare(_ lhs: String, _ rhs: String) -> ComparisonResult { + public static func compare(_ lhs: String, _ rhs: String) -> ComparisonResult { let leftComponents = versionComponents(of: lhs) let rightComponents = versionComponents(of: rhs) let maxComponents = max(leftComponents.count, rightComponents.count) diff --git a/WooCommerce/Classes/ViewRelated/Orders/Order Creation/Synchronizer/OrderTotalsCalculator.swift b/Modules/Sources/Yosemite/Tools/Orders/OrderTotalsCalculator.swift similarity index 83% rename from WooCommerce/Classes/ViewRelated/Orders/Order Creation/Synchronizer/OrderTotalsCalculator.swift rename to Modules/Sources/Yosemite/Tools/Orders/OrderTotalsCalculator.swift index caaf50a5427..143ffe88e29 100644 --- a/WooCommerce/Classes/ViewRelated/Orders/Order Creation/Synchronizer/OrderTotalsCalculator.swift +++ b/Modules/Sources/Yosemite/Tools/Orders/OrderTotalsCalculator.swift @@ -1,10 +1,9 @@ import Foundation -import Yosemite import WooFoundation /// Helper to calculate the totals on an `Order`. /// -final class OrderTotalsCalculator { +public final class OrderTotalsCalculator { // MARK: Private properties private let order: Order @@ -27,7 +26,7 @@ final class OrderTotalsCalculator { /// Total value of all items on an order. /// - var itemsTotal: NSDecimalNumber { + public var itemsTotal: NSDecimalNumber { order.items .map { $0.subtotal } .compactMap { currencyFormatter.convertToDecimal($0) } @@ -36,7 +35,7 @@ final class OrderTotalsCalculator { /// Total value of all fee lines on an order. /// - var feesTotal: NSDecimalNumber { + public var feesTotal: NSDecimalNumber { order.fees .map { $0.total } .compactMap { currencyFormatter.convertToDecimal($0) } @@ -45,7 +44,7 @@ final class OrderTotalsCalculator { /// Total value of discounts, including coupons and product discounts. /// - var discountTotal: NSDecimalNumber { + public var discountTotal: NSDecimalNumber { let itemsDiscountedTotal = order.items .map { $0.total } .compactMap { currencyFormatter.convertToDecimal($0) } @@ -56,18 +55,18 @@ final class OrderTotalsCalculator { /// Order total /// - var orderTotal: NSDecimalNumber { + public var orderTotal: NSDecimalNumber { itemsTotal.adding(shippingTotal).adding(feesTotal).adding(taxesTotal).subtracting(discountTotal) } - init(for order: Order, using currencyFormatter: CurrencyFormatter) { + public init(for order: Order, using currencyFormatter: CurrencyFormatter) { self.order = order self.currencyFormatter = currencyFormatter } /// Returns a copy of the order with a new, locally calculated order total. /// - func updateOrderTotal() -> Order { + public func updateOrderTotal() -> Order { return order.copy(total: orderTotal.stringValue) } } diff --git a/WooCommerce/WooCommerceTests/Tools/DefaultConnectivityObserver.swift b/Modules/Tests/WooFoundationTests/Utilities/DefaultConnectivityObserverTests.swift similarity index 99% rename from WooCommerce/WooCommerceTests/Tools/DefaultConnectivityObserver.swift rename to Modules/Tests/WooFoundationTests/Utilities/DefaultConnectivityObserverTests.swift index f1e71c41db9..cb26c88631a 100644 --- a/WooCommerce/WooCommerceTests/Tools/DefaultConnectivityObserver.swift +++ b/Modules/Tests/WooFoundationTests/Utilities/DefaultConnectivityObserverTests.swift @@ -1,7 +1,7 @@ import Combine import Network import XCTest -@testable import WooCommerce +@testable import WooFoundation final class DefaultConnectivityObserverTests: XCTestCase { private var subscriptions: Set = [] diff --git a/WooCommerce/WooCommerceTests/Extensions/VersionHelpersTests.swift b/Modules/Tests/WooFoundationTests/Utilities/VersionHelpersTests.swift similarity index 98% rename from WooCommerce/WooCommerceTests/Extensions/VersionHelpersTests.swift rename to Modules/Tests/WooFoundationTests/Utilities/VersionHelpersTests.swift index 35ef2cc7873..3c9b8fbad35 100644 --- a/WooCommerce/WooCommerceTests/Extensions/VersionHelpersTests.swift +++ b/Modules/Tests/WooFoundationTests/Utilities/VersionHelpersTests.swift @@ -1,5 +1,6 @@ import Testing -@testable import WooCommerce +import WooFoundationCore +@testable import WooFoundation /// VersionHelpers Unit Tests /// diff --git a/WooCommerce/WooCommerceTests/ViewRelated/Orders/Order Creation/Synchronizer/OrderTotalsCalculatorTests.swift b/Modules/Tests/YosemiteTests/Tools/Orders/OrderTotalsCalculatorTests.swift similarity index 99% rename from WooCommerce/WooCommerceTests/ViewRelated/Orders/Order Creation/Synchronizer/OrderTotalsCalculatorTests.swift rename to Modules/Tests/YosemiteTests/Tools/Orders/OrderTotalsCalculatorTests.swift index d6658d9278b..66164bd4aea 100644 --- a/WooCommerce/WooCommerceTests/ViewRelated/Orders/Order Creation/Synchronizer/OrderTotalsCalculatorTests.swift +++ b/Modules/Tests/YosemiteTests/Tools/Orders/OrderTotalsCalculatorTests.swift @@ -1,7 +1,5 @@ import XCTest - import WooFoundation -@testable import WooCommerce @testable import Yosemite class OrderTotalsCalculatorTests: XCTestCase { diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt index fbae7f28d13..33e9c87e99f 100644 --- a/RELEASE-NOTES.txt +++ b/RELEASE-NOTES.txt @@ -5,6 +5,7 @@ ----- - [*] Order details: Display only physical items in the Shipping Labels section. [https://github.com/woocommerce/woocommerce-ios/pull/16127] - [internal] Address deprecated view modifiers usage following iOS17 API updates [https://github.com/woocommerce/woocommerce-ios/pull/16080] +- [internal] POS Modularization: Removed direct ServiceLocator usage within POS by requiring complex Woo app target dependencies to be injected via POS dependency protocols, and moved reusable dependencies to WooFoundation and Yosemite [https://github.com/woocommerce/woocommerce-ios/pull/16132] 23.2 ----- diff --git a/Scripts/Periphery/periphery_baseline.json b/Scripts/Periphery/periphery_baseline.json index 0bbd9bcabf3..9078a6caa65 100644 --- a/Scripts/Periphery/periphery_baseline.json +++ b/Scripts/Periphery/periphery_baseline.json @@ -1 +1 @@ -{"v1":{"usrs":["import-Codegen-Modules\/Sources\/Networking\/Model\/ShippingLabel\/Enums\/ShippingLabelStatusPollingResponse.swift:2:1","import-Codegen-Modules\/Sources\/Networking\/Model\/ShippingLabel\/Packages\/WooShippingDestinationAddressUpdate.swift:2:1","import-Codegen-Modules\/Sources\/Networking\/Model\/ShippingLabel\/Packages\/WooShippingOriginAddressUpdate.swift:2:1","import-Codegen-Modules\/Sources\/Networking\/Model\/ShippingLabel\/VerifyDestinationAddress\/WooShippingVerifyDestinationAddressSuccess.swift:2:1","import-Codegen-Modules\/Sources\/Networking\/Model\/ShippingLabel\/WooShippingAddressValidationError.swift:2:1","import-Codegen-Modules\/Sources\/Networking\/Model\/ShippingLabel\/WooShippingAddressValidationSuccess.swift:2:1","import-Codegen-Modules\/Sources\/Yosemite\/Model\/Orders\/StoredOrderSettings.swift:2:1","import-Experiments-WooCommerce\/Classes\/AppDelegate.swift:5:1","import-Experiments-WooCommerce\/Classes\/Authentication\/Epilogue\/SwitchStoreNoticePresenter.swift:2:1","import-Experiments-WooCommerce\/Classes\/Authentication\/Navigation Exceptions\/NotWPAccountViewModel.swift:5:1","import-Experiments-WooCommerce\/Classes\/Authentication\/Prologue\/LoginPrologueViewController.swift:3:1","import-Experiments-WooCommerce\/Classes\/Notifications\/PushNotificationsManager.swift:2:1","import-Experiments-WooCommerce\/Classes\/Tools\/Zendesk\/ZendeskManager.swift:10:1","import-Experiments-WooCommerce\/Classes\/ViewRelated\/Blaze\/BlazeCampaignList\/BlazeCampaignListViewModel.swift:3:1","import-Experiments-WooCommerce\/Classes\/ViewRelated\/Dashboard\/Onboarding\/StoreOnboardingViewModel.swift:5:1","import-Experiments-WooCommerce\/Classes\/ViewRelated\/Dashboard\/Settings\/CardReadersV2\/Tap to Pay Education\/TapToPayAwarenessMomentDeterminer.swift:3:1","import-Experiments-WooCommerce\/Classes\/ViewRelated\/Dashboard\/Settings\/In-Person Payments\/CardPresentPaymentsOnboardingUseCase.swift:5:1","import-Experiments-WooCommerce\/Classes\/ViewRelated\/Dashboard\/Settings\/In-Person Payments\/CardPresentPaymentsOnboardingViewModel.swift:4:1","import-Experiments-WooCommerce\/Classes\/ViewRelated\/Dashboard\/Settings\/In-Person Payments\/TapToPayBadgePromotionChecker.swift:3:1","import-Experiments-WooCommerce\/Classes\/ViewRelated\/Dashboard\/StoreStats\/StatsTimeRangeBarViewModel.swift:1:1","import-Experiments-WooCommerce\/Classes\/ViewRelated\/Orders\/Order Details\/Address Edit\/AddressFormViewModelProtocol.swift:3:1","import-Experiments-WooCommerce\/Classes\/ViewRelated\/Orders\/Order Details\/Address Edit\/EditOrderAddressForm.swift:5:1","import-Experiments-WooCommerce\/Classes\/ViewRelated\/Orders\/Simple Payments\/Summary\/SimplePaymentsSummaryViewModel.swift:4:1","import-Experiments-WooCommerce\/Classes\/ViewRelated\/Products\/Add Product\/AddProductWithAI\/Container\/AddProductWithAIContainerViewModel.swift:5:1","import-Experiments-WooCommerce\/Classes\/ViewRelated\/Products\/Add Product\/AddProductWithAI\/StartingInfo\/ProductCreationAIStartingInfoViewModel.swift:5:1","import-Experiments-WooCommerce\/Classes\/ViewRelated\/Products\/Edit Product\/ProductFormViewModel.swift:5:1","import-Experiments-WooCommerce\/Classes\/ViewRelated\/Products\/Scanner\/ProducBarcodeScannerCoordinator.swift:1:1","import-Experiments-WooCommerce\/Classes\/ViewRelated\/Upgrades\/StorePlanSynchronizer.swift:4:1","import-Experiments-WooCommerce\/Classes\/Yosemite\/DefaultStoresManager.swift:9:1","import-Hardware-Modules\/Sources\/Yosemite\/Model\/Payments\/StripeAccount+PaymentGatewayAccount.swift:1:1","import-Hardware-Modules\/Sources\/Yosemite\/Model\/Payments\/WCPayAccount+PaymentGatewayAccount.swift:1:1","import-Networking-Modules\/Sources\/Yosemite\/Actions\/AccountAction.swift:2:1","import-Networking-Modules\/Sources\/Yosemite\/Actions\/CommentAction.swift:2:1","import-Networking-Modules\/Sources\/Yosemite\/Actions\/GoogleAdsAction.swift:2:1","import-Networking-Modules\/Sources\/Yosemite\/Actions\/NotificationAction.swift:2:1","import-Networking-Modules\/Sources\/Yosemite\/Actions\/OrderAction.swift:3:1","import-Networking-Modules\/Sources\/Yosemite\/Actions\/OrderNoteAction.swift:2:1","import-Networking-Modules\/Sources\/Yosemite\/Actions\/OrderStatusAction.swift:2:1","import-Networking-Modules\/Sources\/Yosemite\/Actions\/ProductAttributeAction.swift:2:1","import-Networking-Modules\/Sources\/Yosemite\/Actions\/ProductAttributeTermAction.swift:2:1","import-Networking-Modules\/Sources\/Yosemite\/Actions\/ProductCategoryAction.swift:2:1","import-Networking-Modules\/Sources\/Yosemite\/Actions\/ProductReviewAction.swift:2:1","import-Networking-Modules\/Sources\/Yosemite\/Actions\/ProductShippingClassAction.swift:2:1","import-Networking-Modules\/Sources\/Yosemite\/Actions\/ProductTagAction.swift:2:1","import-Networking-Modules\/Sources\/Yosemite\/Actions\/ProductVariationAction.swift:2:1","import-Networking-Modules\/Sources\/Yosemite\/Actions\/RefundAction.swift:2:1","import-Networking-Modules\/Sources\/Yosemite\/Actions\/SettingAction.swift:2:1","import-Networking-Modules\/Sources\/Yosemite\/Actions\/ShipmentAction.swift:2:1","import-Networking-Modules\/Sources\/Yosemite\/Actions\/ShippingLabelAction.swift:2:1","import-Networking-Modules\/Sources\/Yosemite\/Actions\/StatsActionV4.swift:2:1","import-Networking-Modules\/Sources\/Yosemite\/Actions\/TaxAction.swift:2:1","import-Networking-Modules\/Sources\/Yosemite\/Actions\/TelemetryAction.swift:2:1","import-Networking-Modules\/Sources\/Yosemite\/Actions\/UserAction.swift:2:1","import-Networking-Modules\/Sources\/Yosemite\/Base\/DeauthenticatedStore.swift:2:1","import-Networking-Modules\/Sources\/Yosemite\/Model\/Mocks\/ActionHandlers\/MockCardPresentPaymentActionHandler.swift:3:1","import-Networking-Modules\/Sources\/Yosemite\/Model\/Mocks\/ActionHandlers\/MockCouponActionHandler.swift:3:1","import-Networking-Modules\/Sources\/Yosemite\/Model\/Mocks\/ActionHandlers\/MockOrderCardPresentPaymentEligibilityActionHandler.swift:3:1","import-Networking-Modules\/Sources\/Yosemite\/Model\/SystemInformation.swift:1:1","import-Networking-Modules\/Sources\/Yosemite\/Model\/WooPaymentsDepositsOverviewByCurrency.swift:3:1","import-Networking-Modules\/Sources\/Yosemite\/Tools\/Media\/MediaExport.swift:2:1","import-Networking-WooCommerce\/Classes\/ViewRelated\/Orders\/Order Creation\/PaymentSection\/Taxes\/SelectedStoredTaxRateFetcher.swift:3:1","import-Networking-WooCommerce\/Classes\/ViewRelated\/Search\/Order\/OrderSearchUICommand.swift:4:1","import-NetworkingCore-WooCommerce\/Woo Watch App\/App\/WooApp.swift:2:1","import-NetworkingCore-WooCommerce\/Woo Watch App\/ConnectView.swift:2:1","import-NetworkingCore-WooCommerce\/Woo Watch App\/MyStore\/MyStoreView.swift:2:1","import-NetworkingCore-WooCommerce\/Woo Watch App\/MyStore\/MyStoreViewModel.swift:3:1","import-NetworkingCore-WooCommerce\/Woo Watch App\/Orders\/OrderDetailLoader.swift:2:1","import-Storage-Modules\/Sources\/Yosemite\/Actions\/NotificationCountAction.swift:3:1","import-Storage-Modules\/Sources\/Yosemite\/Tools\/ReadOnlyConvertible.swift:2:1","import-Storage-Modules\/Sources\/Yosemite\/Tools\/ReadOnlyType.swift:2:1","import-Storage-WooCommerce\/Classes\/AppDelegate.swift:3:1","import-Storage-WooCommerce\/Classes\/ViewRelated\/Dashboard\/Settings\/In-Person Payments\/CardPresentPaymentsOnboardingIPPUsersRefresher.swift:3:1","import-Storage-WooCommerce\/Classes\/ViewRelated\/Orders\/Order Details\/Shipment Tracking Section\/Add Tracking\/ManualTrackingViewController.swift:4:1","import-WooFoundation-Modules\/Sources\/Networking\/Model\/ShippingLabel\/Packages\/PredefinedPackage\/WooShippingSavedPredefinedPackage.swift.swift:3:1","import-WooFoundation-Modules\/Sources\/Yosemite\/PointOfSale\/Items\/POSSimpleProduct.swift:2:1","import-WooFoundation-Modules\/Sources\/Yosemite\/Stores\/StatsStoreV4.swift:4:1","import-WooFoundation-WooCommerce\/Classes\/Analytics\/WooAnalyticsEvent+ProductCreationAI.swift:2:1","import-WooFoundation-WooCommerce\/Classes\/POS\/Presentation\/Reusable Views\/Buttons\/POSButtonProgressViewStyle.swift:2:1","import-WooFoundation-WooCommerce\/Classes\/POS\/Presentation\/Reusable Views\/POSProgressViewStyle.swift:2:1","import-WooFoundation-WooCommerce\/Classes\/POS\/Utils\/PreviewHelpers.swift:4:1","import-WooFoundation-WooCommerce\/Classes\/Tools\/In-Person Payments\/CardPresentConfigurationLoader.swift:3:1","import-WooFoundation-WooCommerce\/Classes\/ViewRelated\/Orders\/Order Details\/Receipts\/ReceiptEmail\/ReceiptEmailViewModel.swift:4:1","import-WooFoundation-WooCommerce\/Classes\/ViewRelated\/Orders\/Order Details\/Shipping Labels\/WooShipping Create Shipping Labels\/WooShipping Items Section\/WooShippingItemsDataSource.swift:4:1","import-WooFoundation-WooCommerce\/Classes\/ViewRelated\/Orders\/Order Details\/Shipping Labels\/WooShipping Create Shipping Labels\/WooShipping Split Shipments\/CollapsibleShipmentItemCardViewModel.swift:2:1","import-WooFoundation-WooCommerce\/Classes\/ViewRelated\/Orders\/Order Details\/Shipping Labels\/WooShipping Create Shipping Labels\/WooShipping Split Shipments\/SelectableShipmentItemRowViewModel.swift:2:1","import-WooFoundation-WooCommerce\/Classes\/ViewRelated\/Orders\/Order Details\/Subscriptions section\/OrderSubscriptionTableViewCell.swift:3:1","import-WooFoundation-WooCommerce\/Classes\/ViewRelated\/Orders\/Payment Methods\/Cash\/CashPaymentTenderView.swift:3:1","import-WooFoundation-WooCommerce\/Classes\/ViewRelated\/Products\/Add Product\/AddProductWithAI\/ImageSelection\/SelectPackageImageCoordinator.swift:4:1","import-WooFoundation-WooCommerce\/Classes\/ViewRelated\/Products\/Edit Product\/Subscription\/SubscriptionPeriod+UI.swift:3:1","import-WooFoundation-WooCommerce\/Classes\/ViewRelated\/Products\/ProductSelector\/ProductVariationSelectorViewModel.swift:5:1","import-WooFoundation-WooCommerce\/Classes\/ViewRelated\/Upgrades\/OwnerUpgradesView.swift:3:1","import-WooFoundationCore-WooCommerce\/Woo Watch App\/App\/Crash\/CrashLogging.swift:3:1","import-WooFoundationCore-WooCommerce\/Woo Watch App\/Dependencies\/PhoneDependenciesSynchronizer.swift:5:1","import-WooFoundationCore-WooCommerce\/Woo Watch App\/MyStore\/MyStoreViewModel.swift:4:1","import-WordPressShared-WooCommerce\/Classes\/Analytics\/TracksProvider.swift:4:1","import-WordPressShared-WooCommerce\/Classes\/Analytics\/WooAnalytics.swift:4:1","import-WordPressShared-WooCommerce\/Classes\/Analytics\/WooAnalyticsStat.swift:2:1","import-WordPressShared-WooCommerce\/Classes\/Authentication\/WebAuth\/WebProgressView.swift:3:1","import-WordPressShared-WooCommerce\/Classes\/Model\/StorageOrder+Woo.swift:2:1","import-WordPressShared-WooCommerce\/Classes\/ServiceLocator\/ServiceLocator.swift:8:1","import-WordPressShared-WooCommerce\/Classes\/ServiceLocator\/WordPressLibraryLogger.swift:2:1","import-WordPressShared-WooCommerce\/Classes\/ViewRelated\/Dashboard\/Settings\/About\/WooAboutScreenConfiguration.swift:4:1","import-WordPressShared-WooCommerce\/Classes\/ViewRelated\/Editor\/FormatBar\/Header+AztecFormatting.swift:4:1","import-WordPressShared-WooCommerce\/Classes\/ViewRelated\/Products\/Media\/WordPressMediaLibraryPickerDataSource.swift:3:1","import-WordPressShared-WooCommerce\/WordPressAuthenticator\/WordPressKit\/Services\/BlogServiceRemoteREST.m:6:1","import-WordPressShared-WooCommerce\/WordPressAuthenticator\/WordPressKit\/Services\/BlogServiceRemoteXMLRPC.m:5:1","import-WordPressShared-WooCommerce\/WordPressAuthenticator\/WordPressKit\/Services\/PostServiceRemoteREST.m:6:1","import-WordPressShared-WooCommerce\/WordPressAuthenticator\/WordPressKit\/Services\/PostServiceRemoteXMLRPC.m:7:1","import-WordPressShared-WooCommerce\/WordPressAuthenticator\/WordPressKit\/Services\/WordPressComServiceRemote.m:4:1","import-WordPressShared-WooCommerce\/WordPressAuthenticatorTests\/Logging\/LoggingTests.m:3:1","import-WordPressUI-WooCommerce\/Classes\/Authentication\/Navigation Exceptions\/NotWPErrorViewModel.swift:4:1","import-WordPressUI-WooCommerce\/Classes\/ViewModels\/Order Details\/OrderDetailsPaymentAlerts.swift:3:1","import-WordPressUI-WooCommerce\/Classes\/ViewRelated\/BottomSheet\/ListSelector\/BottomSheetListSelectorViewController.swift:2:1","import-WordPressUI-WooCommerce\/Classes\/ViewRelated\/Dashboard\/Settings\/CardReadersV2\/CardReaderSettingsAlerts.swift:3:1","import-WordPressUI-WooCommerce\/Classes\/ViewRelated\/Orders\/Collect Payments\/CollectOrderPaymentUseCase.swift:5:1","import-WordPressUI-WooCommerce\/Classes\/ViewRelated\/Products\/Categories\/ProductCategoryListViewController.swift:4:1","import-WordPressUI-WooCommerce\/Classes\/ViewRelated\/Products\/Edit Product\/Edit Tags\/ProductTagsViewController.swift:3:1","import-WordPressUI-WooCommerce\/Classes\/ViewRelated\/Products\/Edit Product\/Reviews\/ProductReviewsViewModel.swift:3:1","import-WordPressUI-WooCommerce\/Classes\/ViewRelated\/Products\/Variations\/Add Attributes\/AddAttributeViewController.swift:3:1","import-WordPressUI-WooCommerce\/Classes\/ViewRelated\/Products\/Variations\/Bulk Update\/BulkUpdateViewController.swift:3:1","import-WordPressUI-WooCommerce\/Classes\/ViewRelated\/Reviews\/ReviewsViewModel.swift:3:1","import-Yosemite-WooCommerce\/Classes\/Analytics\/AppStartupWaitingTimeTracker.swift:2:1","import-Yosemite-WooCommerce\/Classes\/Extensions\/UILabel+Helpers.swift:2:1","import-Yosemite-WooCommerce\/Classes\/GoogleAds\/GoogleAdsCampaignCoordinator.swift:3:1","import-Yosemite-WooCommerce\/Classes\/Universal Links\/Routes\/MyStoreRoute.swift:2:1","import-Yosemite-WooCommerce\/Classes\/Universal Links\/Routes\/OrderDetailsRoute.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewModels\/CardPresentPayments\/CardPresentModalBluetoothRequired.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewModels\/CardPresentPayments\/CardPresentModalConnectingFailedChargeReader.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewModels\/CardPresentPayments\/CardPresentModalConnectingFailedUpdatePostalCode.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewModels\/CardPresentPayments\/CardPresentModalConnectionFailedUpdateAddress.swift:3:1","import-Yosemite-WooCommerce\/Classes\/ViewModels\/CardPresentPayments\/CardPresentModalDisplayMessage.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewModels\/CardPresentPayments\/CardPresentModalScanningFailed.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Blaze\/ConfirmPayment\/BlazeAddPaymentMethodWebViewModel.swift:3:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/CardPresentPayments\/LegacyReceiptViewController.swift:4:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Dashboard\/JetpackConnectionPackageSites\/JetpackBenefitsView.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Dashboard\/Settings\/Beta features\/BetaFeaturesConfiguration.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Dashboard\/Settings\/CardReadersV2\/CardReaderConnectionAlertsProviding.swift:3:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Dashboard\/Settings\/CardReadersV2\/CardReaderSettingsAlertsProvider.swift:3:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Dashboard\/Settings\/CardReadersV2\/CardReaderSettingsDataSource.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Dashboard\/Settings\/CardReadersV2\/CardReaderSettingsSearchingViewController.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Dashboard\/Settings\/CardReadersV2\/SetUpTapToPayInformationViewController.swift:208:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Dashboard\/Settings\/CardReadersV2\/SetUpTapToPayOnboardingViewController.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Editor\/EditorFactory.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Editor\/FormatBar\/LinkSettings\/LinkSettingsViewController.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Orders\/Cells\/OrderTableViewCell.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Orders\/Order Creation\/CollapsibleOrderFormCard.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Orders\/Order Creation\/PaymentSection\/FeeOrDiscountLineDetailsViewModel.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Orders\/Order Creation\/PaymentSection\/GiftCardInputViewModel.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Orders\/Order Creation\/ProductsSection\/ConfigurableVariableBundleAttributePicker.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Orders\/Order Creation\/ProductsSection\/ProductDiscountView.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Orders\/Order Creation\/StatusSection\/OrderStatusSection.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Orders\/Order Details\/AddOns\/OrderAddOnsListViewController.swift:3:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Orders\/Order Details\/Issue Refunds\/Cells\/RefundProductsTotalViewModel.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Orders\/Order Details\/Issue Refunds\/UseCases\/RefundItemsValuesCalculationUseCase.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Orders\/Order Details\/Order Summary Section\/Edit Order Status\/OrderStatusListViewController.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Orders\/Order Details\/Order Summary Section\/SummaryTableViewCell.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Orders\/Order Details\/Payment Section\/Refunds\/RefundDetailsViewController.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Orders\/Order Details\/Product List Section\/Product Details\/PickListTableViewCell.swift:3:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Orders\/Order Details\/Product List Section\/ProductDetailsTableViewCell.swift:3:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Orders\/Order Details\/Receipts\/ReceiptEmail\/ReceiptEmailView.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Orders\/Order Details\/Shipping Labels\/Create Shipping Label Form\/Package Details\/Package Selection\/ShippingLabelPackageList.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Orders\/Order Details\/Shipping Labels\/WooShipping Create Shipping Labels\/WooShipping Customs\/WooShippingCustomsForm.swift:3:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Orders\/Order Details\/Shipping Labels\/WooShipping Create Shipping Labels\/WooShipping Customs\/WooShippingCustomsRequirements.swift:1:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Orders\/Order Details\/Shipping Labels\/WooShipping Create Shipping Labels\/WooShipping Customs\/WooShippingCustomsRow.swift:3:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Orders\/Order Details\/Shipping Labels\/WooShipping Create Shipping Labels\/WooShipping Split Shipments\/CollapsibleShipmentItemCard.swift:1:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Orders\/Order Details\/Shipping Labels\/WooShipping Create Shipping Labels\/WooShipping Split Shipments\/CollapsibleShipmentItemCardViewModel.swift:3:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Orders\/Order Details\/Shipping Labels\/WooShipping Create Shipping Labels\/WooShipping Split Shipments\/SelectableShipmentItemRow.swift:1:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Orders\/Order Details\/Shipping Labels\/WooShipping Create Shipping Labels\/WooShipping Split Shipments\/SelectableShipmentItemRowViewModel.swift:3:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Orders\/Order Details\/Shipping Labels\/WooShipping Create Shipping Labels\/WooShipping Split Shipments\/WooShippingSplitShipmentsRow.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Orders\/Order Details\/Subscriptions section\/OrderSubscriptionTableViewCell.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Products\/Add Product\/FirstProductCreated\/FirstProductCreatedViewModel.swift:3:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Products\/Categories\/ProductCategoryListViewController.swift:3:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Products\/Edit Product\/BottomSheetListSelector\/ProductFormBottomSheetAction.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Products\/Edit Product\/BottomSheetListSelector\/ProductFormBottomSheetListSelectorCommand.swift:1:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Products\/Edit Product\/BottomSheetListSelector\/ProductTypeBottomSheetListSelectorCommand.swift:1:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Products\/Edit Product\/Downloadable Files\/File List\/BottomSheetListSelector\/DownloadableFileBottomSheetListSelectorCommand.swift:1:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Products\/Edit Product\/Downloadable Files\/File List\/BottomSheetListSelector\/DownloadableFileSource.swift:3:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Products\/Edit Product\/Downloadable Files\/Settings\/ProductDownloadSettingsViewModel.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Products\/Edit Product\/Edit Categories\/Add Category\/AddEditProductCategoryViewController.swift:3:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Products\/Edit Product\/Edit Price\/Bulk Edit Price\/BulkUpdatePriceViewController.swift:3:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Products\/Edit Product\/Linked Products\/LinkedProductsViewController.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Products\/Edit Product\/Linked Products\/LinkedProductsViewModel.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Products\/PriceInputViewController.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Products\/PriceInputViewModel.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Products\/ProductsSplitViewWrapperController.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Products\/Variations\/Bulk Update\/BulkUpdateViewController.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Products\/Variations\/Edit Attributes\/RenameAttributesViewController.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Products\/Variations\/Edit Attributes\/RenameAttributesViewModel.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Products\/Variations\/GenerateVariationsOptionPresenter.swift:3:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Products\/Variations\/ProductsTabProductViewModel+ProductVariation.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/ReusableViews\/SwiftUI Components\/ReportList.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Top Banner\/ErrorTopBannerFactory.swift:2:1","param-altText-uploadMedia(siteID:productID:altText:uploadableMedia:shouldRemoveFileUponCompletion:onCompletion:)-s:8Yosemite10MediaStoreC06uploadB0028_1FA93E108A56F3D874C12216F14H3CFCLL6siteID07productN07altText010uploadableB030shouldRemoveFileUponCompletion02onW0ys5Int64V_AMSSSg10Networking010UploadableB0VSbys6ResultOyAO0B0Vs5Error_pGctF","param-animations-startForwardingContentEvents(to:with:)-s:8Yosemite17ResultsControllerC11WooCommerceE28startForwardingContentEvents33_B67F1DDE16B1959152AC062605FC5A2DLL2to4withySo11UITableViewC_AD0B15TableAnimationsVtF","param-asset-exportGIF(forAsset:resource:)-s:8Yosemite18MediaAssetExporterC9exportGIF33_E1F6E159F858728B8D57002A63F84F23LL03forC08resource10Networking010UploadableB0VSo7PHAssetC_So0T8ResourceCtYaKF","param-automaticPayouts-init(currency:automaticPayouts:payoutInterval:pendingBalanceAmount:pendingPayoutDays:lastPayout:availableBalance:)-s:8Yosemite36WooPaymentsPayoutsOverviewByCurrencyV8currency09automaticD014payoutInterval20pendingBalanceAmount0L10PayoutDays04lastO009availableM0AC0B14FoundationCore0G4CodeO_Sb10Networking0bcoK0OSo15NSDecimalNumberCSiAC04LastO0VSgARtcfc","param-bundledItems-init(id:name:formattedPrice:productImageSource:productID:price:productType:bundledItems:manageStock:stockQuantity:stockStatusKey:)-s:8Yosemite16POSSimpleProductV2id4name14formattedPrice18productImageSource0H2ID5price0H4Type12bundledItems11manageStock13stockQuantity0R9StatusKeyAC10Foundation4UUIDV_S3SSgs5Int64VSS10Networking0cM0OSayAU0C10BundleItemVGSbSo9NSDecimalaSgSStcfc","param-button-onButtonTap(_:)-s:11WooCommerce27LabelAndButtonTableViewCellC02onE3Tap33_280C26A87F4907429849B994A585D94BLLyySo8UIButtonCF","param-cellType-init(storeID:command:cellType:cellSeparator:selectedObject:isSelectedObject:)-s:11WooCommerce20SearchViewControllerC7storeID7command8cellType0I9Separator14selectedObject010isSelectedM0ACyxq_Gs5Int64V_q_xmSo07UITabled4CellK5StyleV7Combine12AnyPublisherVy5ModelQy_Sgs5NeverOGSgSb07ResultseW0Qy__ATtcSgtcfc","param-change-didPan(on:change:)-s:11WordPressUI28DrawerPresentationControllerC6didPan33_656B9AE5B5AF76FC12E635F91F5E2A97LL2on6changeySo12UIScrollViewC_10Foundation24NSKeyValueObservedChangeVySo7CGPointVGtF","param-collectionView-configure(collectionView:_:for:at:)-s:11WooCommerce37ProductImagesCollectionViewDataSourceC9configure33_02AB90FF1650250204DF0DAC4C3B1326LL010collectionF0_3for2atySo012UICollectionF0C_So0sF4CellCAA0cD4ItemO10Foundation9IndexPathVtF","param-comment-AppLocalizedString(_:tableName:value:comment:)-s:11WooCommerce18AppLocalizedString_9tableName5value7commentS2S_SSSgAFSStF-s:13Woo_Watch_App0C15LocalizedString_9tableName5value7commentS2S_SSSgAFSStF","param-context-startObservingChangeNotifications(in:)-s:8Yosemite14EntityListenerC33startObservingChangeNotifications33_54708F9C334A3EB98A7A6CA91CA9A074LL2inypSo22NSManagedObjectContextC_tF","param-currencySettings-init(siteID:currencySettings:settingStoreMethods:storage:)-s:8Yosemite24PointOfSaleCouponServiceC6siteID16currencySettings19settingStoreMethods7storageACs5Int64V_17WooFoundationCore08CurrencyJ0CAA07SettinglM8Protocol_p7Storage0V11ManagerType_ptcfc","param-currencySettings-init(siteID:flow:orderSynchronizer:analytics:storageManager:stores:currencySettings:)-s:11WooCommerce34EditableOrderShippingLineViewModelC6siteID4flow17orderSynchronizer9analytics14storageManager6stores16currencySettingsACs5Int64V_AA0cdgH0C4FlowOAA0dM0_p0A10Foundation9Analytics_p7Storage0xP4Type_p8Yosemite06StoresP0_p0aV4Core08CurrencyS0Ctcfc","param-currencySettings-productDetails(product:presentationStyle:currencySettings:isEditProductsEnabled:productImageUploader:onDeleteCompletion:)-s:11WooCommerce21ProductDetailsFactoryV07productD033_69797BA7E4652B41ADE47D1CA0E24D3DLL0F017presentationStyle16currencySettings21isEditProductsEnabled0F13ImageUploader18onDeleteCompletionSo16UIViewControllerC10Networking0C0V_AA0c16FormPresentationP0O0A14FoundationCore08CurrencyR0CSbAA0cwX8Protocol_pyyctFZ","param-currencySettings-productVariationDetails(productVariation:parentProduct:presentationStyle:currencySettings:isEditProductsEnabled:productImageUploader:)-s:11WooCommerce30ProductVariationDetailsFactoryV07productdE033_B52468A3AF98158A860FECFA326D4AB1LL0gD006parentC017presentationStyle16currencySettings21isEditProductsEnabled0G13ImageUploaderSo16UIViewControllerC10Networking0cD0V_AN0C0VAA0c16FormPresentationQ0O0A14FoundationCore08CurrencyS0CSbAA0cxY8Protocol_ptFZ","param-customsForms-displayCustomsFormListVC(customsForms:)-s:11WooCommerce31ShippingLabelFormViewControllerC014displayCustomsE6ListVC33_ECF67928DC457E518532C97349049B87LL12customsFormsySay10Networking0cdiE0VG_tF","param-date-setInstallationDateIfNecessary(date:onCompletion:)-s:8Yosemite28MockAppSettingsActionHandlerV30setInstallationDateIfNecessary4date12onCompletiony10Foundation0I0V_ys6ResultOySbs5Error_pGXEtF","param-daysOld-createProductReview(product:customer:daysOld:status:text:rating:verified:)-s:8Yosemite15MockObjectGraphPAAE19createProductReview7product8customer7daysOld6status4text6rating8verified10Networking0fG0VAL0F0V_AA0B8CustomerVSiAL0fG6StatusOSSSiSbtFZ","param-debounceDuration-init(siteURL:requiresConnectionOnly:allowAccountCreation:debounceDuration:accountService:analytics:onPasswordUIRequest:onMagicLinkRequest:onMagicLinkSent:onError:)-s:11WooCommerce24WPComEmailLoginViewModelC7siteURL22requiresConnectionOnly20allowAccountCreation16debounceDuration14accountService9analytics19onPasswordUIRequest0U16MagicLinkRequest0uxY4Sent0U5ErrorACSS_S2bSdAA012WordPressComnS8Protocol_p0A10Foundation9Analytics_pySScySScySS_SbtcySSctcfc","param-defaultStoreID-registerDevice(device:applicationId:applicationVersion:defaultStoreID:completion:)-s:10Networking13DevicesRemoteC14registerDevice6device13applicationId0G7Version14defaultStoreID10completionyAA10APNSDeviceV_S2Ss5Int64VyAA06DotcomE0VSg_s5Error_pSgtctF","param-endDate-timeRangeText(startDate:endDate:selectedDate:timezone:)-s:8Yosemite16StatsTimeRangeV4O11WooCommerceE04timeD4Text33_19FD9AA1037FF332CFC8923FEEBF6F43LL9startDate03endQ008selectedQ08timezoneSS10Foundation0Q0V_A2mK0C4ZoneVtF","param-error-displayNotice(with:)-s:11WooCommerce32RefundConfirmationViewControllerC13displayNotice33_AB87E696E297B2CCCC43B6166AEAB8CCLL4withys5Error_p_tF","param-error-handleBarcodeDetectionResults(request:error:completion:)-s:11WooCommerce25CodeScannerViewControllerC29handleBarcodeDetectionResults33_DD70120A858296E44B03E16CF9993540LL7request5error10completionySo9VNRequestC_s5Error_pSgys6ResultOySayAA07ScannedH0VGsAK_pGctF","param-error-handlePreflightFailure(error:)-s:11WooCommerce37CardPresentPaymentPreflightControllerC06handleF7Failure33_888C7FBF1BC3DCE6A9CC3389C08B998ALL5errorys5Error_p_tF","param-error-handleTextDetectionResults(request:error:completion:)-s:11WooCommerce25CodeScannerViewControllerC26handleTextDetectionResults33_DD70120A858296E44B03E16CF9993540LL7request5error10completionySo9VNRequestC_s5Error_pSgys6ResultOySaySSGsAK_pGctF","param-error-onCameraCaptureCompletion(asset:error:)-s:11WooCommerce28BlazeEditAdHostingControllerC25onCameraCaptureCompletion33_473977D43FFDC0DB451F8498539D8F13LL5asset5errorAA16MediaPickerImageVSgSo7PHAssetCSg_s5Error_pSgtYaF","param-error-presentNotice(_:)-s:11WooCommerce31ShipmentProvidersViewControllerC13presentNotice33_1D3135596F92F37301E2B100299E0343LLyys5Error_pF","param-error-updateProductImageStatus(at:error:)-s:11WooCommerce18ProductImagesSaverC06updateC11ImageStatus33_EC18549AA9B079EE69E12258568EF2EDLL2at5errorySi_s5Error_pSgtF","param-events-init(sender:events:closure:)-s:11WordPressUI25BarButtonItemEventHandler33_8BC01A9E94FC62E78E47F267D2380927LLC6sender6events7closureADyxGx_So15UIControlEventsVyxctcfc","param-feature-isFeatureEnabled(_:)-s:11WooCommerce31ProductFormAIEligibilityCheckerC16isFeatureEnabledySbAA0cD9AIFeatureOF","param-featureFlagService-init(viewController:containerView:siteID:onLayoutUpdated:featureFlagService:stores:storePlanSynchronizer:connectivityObserver:inAppPurchasesManager:)-s:11WooCommerce24StorePlanBannerPresenterC14viewController13containerView6siteID15onLayoutUpdated18featureFlagService6stores05storeD12Synchronizer20connectivityObserver21inAppPurchasesManagerACSo06UIViewH0C_So6UIViewCs5Int64Vy14CoreFoundation7CGFloatVc11Experiments07FeatureqR0_p8Yosemite13StoresManager_pAA0cD13Synchronizing_pAA012ConnectivityW0_pAA02InyZ21ForWPComPlansProtocol_ptcfc","param-featureFlags-init(coupon:stores:currencySettings:featureFlags:onUpdate:onDeletion:)-s:11WooCommerce22CouponDetailsViewModelC6coupon6stores16currencySettings12featureFlags8onUpdate0M8DeletionAC10Networking0C0V_8Yosemite13StoresManager_p0A14FoundationCore08CurrencyJ0C11Experiments18FeatureFlagService_pyycyyctcfc","param-featureFlags-init(siteID:syncingCoordinator:storesManager:storageManager:featureFlags:)-s:11WooCommerce19CouponListViewModelC6siteID18syncingCoordinator13storesManager07storageL012featureFlagsACs5Int64V_AA07SyncingJ8Protocol_p8Yosemite06StoresL0_p7Storage0uL4Type_p11Experiments18FeatureFlagService_ptcfc","param-filter-synchronizeProductReviews(filter:)-s:11WooCommerce29ReviewsDashboardCardViewModelC018synchronizeProductC033_1387F0BD9B70C84619BF36F4DA81452ELL6filterSay10Networking0I6ReviewVGAC0C6FilterOSg_tYaKF","param-forceRefresh-loadTopEarnerStats(siteID:timeRange:timeZone:earliestDateToInclude:latestDateToInclude:quantity:forceRefresh:)-s:8Yosemite12StatsStoreV4C013loadTopEarnerB033_B88F7F6EF90D88405A6DDDC84E0EE525LL6siteID9timeRange0S4Zone21earliestDateToInclude06latestwxY08quantity12forceRefresh10Networking0fgB0Vs5Int64V_AA0b4TimetD0O10Foundation04TimeU0VAT0W0VAXSiSbtYaKF","param-forceRefresh-retrieveTopBundlesSoldStats(earliestDateToInclude:latestDateToInclude:forceRefresh:)-s:11WooCommerce21AnalyticsHubViewModelC27retrieveTopBundlesSoldStats33_A7D0CDE72EC097ED0463DB9A2816F3A5LL21earliestDateToInclude06latestvwX012forceRefreshSay10Networking18ProductsReportItemVG10Foundation0V0V_AOSbtYaKF","param-formatter-init(order:packagesResponse:selectedPackages:onSelectionCompletion:onPackageSyncCompletion:formatter:stores:storageManager:weightUnit:)-s:11WooCommerce34ShippingLabelPackagesFormViewModelC5order16packagesResponse08selectedE021onSelectionCompletion0m11PackageSyncO09formatter6stores14storageManager10weightUnitAC14NetworkingCore5OrderV_0X00cdeK0VSgSayAA0cdP10AttributesVGyAVcyASc0a10FoundationY017CurrencyFormatterC8Yosemite06StoresU0_p7Storage07StorageU4Type_pSSSgtcfc","param-from-updatingFailed(from:tryAgain:close:)-s:11WooCommerce24CardReaderSettingsAlertsC14updatingFailed33_3D4FC0D8856D146DD34DB8919093B383LL4from8tryAgain5closeAA0C36PresentPaymentsModalViewModelContent_AA0ctuvwX12UIKitActionspSo16UIViewControllerC_yycSgyyctF","param-from-updatingFailedLowBattery(from:batteryLevel:retrySearch:close:)-s:11WooCommerce24CardReaderSettingsAlertsC24updatingFailedLowBattery33_3D4FC0D8856D146DD34DB8919093B383LL4from12batteryLevel11retrySearch5closeAA0C36PresentPaymentsModalViewModelContent_AA0cxyZ21ViewModelUIKitActionspSo16UIViewControllerC_SdSgyycyyctF","param-gatewayID-createPaymentGatewayAccount(gatewayID:status:hasPendingRequirements:hasOverdueRequirements:currentDeadline:statementDescriptor:defaultCurrency:supportedCurrencies:country:isCardPresentEligible:isLive:isInTestMode:)-s:8Yosemite15MockObjectGraphPAAE27createPaymentGatewayAccount9gatewayID6status22hasPendingRequirements0l7OverdueN015currentDeadline19statementDescriptor15defaultCurrency19supportedCurrencies7country21isCardPresentEligible0Y4Live0Y10InTestMode10Networking0fgH0VSS_AQ05WCPayH10StatusEnumOS2b10Foundation4DateVSgS2SSaySSGSSS3btFZ","param-gesture-dismiss(_:)-s:11WordPressUI28DrawerPresentationControllerC7dismiss33_656B9AE5B5AF76FC12E635F91F5E2A97LLyySo22UIPanGestureRecognizerCF","param-id-createPurchasableItem(id:from:)-s:11WooCommerce4CartV21createPurchasableItem33_F1541DFADE490B35E71C665AC10DE105LL2id4fromAC0eF0VSg10Foundation4UUIDV_8Yosemite7POSItemOtF","param-index-handleSelectedChartValue(at:)-s:11WooCommerce25StorePerformanceViewModelC24handleSelectedChartValue33_2B5DA0F3BADF3060315151FBB2CB9095LL2atySiSg_tF","param-indexPath-configure(_:at:)-s:11WooCommerce24PriceInputViewControllerC9configure33_7158D1FFA073787E2F32B6BA332CE3EALL_2atySo07UITableE4CellC_10Foundation9IndexPathVtF","param-indexPath-configure(_:at:)-s:11WooCommerce29BulkUpdatePriceViewControllerC9configure026_5D10A36721FEA7B1C0CFEE3D2O5C5959LL_2atySo07UITableF4CellC_10Foundation9IndexPathVtF","param-indexPath-configure(_:for:at:)-s:11WooCommerce24BulkUpdateViewControllerC9configure33_CEFE4F43BBC4A91F3381FD709B3986D8LL_3for2atySo07UITableE4CellC_AC3RowO10Foundation9IndexPathVtF","param-indexPath-configure(_:for:at:)-s:11WooCommerce25ProductSlugViewControllerC9configure33_E9EEB830C2DC65EDF85E2ABBC1281535LL_3for2atySo07UITableE4CellC_AC3RowAELLO10Foundation9IndexPathVtF","param-indexPath-configure(_:for:at:)-s:11WooCommerce26LinkSettingsViewControllerC9configure33_538830D35B9309E5187F94F56440EECFLL_3for2atySo07UITableE4CellC_AC3RowAELLO10Foundation9IndexPathVtF","param-indexPath-configure(_:for:at:)-s:11WooCommerce28HelpAndSupportViewControllerC9configure33_FB27841256F66937FB6060C9A1DC2C56LL_3for2atySo07UITableF4CellC_AA0cdE3RowO10Foundation9IndexPathVtF","param-indexPath-configure(_:for:at:)-s:11WooCommerce28LinkedProductsViewControllerC9configure33_7AF155FBB71DF7DE153BB6561ECA6E04LL_3for2atySo07UITableE4CellC_AC3RowO10Foundation9IndexPathVtF","param-indexPath-configure(_:for:at:)-s:11WooCommerce28ManualTrackingViewControllerC9configure33_8D02DCF1AF17D12681D42985174C5B05LL_3for2atySo07UITableE4CellC_AA07AddEditD3RowO10Foundation9IndexPathVtF","param-indexPath-configure(_:for:at:)-s:11WooCommerce29DateRangeFilterViewControllerC9configure33_C969362F2A97F1B7CCA30E75A0C73629LL_3for2atySo07UITableF4CellC_AC3RowAELLO10Foundation9IndexPathVtF","param-indexPath-configure(_:for:at:)-s:11WooCommerce29PrivacySettingsViewControllerC9configure33_FDF446E3D9460D206396ED7065007803LL_3for2atySo07UITableE4CellC_AA3RowAELLO10Foundation9IndexPathVtF","param-indexPath-configure(_:for:at:)-s:11WooCommerce30OrderDatesFilterViewControllerC9configure33_2B163FB7BE87AF9DB0CFBB1A897AB40BLL_3for2atySo07UITableF4CellC_8Yosemite0c9DateRangeE0V10Foundation9IndexPathVtF","param-indexPath-configure(_:for:at:)-s:11WooCommerce30ProductMenuOrderViewControllerC9configure33_9FD83E7B0A44D83DC3905CE7B97CD2FDLL_3for2atySo07UITableF4CellC_AC3RowAELLO10Foundation9IndexPathVtF","param-indexPath-configure(_:for:at:)-s:11WooCommerce30RenameAttributesViewControllerC9configure33_1B11D9141E14A9ADFA7866C0ED7360A3LL_3for2atySo07UITableE4CellC_AC3RowAELLO10Foundation9IndexPathVtF","param-indexPath-configure(_:for:at:)-s:11WooCommerce31OrderStatusFilterViewControllerC9configure33_64181EBDEB9BE07130A0E8D5BF93101FLL_3for2atySo07UITableF4CellC_AC3RowAELLO10Foundation9IndexPathVtF","param-indexPath-configure(_:for:at:)-s:11WooCommerce31ShippingLabelFormViewControllerC9configure33_ECF67928DC457E518532C97349049B87LL_3for2atySo07UITableF4CellC_AC3RowV10Foundation9IndexPathVtF","param-indexPath-configure(_:for:at:)-s:11WooCommerce33ProductDownloadFileViewControllerC9configure33_A31C452EC7850B8C92ADC04838426F82LL_3for2atySo07UITableF4CellC_AC3RowO10Foundation9IndexPathVtF","param-indexPath-configure(_:for:at:)-s:11WooCommerce33ProductExternalLinkViewControllerC9configure33_B3261E578C8DE22B0406D9F518F567F2LL_3for2atySo07UITableF4CellC_AC3RowAELLO10Foundation9IndexPathVtF","param-indexPath-configure(_:for:at:)-s:11WooCommerce33ProductPurchaseNoteViewControllerC9configure33_E24E63166C7F0F67B0391C86168AC02CLL_3for2atySo07UITableF4CellC_AC3RowAELLO10Foundation9IndexPathVtF","param-indexPath-configure(_:for:at:)-s:11WooCommerce33SeveralReadersFoundViewControllerC9configure33_D712A2AD3A1E71D1939C49B33BD46D0DLL_3for2atySo07UITableF4CellC_AA3RowAELLO10Foundation9IndexPathVtF","param-indexPath-configure(_:for:at:)-s:11WooCommerce34ProductPriceSettingsViewControllerC9configure33_7D171824E5D5A9D060478F9700E54F7BLL_3for2atySo07UITableF4CellC_AC3RowO10Foundation9IndexPathVtF","param-indexPath-configure(_:for:at:)-s:11WooCommerce36AddEditProductCategoryViewControllerC9configure33_E316289220CBB023DD3D8814FA48F704LL_3for2atySo07UITableG4CellC_AC3RowAELLO10Foundation9IndexPathVtF","param-indexPath-configure(_:for:at:)-s:11WooCommerce37ProductDownloadSettingsViewControllerC9configure33_4643B5329648BD7622E246A9836F38A3LL_3for2atySo07UITableF4CellC_AC3RowO10Foundation9IndexPathVtF","param-indexPath-configure(_:for:at:)-s:11WooCommerce37ProductShippingSettingsViewControllerC9configure33_9D35C5D15CA8624796D30DE24AC54907LL_3for2atySo07UITableF4CellC_AC3RowO10Foundation9IndexPathVtF","param-indexPath-configure(_:for:at:)-s:11WooCommerce38ProductInventorySettingsViewControllerC9configure33_963EC44C7B710FF18CA47822A3972F23LL_3for2atySo07UITableF4CellC_AC3RowO10Foundation9IndexPathVtF","param-indexPath-configure(_:for:at:)-s:11WooCommerce38ShippingLabelAddressFormViewControllerC9configure33_A493AAB1F74022D7790D20E9A85E182BLL_3for2atySo07UITableG4CellC_AC3RowO10Foundation9IndexPathVtF","param-indexPath-configure(_:for:at:)-s:11WooCommerce41CardReaderSettingsConnectedViewControllerC9configure33_B5F638207B2DB02507DC604E4CB31BE6LL_3for2atySo07UITableG4CellC_AA3RowAELLO10Foundation9IndexPathVtF","param-indexPath-configure(_:for:at:)-s:11WooCommerce43ShippingLabelSuggestedAddressViewControllerC9configure33_6B377CC7204358DE99C0A98E116CEE29LL_3for2atySo07UITableG4CellC_AC3RowO10Foundation9IndexPathVtF","param-indexPath-configureAttributionCampaign(cell:at:)-s:11WooCommerce22OrderDetailsDataSourceC28configureAttributionCampaign33_1C4484147E2B3D95ED75188E1F29F27DLL4cell2atyAA26TitleAndValueTableViewCellC_10Foundation9IndexPathVtF","param-indexPath-configureAttributionDeviceType(cell:at:)-s:11WooCommerce22OrderDetailsDataSourceC30configureAttributionDeviceType33_1C4484147E2B3D95ED75188E1F29F27DLL4cell2atyAA26TitleAndValueTableViewCellC_10Foundation9IndexPathVtF","param-indexPath-configureAttributionMedium(cell:at:)-s:11WooCommerce22OrderDetailsDataSourceC26configureAttributionMedium33_1C4484147E2B3D95ED75188E1F29F27DLL4cell2atyAA26TitleAndValueTableViewCellC_10Foundation9IndexPathVtF","param-indexPath-configureAttributionOrigin(cell:at:)-s:11WooCommerce22OrderDetailsDataSourceC26configureAttributionOrigin33_1C4484147E2B3D95ED75188E1F29F27DLL4cell2atyAA26TitleAndValueTableViewCellC_10Foundation9IndexPathVtF","param-indexPath-configureAttributionSessionPageViews(cell:at:)-s:11WooCommerce22OrderDetailsDataSourceC36configureAttributionSessionPageViews33_1C4484147E2B3D95ED75188E1F29F27DLL4cell2atyAA26TitleAndValueTableViewCellC_10Foundation9IndexPathVtF","param-indexPath-configureAttributionSource(cell:at:)-s:11WooCommerce22OrderDetailsDataSourceC020configureAttributionF033_1C4484147E2B3D95ED75188E1F29F27DLL4cell2atyAA26TitleAndValueTableViewCellC_10Foundation9IndexPathVtF","param-indexPath-configureAttributionSourceType(cell:at:)-s:11WooCommerce22OrderDetailsDataSourceC020configureAttributionF4Type33_1C4484147E2B3D95ED75188E1F29F27DLL4cell2atyAA26TitleAndValueTableViewCellC_10Foundation9IndexPathVtF","param-indexPath-configureCreateShippingLabelButton(cell:at:)-s:11WooCommerce22OrderDetailsDataSourceC34configureCreateShippingLabelButton33_1C4484147E2B3D95ED75188E1F29F27DLL4cell2atyAA0K13TableViewCellC_10Foundation9IndexPathVtF","param-indexPath-configureProductsRefund(_:at:)-s:11WooCommerce23RefundDetailsDataSourceC017configureProductsC033_72A5AD552A42813047B20449413994E1LL_2atyAA19LedgerTableViewCellC_10Foundation9IndexPathVtF","param-indexPath-configureRefundAmount(_:at:)-s:11WooCommerce23RefundDetailsDataSourceC09configureC6Amount33_72A5AD552A42813047B20449413994E1LL_2atyAA38TwoColumnHeadlineFootnoteTableViewCellC_10Foundation9IndexPathVtF","param-indexPath-configureTrashOrder(cell:at:)-s:11WooCommerce22OrderDetailsDataSourceC014configureTrashC033_1C4484147E2B3D95ED75188E1F29F27DLL4cell2atyAA0A18BasicTableViewCellC_10Foundation9IndexPathVtF","param-indexPath-setup(cell:for:at:)-s:11WooCommerce32BillingInformationViewControllerC5setup33_97007C8ACF83414046C93061D9B092ACLL4cell3for2atySo07UITableE4CellC_AA3RowAELLO10Foundation9IndexPathVtF","param-inputMethods-init(name:amount:transactionType:inputMethods:)-s:11WooCommerce48CardPresentModalTapToPayFollowReaderInstructionsC4name6amount15transactionType12inputMethodsACSS_SSAA0cd11TransactionO0O8Hardware0cJ5InputVtcfc","param-isEnabled-iconStyle(_:)-s:7SwiftUI4ViewP13WooFoundationE9iconStyleyQrSbF","param-isReadOnlyValue-init(viewModel:isReadOnlyValue:)-s:11WooCommerce21CustomFieldEditorViewV9viewModel15isReadOnlyValueAcA0cdefH0C_Sbtcfc","param-isValid-handleGlobalUniqueIdentifierValidation(isValid:shouldBringUpKeyboard:)-s:11WooCommerce38ProductInventorySettingsViewControllerC38handleGlobalUniqueIdentifierValidation33_963EC44C7B710FF18CA47822A3972F23LL7isValid21shouldBringUpKeyboardySb_SbtF","param-isValid-handleSKUValidation(isValid:shouldBringUpKeyboard:)-s:11WooCommerce38ProductInventorySettingsViewControllerC19handleSKUValidation33_963EC44C7B710FF18CA47822A3972F23LL7isValid21shouldBringUpKeyboardySb_SbtF","param-items-listView(_:itemListType:)-s:11WooCommerce12ItemListViewV04listE033_598BABBDFA0A2F354CBF3BC624FFDFE3LL_04itemD4TypeQrSay8Yosemite7POSItemOG_AA0cdN0OtF","param-labelID-handleLabelRefundRequested(labelID:in:)-s:11WooCommerce0A29ShippingCreateLabelsViewModelC26handleLabelRefundRequested33_FCFF992D401D26D98A9A0BDEE9910FCCLL7labelID2inys5Int64V_AA0ac14SplitShipmentsfG0C8ShipmentVtF","param-lineColor-configureChartData(for:data:lineColor:)-s:11WooCommerce18AnalyticsLineChartV09configureE4Data3for4data9lineColory8DGCharts0dE4ViewC_SaySdGSo7UIColorCtF","param-locale-init(scenario:stores:timeZone:locale:userInfo:)-s:11WooCommerce17LocalNotificationV8scenario6stores8timeZone6locale8userInfoA2C8ScenarioO_8Yosemite13StoresManager_p10Foundation04TimeH0VAM6LocaleVSDys11AnyHashableVypGtcfc","param-locale-toString(dateStyle:timeStyle:timeZone:locale:)-s:10Foundation4DateV11WooCommerceE8toString9dateStyle04timeH00I4Zone6localeSSSo015NSDateFormatterH0V_AkA04TimeJ0VAA6LocaleVtF-s:10Foundation4DateV13Woo_Watch_AppE8toString9dateStyle04timeI00J4Zone6localeSSSo015NSDateFormatterI0V_AkA04TimeK0VAA6LocaleVtF","param-lossyList-failsafeDecodeIfPresent(lossyList:forKey:)-s:s22KeyedDecodingContainerV14NetworkingCoreE23failsafeDecodeIfPresent9lossyList6forKeySayqd__GAGm_xtSeRd__lF","param-navigationController-jetpackSetupUI(for:connectionMissingOnly:in:)-s:11WooCommerce21AuthenticationManagerC14jetpackSetupUI33_4A9503ECCEE967DB8B1A9A532F0B8C78LL3for21connectionMissingOnly2inSo16UIViewControllerCSS_SbSo012UINavigationW0CtF","param-note-trackApplicationPasswordsNewPasswordCreated(note:)-s:11WooCommerce36TrackEventRequestNotificationHandlerC43trackApplicationPasswordsNewPasswordCreated33_E4818665C94798DDA37EFEC7C76E2C9FLL4notey10Foundation0F0V_tF","param-note-tunnelTimeoutWasReceived(note:)-s:11WooCommerce18AuthenticatedStateC24tunnelTimeoutWasReceived33_E1BB93928BB5674BE987DB86AC353FB1LL4notey10Foundation12NotificationV_tF","param-notification-handleKeyboardDidDisconnect(_:)-s:11WooCommerce29GameControllerBarcodeObserverC27handleKeyboardDidDisconnect33_EE040493B348D9ACEE809404EEE507BELLyy10Foundation12NotificationVF","param-notification-keyboardWillHide(_:)-s:11WooCommerce21KeyboardFrameObserverC16keyboardWillHide33_2F4F3B1B2083C0CCA0C088C17BFE523ALLyy10Foundation12NotificationVF","param-notification-updateCrashLoggingSystem(_:)-s:11WooCommerce26WCCrashLoggingDataProviderC011updateCrashD6Systemyy10Foundation12NotificationVF","param-onCompletion-reset(siteId:type:onCompletion:)-s:8Yosemite34MockNotificationCountActionHandlerV5reset6siteId4type12onCompletionys5Int64V_14NetworkingCore4NoteV4KindOyyXEtF","param-onboardingPresenter-collectPaymentTask(for:using:siteID:preflightController:onboardingPresenter:configuration:alertsPresenter:paymentEventSubject:channel:)-s:11WooCommerce030CardPresentPaymentCollectOrderE14UseCaseAdaptorC07collectE4Task3for5using6siteID19preflightController19onboardingPresenter13configuration06alertsT019paymentEventSubject7channelScTyAA0cde7AdaptedfgE6ResultOs5Error_pG14NetworkingCore0G0V_AA0C22ReaderConnectionMethodOs5Int64VAA0cde9PreflightR0CyAA0cdE38TapToPayReaderConnectionAlertsProviderVAA0cdE39BluetoothReaderConnectionAlertsProviderVAA0cd13PaymentsAlerttJ0CGAA0cD28PaymentsOnboardingPresenting_p8Yosemite0cD21PaymentsConfigurationVA4_7Combine0Y0_ps5NeverO7FailureA10_9PublisherPRts_AA0cdeX0O6OutputA16_RtsXP8Hardware0E7ChannelOtF","param-order-displayOrderTrashUndoNotice(order:onUndoAction:)-s:11WooCommerce26OrderDetailsViewControllerC07displayC15TrashUndoNotice33_79A0B235915FDFC989919DDCECCCF01ALL5order02onI6Actiony14NetworkingCore0C0V_yyctFZ","param-orderID-addCustomStoredShipment(siteID:orderID:trackingProvider:trackingURL:readOnlyTracking:onCompletion:)-s:8Yosemite13ShipmentStoreC015addCustomStoredB06siteID05orderH016trackingProvider0J3URL16readOnlyTracking12onCompletionys5Int64V_ALS2S10Networking0bO0VyyctF","param-orderID-addStoredShipment(siteID:orderID:readOnlyTracking:onCompletion:)-s:8Yosemite13ShipmentStoreC09addStoredB06siteID05orderG016readOnlyTracking12onCompletionys5Int64V_AJ10Networking0bK0VyyctF","param-orderID-deleteStaleRefunds(siteID:orderID:staleRefundIDs:storedRefunds:in:)-s:8Yosemite11RefundStoreC18deleteStaleRefunds33_9DB95559DACFA25A1B75F2FF500400F4LL6siteID05orderO005staleB3IDs06storedF02inys5Int64V_ALSayALGSay7Storage0B0CGAN0V4Type_ptF","param-orderID-upsertStoredRefunds(siteID:orderID:storedRefunds:readOnlyRefunds:in:)-s:8Yosemite11RefundStoreC19upsertStoredRefunds33_9DB95559DACFA25A1B75F2FF500400F4LL6siteID05orderO006storedF008readOnlyF02inys5Int64V_ALSay7Storage0B0CGSay10NetworkingANVGAM0V4Type_ptF","param-orderID-upsertTrackingProviderDataInBackground(siteID:orderID:readOnlyShipmentTrackingProviderGroups:onCompletion:)-s:8Yosemite13ShipmentStoreC38upsertTrackingProviderDataInBackground6siteID05orderK008readOnlybeF6Groups12onCompletionys5Int64V_AJSay10Networking0beF5GroupVGyyctF","param-pageNumber-synchronizeRefunds(siteID:orderID:pageNumber:pageSize:onCompletion:)-s:8Yosemite11RefundStoreC18synchronizeRefunds33_9DB95559DACFA25A1B75F2FF500400F4LL6siteID05orderN010pageNumber0P4Size12onCompletionys5Int64V_ALS2iys5Error_pSgctF","param-pageNumber-totalCompletedOrderCount(pageNumber:)-s:11WooCommerce18OrderListViewModelC014totalCompletedC5Count10pageNumberSiSgSi_tF","param-pageSize-synchronizeRefunds(siteID:orderID:pageNumber:pageSize:onCompletion:)-s:8Yosemite11RefundStoreC18synchronizeRefunds33_9DB95559DACFA25A1B75F2FF500400F4LL6siteID05orderN010pageNumber0P4Size12onCompletionys5Int64V_ALS2iys5Error_pSgctF","param-parent-loadInitialChildItems(for:)-s:11WooCommerce33PointOfSalePreviewItemsControllerC016loadInitialChildG033_3E97115114816F7BD3714969ED689A7CLL3fory8Yosemite7POSItemO_tYaF","param-paymentGatewayAccount-refund(amount:charge:paymentGatewayAccount:onWaitingForInput:onProcessingMessage:onDisplayMessage:onCompletion:)-s:11WooCommerce29CardPresentRefundOrchestratorC6refund6amount6charge21paymentGatewayAccount17onWaitingForInput0M17ProcessingMessage0m7DisplayR00M10CompletionySo9NSDecimala_10Networking11WCPayChargeVAN07PaymentkL0Vy8Hardware0c6ReaderP0VcyycySScys6ResultOyyts5Error_pGctF","param-preselectedData-saveTrackingProvider(siteID:providerName:providerURL:preselectedData:toFileURL:onCompletion:)-s:8Yosemite16AppSettingsStoreC20saveTrackingProvider33_D430D2281D200281355C40B5E0B00BBBLL6siteID12providerName0R3URL15preselectedData06toFileT012onCompletionys5Int64V_S2SSgSay7Storage011PreselectedG0VG10Foundation0T0Vys5Error_pSgXEtF","param-previousTimeRange-retrieveItemsSoldStats(currentTimeRange:previousTimeRange:)-s:11WooCommerce21AnalyticsHubViewModelC22retrieveItemsSoldStats33_A7D0CDE72EC097ED0463DB9A2816F3A5LL16currentTimeRange08previousuV0yAA0cduV0V_AItYaF","param-product-addOnsRow(product:)-s:11WooCommerce32DefaultProductFormTableViewModelV9addOnsRow33_0B335C919646781BE71A89ED001DCF69LL7productAA0dE7SectionO08SettingsK0O0gH0V10Networking0D0V_tF","param-productSubscriptionDetails-init(id:product:discount:quantity:productSubscriptionDetails:selectedState:pricedIndividually:currencyFormatter:analytics:featureFlagService:configure:)-s:11WooCommerce19ProductRowViewModelC2id7product8discount8quantity0H19SubscriptionDetails13selectedState18pricedIndividually17currencyFormatter9analytics18featureFlagService9configureACs5Int64VSg_10Networking0C0VSo9NSDecimalaSgAvR0cK0VSgAA0cD0V08SelectedN0OSb0A14FoundationCore08CurrencyR0C0A10Foundation9Analytics_p11Experiments07FeatureuV0_pyycSgtcfc","param-productSubscriptionDetails-init(id:productVariation:discount:name:quantity:productSubscriptionDetails:displayMode:selectedState:pricedIndividually:currencyFormatter:analytics:)-s:11WooCommerce19ProductRowViewModelC2id16productVariation8discount4name8quantity0H19SubscriptionDetails11displayMode13selectedState18pricedIndividually17currencyFormatter9analyticsACs5Int64VSg_10Networking0cI0VSo9NSDecimalaSgSSAvR0cM0VSgAC0i7DisplayP0OAA0cD0V08SelectedR0OSb0A14FoundationCore08CurrencyV0C0A10Foundation9Analytics_ptcfc","param-productType-init(id:name:formattedPrice:productImageSource:productID:price:productType:bundledItems:manageStock:stockQuantity:stockStatusKey:)-s:8Yosemite16POSSimpleProductV2id4name14formattedPrice18productImageSource0H2ID5price0H4Type12bundledItems11manageStock13stockQuantity0R9StatusKeyAC10Foundation4UUIDV_S3SSgs5Int64VSS10Networking0cM0OSayAU0C10BundleItemVGSbSo9NSDecimalaSgSStcfc","param-providerGroupName-addTracking(siteID:orderID:providerGroupName:providerName:trackingNumber:dateShipped:onCompletion:)-s:8Yosemite13ShipmentStoreC11addTracking6siteID05orderG017providerGroupName0iK014trackingNumber11dateShipped12onCompletionys5Int64V_AMS4Sys5Error_pSgctF","param-pushNotesManager-init(stores:pushNotesManager:inAppPurchaseManager:)-s:11WooCommerce21StorePlanSynchronizerC6stores16pushNotesManager013inAppPurchaseI0AC8Yosemite06StoresI0_p_AA04PushhI0_pAA02InK30PurchasesForWPComPlansProtocol_ptcfc","param-pushNotesManager-setupPushNotificationsManagerIfPossible(_:stores:)-s:11WooCommerce11AppDelegateC39setupPushNotificationsManagerIfPossible33_AC2B85D03F88EE646416F2C4AF52A291LL_6storesyAA0f5NotesH0_p_8Yosemite06StoresH0_ptF","param-query-searchLocation(query:)-s:11WooCommerce34BlazeTargetLocationPickerViewModelC06searchE033_916547A18CBC5D7597FBFC30E2AC6801LL5querySay10Networking0cdE0CGSS_tYaF","param-reader-getBluetoothConfiguration(_:)-s:8Hardware23StripeCardReaderServiceC25getBluetoothConfiguration33_01386A2D21005D4DA327A97DCD5D675BLLy7Combine6FutureCySo022SCPBluetoothConnectionH0Cs5Error_pGSo9SCPReaderCF","param-reader-getTapToPayConfiguration(_:options:)-s:8Hardware23StripeCardReaderServiceC24getTapToPayConfiguration33_01386A2D21005D4DA327A97DCD5D675BLL_7options7Combine6FutureCySo06SCPTaphi10ConnectionJ0Cs5Error_pGSo9SCPReaderC_AA0cdV7OptionsVSgtF","param-reason-syncProducts(pageNumber:pageSize:reason:onCompletion:)-s:11WooCommerce24ProductSelectorViewModelC12syncProducts33_B2E00C30BDD8670F8D1FF5D2667B140BLL10pageNumber0R4Size6reason12onCompletionySi_SiSSSgys6ResultOySbs5Error_pGcSgtF","param-restrictionComment-checkMissingRestrictionComment(_:with:)-s:11WooCommerce38ShippingLabelCustomsFormInputViewModelC30checkMissingRestrictionComment33_36E9164D31380E6D43CEDFC5AB4977B1LL_4withSbSS_10Networking0cdeF0V0L4TypeOtF","param-retry-dismissBlockingIndicator(retry:)-s:11WooCommerce30GenerateAllVariationsPresenterC24dismissBlockingIndicator33_6DAE872DE0F8F62253D023F564B577B0LL5retryySb_tF","param-retryCount-activateJetpack(retryCount:)-s:11WooCommerce31JCPJetpackInstallStepsViewModelC15activateJetpack33_B99D58683DB320F0745E49A3CBE22C82LL10retryCountySi_tF","param-row-configure(_:for:at:)-s:11WooCommerce23RefundDetailsDataSourceC9configure33_72A5AD552A42813047B20449413994E1LL_3for2atySo15UITableViewCellC_AC3RowO10Foundation9IndexPathVtF","param-row-configure(_:for:at:)-s:11WooCommerce25ProductSlugViewControllerC9configure33_E9EEB830C2DC65EDF85E2ABBC1281535LL_3for2atySo07UITableE4CellC_AC3RowAELLO10Foundation9IndexPathVtF","param-row-configure(_:for:at:)-s:11WooCommerce30ProductMenuOrderViewControllerC9configure33_9FD83E7B0A44D83DC3905CE7B97CD2FDLL_3for2atySo07UITableF4CellC_AC3RowAELLO10Foundation9IndexPathVtF","param-row-configure(_:for:at:)-s:11WooCommerce30RenameAttributesViewControllerC9configure33_1B11D9141E14A9ADFA7866C0ED7360A3LL_3for2atySo07UITableE4CellC_AC3RowAELLO10Foundation9IndexPathVtF","param-row-configure(_:for:at:)-s:11WooCommerce33ProductPurchaseNoteViewControllerC9configure33_E24E63166C7F0F67B0391C86168AC02CLL_3for2atySo07UITableF4CellC_AC3RowAELLO10Foundation9IndexPathVtF","param-row-configure(_:for:at:)-s:11WooCommerce38ProductCatalogVisibilityViewControllerC9configure33_6866A7A37B41BAA8D5F7A53CE31595B3LL_3for2atySo07UITableF4CellC_AC3RowO10Foundation9IndexPathVtF","param-row-configureAddressEntered(cell:row:)-s:11WooCommerce43ShippingLabelSuggestedAddressViewControllerC09configureF7Entered33_6B377CC7204358DE99C0A98E116CEE29LL4cell3rowyAA013ImageAndTitleu9TextTableG4CellC_AC3RowOtF","param-row-configureAddressSuggested(cell:row:)-s:11WooCommerce43ShippingLabelSuggestedAddressViewControllerC09configurefE033_6B377CC7204358DE99C0A98E116CEE29LL4cell3rowyAA013ImageAndTitlet9TextTableG4CellC_AC3RowOtF","param-row-configureCountry(cell:row:)-s:11WooCommerce38ShippingLabelAddressFormViewControllerC16configureCountry33_A493AAB1F74022D7790D20E9A85E182BLL4cell3rowyAA022TitleAndTextFieldTableG4CellC_AC3RowOtF","param-row-configureFieldError(cell:row:error:)-s:11WooCommerce38ShippingLabelAddressFormViewControllerC19configureFieldError33_A493AAB1F74022D7790D20E9A85E182BLL4cell3row5erroryAA010BasicTableG4CellC_AC3RowOAA0cdefG5ModelC010ValidationK0OtF","param-row-configureState(cell:row:)-s:11WooCommerce38ShippingLabelAddressFormViewControllerC14configureState33_A493AAB1F74022D7790D20E9A85E182BLL4cell3rowyAA022TitleAndTextFieldTableG4CellC_AC3RowOtF","param-sender-cellTapped(sender:)-s:11WooCommerce22UnitInputTableViewCellC10cellTapped33_3C58294DC9861E456B06D36F0E1C9A9FLL6senderySo6UIViewC_tF","param-sender-cellTapped(sender:)-s:11WooCommerce30TitleAndTextFieldTableViewCellC10cellTapped028_F8C5098AD675EE1ED6C97AE65D7S3BB8LL6senderySo6UIViewC_tF","param-sender-cellTapped(sender:)-s:11WooCommerce39TitleAndTextFieldWithImageTableViewCellC10cellTapped33_33FFA3E2221B4A35F92861C86159EBE2LL6senderySo6UIViewC_tF","param-sender-subtitleTapped(_:)-s:11WooCommerce41LeftImageTitleSubtitleToggleTableViewCellC14subtitleTapped33_8866DBD912F95E9CFD0B7503551D7375LLyyypF","param-site-displayExpiredWPComPlanAlert(site:)-s:11WooCommerce25StorePickerViewControllerC28displayExpiredWPComPlanAlert33_5E39EF848A59CB8C17EEAF3AE8A0BADALL4sitey10Networking4SiteV_tF","param-site-displayWPComPlanUpgradeAlert(for:)-s:11WooCommerce19RequirementsCheckerC28displayWPComPlanUpgradeAlert33_F50C359018ED44C22D850C2E692EAD25LL3fory10Networking4SiteV_tF","param-siteID-addStoredShipment(siteID:orderID:readOnlyTracking:onCompletion:)-s:8Yosemite13ShipmentStoreC09addStoredB06siteID05orderG016readOnlyTracking12onCompletionys5Int64V_AJ10Networking0bK0VyyctF","param-siteID-deleteStaleRefunds(siteID:orderID:staleRefundIDs:storedRefunds:in:)-s:8Yosemite11RefundStoreC18deleteStaleRefunds33_9DB95559DACFA25A1B75F2FF500400F4LL6siteID05orderO005staleB3IDs06storedF02inys5Int64V_ALSayALGSay7Storage0B0CGAN0V4Type_ptF","param-siteID-generateText(siteID:base:feature:responseFormat:token:)-s:10Networking23GenerativeContentRemoteC12generateText33_4C8B92385959F9C5F3C8931A28634325LL6siteID4base7feature14responseFormat5tokenSSs5Int64V_SSAA0bcD7FeatureOAA0bcd8ResponseS0OSgAA7JWTokenVtYaKF","param-siteID-getViewModels(for:with:siteID:)-s:11WooCommerce28BundledProductsListViewModelC03getF6Models33_42DE65C326ED0936299CF43F7214EDF9LL3for4with6siteIDSayAC0C7ProductVGSay10Networking0T10BundleItemVG_SayAL0T0VGs5Int64VtFZ","param-siteID-identifyLanguage(siteID:string:feature:token:)-s:10Networking23GenerativeContentRemoteC16identifyLanguage33_4C8B92385959F9C5F3C8931A28634325LL6siteID6string7feature5tokenSSs5Int64V_SSAA0bcD7FeatureOAA7JWTokenVtYaKF","param-siteID-init(siteID:)-s:11WooCommerce30SubscriptionsHostingControllerC6siteIDACs5Int64V_tcfc","param-siteID-loadProducts(siteID:productIDs:pageNumber:)-s:11WooCommerce34ConfigurableBundleProductViewModelC12loadProducts33_6157C9586F427526F4ECBD0DD9F10812LL6siteID10productIDs10pageNumberSay10Networking0E0VG8products_Sb11hasNextPagets5Int64V_SayAPGSitYaKF","param-siteID-retrieveSiteVisitStats(siteID:timeRange:onCompletion:)-s:8Yosemite24MockStatsActionV4HandlerV017retrieveSiteVisitC06siteID9timeRange12onCompletionys5Int64V_AA0c4TimemE0Oys6ResultOyyts5Error_pGctF","param-siteID-retrieveStats(siteID:timeRange:onCompletion:)-s:8Yosemite24MockStatsActionV4HandlerV08retrieveC06siteID9timeRange12onCompletionys5Int64V_AA0c4TimekE0Oys6ResultOyyts5Error_pGctF","param-siteID-retrieveTopEarnerStats(siteID:timeRange:onCompletion:)-s:8Yosemite24MockStatsActionV4HandlerV017retrieveTopEarnerC06siteID9timeRange12onCompletionys5Int64V_AA0c4TimemE0Oys6ResultOy10Networking0hiC0Vs5Error_pGctF","param-siteID-saveNote(_:_:_:siteID:)-s:8Yosemite14OrderNoteStoreC04saveC033_76C9EE206877B4923D3B658D8735C269LL___6siteIDy7Storage0O4Type_p_14NetworkingCore0bC0VAG0B0Cs5Int64VtF","param-siteID-updateUIForEmptyOrErroredSite(named:with:)-s:11WooCommerce25StorePickerViewControllerC29updateUIForEmptyOrErroredSite33_5E39EF848A59CB8C17EEAF3AE8A0BADALL5named4withySS_s5Int64VtF","param-siteID-upsertCustomer(siteID:readOnlyCustomer:storedCustomers:storedSearchResult:in:)-s:8Yosemite13CustomerStoreC06upsertB033_CF3A88D9FFED313C78F4E4E330CC14A8LL6siteID08readOnlyB015storedCustomers0S12SearchResult2inys5Int64V_AA07StorageB11Convertible_pSay0Y00B0CGAN0buV0CSgAN0Y4Type_ptF","param-siteID-upsertPackagesResponseInBackground(readOnlyPackages:siteID:onCompletion:)-s:8Yosemite16WooShippingStoreC34upsertPackagesResponseInBackground33_3A10CEEF776101B6495E3F453AD20884LL08readOnlyF06siteID12onCompletiony10Networking0bcfG0V_s5Int64VyyctF","param-siteID-upsertShippingMethods(siteID:readOnlyMethods:in:)-s:8Yosemite19ShippingMethodStoreC06upsertB7Methods33_C08EA8EBDA81B669F00AC587359A4DE8LL6siteID08readOnlyF02inys5Int64V_Say10Networking0bC0VG7Storage0V4Type_ptF","param-siteID-upsertStoredRefunds(siteID:orderID:storedRefunds:readOnlyRefunds:in:)-s:8Yosemite11RefundStoreC19upsertStoredRefunds33_9DB95559DACFA25A1B75F2FF500400F4LL6siteID05orderO006storedF008readOnlyF02inys5Int64V_ALSay7Storage0B0CGSay10NetworkingANVGAM0V4Type_ptF","param-siteID-upsertWCAnalyticsCustomer(siteID:readOnlyCustomer:storedCustomers:storedSearchResult:in:)-s:8Yosemite13CustomerStoreC017upsertWCAnalyticsB033_CF3A88D9FFED313C78F4E4E330CC14A8LL6siteID08readOnlyB015storedCustomers0T12SearchResult2inys5Int64V_10Networking0eB0VSay7StorageANCGAP0ebvW0CSgAP11StorageType_ptF","param-siteId-loadDashboardCards(siteId:onCompletion:)-s:8Yosemite28MockAppSettingsActionHandlerV18loadDashboardCards6siteId12onCompletionys5Int64V_ySay7Storage0H4CardVGSgXEtF","param-siteId-loadNotificationCount(siteId:type:onCompletion:)-s:8Yosemite34MockNotificationCountActionHandlerV04loadcD06siteId4type12onCompletionys5Int64V_AA04SitecD4TypeOySiXEtF","param-siteId-reset(siteId:type:onCompletion:)-s:8Yosemite34MockNotificationCountActionHandlerV5reset6siteId4type12onCompletionys5Int64V_14NetworkingCore4NoteV4KindOyyXEtF","param-siteId-retrieveSiteAPI(siteId:onCompletion:)-s:8Yosemite24MockSettingActionHandlerV15retrieveSiteAPI6siteId12onCompletionys5Int64V_ys6ResultOy10Networking0gH0Vs5Error_pGXEtF","param-siteName-updateUIForEmptyOrErroredSite(named:with:)-s:11WooCommerce25StorePickerViewControllerC29updateUIForEmptyOrErroredSite33_5E39EF848A59CB8C17EEAF3AE8A0BADALL5named4withySS_s5Int64VtF","param-siteTimezone-updatePaymentGateway(_:siteTimezone:onCompletion:)-s:8Yosemite19PaymentGatewayStoreC06updatebC033_EED24529A4495B6D3109E033A8ECEA4FLL_12siteTimezone12onCompletiony10Networking0bC0V_10Foundation8TimeZoneVSgys6ResultOyAJs5Error_pGctF","param-siteURL-presentAppPasswordAlert(error:for:in:)-s:11WooCommerce21AuthenticationManagerC23presentAppPasswordAlert33_4A9503ECCEE967DB8B1A9A532F0B8C78LL5error3for2inys5Error_p_SSSo16UIViewControllerCtF","param-source-init(url:parent:configuration:source:)-s:11WooCommerce20WebKitViewControllerC3url6parent13configuration6sourceAC10Foundation3URLV_ACSo05WKWebE13ConfigurationCSSSgtc33_D85025A19EEE1BDE0889F08E15F1E506Llfc","param-source-startCreationFlow(from:)-s:11WooCommerce32BlazeCampaignCreationCoordinatorC05startE4Flow33_B0ACBE13027C91CB591F60840ACBBCF7LL4fromyAA0C6SourceO_tF","param-source-startStorePicker(with:source:in:onDismiss:)-s:11WooCommerce21AuthenticationManagerC16startStorePicker33_4A9503ECCEE967DB8B1A9A532F0B8C78LL4with6source2in9onDismissys5Int64VSg_22WordPressAuthenticator12SignInSourceOSgSo22UINavigationControllerCyyctF","param-sourceBarButtonItem-clearFilter(sourceBarButtonItem:sourceView:)-s:11WooCommerce22ProductsViewControllerC11clearFilter33_D63AD9C1AF02BA94A64C79D4E1D2E685LL19sourceBarButtonItem0sD0ySo05UIBaruV0CSg_So6UIViewCSgtF","param-sourceView-clearFilter(sourceBarButtonItem:sourceView:)-s:11WooCommerce22ProductsViewControllerC11clearFilter33_D63AD9C1AF02BA94A64C79D4E1D2E685LL19sourceBarButtonItem0sD0ySo05UIBaruV0CSg_So6UIViewCSgtF","param-splitViewController-handleCollapsingSplitView(splitViewController:)-s:11WooCommerce34ProductsSplitViewWrapperControllerC016handleCollapsingdE033_84B339C2962B9B58C797B583E0715E41LL05spliteG0So07UISpliteG6ColumnVSo0seG0C_tF","param-splitViewController-handleDidExpand(splitViewController:)-s:11WooCommerce34ProductsSplitViewWrapperControllerC15handleDidExpand33_84B339C2962B9B58C797B583E0715E41LL05spliteG0ySo07UISpliteG0C_tF","param-startDate-timeRangeText(startDate:endDate:selectedDate:timezone:)-s:8Yosemite16StatsTimeRangeV4O11WooCommerceE04timeD4Text33_19FD9AA1037FF332CFC8923FEEBF6F43LL9startDate03endQ008selectedQ08timezoneSS10Foundation0Q0V_A2mK0C4ZoneVtF","param-state-willEnter(state:)-s:11WooCommerce21ReviewsViewControllerC9willEnter33_87877EAD17AC3C3D4F2E5EF907436EE1LL5stateyAC5StateAELLO_tF","param-state-willEnter(state:)-s:11WooCommerce28ProductReviewsViewControllerC9willEnter33_6399FE14AECFC91DCADF495EE13A102ELL5stateyAC5StateAELLO_tF","param-step-barcodeScannerSetupScannerConnected(scanner:step:)-s:11WooCommerce0A14AnalyticsEventV11PointOfSaleO019barcodeScannerSetupI9Connected7scanner4stepAcA0efg7BarcodeI4TypeO_SStFZ","param-stores-init(stores:)-s:11WooCommerce30CardPresentConfigurationLoaderC6storesAC8Yosemite13StoresManager_p_tcfc","param-stores-setupPushNotificationsManagerIfPossible(_:stores:)-s:11WooCommerce11AppDelegateC39setupPushNotificationsManagerIfPossible33_AC2B85D03F88EE646416F2C4AF52A291LL_6storesyAA0f5NotesH0_p_8Yosemite06StoresH0_ptF","param-tableName-AppLocalizedString(_:tableName:value:comment:)-s:11WooCommerce18AppLocalizedString_9tableName5value7commentS2S_SSSgAFSStF-s:13Woo_Watch_App0C15LocalizedString_9tableName5value7commentS2S_SSSgAFSStF","param-textField-emailTextFieldDidChange(_:)-s:11WooCommerce14ZendeskManagerC23emailTextFieldDidChange031_8302212C40A93725812935E5FC45F6N0LLyySo06UITextG0CF","param-textField-textFieldDidBegin(textField:)-s:11WooCommerce22TextFieldTableViewCellC04textD8DidBegin33_69DEEA611CF9F0CE8BA1FD045A9225D1LL0hD0ySo06UITextD0C_tF","param-textField-textFieldDidResignFirstResponder(textField:)-s:11WooCommerce30TitleAndTextFieldTableViewCellC04textF23DidResignFirstResponder028_F8C5098AD675EE1ED6C97AE65D7V3BB8LL0jF0ySo06UITextF0C_tF","param-timeZone-init(scenario:stores:timeZone:locale:userInfo:)-s:11WooCommerce17LocalNotificationV8scenario6stores8timeZone6locale8userInfoA2C8ScenarioO_8Yosemite13StoresManager_p10Foundation04TimeH0VAM6LocaleVSDys11AnyHashableVypGtcfc","param-title-configureNavigationBar(title:)-s:11WooCommerce25ProductFormViewControllerC22configureNavigationBar33_40B60ACED569B4ABA586F1F653249D62LL5titleySS_tF","param-tracking-displayDeleteTrackingErrorNotice(order:tracking:onAction:)-s:11WooCommerce19OrderDetailsNoticesC32displayDeleteTrackingErrorNotice5order8tracking8onActiony14NetworkingCore0C0V_0O008ShipmentH0VyyctF","param-transactionType-init(name:amount:transactionType:inputMethods:)-s:11WooCommerce48CardPresentModalTapToPayFollowReaderInstructionsC4name6amount15transactionType12inputMethodsACSS_SSAA0cd11TransactionO0O8Hardware0cJ5InputVtcfc","param-type-loadFeedbackVisibility(type:onCompletion:)-s:8Yosemite28MockAppSettingsActionHandlerV22loadFeedbackVisibility4type12onCompletiony7Storage0H4TypeO_ys6ResultOySbs5Error_pGXEtF","param-type-loadNotificationCount(siteId:type:onCompletion:)-s:8Yosemite34MockNotificationCountActionHandlerV04loadcD06siteId4type12onCompletionys5Int64V_AA04SitecD4TypeOySiXEtF","param-type-reset(siteId:type:onCompletion:)-s:8Yosemite34MockNotificationCountActionHandlerV5reset6siteId4type12onCompletionys5Int64V_14NetworkingCore4NoteV4KindOyyXEtF","param-url-authenticateSSOAndLoadContent(url:)-s:11WooCommerce30AuthenticatedWebViewControllerC29authenticateSSOAndLoadContent33_1762B8DD587AA77FE75646DF647FD2FFLL3urly10Foundation3URLV_tF","param-wcSettingsAdminURL-init(image:wcSettingsAdminURL:openWCSettings:retrySearch:cancelSearch:)-s:11WooCommerce45CardPresentModalConnectingFailedUpdateAddressC5image18wcSettingsAdminURL14openWCSettings11retrySearch06cancelR0ACSo7UIImageC_10Foundation0N0VSgyycSgyycyyctcfc","param-webView-handle(navigationAction:for:)-s:11WooCommerce12LinkBehaviorO6handle16navigationAction3forSo012WKNavigationG6PolicyVSo0iG0C_So9WKWebViewCtF","param-weightUnit-init(order:packagesResponse:selectedPackages:onSelectionCompletion:onPackageSyncCompletion:formatter:stores:storageManager:weightUnit:)-s:11WooCommerce34ShippingLabelPackagesFormViewModelC5order16packagesResponse08selectedE021onSelectionCompletion0m11PackageSyncO09formatter6stores14storageManager10weightUnitAC14NetworkingCore5OrderV_0X00cdeK0VSgSayAA0cdP10AttributesVGyAVcyASc0a10FoundationY017CurrencyFormatterC8Yosemite06StoresU0_p7Storage07StorageU4Type_pSSSgtcfc","s:10Foundation4DateV11WooCommerceE12nextMidnight5usingACSgAA8CalendarV_tF","s:10Foundation4DateV13Woo_Watch_AppE12nextMidnight5usingACSgAA8CalendarV_tF","s:10Foundation4DateV15WordPressSharedE015dateWithISO8601G18MillisecondsStringyACSgSSFZ","s:10Foundation4DateV15WordPressSharedE0B10Formatters33_DF80F487DA6A564EDD8C74FB819BC8ECLLV11longUTCDateSo15NSDateFormatterCvpZ","s:10Foundation4DateV15WordPressSharedE0B10Formatters33_DF80F487DA6A564EDD8C74FB819BC8ECLLV17mediumUTCDateTimeSo15NSDateFormatterCvpZ","s:10Foundation4DateV15WordPressSharedE0B10Formatters33_DF80F487DA6A564EDD8C74FB819BC8ECLLV23iso8601WithMillisecondsSo15NSDateFormatterCvpZ","s:10Foundation4DateV15WordPressSharedE0B10Formatters33_DF80F487DA6A564EDD8C74FB819BC8ECLLV7rfc1123So15NSDateFormatterCvpZ","s:10Foundation4DateV15WordPressSharedE12mediumString8timeZoneSSAA04TimeI0VSg_tF","s:10Foundation4DateV15WordPressSharedE17toStringAsRFC1123SSyF","s:10Foundation4DateV15WordPressSharedE21dateWithISO8601StringyACSgSSFZ","s:10Foundation4DateV15WordPressSharedE23mediumStringWithUTCTimeSSyF","s:10Foundation4DateV15WordPressSharedE24longUTCStringWithoutTimeSSyF","s:10Foundation4DateV8YosemiteE11addingYearsyACSiF","s:10Foundation4DateV8YosemiteE15subtracingYearsyACSiF","s:10Foundation4DateV8YosemiteE17subtractingMonthsyACSiF","s:10Foundation4DateV8YosemiteE22asVisitStatsYearStringSSvp","s:10Foundation4DateV8YosemiteE4from10dateStringACSS_tFZ","s:10Foundation4DateV8YosemiteE7yearEndACvp","s:10Foundation4DateV8YosemiteE9yearStartACvp","s:10Networking10AddOnGroupV13DecodingErrorO","s:10Networking10DotcomUserV11displayNameSSvp","s:10Networking10DotcomUserV2id8username5email11displayName6avatarACs5Int64V_S4SSgtcfc","s:10Networking10DotcomUserV2ids5Int64Vvp","s:10Networking10DotcomUserV6avatarSSSgvp","s:10Networking10DotcomUserV8usernameSSvp","s:10Networking11BlazeRemoteC4Keys33_98A5ADFE7236E410480CFE636D729DD1LLO4pageSSvpZ","s:10Networking11BlazeRemoteC4Keys33_98A5ADFE7236E410480CFE636D729DD1LLO5orderSSvpZ","s:10Networking11BlazeRemoteC4Keys33_98A5ADFE7236E410480CFE636D729DD1LLO7orderBySSvpZ","s:10Networking11BlazeRemoteC5Paths33_98A5ADFE7236E410480CFE636D729DD1LLO14campaignSearch6siteIDSSs5Int64V_tFZ","s:10Networking11BlazeRemoteC6Values33_98A5ADFE7236E410480CFE636D729DD1LLO","s:10Networking11CreateErrorV4codeSSvp","s:10Networking11CreateErrorV7messageSSvp","s:10Networking11FeatureIconV7iconUrl0D6Base640D4TypeACSS_S2Stcfc","s:10Networking11JetpackUserV11isConnected0D7Primary8username05wpcomC08gravatarACSb_SbSSAA06DotcomC0VSgSSSgtcfc","s:10Networking11JetpackUserV11isConnectedSbvp","s:10Networking11JetpackUserV8gravatarSSSgvp","s:10Networking11JetpackUserV8usernameSSvp","s:10Networking11JetpackUserV9isPrimarySbvp","s:10Networking11MediaMapperV","s:10Networking11MediaRemoteC12ParameterKey33_919ED802099D3F1AB6B35EEB50E9B0B6LLO07contextE0SSvpZ","s:10Networking11MediaRemoteC12ParameterKey33_919ED802099D3F1AB6B35EEB50E9B0B6LLO09wordPressB8ParentIDSSvpZ","s:10Networking11MediaRemoteC12ParameterKey33_919ED802099D3F1AB6B35EEB50E9B0B6LLO14dotComPageSizeSSvpZ","s:10Networking11MediaRemoteC12ParameterKey33_919ED802099D3F1AB6B35EEB50E9B0B6LLO6fieldsSSvpZ","s:10Networking11MediaRemoteC12ParameterKey33_919ED802099D3F1AB6B35EEB50E9B0B6LLO6postIDSSvpZ","s:10Networking11MediaRemoteC12ParameterKey33_919ED802099D3F1AB6B35EEB50E9B0B6LLO7altTextSSvpZ","s:10Networking11MediaRemoteC12ParameterKey33_919ED802099D3F1AB6B35EEB50E9B0B6LLO8mimeTypeSSvpZ","s:10Networking11MediaRemoteC7DefaultO7contextSSvpZ","s:10Networking11MockNetworkC","s:10Networking11NullNetworkC7sessionSo12NSURLSessionCvp","s:10Networking11WCPayRemoteC4Path33_C286F95D0B6C450E16152931FFB158BFLLO14createCustomerSSvpZ","s:10Networking12AnnouncementV14appVersionName010minimumAppD007maximumgD00cD7Targets10detailsUrl012announcementD011isLocalized14responseLocale8featuresACSS_S2SSaySSGS2SSbSSSayAA7FeatureVGtcfc","s:10Networking12ProductImageV8YosemiteE7fromUrlyACSSFZ","s:10Networking12ProductStockV06manageC0Sbvp","s:10Networking12ProductStockV07productC6StatusAA0bcE0Ovp","s:10Networking12ProductStockV13DecodingError33_1D968AE06B9AB9074AD0D1AA6035288FLLO","s:10Networking12ProductStockV13stockQuantitySo9NSDecimalaSgvp","s:10Networking12ProductStockV3skuSSSgvp","s:10Networking12ProductStockV4nameSSvp","s:10Networking12ProductStockV6siteIDs5Int64Vvp","s:10Networking12StripeRemoteC4Path33_90F026D9D5601A9C539008F14D31A0DALLO14createCustomerSSvpZ","s:10Networking12SubscriptionV6siteIDs5Int64Vvp","s:10Networking12SubscriptionV8currencySSvp","s:10Networking12SubscriptionV8parentIDs5Int64Vvp","s:10Networking13AccountRemoteC4Path33_20448504486E471AAC075D7F90A8610DLLO8settingsSSvpZ","s:10Networking13AccountRemoteC4Path33_20448504486E471AAC075D7F90A8610DLLO8usernameSSvpZ","s:10Networking13CommentRemoteC5Paths33_3300A5AA367E5BE3625973BF792299D5LLO12commentReplySSvpZ","s:10Networking13LoadPlanErrorO","s:10Networking13PaymentMethod33_1048F16F62488AEBA0EC1CF34883CBDELLO","s:10Networking13PaymentRemoteC4Path33_1048F16F62488AEBA0EC1CF34883CBDELLO12cartCheckoutSSvpZ","s:10Networking13WPComSitePlanV15hasDomainCreditSbvp","s:10Networking13WPComSitePlanV4slugSSvp","s:10Networking14PaymentGatewayV7SettingV4Keys33_B4ED521D5BB3A6989E376B798F5DAE5ALLO16enableForMethodsSSvpZ","s:10Networking14PaymentGatewayV7SettingV4Keys33_B4ED521D5BB3A6989E376B798F5DAE5ALLO16enableForVirtualSSvpZ","s:10Networking14PaymentGatewayV7SettingV4Keys33_B4ED521D5BB3A6989E376B798F5DAE5ALLO5titleSSvpZ","s:10Networking14PaymentGatewayV7SettingV9settingID5valueAESS_SStcfc","s:10Networking14PaymentGatewayV7SettingV9settingIDSSvp","s:10Networking14ProductsRemoteC15ParameterValues33_D40945077067CB9D4B83EEE43F634B4FLLO14productSegmentSSvpZ","s:10Networking14ProductsRemoteC15ParameterValues33_D40945077067CB9D4B83EEE43F634B4FLLO9itemsSoldSSvpZ","s:10Networking14ReaderLocationV11displayNameSSvp","s:10Networking14ReaderLocationV6siteIDs5Int64Vvp","s:10Networking14WordPressMediaV0D11SizeDetailsV5widthSdvp","s:10Networking14WordPressMediaV0D11SizeDetailsV6heightSdvp","s:10Networking14WordPressMediaV0D11SizeDetailsV8fileNameSSvp","s:10Networking14WordPressThemeV11descriptionSSvp","s:10Networking15AIProductMapperV6siteIDs5Int64Vvp","s:10Networking15MediaListMapperV","s:10Networking16BlazeImpressionsV05totalC3Min0dC3MaxACs5Int64V_AGtcfc","s:10Networking16BlazePaymentInfoV14paymentMethodsACSayAA0bC6MethodVG_tcfc","s:10Networking16DotcomSitePluginV","s:10Networking16DotcomSitePluginV2id8isActiveACSS_Sbtcfc","s:10Networking16DotcomSitePluginV2idSSvp","s:10Networking16DotcomSitePluginV8isActiveSbvp","s:10Networking16ProductAttributeV6option33_F4FF274AB61C8FF7A606B27386278C0FLLSSvp","s:10Networking17BlazeAISuggestionV8siteName11textSnippet7ctaTextACSS_S2Stcfc","s:10Networking17GoogleAdsCampaignV17targetedLocationsSaySSGvp","s:10Networking17GoogleAdsCampaignV2id4name9rawStatus0G4Type6amount7country17targetedLocationsACs5Int64V_S3SSdSSSgSaySSGtcfc","s:10Networking17GoogleAdsCampaignV2ids5Int64Vvp","s:10Networking17GoogleAdsCampaignV4nameSSvp","s:10Networking17GoogleAdsCampaignV6StatusO","s:10Networking17GoogleAdsCampaignV6amountSdvp","s:10Networking17GoogleAdsCampaignV6statusAC6StatusOvp","s:10Networking17GoogleAdsCampaignV7countrySSSgvp","s:10Networking17GoogleAdsCampaignV7rawTypeSSvp","s:10Networking17GoogleAdsCampaignV9rawStatusSSvp","s:10Networking17JustInTimeMessageV3CTAV7message4linkAESS_SStcfc","s:10Networking17JustInTimeMessageV6siteID07messageG012featureClass7content3cta6assets8templateACs5Int64V_S2SAC7ContentVAC3CTAVSDySS10Foundation3URLVGSStcfc","s:10Networking17JustInTimeMessageV7ContentV7message11descriptionAESS_SStcfc","s:10Networking17MediaListEnvelope33_9D00C741093F6E77CAEBDA88EFF9FE05LLV","s:10Networking17SitePluginsRemoteC4Path33_9F73D98974B6C8D95F6BC827D24C2BAELLO","s:10Networking17WooPaymentsPayoutV11bankAccountSSSgvp","s:10Networking17WooPaymentsPayoutV13feePercentageSivp","s:10Networking17WooPaymentsPayoutV2id4date4type6amount6status11bankAccount8currency9automatic3fee0N10Percentage7createdACSS_10Foundation4DateVAA0bcD4TypeOSiAA0bcD6StatusOSSSgSSSbS3itcfc","s:10Networking17WooPaymentsPayoutV2idSSvp","s:10Networking17WooPaymentsPayoutV3feeSivp","s:10Networking17WooPaymentsPayoutV7createdSivp","s:10Networking17WooPaymentsPayoutV9automaticSbvp","s:10Networking17WooShippingConfigV17shippingLabelDataAA0bcfG0VSgvp","s:10Networking17WooShippingConfigV6siteIDs5Int64Vvp","s:10Networking18BlazePaymentMethodV0cD4TypeO","s:10Networking18BlazePaymentMethodV12ExpiringInfoV","s:10Networking18BlazePaymentMethodV2id7rawType4name4infoACSS_S2SAC4InfoVtcfc","s:10Networking18BlazePaymentMethodV4InfoV10lastDigits8expiring4type8nickname14cardholderNameAESS_AC08ExpiringE0VS2SSgSStcfc","s:10Networking18BlazePaymentMethodV4InfoV8expiringAC08ExpiringE0Vvp","s:10Networking18BlazePaymentMethodV4InfoV8nicknameSSSgvp","s:10Networking18BlazePaymentMethodV4typeAC0cD4TypeOvp","s:10Networking18BlazePaymentMethodV7rawTypeSSvp","s:10Networking18BlazeTargetOptionsV10pageTopicsSaySSGSgvp","s:10Networking18BlazeTargetOptionsV7devicesSaySSGSgvp","s:10Networking18BlazeTargetOptionsV9languagesSaySSGSgvp","s:10Networking18BlazeTargetOptionsV9locationsSays5Int64VGSgvp","s:10Networking18SystemPluginMapperV","s:10Networking18SystemStatusReportV11EnvironmentV7storeIDSSSgvp","s:10Networking18SystemStatusReportV4PageV11pageVisibleSbvp","s:10Networking18SystemStatusReportV4PageV13blockRequiredSbvp","s:10Networking18SystemStatusReportV4PageV5blockSSSgvp","s:10Networking18SystemStatusReportV4PageV9shortcodeSSvp","s:10Networking18SystemStatusReportV5ThemeV15parentAuthorURLSSvp","s:10Networking18SystemStatusReportV8DatabaseV14databasePrefixSSvp","s:10Networking18SystemStatusReportV8SettingsV18geolocationEnabledSbvp","s:10Networking18TopEarnerStatsItemV11WooCommerceE20formattedTotalStringSSvp","s:10Networking18WooPaymentsBalanceV6amount8currencyACSi_SStcfc","s:10Networking19BlazeStatusResponse33_ADC3A2F9DF1789B2C484F3A803E2172CLLV","s:10Networking19BlazeTargetLocationC2id4name4type06parentD0ACs5Int64V_S2SACSgtcfc","s:10Networking19CreateAccountResultV9authToken8usernameACSS_SStcfc","s:10Networking19CreateBlazeCampaignV11acceptedTOSSbvp","s:10Networking19CreateBlazeCampaignV11textSnippetSSvp","s:10Networking19CreateBlazeCampaignV13originVersionSSvp","s:10Networking19CreateBlazeCampaignV15paymentMethodIDSSvp","s:10Networking19CreateBlazeCampaignV4typeSSvp","s:10Networking19CreateBlazeCampaignV5ImageV3urlSSvp","s:10Networking19CreateBlazeCampaignV5ImageV8mimeTypeSSvp","s:10Networking19CreateBlazeCampaignV6originSSvp","s:10Networking19CreateBlazeCampaignV7ctaTextSSvp","s:10Networking19CreateBlazeCampaignV7endDate10Foundation0F0Vvp","s:10Networking19CreateBlazeCampaignV8siteNameSSvp","s:10Networking19CreateBlazeCampaignV8timeZoneSSvp","s:10Networking19CreateBlazeCampaignV9mainImageAC0F0Vvp","s:10Networking19CreateBlazeCampaignV9objectiveSSSgvp","s:10Networking19CreateBlazeCampaignV9startDate10Foundation0F0Vvp","s:10Networking19CreateBlazeCampaignV9targetUrlSSvp","s:10Networking19CreateBlazeCampaignV9targetUrnSSvp","s:10Networking19CreateBlazeCampaignV9targetingAA0C13TargetOptionsVSgvp","s:10Networking19CreateBlazeCampaignV9urlParamsSSvp","s:10Networking19GoogleAdsConnectionV2ids5Int64Vvp","s:10Networking19GoogleAdsConnectionV6symbolSSvp","s:10Networking19GoogleAdsConnectionV8currencySSvp","s:10Networking19POSProductVariationV11manageStockSbvp","s:10Networking19POSProductVariationV11stockStatusAA012ProductStockE0Ovp","s:10Networking19POSProductVariationV12regularPriceSSSgvp","s:10Networking19POSProductVariationV13stockQuantitySo9NSDecimalaSgvp","s:10Networking19POSProductVariationV14globalUniqueIDSSSgvp","s:10Networking19POSProductVariationV3skuSSSgvp","s:10Networking19POSProductVariationV6onSaleSbvp","s:10Networking19POSProductVariationV9salePriceSSSgvp","s:10Networking19RemotePaymentIntentV2idSSvp","s:10Networking20RemoteReaderLocationV10postalCodeSSSgvp","s:10Networking20RemoteReaderLocationV12addressLine1SSvp","s:10Networking20RemoteReaderLocationV12addressLine2SSSgvp","s:10Networking20RemoteReaderLocationV19stateProvinceRegionSSSgvp","s:10Networking20RemoteReaderLocationV4citySSSgvp","s:10Networking20RemoteReaderLocationV7countrySSvp","s:10Networking20RemoteReaderLocationV8liveModeSbvp","s:10Networking20StoreProfilerAnswersV13SellingStatusO11WooCommerceE14analyticsValue33_C2068A0065351A4FB414C3659DA9BB01LLSSvp","s:10Networking20StoreProfilerAnswersV13sellingStatus0E9Platforms8category11countryCodeA2C07SellingF0OSg_SSSgA2Ktcfc","s:10Networking20TopEarnerStatsMapperV","s:10Networking20WooShippingLabelDataV06storedE0AC06StoredE0VSgvp","s:10Networking21PaymentRemoteProtocolP12CartResponsea","s:10Networking21ReaderConnectionTokenV8testModeSbvp","s:10Networking21ShippingLabelPurchaseV10productIDsSays5Int64VGvp","s:10Networking21ShippingLabelPurchaseV10shipmentIDSSSgvp","s:10Networking21ShippingLabelPurchaseV11dateCreated10Foundation4DateVvp","s:10Networking21ShippingLabelPurchaseV11packageNameSSvp","s:10Networking21ShippingLabelPurchaseV11serviceNameSSvp","s:10Networking21ShippingLabelPurchaseV12productNamesSaySSGvp","s:10Networking21ShippingLabelPurchaseV14trackingNumberSSSgvp","s:10Networking21ShippingLabelPurchaseV16refundableAmountSdvp","s:10Networking21ShippingLabelPurchaseV6refund0A4Core0bC6RefundVSgvp","s:10Networking21ShippingLabelPurchaseV6siteIDs5Int64Vvp","s:10Networking21ShippingLabelPurchaseV7orderIDs5Int64Vvp","s:10Networking21ShippingLabelPurchaseV9carrierIDSSSgvp","s:10Networking21TopEarnersStatsRemoteC04loadbcD03for4unit19latestDateToInclude5limit10completionys5Int64V_0A4Core15StatGranularityOSSSiyAA0b6EarnerD0VSg_s5Error_pSgtctF","s:10Networking21TopEarnersStatsRemoteC13ParameterKeys33_2E862C4E326F31297AB59E387BF010D9LLO","s:10Networking21TopEarnersStatsRemoteC9Constants33_2E862C4E326F31297AB59E387BF010D9LLO","s:10Networking22AnnouncementsContainer33_05F986C0F5B32F55C16A19F8B7F6B9A8LLV13announcementsSayAA12AnnouncementVGvp","s:10Networking22GoogleAdsCampaignStatsV6siteIDs5Int64Vvp","s:10Networking22ShippingLabelPrintDataV8mimeType13base64ContentACSS_SStcfc","s:10Networking22ShippingLabelPrintDataV8mimeTypeSSvp","s:10Networking23JetpackConnectionRemoteC07accountC3URL33_C21D80DF3870DF7CF4835CBCA2DB7D25LL10Foundation0F0VSgvp","s:10Networking23JetpackConnectionRemoteC4Path33_C21D80DF3870DF7CF4835CBCA2DB7D25LLO13jetpackModuleSSvpZ","s:10Networking23JetpackConnectionRemoteC9Constants33_C21D80DF3870DF7CF4835CBCA2DB7D25LLO014jetpackAccountC3URLSSvpZ","s:10Networking23SiteSettingsRemoteErrorO","s:10Networking23WooPaymentsManualPayoutV","s:10Networking24InboxNotesRemoteProtocolP","s:10Networking24ShippingLabelCustomsFormV4ItemV2ids5Int64Vvp","s:10Networking24WCPayNullAccountEnvelope33_C7849EFE2D3FDEFDC375D54EE6AFA8DDLLV10emptyArraySaySSGvp","s:10Networking25DotcomSitePluginsResponse33_9F73D98974B6C8D95F6BC827D24C2BAELLV","s:10Networking25ProductAddOnEnvelopeErrorO","s:10Networking25ProductImageStatusStorageC03addD0yyAA0bcD0OF","s:10Networking25ProductImageStatusStorageC04findD05whereAA0bcD0OSgSbAGXE_tF","s:10Networking25ProductImageStatusStorageC06removeD0yyAA0bcD0OF","s:10Networking25ProductImageStatusStorageC06updateD0yyAA0bcD0OF","s:10Networking25ProductImageStatusStorageC14setAllStatusesyySayAA0bcD0OGF","s:10Networking25ProductImageStatusStorageC16internalInstance33_4C7471A4FDA22F3BF067E85EFB39F7D1LLACvpZ","s:10Networking25ShippingLabelStoreOptionsV13originCountrySSvp","s:10Networking25ShippingLabelStoreOptionsV14currencySymbolSSvp","s:10Networking25WooShippingConfigResponseV","s:10Networking25WooShippingConfigResponseV6configAA0bcD0Vvp","s:10Networking25WooShippingConfigResponseV6configAcA0bcD0V_tcfc","s:10Networking25WooShippingUpdateShipmentV013shipmentIdsToD0SDySSSiGvp","s:10Networking25WooShippingUpdateShipmentV9shipmentsSDySSSayAA0bcE4ItemVGGvp","s:10Networking26GoogleAdsCampaignStatsItemV10campaignID0G4Name9rawStatus9subtotalsACs5Int64V_SSSgSSAA0bcdE6TotalsVtcfc","s:10Networking26GoogleAdsCampaignStatsItemV6StatusO","s:10Networking26GoogleAdsCampaignStatsItemV6statusAC6StatusOvp","s:10Networking26GoogleAdsCampaignStatsItemV9rawStatusSSvp","s:10Networking26ProductDownloadDragAndDropC12CodableError33_18387913CDEAF315955C72461C1353B8LLO15invalidDataTypeyA2FmF","s:10Networking26WooPaymentsCurrencyPayoutsV010lastManualE0SayAA0bcG6PayoutVGvp","s:10Networking26WooPaymentsCurrencyPayoutsV8lastPaid0f6ManualE0ACSayAA0bC6PayoutVG_SayAA0bchI0VGtcfc","s:10Networking26WooPaymentsPayoutsOverviewV7deposit7balance7accountAcA0bc8CurrencyD0V_AA0bcI8BalancesVAA0bC20AccountPayoutSummaryVtcfc","s:10Networking26WooPaymentsPayoutsScheduleV9delayDays8intervalACSi_AA0bC14PayoutIntervalOtcfc","s:10Networking27CreateBlazeCampaignResponse33_30A4422958D32530E2BB960B487BDDB6LLV2idSSvp","s:10Networking27WooPaymentsCurrencyBalancesV7instantSayAA0bC7BalanceVGvp","s:10Networking27WooPaymentsCurrencyBalancesV7pending9available7instantACSayAA0bC7BalanceVG_A2Itcfc","s:10Networking29ProductMetadataExtractorErrorO","s:10Networking30WooShippingOriginAddressUpdateV10isVerifiedSbvp","s:10Networking31BlazeForecastedImpressionsInputV11isEvergreenSbvp","s:10Networking31BlazeForecastedImpressionsInputV11totalBudgetSdvp","s:10Networking31BlazeForecastedImpressionsInputV7endDate10Foundation0G0Vvp","s:10Networking31BlazeForecastedImpressionsInputV8timeZoneSSvp","s:10Networking31BlazeForecastedImpressionsInputV9startDate10Foundation0G0Vvp","s:10Networking31BlazeForecastedImpressionsInputV9targetingAA0B13TargetOptionsVSgvp","s:10Networking31WooPaymentsAccountPayoutSummaryV14payoutsBlockedSbvp","s:10Networking31WooPaymentsAccountPayoutSummaryV14payoutsEnabled0G7Blocked0G8Schedule15defaultCurrencyACSb_SbAA0bc7PayoutsJ0VSStcfc","s:10Networking31WooPaymentsAccountPayoutSummaryV14payoutsEnabledSbvp","s:10Networking32DomainCreditCheckoutCartResponse33_1048F16F62488AEBA0EC1CF34883CBDELLV","s:10Networking32POSProductVariationDecodingErrorO16missingProductIDyA2CmF","s:10Networking33InAppPurchasesTransactionResponseV4codeSiSgvp","s:10Networking33InAppPurchasesTransactionResponseV7messageSSSgvp","s:10Networking33ProductAttributeTermDecodingErrorO","s:10Networking33WooShippingUpdateShipmentResponseV","s:10Networking33WooShippingUpdateShipmentResponseV9shipmentsACSDySSSayAA0bcE4ItemVGG_tcfc","s:10Networking33WooShippingUpdateShipmentResponseV9shipmentsSDySSSayAA0bcE4ItemVGGvp","s:10Networking34ShipmentTrackingProviderListMapperV6siteIDACs5Int64V_tcfc","s:10Networking34ShippingLabelPurchaseDecodingErrorO","s:10Networking35WooShippingAddressValidationSuccessV22isTrivialNormalizationSbvp","s:10Networking35WooShippingDestinationAddressUpdateV10isVerifiedSbvp","s:10Networking42WooShippingVerifyDestinationAddressSuccessV22isTrivialNormalizationSbSgvp","s:10Networking4PostV6siteIDs5Int64Vvp","s:10Networking5QueueV","s:10Networking6CouponV11WooCommerceE15formattedAmountSSyF","s:10Networking6LoaderC","s:10Networking7FeatureV5title8subtitle5icons7iconUrl0F6Base64ACSS_SSSayAA0B4IconVGSgS2SSgtcfc","s:10Networking7ProductV11WooCommerceE13imageStatusesSayAA0B11ImageStatusOGvp","s:10Networking7ProductV16productTaxStatusAA0bdE0Ovp","s:10Networking7ProductV17backordersSettingAA0b10BackordersD0Ovp","s:10Networking7ProductV20productShippingClassAA0bdE0VSgvp","s:10Networking7ReceiptV14expirationDateSSvp","s:10Networking9WPComPlanV14formattedPriceSSvp","s:10Networking9WPComPlanV4nameSSvp","s:10Networking9WPComPlanV9productID4name14formattedPriceACs5Int64V_S2Stcfc","s:11Experiments14VariationCacheV12variationKey33_5C6CD6E17077F16528F36E93E5BEE309LLSSvp","s:11Experiments14VariationCacheV6assign9variation3fory010AutomatticA00B0O_AA6ABTestOtKF","s:11Experiments14VariationCacheV9variation3for010AutomatticA00B0OSgAA6ABTestO_tF","s:11Experiments15CachedVariationV","s:11Experiments17ExperimentContextO4noneyA2CmF","s:11Experiments19VariationCacheErrorO","s:11Experiments23ABTestVariationProviderP9variation3for010AutomatticA00C0OAA0B0O_tF","s:11Experiments29CachedABTestVariationProviderV9variation3for010AutomatticA00D0OAA0C0O_tF","s:11Experiments30DefaultABTestVariationProviderV","s:11Experiments6ABTestO9variation010AutomatticA09VariationOSgvp","s:11WooCommerce013ImageAndTitleD17TextTableViewCellC17DataConfigurationV14titleTintColorSo7UIColorCSgvp","s:11WooCommerce016PointOfSaleEntryC4ViewV19horizontalSizeClass33_D78FFC151C43DA7C8597458D4C948290LL7SwiftUI013UserInterfaceiJ0OSgvp","s:11WooCommerce016TitleAndSubtitleD19StatusTableViewCellC015statusContainerH0015_E8E5B2D66A05C9L16E57AB57431432B27LLSo6UIViewCSgvp","s:11WooCommerce016TitleAndSubtitleD19StatusTableViewCellC0H5ModelV2idSSvp","s:11WooCommerce018CardPresentPaymentC6ReaderV12batteryLevelSfSgvp","s:11WooCommerce018CardPresentPaymentC6ReaderV4nameSSvp","s:11WooCommerce020LabeledTextViewTableE4CellC0E5ModelV04textE13MinimumHeight14CoreFoundation7CGFloatVSgvp","s:11WooCommerce020SummaryTableViewCellE5ModelV8calendar33_0A4CB1A06BDF9A066C0AAF4C580CCCB1LL10Foundation8CalendarVvp","s:11WooCommerce029UnderlineableTitleAndSubtitleE19DetailTableViewCellC0I5ModelV2idSSvp","s:11WooCommerce031CardPresentPaymentInvalidatableE12OrchestratorC11saveReceipt3for6paramsy14NetworkingCore5OrderV_8Hardware0cdI10ParametersVtF","s:11WooCommerce035GameControllerBarcodeScannerHostingD0C04gamedE8Observer33_0E1B7A95102A9CED59B4AEB418E08E11LLAA0cdeI0CSgvp","s:11WooCommerce07DefaultA23ShippingItemsDataSourceC05orderE033_B0EF175DDC38F18952FFE29F01ED0CB9LLSay14NetworkingCore9OrderItemVGvp","s:11WooCommerce0A14AnalyticsEventV10SitePickerO05newToA6TappedACyFZ","s:11WooCommerce0A14AnalyticsEventV11FeatureCardO6SourceO3key33_CFB5B296482862361F35904C1880A987LLSSvpZ","s:11WooCommerce0A14AnalyticsEventV11IssueRefundO16nextButtonTapped7orderIDACs5Int64V_tFZ","s:11WooCommerce0A14AnalyticsEventV11IssueRefundO21selectAllButtonTapped7orderIDACs5Int64V_tFZ","s:11WooCommerce0A14AnalyticsEventV12CustomFieldsO013productDetaileF6TappedACyFZ","s:11WooCommerce0A14AnalyticsEventV12PaymentsFlowO4Keys33_CFB5B296482862361F35904C1880A987LLO5stateSSvpZ","s:11WooCommerce0A14AnalyticsEventV13ProductFormAIO37productDescriptionAIPauseButtonTappedACyFZ","s:11WooCommerce0A14AnalyticsEventV13ProductNameAIO","s:11WooCommerce0A14AnalyticsEventV13StoreCreationO021storeReadyAlertSwitchE6TappedACyFZ","s:11WooCommerce0A14AnalyticsEventV13StoreCreationO04siteF11FlowStarted6sourceAcE6SourceO_tFZ","s:11WooCommerce0A14AnalyticsEventV13StoreCreationO04siteF12ProfilerDatayAC10Networking0eH7AnswersVFZ","s:11WooCommerce0A14AnalyticsEventV13StoreCreationO04siteF13SitePreviewedACyFZ","s:11WooCommerce0A14AnalyticsEventV13StoreCreationO04siteF14RequestSuccess0G2ID10domainNameACs5Int64V_SStFZ","s:11WooCommerce0A14AnalyticsEventV13StoreCreationO04siteF14TimeoutRetriedACyFZ","s:11WooCommerce0A14AnalyticsEventV13StoreCreationO04siteF16TryForFreeTappedACyFZ","s:11WooCommerce0A14AnalyticsEventV13StoreCreationO04siteF19PropertiesOutOfSyncACyFZ","s:11WooCommerce0A14AnalyticsEventV13StoreCreationO04siteF23ProfilerQuestionSkipped4stepAcE4StepO_tFZ","s:11WooCommerce0A14AnalyticsEventV13StoreCreationO04siteF4Step4stepAcE0H0O_tFZ","s:11WooCommerce0A14AnalyticsEventV13StoreCreationO04siteF6Failed6source5error4flow11isFreeTrialAcE6SourceO_s5Error_pAE4FlowOSbtFZ","s:11WooCommerce0A14AnalyticsEventV13StoreCreationO04siteF8TimedOutACyFZ","s:11WooCommerce0A14AnalyticsEventV13StoreCreationO04siteF9Dismissed6source4flow11isFreeTrialAcE6SourceO_AE4FlowOSbtFZ","s:11WooCommerce0A14AnalyticsEventV13StoreCreationO04sitef6ManageE6TappedACyFZ","s:11WooCommerce0A14AnalyticsEventV13StoreCreationO0E12PickerSourceO","s:11WooCommerce0A14AnalyticsEventV13StoreCreationO11siteCreated6source0G3URL4flow11isFreeTrial11waitingTimeAcE6SourceO_SSAE4FlowOSbSStFZ","s:11WooCommerce0A14AnalyticsEventV13StoreCreationO21signupFormLoginTappedACyFZ","s:11WooCommerce0A14AnalyticsEventV13StoreCreationO24storeReadyAlertDisplayedACyFZ","s:11WooCommerce0A14AnalyticsEventV13StoreCreationO29loginPrologueCreateSiteTapped11isFreeTrialACSb_tFZ","s:11WooCommerce0A14AnalyticsEventV13StoreCreationO3Key33_C2068A0065351A4FB414C3659DA9BB01LLO11countryCodeSSvpZ","s:11WooCommerce0A14AnalyticsEventV13StoreCreationO3Key33_C2068A0065351A4FB414C3659DA9BB01LLO11isFreeTrialSSvpZ","s:11WooCommerce0A14AnalyticsEventV13StoreCreationO3Key33_C2068A0065351A4FB414C3659DA9BB01LLO11waitingTimeSSvpZ","s:11WooCommerce0A14AnalyticsEventV13StoreCreationO3Key33_C2068A0065351A4FB414C3659DA9BB01LLO13initialDomainSSvpZ","s:11WooCommerce0A14AnalyticsEventV13StoreCreationO3Key33_C2068A0065351A4FB414C3659DA9BB01LLO13sellingStatusSSvpZ","s:11WooCommerce0A14AnalyticsEventV13StoreCreationO3Key33_C2068A0065351A4FB414C3659DA9BB01LLO16sellingPlatformsSSvpZ","s:11WooCommerce0A14AnalyticsEventV13StoreCreationO3Key33_C2068A0065351A4FB414C3659DA9BB01LLO3urlSSvpZ","s:11WooCommerce0A14AnalyticsEventV13StoreCreationO3Key33_C2068A0065351A4FB414C3659DA9BB01LLO4flowSSvpZ","s:11WooCommerce0A14AnalyticsEventV13StoreCreationO3Key33_C2068A0065351A4FB414C3659DA9BB01LLO4stepSSvpZ","s:11WooCommerce0A14AnalyticsEventV13StoreCreationO3Key33_C2068A0065351A4FB414C3659DA9BB01LLO6sourceSSvpZ","s:11WooCommerce0A14AnalyticsEventV13StoreCreationO3Key33_C2068A0065351A4FB414C3659DA9BB01LLO8categorySSvpZ","s:11WooCommerce0A14AnalyticsEventV13StoreCreationO3Key33_C2068A0065351A4FB414C3659DA9BB01LLO9newSiteIDSSvpZ","s:11WooCommerce0A14AnalyticsEventV13StoreCreationO4FlowO","s:11WooCommerce0A14AnalyticsEventV13StoreCreationO4StepO","s:11WooCommerce0A14AnalyticsEventV13StoreCreationO6SourceO","s:11WooCommerce0A14AnalyticsEventV14InAppPurchasesO23planUpgradeScreenLoaded6sourceAcE6SourceO_tFZ","s:11WooCommerce0A14AnalyticsEventV14InAppPurchasesO6SourceO","s:11WooCommerce0A14AnalyticsEventV14SimplePaymentsO06simpleF19MigrationSheetShownACyFZ","s:11WooCommerce0A14AnalyticsEventV14SimplePaymentsO06simpleF29MigrationSheetAddCustomAmountACyFZ","s:11WooCommerce0A14AnalyticsEventV15ProductCreationO3Key33_93869583A706912CA6E18305067A75ACLLO12creationTypeSSvpZ","s:11WooCommerce0A14AnalyticsEventV16OrderDetailsEditO28orderDetailPaymentLinkSharedACyFZ","s:11WooCommerce0A14AnalyticsEventV17OrderDetailAddOnsO25betaFeaturesSwitchToggled4isOnACSb_tFZ","s:11WooCommerce0A14AnalyticsEventV17OrderDetailAddOnsO4Keys33_CFB5B296482862361F35904C1880A987LLO5stateSSvpZ","s:11WooCommerce0A14AnalyticsEventV17ProductCreationAIO25productNameContinueTappedACyFZ","s:11WooCommerce0A14AnalyticsEventV17ProductCreationAIO6SurveyO","s:11WooCommerce0A14AnalyticsEventV20DashboardCustomRangeO11tabSelectedACyFZ","s:11WooCommerce0A14AnalyticsEventV30InPersonPaymentsFeedbackBannerO","s:11WooCommerce0A14AnalyticsEventV5BlazeO3Key33_B767F6CF84DC740BBA8619895253257ALLO4stepSSvpZ","s:11WooCommerce0A14AnalyticsEventV5BlazeO4StepO","s:11WooCommerce0A14AnalyticsEventV9DashboardO25dashboardTimezonesDiffers13localTimezone05storeJ0ACSd_SdtFZ","s:11WooCommerce0A14AnalyticsEventV9DashboardO4Keys33_7541147E74628D38CC38A85A89660CDALLO13localTimezoneSSvpZ","s:11WooCommerce0A14AnalyticsEventV9DashboardO4Keys33_7541147E74628D38CC38A85A89660CDALLO13storeTimezoneSSvpZ","s:11WooCommerce0A17CrashLoggingStackV27willEnterForegroundObserver33_A17FB402F8B02090B0F93DE002CBCD20LLSo8NSObject_pvp","s:11WooCommerce0A17CrashLoggingStackV31QueuedLogsDidChangeNotificationSo18NSNotificationNameavpZ","s:11WooCommerce0A17CrashLoggingStackV8logError_8userInfo5levelys0G0_p_SDySSypGSg0A14FoundationCore13SeverityLevelOtF","s:11WooCommerce0A18BasicTableViewCellC14accessoryImageSo7UIImageCSgvp","s:11WooCommerce0A18BasicTableViewCellC20applyActionableStyleyyF","s:11WooCommerce0A18ShippingCustomsRowV6Layout33_A6564BA9C9A9F3C34A4732A3A357D022LLO19statusBadgeFontSize14CoreFoundation7CGFloatVvpZ","s:11WooCommerce0A18ShippingCustomsRowV6Layout33_A6564BA9C9A9F3C34A4732A3A357D022LLO20customsTitleFontSize14CoreFoundation7CGFloatVvpZ","s:11WooCommerce0A21ShippingPackageSourceO8sourceIDSSSgvp","s:11WooCommerce0A22ShippingAddPackageViewV10weightUnit33_4C9A6416305FA782D22D3E51CF1682CELLSSvp","s:11WooCommerce0A22ShippingAddPackageViewV11cancellable33_4C9A6416305FA782D22D3E51CF1682CELL7Combine14AnyCancellableCSgvp","s:11WooCommerce0A22ShippingAddPackageViewV14dimensionsUnit33_4C9A6416305FA782D22D3E51CF1682CELLSSvp","s:11WooCommerce0A22ShippingItemsViewModelC12Localization33_7C87F9181F9255BF66649B40FCEC6C32LLO16dimensionsFormatSSvpZ","s:11WooCommerce0A22ShippingItemsViewModelC16itemsDetailLabelSSvp","s:11WooCommerce0A22ShippingItemsViewModelC8itemRowsSayAA0ac7ItemRoweF0VGvp","s:11WooCommerce0A24ShippingCreateLabelsViewV12Localization023_F37F1EF63CB8D1ABACF800L8E7B1B966LLO11BottomSheetO9paperSizeSSvpZ","s:11WooCommerce0A24ShippingCreateLabelsViewV6Layout023_F37F1EF63CB8D1ABACF800L8E7B1B966LLO11chevronSize14CoreFoundation7CGFloatVvpZ","s:11WooCommerce0A24ShippingCreateLabelsViewV6Layout023_F37F1EF63CB8D1ABACF800L8E7B1B966LLO9rowHeight14CoreFoundation7CGFloatVvpZ","s:11WooCommerce0A25ShippingPackageOptionViewV14showTopDividerSbvp","s:11WooCommerce0A25ShippingPaymentMethodLineO04CarddeF9ViewModelV2ids5Int64Vvp","s:11WooCommerce0A26ShippingSplitShipmentsViewV6Layout33_5CC4A26E63113B475248AEAC23C5DDC4LLO11borderWidth14CoreFoundation7CGFloatVvpZ","s:11WooCommerce0A26ShippingSplitShipmentsViewV6Layout33_5CC4A26E63113B475248AEAC23C5DDC4LLO18borderCornerRadius14CoreFoundation7CGFloatVvpZ","s:11WooCommerce0A27RoundedBorderTextFieldStyleV5_body13configurationQr7SwiftUI0eF0VyAF01_efG5LabelVG_tF","s:11WooCommerce0A27ShippingAddPackageViewModelC20allPredefinedOptions33_19EC71D6F029CF7A6F732A9E3675CB7ELLSay10Networking0ac7CarrieriJ0VGvp","s:11WooCommerce0A29ShippingCreateLabelsViewModelC12postPurchaseAA0ac4PostifG0CSgvp","s:11WooCommerce0A29ShippingCreateLabelsViewModelC15currentShipmentAA0ac14SplitShipmentsfG0C0I0Vvp","s:11WooCommerce0A35PaymentsPayoutsCurrencyOverviewViewV21showPayoutSummaryInfo33_EE529E84B566FBBD3F631FE34A7A43A2LLSbvp","s:11WooCommerce0A40PaymentsPayoutsCurrencyOverviewViewModelC12Localization33_2AAA50646096BAB2A7C840BB0E86C5F6LLO19estimatedDateStringSSvpZ","s:11WooCommerce0A40ShippingCustomsItemDescriptionInfoDialogV6LayoutO13dividerHeight14CoreFoundation7CGFloatVvpZ","s:11WooCommerce0A40ShippingCustomsItemDescriptionInfoDialogV6LayoutO20taxLinesInnerSpacing14CoreFoundation7CGFloatVvpZ","s:11WooCommerce0A41ShippingCreateLabelsViewHostingControllerC9viewModelAA0acdefJ0Cvp","s:11WooCommerce0A42ShippingCustomsItemOriginCountryInfoDialogV5scale33_BCAD4991F148E96979A67440A6D76BDBLL14CoreFoundation7CGFloatVvp","s:11WooCommerce0A42ShippingCustomsItemOriginCountryInfoDialogV6LayoutO13dividerHeight14CoreFoundation7CGFloatVvpZ","s:11WooCommerce0A42ShippingCustomsItemOriginCountryInfoDialogV6LayoutO20taxLinesInnerSpacing14CoreFoundation7CGFloatVvpZ","s:11WooCommerce0A42ShippingCustomsItemOriginCountryInfoDialogV6LayoutO21externalLinkImageSize14CoreFoundation7CGFloatVvpZ","s:11WooCommerce0A9ConstantsO","s:11WooCommerce0A9ConstantsO16defaultStoreNameSSvpZ","s:11WooCommerce0A9ConstantsO19applicationPasswordSSvpZ","s:11WooCommerce0A9ConstantsO19keychainServiceNameSSvpZ","s:11WooCommerce0A9WPComPlanV","s:11WooCommerce0A9WPComPlanV08SkeletoncD7Product33_2EF44F0D109B805A31D10CE32586CD9BLLV11descriptionSSvp","s:11WooCommerce0A9WPComPlanV09hardcodedD11DataIsValidSbvp","s:11WooCommerce0A9WPComPlanV27shouldDisplayIsPopularBadgeSbvp","s:11WooCommerce10BadgeLabelC11borderWidth0E5Color5frameAC14CoreFoundation7CGFloatV_So7UIColorCSo6CGRectVtcfc","s:11WooCommerce10BadgeLabelC9setupView33_1685E3FE0154F95CFB7355DAB9CE29F7LLyyF","s:11WooCommerce10TotalsViewV07PaymentD6Layout33_2E53C83948E77FD2D742991080BDD25BLLV15backgroundColor7SwiftUI0N0Vvp","s:11WooCommerce11AIToneVoiceO","s:11WooCommerce11AppDelegateC23jetpackSetupCoordinator33_AC2B85D03F88EE646416F2C4AF52A291LLAA07JetpackfG0CSgvp","s:11WooCommerce11CoordinatorP","s:11WooCommerce11ItemListRowV8posModel33_CC5E36E6522DA7255AA546BDA407E82DLLAA020PointOfSaleAggregateG0Cvp","s:11WooCommerce11ItemRowViewV15dynamicTypeSize7SwiftUI07DynamicgH0Ovp","s:11WooCommerce11ToolbarViewC15addDividerOnTopyyF","s:11WooCommerce12FilterTabBarC03tabE24HeightConstraintPrioritySfvp","s:11WooCommerce12FilterTabBarC13accessoryViewSo6UIViewCSgvp","s:11WooCommerce12FilterTabBarC21currentlySelectedItemAA0cdeH0_pSgvp","s:11WooCommerce12ItemListViewV10searchTask33_598BABBDFA0A2F354CBF3BC624FFDFE3LLScTyyts5NeverOGSgvp","s:11WooCommerce12ItemListViewV11BannerState33_598BABBDFA0A2F354CBF3BC624FFDFE3LLO","s:11WooCommerce12ItemListViewV15didFinishSearch33_598BABBDFA0A2F354CBF3BC624FFDFE3LLSbvp","s:11WooCommerce12ItemListViewV15dynamicTypeSize33_598BABBDFA0A2F354CBF3BC624FFDFE3LL7SwiftUI07DynamicgH0Ovp","s:11WooCommerce12Localization33_952842152DE9CF0D87892A188F42DD70LLO21tapToPayLearnMoreTextSSvpZ","s:11WooCommerce12Localization33_BFC5D69B639B470830B2404485592FEELLO5titleSSvpZ","s:11WooCommerce12Localization33_BFC5D69B639B470830B2404485592FEELLO9learnMoreSSvpZ","s:11WooCommerce12Localization33_CA46D3B94DBCDCFB151C85DCC818A281LLO12invalidEmailSSvpZ","s:11WooCommerce12Localization33_EDF879A393D54559F38A697A5627AED9LLO13quantityLabelSSvpZ","s:11WooCommerce12StringStylesV","s:11WooCommerce12StyleManagerC14chartLabelFontSo6UIFontCvpZ","s:11WooCommerce12StyleManagerC15thinCaptionFontSo6UIFontCvpZ","s:11WooCommerce12StyleManagerC16headlineSemiBoldSo6UIFontCvpZ","s:11WooCommerce12UpgradesViewV6Layout33_2EF44F0D109B805A31D10CE32586CD9BLLV12smallPadding14CoreFoundation7CGFloatVvpZ","s:11WooCommerce12UpgradesViewV6Layout33_2EF44F0D109B805A31D10CE32586CD9BLLV14contentSpacing14CoreFoundation7CGFloatVvpZ","s:11WooCommerce12UpgradesViewV6Layout33_2EF44F0D109B805A31D10CE32586CD9BLLV7padding14CoreFoundation7CGFloatVvpZ","s:11WooCommerce12ZendeskForms33_C3E31659A71B27E928FA313AD7B14A5DLLO3IDsO11siteAddresss5Int64VvpZ","s:11WooCommerce12ZendeskForms33_C3E31659A71B27E928FA313AD7B14A5DLLO3IDsO11subCategorys5Int64VvpZ","s:11WooCommerce12ZendeskForms33_C3E31659A71B27E928FA313AD7B14A5DLLO3IDsO8categorys5Int64VvpZ","s:11WooCommerce13AuthenticatorP23showSiteCredentialLogin4from7siteURL12onCompletionySo16UIViewControllerC_SSy09WordPressC00oP14OrgCredentialsVctFZ","s:11WooCommerce13ChildItemListV12Localization33_D5120C025417124F6045765755069662LLO","s:11WooCommerce13CouponDetailsV12Localization33_AA5E7FF84CCB15EB3C9D6AC2C38786C8LLO05usageD0SSvpZ","s:11WooCommerce13CouponDetailsV9DetailRow33_AA5E7FF84CCB15EB3C9D6AC2C38786C8LLV","s:11WooCommerce13DynamicHStackV","s:11WooCommerce13DynamicVStackV","s:11WooCommerce13ItemListStateO13isInlineErrorSbvp","s:11WooCommerce13ItemListStateO7isErrorSbvp","s:11WooCommerce13ItemListStateO9isLoadingSbvp","s:11WooCommerce13RoundedBorderV6Layout33_FF9DEFB8CD6FF28E8DB1D79788CE6C39LLO6height14CoreFoundation7CGFloatVvpZ","s:11WooCommerce13ScanToPayViewV6LayoutO17backgroundOpacity14CoreFoundation7CGFloatVvpZ","s:11WooCommerce13SegmentedViewV9selection5viewsACyxG7SwiftUI7BindingVySiG_SayxGtcfc","s:11WooCommerce13TopLoaderViewC05stackE033_32E8926391CC2B27973AF062D382A28BLLSo07UIStackE0CSgvp","s:11WooCommerce13WCShipCTAViewV2iO33_24EE720FF1B4362D8AD2721ACD6827BCLL6Inject17InjectionObserverCvp","s:11WooCommerce14ApiCredentialsV12tracksPrefixSSvpZ","s:11WooCommerce14AppCoordinatorC024upgradesViewPresentationD033_DB13E20A0BF97D46E79BF827D3DBDF4BLLAA08UpgradesfgD0Cvp","s:11WooCommerce14AppCoordinatorC12Localization33_DB13E20A0BF97D46E79BF827D3DBDF4BLLO","s:11WooCommerce14AppCoordinatorC18featureFlagService33_DB13E20A0BF97D46E79BF827D3DBDF4BLL11Experiments07FeaturefG0_pvp","s:11WooCommerce14AppCoordinatorC18switchStoreUseCase33_DB13E20A0BF97D46E79BF827D3DBDF4BLLAA06SwitchfgH8Protocol_pvp","s:11WooCommerce14AppCoordinatorC27installPendingThemeIfNeeded33_DB13E20A0BF97D46E79BF827D3DBDF4BLL6siteIDys5Int64V_tF","s:11WooCommerce14CurrencySymbolV","s:11WooCommerce14POSSearchFieldV06searchD6Height33_6A46306541CB1809D8F5FF26EA7534AALL14CoreFoundation7CGFloatVvp","s:11WooCommerce14ProductFactoryV03newC04from10Networking0C0VAH_tF","s:11WooCommerce14ProductStepperV5scale33_EDF879A393D54559F38A697A5627AED9LL14CoreFoundation7CGFloatVvp","s:11WooCommerce14ServiceLocatorC014setFeatureFlagC0yy11Experiments0fgC0_pFZ","s:11WooCommerce14ServiceLocatorC019setShippingSettingsC0yy8Yosemite0fgC0_pFZ","s:11WooCommerce14ServiceLocatorC12setAnalyticsyy0A10Foundation0F0_pFZ","s:11WooCommerce14ServiceLocatorC13setCardReaderyy8Hardware0fgC0_pFZ","s:11WooCommerce14ServiceLocatorC13setFileLoggeryyAA4Logs_pFZ","s:11WooCommerce14ServiceLocatorC15setCrashLoggingyyAA0fG5Stack_pFZ","s:11WooCommerce14ServiceLocatorC17setReceiptPrinteryy8Hardware0gC0_pFZ","s:11WooCommerce14ServiceLocatorC17setStorageManageryy0F008CoreDataG0CFZ","s:11WooCommerce14ServiceLocatorC18setNoticePresenteryyAA0fG0_pFZ","s:11WooCommerce14ServiceLocatorC19setCurrencySettingsyy0A14FoundationCore0fG0CFZ","s:11WooCommerce14ServiceLocatorC19setPushNotesManageryyAA0fgH0_pFZ","s:11WooCommerce14ServiceLocatorC23setConnectivityObserveryyAA0fG0_pFZ","s:11WooCommerce14ServiceLocatorC23setProductImageUploaderyyAA0fgH8Protocol_pFZ","s:11WooCommerce14ServiceLocatorC23setSelectedSiteSettingsyyAA0fgH0CFZ","s:11WooCommerce14ServiceLocatorC24setAuthenticationManageryyAA0F0_pFZ","s:11WooCommerce14ServiceLocatorC27setCardReaderConfigProvideryy8Yosemite06CommongH9Providing_pFZ","s:11WooCommerce14ServiceLocatorC28setGeneralAppSettingsStorageyy0I00fghI0VFZ","s:11WooCommerce14ThemeInstallerP08scheduleC7Install7themeID04siteH0ySS_s5Int64VtF","s:11WooCommerce14TotalFieldView33_2E53C83948E77FD2D742991080BDD25BLLV15dynamicTypeSize7SwiftUI07DynamicmN0Ovp","s:11WooCommerce14ZendeskManagerC14createIdentity9presentIn10completionySo16UIViewControllerC_ySbctF","s:11WooCommerce15CouponListStateO19shouldShowTopBannerSbvp","s:11WooCommerce15MultiShadowView33_96544B89EF2149EECD02A1A70984735ELLC9fillColorSo7UIColorCvp","s:11WooCommerce15SearchUICommandPAAE46configureEmptyStateViewControllerBeforeDisplay04viewI013searchKeywordyAA0fghI0C_SStF","s:11WooCommerce15StorePlanBannerV12LocalizationO","s:11WooCommerce15StringFormatterV","s:11WooCommerce15TableFooterViewC10iconHeight33_4B3BDFC46F1C88BEED62F2896DD1B47CLLSo18NSLayoutConstraintCSgvp","s:11WooCommerce15TableFooterViewC15reuseIdentifierSSvpZ","s:11WooCommerce15TableFooterViewC9iconWidth33_4B3BDFC46F1C88BEED62F2896DD1B47CLLSo18NSLayoutConstraintCSgvp","s:11WooCommerce16AppRatingManagerC","s:11WooCommerce16AppRatingManagerC016hasUserEverLikedC0SbyF","s:11WooCommerce16AppRatingManagerC019hasUserEverDislikedC0SbyF","s:11WooCommerce16AppRatingManagerC19likedCurrentVersionyyF","s:11WooCommerce16AppRatingManagerC22dislikedCurrentVersionyyF","s:11WooCommerce16AppRatingManagerC25incrementSignificantEventyyF","s:11WooCommerce16AppRatingManagerC28declinedToRateCurrentVersionyyF","s:11WooCommerce16AppRatingManagerC29_overrideLastPromptToRateDateyy10Foundation0K0VF","s:11WooCommerce16AppRatingManagerC29gaveFeedbackForCurrentVersionyyF","s:11WooCommerce16AppRatingManagerC31_overridePromptingDisabledLocalyySbF","s:11WooCommerce16AppRatingManagerC3Key33_26D946D70A3EECF8E72369FFB851FE82LLO13userLikeCountSSvpZ","s:11WooCommerce16AppRatingManagerC3Key33_26D946D70A3EECF8E72369FFB851FE82LLO16userDislikeCountSSvpZ","s:11WooCommerce16HubMenuViewModelC08selectedD2IDSSSgvp","s:11WooCommerce16HubMenuViewModelC17posCouponProvider8Yosemite011PointOfSaleH15ServiceProtocol_pvp","s:11WooCommerce16HubMenuViewModelC18barcodeScanService8Yosemite018PointOfSaleBarcodehI0Cvp","s:11WooCommerce16HubMenuViewModelC18generalAppSettings33_DB9610FC785E62BB69B47010E9F449B9LL7Storage07GeneralhiR0Vvp","s:11WooCommerce16HubMenuViewModelC22updateTrackEventPrefix33_DB9610FC785E62BB69B47010E9F449B9LLyySbF","s:11WooCommerce16HubMenuViewModelC24updateInAppNotifications33_DB9610FC785E62BB69B47010E9F449B9LLyySbF","s:11WooCommerce16HubMenuViewModelC25cardPresentPaymentServiceAA04CardhI6Facade_pSgvp","s:11WooCommerce16HubMenuViewModelC27posItemFetchStrategyFactory8Yosemite011PointOfSalehijK0Cvp","s:11WooCommerce16HubMenuViewModelC28refreshBlazeEligibilityCheckyyF","s:11WooCommerce16HubMenuViewModelC29cardPresentPaymentsOnboarding33_DB9610FC785E62BB69B47010E9F449B9LLAA04CardhiJ15UseCaseProtocol_pvp","s:11WooCommerce16HubMenuViewModelC29posCouponFetchStrategyFactory8Yosemite011PointOfSalehijK0Vvp","s:11WooCommerce16HubMenuViewModelC29tapToPayBadgePromotionCheckerAA03TaphijkL0Cvp","s:11WooCommerce16HubMenuViewModelC34posPopularItemFetchStrategyFactory8Yosemite016PointOfSaleFixedijkL0Cvp","s:11WooCommerce16HubMenuViewModelC40updateDefaultConfigurationForPointOfSaleyySbF","s:11WooCommerce16ItemToFulfillRowV20productOrVariationIDs5Int64Vvp","s:11WooCommerce16JetpackSetupViewV9Constants33_02A776E4042E8756E6FC19434491147BLLO24stepItemsVerticalSpacing14CoreFoundation7CGFloatVvpZ","s:11WooCommerce16MainTabViewModelC18featureFlagService33_AD2E272F03141D7E73E25732DB21DCD4LL11Experiments07FeaturehI0_pvp","s:11WooCommerce16NewNoteViewModelC10orderNotesSay14NetworkingCore05OrderD0VGvp","s:11WooCommerce16NewNoteViewModelC6siteIDs5Int64Vvp","s:11WooCommerce16NoZendeskManagerV","s:11WooCommerce16POSItemImageViewV9Constants33_C1DA3D72F59908231AEAFCE8A3773E3CLLO","s:11WooCommerce16PushNotesManagerP22cancelAllNotificationsyyYaF","s:11WooCommerce16PushNotesManagerP23backgroundNotifications7Combine12AnyPublisherVyAA0C12NotificationVs5NeverOGvp","s:11WooCommerce16PushNotesManagerP30ensureAuthorizationIsRequested23includesProvisionalAuth12onCompletionySb_ySbcSgtF","s:11WooCommerce16PushNotesManagerP30registerForRemoteNotificationsyyF","s:11WooCommerce16ReusableTableRowP","s:11WooCommerce16ReviewsViewModelC14refreshResultsyyF","s:11WooCommerce16ReviewsViewModelC8Settings33_9AE60D64595CBC24479246E8ED005EABLLO8pageSizeSivpZ","s:11WooCommerce16StringDescriptorP10attributes4fromSDySo012NSAttributedC3KeyaypGSgAA0C6StylesV_tF","s:11WooCommerce16StringDescriptorP3url10Foundation3URLVSgvp","s:11WooCommerce16StringDescriptorP5rangeSo8_NSRangeVvp","s:11WooCommerce16StringDescriptorP5valueSSSgvp","s:11WooCommerce16TitleAndValueRowV9Constants33_A60AB5FD954B2F4C693B5F5F691661FBLLO9maxHeight14CoreFoundation7CGFloatVvpZ","s:11WooCommerce16TooltipPresenterC09secondaryC6Action33_C51FB4FCC43486FC180E70C4C86D9A1ELLyycSgvp","s:11WooCommerce16WPComPlanProductP11descriptionSSvp","s:11WooCommerce17LocalNotificationV11UserInfoKeyO","s:11WooCommerce17NetworkMonitoringP6cancelyyF","s:11WooCommerce17OrderSynchronizerP15giftCardToApplySSSgvp","s:11WooCommerce17OwnerUpgradesViewV12Localization33_1ACF78A699375A52DEA3EFAC5DFCA92CLLV24featuresHeaderTextFormatSSvpZ","s:11WooCommerce17OwnerUpgradesViewV12Localization33_1ACF78A699375A52DEA3EFAC5DFCA92CLLV29featureDetailsUnavailableTextSSvpZ","s:11WooCommerce17POSTabCoordinatorC22tabContainerController33_029BF6739788F1176873ECCB6839D580LLAA03TabfG0Cvp","s:11WooCommerce17PaginationTrackerC22highestPageBeingSynced33_95D004284C70B8ED18C687AC6745FB99LLSiSgvp","s:11WooCommerce17ProductVisibilityO11descriptionSSvp","s:11WooCommerce17ProductVisibilityO6status8passwordAC10Networking0C6StatusO_SSSgtcfc","s:11WooCommerce17ReviewsDataSourceC07refreshD9ObserversyyF","s:11WooCommerce17ReviewsDataSourceC15filterPredicate33_1DA719824C8769F0DEFEA5FC5EA85E60LLSo11NSPredicateCyF","s:11WooCommerce17SelectableItemRowV2id33_AF6DB3E77694C27CFA41C592D3547FA9LL10Foundation4UUIDVvp","s:11WooCommerce17SettingsViewModelC13zendeskShared33_19B56412F2C983583EB6BEED32EFB1E7LLAA22ZendeskManagerProtocol_pvp","s:11WooCommerce17SettingsViewModelC14storageManager33_19B56412F2C983583EB6BEED32EFB1E7LL7Storage0oG4Type_pvp","s:11WooCommerce17SettingsViewModelC9analytics33_19B56412F2C983583EB6BEED32EFB1E7LL0A10Foundation9Analytics_pvp","s:11WooCommerce17SubscriptionsViewV12Localization33_8966BF29A4C32385184305D5A3040E26LLO18experienceFeaturesSSvpZ","s:11WooCommerce17SubscriptionsViewV19onReportIssueTappedyycSgvp","s:11WooCommerce17SubscriptionsViewV6Layout33_8966BF29A4C32385184305D5A3040E26LLO","s:11WooCommerce17SubtotalFieldView33_2E53C83948E77FD2D742991080BDD25BLLV15dynamicTypeSize7SwiftUI07DynamicmN0Ovp","s:11WooCommerce17TitleAndToggleRowV9Constants33_051EA03152758F64D07C4CE437130079LLO","s:11WooCommerce17TopPerformersViewV13rowTextMargin33_B1B4CFCD2B96E3A750AA812A9C8F343BLL14CoreFoundation7CGFloatVvp","s:11WooCommerce17UpgradesViewModelC5trackyyAA0A13AnalyticsStatOF","s:11WooCommerce17WatchDependenciesV","s:11WooCommerce17WatchDependenciesV7storeID0E4Name16currencySettings11credentials19applicationPassword19enablesCrashReports7accountACs5Int64V_SS0A14FoundationCore08CurrencyI0C010NetworkingS011CredentialsOAP011ApplicationL0VSgSbAP7AccountVSgtcfc","s:11WooCommerce17WatchDependenciesV7storeID0E4Name16currencySettings11credentials19enablesCrashReports7accountACs5Int64V_SS0A14FoundationCore08CurrencyI0C010NetworkingQ011CredentialsOSbAO7AccountVSgtcfc","s:11WooCommerce18ActionSheetStrings33_40B60ACED569B4ABA586F1F653249D62LLO16promoteWithBlazeSSvpZ","s:11WooCommerce18ApplicationAdapterP30registerForRemoteNotificationsyyF","s:11WooCommerce18AuthenticatedStateC18errorObserverToken33_E1BB93928BB5674BE987DB86AC353FB1LLSo8NSObject_pSgvp","s:11WooCommerce18AuthenticatedStateC36trackEventRequestNotificationHandler33_E1BB93928BB5674BE987DB86AC353FB1LLAA05TrackfghI0Cvp","s:11WooCommerce18AuthenticatedStateC8services33_E1BB93928BB5674BE987DB86AC353FB1LLSay8Yosemite16ActionsProcessor_pGvp","s:11WooCommerce18AztecAIViewFactoryV6Layout33_C140245354BF05251E39A31E57EE0F0BLLO8AIButtonO9imageSizeSo6CGSizeVvpZ","s:11WooCommerce18DashboardViewModelC12statsVersion7Storage05StatsG0Ovp","s:11WooCommerce18DashboardViewModelC18featureFlagService33_04BB8AC2B37B0ABC31189D409356ECF5LL11Experiments07FeaturegH0_pvp","s:11WooCommerce18DashboardViewModelC18trackStatsTimezone05localH013siteGMTOffsety10Foundation8TimeZoneV_SdtF","s:11WooCommerce18DashboardViewModelC9Constants33_04BB8AC2B37B0ABC31189D409356ECF5LLO13orderPageSizeSivpZ","s:11WooCommerce18DashboardViewModelC9Constants33_04BB8AC2B37B0ABC31189D409356ECF5LLO15orderPageNumberSivpZ","s:11WooCommerce18DashboardViewModelC9Constants33_04BB8AC2B37B0ABC31189D409356ECF5LLO19dashboardScreenNameSSvpZ","s:11WooCommerce18DashboardViewModelC9Constants33_04BB8AC2B37B0ABC31189D409356ECF5LLO19topEarnerStatsLimitSivpZ","s:11WooCommerce18HubMenuCoordinatorC9Constants33_E04E25F91F056C956FCAF0FE4E689D9FLLO","s:11WooCommerce18LearnMoreViewModelC8tapToPay6source14paymentGatewayAcA0A14AnalyticsEventV16InPersonPaymentsO0cD10LinkSourceO_8Yosemite011CardPresentQ6PluginOSgtFZ","s:11WooCommerce18ModalOverlay_UIKitV","s:11WooCommerce18OrderListViewModelC18featureFlagService33_7CF84F63DC2EEFDB1DCD00B4D325D089LL11Experiments07FeaturehI0_pvp","s:11WooCommerce18OrderListViewModelC21isIPPSupportedCountry33_7CF84F63DC2EEFDB1DCD00B4D325D089LLSbvp","s:11WooCommerce18OrderListViewModelC9analytics33_7CF84F63DC2EEFDB1DCD00B4D325D089LL0A10Foundation9Analytics_pvp","s:11WooCommerce18OrderStatusSectionV6Layout33_08EE51671C05B73BB8178F3F73C87243LLO25linkButtonTrailingPadding14CoreFoundation7CGFloatVvpZ","s:11WooCommerce18OverlayMessageViewC012actionButtonE0So6UIViewCvp","s:11WooCommerce18PaymentMethodsViewV12LocalizationO11cancelTitleSSvpZ","s:11WooCommerce18SwitchStoreUseCaseC13zendeskShared33_992B21F0E68CDC529AD25AFFC64E36DCLLAA22ZendeskManagerProtocol_pvp","s:11WooCommerce18ThemesCarouselViewV5scale33_58460330D91D0F44DAEBBE79C9582EF2LL14CoreFoundation7CGFloatVvp","s:11WooCommerce18ValidationErrorRowV9minHeight33_6CEDAADABBA480CD161AC6C0AE2AB516LL14CoreFoundation7CGFloatVvp","s:11WooCommerce19AddCustomAmountViewV6Layout33_64CF24CA1EA1A860610121ECD1DF95BDLLO","s:11WooCommerce19AnalyticsReportCardV6Layout33_AC48C3BE3270EF49888FA3AE04C95E79LLO11chartHeight14CoreFoundation7CGFloatVvpZ","s:11WooCommerce19BulkUpdateViewModelC3Rowa","s:11WooCommerce19ButtonTableViewCellC04sendC12TouchUpEvent33_5449A636B1C96DBF47F0F5505AF00141LLyyF","s:11WooCommerce19CouponLineViewModelV12Localization33_131F9098DA97A2234213CA079703D43BLLO","s:11WooCommerce19CouponLineViewModelV14formattedTitleSSvp","s:11WooCommerce19CouponListViewModelC14storageManager33_74B5357195BAAC677FF8EBBA7C33F8FFLL7Storage0pH4Type_pvp","s:11WooCommerce19CustomAmountRowViewV5scale33_15C34DB3D5958B551EEDA2F5B69BC851LL14CoreFoundation7CGFloatVvp","s:11WooCommerce19CustomAmountRowViewV6LayoutO17editIconImageSize14CoreFoundation7CGFloatVvpZ","s:11WooCommerce19LedgerTableViewCellC12getFeesLabelSo7UILabelCyF","s:11WooCommerce19LedgerTableViewCellC12getFeesValueSo7UILabelCyF","s:11WooCommerce19LedgerTableViewCellC13getTaxesLabelSo7UILabelCyF","s:11WooCommerce19LedgerTableViewCellC13getTaxesValueSo7UILabelCyF","s:11WooCommerce19LedgerTableViewCellC13getTotalLabelSo7UILabelCyF","s:11WooCommerce19LedgerTableViewCellC13getTotalValueSo7UILabelCyF","s:11WooCommerce19LedgerTableViewCellC16getDiscountLabelSo7UILabelCyF","s:11WooCommerce19LedgerTableViewCellC16getDiscountValueSo7UILabelCyF","s:11WooCommerce19LedgerTableViewCellC16getShippingLabelSo7UILabelCyF","s:11WooCommerce19LedgerTableViewCellC16getShippingValueSo7UILabelCyF","s:11WooCommerce19LedgerTableViewCellC16getSubtotalLabelSo7UILabelCyF","s:11WooCommerce19LedgerTableViewCellC16getSubtotalValueSo7UILabelCyF","s:11WooCommerce19LedgerTableViewCellC17getGiftCardsLabelSo7UILabelCyF","s:11WooCommerce19LedgerTableViewCellC17getGiftCardsValueSo7UILabelCyF","s:11WooCommerce19LedgerTableViewCellC21totalBottomConstraint33_AB244DC274CF813DDE314F90094C4331LLSo08NSLayoutI0CSgvp","s:11WooCommerce19OrderPaymentSectionV14safeAreaInsets7SwiftUI04EdgeH0Vvp","s:11WooCommerce19OrderPaymentSectionV9Constants020_E64B49F0D08C9F3C956I11EC2EC314BC3LLO17horizontalPadding14CoreFoundation7CGFloatVvpZ","s:11WooCommerce19OrderPaymentSectionV9Constants020_E64B49F0D08C9F3C956I11EC2EC314BC3LLO23infoTooltipCornerRadius14CoreFoundation7CGFloatVvpZ","s:11WooCommerce19PluginListViewModelC11syncPlugins12onCompletionyys6ResultOyyts5Error_pGc_tF","s:11WooCommerce19PluginListViewModelC14observePlugins13onDataChangedyyyc_tF","s:11WooCommerce19ProductRowViewModelC10priceLabelSSSgvp","s:11WooCommerce19ProductRowViewModelC18pricedIndividuallySbvp","s:11WooCommerce19ProductRowViewModelC18stockQuantityLabelSSvp","s:11WooCommerce19ProductRowViewModelC23createStockQuantityText33_B4A9E56797366E26DFB9AC8A776CD728LLSSyF","s:11WooCommerce19ProductRowViewModelC23shouldDisallowDiscountsSbvp","s:11WooCommerce19ProductRowViewModelC9analytics0A10Foundation9Analytics_pvp","s:11WooCommerce19ProductSelectorViewV13ConfigurationV27doneButtonTitlePluralFormatSSvp","s:11WooCommerce19ProductSelectorViewV13ConfigurationV29doneButtonTitleSingularFormatSSvp","s:11WooCommerce19ShippingLineRowViewV5scale33_53B4E2943964EA4C9F9BFB67502BD004LL14CoreFoundation7CGFloatVvp","s:11WooCommerce19ShippingLineRowViewV6Layout33_53B4E2943964EA4C9F9BFB67502BD004LLO17editIconImageSize14CoreFoundation7CGFloatVvpZ","s:11WooCommerce20AddTrackingViewModelC08shipmentD010Networking08ShipmentD0VSgvp","s:11WooCommerce20AddTrackingViewModelC20secondaryActionTitleSSSgvp","s:11WooCommerce20CardWaveProgressView33_3B7532BAFAEBF8DEAD04F07E5D8AC3B7LLV13configuration7SwiftUI0eF18StyleConfigurationVvp","s:11WooCommerce20ConnectivityObserverP13stopObservingyyF","s:11WooCommerce20ConnectivityObserverP14startObservingyyF","s:11WooCommerce20CreateOrderAppIntentV","s:11WooCommerce20CustomFieldViewModelV8valueURL10Foundation0H0VSgvp","s:11WooCommerce20CustomFieldsListViewV16presentationMode7SwiftUI7BindingVyAE012PresentationH0VGvp","s:11WooCommerce20DeauthenticatedStateC8services33_258B751563653E0D0BCA4EFC65025888LLSay8Yosemite0C5StoreCGvp","s:11WooCommerce20DefaultStoresManagerC37invalidWPCOMTokenNotificationObserver019_D8F7FF1995EC592CB2J12AEB1D9AF5CD1LLSo8NSObject_pSgvp","s:11WooCommerce20DefaultStoresManagerC44applicationPasswordGenerationFailureObserver019_D8F7FF1995EC592CB2K12AEB1D9AF5CD1LLSo8NSObject_pSgvp","s:11WooCommerce20EditableProductModelC8passwordSSSgvp","s:11WooCommerce20FeeLineTypeViewModel33_93BDBA0312C78AEDB1978DF6EE5A9191LLV12LocalizationO","s:11WooCommerce20FeeLineTypeViewModel33_93BDBA0312C78AEDB1978DF6EE5A9191LLV15navigationTitleSSvp","s:11WooCommerce20FeeLineTypeViewModel33_93BDBA0312C78AEDB1978DF6EE5A9191LLV17removeButtonTitleSSvp","s:11WooCommerce20FeeLineTypeViewModel33_93BDBA0312C78AEDB1978DF6EE5A9191LLV33doneButtonAccessibilityIdentifierSSvp","s:11WooCommerce20FeeLineTypeViewModel33_93BDBA0312C78AEDB1978DF6EE5A9191LLV39fixedAmountFieldAccessibilityIdentifierSSvp","s:11WooCommerce20InPersonPaymentsMenuV12Localization33_7F773D297262388A85DEA4013E0623D7LLO02indE13LearnMoreTextSSvpZ","s:11WooCommerce20InPersonPaymentsMenuV12Localization33_7F773D297262388A85DEA4013E0623D7LLO03wooE19PayoutsSectionTitleSSvpZ","s:11WooCommerce20InPersonPaymentsMenuV12Localization33_7F773D297262388A85DEA4013E0623D7LLO03wooE7PayoutsSSvpZ","s:11WooCommerce20InPersonPaymentsMenuV12Localization33_7F773D297262388A85DEA4013E0623D7LLO13learnMoreLinkSSvpZ","s:11WooCommerce20InPersonPaymentsMenuV12Localization33_7F773D297262388A85DEA4013E0623D7LLO26paymentOptionsSectionTitleSSvpZ","s:11WooCommerce20IssueRefundViewModelC06created12ConfirmationeF012onCompletionyyAA0dheF0Cc_tF","s:11WooCommerce20IssueRefundViewModelC14paymentGateway33_5B6DDDA8505B0B4E8522B145EB8A3C04LL10Networking07PaymentH0VSgvp","s:11WooCommerce20IssueRefundViewModelC16FetchChargeErrorO28unknownPaymentGatewayAccountyA2EmF","s:11WooCommerce20IssueRefundViewModelC19selectAllOrderItemsyyF","s:11WooCommerce20IssueRefundViewModelC21trackNextButtonTappedyyF","s:11WooCommerce20IssueRefundViewModelC26trackSelectAllButtonTapped33_5B6DDDA8505B0B4E8522B145EB8A3C04LLyyF","s:11WooCommerce20IssueRefundViewModelC37createPaymentGatewayResultsController33_5B6DDDA8505B0B4E8522B145EB8A3C04LL8Yosemite0jK0Cy7Storage0hI0CGyF","s:11WooCommerce20MainTabBarControllerC5coder18featureFlagService15noticePresenter20productImageUploader9analytics6stores28posEligibilityCheckerFactory0rsJ0ACSgSo7NSCoderC_11Experiments07FeatureiJ0_pAA06NoticeL0_pAA07ProductnO8Protocol_p0A10Foundation9Analytics_p8Yosemite13StoresManager_pAA013POSEntryPointsT8Protocol_ps5Int64VcSgAU014POSEligibilityJ8Protocol_ptcfc","s:11WooCommerce20OrderSearchUICommandC18featureFlagService33_ED3CB293EE1399852928669A99998259LL11Experiments07FeaturegH0_pvp","s:11WooCommerce20POSSearchContentViewV15dynamicTypeSize33_6A46306541CB1809D8F5FF26EA7534AALL7SwiftUI07DynamicgH0Ovp","s:11WooCommerce20ProductFormDataModelP13averageRatingSSvp","s:11WooCommerce20ProductFormDataModelP14reviewsAllowedSbvp","s:11WooCommerce20ProductFormDataModelP17isShippingEnabledSbyF","s:11WooCommerce20ProductFormDataModelP20canEditQuantityRulesSbvp","s:11WooCommerce20ProductFormDataModelP8passwordSSSgvp","s:11WooCommerce20ProductFormDataModelP8taxClassSSSgvp","s:11WooCommerce20ProductFormDataModelP9hasAddOnsSbvp","s:11WooCommerce20ProductFormViewModelC25productImageActionHandler33_13B17A00CE07BFD84A80478C0CDD087BLLAA0chiJ0Cvp","s:11WooCommerce20ProductImageUploaderC12cancellables33_1580CFDE89F761F12DC700802246E0FALLShy7Combine14AnyCancellableCGvp","s:11WooCommerce20RoleEligibilityErrorO14invalidStoreIdyACs5Int64V_tcACmF","s:11WooCommerce20SelectedSiteSettingsC04siteE0Say10Networking0D7SettingVGvp","s:11WooCommerce20SelectedSiteSettingsC14settingsStream7Combine12AnyPublisherVys5Int64V6siteID_Say10Networking0D7SettingVG0F0AA0E12UpdateSourceO6sourcets5NeverOGvp","s:11WooCommerce20StorePerformanceViewV6Layout33_7EBE9150C052AC2BF08052A05DEB1111LLO11strokeWidth14CoreFoundation7CGFloatVvpZ","s:11WooCommerce20StorePickerViewModelC12refreshSites23currentlySelectedSiteIDys5Int64VSg_tYaF","s:11WooCommerce20StorePickerViewModelC16checkEligibility3for10completionys5Int64V_ys6ResultOyytAA04RoleH5ErrorOGctF","s:11WooCommerce20StorePickerViewModelC4site17thatMatchesSiteID10Networking0J0VSgs5Int64V_tF","s:11WooCommerce20StorePickerViewModelC4site23thatMatchesPossibleURLs10Networking4SiteVSgShySSG_tF","s:11WooCommerce20StringInputFormatterV","s:11WooCommerce20SupportFormViewModelC","s:11WooCommerce20TabbedViewControllerC011tabBarStackD033_E7C12FD6D1712E4F608590C2ED2EDE97LLSo07UIStackD0Cvp","s:11WooCommerce20TabbedViewControllerC012customTabBarD033_E7C12FD6D1712E4F608590C2ED2EDE97LLSo6UIViewCSgvp","s:11WooCommerce20TabbedViewControllerC012removeCustomD10FromTabBaryyF","s:11WooCommerce20TabbedViewControllerC09addCustomD8ToTabBaryySo6UIViewCF","s:11WooCommerce20TabbedViewControllerC10replaceTab2at4withySi_AC0C4ItemVtF","s:11WooCommerce20TabbedViewControllerC14appendToTabBaryyAC0C4ItemVF","s:11WooCommerce20TabbedViewControllerC5items14tabSizingStyle9onDismissACSayAC0C4ItemVG_AA12FilterTabBarC0nhI0OyycSgtcfc","s:11WooCommerce20WebKitViewControllerC14styleBarButton33_D85025A19EEE1BDE0889F08E15F1E506LLyySo05UIBarI4ItemCF","s:11WooCommerce20WebKitViewControllerC8setWidth_04viewH0y14CoreFoundation7CGFloatVSg_AItF","s:11WooCommerce21AddProductCoordinatorC017shouldShowGroupedD4Type011_2C6B836602J20BAAA29DD8EC73936FEF9LLSbvp","s:11WooCommerce21AuthenticationManagerC18getAvailableStores33_4A9503ECCEE967DB8B1A9A532F0B8C78LLSay10Networking4SiteVGyYaF","s:11WooCommerce21AuthenticationManagerC19presentJetpackError33_4A9503ECCEE967DB8B1A9A532F0B8C78LL3for4with2in9onDismissySS_22WordPressAuthenticator0X11CredentialsVSo22UINavigationControllerCyyctF","s:11WooCommerce21AuthenticationManagerC21currentSelfHostedSite33_4A9503ECCEE967DB8B1A9A532F0B8C78LL22WordPressAuthenticator0rs3ComH4InfoCSgvp","s:11WooCommerce21AuthenticationManagerC23abTestVariationProvider33_4A9503ECCEE967DB8B1A9A532F0B8C78LL11Experiments06ABTestgH0_pvp","s:11WooCommerce21AuthenticationManagerC26siteCredentialLoginUseCase33_4A9503ECCEE967DB8B1A9A532F0B8C78LLAA04SitefghI0CSgvp","s:11WooCommerce21AuthenticationManagerC30postSiteCredentialLoginChecker33_4A9503ECCEE967DB8B1A9A532F0B8C78LLAA04PostfghI0CSgvp","s:11WooCommerce21BlazeCampaignItemViewV9Constants33_94F420B2255C60331A122DD85DB8303FLLO","s:11WooCommerce21CashPaymentTenderViewV6LayoutO15verticalSpacing14CoreFoundation7CGFloatVvpZ","s:11WooCommerce21CouponValidationErrorO","s:11WooCommerce21DefaultThemeInstallerV08scheduleD7Install7themeID04siteI0ySS_s5Int64VtF","s:11WooCommerce21DismissableNoticeViewV6LayoutO12cornerRadius14CoreFoundation7CGFloatVvpZ","s:11WooCommerce21ExpandableBottomSheetV19onChangeOfExpansion20alwaysVisibleContent010expandableL0ACyxq_GySbcSg_xycq_yctcfc","s:11WooCommerce21FullFeatureListGroupsV17essentialFeaturesSaySSGvp","s:11WooCommerce21FullFeatureListGroupsV19performanceFeaturesSaySSGvp","s:11WooCommerce21FullFeatureListGroupsV5titleSSvp","s:11WooCommerce21HeadlineTableViewCellC9configure8headlineySS_tF","s:11WooCommerce21HubMenuViewControllerC29tapToPayBadgePromotionChecker33_1C0DC62C6EF23451FEBA26B766CE8816LLAA03TaphijkL0Cvp","s:11WooCommerce21JCPJetpackInstallViewV12siteAdminURL33_8CB4FBAE2451322895296127E5EA3198LLSSvp","s:11WooCommerce21JetpackErrorViewModelV","s:11WooCommerce21NotWPAccountViewModelC12Localization33_37679158E089705C9B3CBB3B9FF44673LLO17tryAnotherAddressSSvpZ","s:11WooCommerce21NotWPAccountViewModelC22storePickerCoordinator33_37679158E089705C9B3CBB3B9FF44673LLAA05StorehI0CSgvp","s:11WooCommerce21OrderDetailsViewModelC12lookUpRefund2by10Networking0I0VSgs5Int64V_tF","s:11WooCommerce21OrderDetailsViewModelC13customerEmailSSSgvp","s:11WooCommerce21OrderDetailsViewModelC13refundedItemsSay10Networking0C10ItemRefundVGvp","s:11WooCommerce21OrderDetailsViewModelC5items33_F7B5E6F6DD06D23342A72B3AF9427179LLSay14NetworkingCore0C4ItemVGvp","s:11WooCommerce21PointOfSaleErrorStateV0F4TypeO15couponsNotFoundyA2EmF","s:11WooCommerce21PrintCustomsFormsViewV12Localization33_9CE270AA2A4C262DD643B457FB535ECELLO15inProgressTitleSSvpZ","s:11WooCommerce21PrintCustomsFormsViewV12Localization33_9CE270AA2A4C262DD643B457FB535ECELLO17inProgressMessageSSvpZ","s:11WooCommerce21ReviewsViewControllerC12lastSeenTime33_87877EAD17AC3C3D4F2E5EF907436EE1LLSSSgvp","s:11WooCommerce21ReviewsViewControllerC8Settings33_87877EAD17AC3C3D4F2E5EF907436EE1LLO25placeholderRowsPerSectionSaySiGvpZ","s:11WooCommerce21StorePlanSynchronizerC20inAppPurchaseManager33_64E6D291222B188C211888AD045EC1BBLLAA02InG30PurchasesForWPComPlansProtocol_pvp","s:11WooCommerce21SubscriptionTrialViewV5scale33_D27C674647AB53682BD0652EB3F3BDD9LL14CoreFoundation7CGFloatVvp","s:11WooCommerce21ULErrorViewControllerC08getImageD0So07UIImageD0CyF","s:11WooCommerce21ULErrorViewControllerC13getTermsLabelSo06UITextD0CyF","s:11WooCommerce21ULErrorViewControllerC18getAuxiliaryButtonSo8UIButtonCyF","s:11WooCommerce21ULErrorViewControllerC19primaryActionButtonSo8UIButtonCyF","s:11WooCommerce21ULErrorViewControllerC21secondaryActionButtonSo8UIButtonCyF","s:11WooCommerce21ULErrorViewControllerC8getLabelSo7UILabelCyF","s:11WooCommerce21WPComLoginCoordinatorC","s:11WooCommerce22AdaptiveModalContainerV12Localization33_CAF3864D2E6AA5748A4D9F8247BA0BE5LLO","s:11WooCommerce22AddEditCouponViewModelC14storageManager33_8C01619A3D6501183179B79624D96A22LL7Storage0pI4Type_pvp","s:11WooCommerce22AsyncPaginationTrackerC22highestPageBeingSynced33_BDE4382F9D94176FD282EE5014BF4220LLSiSgvp","s:11WooCommerce22BottomSheetProductTypeO","s:11WooCommerce22CollapsibleProductCardV5scale33_36664448B7824296104BAA606C7EDDC7LL14CoreFoundation7CGFloatVvp","s:11WooCommerce22CouponDetailsViewModelC6amountSSvp","s:11WooCommerce22EditableOrderViewModelC011PaymentDataeF0V07showNonC10IndicatorsSbvp","s:11WooCommerce22EditableOrderViewModelC011PaymentDataeF0V10couponCodeSSvp","s:11WooCommerce22EditableOrderViewModelC012CustomerDataeF0V8fullNameSSSgvp","s:11WooCommerce22EditableOrderViewModelC014removeItemFromD0yys5Int64VF","s:11WooCommerce22EditableOrderViewModelC024shouldShowSearchButtonInD11AddressFormSbvp","s:11WooCommerce22EditableOrderViewModelC12ScannerErrorO6nilSKUyA2EmF","s:11WooCommerce22EditableOrderViewModelC31toggleProductSelectorVisibilityyyF","s:11WooCommerce22LearnMoreTableViewCellC12onUrlPressed33_376C2F08632A2A44ACE71FD787F14744LLy10Foundation3URLVcSgvp","s:11WooCommerce22LearnMoreTableViewCellC9configure4textySSSg_tF","s:11WooCommerce22NewTaxRateSelectorViewV6LayoutO21externalLinkImageSize14CoreFoundation7CGFloatVvpZ","s:11WooCommerce22NonEditableOrderBannerV8Callbacka","s:11WooCommerce22OrderDetailsDataSourceC013shippingLabelC4Item2atAA09AggregatecI0VSg10Foundation9IndexPathV_tF","s:11WooCommerce22OrderDetailsDataSourceC11couponLines33_1C4484147E2B3D95ED75188E1F29F27DLLSay14NetworkingCore0C10CouponLineVGSgvp","s:11WooCommerce22OrderDetailsDataSourceC25receiptEligibilityUseCase33_1C4484147E2B3D95ED75188E1F29F27DLLAA07ReceipthiJ8Protocol_pvp","s:11WooCommerce22OrderDetailsDataSourceC29isMultiShippingLinesAvailable3forSb14NetworkingCore0C0V_tF","s:11WooCommerce22OrderDetailsDataSourceC32cardPresentPaymentsConfiguration33_1C4484147E2B3D95ED75188E1F29F27DLL8Yosemite04CardhiJ0Vvp","s:11WooCommerce22OrderDetailsDataSourceC7SectionV6footerSSSgvp","s:11WooCommerce22OrderListCellViewModelV11timeCreatedSSvp","s:11WooCommerce22OrderListCellViewModelV5total3forSS14NetworkingCore0C4ItemV_tF","s:11WooCommerce22ProductsViewControllerC026requestAndShowNewTopBannerD033_D63AD9C1AF02BA94A64C79D4E1D2E685LL3foryAA0cjK7FactoryV0K4TypeO_tF","s:11WooCommerce22ProductsViewControllerC07presentC8Feedback33_D63AD9C1AF02BA94A64C79D4E1D2E685LLyyF","s:11WooCommerce22ProductsViewControllerC12Localization33_D63AD9C1AF02BA94A64C79D4E1D2E685LLO27selectAllToolbarButtonTitleSSvpZ","s:11WooCommerce22ProductsViewControllerC21addProductCoordinator33_D63AD9C1AF02BA94A64C79D4E1D2E685LLAA03AddgH0CSgvp","s:11WooCommerce22ProductsViewControllerC23shareProductCoordinator33_D63AD9C1AF02BA94A64C79D4E1D2E685LLAA05SharegH0CSgvp","s:11WooCommerce22ProductsViewControllerC25barcodeScannerCoordinator33_D63AD9C1AF02BA94A64C79D4E1D2E685LLAA013ProducBarcodegH0CSgvp","s:11WooCommerce22RefundDetailsViewModelC8productsSay10Networking7ProductVGvp","s:11WooCommerce22SettingsViewControllerC12Localization33_4DA95ECAB80812ABDA8BECB9ACE70800LLO16inPersonPaymentsSSvpZ","s:11WooCommerce22SettingsViewControllerC16pushNotesManager33_4DA95ECAB80812ABDA8BECB9ACE70800LLAA04PushgH0_pvp","s:11WooCommerce22SettingsViewControllerC23jetpackSetupCoordinator33_4DA95ECAB80812ABDA8BECB9ACE70800LLAA07JetpackgH0CSgvp","s:11WooCommerce22StorePickerCoordinatorC19showRoleErrorScreen3for9errorInfo12onCompletionys5Int64V_7Storage011EligibilityhL0VyyctF","s:11WooCommerce22StorePickerCoordinatorC22roleEligibilityUseCase33_2F77C2481898608D5EB1C645523D2630LLAA04RoleghI0Cvp","s:11WooCommerce22StorePlanSynchronizingP9planStateAA0cd4SyncG0Ovp","s:11WooCommerce22SubscriptionExpiryViewV5scale33_F408F3459794E904E3477B621F7C5C39LL14CoreFoundation7CGFloatVvp","s:11WooCommerce22SubscriptionsViewModelC18featureFlagService33_7B5D8DE3B77DFBC592A56C7977BF4EEFLL11Experiments07FeaturegH0_pvp","s:11WooCommerce22SubscriptionsViewModelC6stores33_7B5D8DE3B77DFBC592A56C7977BF4EEFLL8Yosemite13StoresManager_pvp","s:11WooCommerce22SubscriptionsViewModelC9analytics33_7B5D8DE3B77DFBC592A56C7977BF4EEFLL0A10Foundation9Analytics_pvp","s:11WooCommerce22WPComPasswordLoginViewV9Constants33_EFD3D1233ACC1728660A25CE0268C0FCLLO22contentVerticalSpacing14CoreFoundation7CGFloatVvpZ","s:11WooCommerce22ZendeskManagerProtocolP14createIdentity9presentIn10completionySo16UIViewControllerC_ySbctF","s:11WooCommerce22resetDefaultDebugLevelyyF","s:11WooCommerce23AuthenticationConstantsV44getStartedInstructionsWithWPComSignupEnabledSSvpZ","s:11WooCommerce23BlazePaymentMethodsViewV013isShowingLoaddE10ErrorAlert33_C1C41FAA5CCA211E72076DABCCF0B3D2LLSbvp","s:11WooCommerce23BlazePaymentMethodsViewV12Localization33_C1C41FAA5CCA211E72076DABCCF0B3D2LLO12emailReceiptSSvpZ","s:11WooCommerce23ButtonActivityIndicatorC9Constants33_1556EE47686757D226E0AAABFFA04628LLO","s:11WooCommerce23CardPresentPaymentErrorO","s:11WooCommerce23CardReaderManualRowViewV14safeAreaInsets7SwiftUI04EdgeJ0Vvp","s:11WooCommerce23CollectPaymentAppIntentV","s:11WooCommerce23FilteredOrdersHeaderBarC12Localization33_0B563A5EDC5516C664F252FBC960CA22LLO7filtersSSvpZ","s:11WooCommerce23FilteredOrdersHeaderBarC18filterButtonTapped33_0B563A5EDC5516C664F252FBC960CA22LLyyypF","s:11WooCommerce23JetpackSetupCoordinatorC18featureFlagService33_BF5C6AD9D4C0ED476329235E2EF2CDECLL11Experiments07FeaturegH0_pvp","s:11WooCommerce23JetpackSetupCoordinatorC30setupStepsNavigationController33_BF5C6AD9D4C0ED476329235E2EF2CDECLLSo012UINavigationI0CSgvp","s:11WooCommerce23ManualTrackingViewModelP08shipmentD010Networking08ShipmentD0VSgvp","s:11WooCommerce23ManualTrackingViewModelP20secondaryActionTitleSSSgvp","s:11WooCommerce23MediaPickingCoordinatorC27productImagePickerViewModel33_6F0A9D7928853C1FD8F925F3C0520D50LLAA07ProductghiJ0CSgvp","s:11WooCommerce23OrderFulfillmentUseCaseC0D5ErrorV8activityAC8ActivityOvp","s:11WooCommerce23OrderFulfillmentUseCaseC0D7ProcessV8activityAC8ActivityOvp","s:11WooCommerce23OrderListViewControllerC014firstAvailableC014NetworkingCore0C0VSgvp","s:11WooCommerce23OrderListViewControllerC12Localization33_2B7ED8B8AB02697BE9576DC59E8DED3CLLO13dontShowAgainSSvpZ","s:11WooCommerce23OrderListViewControllerC12Localization33_2B7ED8B8AB02697BE9576DC59E8DED3CLLO13remindMeLaterSSvpZ","s:11WooCommerce23OrderListViewControllerC12Localization33_2B7ED8B8AB02697BE9576DC59E8DED3CLLO19shareFeedbackButtonSSvpZ","s:11WooCommerce23OrderListViewControllerC31inPersonPaymentsSurveyVariation33_2B7ED8B8AB02697BE9576DC59E8DED3CLLAA0jeF0C6SourceOSgvp","s:11WooCommerce23OrderListViewControllerC8Settings33_2B7ED8B8AB02697BE9576DC59E8DED3CLLO25placeholderRowsPerSectionSaySiGvpZ","s:11WooCommerce23POSEntryPointControllerC18featureFlagService33_EE93E110CD65B4282043B5D7117E79B4LL11Experiments07FeaturegH0_pvp","s:11WooCommerce23POSSearchTextFieldStyleV06searchE6Height33_72D30075151EC15373673ACC963342C0LL14CoreFoundation7CGFloatVvp","s:11WooCommerce23POSSearchTextFieldStyleV12Localization33_72D30075151EC15373673ACC963342C0LLO","s:11WooCommerce23POSSearchTextFieldStyleV5_body13configurationQr7SwiftUI0dE0VyAF01_deF5LabelVG_tF","s:11WooCommerce23PaymentMethodsViewModelC06updateC7Gateway33_111046BFD07B6BFB7BB90B7D14A37C8ALLyyF","s:11WooCommerce23PaymentMethodsViewModelC18featureFlagService33_111046BFD07B6BFB7BB90B7D14A37C8ALL11Experiments07FeaturehI0_pvp","s:11WooCommerce23PaymentMethodsViewModelC6notice7Combine12AnyPublisherVyAA0cD6NoticeOs5NeverOGvp","s:11WooCommerce23ProductReviewsViewModelC14refreshResultsyyF","s:11WooCommerce23ProductReviewsViewModelC8Settings33_A8B228304F346D2835B3CF2FCA6ED834LLO","s:11WooCommerce23ProductStepperViewModelC18accessibilityLabelSSvp","s:11WooCommerce23RefundDetailsDataSourceC7SectionV6footerSSSgvp","s:11WooCommerce23RefundItemTableViewCellC21quantityButtonPressed012_45B500B3BC3L19AD0B715CB9EF96F74D1LLyyypF","s:11WooCommerce23ShareProductCoordinatorC20bottomSheetPresenter33_A2469738DAFE40E6510EF2B0786761D1LLAA06BottomgH0CSgvp","s:11WooCommerce23ShippingLabelSampleDataO06sampleaC12ShipmentItem33_2EAFE26B0E5EE58B7D84910661D6AE54LL10Networking0achI0VyFZ","s:11WooCommerce23ShippingLabelSampleDataO06sampleaC6Config10Networking0acH0VyFZ","s:11WooCommerce23ShippingLabelSampleDataO5taxes33_2EAFE26B0E5EE58B7D84910661D6AE54LLSay14NetworkingCore12OrderItemTaxVGyFZ","s:11WooCommerce23SiteCredentialLoginViewV16showsSecureInput33_0DFF0095A3A0F820A241200A3370371CLLSbvp","s:11WooCommerce23SiteCredentialLoginViewV5scale33_0DFF0095A3A0F820A241200A3370371CLL14CoreFoundation7CGFloatVvp","s:11WooCommerce23SiteCredentialLoginViewV9Constants33_0DFF0095A3A0F820A241200A3370371CLLO11fieldHeight14CoreFoundation7CGFloatVvpZ","s:11WooCommerce23SiteCredentialLoginViewV9Constants33_0DFF0095A3A0F820A241200A3370371CLLO18eyeButtonDimension14CoreFoundation7CGFloatVvpZ","s:11WooCommerce23SiteCredentialLoginViewV9Constants33_0DFF0095A3A0F820A241200A3370371CLLO26eyeButtonHorizontalPadding14CoreFoundation7CGFloatVvpZ","s:11WooCommerce23StoreOnboardingTaskViewV6Layout33_20E081DA914B5B0E8D2882F68F762408LLO12PrivateLabelO","s:11WooCommerce23ThemeEligibilityUseCaseC18featureFlagService33_6B19BE75D5ABED6363E0BA8F50541801LL11Experiments07FeaturehI0_pvp","s:11WooCommerce24CameraCaptureCoordinatorC16capturePresenter33_FC964B21155A244E0D515F9499193269LLSo07WPMediadG0CSgvp","s:11WooCommerce24CardReaderSettingsAlertsC011scanningForD033_3D4FC0D8856D146DD34DB8919093B383LL6cancelAA0C36PresentPaymentsModalViewModelContent_AA0cqrstU12UIKitActionspyyc_tF","s:11WooCommerce24CardReaderSettingsAlertsC011scanningForD04from6cancelySo16UIViewControllerC_yyctF","s:11WooCommerce24CardReaderSettingsAlertsC012connectingToD033_3D4FC0D8856D146DD34DB8919093B383LLAA0C36PresentPaymentsModalViewModelContent_AA0cpqrsT12UIKitActionspyF","s:11WooCommerce24CardReaderSettingsAlertsC012connectingToD04fromySo16UIViewControllerC_tF","s:11WooCommerce24CardReaderSettingsAlertsC05foundD033_3D4FC0D8856D146DD34DB8919093B383LL4name7connect14continueSearch6cancelAA0C36PresentPaymentsModalViewModelContent_AA0ctuvwX12UIKitActionspSS_yycyycyyctF","s:11WooCommerce24CardReaderSettingsAlertsC05foundD04from4name7connect14continueSearch06cancelL0ySo16UIViewControllerC_SSyycyycyyctF","s:11WooCommerce24CardReaderSettingsAlertsC09preparingD033_3D4FC0D8856D146DD34DB8919093B383LL4from6cancelAA0C36PresentPaymentsModalViewModelContent_AA0cqrstU12UIKitActionspSo16UIViewControllerC_yyctF","s:11WooCommerce24CardReaderSettingsAlertsC14scanningFailed33_3D4FC0D8856D146DD34DB8919093B383LL5error5closeAA0C36PresentPaymentsModalViewModelContent_AA0crstuV12UIKitActionsps5Error_p_yyctF","s:11WooCommerce24CardReaderSettingsAlertsC14scanningFailed4from5error5closeySo16UIViewControllerC_s5Error_pyyctF","s:11WooCommerce24CardReaderSettingsAlertsC16connectingFailed33_3D4FC0D8856D146DD34DB8919093B383LL5error14continueSearch06cancelR0AA0C36PresentPaymentsModalViewModelContent_AA0ctuvwX12UIKitActionsps5Error_p_yycyyctF","s:11WooCommerce24CardReaderSettingsAlertsC16connectingFailed4from5error14continueSearch06cancelL0ySo16UIViewControllerC_s5Error_pyycyyctF","s:11WooCommerce24CardReaderSettingsAlertsC19foundSeveralReaders4from9readerIDs7connect12cancelSearchySo16UIViewControllerC_SaySSGySScyyctF","s:11WooCommerce24CardReaderSettingsAlertsC24updateSeveralReadersList9readerIDsySaySSG_tF","s:11WooCommerce24CardReaderSettingsAlertsC29connectingFailedUpdateAddress33_3D4FC0D8856D146DD34DB8919093B383LL14openWCSettings11retrySearch06cancelU0AA0C36PresentPaymentsModalViewModelContent_AA0cwxyZ17ModelUIKitActionspyycSg_yycyyctF","s:11WooCommerce24CardReaderSettingsAlertsC32connectingFailedUpdatePostalCode33_3D4FC0D8856D146DD34DB8919093B383LL11retrySearch06cancelT0AA0C36PresentPaymentsModalViewModelContent_AA0cvwxyZ12UIKitActionspyyc_yyctF","s:11WooCommerce24CardReaderSettingsAlertsC33connectingFailedIncompleteAddress4from14openWCSettings11retrySearch06cancelO0ySo16UIViewControllerC_yycSgyycyyctF","s:11WooCommerce24CardReaderSettingsAlertsC33connectingFailedInvalidPostalCode4from11retrySearch06cancelN0ySo16UIViewControllerC_yycyyctF","s:11WooCommerce24CardReaderSettingsAlertsC36connectingFailedCriticallyLowBattery33_3D4FC0D8856D146DD34DB8919093B383LL11retrySearch06cancelT0AA0C36PresentPaymentsModalViewModelContent_AA0cvwxyZ12UIKitActionspyyc_yyctF","s:11WooCommerce24CardReaderSettingsAlertsC36connectingFailedCriticallyLowBattery4from11retrySearch06cancelN0ySo16UIViewControllerC_yycyyctF","s:11WooCommerce24CouponListViewControllerC05startC8Creation33_D74A5EA18A9C17A7D0C4606BDBA41691LL12discountTypey10Networking0C0V08DiscountS0O_tF","s:11WooCommerce24CouponListViewControllerC12Localization33_D74A5EA18A9C17A7D0C4606BDBA41691LLO13dismissActionSSvpZ","s:11WooCommerce24CouponListViewControllerC12Localization33_D74A5EA18A9C17A7D0C4606BDBA41691LLO17emptyStateMessageSSvpZ","s:11WooCommerce24CouponListViewControllerC12Localization33_D74A5EA18A9C17A7D0C4606BDBA41691LLO18giveFeedbackActionSSvpZ","s:11WooCommerce24CouponListViewControllerC12Localization33_D74A5EA18A9C17A7D0C4606BDBA41691LLO5titleSSvpZ","s:11WooCommerce24EmptyStateViewControllerC14zendeskManager33_A520C11B9FE70A6CBE52881AAC603692LLAA07ZendeskH8Protocol_pvp","s:11WooCommerce24EmptyStateViewControllerC18actionButtonTapped33_A520C11B9FE70A6CBE52881AAC603692LLyyypF","s:11WooCommerce24EmptyStoresTableViewCellC11legendLabel33_1C325DE8D3103B1904BD351BDB43BD12LLSo7UILabelCSgvp","s:11WooCommerce24EmptyStoresTableViewCellC12Localization33_1C325DE8D3103B1904BD351BDB43BD12LLO","s:11WooCommerce24EmptyStoresTableViewCellC13subtitleLabel33_1C325DE8D3103B1904BD351BDB43BD12LLSo7UILabelCSgvp","s:11WooCommerce24ManualProductTypeOptionsV5scale33_69A90887B17816FB4966269AD04EDA3ALL14CoreFoundation7CGFloatVvp","s:11WooCommerce24OrdersRootViewControllerC12presentOrder33_BBD3E9E4C7D426F8B3D873E87388FBA1LL_4fromy14NetworkingCore0H0V_So06UIViewF0CtF","s:11WooCommerce24OrdersRootViewControllerC13subscriptions33_BBD3E9E4C7D426F8B3D873E87388FBA1LLShy7Combine14AnyCancellableCGvp","s:11WooCommerce24OrdersRootViewControllerC18featureFlagService33_BBD3E9E4C7D426F8B3D873E87388FBA1LL11Experiments07FeaturehI0_pvp","s:11WooCommerce24OrdersRootViewControllerC19configureTabBarItem33_BBD3E9E4C7D426F8B3D873E87388FBA1LLyyF","s:11WooCommerce24OrdersRootViewControllerC25barcodeScannerCoordinator33_BBD3E9E4C7D426F8B3D873E87388FBA1LLAA013ProducBarcodehI0CSgvp","s:11WooCommerce24POSShadowStyleDefinition33_96544B89EF2149EECD02A1A70984735ELLV","s:11WooCommerce24POSTabEligibilityCheckerC9Constants33_EB0EF942EBDC11EC333675CAF99E1DCDLLO8wcPluginSSvpZ","s:11WooCommerce24PermanentNoticePresenterC","s:11WooCommerce24PriceInputViewControllerC05tableE0_24heightForFooterInSection14CoreFoundation7CGFloatVSo07UITableE0C_SitF","s:11WooCommerce24ProductDetailPreviewViewV013TitleAndValueD3Row33_387737EE170111914A02CD31058AD64CLLV5scale14CoreFoundation7CGFloatVvp","s:11WooCommerce24ProductDetailPreviewViewV013TitleAndValueD3Row33_387737EE170111914A02CD31058AD64CLLV6LayoutO9imageSize14CoreFoundation7CGFloatVvpZ","s:11WooCommerce24ProductDetailPreviewViewV5Title33_387737EE170111914A02CD31058AD64CLLV","s:11WooCommerce24ProductDiscountViewModelC09formattedD0SSSgvp","s:11WooCommerce24ProductDownloadFileErrorO05emptyE3UrlyA2CmF","s:11WooCommerce24ProductDownloadFileErrorO07invalidE3UrlyA2CmF","s:11WooCommerce24ProductDownloadListErrorO","s:11WooCommerce24ProductSelectorViewModelC9analytics33_B2E00C30BDD8670F8D1FF5D2667B140BLL0A10Foundation9Analytics_pvp","s:11WooCommerce24ProductsTopBannerFactoryV","s:11WooCommerce24ProfilerThemesPickerViewV5scale33_9968ECCAB3E5BCF7A3D31ABFDBF52915LL14CoreFoundation7CGFloatVvp","s:11WooCommerce24PushNotificationsManagerC010backgroundD07Combine12AnyPublisherVyAA0C12NotificationVs5NeverOGvp","s:11WooCommerce24PushNotificationsManagerC017registerForRemoteD0yyF","s:11WooCommerce24PushNotificationsManagerC09cancelAllD0yyYaF","s:11WooCommerce24PushNotificationsManagerC30ensureAuthorizationIsRequested23includesProvisionalAuth12onCompletionySb_ySbcSgtF","s:11WooCommerce24RefundSubmissionProtocolP06submitC0_16showInProgressUI12onCompletiony10Networking0C0V_yycys6ResultOyyts5Error_pGctF","s:11WooCommerce24StoreOnboardingViewModelC5state33_A1AF1A4A06CA43133D042F3B0C1DE536LLAC5StateOvp","s:11WooCommerce24StorePlanBannerPresenterC14viewController33_9D522F6F9F8BD0C99E8A162B50EB935CLLSo06UIViewH0CSgvp","s:11WooCommerce24StorePlanBannerPresenterC21inAppPurchasesManager33_9D522F6F9F8BD0C99E8A162B50EB935CLLAA02InhI21ForWPComPlansProtocol_pvp","s:11WooCommerce24StorePlanBannerPresenterC6siteID33_9D522F6F9F8BD0C99E8A162B50EB935CLLs5Int64Vvp","s:11WooCommerce24TaxEducationalDialogViewV12LocalizationO23taxRatesExplanatoryTextSSvpZ","s:11WooCommerce24ViewControllerPresentingP7dismiss8animatedySb_tF","s:11WooCommerce24WPComEmailLoginViewModelC22emailFieldSubscription33_3573FFDF54A71B0D62EDF2395231961ELL7Combine14AnyCancellableCSgvp","s:11WooCommerce24WPComEmailLoginViewModelC9Constants33_3573FFDF54A71B0D62EDF2395231961ELLO17wpcomErrorCodeKeySSvpZ","s:11WooCommerce25AddOrderComponentsSectionV9Constants33_15DDFDD15794001992D176F0EDE1A9B2LLO05emptyD20TitleVerticalPadding14CoreFoundation7CGFloatVvpZ","s:11WooCommerce25AddOrderComponentsSectionV9Constants33_15DDFDD15794001992D176F0EDE1A9B2LLO05emptyD29TitleLockImageTrailingPadding14CoreFoundation7CGFloatVvpZ","s:11WooCommerce25AddOrderComponentsSectionV9Constants33_15DDFDD15794001992D176F0EDE1A9B2LLO05taxesF15VerticalSpacing14CoreFoundation7CGFloatVvpZ","s:11WooCommerce25AddOrderComponentsSectionV9Constants33_15DDFDD15794001992D176F0EDE1A9B2LLO09giftCardsF15VerticalSpacing14CoreFoundation7CGFloatVvpZ","s:11WooCommerce25AddOrderComponentsSectionV9Constants33_15DDFDD15794001992D176F0EDE1A9B2LLO23infoTooltipCornerRadius14CoreFoundation7CGFloatVvpZ","s:11WooCommerce25AddOrderComponentsSectionV9Constants33_15DDFDD15794001992D176F0EDE1A9B2LLO23orderTotalBottomPadding14CoreFoundation7CGFloatVvpZ","s:11WooCommerce25AddOrderComponentsSectionV9Constants33_15DDFDD15794001992D176F0EDE1A9B2LLO28taxesAdaptativeStacksSpacing14CoreFoundation7CGFloatVvpZ","s:11WooCommerce25AddOrderComponentsSectionV9Constants33_15DDFDD15794001992D176F0EDE1A9B2LLO45taxRateAddedAutomaticallyRowHorizontalSpacing14CoreFoundation7CGFloatVvpZ","s:11WooCommerce25AztecEditorViewControllerC24descriptionAICoordinator33_84B1B53693BA3FB93A58A887262978A4LLAA018ProductDescriptionH0CSgvp","s:11WooCommerce25BlazeCampaignCreationFormV11colorScheme7SwiftUI05ColorH0Ovp","s:11WooCommerce25BlazeCampaignCreationFormV12Localization33_993A5EBA007CF0C8C258A3F2DA5D3486LLO5titleSSvpZ","s:11WooCommerce25BlazeCampaignCreationFormV9Constants33_993A5EBA007CF0C8C258A3F2DA5D3486LLO18ctaButtonTextColor7SwiftUI0T0VvpZ","s:11WooCommerce25CardPresentPaymentServiceC24connectedReaderPublisher031_FDDAEAACA26D2A06F99F4A20D88E60N0LL7Combine03AnyI0VyAA0cdecH0VSgs5NeverOGvp","s:11WooCommerce25CollapsibleProductRowCard33_36664448B7824296104BAA606C7EDDC7LLV6LayoutO15borderLineWidth14CoreFoundation7CGFloatVvpZ","s:11WooCommerce25CollapsibleProductRowCard33_36664448B7824296104BAA606C7EDDC7LLV6LayoutO17frameCornerRadius14CoreFoundation7CGFloatVvpZ","s:11WooCommerce25CustomerInfoTableViewCellC12getNameLabelSo7UILabelCyF","s:11WooCommerce25CustomerInfoTableViewCellC13getTitleLabelSo7UILabelCyF","s:11WooCommerce25CustomerInfoTableViewCellC15getAddressLabelSo7UILabelCyF","s:11WooCommerce25CustomerNoteTableViewCellC011getBodyTextF0So06UITextF0CyF","s:11WooCommerce25CustomerNoteTableViewCellC16getHeadlineLabelSo7UILabelCyF","s:11WooCommerce25DiscountLineTypeViewModel33_93BDBA0312C78AEDB1978DF6EE5A9191LLV12LocalizationO","s:11WooCommerce25DiscountLineTypeViewModel33_93BDBA0312C78AEDB1978DF6EE5A9191LLV15navigationTitleSSvp","s:11WooCommerce25DiscountLineTypeViewModel33_93BDBA0312C78AEDB1978DF6EE5A9191LLV17removeButtonTitleSSvp","s:11WooCommerce25DiscountLineTypeViewModel33_93BDBA0312C78AEDB1978DF6EE5A9191LLV33doneButtonAccessibilityIdentifierSSvp","s:11WooCommerce25DiscountLineTypeViewModel33_93BDBA0312C78AEDB1978DF6EE5A9191LLV39fixedAmountFieldAccessibilityIdentifierSSvp","s:11WooCommerce25IssueRefundViewControllerC20nextButtonWasPressed33_24BF69CF4D267CE9F5BCF953691088FELLyyypF","s:11WooCommerce25IssueRefundViewControllerC25selectAllButtonWasPressed33_24BF69CF4D267CE9F5BCF953691088FELLyyypF","s:11WooCommerce25LegacyPOSIneligibleReason33_313A3ED54F3BA2C7D56681E3F7697DB3LLO03wooB14PluginNotFoundyA2DmF","s:11WooCommerce25OrderCustomAmountsSectionV07showAddD24AmountAfterOptionsDialog33_57B8FF2D6D57407AB59B38929672E533LLSbvp","s:11WooCommerce25OrderCustomAmountsSectionV6Layout33_57B8FF2D6D57407AB59B38929672E533LLO030optionsBottomSheetContentTitleP7Padding14CoreFoundation7CGFloatVvpZ","s:11WooCommerce25OrderCustomAmountsSectionV6Layout33_57B8FF2D6D57407AB59B38929672E533LLO36optionsBottomSheetSymbolLabelSpacing14CoreFoundation7CGFloatVvpZ","s:11WooCommerce25OrderDetailsPaymentAlertsC15transactionType33_57757D2D77D6ADF5831FC5FCF2832480LLAA022CardPresentTransactionH0Ovp","s:11WooCommerce25OrderLoaderViewControllerC06lookUpC6Status33_69F13D20FD2C1CDBF1561C91893F96A0LL3for14NetworkingCore0cI0VSgSS_tF","s:11WooCommerce25OrderLoaderViewControllerC19currentSiteStatuses33_69F13D20FD2C1CDBF1561C91893F96A0LLSay14NetworkingCore0C6StatusVGvp","s:11WooCommerce25PaymentMethodsHostingViewV","s:11WooCommerce25PointOfSaleAggregateModelC13searchHistory3forSaySSG8Yosemite11POSItemTypeO_tF","s:11WooCommerce25PointOfSaleAggregateModelC9Constants33_CFA3CBF089184367AEAA73D64FED0BA3LLO","s:11WooCommerce25ProductFormViewControllerC05shareC11Coordinator33_40B60ACED569B4ABA586F1F653249D62LLAA05SharecH0CSgvp","s:11WooCommerce25ProductFormViewControllerC12userDefaults33_40B60ACED569B4ABA586F1F653249D62LLSo06NSUserH0Cvp","s:11WooCommerce25ProductFormViewControllerC24descriptionAICoordinator33_40B60ACED569B4ABA586F1F653249D62LLAA0c11DescriptionH0CSgvp","s:11WooCommerce25ProductFormViewControllerC29navigationRightBarButtonItems33_40B60ACED569B4ABA586F1F653249D62LL7Combine12AnyPublisherVySaySo05UIBarJ4ItemCGs5NeverOGvp","s:11WooCommerce25ProductFormViewControllerC32blazeCampaignCreationCoordinator33_40B60ACED569B4ABA586F1F653249D62LLAA05BlazehiJ0CSgvp","s:11WooCommerce25ProductFormViewControllerC36navigationRightBarButtonItemsSubject33_40B60ACED569B4ABA586F1F653249D62LL7Combine011PassthroughL0CySaySo05UIBarJ4ItemCGs5NeverOGvp","s:11WooCommerce25ReceiptEligibilityUseCaseC18featureFlagService33_21C8842774992485897AAB368CD1A67DLL11Experiments07FeaturehI0_pvp","s:11WooCommerce25ReviewOrderViewControllerC15hapticGenerator33_A623C3FFED234C17B870905E32AD9C0ALLSo022UINotificationFeedbackH0Cvp","s:11WooCommerce25ReviewsDataSourceProtocolP07refreshD9ObserversyyF","s:11WooCommerce25SelectableSecondaryButton33_D38C6D792E873B045439845610276EC7LLV15foregroundColorSo7UIColorCvp","s:11WooCommerce25ShippingLabelPackagesFormV12Localization33_A75524457383D84B7ED8C55F758A23A7LLO13moveItemTitleSSvpZ","s:11WooCommerce25ShippingLabelPackagesFormV9Constants33_A75524457383D84B7ED8C55F758A23A7LLO","s:11WooCommerce25StorePickerViewControllerC15noticePresenter33_5E39EF848A59CB8C17EEAF3AE8A0BADALLAA013DefaultNoticeH0Cvp","s:11WooCommerce25StorePickerViewControllerC16actionWasPressed33_5E39EF848A59CB8C17EEAF3AE8A0BADALLyyF","s:11WooCommerce25StorePickerViewControllerC18featureFlagService33_5E39EF848A59CB8C17EEAF3AE8A0BADALL11Experiments07FeaturehI0_pvp","s:11WooCommerce25StorePickerViewControllerC20checkRoleEligibility33_5E39EF848A59CB8C17EEAF3AE8A0BADALL3fory10Networking4SiteV_tF","s:11WooCommerce25StorePickerViewControllerC25secondaryActionWasPressed33_5E39EF848A59CB8C17EEAF3AE8A0BADALLyyF","s:11WooCommerce25StoreStatsPeriodViewModelC12cancellables33_2C9FCE05E39ABEFB0B282612D391E847LLShy7Combine14AnyCancellableCGvp","s:11WooCommerce25StoreStatsPeriodViewModelC9Constants33_2C9FCE05E39ABEFB0B282612D391E847LLO","s:11WooCommerce25SupportFormMetaDataSourceP","s:11WooCommerce25UpgradesHostingControllerC","s:11WooCommerce25WPComMagicLinkRequestViewV9Constants33_DC8E64583EB00EE13D45CB12726D7346LLO22contentVerticalSpacing14CoreFoundation7CGFloatVvpZ","s:11WooCommerce26AddCustomTrackingViewModelC08shipmentE010Networking08ShipmentE0VSgvp","s:11WooCommerce26AddCustomTrackingViewModelC20secondaryActionTitleSSSgvp","s:11WooCommerce26BlazeCampaignDashboardViewV6Layout33_78B252AE4BCF4E8CDA174318A2708FD3LLO12cornerRadius14CoreFoundation7CGFloatVvpZ","s:11WooCommerce26BlazeCampaignListViewModelC017shouldDisplayPostD11CreationTipSbvp","s:11WooCommerce26BlazeCampaignListViewModelC12userDefaults33_65117155A5B04AE566E619968667780BLLSo06NSUserI0Cvp","s:11WooCommerce26CollectOrderPaymentUseCaseC18readerSubscription33_4F56B47730D8A60A8D650FD61F10F2E9LL7Combine14AnyCancellableCSgvp","s:11WooCommerce26CollectOrderPaymentUseCaseC23receiptEmailCoordinator33_4F56B47730D8A60A8D650FD61F10F2E9LLAA011CardPresente7ReceiptiJ0CSgvp","s:11WooCommerce26CollectOrderPaymentUseCaseC29handleTotalAmountInvalidError33_4F56B47730D8A60A8D650FD61F10F2E9LL_13alertProvider11onCompletedys0L0_p_AA36CardReaderTransactionAlertsProviding_p12AlertDetailsQzAKRS_XPyyctF","s:11WooCommerce26ConfigurableBundleItemViewV12Localization33_33212FB7027269D828337FA088C53141LLO3addSSvpZ","s:11WooCommerce26CouponLineDetailsViewModelC06removeC0yyF","s:11WooCommerce26CouponLineDetailsViewModelC12Localization33_4B0DE5535FE7819E1501F9151EAE5805LLO","s:11WooCommerce26CouponLineDetailsViewModelC19validateAndSaveData12onCompletionyySbc_tF","s:11WooCommerce26CouponLineDetailsViewModelC23shouldDisableDoneButtonSbvp","s:11WooCommerce26CouponLineDetailsViewModelC6noticeAA6NoticeVSgvp","s:11WooCommerce26CouponLineDetailsViewModelC8saveData33_4B0DE5535FE7819E1501F9151EAE5805LLyyF","s:11WooCommerce26CustomerNoteSectionContent33_E60A03DF846E7A3D50CEC06FA81FF575LLV6LayoutO20verticalEmailSpacing14CoreFoundation7CGFloatVvpZ","s:11WooCommerce26CustomerNoteSectionContent33_E60A03DF846E7A3D50CEC06FA81FF575LLV6LayoutO22verticalAddressSpacing14CoreFoundation7CGFloatVvpZ","s:11WooCommerce26CustomerNoteSectionContent33_E60A03DF846E7A3D50CEC06FA81FF575LLV6LayoutO23verticalHeadlineSpacing14CoreFoundation7CGFloatVvpZ","s:11WooCommerce26FilterProductListViewModelC18featureFlagService33_9BB6C76E8E1F8D8DE60A7124AD3F067ELL11Experiments07FeatureiJ0_pvp","s:11WooCommerce26LinkSettingsViewControllerC7Section33_538830D35B9309E5187F94F56440EECFLLV5titleSSSgvp","s:11WooCommerce26LinkSettingsViewControllerC9Constants33_538830D35B9309E5187F94F56440EECFLLO","s:11WooCommerce26NavigationSwipeBackHandlerP","s:11WooCommerce26OrderDetailsViewControllerC09topBannerE033_79A0B235915FDFC989919DDCECCCF01ALLAA03TophE0CSgvp","s:11WooCommerce26OrderDetailsViewControllerC12Localization33_79A0B235915FDFC989919DDCECCCF01ALLO11ActionsMenuO","s:11WooCommerce26OrderDetailsViewControllerC17UnknownEmailError33_79A0B235915FDFC989919DDCECCCF01ALLV","s:11WooCommerce26OrderDetailsViewControllerC9Constants33_79A0B235915FDFC989919DDCECCCF01ALLO19headerDefaultHeight14CoreFoundation7CGFloatVvpZ","s:11WooCommerce26OrderDetailsViewControllerC9Constants33_79A0B235915FDFC989919DDCECCCF01ALLO21headerContainerInsetsSo06UIEdgeN0VvpZ","s:11WooCommerce26OrderFormHostingControllerC13subscriptions33_FEAC847823895F6A7BB14365B1DB7263LLShy7Combine14AnyCancellableCGvp","s:11WooCommerce26OrderTrackingTableViewCellC11getTopLabelSo7UILabelCyF","s:11WooCommerce26OrderTrackingTableViewCellC14getBottomLabelSo7UILabelCyF","s:11WooCommerce26OrderTrackingTableViewCellC14getMiddleLabelSo7UILabelCyF","s:11WooCommerce26OrderTrackingTableViewCellC15getActionButtonSo8UIButtonCyF","s:11WooCommerce26OrderTrackingTableViewCellC9topBorder33_558E1F5673310FCCCD6173D6D6496083LLSo6UIViewCSgvp","s:11WooCommerce26PaymentCaptureOrchestratorC17currencyFormatter33_0ADEBDB2959FC4AB1CA598D37259CC54LL0A14FoundationCore08CurrencyG0Cvp","s:11WooCommerce26PointOfSaleCollectCashViewV15backgroundColor031_11CDCCB1F43C4C6ECA7DFD3CAB54A5R0LL7SwiftUI0J0Vvp","s:11WooCommerce26PointOfSaleOrderControllerC0cdefG5ErrorO8noSiteIDyA2EmF","s:11WooCommerce26PointOfSaleOrderControllerC6stores33_F93656E9A6F0D8ADB43A46CFA13514CELL8Yosemite13StoresManager_pvp","s:11WooCommerce26ProductReviewTableViewCellC013getStarRatingF0AA0jF0CyF","s:11WooCommerce26ProductReviewTableViewCellC15getNotIconLabelSo7UILabelCyF","s:11WooCommerce26ProductReviewTableViewCellC15getSnippetLabelSo7UILabelCyF","s:11WooCommerce26ProductReviewTableViewCellC15getSubjectLabelSo7UILabelCyF","s:11WooCommerce26ProductReviewTableViewCellC9Constants33_F53192B9E276AACD7D37B73C5C8347B3LLO","s:11WooCommerce26ProductSettingsRowMediatorPyx8Yosemite0cD0Ccfc","s:11WooCommerce26RefundedProductsDataSourceC7SectionV5title10rightTitle6footer3rowAESSSg_A2jC3RowOtcfc","s:11WooCommerce26RefundedProductsDataSourceC7SectionV6footerSSSgvp","s:11WooCommerce26ShippingLabelFormViewModelC12userDefaults33_36F4786E3A46A8F908E7405E75A7F9B7LLSo06NSUserI0Cvp","s:11WooCommerce26ShippingProvidersViewModelC26shouldCreateCustomTracking3forSbSS_tF","s:11WooCommerce26StatsTimeRangeBarViewModelV02isdE8EditableSbvp","s:11WooCommerce26StoreOnboardingCoordinatorC010addProductE033_916C06F27AF5EBC541835CDD62516886LLAA03AddgE0CSgvp","s:11WooCommerce26StoreOnboardingCoordinatorC012storeDetailsE033_916C06F27AF5EBC541835CDD62516886LLAA0cdcgE0CSgvp","s:11WooCommerce26StoreOnboardingCoordinatorC013paymentsSetupE033_916C06F27AF5EBC541835CDD62516886LLAA0cd8PaymentsgE0CSgvp","s:11WooCommerce26StoreOnboardingCoordinatorC06launchcE033_916C06F27AF5EBC541835CDD62516886LLAA0cd6LaunchcE0CSgvp","s:11WooCommerce26SubscriptionTrialViewModelC22trialPeriodDescriptionSSvp","s:11WooCommerce26TapToPayEducationViewModelC13configuration33_D7FF7FB0848AB1C39C4B8903602DD632LL8Yosemite32CardPresentPaymentsConfigurationVvp","s:11WooCommerce26TapToPayEducationViewModelC26shouldShowContactlessLimitSbvp","s:11WooCommerce26TapToPayEducationViewModelC6siteID33_D7FF7FB0848AB1C39C4B8903602DD632LLs5Int64Vvp","s:11WooCommerce26TwoColumnSectionHeaderViewC16topMarginSpacing14CoreFoundation7CGFloatVvp","s:11WooCommerce26TwoColumnSectionHeaderViewC26topMarginSpacingConstraint33_D39A2859E3D172E432F3CAF97B6D40B7LLSo08NSLayoutK0CSgvp","s:11WooCommerce26UpdateProductInventoryViewV12LocalizationO16productNameTitleSSvpZ","s:11WooCommerce26WCShipInstallTableViewCellC025configurePlaceholderImageF033_2564A4E16DA37B8C47980F4296774052LLyyF","s:11WooCommerce26WrongAccountErrorViewModelC12Localization33_A3CFA28D5092E3073822413DD87E146FLLO05setupE7MessageSSvpZ","s:11WooCommerce26WrongAccountErrorViewModelC12Localization33_A3CFA28D5092E3073822413DD87E146FLLO17inProgressMessageSSvpZ","s:11WooCommerce26WrongAccountErrorViewModelC23isAuxiliaryButtonHiddenSbvp","s:11WooCommerce26WrongAccountErrorViewModelC23jetpackSetupCoordinator33_A3CFA28D5092E3073822413DD87E146FLLAA012LoginJetpackiJ0CSgvp","s:11WooCommerce26WrongAccountErrorViewModelC29jetpackSetupCompletionHandler33_A3CFA28D5092E3073822413DD87E146FLLyySS_SStcvp","s:11WooCommerce27AddProductWithAIActionSheetV9Constants33_3E65B571BA94353096114D0C67D1B71CLLO8legalURLSSvpZ","s:11WooCommerce27BillingAddressTableViewCellC03getD5LabelSo7UILabelCyF","s:11WooCommerce27BillingAddressTableViewCellC12getNameLabelSo7UILabelCyF","s:11WooCommerce27BlazeBudgetSettingViewModelC12Localization33_E9DC74D9D445470900DCE4C0F8F1B230LLO11dailyAmountSSvpZ","s:11WooCommerce27BlazeBudgetSettingViewModelC9ConstantsO15oneDayInSecondsSdvpZ","s:11WooCommerce27CollapsibleShipmentItemCardV6Layout33_F48563ECD9BB3FDB1CBB37A8D8BD9F64LLO15borderLineWidth14CoreFoundation7CGFloatVvpZ","s:11WooCommerce27DefaultConnectivityObserverC13stopObservingyyF","s:11WooCommerce27DefaultProductUIImageLoaderC25productImageActionHandler33_91AA864D25AC203C72D489BC9D48DC22LLAA0dhiJ0CSgvp","s:11WooCommerce27FeatureAnnouncementCardCellC10BadgeStyleO","s:11WooCommerce27FeatureAnnouncementCardCellC7badgeBg33_DEA6FF55D837C97B7ECD140F661C259ALLSo6UIViewCSgvp","s:11WooCommerce27HighlightLoadingButtonStyleV15dispatchTrigger33_D38C6D792E873B045439845610276EC7LLyy7SwiftUI09PrimitiveeF13ConfigurationVF","s:11WooCommerce27LegacyReceiptViewControllerC16emailCoordinator33_2CD58D267BF0B64DCF71D929B6BF7CC6LLAA018CardPresentPaymentd5EmailH0CSgvp","s:11WooCommerce27NewTaxRateSelectorViewModelC18featureFlagService33_23484E3AFF9450EF089EE16D38B2802ALL11Experiments07FeaturejK0_pvp","s:11WooCommerce27OrderCustomerSectionContent33_87172AD563F730CCDDED52039D870C07LLV6LayoutO20verticalEmailSpacing14CoreFoundation7CGFloatVvpZ","s:11WooCommerce27OrderCustomerSectionContent33_87172AD563F730CCDDED52039D870C07LLV6LayoutO23verticalHeadlineSpacing14CoreFoundation7CGFloatVvpZ","s:11WooCommerce27PaymentCaptureOrchestratingP11saveReceipt3for6paramsy14NetworkingCore5OrderV_8Hardware011CardPresentG10ParametersVtF","s:11WooCommerce27PaymentMethodsWrapperHostedV","s:11WooCommerce27ProductDetailsCellViewModelV4item8currency9formatter7product9hasAddOns17isChildWithParentAC14NetworkingCore9OrderItemV_SS0a10FoundationT017CurrencyFormatterC0S00C0VSgS2btcfc","s:11WooCommerce27ProductImagesViewControllerC08originalcD033_D709B1A21163B3EC740D5EDF689621B2LLSay10Networking0C5ImageVGvp","s:11WooCommerce27ProductImagesViewControllerC9productID33_D709B1A21163B3EC740D5EDF689621B2LLs5Int64Vvp","s:11WooCommerce27ProductLoaderViewControllerC5ModelO9orderItemAE14NetworkingCore05OrderI0V_tcfc","s:11WooCommerce27RefundConfirmationViewModelC17submissionUseCase33_01322CE4B8ABE39B82FB11F242799928LLAA0C18SubmissionProtocol_pSgvp","s:11WooCommerce27RefundConfirmationViewModelC7details15actionProcessor16currencySettings9analyticsA2C7DetailsV_8Yosemite13StoresManager_p0A14FoundationCore08CurrencyK0C0aQ09Analytics_ptcfc","s:11WooCommerce27SiteCredentialLoginProtocolP","s:11WooCommerce27SupportFormMetadataProviderC14storageManager33_ADEEEE30892D8AFAEFC8A7B0EE891276LL7Storage0oH4Type_pvp","s:11WooCommerce27SupportFormMetadataProviderC20connectivityObserver33_ADEEEE30892D8AFAEFC8A7B0EE891276LLAA012ConnectivityH0_pvp","s:11WooCommerce27SupportFormMetadataProviderC9Constants33_ADEEEE30892D8AFAEFC8A7B0EE891276LLO11networkWWANSSvpZ","s:11WooCommerce27SupportFormMetadataProviderC9Constants33_ADEEEE30892D8AFAEFC8A7B0EE891276LLO11networkWiFiSSvpZ","s:11WooCommerce27SurveyViewControllerOutputsP12onCompletionyycvp","s:11WooCommerce28AccountCreationFormViewModelC12Localization33_62C7EAAC342138DDD8BC46E1B7779BC6LLO10otherErrorSSvpZ","s:11WooCommerce28BadgedLeftImageTableViewCellC03dotG033_090E9704BA246219A03CCBEB8D443FCELLAA03DotG0CSgvp","s:11WooCommerce28BadgedLeftImageTableViewCellC04leftE0So7UIImageCSgvp","s:11WooCommerce28BadgedLeftImageTableViewCellC05badgeE033_090E9704BA246219A03CCBEB8D443FCELL7visibleySb_tF","s:11WooCommerce28BadgedLeftImageTableViewCellC12DotConstants33_090E9704BA246219A03CCBEB8D443FCELLO","s:11WooCommerce28BadgedLeftImageTableViewCellC7xOffset33_090E9704BA246219A03CCBEB8D443FCELL2in14CoreFoundation7CGFloatVSo07UIImageG0C_tF","s:11WooCommerce28BadgedLeftImageTableViewCellC9configure5image4text9showBadgeySo7UIImageC_SSSbtF","s:11WooCommerce28BadgedLeftImageTableViewCellC9labelTextSSSgvp","s:11WooCommerce28BlazeCreateCampaignIntroViewV07FeatureG033_F6C5861AC21A0B692C16E6D4352B2485LLV5scale14CoreFoundation7CGFloatVvp","s:11WooCommerce28BlazeEditAdHostingControllerC23mediaPickingCoordinator33_473977D43FFDC0DB451F8498539D8F13LLAA05MediaiJ0CSgvp","s:11WooCommerce28BlazePaymentMethodsViewModelC06sampleD4Info07paymentE010Networking0cdI0VSayAF0cD6MethodVG_tFZ","s:11WooCommerce28BlazePaymentMethodsViewModelC06sampledE0Say10Networking0cD6MethodVGyFZ","s:11WooCommerce28BlazePaymentMethodsViewModelC9userEmailSSvp","s:11WooCommerce28CardReaderSupportDeterminingP28firstTapToPayTransactionDate10Foundation0L0VSgyYaF","s:11WooCommerce28CollectOrderPaymentAnalyticsC23trackReceiptPrintFailed5errorys5Error_p_tF","s:11WooCommerce28CollectOrderPaymentAnalyticsC23trackReceiptPrintTappedyyF","s:11WooCommerce28CollectOrderPaymentAnalyticsC24trackReceiptPrintSuccessyyF","s:11WooCommerce28CollectOrderPaymentAnalyticsC25trackReceiptPrintCanceledyyF","s:11WooCommerce28ConnectedReaderTableViewCellC9viewModel33_DB430DB96C18607FB4072D2D4473F99DLLAC0fI0VSgvp","s:11WooCommerce28FirstProductCreatedViewModelC10productURL10Foundation0I0Vvp","s:11WooCommerce28FirstProductCreatedViewModelC11productNameSSvp","s:11WooCommerce28GoogleAdsCampaignCoordinatorC6siteID33_D23602F02743112DF9C9F2DCF4DE44FELLs5Int64Vvp","s:11WooCommerce28HelpAndSupportViewControllerC19isPaymentsAvailable33_FB27841256F66937FB6060C9A1DC2C56LLSbvp","s:11WooCommerce28ManualTrackingViewControllerC12showKeyboard33_8D02DCF1AF17D12681D42985174C5B05LLyyF","s:11WooCommerce28ManualTrackingViewControllerC24configureSecondaryAction33_8D02DCF1AF17D12681D42985174C5B05LL4cellyAA010BasicTableE4CellC_tF","s:11WooCommerce28ManualTrackingViewControllerC8getTableSo07UITableE0CyF","s:11WooCommerce28NullViewControllerPresentingC7dismiss8animatedySb_tF","s:11WooCommerce28OrderPaymentDetailsViewModelC12paymentTotalSSvp","s:11WooCommerce28PrePurchaseUpgradesErrorViewV12Localization33_F464732534A922297C0E353EE5CBE678LLO23cancelUpgradeButtonTextSSvpZ","s:11WooCommerce28ProductDownloadFileViewModelC012downloadableE5Index33_9E3B2C31ACEF72CB0F4A0FE1F0FF9016LLSiSgvp","s:11WooCommerce28ProductDownloadListViewModelC29handleDownloadableFilesChangeyySay10Networking0cD0VGF","s:11WooCommerce28ProductDownloadsEditableDataV12productModelAcA0c4FormfH0_p_tcfc","s:11WooCommerce28ProductsSplitViewCoordinatorC010addProductF033_827A973DFB4D3BB18E0258F291C1ED3CLLAA03AddhF0CSgvp","s:11WooCommerce28SelectedSiteSettingsProtocolP04siteE0Say10Networking0D7SettingVGvp","s:11WooCommerce28SetUpTapToPayInformationViewV7showURLy10Foundation0K0VcSgvp","s:11WooCommerce28SupportFormHostingControllerC15noticePresenter33_66FE33939E97A3A94FD3BC4230B5B67ELLAA06NoticeH0_pvp","s:11WooCommerce28SurveyCoordinatingControllerC14zendeskManager33_5C58E3D3BC3BC4A6857BE88244501999LLAA07ZendeskG8Protocol_pvp","s:11WooCommerce28TopPerformersPeriodViewModelC5state33_3CDA952A0C5B5D71A4F69ECDB9A30746LLAC5StateOvp","s:11WooCommerce29BlazeAdDestinationSettingViewV14sectionHeading33_3E6CF41A7DD17A8359D033113B357968LL5titleQrSS_tF","s:11WooCommerce29BlazeAdDestinationSettingViewV6Layout33_3E6CF41A7DD17A8359D033113B357968LLO15verticalSpacing14CoreFoundation7CGFloatVvpZ","s:11WooCommerce29BlazeAdDestinationSettingViewV6Layout33_3E6CF41A7DD17A8359D033113B357968LLO21sectionHeadingPadding7SwiftUI10EdgeInsetsVvpZ","s:11WooCommerce29BlazeAdDestinationSettingViewV6Layout33_3E6CF41A7DD17A8359D033113B357968LLO22sectionVerticalSpacing14CoreFoundation7CGFloatVvpZ","s:11WooCommerce29BlazeAdDestinationSettingViewV6Layout33_3E6CF41A7DD17A8359D033113B357968LLO25parametersVerticalSpacing14CoreFoundation7CGFloatVvpZ","s:11WooCommerce29BulkUpdatePriceViewControllerC05tableF0_24heightForFooterInSection14CoreFoundation7CGFloatVSo07UITableF0C_SitF","s:11WooCommerce29CardPresentPaymentTransactionV10receiptURL10Foundation0H0Vvp","s:11WooCommerce29ConfigurableBundleProductViewV16presentationMode33_C58AF20FE8AE7071F77BCF5A79665258LL7SwiftUI7BindingVyAF012PresentationH0VGvp","s:11WooCommerce29EditableProductVariationModelC13averageRatingSSvp","s:11WooCommerce29EditableProductVariationModelC14reviewsAllowedSbvp","s:11WooCommerce29EditableProductVariationModelC8passwordSSSgvp","s:11WooCommerce29EditableProductVariationModelC9hasAddOnsSbvp","s:11WooCommerce29InPersonPaymentsMenuViewModelC014paymentMethodsgH0AA07PaymentjgH0CSgvp","s:11WooCommerce29InPersonPaymentsMenuViewModelC12DependenciesV15noticePresenterAA06NoticeK0_pvp","s:11WooCommerce29InPersonPaymentsMenuViewModelC12DependenciesV18featureFlagService11Experiments07FeaturekL0_pvp","s:11WooCommerce29InPersonPaymentsMenuViewModelC12Localization33_20BECDA74E8E286CFA6E165281520F2DLLO12orderCreatedSSvpZ","s:11WooCommerce29InPersonPaymentsMenuViewModelC12Localization33_20BECDA74E8E286CFA6E165281520F2DLLO14orderCompletedSSvpZ","s:11WooCommerce29InPersonPaymentsMenuViewModelC42shouldAlwaysHideSetUpButtonOnAboutTapToPaySbvp","s:11WooCommerce29JetpackConnectionWebViewModelC7siteURLSSvp","s:11WooCommerce29JetpackSetupRequiredViewModelC11coordinator33_3CC0BB3BB4C795671496A0DD828DE0CELLAA05LogincD11CoordinatorCSgvp","s:11WooCommerce29JetpackSetupRequiredViewModelC17imageDownloadTask33_3CC0BB3BB4C795671496A0DD828DE0CELLAA05ImageiJ0_pSgvp","s:11WooCommerce29LoginOnboardingViewControllerC18featureFlagService33_624ECD36701E5178C9BE7E25B777386CLL11Experiments07FeaturehI0_pvp","s:11WooCommerce29NumberedListItemTableViewCellC0G5ModelV","s:11WooCommerce29NumberedListItemTableViewCellC11numberLabel33_E3E0C8DA644CFE59B2EF50F269F564EFLLSo7UILabelCSgvp","s:11WooCommerce29NumberedListItemTableViewCellC13itemTextLabel33_E3E0C8DA644CFE59B2EF50F269F564EFLLSo7UILabelCSgvp","s:11WooCommerce29NumberedListItemTableViewCellC9configure9viewModelyAC0gK0V_tF","s:11WooCommerce29NumberedListItemTableViewCellC9viewModel33_E3E0C8DA644CFE59B2EF50F269F564EFLLAC0gJ0VSgvp","s:11WooCommerce29PointOfSalePaymentSuccessViewV9Constants33_DD6672F1A54CAF04118CAB95CAFE5C4BLLO10shadowSizeSo6CGSizeVvpZ","s:11WooCommerce29PointOfSalePaymentSuccessViewV9Constants33_DD6672F1A54CAF04118CAB95CAFE5C4BLLO12shadowRadius14CoreFoundation7CGFloatVvpZ","s:11WooCommerce29PointOfSalePaymentSuccessViewV9Constants33_DD6672F1A54CAF04118CAB95CAFE5C4BLLO13shadowOpacity14CoreFoundation7CGFloatVvpZ","s:11WooCommerce29PointOfSalePaymentSuccessViewV9Constants33_DD6672F1A54CAF04118CAB95CAFE5C4BLLO9imageNameSSvpZ","s:11WooCommerce29PointOfSalePreviewItemServiceC07providecdE5ItemsSay8Yosemite7POSItemOGyF","s:11WooCommerce29PointOfSalePreviewItemServiceC13fetchStrategy8Yosemite0cde11Purchasableg5FetchJ0_pvp","s:11WooCommerce29PrivacySettingsViewControllerC23reportCrashesWasUpdated33_FDF446E3D9460D206396ED7065007803LL8newValueySb_tF","s:11WooCommerce29ProductVariationFormViewModelC25productImageActionHandler33_9DF79AC9180CE4E0AA616473B8B6E7A7LLAA0cijK8Protocol_pvp","s:11WooCommerce29ProductsListViewModelProtocolP","s:11WooCommerce29ReviewsDashboardCardViewModelC6siteIDs5Int64Vvp","s:11WooCommerce29ReviewsDashboardCardViewModelC7filtersSayAC0C6FilterOGvp","s:11WooCommerce29SelectPackageImageCoordinatorC012mediaPickingF033_8FE438607B6BDBCF6F390712698EA4AFLLAA05MediahF0CSgvp","s:11WooCommerce29SimpleProductsOnlyInformationV12Localization33_CFC479E5CDE0B1FE0D1CE5ED2E84C29FLLO13okButtonTitleSSvpZ","s:11WooCommerce29SurveySubmittedViewControllerC21contactUsButtonTapped33_5A88A4C83FC3511D4E863523C81C2B8ALLyyypF","s:11WooCommerce29SurveySubmittedViewControllerC24backToStoreButtonPressed33_5A88A4C83FC3511D4E863523C81C2B8ALLyyypF","s:11WooCommerce29TapToPayBadgePromotionCheckerC12cancellables33_17AE8395BF0971EF27CBF4AB0DD4573BLLShy7Combine14AnyCancellableCGvp","s:11WooCommerce29UpdateAnalyticsSettingUseCaseC12userDefaults33_DA79DF5F591A59DF9E43A88006DAAB15LLSo06NSUserI0Cvp","s:11WooCommerce30AnalyticsHubTimeRangeSelectionC","s:11WooCommerce30AnalyticsHubTimeRangeSelectionC12LocalizationO14selectionTitleSSvpZ","s:11WooCommerce30CardPresentPaymentServiceErrorO014couldNotCancelE0yA2CmF","s:11WooCommerce30CardReaderConnectionControllerC13configuration33_C3B1D2930EA1AD557E77857BD949B99CLL8Yosemite0C28PresentPaymentsConfigurationVvp","s:11WooCommerce30CustomerSelectorViewControllerC010emptyStateeF033_DDBE35D252F08AB84F47D0763549F731LLSo06UIViewF0CSgvp","s:11WooCommerce30CustomerSelectorViewControllerC02onC8Selected33_DDBE35D252F08AB84F47D0763549F731LLyy10Networking0C0Vcvp","s:11WooCommerce30DashboardViewHostingControllerC022modalJustInTimeMessageeF033_2DF9F56C57EEC869C25938A1067E6A91LLAA019ConstraintsUpdatingeF0CyAA0hijK11Modal_UIKitVGSgvp","s:11WooCommerce30DashboardViewHostingControllerC23jetpackSetupCoordinator33_2DF9F56C57EEC869C25938A1067E6A91LLAA07JetpackhI0CSgvp","s:11WooCommerce30DashboardViewHostingControllerC28googleAdsCampaignCoordinator33_2DF9F56C57EEC869C25938A1067E6A91LLAA06GooglehiJ0CSgvp","s:11WooCommerce30DashboardViewHostingControllerC32blazeCampaignCreationCoordinator33_2DF9F56C57EEC869C25938A1067E6A91LLAA05BlazehiJ0CSgvp","s:11WooCommerce30DefaultFavoriteProductsUseCaseV18featureFlagService33_2D9517EE05698E984416E08A27CF35E6LL11Experiments07FeatureiJ0_pvp","s:11WooCommerce30EmptyListMessageWithActionViewC03getE5LabelSo7UILabelCyF","s:11WooCommerce30EmptyListMessageWithActionViewC14getButtonLabelSo7UILabelCyF","s:11WooCommerce30EmptyListMessageWithActionViewC9getButtonAA07BordersH0CyF","s:11WooCommerce30FeeOrDiscountLineTypeViewModelP15navigationTitleSSvp","s:11WooCommerce30FeeOrDiscountLineTypeViewModelP17removeButtonTitleSSvp","s:11WooCommerce30FeeOrDiscountLineTypeViewModelP33doneButtonAccessibilityIdentifierSSvp","s:11WooCommerce30FeeOrDiscountLineTypeViewModelP39fixedAmountFieldAccessibilityIdentifierSSvp","s:11WooCommerce30POSConnectivityObserverPreviewC","s:11WooCommerce30PointOfSaleItemListErrorLayoutO15verticalPadding14CoreFoundation7CGFloatVvpZ","s:11WooCommerce30PointOfSaleSoundPlayerProtocolP04playF0_10completionyAA0cdeF0V_yyctYaF","s:11WooCommerce30ProductSettingsSectionMediatorPyx8Yosemite0cD0Ccfc","s:11WooCommerce30RefundedProductsViewControllerC7notices33_45429AE8DF853B9DA865A12212503D62LLAA19OrderDetailsNoticesCvp","s:11WooCommerce30ReviewsViewModelActionsHandlerP14refreshResultsyyF","s:11WooCommerce30SetUpTapToPayCompleteViewModelC26connectionAnalyticsTracker33_3F7A2312538CF099F3E1A821E73D9C94LLAA020CardReaderConnectionlM0Cvp","s:11WooCommerce30SetUpTapToPayPaymentPromptViewV12Localization33_299F7E586DDE60EC3DC02672D8F62F85LLO12cancelButtonSSvpZ","s:11WooCommerce30ShippingLabelCustomPackageFormV12Localization33_0AA2069935D05DEFCEF4FD308895DE8ALLO22packageTypePlaceholderSSvpZ","s:11WooCommerce30TopPerformerDataViewControllerC12imageService33_3EAA2954DFF082934403384F52EBD49DLLAA05ImageI0_pvp","s:11WooCommerce30TopPerformerDataViewControllerC24removePlaceholderContentyyF","s:11WooCommerce30TopPerformerDataViewControllerC25displayPlaceholderContentyyF","s:11WooCommerce30TopPerformerDataViewControllerC6siteID0H8TimeZone11currentDate9timeRange14storageManager18featureFlagService23usageTracksEventEmitterACs5Int64V_10Foundation0jK0VAM0M0V8Yosemite05StatsjO2V4O7Storage07StorageQ4Type_p11Experiments07FeaturesT0_pAA015StoreStatsUsagevwX0Ctcfc","s:11WooCommerce30UserNotificationsCenterAdapterP20requestAuthorization5queue23includesProvisionalAuth10completionySo012OS_dispatch_I0C_SbySbctF","s:11WooCommerce31BlazeCampaignDashboardViewModelC015didSelectCreateD06sourceyAA0C6SourceO_tF","s:11WooCommerce31BlazeCampaignDashboardViewModelC016didTapCreateYourd15ButtonFromIntroF0yyF","s:11WooCommerce31BlazeLocalNotificationSchedulerP31cancelAbandonedCreationReminderyyYaF","s:11WooCommerce31BlazeLocalNotificationSchedulerP33scheduleAbandonedCreationReminderyyYaF","s:11WooCommerce31BlazeTargetTopicPickerViewModelC15displayedTopics33_EFFDB77F358ED0E3556AF804FB6E59B3LLSay10Networking0cdE0VGvp","s:11WooCommerce31NoteDetailsCommentTableViewCellC14spamWasPressed33_C484CBA9A999B9C436C3101A812AAD95LLyySo8UIButtonCF","s:11WooCommerce31NoteDetailsCommentTableViewCellC15replyWasPressed33_C484CBA9A999B9C436C3101A812AAD95LLyySo8UIButtonCF","s:11WooCommerce31NoteDetailsCommentTableViewCellC15trashWasPressed33_C484CBA9A999B9C436C3101A812AAD95LLyySo8UIButtonCF","s:11WooCommerce31NoteDetailsCommentTableViewCellC17approveWasPressed33_C484CBA9A999B9C436C3101A812AAD95LLyySo8UIButtonCF","s:11WooCommerce31POSCollectOrderPaymentAnalyticsC23trackReceiptPrintFailed5errorys5Error_p_tF","s:11WooCommerce31POSCollectOrderPaymentAnalyticsC23trackReceiptPrintTappedyyF","s:11WooCommerce31POSCollectOrderPaymentAnalyticsC24trackReceiptPrintSuccessyyF","s:11WooCommerce31POSCollectOrderPaymentAnalyticsC25trackReceiptPrintCanceledyyF","s:11WooCommerce31PaginatedListSelectorDataSourceP10isSelected5modelSb12StorageModel_12ReadOnlyTypeQZ_tF","s:11WooCommerce31ProductVariationsViewControllerC12Localization33_713A98B3DB3AEAA87AA4C5D3895E8E2DLLO12cancelActionSSvpZ","s:11WooCommerce31ProductVariationsViewControllerC12Localization33_713A98B3DB3AEAA87AA4C5D3895E8E2DLLO15moreButtonLabelSSvpZ","s:11WooCommerce31ProductVariationsViewControllerC12Localization33_713A98B3DB3AEAA87AA4C5D3895E8E2DLLO20editAttributesActionSSvpZ","s:11WooCommerce31ProductVariationsViewControllerC18featureFlagService33_713A98B3DB3AEAA87AA4C5D3895E8E2DLL11Experiments07FeaturehI0_pvp","s:11WooCommerce31ShippingLabelServicePackageListV9Constants33_C50A06DE2B66A0F1026CCED6858B1243LLO15verticalSpacing14CoreFoundation7CGFloatVvpZ","s:11WooCommerce31TopPerformersDashboardViewModelC16currencySettings33_E326410AB5F997574714ADECAE9C942BLL0A14FoundationCore08CurrencyI0Cvp","s:11WooCommerce31TopPerformersDashboardViewModelC17currencyFormatter33_E326410AB5F997574714ADECAE9C942BLL0A14FoundationCore08CurrencyI0Cvp","s:11WooCommerce31ULAccountMismatchViewControllerC08getImageE0So07UIImageE0CyF","s:11WooCommerce31ULAccountMismatchViewControllerC10getMessageSo7UILabelCyF","s:11WooCommerce31ULAccountMismatchViewControllerC15getLogOutButtonSo8UIButtonCyF","s:11WooCommerce31ULAccountMismatchViewControllerC16getUserNameLabelSo7UILabelCyF","s:11WooCommerce31ULAccountMismatchViewControllerC18getAuxiliaryButtonSo8UIButtonCyF","s:11WooCommerce31ULAccountMismatchViewControllerC18getSingedInAsLabelSo7UILabelCyF","s:11WooCommerce31ULAccountMismatchViewControllerC20getWrongAccountLabelSo7UILabelCyF","s:11WooCommerce31ULAccountMismatchViewControllerC22getPrimaryActionButtonSo8UIButtonCyF","s:11WooCommerce31ULAccountMismatchViewControllerC24getSecondaryActionButtonSo8UIButtonCyF","s:11WooCommerce32BillingInformationViewControllerC23checkIfCopyingIsAllowed33_97007C8ACF83414046C93061D9B092ACLL3forSb10Foundation9IndexPathV_tF","s:11WooCommerce32BillingInformationViewControllerC9Constants33_97007C8ACF83414046C93061D9B092ACLLO12footerHeight14CoreFoundation7CGFloatVvpZ","s:11WooCommerce32BlazeCampaignCreationCoordinatorC010addProductF033_B0ACBE13027C91CB591F60840ACBBCF7LLAA03AddhF0CSgvp","s:11WooCommerce32BlazeCampaignCreationCoordinatorC015didSelectCreateD033_B0ACBE13027C91CB591F60840ACBBCF7LLyAA0C6SourceOcSgvp","s:11WooCommerce32BlazeCampaignCreationCoordinatorC7siteURL33_B0ACBE13027C91CB591F60840ACBBCF7LLSSvp","s:11WooCommerce32BlazeCampaignObjectivePickerViewV12Localization33_AA053ED315A1CD4355EAF907B3E8D890LLO7messageSSvpZ","s:11WooCommerce32BulkUpdatePriceSettingsViewModelC3Rowa","s:11WooCommerce32CardReaderSettingsAlertsProviderP","s:11WooCommerce32CollapsibleCustomerCardViewModelC02isD15AccountRequiredSbvp","s:11WooCommerce32CollapsibleCustomerCardViewModelC10isEditableSbvp","s:11WooCommerce32DefaultProductFormTableViewModelV12LocalizationO28subscriptionPriceDescription33_0B335C919646781BE71A89ED001DCF69LL5price6period0T8Interval17currencyFormatterSSSgSS_10Networking18SubscriptionPeriodOSS0A14FoundationCore08CurrencyW0CtFZ","s:11WooCommerce32DefaultProductFormTableViewModelV12LocalizationO29subscriptionExpiryDescription33_0B335C919646781BE71A89ED001DCF69LL6length6periodS2S_10Networking18SubscriptionPeriodOtFZ","s:11WooCommerce32DefaultProductFormTableViewModelV18featureFlagService33_0B335C919646781BE71A89ED001DCF69LL11Experiments07FeaturejK0_pvp","s:11WooCommerce32LastOrdersDashboardCardViewModelC15ordersPredicate33_EA92B5C51B70F3261345D4585E1EEE3CLLSo11NSPredicateCyF","s:11WooCommerce32PointOfSalePreviewHistoryServiceC011clearSearchG03fory8Yosemite11POSItemTypeO_tF","s:11WooCommerce32PointOfSalePreviewHistoryServiceC014clearAllSearchG0yyF","s:11WooCommerce32PrivacyBannerPresentationUseCaseC13currentLocale011_A7FF76A064J20DC464D4CBD2F2D57CB94LL10Foundation0I0Vvp","s:11WooCommerce32ProductCategorySelectorViewModelC14storageManager33_AEF804CC8D75998E64E93CFF1F1BAB70LL7Storage0rI4Type_pvp","s:11WooCommerce32ProductCategorySelectorViewModelC18selectedCategories33_AEF804CC8D75998E64E93CFF1F1BAB70LLSays5Int64VGvp","s:11WooCommerce32ProductCategorySelectorViewModelC6siteID33_AEF804CC8D75998E64E93CFF1F1BAB70LLs5Int64Vvp","s:11WooCommerce32ProductDescriptionGenerationViewV6Layout33_1CCF2CEAE340602086590BCA943BC0F5LLO20minimuNameEditorSize14CoreFoundation7CGFloatVvpZ","s:11WooCommerce32ProductDownloadListActionHandlerP29handleDownloadableFilesChangeyySay10Networking0cD0VGF","s:11WooCommerce32UINavigationBarBackButtonHandlerP","s:11WooCommerce32WPComEmailLoginHostingControllerC15noticePresenter33_21F11F162B649CF1CCB81BF413EA68D2LLAA013DefaultNoticeI0Cvp","s:11WooCommerce33AggregatedShippingLabelOrderItemsV9orderItem2of2atAA09AggregatefI0VSg14NetworkingCore0dE0V_SitF","s:11WooCommerce33AnalyticsHubHostingViewControllerC28googleAdsCampaignCoordinator33_7211D5C4DC964F43362DF1FD5CCB9DBDLLAA06GoogleijK0CSgvp","s:11WooCommerce33BlazeAddPaymentMethodWebViewModelC6siteID33_8AE895C0CDB690525EB5C82FA44E7648LLs5Int64Vvp","s:11WooCommerce33EditOrderAddressHostingControllerC13subscriptions33_B7E28760E08833BADA0F8721A7FB3489LLShy7Combine14AnyCancellableCGvp","s:11WooCommerce33EditOrderAddressHostingControllerC20modalNoticePresenter33_B7E28760E08833BADA0F8721A7FB3489LLAA0iJ0_pvp","s:11WooCommerce33FeeOrDiscountLineDetailsViewModelC16currencyPosition0A14FoundationCore16CurrencySettingsC0nK0Ovp","s:11WooCommerce33FeeOrDiscountLineDetailsViewModelC17amountPlaceholderSSvp","s:11WooCommerce33FeeOrDiscountLineDetailsViewModelC23shouldDisableDoneButtonSbvp","s:11WooCommerce33FeeOrDiscountLineDetailsViewModelC27isPercentageOptionAvailableSbvp","s:11WooCommerce33FeeOrDiscountLineDetailsViewModelC9minusSign33_93BDBA0312C78AEDB1978DF6EE5A9191LLSSvp","s:11WooCommerce33LoginOnboardingPageViewControllerC9Constants33_7F290EAD72AFBD7281C91F4FD63D178CLLO23pageControlBottomMargin14CoreFoundation7CGFloatVvpZ","s:11WooCommerce33OrderDetailsPaymentAlertsProtocolP16presentViewModel04viewJ0yAA024CardPresentPaymentsModaliJ7Content_AA0lmnoiJ12UIKitActionsp_tF","s:11WooCommerce33PointOfSaleAggregateModelProtocolP027cardPresentPaymentAlertViewG0AA0cde4CardjkL4TypeOSgvp","s:11WooCommerce33PointOfSaleAggregateModelProtocolP032cardPresentPaymentOnboardingViewG0AA04Cardj8PaymentslmG0CSgvp","s:11WooCommerce33PointOfSaleAggregateModelProtocolP05pointdE6ClosedyyF","s:11WooCommerce33PointOfSaleAggregateModelProtocolP10orderStageAA0cde5OrderJ0Ovp","s:11WooCommerce33PointOfSaleAggregateModelProtocolP10orderStateAA0cde5OrderJ0Ovp","s:11WooCommerce33PointOfSaleAggregateModelProtocolP12paymentStateAA0cde7PaymentJ0Vvp","s:11WooCommerce33PointOfSaleAggregateModelProtocolP12startNewCartyyF","s:11WooCommerce33PointOfSaleAggregateModelProtocolP13addMoreToCartyyF","s:11WooCommerce33PointOfSaleAggregateModelProtocolP13searchHistory3forSaySSG8Yosemite11POSItemTypeO_tF","s:11WooCommerce33PointOfSaleAggregateModelProtocolP14barcodeScannedyys6ResultOySSAA21HIDBarcodeParserErrorOGF","s:11WooCommerce33PointOfSaleAggregateModelProtocolP17connectCardReaderyyF","s:11WooCommerce33PointOfSaleAggregateModelProtocolP17couponsControllerAA0cde7CouponsjH0_pvp","s:11WooCommerce33PointOfSaleAggregateModelProtocolP20disconnectCardReaderyyF","s:11WooCommerce33PointOfSaleAggregateModelProtocolP22removeAllItemsFromCart5typesySayAA0M8ItemTypeOG_tF","s:11WooCommerce33PointOfSaleAggregateModelProtocolP23couponsSearchControllerAA0cde14SearchingItemskH0_pvp","s:11WooCommerce33PointOfSaleAggregateModelProtocolP26cardReaderConnectionStatusAA018CardPresentPaymentjkL0Ovp","s:11WooCommerce33PointOfSaleAggregateModelProtocolP26purchasableItemsControllerAA0cdejkH0_pvp","s:11WooCommerce33PointOfSaleAggregateModelProtocolP28cancelCardPaymentsOnboardingyyF","s:11WooCommerce33PointOfSaleAggregateModelProtocolP31cardPresentPaymentInlineMessageAA0cde4CardjkM4TypeOSgvp","s:11WooCommerce33PointOfSaleAggregateModelProtocolP32purchasableItemsSearchControllerAA0cde9SearchingjlH0_pvp","s:11WooCommerce33PointOfSaleAggregateModelProtocolP32trackCardPaymentsOnboardingShownyyF","s:11WooCommerce33PointOfSaleAggregateModelProtocolP6remove8cartItemyAA04CartK0_p_tF","s:11WooCommerce33PointOfSaleAggregateModelProtocolP8checkOutyyYaF","s:11WooCommerce33PointOfSalePreviewItemsControllerC23itemsViewStatePublisher7Combine0L0_ps5NeverO7FailureAeFPRts_AA0gjK0C6OutputAJRtsXPvp","s:11WooCommerce33ProductCreationAIStartingInfoViewV6Layout33_C0BE36B361A84A12F55B54C2654E3ACBLLO13dividerHeight14CoreFoundation7CGFloatVvpZ","s:11WooCommerce33ProductCreationAIStartingInfoViewV6Layout33_C0BE36B361A84A12F55B54C2654E3ACBLLO17placeholderInsets7SwiftUI04EdgeT0VvpZ","s:11WooCommerce33ProductDownloadListViewControllerC27onWPLibraryPickerCompletion33_75625F3F2DDD0EEEA389A6C0F3843C24LLySay10Networking5MediaVGcSgvp","s:11WooCommerce33ProductDownloadListViewControllerC31onDeviceLibraryPickerCompletion33_75625F3F2DDD0EEEA389A6C0F3843C24LLySaySo7PHAssetCGcSgvp","s:11WooCommerce33ProductImageActionHandlerProtocolP022uploadMediaAssetToSiteI7Library5assety10Networking0cdJ4TypeO_tF","s:11WooCommerce33ProductImageActionHandlerProtocolP027addSiteMediaLibraryImagesToC010mediaItemsySay10Networking0J0VG_tF","s:11WooCommerce33ProductImageActionHandlerProtocolP05resetC6Images2toyAA0C13FormDataModel_p_tF","s:11WooCommerce33ProductImageActionHandlerProtocolP06deletecD0yy10Networking0cD0VF","s:11WooCommerce33ProductImageActionHandlerProtocolP06updateC2IDyy10Networking0c11OrVariationI0OF","s:11WooCommerce33ProductImageActionHandlerProtocolP06updatecD23StatusesAfterReorderingyySay10Networking0cD6StatusOGF","s:11WooCommerce33ProductImageActionHandlerProtocolP13discardUpload5assety10Networking0cD9AssetTypeO_tF","s:11WooCommerce33ProductInventorySettingsViewModelC18featureFlagService33_228551149D66DE6DC417B3EAD4AAA5B2LL11Experiments07FeatureiJ0_pvp","s:11WooCommerce33RangedDatePickerHostingControllerC","s:11WooCommerce33RefundShippingLabelViewControllerC9Constants33_76C863C66C0FE0ABF486B0952C42C484LLO13sectionHeight14CoreFoundation7CGFloatVvpZ","s:11WooCommerce33ShippingLabelAddressFormViewModelC16addressValidatedAC10ValidationOvp","s:11WooCommerce33ShippingLabelSummaryTableViewCellC18buttonTouchUpEvent33_B2FF640D2C1D745379DBA08F8CEFE34FLLyyypF","s:11WooCommerce33ShippingLabelSummaryTableViewCellC22toggleSwitchWasPressed33_B2FF640D2C1D745379DBA08F8CEFE34FLLyyypF","s:11WooCommerce33StorePickerViewControllerDelegateP19showRoleErrorScreen3for9errorInfo12onCompletionys5Int64V_7Storage011EligibilityjN0VyyctF","s:11WooCommerce34AddProductWithAIContainerViewModelC11productNameSSvp","s:11WooCommerce34AddProductWithAIContainerViewModelC18productDescriptionSSSgvp","s:11WooCommerce34AddProductWithAIContainerViewModelC6sourceAA0cD11CoordinatorC6SourceOvp","s:11WooCommerce34BetaFeaturesConfigurationViewModelC18featureFlagService33_F0F43D66B961157A5DD0E1E2112EE6B9LL11Experiments07FeatureiJ0_pvp","s:11WooCommerce34BlazeCampaignListHostingControllerC11coordinator33_2462413F251FADF3C38DF26E361F29BELLAA0cD19CreationCoordinatorCSgvp","s:11WooCommerce34InAppPurchasesForWPComPlansManagerC05retryg4SyncF13PurchasedPlan4withySS_tYaKF","s:11WooCommerce34PointOfSaleBarcodeScannerSetupFlowC07restartI0yyF","s:11WooCommerce34PointOfSaleBarcodeScannerSetupStepV5titleSSvp","s:11WooCommerce34ProductDownloadFileViewModelOutputP3Rowa","s:11WooCommerce34ProductDownloadFileViewModelOutputP6fileIDSSSgvp","s:11WooCommerce34ProductDownloadListViewModelOutputP13downloadLimits5Int64Vvp","s:11WooCommerce34ProductDownloadListViewModelOutputP14downloadExpirys5Int64Vvp","s:11WooCommerce34ProductDownloadListViewModelOutputP17downloadableFilesSay10Networking0cD11DragAndDropCGvp","s:11WooCommerce34ProductPriceSettingsViewControllerC31subscriptionPeriodPickerUseCase33_7D171824E5D5A9D060478F9700E54F7BLLAA0c12SubscriptionijkL0CSgvp","s:11WooCommerce34SetUpTapToPayViewModelsOrderedListC19knownReaderProvider33_C8886900811CEEF9CE538EFC2E47485DLLAA04Cardm13SettingsKnownmN0_pSgvp","s:11WooCommerce34ShippingLabelFormStepTableViewCellC05stackH033_165C9C0604A688DA7174CDD8BD1865A5LLSo07UIStackH0CSgvp","s:11WooCommerce34ShippingLabelFormStepTableViewCellC18buttonTouchUpEvent33_165C9C0604A688DA7174CDD8BD1865A5LLyyypF","s:11WooCommerce34ShippingLabelPackagesFormViewModelC5taxesSay14NetworkingCore12OrderItemTaxVGyFZ","s:11WooCommerce35AggregatedProductListViewControllerC22itemAddOnsButtonTapped33_2D9D1281477D02563DBBC52B168B5ABALL03addJ0ySay14NetworkingCore09OrderItemdI2OnVG_tF","s:11WooCommerce35CollectPaymentNavigationDestinationO","s:11WooCommerce35InAppPurchasesForWPComPlansProtocolP05retryg4SyncF13PurchasedPlan4withySS_tYaKF","s:11WooCommerce35IndefiniteCircularProgressViewStyleV","s:11WooCommerce35IndefiniteCircularProgressViewStyleV8arcStart33_7A27D5816E4C5FD78CC0464BE77AC79FLLSdvp","s:11WooCommerce35LeftImageTitleSubtitleTableViewCellC04leftD0So7UIImageCSgvp","s:11WooCommerce35LeftImageTitleSubtitleTableViewCellC17subtitleLabelTextSSSgvp","s:11WooCommerce35LeftImageTitleSubtitleTableViewCellC9configure5image4text8subtitleySo7UIImageC_S2StF","s:11WooCommerce35LeftImageTitleSubtitleTableViewCellC9labelTextSSSgvp","s:11WooCommerce35LinkedProductListSelectorDataSourceC10isSelected5modelSb10Networking0D0V_tF","s:11WooCommerce35LinkedProductListSelectorDataSourceC7product33_F9472C0F0795C7E10FD88870F447A873LL10Networking0D0Vvp","s:11WooCommerce35PaginatedListSelectorViewControllerC25placeholderRowsPerSectionSaySiGvp","s:11WooCommerce35ProductSharingMessageGenerationViewV9Constants33_844DC9465D8E0E82BC654816146E30A1LLO15dummyTextInsets7SwiftUI04EdgeR0VvpZ","s:11WooCommerce35ProductSharingMessageGenerationViewV9Constants33_844DC9465D8E0E82BC654816146E30A1LLO6insets7SwiftUI10EdgeInsetsVvpZ","s:11WooCommerce35ShippingLabelSinglePackageViewModelC17currencyFormatter33_26690010B705597970829D07C0731FF4LL0A14FoundationCore08CurrencyJ0Cvp","s:11WooCommerce35ShippingLabelSinglePackageViewModelC8currency33_26690010B705597970829D07C0731FF4LLSSvp","s:11WooCommerce35UpgradesViewPresentationCoordinatorC07presentC03for4fromys5Int64V_So16UIViewControllerCtF","s:11WooCommerce35UpgradesViewPresentationCoordinatorC18featureFlagService33_2EF44F0D109B805A31D10CE32586CD9BLL11Experiments07FeaturehI0_pvp","s:11WooCommerce36AccountCreationFormHostingControllerC","s:11WooCommerce36CardPresentPaymentsOnboardingUseCaseC12forceRefreshyyF","s:11WooCommerce36CardReaderSettingsResultsControllersC8onReloadyycSgvp","s:11WooCommerce36CardReaderSettingsSearchingViewModelC05foundD033_02CF2A5554EC928763B472D6197E290CLL8Hardware0cD0VSgvp","s:11WooCommerce36CardReaderSettingsSearchingViewModelC05foundD2IDSSSgvp","s:11WooCommerce36CollectOrderPaymentAnalyticsTrackingP23trackReceiptPrintFailed5errorys5Error_p_tF","s:11WooCommerce36CollectOrderPaymentAnalyticsTrackingP23trackReceiptPrintTappedyyF","s:11WooCommerce36CollectOrderPaymentAnalyticsTrackingP24trackReceiptPrintSuccessyyF","s:11WooCommerce36CollectOrderPaymentAnalyticsTrackingP25trackReceiptPrintCanceledyyF","s:11WooCommerce36FailedProductImageCollectionViewCellC013configureBlurG033_074F022899B642F08C37369C4B0B1CF8LLyyF","s:11WooCommerce36FirstProductCreatedHostingControllerC05shareD11Coordinator33_B2E6E80494C4442F2E620086BF25F6C7LLAA05SharedI0CSgvp","s:11WooCommerce36PointOfSaleOrderSyncErrorMessageViewV9Constants33_12ED6CA2BA1CB1D54D3ECEB5A9FED6E2LLO11textSpacing14CoreFoundation7CGFloatVvpZ","s:11WooCommerce36PointOfSaleOrderSyncErrorMessageViewV9Constants33_12ED6CA2BA1CB1D54D3ECEB5A9FED6E2LLO13headerSpacing14CoreFoundation7CGFloatVvpZ","s:11WooCommerce36ShippingLabelPaymentMethodsViewModelC06sampleE8MethodIDs5Int64VvpZ","s:11WooCommerce36StoreOnboardingViewHostingControllerC5coderACSgSo7NSCoderC_tcfc","s:11WooCommerce36SurveySubmittedViewControllerOutputsP17onContactUsActionyycSgvp","s:11WooCommerce36SurveySubmittedViewControllerOutputsP19onBackToStoreActionyycSgvp","s:11WooCommerce36TrackEventRequestNotificationHandlerC17trackingObservers33_E4818665C94798DDA37EFEC7C76E2C9FLLSaySo8NSObject_pGSgvp","s:11WooCommerce37CardPresentPaymentPreflightControllerC6siteID33_888C7FBF1BC3DCE6A9CC3389C08B998ALLs5Int64Vvp","s:11WooCommerce37CollectOrderPaymentUseCaseDefinitions33_4F56B47730D8A60A8D650FD61F10F2E9LLO12LocalizationO12emailSubject9storeNameS2SSg_tFZ","s:11WooCommerce37CollectOrderPaymentUseCaseDefinitions33_4F56B47730D8A60A8D650FD61F10F2E9LLO12LocalizationO25emailSubjectWithStoreNameSSvpZ","s:11WooCommerce37CollectOrderPaymentUseCaseDefinitions33_4F56B47730D8A60A8D650FD61F10F2E9LLO12LocalizationO28emailSubjectWithoutStoreNameSSvpZ","s:11WooCommerce37CollectOrderPaymentUseCaseDefinitions33_4F56B47730D8A60A8D650FD61F10F2E9LLO17UnknownEmailErrorV","s:11WooCommerce37EditProductCategoryListViewControllerC12onCompletion33_85C9D2042752C78BB1BA9F2CD0A74F1FLLyySay10Networking0dE0VGcvp","s:11WooCommerce37EditProductCategoryListViewControllerC7product33_85C9D2042752C78BB1BA9F2CD0A74F1FLL10Networking0D0Vvp","s:11WooCommerce37PaymentSettingsFlowPresentedViewModelP19didChangeShouldShowyAA010CardReaderD8TriStateOcSgvp","s:11WooCommerce37PaymentSettingsFlowPresentedViewModelP9didUpdateyycSgvp","s:11WooCommerce37ProductDescriptionGenerationViewModelC4task33_58EAFEF856D89C85AD32DD0FCB1AAAFFLLScTyyts5Error_pGSgvp","s:11WooCommerce37ProductDownloadSettingsViewControllerC5error33_4643B5329648BD7622E246A9836F38A3LLSSSgvp","s:11WooCommerce37ShippingLabelCarrierAndRatesTopBannerV8Callbacka","s:11WooCommerce37ShippingLabelCustomsFormListViewModelC12allCountries33_94AB4E95100CBFC6F5F6320C8848D670LLSay10Networking7CountryVGvp","s:11WooCommerce37ShippingLabelCustomsFormListViewModelC14currencySymbol33_94AB4E95100CBFC6F5F6320C8848D670LLSSvp","s:11WooCommerce37ShippingLabelCustomsFormListViewModelC18destinationCountry33_94AB4E95100CBFC6F5F6320C8848D670LL10Networking0K0Vvp","s:11WooCommerce37ShippingLabelCustomsFormListViewModelC20isEUShippingScenarioSbvp","s:11WooCommerce37ShippingLabelCustomsFormListViewModelC5order33_94AB4E95100CBFC6F5F6320C8848D670LL14NetworkingCore5OrderVvp","s:11WooCommerce37ShippingLabelCustomsFormListViewModelC6stores33_94AB4E95100CBFC6F5F6320C8848D670LL8Yosemite13StoresManager_pvp","s:11WooCommerce38CardPresentPaymentsModalViewControllerC08getImageG0So07UIImageG0CyF","s:11WooCommerce38CardPresentPaymentsModalViewControllerC15extraInfoButton33_1FCEEEC99AED622301D36AE80687EE32LLSo8UIButtonCSgvp","s:11WooCommerce38CardPresentPaymentsModalViewControllerC16getTopTitleLabelSo7UILabelCyF","s:11WooCommerce38CardPresentPaymentsModalViewControllerC19getBottomTitleLabelSo7UILabelCyF","s:11WooCommerce38CardPresentPaymentsModalViewControllerC19getTopSubtitleLabelSo7UILabelCyF","s:11WooCommerce38CardPresentPaymentsModalViewControllerC22getBottomSubtitleLabelSo7UILabelCyF","s:11WooCommerce38CardPresentPaymentsModalViewControllerC22getPrimaryActionButtonSo8UIButtonCyF","s:11WooCommerce38CardPresentPaymentsModalViewControllerC24getSecondaryActionButtonSo8UIButtonCyF","s:11WooCommerce38CardPresentPaymentsOnboardingPresenterC6stores33_E242CBDC8F50EED220C283696A5D2F7FLL8Yosemite13StoresManager_pvp","s:11WooCommerce38CardPresentPaymentsOnboardingPresenterC7refreshyyF","s:11WooCommerce38CardPresentPaymentsOnboardingViewModelC20clearPluginSelectionyyF","s:11WooCommerce38CardPresentPaymentsOnboardingViewModelC6stores8Yosemite13StoresManager_pvp","s:11WooCommerce38CardPresentPluginsDataProviderProtocolP23isWCPayVersionSupported6pluginSb10Networking12SystemPluginV_tF","s:11WooCommerce38CardPresentPluginsDataProviderProtocolP24isStripeVersionSupported6pluginSb10Networking12SystemPluginV_tF","s:11WooCommerce38JetpackBenefitsBannerHostingControllerC","s:11WooCommerce38POSCollectOrderPaymentPreviewAnalyticsC23trackReceiptPrintFailed5errorys5Error_p_tF","s:11WooCommerce38POSCollectOrderPaymentPreviewAnalyticsC23trackReceiptPrintTappedyyF","s:11WooCommerce38POSCollectOrderPaymentPreviewAnalyticsC24trackReceiptPrintSuccessyyF","s:11WooCommerce38POSCollectOrderPaymentPreviewAnalyticsC25trackReceiptPrintCanceledyyF","s:11WooCommerce38POSCollectOrderPaymentPreviewAnalyticsC28resetCheckoutTapCountTrackeryyF","s:11WooCommerce38ProductCatalogVisibilityViewControllerC7SectionV6footer3rowAESSSg_AC3RowOtcfc","s:11WooCommerce38ProductDownloadSettingsViewModelOutputP3Rowa","s:11WooCommerce38ProductInventorySettingsViewControllerC28skuBarcodeScannerCoordinator33_963EC44C7B710FF18CA47822A3972F23LLAA06ProducijK0CSgvp","s:11WooCommerce38SetUpTapToPayTryPaymentPromptViewModelC17currencyFormatter33_B24894AE69E7C09949591B8694F66020LL0A14FoundationCore08CurrencyN0Cvp","s:11WooCommerce38SetUpTapToPayTryPaymentPromptViewModelC26connectionAnalyticsTracker33_B24894AE69E7C09949591B8694F66020LLAA020CardReaderConnectionnO0Cvp","s:11WooCommerce38ShippingLabelAddressFormViewControllerC3RowO15reuseIdentifier33_A493AAB1F74022D7790D20E9A85E182BLLSSvp","s:11WooCommerce38ShippingLabelCustomsFormInputViewModelC12allCountries33_36E9164D31380E6D43CEDFC5AB4977B1LLSay10Networking7CountryVGvp","s:11WooCommerce38ShippingLabelCustomsFormInputViewModelC8currency33_36E9164D31380E6D43CEDFC5AB4977B1LLSSvp","s:11WooCommerce38TapToPayCardReaderConnectionControllerC13configuration33_29C188BCF4B178F6FFC8200CAF98DD65LL8Yosemite0F28PresentPaymentsConfigurationVvp","s:11WooCommerce38TapToPayCardReaderConnectionControllerC18featureFlagService33_29C188BCF4B178F6FFC8200CAF98DD65LL11Experiments07FeaturekL0_pvp","s:11WooCommerce38TwoColumnHeadlineFootnoteTableViewCellC06updateF14AttributedTextyySo18NSAttributedStringCSgF","s:11WooCommerce39CardPresentPaymentsOnboardingPresentingP7refreshyyF","s:11WooCommerce39FilterProductCategoryListViewControllerC6siteID33_D3C05D494111841E85193FF5073F00E0LLs5Int64Vvp","s:11WooCommerce39POSCollectOrderPaymentAnalyticsTrackingP28resetCheckoutTapCountTrackeryyF","s:11WooCommerce39ProductInventorySettingsViewModelOutputP20isStockStatusEnabledSbvp","s:11WooCommerce3Row33_D712A2AD3A1E71D1939C49B33BD46D0DLLO6height14CoreFoundation7CGFloatVvp","s:11WooCommerce40CardPresentPaymentsAlertPresenterAdaptorC5resetyyF","s:11WooCommerce40LinkedProductsListSelectorViewControllerC012topContainerG033_B0E883920E6EAFE2893878BD93DD8238LLSo6UIViewCSgvp","s:11WooCommerce40LinkedProductsListSelectorViewControllerC12imageService33_B0E883920E6EAFE2893878BD93DD8238LLAA05ImageJ0_pvp","s:11WooCommerce41CardPresentPaymentReceiptEmailCoordinatorC12Localization33_43F6631C80588E875652EB0DF0BD5FEELLO07collectE11WithoutNameSSvpZ","s:11WooCommerce41CardPresentPaymentReceiptEmailCoordinatorC12Localization33_43F6631C80588E875652EB0DF0BD5FEELLO07collectE5Title8usernameS2SSg_tFZ","s:11WooCommerce41CardPresentPaymentReceiptEmailCoordinatorC12Localization33_43F6631C80588E875652EB0DF0BD5FEELLO07collectE8WithNameSSvpZ","s:11WooCommerce41CardReaderSettingsSearchingViewControllerC02onG14ModelDidUpdate33_BFC5D69B639B470830B2404485592FEELLyyF","s:11WooCommerce41ExtendedAddProductImageCollectionViewCellC8Settings33_6437986D53EA2623AFC370FB393E15DALLO12maskToBoundsSbvpZ","s:11WooCommerce41LeftImageTitleSubtitleToggleTableViewCellC04leftD0So7UIImageCSgvp","s:11WooCommerce41LeftImageTitleSubtitleToggleTableViewCellC17subtitleLabelTextSSSgvp","s:11WooCommerce41LeftImageTitleSubtitleToggleTableViewCellC9configure33_8866DBD912F95E9CFD0B7503551D7375LL5image4text8subtitle010attributedF011switchState0V6Action0t3TapX0ySo7UIImageC_S2SSgSo18NSAttributedStringCSgSbySbcyycSgtF","s:11WooCommerce41LeftImageTitleSubtitleToggleTableViewCellC9configure5image4text8subtitle11switchState0O6Action0n3TapQ0ySo7UIImageC_SSSo18NSAttributedStringCSbySbcyycSgtF","s:11WooCommerce41LeftImageTitleSubtitleToggleTableViewCellC9configure5image4text8subtitle11switchState0O6ActionySo7UIImageC_S2SSbySbctF","s:11WooCommerce41LeftImageTitleSubtitleToggleTableViewCellC9labelTextSSSgvp","s:11WooCommerce41PointOfSaleBarcodeScannerSetupFlowManagerC12previousStepyyF","s:11WooCommerce41PointOfSaleBarcodeScannerSetupFlowManagerC8nextStepyyF","s:11WooCommerce41ProductFormBottomSheetListSelectorCommandC10isSelected5modelSbAA0cdeF6ActionO_tF","s:11WooCommerce41ProductTypeBottomSheetListSelectorCommandC10isSelected5modelSbAA0efcD0O_tF","s:11WooCommerce41WordPressMediaLibraryPickerViewControllerC05mediag10NavigationI033_085819E0DF0C09C2032A511BA5B462A0LLSo012WPNavigationeghI0CSgvp","s:11WooCommerce42AddProductWithAIContainerHostingControllerC29selectPackageImageCoordinator33_99E44301D20348E9E6E3F33D94335368LLAA06SelectjkL0CSgvp","s:11WooCommerce42BlazeCampaignCreationFormHostingControllerC9Constants33_993A5EBA007CF0C8C258A3F2DA5D3486LLO","s:11WooCommerce42CollapsibleCustomerCardHeaderView_PreviewsV7address14NetworkingCore7AddressVvpZ","s:11WooCommerce42InPersonPaymentsSelectPluginViewControllerC","s:11WooCommerce43BlazeCampaignDashboardViewHostingControllerC","s:11WooCommerce43CardPresentPaymentPreflightControllerFacadeP","s:11WooCommerce43POSCardPresentPaymentInLineMessageAnimationV25actionButtonsTransitionIdSSvp","s:11WooCommerce43PointOfSaleOrderSyncCouponsErrorMessageViewV9Constants33_26376EFC578C744FF3E3CD7C6E70FFCALLO11textSpacing14CoreFoundation7CGFloatVvpZ","s:11WooCommerce43PointOfSaleOrderSyncCouponsErrorMessageViewV9Constants33_26376EFC578C744FF3E3CD7C6E70FFCALLO13headerSpacing14CoreFoundation7CGFloatVvpZ","s:11WooCommerce43ShippingLabelSuggestedAddressViewControllerC3RowO15reuseIdentifier33_6B377CC7204358DE99C0A98E116CEE29LLSSvp","s:11WooCommerce43ShippingLabelSuggestedAddressViewControllerC9Constants33_6B377CC7204358DE99C0A98E116CEE29LLO","s:11WooCommerce44CardPresentPaymentsOnboardingUseCaseProtocolP11updateStateyyF","s:11WooCommerce45BluetoothCardReaderSettingsConnectedViewModelC09connectedeI0SSSgvp","s:11WooCommerce45BluetoothCardReaderSettingsConnectedViewModelC12Localization33_54766DECDD2E83E3FED4AD2639CE0526LLO5titleSSvpZ","s:11WooCommerce45BluetoothCardReaderSettingsConnectedViewModelC13configuration33_54766DECDD2E83E3FED4AD2639CE0526LL8Yosemite0D28PresentPaymentsConfigurationVvp","s:11WooCommerce45BluetoothCardReaderSettingsConnectedViewModelC18connectedGatewayIDSSSgvp","s:11WooCommerce45CardPresentPaymentsOnboardingPresenterAdaptorC7refreshyyF","s:11WooCommerce45ShippingLabelPackageDetailsResultsControllersC15onProductReload33_9B55171F24038979BF68F419F03503B7LLySay10Networking0J0VGcSgvp","s:11WooCommerce45ShippingLabelPackageDetailsResultsControllersC25onProductVariationsReload33_9B55171F24038979BF68F419F03503B7LLySay10Networking0J9VariationVGcSgvp","s:11WooCommerce46CardPresentPaymentsOnboardingIPPUsersRefresherC12cancellables33_B4EA91C81181D8F37CD0A1B283209DB6LLShy7Combine14AnyCancellableCGvp","s:11WooCommerce46DownloadableFileBottomSheetListSelectorCommandC10isSelected5modelSbAA0cD6SourceO_tF","s:11WooCommerce46InPersonPaymentsOnboardingErrorButtonViewModelV14analyticReason33_3FAC52F93685864F845C8038EA563121LLSSvp","s:11WooCommerce46InPersonPaymentsOnboardingErrorButtonViewModelV24cardPresentConfiguration33_3FAC52F93685864F845C8038EA563121LL8Yosemite04CardleM0Vvp","s:11WooCommerce46PointOfSalePreviewPurchasableItemFetchStrategyV","s:11WooCommerce48InPersonPaymentsCashOnDeliveryToggleRowViewModelC14storageManager33_E0526F3E255D17920DAE2740D15B7343LL7Storage0vN4Type_pvp","s:11WooCommerce48InPersonPaymentsCashOnDeliveryToggleRowViewModelC15learnMoreTapped4fromySo16UIViewControllerC_tF","s:11WooCommerce49ApplicationPasswordAuthorizationWebViewControllerC12Localization33_9F6D62D552BBF2D522DFC1C5EB9C916FLLO011applicationD8DisabledSSvpZ","s:11WooCommerce4CartV15PurchasableItemV0E5StateO9isLoadingSbvp","s:11WooCommerce50PercentageAddCustomAmountInputTypeViewModelAdapterV04baseF0So9NSDecimalavp","s:11WooCommerce51CardPresentModalTapToPayReaderCheckingDeviceSupportC20auxiliaryButtonimageSo7UIImageCSgvp","s:11WooCommerce53PointOfSaleCardPresentPaymentFoundMultipleReadersViewV9animation33_8394681FDF187A3B08CD5D20F5ABAA6ALLAA07POSCardgH14AlertAnimationVvp","s:11WooCommerce60PointOfSaleCardPresentPaymentConnectionSuccessAlertViewModelC9scheduler33_867030BD2B6CA1FEDB8D9C50ACE936DDLL0A10Foundation9Scheduler_pvp","s:11WooCommerce6EditorP13onContentSaveySS_SSSgtcSgvp","s:11WooCommerce6Layout33_E72AE91B4454CC6CA6293BAF3927BC62LLO18inactiveRowPadding14CoreFoundation7CGFloatVvpZ","s:11WooCommerce6Layout33_EDF879A393D54559F38A697A5627AED9LLO12cornerRadius14CoreFoundation7CGFloatVvpZ","s:11WooCommerce6Layout33_EDF879A393D54559F38A697A5627AED9LLO14checkImageSize14CoreFoundation7CGFloatVvpZ","s:11WooCommerce6Layout33_EDF879A393D54559F38A697A5627AED9LLO14stepperPadding14CoreFoundation7CGFloatVvpZ","s:11WooCommerce6Layout33_EDF879A393D54559F38A697A5627AED9LLO16productImageSize14CoreFoundation7CGFloatVvpZ","s:11WooCommerce6NoticeV8subtitle7message12feedbackType16notificationInfo11actionTitle0J7HandlerACSS_SSSgSo022UINotificationFeedbackG0VSgAA0c12NotificationI0VSgAJyycSgtcfc","s:11WooCommerce7APNSKeyO3idsSSvpZ","s:11WooCommerce7APNSKeyO4metaSSvpZ","s:11WooCommerce7APNSKeyO5orderSSvpZ","s:11WooCommerce7HubMenuV2iO33_D9537D7AA5E00BBB82EB09D0C275EF7BLL6Inject17InjectionObserverCvp","s:11WooCommerce7HubMenuV9Constants33_D9537D7AA5E00BBB82EB09D0C275EF7BLLO12cornerRadius14CoreFoundation7CGFloatVvpZ","s:11WooCommerce7WebViewV11credentials33_584896A1877B444BE47994690E40DFDALL14NetworkingCore11CredentialsOSgvp","s:11WooCommerce8CartViewV17shouldShowCoupons33_C46CA39BB4B435B65995CB7E92E36F3ALLSbvp","s:11WooCommerce8CartViewV23floatingControlAreaSizeSo6CGSizeVvp","s:11WooCommerce8Settings33_4E571C7036CC63D4FCCE8150A1577F4ALLO21estimatedHeaderHeight14CoreFoundation7CGFloatVvpZ","s:11WooCommerce9Constants33_299F7E586DDE60EC3DC02672D8F62F85LLO20compactImageFontSize14CoreFoundation7CGFloatVvpZ","s:11WooCommerce9Constants33_726001A3A30DC08725A4678D00E9F568LLO20compactImageFontSize14CoreFoundation7CGFloatVvpZ","s:11WooCommerce9Constants33_8D02DCF1AF17D12681D42985174C5B05LLV12enabledAlpha14CoreFoundation7CGFloatVvpZ","s:11WooCommerce9Constants33_8D02DCF1AF17D12681D42985174C5B05LLV13disabledAlpha14CoreFoundation7CGFloatVvpZ","s:11WooCommerce9Constants33_8D02DCF1AF17D12681D42985174C5B05LLV15pickerRowHeight14CoreFoundation7CGFloatVvpZ","s:11WooCommerce9Constants33_C46CA39BB4B435B65995CB7E92E36F3ALLO11primaryFontAA12POSFontStyleOvpZ","s:11WooCommerce9Constants33_FB27841256F66937FB6060C9A1DC2C56LLV12footerHeightSivpZ","s:11WooCommerce9Constants33_FDF446E3D9460D206396ED7065007803LLV13footerPadding14CoreFoundation7CGFloatVvpZ","s:11WooCommerce9Constants33_FDF446E3D9460D206396ED7065007803LLV14separatorInset14CoreFoundation7CGFloatVvpZ","s:11WooCommerce9MethodRow33_09EF69EC0C0FE1FB881BDD9B45C04263LLV4icon5title15accessibilityID6actionADSo7UIImageC_S2Syyctcfc","s:11WooCommerce9OrderFormV12Localization33_FEAC847823895F6A7BB14365B1DB7263LLO27productRowAccessibilityHintSSvpZ","s:11WooCommerce9OrderFormV13Accessibility33_FEAC847823895F6A7BB14365B1DB7263LLO39addProductViaSKUScannerButtonIdentifierSSvpZ","s:11WooCommerce9OrderFormV6Layout33_FEAC847823895F6A7BB14365B1DB7263LLO030storedTaxRateBottomSheetStoredmN12CornerRadius14CoreFoundation7CGFloatVvpZ","s:11WordPressUI10GhostLayerC11isAnimatingSbvp","s:11WordPressUI10GhostLayerC13stopAnimatingyyF","s:11WordPressUI13GhostableViewP","s:11WordPressUI24FancyAlertViewControllerC03setF13Configuration_8animated9alongsideyAC6ConfigV_SbyACcSgtF","s:11WordPressUI24FancyAlertViewControllerC11WooCommerceE016makePurchaseNoteeG04withACSSSg_tFZ","s:11WordPressUI24FancyAlertViewControllerC11WooCommerceE23makeDismissButtonConfig33_681EE4A34377F1805D501E019896D97FLLSS5title_yAC_So8UIButtonCtcSg7handlertyFZ","s:11WordPressUI24FancyAlertViewControllerC11WooCommerceE7Strings33_681EE4A34377F1805D501E019896D97FLLV","s:11WordPressUI24FancyAlertViewControllerC12buttonTapped33_82D688A4E177A7F0D600862519525FEALLyySo8UIButtonCF","s:11WordPressUI24FancyAlertViewControllerC16isBottomSwitchOnSbyF","s:11WordPressUI24FancyAlertViewControllerC6ConfigV06SwitchH0V12initialValue4text6actionAGSb_SSyAC_So8UISwitchCtcSgtcfc","s:11WordPressUI24FancyAlertViewControllerC6ConfigV06SwitchH0V14OptionalActiona","s:11WordPressUI24FancyAlertViewControllerC9Constants33_82D688A4E177A7F0D600862519525FEALLV20resizeAnimationDelaySdvpZ","s:11WordPressUI24FancyAlertViewControllerC9Constants33_82D688A4E177A7F0D600862519525FEALLV23resizeAnimationDurationSdvpZ","s:11WordPressUI25BottomSheetViewControllerC9ConstantsO12minimumWidth14CoreFoundation7CGFloatVvpZ","s:11WordPressUI25BottomSheetViewControllerC9ConstantsO13buttonSpacing14CoreFoundation7CGFloatVvpZ","s:11WordPressUI25BottomSheetViewControllerC9ConstantsO6ButtonO","s:11WordPressUI25BottomSheetViewControllerC9ConstantsO6HeaderO6insetsSo12UIEdgeInsetsVvpZ","s:11WordPressUI26GhostCollectionViewHandlerC7options5styleAcA0D7OptionsV_AA0D5StyleVtcfc","s:11WordPressUI28DrawerPresentationControllerC9yPosition14CoreFoundation7CGFloatVSgvp","s:12ScreenObjectAAC17UITestsFoundationE3popyyF","s:12ScreenObjectAAC17UITestsFoundationE4thenyABXDyABXEF","s:12ScreenObjectAAC17UITestsFoundationE4thenyABXDyyXEF","s:12ScreenObjectAAC17UITestsFoundationE7waitFor7element9predicate7timeoutSbSo11XCUIElementC_SSSiSgtF","s:13WooFoundation0A18NavigationBarStyleV","s:13WooFoundation10ErrorStyleV","s:13WooFoundation10TitleStyleV","s:13WooFoundation11CountryCodeO0A8CommerceE9flagEmojiSSSgvp","s:13WooFoundation12CalloutStyleV","s:13WooFoundation12CaptionStyleV","s:13WooFoundation13FootnoteStyleV","s:13WooFoundation13MockSchedulerC","s:13WooFoundation15LargeTitleStyleV","s:13WooFoundation15MockCancellableC","s:13WooFoundation15MockCrashLoggerV","s:13WooFoundation18TertiaryTitleStyleV","s:13WooFoundation19SecondaryTitleStyleV","s:13WooFoundation20MockAnalyticsPreviewC","s:13WooFoundation24MockUTMParameterProviderV","s:13WooFoundation28MockAnalyticsProviderPreviewC","s:13WooFoundation2neoiyAA19ComparisonPredicateCs7KeyPathCyxq_G_q_tSQR_r0_lF","s:13WooFoundation2oooiyAA17CompoundPredicateCAA05TypedE0_p_AaE_ptF","s:13WooFoundation9AnalyticsP17analyticsProviderAA0cE0_pvp","s:13WooFoundation9IconStyleV","s:13WooFoundation9IconStyleVACycfc","s:13Woo_Watch_App0A9ConstantsO","s:13Woo_Watch_App0A9ConstantsO16defaultStoreNameSSvpZ","s:13Woo_Watch_App0A9ConstantsO19applicationPasswordSSvpZ","s:13Woo_Watch_App0A9ConstantsO19keychainServiceNameSSvpZ","s:13Woo_Watch_App0B12DependenciesV","s:13Woo_Watch_App0B12DependenciesV7storeID0E4Name16currencySettings11credentials19applicationPassword19enablesCrashReports7accountACs5Int64V_SS0A14FoundationCore08CurrencyI0C010NetworkingS011CredentialsOAP011ApplicationL0VSgSbAP7AccountVSgtcfc","s:13Woo_Watch_App0B12DependenciesV7storeID0E4Name16currencySettings11credentials19enablesCrashReports7accountACs5Int64V_SS0A14FoundationCore08CurrencyI0C010NetworkingQ011CredentialsOSbAO7AccountVSgtcfc","s:13Woo_Watch_App0B17CrashLoggingStackV8logError_8userInfo5levelys0H0_p_SDySSypGSg0A14FoundationCore13SeverityLevelOtF","s:13Woo_Watch_App10TracksUserV5emailACSS_tcfc","s:13Woo_Watch_App10TracksUserV8usernameSSSgvp","s:13Woo_Watch_App12CrashLoggingC05forcedE3KeySSvpZ","s:13Woo_Watch_App12CrashLoggingC12flushTimeoutSdvp","s:13Woo_Watch_App12CrashLoggingC6ErrorsO","s:13Woo_Watch_App12CrashLoggingC9InternalsV05crashE0ACSgvpZ","s:13Woo_Watch_App14ApiCredentialsV12tracksPrefixSSvpZ","s:13Woo_Watch_App18StoreInfoFormatterV28formattedAmountCompactString3for4withSSSo9NSDecimala_0A14FoundationCore16CurrencySettingsCSgtFZ","s:13Woo_Watch_App19PerformanceTrackingO13ConfigurationV10sampleRateSdvp","s:13Woo_Watch_App19PerformanceTrackingO13ConfigurationV13profilingRateSdvp","s:13Woo_Watch_App19PerformanceTrackingO13ConfigurationV20trackUserInteractionSbvp","s:13Woo_Watch_App19PerformanceTrackingO13ConfigurationV20trackViewControllersSbvp","s:13Woo_Watch_App19PerformanceTrackingO13ConfigurationV7sampler13profilingRate13trackCoreData0J6FileIO0J7Network0J15UserInteraction0J15ViewControllersAESdyc_SdS5btcfc","s:13Woo_Watch_App22OrderListCellViewModelV12salesChannelSSSgvp","s:13Woo_Watch_App22OrderListCellViewModelV5titleSSvp","s:13Woo_Watch_App22OrderListCellViewModelV6status14NetworkingCore0D10StatusEnumOvp","s:13Woo_Watch_App22resetDefaultDebugLevelyyF","s:13Woo_Watch_App24CrashLoggingDataProviderPAAE13profilingRateSdvp","s:13Woo_Watch_App24CrashLoggingDataProviderPAAE16tracesSampleRateSdvp","s:13Woo_Watch_App24CrashLoggingDataProviderPAAE28enableUserInteractionTracingSbvp","s:13Woo_Watch_App24CrashLoggingDataProviderPAAE30enableUIViewControllerTrackingSbvp","s:13Woo_Watch_App28OrderNotificationDataServiceC04loadD4From6noteID14NetworkingCore4NoteV_AF0D0Vts5Int64V_tYaKF","s:13Woo_Watch_App7APNSKeyO3idsSSvpZ","s:13Woo_Watch_App7APNSKeyO4metaSSvpZ","s:13Woo_Watch_App7APNSKeyO5orderSSvpZ","s:14CoreFoundation7CGFloatV07UITestsB0E9isBetween33_A43A31F44B10350136AF2B75ECBA64BELL_3andSbAC_ACtF","s:14NetworkingCore10DDLogDebug_5level7context4file8function4line3tag12asynchronous5ddlogySSyXK_So0C5LevelVSis12StaticStringVANSuypSgSbSo0C0CtF","s:14NetworkingCore11MIContainerV","s:14NetworkingCore11MIContainerV16fetchDoubleValue3forSdx_tSYRzSS03RawF0RtzlF","s:14NetworkingCore11RESTRequestV7siteURL19wordpressApiVersion6method4path10parametersACSS_AA19WordPressAPIVersionO9Alamofire10HTTPMethodVSSSDySSypGSgtcfc","s:14NetworkingCore12DDLogVerbose_5level7context4file8function4line3tag12asynchronous5ddlogySSyXK_So0C5LevelVSis12StaticStringVANSuypSgSbSo0C0CtF","s:14NetworkingCore12OrderFeeLineV10attributesSayAA0C13ItemAttributeVGvp","s:14NetworkingCore12OrderTaxLineV10attributesSayAA0C13ItemAttributeVGvp","s:14NetworkingCore12OrdersRemoteC13ParameterKeys33_5F105DE736F184F8537B70E9FA55C502LLO13modifiedAfterSSvpZ","s:14NetworkingCore12OrdersRemoteC13ParameterKeys33_5F105DE736F184F8537B70E9FA55C502LLO5afterSSvpZ","s:14NetworkingCore12OrdersRemoteC13ParameterKeys33_5F105DE736F184F8537B70E9FA55C502LLO6beforeSSvpZ","s:14NetworkingCore13MetaContainerV4link6forKeySSSgAC4KeysO_tF","s:14NetworkingCore13_AnyDecodableP5valueypvp","s:14NetworkingCore14EncodableErrorO","s:14NetworkingCore15ContentEnvelope33_5039D2D8561C22F358BF9D495487386DLLV7contentAA12AnyDecodableVvp","s:14NetworkingCore16AlamofireNetworkC7sessionSo12NSURLSessionCvp","s:14NetworkingCore16WCAnalyticsStatsP11granularityAA0D13GranularityV4Ovp","s:14NetworkingCore16WCAnalyticsStatsP6siteIDs5Int64Vvp","s:14NetworkingCore17OrderFeeTaxStatusO11descriptionSSvp","s:14NetworkingCore17WordPressApiErrorO0F8Messages33_ED9C16B68F9BB1D4E16E91049C2A4C38LLO","s:14NetworkingCore19WordPressOrgNetworkC12responseData3for10Foundation0H0VSg9Alamofire21URLRequestConvertible_p_tYaKF","s:14NetworkingCore19WordPressOrgNetworkC13ErrorResponse33_F7987005DFBBA26BA08C7D99366E848ELLV7messageSSvp","s:14NetworkingCore19WordPressOrgNetworkC7sessionSo12NSURLSessionCvp","s:14NetworkingCore20RequestAuthenticatorP11credentialsAA11CredentialsOSgvp","s:14NetworkingCore20ShippingLabelAddressV7isEmptySbvp","s:14NetworkingCore22resetDefaultDebugLevelyyF","s:14NetworkingCore24CookieNonceAuthenticatorC5ErrorO7unknownyAEsAD_pcAEmF","s:14NetworkingCore24WCAnalyticsStatsIntervalP7dateEndSSvp","s:14NetworkingCore24WCAnalyticsStatsIntervalP8YosemiteE7dateEnd8timeZone10Foundation4DateVAG04TimeJ0V_tF","s:14NetworkingCore24WCAnalyticsStatsIntervalP8intervalSSvp","s:14NetworkingCore26ApplicationPasswordEncoderV","s:14NetworkingCore26ApplicationPasswordEncoderV07encodedD0SSSgyF","s:14NetworkingCore26ApplicationPasswordEncoderV16passwordEnvelopeAcA0cD0VSg_tcfc","s:14NetworkingCore27DefaultRequestAuthenticatorV","s:14NetworkingCore4NoteV11WooCommerceE10starRatingSiSgvp","s:14NetworkingCore4NoteV11WooCommerceE15blockForSnippetAA0C5BlockVSgvp","s:14NetworkingCore4NoteV11WooCommerceE15blockForSubjectAA0C5BlockVSgvp","s:14NetworkingCore4NoteV11WooCommerceE7productSS4name_10Foundation3URLV3urltSgvp","s:14NetworkingCore4NoteV11WooCommerceE9Constants33_099D2ACD5914DDC908FABD86E795A969LLO","s:14NetworkingCore4NoteV15timestampAsDate10Foundation0F0Vvp","s:14NetworkingCore4NoteV6headerSayAA0C5BlockVGvp","s:14NetworkingCore5OrderV11WooCommerceE06sampleC0ACvpZ","s:14NetworkingCore5OrderV14currencySymbolSSvp","s:14NetworkingCore7NetworkP7sessionSo12NSURLSessionCvp","s:14NetworkingCore9NoteBlockV10isActionOnySbAC0F0OF","s:14NetworkingCore9NoteBlockV15isActionEnabledySbAC0F0OF","s:14NetworkingCore9NoteBlockV6ActionO","s:14NetworkingCore9NoteMediaV3url10Foundation3URLVvp","s:14NetworkingCore9NoteMediaV4sizeSo6CGSizeVSgvp","s:14NetworkingCore9NoteMediaV4typeSSvp","s:14NetworkingCore9NoteMediaV5rangeSo8_NSRangeVvp","s:14NetworkingCore9NoteRangeV11WooCommerceE10attributes4fromSDySo21NSAttributedStringKeyaypGSgAD0J6StylesV_tF","s:14NetworkingCore9NoteRangeV4typeSSSgvp","s:14NetworkingCore9NoteRangeV6postIDs5Int64VSgvp","s:14NetworkingCore9NoteRangeV6siteIDs5Int64VSgvp","s:14NetworkingCore9NoteRangeV6userIDs5Int64VSgvp","s:14NetworkingCore9NoteRangeV9commentIDs5Int64VSgvp","s:14NetworkingCore9UserAgentC9Constants33_22235238C94489B1BC77B92E87EB8CFBLLV04userD3KeySSvpZ","s:15WordPressShared0aB19ComLanguageDatabaseC0E0C11descriptionSSvp","s:15WordPressShared0aB19ComLanguageDatabaseC7groupedSaySayAC0E0CGGvp","s:15WordPressShared14AnalyticsEventC","s:15WordPressShared15WPSharedLogInfoyySS_s7CVarArg_pdtF","s:15WordPressShared16WPSharedLogDebugyySS_s7CVarArg_pdtF","s:15WordPressShared18WPSharedLogVerboseyySS_s7CVarArg_pdtF","s:15WordPressShared18WPSharedLogWarningyySS_s7CVarArg_pdtF","s:15WordPressShared6SecretV","s:15WordPressShared6SecretV11secretValuexvp","s:15WordPressShared6SecretVyACyxGxcfc","s:15WordPressShared9DebouncerC","s:17UITestsFoundation10BaseScreenC","s:17UITestsFoundation10HelpScreenC","s:17UITestsFoundation10MenuScreenC","s:17UITestsFoundation10OrdersMockV","s:17UITestsFoundation10ReviewDataV10product_idSivp","s:17UITestsFoundation10ReviewDataV2idSivp","s:17UITestsFoundation10ReviewDataV6reviewSSvp","s:17UITestsFoundation10ReviewMockV","s:17UITestsFoundation11ProductDataV2idSivp","s:17UITestsFoundation11ProductMockV","s:17UITestsFoundation11TwoFAScreenC","s:17UITestsFoundation12OrdersScreenC","s:17UITestsFoundation12ShippingLineV12method_titleSSvp","s:17UITestsFoundation12ShippingLineV5totalSSvp","s:17UITestsFoundation13MyStoreScreenC","s:17UITestsFoundation13OrderBodyDataV4dataAA0cE0Vvp","s:17UITestsFoundation13ReviewsScreenC","s:17UITestsFoundation13navBackButtonSo11XCUIElementCvp","s:17UITestsFoundation14NewProductMockV","s:17UITestsFoundation14OrdersBodyDataV4dataSayAA05OrderE0VGvp","s:17UITestsFoundation14PasswordScreenC","s:17UITestsFoundation14PaymentsScreenC","s:17UITestsFoundation14ProductsScreenC","s:17UITestsFoundation14PrologueScreenC","s:17UITestsFoundation14ReviewBodyDataV4dataSayAA0cE0VGvp","s:17UITestsFoundation14SettingsScreenC","s:17UITestsFoundation15ProductBodyDataV4dataSayAA0cE0VGvp","s:17UITestsFoundation15TabNavComponentC","s:17UITestsFoundation16AddProductScreenC","s:17UITestsFoundation16GetStartedScreenC","s:17UITestsFoundation16LoginEmailScreenC","s:17UITestsFoundation16PeriodStatsTableC","s:17UITestsFoundation17AddShippingScreenC","s:17UITestsFoundation17ExternalAppScreenC","s:17UITestsFoundation17OrderResponseDataV6statusSivp","s:17UITestsFoundation17OrderResponseDataV8jsonBodyAA0cgE0Vvp","s:17UITestsFoundation17OrderSearchScreenC","s:17UITestsFoundation17OrderStatusScreenC","s:17UITestsFoundation17SingleOrderScreenC","s:17UITestsFoundation18BetaFeaturesScreenC","s:17UITestsFoundation18CustomerNoteScreenC","s:17UITestsFoundation18NewProductBodyDataV4dataAA0dF0Vvp","s:17UITestsFoundation18OrdersResponseDataV6statusSivp","s:17UITestsFoundation18OrdersResponseDataV8jsonBodyAA0cgE0Vvp","s:17UITestsFoundation18ReviewResponseDataV6statusSivp","s:17UITestsFoundation18ReviewResponseDataV8jsonBodyAA0cgE0Vvp","s:17UITestsFoundation18SingleReviewScreenC","s:17UITestsFoundation18UnifiedOrderScreenC","s:17UITestsFoundation19LoginEpilogueScreenC","s:17UITestsFoundation19LoginPasswordScreenC","s:17UITestsFoundation19ProductFilterScreenC","s:17UITestsFoundation19ProductResponseDataV6statusSivp","s:17UITestsFoundation19ProductResponseDataV8jsonBodyAA0cgE0Vvp","s:17UITestsFoundation19ProductSearchScreenC","s:17UITestsFoundation19SingleProductScreenC","s:17UITestsFoundation20LinkOrPasswordScreenC","s:17UITestsFoundation20PaymentMethodsScreenC","s:17UITestsFoundation21AddCustomAmountScreenC","s:17UITestsFoundation21CustomerDetailsScreenC","s:17UITestsFoundation21LoginOnboardingScreenC","s:17UITestsFoundation22LoginSiteAddressScreenC","s:17UITestsFoundation22NewProductResponseDataV6statusSivp","s:17UITestsFoundation22NewProductResponseDataV8jsonBodyAA0cdhF0Vvp","s:17UITestsFoundation23CardReaderManualsScreenC","s:17UITestsFoundation24AddCustomerDetailsScreenC","s:17UITestsFoundation25LoginCheckMagicLinkScreenC","s:17UITestsFoundation27LoginUsernamePasswordScreenC","s:17UITestsFoundation30CardPresentPaymentsModalScreenC","s:17UITestsFoundation7FeeLineV6amountSSvp","s:17UITestsFoundation9LineItemsV10product_idSivp","s:17UITestsFoundation9OrderDataV13customer_noteSSvp","s:17UITestsFoundation9OrderDataV14shipping_linesSayAA12ShippingLineVGvp","s:17UITestsFoundation9OrderDataV9fee_linesSayAA7FeeLineVGvp","s:17UITestsFoundation9OrderMockV","s:17WooFoundationCore0aB11BundleClassC","s:17WooFoundationCore10DDLogDebug_5level7context4file8function4line3tag12asynchronous5ddlogySSyXK_So0D5LevelVSis12StaticStringVANSuypSgSbSo0D0CtF","s:17WooFoundationCore11ColorStudioV16wooCommerceAmberACvpZ","s:17WooFoundationCore11ColorStudioV18wooCommerceEmeraldACvpZ","s:17WooFoundationCore11CrashLoggerP8logError_8userInfo5levelys0G0_p_SDySSypGSgAA13SeverityLevelOtF","s:17WooFoundationCore12DDLogVerbose_5level7context4file8function4line3tag12asynchronous5ddlogySSyXK_So0D5LevelVSis12StaticStringVANSuypSgSbSo0D0CtF","s:17WooFoundationCore16CurrencySettingsC0A8CommerceE26sanitizedGroupingSeparatorSSvp","s:17WooFoundationCore17CurrencyFormatterC25formatHumanReadableAmount_4with17roundSmallNumbers6localeSSSgSS_AHSb0B06LocaleVtF","s:17WooFoundationCore18BuildConfigurationO2teoiySbAC_ShyACGtFZ","s:17WooFoundationCore18BuildConfigurationO4testyyyyXEF","s:17WooFoundationCore22resetDefaultDebugLevelyyF","s:17WooFoundationCore9DDLogInfo_5level7context4file8function4line3tag12asynchronous5ddlogySSyXK_So0D5LevelVSis12StaticStringVANSuypSgSbSo0D0CtF","s:17WooFoundationCore9DDLogWarn_5level7context4file8function4line3tag12asynchronous5ddlogySSyXK_So0D5LevelVSis12StaticStringVANSuypSgSbSo0D0CtF","s:21AutomatticExperiments9VariationO0B0E14analyticsValueSSvp","s:22WordPressAuthenticator0aB14OrgCredentialsV11WooCommerceE015makeCookieNonceC6Config14NetworkingCore0ijC13ConfigurationVSgyF","s:23XcodeTarget_WooCommerce7__EmptyV","s:25XcodeTarget_Woo_Watch_App7__EmptyV","s:33XcodeTarget_NotificationExtension7__EmptyV","s:33XcodeTarget_StoreWidgetsExtension7__EmptyV","s:34XcodeTarget_WordPressAuthenticator7__EmptyV","s:7Codegen17GeneratedCopiableP","s:7Codegen17GeneratedFakeableP","s:7Codegen20NullableCopiablePropa","s:7Combine9PublisherP11WooCommerceE11tryAsyncMapyAA10PublishersO04FlatG0Vy_AA6FutureCyqd__s5Error_pGAG14SetFailureTypeVy_xsAL_pGGqd__6OutputQzYaKcs5NeverO0M0RtzlF","s:7Storage018GeneralAppSettingsA0V11WooCommerceE27betaFeatureEnabledPublishery7Combine03AnyJ0VySbs5NeverOGAD04BetaH0OF","s:7Storage018GeneralAppSettingsA0V17settingsPublisher7Combine03AnyF0VyAA0bcD0Vs5NeverOGvp","s:7Storage018GeneralAppSettingsA0V9publisher3for7Combine12AnyPublisherVyxs5NeverOGs7KeyPathCyAA0bcD0VxG_tSQRzlF","s:7Storage0A4TypeP11firstObject02ofB0qd__Sgqd__m_tAA0D0Rd__lF","s:7Storage0A4TypeP12countObjects02ofB08matchingSiqd__m_So11NSPredicateCSgtAA6ObjectRd__lF","s:7Storage0A4TypeP12countObjects02ofB0Siqd__m_tAA6ObjectRd__lF","s:7Storage0A4TypePAAE10loadPlugin6siteID4nameAA04SiteD0CSgs5Int64V_SStF","s:7Storage0A4TypePAAE11loadTaxRate6siteID03taxeG0AA0dE0CSgs5Int64V_AKtF","s:7Storage0A4TypePAAE12loadCustomer6siteID08customerF0AA0D0CSgs5Int64V_AKtF","s:7Storage0A4TypePAAE13loadCountriesSayAA7CountryCGyF","s:7Storage0A4TypePAAE13loadOrderItem6siteID05orderG004itemG0AA0dE0CSgs5Int64V_A2LtF","s:7Storage0A4TypePAAE13loadOrderNote6noteIDAA0dE0CSgs5Int64V_tF","s:7Storage0A4TypePAAE14loadAddOnGroup6siteID05groupH0AA0deF0CSgs5Int64V_AKtF","s:7Storage0A4TypePAAE14loadProductTag6siteID03tagG0AA0dE0CSgs5Int64V_AKtF","s:7Storage0A4TypePAAE14loadRefundItem6siteID06refundG004itemG0AA05OrdereD0CSgs5Int64V_A2LtF","s:7Storage0A4TypePAAE14loadTaxClassesSayAA0D5ClassCGSgyF","s:7Storage0A4TypePAAE15loadOrderCoupon6siteID06couponG0AA0dE0CSgs5Int64V_AKtF","s:7Storage0A4TypePAAE15loadOrderStatus6siteID4slugAA0dE0CSgs5Int64V_SStF","s:7Storage0A4TypePAAE16loadNotification6noteID0E4HashAA4NoteCSgs5Int64V_SitF","s:7Storage0A4TypePAAE16loadOrderFeeLine6siteID03feeH0AA0deF0CSgs5Int64V_AKtF","s:7Storage0A4TypePAAE16loadOrderItemTax6itemID03taxH0AA0deF0CSgs5Int64V_AKtF","s:7Storage0A4TypePAAE16loadOrderTaxLine6siteID03taxH0AA0deF0CSgs5Int64V_AKtF","s:7Storage0A4TypePAAE16loadProductImage6siteID07productG005imageG0AA0dE0CSgs5Int64V_A2LtF","s:7Storage0A4TypePAAE17loadOrderMetaData6siteID05orderH008metadataH0AA0eF0CSgs5Int64V_A2LtF","s:7Storage0A4TypePAAE17predefinedOptions7carrierSayAA27WooShippingPredefinedOptionCGAA0fg7CarrierhD0C_tF","s:7Storage0A4TypePAAE18loadCustomPackages16packagesResponseSayAA011WooShippingD7PackageCGAA0hieG0C_tF","s:7Storage0A4TypePAAE18predefinedPackages0C6OptionSayAA28WooShippingPredefinedPackageCGAA0fghE0C_tF","s:7Storage0A4TypePAAE19loadAllSiteSettings6siteIDSayAA0E7SettingCGSgs5Int64V_tF","s:7Storage0A4TypePAAE19loadProductCategory6siteID08categoryG0AA0dE0CSgs5Int64V_AKtF","s:7Storage0A4TypePAAE19loadProductMetaData6siteID07productH008metadataH0AA0eF0CSgs5Int64V_A2LtF","s:7Storage0A4TypePAAE20loadProductAttribute6siteID07productG009attributeG04nameAA0dE0CSgs5Int64V_A2MSStF","s:7Storage0A4TypePAAE21loadOrderShippingLine6siteID08shippingH0AA0eF0CSgs5Int64V_AKtF","s:7Storage0A4TypePAAE21loadPredefinedPackage05saveddE0AA011WooShippingdE0CSgAA0gh5SaveddE0C_tF","s:7Storage0A4TypePAAE22loadRefundShippingLine6siteID08shippingH0AA0eF0CSgs5Int64V_AKtF","s:7Storage0A4TypePAAE23deleteUnusedProductTags6siteIDys5Int64V_tF","s:7Storage0A4TypePAAE23loadWCAnalyticsCustomer6siteID08customerG0AA0dE0CSgs5Int64V_AKtF","s:7Storage0A4TypePAAE24loadAllPredefinedOptions16packagesResponseSayAA018WooShippingCarriereF0CGAA0ij8PackagesH0C_tF","s:7Storage0A4TypePAAE24loadOrderAttributionInfo6siteID05orderH0AA0deF0CSgs5Int64V_AKtF","s:7Storage0A4TypePAAE24loadOrderRefundCondensed6siteID06refundH0AA0deF0CSgs5Int64V_AKtF","s:7Storage0A4TypePAAE24loadProductAttributeTerm6siteID04termH009attributeH0AA0deF0CSgs5Int64V_A2LtF","s:7Storage0A4TypePAAE25loadBlazeCampaignListItem6siteID08campaignI0AA0defG0CSgs5Int64V_SStF","s:7Storage0A4TypePAAE27loadProductDefaultAttribute6siteID07productH007defaultfH04nameAA0deF0CSgs5Int64V_A2MSStF","s:7Storage0A4TypePAAE27loadSavedPredefinedPackages16packagesResponseSayAA011WooShippingdE7PackageCGAA0ijfH0C_tF","s:7Storage0A4TypePAAE32loadShipmentTrackingProviderList6siteIDSayAA0deF0CGSgs5Int64V_tF","s:7Storage10AddOnGroupC12fetchRequestSo07NSFetchF0CyACGyFZ","s:7Storage10DDLogDebug_5level7context4file8function4line3tag12asynchronous5ddlogySSyXK_So0B5LevelVSis12StaticStringVANSuypSgSbSo0B0CtF","s:7Storage10ProductTagC12fetchRequestSo07NSFetchE0CyACGyFZ","s:7Storage10SitePluginC12fetchRequestSo07NSFetchE0CyACGyFZ","s:7Storage11FeatureIconV10iconBase64SSvp","s:7Storage11FeatureIconV7iconUrlSSvp","s:7Storage11FeatureIconV8iconTypeSSvp","s:7Storage11InboxActionC12fetchRequestSo07NSFetchE0CyACGyFZ","s:7Storage11OrderCouponC12fetchRequestSo07NSFetchE0CyACGyFZ","s:7Storage11OrderStatusC12fetchRequestSo07NSFetchE0CyACGyFZ","s:7Storage11SiteSettingC12fetchRequestSo07NSFetchE0CyACGyFZ","s:7Storage11WCPayChargeC12fetchRequestSo07NSFetchE0CyACGyFZ","s:7Storage12OrderFeeLineC12fetchRequestSo07NSFetchF0CyACGyFZ","s:7Storage12OrderItemTaxC12fetchRequestSo07NSFetchF0CyACGyFZ","s:7Storage12OrderStatsV4C12fetchRequestSo07NSFetchF0CyACGyFZ","s:7Storage12OrderTaxLineC12fetchRequestSo07NSFetchF0CyACGyFZ","s:7Storage12ProductAddOnC12fetchRequestSo07NSFetchF0CyACGyFZ","s:7Storage12ProductImageC12fetchRequestSo07NSFetchE0CyACGyFZ","s:7Storage12ShippingLineC12fetchRequestSo07NSFetchE0CyACGyFZ","s:7Storage12SystemPluginC12fetchRequestSo07NSFetchE0CyACGyFZ","s:7Storage13OrderGiftCardC12fetchRequestSo07NSFetchF0CyACGyFZ","s:7Storage13ProductReviewC12fetchRequestSo07NSFetchE0CyACGyFZ","s:7Storage13ShippingLabelC12fetchRequestSo07NSFetchE0CyACGyFZ","s:7Storage14PaymentGatewayC12fetchRequestSo07NSFetchE0CyACGyFZ","s:7Storage14ShippingMethodC12fetchRequestSo07NSFetchE0CyACGyFZ","s:7Storage14SiteVisitStatsC12fetchRequestSo07NSFetchF0CyACGyFZ","s:7Storage14TopEarnerStatsC12fetchRequestSo07NSFetchF0CyACGyFZ","s:7Storage15AccountSettingsC12fetchRequestSo07NSFetchE0CyACGyFZ","s:7Storage15CoreDataManagerC16storeDescriptionSo017NSPersistentStoreF0Cvp","s:7Storage15OrderItemRefundC12fetchRequestSo07NSFetchF0CyACGyFZ","s:7Storage15ProductCategoryC12fetchRequestSo07NSFetchE0CyACGyFZ","s:7Storage15ProductDownloadC12fetchRequestSo07NSFetchE0CyACGyFZ","s:7Storage15ShippingLineTaxC12fetchRequestSo07NSFetchF0CyACGyFZ","s:7Storage15StateOfACountryC12fetchRequestSo07NSFetchF0CyACGyFZ","s:7Storage16BlazeTargetTopicC12fetchRequestSo07NSFetchF0CyACGyFZ","s:7Storage16GenericAttributeC12fetchRequestSo07NSFetchE0CyACGyFZ","s:7Storage16ProductAttributeC12fetchRequestSo07NSFetchE0CyACGyFZ","s:7Storage16ProductVariationC12fetchRequestSo07NSFetchE0CyACGyFZ","s:7Storage16ShipmentTrackingC12fetchRequestSo07NSFetchE0CyACGyFZ","s:7Storage16SiteSummaryStatsC12fetchRequestSo07NSFetchF0CyACGyFZ","s:7Storage17BlazeTargetDeviceC12fetchRequestSo07NSFetchF0CyACGyFZ","s:7Storage17ProductBundleItemC12fetchRequestSo07NSFetchF0CyACGyFZ","s:7Storage17ProductDimensionsC12fetchRequestSo07NSFetchE0CyACGyFZ","s:7Storage18CouponSearchResultC12fetchRequestSo07NSFetchF0CyACGyFZ","s:7Storage18OrderItemAttributeC12fetchRequestSo07NSFetchF0CyACGyFZ","s:7Storage18OrderItemTaxRefundC12fetchRequestSo07NSFetchG0CyACGyFZ","s:7Storage18OrderSearchResultsC12fetchRequestSo07NSFetchF0CyACGyFZ","s:7Storage18OrderStatsV4TotalsC12fetchRequestSo07NSFetchG0CyACGyFZ","s:7Storage18ProductAddOnOptionC12fetchRequestSo07NSFetchG0CyACGyFZ","s:7Storage18SiteVisitStatsItemC12fetchRequestSo07NSFetchG0CyACGyFZ","s:7Storage18TopEarnerStatsItemC12fetchRequestSo07NSFetchG0CyACGyFZ","s:7Storage19BlazeTargetLanguageC12fetchRequestSo07NSFetchF0CyACGyFZ","s:7Storage19FileManagerProtocolP10removeItem2aty10Foundation3URLV_tKF","s:7Storage19FileManagerProtocolP10removeItem6atPathySS_tKF","s:7Storage19FileManagerProtocolP15createDirectory2at27withIntermediateDirectories10attributesy10Foundation3URLV_SbSDySo18NSFileAttributeKeyaypGSgtKF","s:7Storage19FileManagerProtocolP15createDirectory6atPath27withIntermediateDirectories10attributesySS_SbSDySo18NSFileAttributeKeyaypGSgtKF","s:7Storage19FileManagerProtocolP19contentsOfDirectory6atPathSaySSGSS_tKF","s:7Storage19FileManagerProtocolP8moveItem2at2toy10Foundation3URLV_AItKF","s:7Storage19FileManagerProtocolP8moveItem6atPath02toH0ySS_SStKF","s:7Storage19ProductSubscriptionC12fetchRequestSo07NSFetchE0CyACGyFZ","s:7Storage19ShippingLabelRefundC12fetchRequestSo07NSFetchF0CyACGyFZ","s:7Storage19WCAnalyticsCustomerC12fetchRequestSo07NSFetchE0CyACGyFZ","s:7Storage19WooShippingShipmentC12fetchRequestSo07NSFetchF0CyACGyFZ","s:7Storage20CustomerSearchResultC12fetchRequestSo07NSFetchF0CyACGyFZ","s:7Storage20OrderAttributionInfoC12fetchRequestSo07NSFetchF0CyACGyFZ","s:7Storage20OrderRefundCondensedC12fetchRequestSo07NSFetchF0CyACGyFZ","s:7Storage20OrderStatsV4IntervalC12fetchRequestSo07NSFetchG0CyACGyFZ","s:7Storage20ProductAttributeTermC12fetchRequestSo07NSFetchF0CyACGyFZ","s:7Storage20ProductSearchResultsC12fetchRequestSo07NSFetchF0CyACGyFZ","s:7Storage20ProductShippingClassC12fetchRequestSo07NSFetchF0CyACGyFZ","s:7Storage20ShippingLabelAddressC12fetchRequestSo07NSFetchF0CyACGyFZ","s:7Storage21BlazeCampaignListItemC12fetchRequestSo07NSFetchG0CyACGyFZ","s:7Storage21OrderItemProductAddOnC12fetchRequestSo07NSFetchH0CyACGyFZ","s:7Storage21PaymentGatewayAccountC12fetchRequestSo07NSFetchF0CyACGyFZ","s:7Storage21ShippingLabelSettingsC12fetchRequestSo07NSFetchF0CyACGyFZ","s:7Storage22BlazeCampaignObjectiveC12fetchRequestSo07NSFetchF0CyACGyFZ","s:7Storage22resetDefaultDebugLevelyyF","s:7Storage23ProductDefaultAttributeC12fetchRequestSo07NSFetchF0CyACGyFZ","s:7Storage23WCPayCardPaymentDetailsC12fetchRequestSo07NSFetchG0CyACGyFZ","s:7Storage23WooShippingShipmentItemC12fetchRequestSo07NSFetchG0CyACGyFZ","s:7Storage24ShipmentTrackingProviderC12fetchRequestSo07NSFetchF0CyACGyFZ","s:7Storage24WooShippingCustomPackageC12fetchRequestSo07NSFetchG0CyACGyFZ","s:7Storage24WooShippingOriginAddressC12fetchRequestSo07NSFetchG0CyACGyFZ","s:7Storage25ProductCompositeComponentC12fetchRequestSo07NSFetchF0CyACGyFZ","s:7Storage26ShippingLabelPaymentMethodC12fetchRequestSo07NSFetchG0CyACGyFZ","s:7Storage27WooShippingPackagesResponseC12fetchRequestSo07NSFetchG0CyACGyFZ","s:7Storage27WooShippingPredefinedOptionC12fetchRequestSo07NSFetchG0CyACGyFZ","s:7Storage28ShippingLabelAccountSettingsC12fetchRequestSo07NSFetchG0CyACGyFZ","s:7Storage28StatsVersionBannerVisibilityV","s:7Storage28WooShippingPredefinedPackageC12fetchRequestSo07NSFetchG0CyACGyFZ","s:7Storage29ShipmentTrackingProviderGroupC12fetchRequestSo07NSFetchG0CyACGyFZ","s:7Storage30WCPayCardPresentPaymentDetailsC12fetchRequestSo07NSFetchH0CyACGyFZ","s:7Storage30WCPayCardPresentReceiptDetailsC12fetchRequestSo07NSFetchH0CyACGyFZ","s:7Storage31WCAnalyticsCustomerSearchResultC12fetchRequestSo07NSFetchG0CyACGyFZ","s:7Storage33WooShippingSavedPredefinedPackageC12fetchRequestSo07NSFetchH0CyACGyFZ","s:7Storage35WooShippingCarrierPredefinedOptionsC12fetchRequestSo07NSFetchH0CyACGyFZ","s:7Storage4NoteC12fetchRequestSo07NSFetchD0CyACGyFZ","s:7Storage4SiteC12fetchRequestSo07NSFetchD0CyACGyFZ","s:7Storage5OrderC12fetchRequestSo07NSFetchD0CyACGyFZ","s:7Storage6CouponC12fetchRequestSo07NSFetchD0CyACGyFZ","s:7Storage6RefundC12fetchRequestSo07NSFetchD0CyACGyFZ","s:7Storage7AccountC12fetchRequestSo07NSFetchD0CyACGyFZ","s:7Storage7CountryC12fetchRequestSo07NSFetchD0CyACGyFZ","s:7Storage7FeatureV10iconBase64SSSgvp","s:7Storage7FeatureV5iconsSayAA0B4IconVGSgvp","s:7Storage7FeatureV5titleSSvp","s:7Storage7FeatureV7iconUrlSSvp","s:7Storage7FeatureV8subtitleSSvp","s:7Storage7ProductC12fetchRequestSo07NSFetchD0CyACGyFZ","s:7Storage7TaxRateC12fetchRequestSo07NSFetchE0CyACGyFZ","s:7Storage8CustomerC12fetchRequestSo07NSFetchD0CyACGyFZ","s:7Storage8MetaDataC12fetchRequestSo07NSFetchE0CyACGyFZ","s:7Storage8TaxClassC12fetchRequestSo07NSFetchE0CyACGyFZ","s:7Storage9InboxNoteC12fetchRequestSo07NSFetchE0CyACGyFZ","s:7Storage9OrderItemC12fetchRequestSo07NSFetchE0CyACGyFZ","s:7Storage9OrderNoteC12fetchRequestSo07NSFetchE0CyACGyFZ","s:7SwiftUI4ViewP11WooCommerceE20addingCurrencySymbol_2onQrSS_0D14FoundationCore0G8SettingsC0G8PositionOtF","s:7SwiftUI5ColorV11WooCommerceE10posOnAlertACvpZ","s:7SwiftUI5ColorV11WooCommerceE10posOutlineACvpZ","s:7SwiftUI5ColorV11WooCommerceE14posOnSecondaryACvpZ","s:7SwiftUI5ColorV11WooCommerceE19posOnInverseSurfaceACvpZ","s:7SwiftUI5ColorV11WooCommerceE26posSurfaceContainerHighestACvpZ","s:7SwiftUI5ColorV13WooFoundationE06legacyC10Components33_E3D749136DF688457188A908824BFC5ALL4fromSd3red_Sd5greenSd4blueSd7opacitytSS_tKFZ","s:7SwiftUI5ColorV13WooFoundationE0C13DecodingErrorO","s:7SwiftUI5ColorV13WooFoundationE13RGBComponents33_E3D749136DF688457188A908824BFC5ALLa","s:7SwiftUI5ColorV13WooFoundationE15colorComponents33_E3D749136DF688457188A908824BFC5ALL4fromSd3red_Sd5greenSd4blueSd7opacitytSS_tKFZ","s:7SwiftUI5ColorV13WooFoundationE9rgbStringACSS_tKcfc","s:8Hardware12DDLogVerbose_5level7context4file8function4line3tag12asynchronous5ddlogySSyXK_So0B5LevelVSis12StaticStringVANSuypSgSbSo0B0CtF","s:8Hardware13PaymentIntentV2id6status7created6amount8currency8metadata7chargesACSS_AA0bC6StatusO10Foundation4DateVSuSSSDyS2SGSgSayAA6ChargeVGtcfc","s:8Hardware13PaymentIntentV6statusAA0bC6StatusOvp","s:8Hardware13PaymentStatusO","s:8Hardware14ReceiptDetailsV21applicationCryptogramSSvp","s:8Hardware14ReceiptDetailsV25authorizationResponseCodeSSvp","s:8Hardware14ReceiptDetailsV27terminalVerificationResultsSSvp","s:8Hardware14ReceiptDetailsV28transactionStatusInformationSSvp","s:8Hardware15CardReaderInputV4noneACvpZ","s:8Hardware16CardReaderStatusV10rememberedSbvp","s:8Hardware16CardReaderStatusV9connectedSbvp","s:8Hardware18UpdateTimeEstimateO","s:8Hardware21NoOpCardReaderServiceV","s:8Hardware22resetDefaultDebugLevelyyF","s:8Hardware23CardReaderServiceStatusO","s:8Hardware23StripeCardReaderServiceC12cancellables33_01386A2D21005D4DA327A97DCD5D675BLLShy7Combine14AnyCancellableCGvp","s:8Hardware23StripeCardReaderServiceC9Constants33_01386A2D21005D4DA327A97DCD5D675BLLO19platformMetadataKeySSvpZ","s:8Hardware23StripeCardReaderServiceC9Constants33_01386A2D21005D4DA327A97DCD5D675BLLO19readerIDMetadataKeySSvpZ","s:8Hardware23StripeCardReaderServiceC9Constants33_01386A2D21005D4DA327A97DCD5D675BLLO22readerModelMetadataKeySSvpZ","s:8Hardware28CardPresentReceiptParametersV6amountSuvp","s:8Hardware29CardPresentTransactionDetailsV09generatedB0SSSgvp","s:8Hardware29CardPresentTransactionDetailsV11emvAuthDataSSSgvp","s:8Hardware29CardPresentTransactionDetailsV14cardholderNameSSSgvp","s:8Hardware29CardPresentTransactionDetailsV6walletAA6WalletVSgvp","s:8Hardware29CardPresentTransactionDetailsV7expYearSivp","s:8Hardware29CardPresentTransactionDetailsV7networkSo8NSNumberCSgvp","s:8Hardware29CardPresentTransactionDetailsV8expMonthSivp","s:8Hardware30StripeCardReaderDiscoveryCacheC6insertyyAA0bcD0_pF","s:8Hardware45ShouldRetryStripeRefundAfterFailureDeterminerV06shouldcE05afterSbSSSg_tF","s:8Hardware6ChargeV11descriptionSSSgvp","s:8Hardware6ChargeV2id6amount8currency6status11description8metadata13paymentMethodACSS_SuSSAA0B6StatusOSSSgSDyS2SGSgAA07PaymentJ0OSgtcfc","s:8Hardware6ChargeV6amountSuvp","s:8Hardware6ChargeV6statusAA0B6StatusOvp","s:8Hardware6ChargeV8currencySSvp","s:8Hardware6ChargeV8metadataSDyS2SGSgvp","s:8Hardware6WalletV4typeSSSgvp","s:8Hardware9DDLogInfo_5level7context4file8function4line3tag12asynchronous5ddlogySSyXK_So0B5LevelVSis12StaticStringVANSuypSgSbSo0B0CtF","s:8Yosemite10BlazeStoreC12mockResponse031_24E321FD58B03230CFD6E4EE5FB915J0LL13stubbedResult11onExecutionxx_xyYaKXEtYaKlF","s:8Yosemite10BlazeStoreC14isRunningTests031_24E321FD58B03230CFD6E4EE5FB915K0LLSbvpZ","s:8Yosemite10DispatcherC21isProcessorRegistered_3forSbAA07ActionsD0_p_AA6Action_pXptF","s:8Yosemite10DispatcherC9processor3forAA16ActionsProcessor_pSgAA6Action_pXp_tF","s:8Yosemite10DotcomUsera","s:8Yosemite10MediaStoreC18mediaExportService10dispatcher14storageManager7network6remoteAcA0beF0_p_AA10DispatcherC7Storage0mI4Type_p14NetworkingCore7Network_p0O00B14RemoteProtocol_ptcfc","s:8Yosemite10MediaStoreC18mediaExportService10dispatcher14storageManager7networkAcA0beF0_p_AA10DispatcherC7Storage0lI4Type_p14NetworkingCore7Network_ptcfc","s:8Yosemite10MediaStoreC25isSiteJetpackJCPConnected028_1FA93E108A56F3D874C12216F14K3CFCLLySbs5Int64VF","s:8Yosemite10MediaStoreC33isLoggedInWithoutWPCOMCredentials028_1FA93E108A56F3D874C12216F14L3CFCLLySbs5Int64VF","s:8Yosemite10OrderStoreC012upsertStoredB008readOnlyB022insertingSearchResults2iny14NetworkingCore0B0V_Sb7Storage0N4Type_ptF","s:8Yosemite10OrderStoreC19upsertStoredResults3for7keyword08readOnlyB02inys5Int64V_SS14NetworkingCore0B0V7Storage0O4Type_ptF","s:8Yosemite11CouponErrorO","s:8Yosemite11RefundStoreC012upsertStoredB008readOnlyB02iny10Networking0B0V_7Storage0J4Type_ptF","s:8Yosemite12CouponsErrorV010underlyingC0s0C0_pvp","s:8Yosemite12CouponsErrorV4codeSSvp","s:8Yosemite12CouponsErrorV7message010underlyingC0ACSS_s0C0_ptcfc","s:8Yosemite12DDLogVerbose_5level7context4file8function4line3tag12asynchronous5ddlogySSyXK_So0B5LevelVSis12StaticStringVANSuypSgSbSo0B0CtF","s:8Yosemite12MockCustomerV15shippingAddress14NetworkingCore0E0Vvp","s:8Yosemite12ProductStoreC012upsertStoredB008readOnlyB02iny10Networking0B0V_7Storage0J4Type_ptF","s:8Yosemite12SettingErrorO","s:8Yosemite12SettingStoreC13siteAPIRemote33_367756E27E45E807D9A77BC7F2D48C67LL10Networking04SiteE0Cvp","s:8Yosemite12SettingStoreC18siteSettingsRemote33_367756E27E45E807D9A77BC7F2D48C67LL10Networking04SiteeF0Cvp","s:8Yosemite12SettingStoreC31upsertStoredGeneralSiteSettings6siteID08readOnlygH02inys5Int64V_Say10Networking0gB0VG7Storage0P4Type_ptF","s:8Yosemite12SettingStoreC31upsertStoredProductSiteSettings6siteID08readOnlygH02inys5Int64V_Say10Networking0gB0VG7Storage0P4Type_ptF","s:8Yosemite12StatsStoreV4C14productsRemote33_B88F7F6EF90D88405A6DDDC84E0EE525LL10Networking08ProductsF0Cvp","s:8Yosemite12SystemStatusa","s:8Yosemite12WCPayAccounta","s:8Yosemite13MetaContainera","s:8Yosemite13WooAPIVersiona","s:8Yosemite14EntityListenerC18notificationsToken33_54708F9C334A3EB98A7A6CA91CA9A074LLypSgvp","s:8Yosemite14OrderNoteStoreC012upsertStoredbC12InBackground08readOnlybC07orderID04siteL012onCompletiony14NetworkingCore0bC0V_s5Int64VAMyyctF","s:8Yosemite14SiteVisibilitya","s:8Yosemite14StorageAccounta","s:8Yosemite14StorageFeaturea","s:8Yosemite15CreateCartErrorO","s:8Yosemite15MockObjectGraphP","s:8Yosemite15MockObjectGraphP10siteWithId2id10Networking4SiteVs5Int64V_tF","s:8Yosemite15MockObjectGraphP12statsVersion7Storage05StatsF0Ovp","s:8Yosemite15MockObjectGraphP13accountWithId2id14NetworkingCore7AccountVs5Int64V_tF","s:8Yosemite15MockObjectGraphP24statsV4ShouldBeAvailable9forSiteIdSbs5Int64V_tF","s:8Yosemite15MockObjectGraphP25accountSettingsWithUserId04userI010Networking07AccountF0Vs5Int64V_tF","s:8Yosemite15MockObjectGraphP5sitesSay10Networking4SiteVGvp","s:8Yosemite15MockObjectGraphPAAE6orders10withStatus9forSiteIdSay14NetworkingCore5OrderVGAG0mG4EnumO_s5Int64VtF","s:8Yosemite15MockObjectGraphPAAE6review9forSiteId0eH010Networking13ProductReviewVSgs5Int64V_ALtF","s:8Yosemite15MockObjectGraphPAAE7product9forSiteId0eH010Networking7ProductVs5Int64V_AKtF","s:8Yosemite15SitePluginErrorO","s:8Yosemite16MediaActionErrorO","s:8Yosemite16OrderCreateFielda","s:8Yosemite16POSOrderableItemP2id10Foundation4UUIDVvp","s:8Yosemite16POSOrderableItemP4nameSSvp","s:8Yosemite16SitePluginActionO0C0O","s:8Yosemite16StorageAttributea","s:8Yosemite16StorageOrderItema","s:8Yosemite16StorageOrderNotea","s:8Yosemite16WCPayCardFundinga","s:8Yosemite16WooShippingStoreC10dispatcher14storageManager7network6remoteAcA10DispatcherC_7Storage0kG4Type_p14NetworkingCore7Network_p0M00bC14RemoteProtocol_ptcfc","s:8Yosemite17JustInTimeMessageV6siteIDs5Int64Vvp","s:8Yosemite17MockActionHandlerP0C4TypeQa","s:8Yosemite17MockActionHandlerP11objectGraphAA0b6ObjectF0_pvp","s:8Yosemite17MockActionHandlerP6handle6actiony0C4TypeQz_tF","s:8Yosemite17MockActionHandlerPAAE7successyyF","s:8Yosemite17MockStoresManagerC14derivedStorage33_9590E1BA65647C70183B4B486E032F69LL0F00F4Type_pvp","s:8Yosemite17NotificationStoreC14privateStorage33_C62332CCC5D63E26884446E2286BCACDLL0E00E4Type_pSgvpZ","s:8Yosemite17ProductsSortOrderO20analyticsDescriptionSSvp","s:8Yosemite17ReceiptStoreErrorO","s:8Yosemite17ResultsControllerC23notificationCenterToken33_859B47074559A83DD5AD581E243E51FELLypSgvp","s:8Yosemite17StatsStoreV4ErrorO","s:8Yosemite17SubscriptionStoreC10dispatcher14storageManager7network6remoteAcA10DispatcherC_7Storage0jF4Type_p14NetworkingCore7Network_p0L027SubscriptionsRemoteProtocol_ptcfc","s:8Yosemite17SystemInformationV7storeIDSSSgvp","s:8Yosemite17WCPayChargeStatusa","s:8Yosemite18LabelPurchaseErrorO","s:8Yosemite18LabelPurchaseErrorO18purchaseIncompleteyA2CmF","s:8Yosemite18MediaAssetExporterC0C11ExportErrorO11descriptionSSvp","s:8Yosemite18MediaAssetExporterC0C11ExportErrorO31unavailablePHAssetImageResourceyA2EmF","s:8Yosemite18MediaImageExporterC0C11ExportErrorO11descriptionSSvp","s:8Yosemite18MockSessionManagerV","s:8Yosemite18MockSessionManagerV11defaultSite10Networking0F0VSgvp","s:8Yosemite18MockSessionManagerV11objectGraph33_A42144192B754656C4DD2D0651393A10LLAA0b6ObjectF0_pvp","s:8Yosemite18MockSessionManagerV12defaultRolesSay10Networking4UserVAAE4RoleOGvp","s:8Yosemite18MockSessionManagerV14defaultAccount14NetworkingCore0F0VSgvp","s:8Yosemite18MockSessionManagerV14defaultStoreIDs5Int64VSgvp","s:8Yosemite18MockSessionManagerV15anonymousUserIDSSSgvp","s:8Yosemite18MockSessionManagerV15defaultStoreURLSSSgvp","s:8Yosemite18MockSessionManagerV16defaultAccountIDs5Int64VSgvp","s:8Yosemite18MockSessionManagerV16defaultStoreUUIDSSSgvp","s:8Yosemite18MockSessionManagerV18defaultCredentials14NetworkingCore0F0OSgvp","s:8Yosemite18MockSessionManagerV20defaultSitePublisher7Combine03AnyG0Vy10Networking0F0VSgs5NeverOGvp","s:8Yosemite18MockSessionManagerV23defaultStoreIDPublisher7Combine12AnyPublisherVys5Int64VSgs5NeverOGvp","s:8Yosemite18MockSessionManagerV25deleteApplicationPassword5usingy14NetworkingCore11CredentialsOSg_tF","s:8Yosemite18MockSessionManagerV5resetyyF","s:8Yosemite18OrderFilterHistoryV","s:8Yosemite18OrderFilterHistoryV7historyACSDys5Int64VSayAA06StoredB8SettingsV7SettingVGG_tcfc","s:8Yosemite18OrderFilterHistoryV7historySDys5Int64VSayAA06StoredB8SettingsV7SettingVGGvp","s:8Yosemite18ProductUpdateErrorO10alertTitleSSSgvp","s:8Yosemite18ShippingLabelStoreC10dispatcher14storageManager7network6remoteAcA10DispatcherC_7Storage0kG4Type_p14NetworkingCore7Network_p0M00bC14RemoteProtocol_ptcfc","s:8Yosemite18SiteCreationResultV3urlSSvp","s:8Yosemite18SiteCreationResultV4nameSSvp","s:8Yosemite18SiteCreationResultV6siteIDs5Int64Vvp","s:8Yosemite18SiteCreationResultV8siteSlugSSvp","s:8Yosemite18StorageFeatureIcona","s:8Yosemite18StorageInboxActiona","s:8Yosemite18StorageOrderRefunda","s:8Yosemite19SettingStoreMethodsC31upsertStoredGeneralSiteSettings6siteID08readOnlyhI02inys5Int64V_Say10Networking0hB0VG7Storage0Q4Type_ptF","s:8Yosemite19SettingStoreMethodsC31upsertStoredProductSiteSettings6siteID08readOnlyhI02inys5Int64V_Say10Networking0hB0VG7Storage0Q4Type_ptF","s:8Yosemite19SettingStoreMethodsC40upsertStoredAdvancedSettingsInBackground33_8C0BCB4006C8F87FCBD5FFF6F396D9AFLL6siteID012readOnlySiteH012onCompletionys5Int64V_Say10Networking0xB0VGyyctF","s:8Yosemite19SettingStoreMethodsC7network33_8C0BCB4006C8F87FCBD5FFF6F396D9AFLL14NetworkingCore7Network_pvp","s:8Yosemite19StorageAnnouncementa","s:8Yosemite19StorageOrderFeeLinea","s:8Yosemite19StorageProductAddOna","s:8Yosemite19StorageProductImagea","s:8Yosemite19StorageShippingLinea","s:8Yosemite20ProductCategoryStoreC10dispatcher14storageManager7network6remoteAcA10DispatcherC_7Storage0kG4Type_p14NetworkingCore7Network_p0M00B24CategoriesRemoteProtocol_ptcfc","s:8Yosemite20ProductFilterHistoryV","s:8Yosemite20ProductFilterHistoryV7historyACSDys5Int64VSay10Networking06StoredB8SettingsV7SettingVGG_tcfc","s:8Yosemite20ProductFilterHistoryV7historySDys5Int64VSay10Networking06StoredB8SettingsV7SettingVGGvp","s:8Yosemite20SitePluginStatusEnuma","s:8Yosemite21CardReaderConfigErrora","s:8Yosemite21GiftCardStatsIntervala","s:8Yosemite21POSSiteSettingServiceC6remoteAC10Networking26SiteSettingsRemoteProtocol_p_tcfc","s:8Yosemite21ScreenshotObjectGraphV10siteWithId2id10Networking4SiteVs5Int64V_tF","s:8Yosemite21ScreenshotObjectGraphV12statsVersion7Storage05StatsF0Ovp","s:8Yosemite21ScreenshotObjectGraphV13accountWithId2id14NetworkingCore7AccountVs5Int64V_tF","s:8Yosemite21ScreenshotObjectGraphV24statsV4ShouldBeAvailable9forSiteIdSbs5Int64V_tF","s:8Yosemite21ScreenshotObjectGraphV25accountSettingsWithUserId04userI010Networking07AccountF0Vs5Int64V_tF","s:8Yosemite21ScreenshotObjectGraphV5sitesSay10Networking4SiteVGvp","s:8Yosemite21StorageCardReaderTypea","s:8Yosemite22AppSettingsStoreErrorsO23writePListToFileStorageyA2CmF","s:8Yosemite22AppSettingsStoreErrorsO24parsePreselectedProvideryA2CmF","s:8Yosemite22AppSettingsStoreErrorsO24readPListFromFileStorageyA2CmF","s:8Yosemite22AppSettingsStoreErrorsO24writePreselectedProvideryA2CmF","s:8Yosemite22JetpackConnectionStoreC13accountRemote33_1D789DFD795A9C329ADEEE2F13D4BF07LL10Networking07AccountF0CSgvp","s:8Yosemite22POSSystemStatusServiceC7network14storageManagerAC14NetworkingCore7Network_p_7Storage0kG4Type_ptcfc","s:8Yosemite22ProductCategoryUpdaterP","s:8Yosemite22StorageOrderItemRefunda","s:8Yosemite22StorageProductDownloada","s:8Yosemite22StorageShippingLineTaxa","s:8Yosemite22StorageStateOfACountrya","s:8Yosemite22WCPayPaymentMethodTypea","s:8Yosemite22resetDefaultDebugLevelyyF","s:8Yosemite23MockCouponActionHandlerV7storage33_063B4E729518B8DD2CD747D12F0E7998LL7Storage0O4Type_pSgvp","s:8Yosemite23POSSearchHistoryServiceC011clearSearchC03foryAA11POSItemTypeO_tF","s:8Yosemite23POSSearchHistoryServiceC014clearAllSearchC0yyF","s:8Yosemite23ProductInputTransformerV14UpdateOrDeleteO6deleteyA2EmF","s:8Yosemite23ProductInputTransformerV16updateOrderItems33_48BA1520A8767D08F6A653957DF12D33LL4from5order34shouldUpdateOrDeleteZeroQuantitiesSay14NetworkingCore0F4ItemVGAA0f4SyncbC0V_AI0F0VAC0rsT0OtFZ","s:8Yosemite23StorageProductAttributea","s:8Yosemite24DefaultImageSourceWriterV0cdE5ErrorO11descriptionSSvp","s:8Yosemite24MockPaymentActionHandlerV0D4Typea","s:8Yosemite24MockSettingActionHandlerV12settingStore33_1BF62C46ABA4F8EB3BAD22BF3EA9DB3FLLAA0cG0Cvp","s:8Yosemite24StorageProductBundleItema","s:8Yosemite24StorageProductDimensionsa","s:8Yosemite24WCAnalyticsStatsIntervala","s:8Yosemite25POSSearchHistoryProvidingP011clearSearchC03foryAA11POSItemTypeO_tF","s:8Yosemite25POSSearchHistoryProvidingP014clearAllSearchC0yyF","s:8Yosemite25StorageCouponSearchResulta","s:8Yosemite25StorageOrderItemAttributea","s:8Yosemite25StorageOrderStatsV4Totalsa","s:8Yosemite25StorageProductAddOnOptiona","s:8Yosemite25StorageSiteVisitStatsItema","s:8Yosemite25StorageTopEarnerStatsItema","s:8Yosemite25WCPayPaymentMethodDetailsa","s:8Yosemite26CouponStoreMethodsProtocolP04loadB6Report6siteID06couponI09startDate12onCompletionys5Int64V_AJ10Foundation0L0Vys6ResultOy10Networking0bG0Vs5Error_pGctF","s:8Yosemite26CouponStoreMethodsProtocolP06createB0_12siteTimezone12onCompletiony10Networking0B0V_10Foundation8TimeZoneVSgys6ResultOyAIs5Error_pGctF","s:8Yosemite26CouponStoreMethodsProtocolP06deleteB06siteID06couponH012onCompletionys5Int64V_AIys6ResultOyyts5Error_pGctF","s:8Yosemite26CouponStoreMethodsProtocolP06updateB0_12siteTimezone12onCompletiony10Networking0B0V_10Foundation8TimeZoneVSgys6ResultOyAIs5Error_pGctF","s:8Yosemite26CouponStoreMethodsProtocolP08retrieveB06siteID06couponH012onCompletionys5Int64V_AIys6ResultOy10Networking0B0Vs5Error_pGctF","s:8Yosemite26CouponStoreMethodsProtocolP08validateB4Code4code6siteID12onCompletionySS_s5Int64Vys6ResultOySbs5Error_pGctF","s:8Yosemite26CouponStoreMethodsProtocolP11loadCoupons6siteID9couponIDs12onCompletionys5Int64V_SayAIGys6ResultOySay10Networking0B0VGs5Error_pGctF","s:8Yosemite26CouponStoreMethodsProtocolP13searchCoupons6siteID7keyword10pageNumber0K4Size12onCompletionys5Int64V_SSS2iys6ResultOyyts5Error_pGctF","s:8Yosemite26CouponStoreMethodsProtocolP18synchronizeCoupons6siteID10pageNumber0J4Size12onCompletionys5Int64V_S2iys6ResultOySbs5Error_pGctF","s:8Yosemite26CouponStoreMethodsProtocolP21loadMostActiveCoupons6siteID08numberOfI6ToLoad9timeRange0J8Timezone12onCompletionys5Int64V_SiAA09StatsTimeQ2V4O10Foundation0W4ZoneVys6ResultOySay10Networking0B6ReportVGs5Error_pGctF","s:8Yosemite26StoragePreselectedProvidera","s:8Yosemite26StorageProductSubscriptiona","s:8Yosemite26StorageShippingLabelRefunda","s:8Yosemite27PointOfSaleItemServiceErrorO13requestFailedyA2CmF","s:8Yosemite27PointOfSaleItemServiceErrorO7unknownyA2CmF","s:8Yosemite27SettingStoreMethodsProtocolP015enableAnalyticsB06siteID12onCompletionys5Int64V_ys6ResultOyyts5Error_pGctF","s:8Yosemite27SettingStoreMethodsProtocolP017retrieveAnalyticsB06siteID12onCompletionys5Int64V_ys6ResultOySbs5Error_pGctF","s:8Yosemite27SettingStoreMethodsProtocolP018retrieveTaxBasedOnB06siteID12onCompletionys5Int64V_ys6ResultOyAA0ghiB0Os5Error_pGctF","s:8Yosemite27SettingStoreMethodsProtocolP15retrieveSiteAPI6siteID12onCompletionys5Int64V_ys6ResultOy10Networking0gH0Vs5Error_pGctF","s:8Yosemite27SettingStoreMethodsProtocolP16isFeatureEnabled6siteID7featureSbs5Int64V_10Networking012SiteSettingsG0OtYaKF","s:8Yosemite27SettingStoreMethodsProtocolP30synchronizeGeneralSiteSettings6siteID12onCompletionys5Int64V_ys5Error_pSgctF","s:8Yosemite27SettingStoreMethodsProtocolP30synchronizeProductSiteSettings6siteID12onCompletionys5Int64V_ys5Error_pSgctF","s:8Yosemite27StorageCustomerSearchResulta","s:8Yosemite27StorageOrderStatsV4Intervala","s:8Yosemite27StorageShippingLabelAddressa","s:8Yosemite28ShippingLabelPaymentCardTypea","s:8Yosemite28StorageShippingLabelSettingsa","s:8Yosemite29CardPresentTransactionDetailsa","s:8Yosemite30CardPresentPaymentsPluginStateV14wcPayPreferredACvpZ","s:8Yosemite30CardPresentPaymentsPluginStateV15stripePreferredACvpZ","s:8Yosemite30CardPresentPaymentsPluginStateV9wcPayOnlyACvpZ","s:8Yosemite30ProductVariationStorageManagerC012deleteStoredB10Variations6siteID07productJ012onCompletionys5Int64V_AIyyctF","s:8Yosemite30StorageProductDefaultAttributea","s:8Yosemite31StorageWooShippingCustomPackagea","s:8Yosemite32CardReaderServiceDiscoveryStatusa","s:8Yosemite32StorageProductCompositeComponenta","s:8Yosemite33CardPresentPaymentOnboardingStateO21isCountryNotSupportedSbvp","s:8Yosemite33ProductsFeatureSwitchPListWrapperV","s:8Yosemite33SiteNotificationCountFileContentsV07countByB0ACSDys5Int64VSDy14NetworkingCore4NoteV4KindOSiGG_tcfc","s:8Yosemite34StorageWooShippingPredefinedOptiona","s:8Yosemite35FeatureAnnouncementCampaignSettingsa","s:8Yosemite35SiteSpecificAppSettingsStoreMethodsV014defaultGeneralfE7FileURL10Foundation0K0VvpZ","s:8Yosemite35SiteSpecificAppSettingsStoreMethodsV11fileStorage07generalfE7FileURLAC0I00kI0_p_10Foundation0L0Vtcfc","s:8Yosemite35StorageWooShippingPredefinedPackagea","s:8Yosemite36StorageShipmentTrackingProviderGroupa","s:8Yosemite40PointOfSaleFixedItemFetchStrategyFactoryC07popularH08pageSizeAA0bcd11PurchasablefgH0_pSi_tF","s:8Yosemite40StorageWooShippingSavedPredefinedPackagea","s:8Yosemite42StorageWooShippingCarrierPredefinedOptionsa","s:8Yosemite43PointOfSaleItemFetchStrategyFactoryProtocolP07popularG08pageSizeAA0bcd11PurchasableefG0_pSi_tF","s:8Yosemite45PointOfSaleSearchPurchasableItemFetchStrategyV","s:8Yosemite45PointOfSaleSearchPurchasableItemFetchStrategyV13fetchProducts10pageNumber14NetworkingCore10PagedItemsVy0N010POSProductVGSi_tYaKF","s:8Yosemite45PointOfSaleSearchPurchasableItemFetchStrategyV15fetchVariations15parentProductID10pageNumber14NetworkingCore10PagedItemsVy0Q019POSProductVariationVGs5Int64V_SitYaKF","s:8Yosemite46PointOfSaleDefaultPurchasableItemFetchStrategyV","s:8Yosemite46PointOfSaleDefaultPurchasableItemFetchStrategyV13fetchProducts10pageNumber14NetworkingCore10PagedItemsVy0N010POSProductVGSi_tYaKF","s:8Yosemite46PointOfSaleDefaultPurchasableItemFetchStrategyV15fetchVariations15parentProductID10pageNumber14NetworkingCore10PagedItemsVy0Q019POSProductVariationVGs5Int64V_SitYaKF","s:8Yosemite46PointOfSalePopularPurchasableItemFetchStrategyV","s:8Yosemite46PointOfSalePopularPurchasableItemFetchStrategyV13fetchProducts10pageNumber14NetworkingCore10PagedItemsVy0N010POSProductVGSi_tYaKF","s:8Yosemite46PointOfSalePopularPurchasableItemFetchStrategyV15fetchVariations15parentProductID10pageNumber14NetworkingCore10PagedItemsVy0Q019POSProductVariationVGs5Int64V_SitYaKF","s:8Yosemite4Posta","s:8Yosemite5QueueV","s:8Yosemite7WooPlanV4nameSSvp","s:8Yosemite8TaxStoreC012upsertStoredB5Class08readOnlybF02iny10Networking0bF0V_7Storage0K4Type_ptF","s:8Yosemite9DataStoreC10dispatcher14storageManager7network6remoteAcA10DispatcherC_7Storage0jF4Type_p14NetworkingCore7Network_p0L00B6RemoteCtcfc","s:8Yosemite9NoteBlocka","s:8Yosemite9NoteMediaa","s:8Yosemite9NoteRangea","s:8Yosemite9ProductIdV7currents5Int64VvpZ","s:SD11WooCommerceSSRszrlE33serializeValuesForLoggingIfNeededSDySSypGyF","s:SK15WordPressSharedE9lastIndex5where0E0QzSgSb7ElementQzKXE_tKF","s:SS11WooCommerceE16stripLastNewline2inS2S_tFZ","s:SS11WooCommerceE9hairSpaceSSvpZ","s:SS13Woo_Watch_AppE16stripLastNewline2inS2S_tFZ","s:SS14NetworkingCoreE12removePrefix7pattern7optionsySS_So26NSRegularExpressionOptionsVtKF","s:SS14NetworkingCoreE12removeSuffix7pattern7optionsySS_So26NSRegularExpressionOptionsVtKF","s:SS14NetworkingCoreE14removingPrefix7pattern7optionsS2S_So26NSRegularExpressionOptionsVtKF","s:SS14NetworkingCoreE14removingSuffix7pattern7optionsS2S_So26NSRegularExpressionOptionsVtKF","s:SS15WordPressSharedE12removePrefix7pattern7optionsySS_So26NSRegularExpressionOptionsVtKF","s:SS15WordPressSharedE12removeSuffix7pattern7optionsySS_So26NSRegularExpressionOptionsVtKF","s:SS15WordPressSharedE14removingPrefix7pattern7optionsS2S_So26NSRegularExpressionOptionsVtKF","s:SS15WordPressSharedE14removingSuffix7pattern7optionsS2S_So26NSRegularExpressionOptionsVtKF","s:SS15WordPressSharedE29stringByDecodingXMLCharactersSSyF","s:SS15WordPressSharedE29stringByEncodingXMLCharactersSSyF","s:ST8YosemiteAA16POSOrderableItem_p7ElementRtzrlE7isEqual2toSbST_pAaB_pADRS_XP_tF","s:Sa11WooCommerce14NetworkingCore9NoteBlockVRszlE5first6ofKindADSgAD0I0O_tF","s:So10XCTestCaseC17UITestsFoundationE10DataHelperV3tagSSvpZ","s:So10XCTestCaseC17UITestsFoundationE10DataHelperV8categorySSvpZ","s:So11UIImageViewC11WordPressUIE10Downloader33_1E03F726AA7AC5CC76C9B217F4556170LLV6urlKeySivpZ","s:So11UIImageViewC11WordPressUIE10Downloader33_5D905DAAA85C0A677DC89E2949462236LLV","s:So11UIImageViewC11WordPressUIE12blavatarSize33_5D905DAAA85C0A677DC89E2949462236LLSivp","s:So11UIImageViewC11WordPressUIE15mainScreenScale33_5D905DAAA85C0A677DC89E2949462236LL14CoreFoundation7CGFloatVvp","s:So11UIImageViewC11WordPressUIE16downloadBlavatar4fromy10Foundation3URLV_tF","s:So11UIImageViewC11WordPressUIE20blavatarSizeInPoints33_5D905DAAA85C0A677DC89E2949462236LLSivp","s:So11UITableViewC11WooCommerceE29lastIndexPathOfTheLastSection10Foundation0fG0VSgyF","s:So11UITableViewC11WordPressUIE17reloadSelectedRowyyF","s:So11UITableViewC11WordPressUIE29reloadDataPreservingSelectionyyF","s:So11UITableViewC11WordPressUIE42deselectSelectedRowWithAnimationAfterDelayyySbF","s:So11UITextFieldC11WordPressUIE17nonNilTrimmedTextSSyF","s:So11WPAnalyticsC15WordPressSharedE5trackyyAC14AnalyticsEventCFZ","s:So11XCUIElementC17UITestsFoundationE10waitAndTap7timeoutySd_tF","s:So11XCUIElementC17UITestsFoundationE13assertElement8matching26existsOnCellWithIdentifierySS_SStF","s:So11XCUIElementC17UITestsFoundationE14scrollIntoView3appySo15XCUIApplicationC_tF","s:So11XCUIElementC17UITestsFoundationE17clearAndEnterText4textySS_tF","s:So11XCUIElementC17UITestsFoundationE17clearTextIfNeededyyF","s:So11XCUIElementC17UITestsFoundationE19assertLabelContains14firstSubstring06secondH0ySS_SStF","s:So11XCUIElementC17UITestsFoundationE19verifyElementOnCell6parent5childSbSS_SStKF","s:So11XCUIElementC17UITestsFoundationE19verifyLabelContains9substring3andSbSS_SStKF","s:So11XCUIElementC17UITestsFoundationE22isFullyVisibleOnScreen33_A43A31F44B10350136AF2B75ECBA64BELLSbvp","s:So11XCUIElementC17UITestsFoundationE24waitForElementToNotExist7element7timeoutyAB_SdSgtF","s:So11XCUIElementC17UITestsFoundationE25assertTextVisibilityCount10textToFind08expectedG0ySS_SitF","s:So11XCUIElementC17UITestsFoundationE28getStaticTextVisibilityCount10textToFindSiSS_tKF","s:So11XCUIElementC17UITestsFoundationE6scroll8byDeltaX6deltaYy04CoreC07CGFloatV_AItF","s:So11XCUIElementC17UITestsFoundationE9enterText4textySS_tF","s:So12UIStoryboardC11WooCommerceE6ordersABvpZ","s:So14NSUserDefaultsC11WooCommerceE14containsObject6forKeySbAbCE0H0O_tF","s:So14NSUserDefaultsC11WooCommerceE17setPendingThemeID33_049E9F9751B0CC910DC72613D7915BC1LL05themeH03forySS_s5Int64VtF","s:So14NSUserDefaultsC13Woo_Watch_AppE14containsObject6forKeySbAbCE0I0O_tF","s:So15NSDateFormatterC11WooCommerceE04yearB0ABvpZ","s:So15NSDateFormatterC13Woo_Watch_AppE04yearB0ABvpZ","s:So16NSParagraphStyleC11WooCommerceE11subheadlineABvpZ","s:So16NSParagraphStyleC11WooCommerceE22truncatingTailFootnoteABvpZ","s:So16NSParagraphStyleC11WooCommerceE5badgeABvpZ","s:So16NSParagraphStyleC11WooCommerceE8footnoteABvpZ","s:So16SCPPaymentIntentC8HardwareE2idSSvp","s:So16UICollectionViewC11WordPressUIE12ghostHandler33_A1E0D2594CFD1D28FE0BCEA493588D1ELLAC015GhostCollectionbG0CSgvp","s:So16UICollectionViewC11WordPressUIE15initialDelegate33_A1E0D2594CFD1D28FE0BCEA493588D1ELLSo0abG0_pSgvp","s:So16UICollectionViewC11WordPressUIE17initialDataSource33_A1E0D2594CFD1D28FE0BCEA493588D1ELLSo0abgH0_pSgvp","s:So16UICollectionViewC11WordPressUIE17setupGhostHandler33_A1E0D2594CFD1D28FE0BCEA493588D1ELL7options5styleyAC0G7OptionsV_AC0G5StyleVtF","s:So16UICollectionViewC11WordPressUIE18removeGhostContentyyF","s:So16UICollectionViewC11WordPressUIE19displayGhostContent7options5styleyAC0G7OptionsV_AC0G5StyleVtF","s:So16UICollectionViewC11WordPressUIE22initialAllowsSelection33_A1E0D2594CFD1D28FE0BCEA493588D1ELLSbSgvp","s:So16UICollectionViewC11WordPressUIE24isDisplayingGhostContentSbvp","s:So16UICollectionViewC11WordPressUIE25resetAssociatedReferences33_A1E0D2594CFD1D28FE0BCEA493588D1ELLyyF","s:So16UICollectionViewC11WordPressUIE34restoreInitialDelegatesAndSettings33_A1E0D2594CFD1D28FE0BCEA493588D1ELLyyF","s:So16UICollectionViewC11WordPressUIE35preserveInitialDelegatesAndSettings33_A1E0D2594CFD1D28FE0BCEA493588D1ELLyyF","s:So16UICollectionViewC11WordPressUIE4Keys33_A1E0D2594CFD1D28FE0BCEA493588D1ELLO","s:So16UIViewControllerC11WordPressUIE14isViewOnScreenSbyF","s:So16UIViewControllerC11WordPressUIE26hasHorizontallyCompactViewSbyF","s:So16UIViewControllerC11WordPressUIE32isHorizontalSizeClassUnspecifiedSbyF","s:So16UIViewControllerC11WordPressUIE6removeyyABF","s:So16UIViewControllerC11WordPressUIE6removeyyF","s:So16XCUIElementQueryC17UITestsFoundationE24networkLoadingIndicators33_A43A31F44B10350136AF2B75ECBA64BELLABvp","s:So17CGAffineTransformV11WordPressUIE12makeRotation_5scaleAB14CoreFoundation7CGFloatV_AHtFZ","s:So21XCUIElementAttributesP17UITestsFoundationE11isStatusBar33_A43A31F44B10350136AF2B75ECBA64BELLySb04CoreD07CGFloatVF","s:So21XCUIElementAttributesP17UITestsFoundationE24hasWhiteListedIdentifier33_A43A31F44B10350136AF2B75ECBA64BELLSbvp","s:So21XCUIElementAttributesP17UITestsFoundationE25isNetworkLoadingIndicator33_A43A31F44B10350136AF2B75ECBA64BELLSbvp","s:So22NSManagedObjectContextC7StorageE05firstB06ofTypexSgxm_tAC0B0RzlF","s:So22NSManagedObjectContextC7StorageE12countObjects6ofType8matchingSixm_So11NSPredicateCSgtAC0B0RzlF","s:So22NSManagedObjectContextC7StorageE12countObjects6ofTypeSixm_tAC0B0RzlF","s:So24NSOperatingSystemVersiona11WooCommerceE12Localization33_D589B9A26148CD818CA4BEF93D67E0F4LLO","s:So24NSOperatingSystemVersiona11WooCommerceE24localizedFormattedStringSSvp","s:So24UNUserNotificationCenterC11WooCommerceE20requestAuthorization5queue23includesProvisionalAuth10completionySo012OS_dispatch_H0C_SbySbctF","s:So25NSMutableAttributedStringC11WooCommerceE27applyAttributesToQuotedText10attributesySDySo012NSAttributedC3KeyaypG_tF","s:So25NSMutableAttributedStringC11WordPressUIE20applyForegroundColoryySo7UIColorCF","s:So6UIFontC11WooCommerceE7italicsABvp","s:So6UIFontC11WooCommerceE7noticon8forStyleABSo0a4TextF0a_tFZ","s:So6UIFontC11WooCommerceE8caption2ABvpZ","s:So6UIFontC11WooCommerceE9pointSize33_DBC6E517B111D326E52675AF1E39C320LL3for14CoreFoundation7CGFloatVSo0A9TextStylea_tFZ","s:So6UIViewC11WooCommerceE14safeLeftAnchorSo08NSLayoutF0CySo0g5XAxisF0CGvp","s:So6UIViewC11WooCommerceE15safeRightAnchorSo08NSLayoutF0CySo0g5XAxisF0CGvp","s:So6UIViewC11WordPressUIE16explodeAnimationyyySbcSgF","s:So6UIViewC11WordPressUIE16implodeAnimationyyySbcSgF","s:So6UIViewC11WordPressUIE18stopGhostAnimationyyF","s:So6UIViewC11WordPressUIE19changeLayoutMargins3top4left6bottom5righty14CoreFoundation7CGFloatVSg_A3LtF","s:So6UIViewC11WordPressUIE21animatableSetIsHidden_8animated_ySb_SbySbcSgtF","s:So6UIViewC11WordPressUIE21expandSpringAnimationyyySbcSgF","s:So6UIViewC11WordPressUIE21restartGhostAnimation5styleyAC0F5StyleV_tF","s:So6UIViewC11WordPressUIE27fadeInWithRotationAnimationyyySbcSgF","s:So6UIViewC11WordPressUIE28fadeOutWithRotationAnimationyyySbcSgF","s:So6UIViewC11WordPressUIE7animate12withKeyboard_y10Foundation12NotificationV_ySo6CGRectV_AJtctFZ","s:So7UIColorC11WooCommerceE15invertedSystem5ABvpZ","s:So7UIColorC11WooCommerceE17invertedSeparatorABvpZ","s:So7UIColorC13WooFoundationE12chartDataBarABvpZ","s:So7UIColorC13WooFoundationE15domainSalePriceABvpZ","s:So7UIColorC13WooFoundationE16wooCommerceAmberyAB0bC4Core16ColorStudioShadeOFZ","s:So7UIColorC13WooFoundationE18wooCommerceEmeraldyAB0bC4Core16ColorStudioShadeOFZ","s:So7UIColorC13WooFoundationE19domainCreditPricingABvpZ","s:So7UIColorC13WooFoundationE30secondaryLightButtonBackgroundABvpZ","s:So7UIColorC13WooFoundationE35productsCellSelectedBackgroundColorABvpZ","s:So7UIImageC11WooCommerceE11deleteImageABvpZ","s:So7UIImageC11WooCommerceE12commentImageABvpZ","s:So7UIImageC11WooCommerceE13scanToPayIconABvpZ","s:So7UIImageC11WooCommerceE14commentContentABvpZ","s:So7UIImageC11WooCommerceE16helpOutlineImageABvpZ","s:So7UIImageC11WooCommerceE16pointOfSaleImageABvpZ","s:So7UIImageC11WooCommerceE17blazeSuccessImageABvpZ","s:So7UIImageC11WooCommerceE20imageWithTopRightDot0D6Origin9finalSize11dotDiameter0L5ColorABSgSo7CGPointV_So6CGSizeV14CoreFoundation7CGFloatVSo7UIColorCtF","s:So7UIImageC11WooCommerceE22gearBarButtonItemImageABvpZ","s:So7UIImageC11WooCommerceE26domainPurchaseSuccessImageABvpZ","s:So7UIImageC11WooCommerceE28domainSearchPlaceholderImageABvpZ","s:So7UIImageC11WooCommerceE28productCreationAISurveyImageABvpZ","s:So7UIImageC11WooCommerceE5image8fromText4sizeABSgSS_So6CGSizeVtFZ","s:So7UIImageC11WooCommerceE9bellImageABvpZ","s:So7UIImageC11WooCommerceE9moneyIconABvpZ","s:So7UIImageC11WordPressUIE16rotate180DegreesABSgyF","s:So7UIImageC11WordPressUIE8cropping2toABSo6CGRectV_tF","s:So7UILabelC11WooCommerceE29applyPaddedLabelSubheadStylesyyF","s:So8NSBundleC13WooFoundationE11buildNumberSSvp","s:So8UIButtonC11WooCommerceE16OverlayAnimationO","s:So8UIButtonC11WooCommerceE16overlayImageView33_546DA74F3BF915535695A7DC386EC4DBLLSo6UIViewCSgyF","s:So8UIButtonC11WooCommerceE19animateImageOverlay5styleyAbCE0F9AnimationO_tF","s:So8UIButtonC11WooCommerceE22attachOverlayImageView33_546DA74F3BF915535695A7DC386EC4DBLL07overlayG0ySo6UIViewC_tF","s:So8UIButtonC11WooCommerceE24setTitleWithoutAnimation_3forySSSg_So14UIControlStateVtF","s:So8UIDeviceC11WooCommerceE15modelIdentifierSSvp","s:So9NSDecimala11WooCommerceE8fraction33_05AEA99830E18213E13824269D61F9B5LLABvp","s:So9NSScannerC11WooCommerceE16scanQuotedRangesSaySo8_NSRangeVGyF","s:So9UIControlC11WordPressUIE33NaturalContentHorizontalAlignmentO","s:So9UIControlC11WordPressUIE33naturalContentHorizontalAlignmentAbCE07NaturalfgH0Ovp","s:Sq11WooCommerceSSRszlE012isNilOrEmptyE4ZeroSbvp","s:e:s:10Networking11MockNetworkC16simulateResponse16requestUrlSuffix8filenameySS_SStF-Networking","s:e:s:10Networking11MockNetworkC18addResponseToQueue33_E17F2C9213ACF707E84675086070E83FLL16requestUrlSuffix8filenameySS_SStF-Networking","s:e:s:10Networking17GoogleAdsCampaignV6StatusO11WooCommerceE11displayTextSSvp-WooCommerce","s:e:s:11WooCommerce0A14AnalyticsEventV13ProductNameAIO9Constants33_B0A7733942D46A80E958F8CEC6B01A5FLLO-WooCommerce","s:e:s:11WooCommerce0A14AnalyticsEventV5BlazeO4StepO14analyticsValue33_B767F6CF84DC740BBA8619895253257ALLSSvp-WooCommerce","s:e:s:11WooCommerce12StringStylesV7subjectACvpZ-WooCommerce","s:e:s:11WooCommerce15StringFormatterV29replaceCommonWhitespaceIssues33_01DE8D4F17B26AA19304C5F479D1EE44LL2inS2S_tF-WooCommerce","s:e:s:11WooCommerce15StringFormatterV6format5block4withSo012NSAttributedC0C14NetworkingCore9NoteBlockV_AA0C6StylesVtF-WooCommerce","s:e:s:11WooCommerce20CreateOrderAppIntentV12LocalizationO-WooCommerce","s:e:s:11WooCommerce21JetpackErrorViewModelV12Localization33_A5FF517E3DE752F2DB2B2D530CEE4AD0LLO-WooCommerce","s:e:s:11WooCommerce21WPComLoginCoordinatorC12Localization33_84A1C662B8A620141F900901D8BEDCE0LLO-WooCommerce","s:e:s:11WooCommerce21WPComLoginCoordinatorC19startAuthentication33_84A1C662B8A620141F900901D8BEDCE0LL5email21isPasswordlessAccountySS_SbtYaF-WooCommerce","s:e:s:11WooCommerce21WPComLoginCoordinatorC24checkPasswordlessAccount33_84A1C662B8A620141F900901D8BEDCE0LL5emailSbSS_tYaKF-WooCommerce","s:e:s:11WooCommerce23CollectPaymentAppIntentV12LocalizationO-WooCommerce","s:e:s:11WooCommerce24PermanentNoticePresenterC10Animations33_7A54054EC31D7B532ACEC7BB03B27136LLO-WooCommerce","s:e:s:11WooCommerce24PermanentNoticePresenterC16setupConstraints33_7A54054EC31D7B532ACEC7BB03B27136LL2in11hostingViewySo16UIViewControllerC_So0R0CtF-WooCommerce","s:e:s:11WooCommerce24ProductsTopBannerFactoryV12Localization33_28FBE17267D053386D61F4D85A0E22FFLLO-WooCommerce","s:e:s:11WooCommerce38JetpackBenefitsBannerHostingControllerC25configureHeightConstraint33_9383CB4049A779326AB3A54E157F531ALLyyF-WooCommerce","s:e:s:11WooCommerce43BlazeCampaignDashboardViewHostingControllerC18handlePostCreation33_78B252AE4BCF4E8CDA174318A2708FD3LLyyF-WooCommerce","s:e:s:17UITestsFoundation18BetaFeaturesScreenC06enableC7Feature33_FA0859DAFF4C9619A1C58EE0AB16E3C5LLyySo11XCUIElementCF-UITestsFoundation","s:e:s:8Hardware18UpdateTimeEstimateOyACSo017SCPUpdateDurationD0Vcfc-Hardware","s:e:s:8Yosemite16SitePluginActionO0C0O2id33_742336383351F1BAEE3FD57E4213749DLLSSvp-Yosemite","s:e:s:8Yosemite33ProductsFeatureSwitchPListWrapperV9isEnabledSbvp-Yosemite","s:s12CaseIterableP11WooCommerceSQRzrlE4nextxSgyF"]}} \ No newline at end of file +{"v1":{"usrs":["import-Codegen-Modules\/Sources\/Networking\/Model\/ShippingLabel\/Enums\/ShippingLabelStatusPollingResponse.swift:2:1","import-Codegen-Modules\/Sources\/Networking\/Model\/ShippingLabel\/Packages\/WooShippingDestinationAddressUpdate.swift:2:1","import-Codegen-Modules\/Sources\/Networking\/Model\/ShippingLabel\/Packages\/WooShippingOriginAddressUpdate.swift:2:1","import-Codegen-Modules\/Sources\/Networking\/Model\/ShippingLabel\/VerifyDestinationAddress\/WooShippingVerifyDestinationAddressSuccess.swift:2:1","import-Codegen-Modules\/Sources\/Networking\/Model\/ShippingLabel\/WooShippingAddressValidationError.swift:2:1","import-Codegen-Modules\/Sources\/Networking\/Model\/ShippingLabel\/WooShippingAddressValidationSuccess.swift:2:1","import-Codegen-Modules\/Sources\/Yosemite\/Model\/Orders\/StoredOrderSettings.swift:2:1","import-Experiments-WooCommerce\/Classes\/AppDelegate.swift:5:1","import-Experiments-WooCommerce\/Classes\/Authentication\/Epilogue\/SwitchStoreNoticePresenter.swift:2:1","import-Experiments-WooCommerce\/Classes\/Authentication\/Navigation Exceptions\/NotWPAccountViewModel.swift:5:1","import-Experiments-WooCommerce\/Classes\/Authentication\/Prologue\/LoginPrologueViewController.swift:3:1","import-Experiments-WooCommerce\/Classes\/Notifications\/PushNotificationsManager.swift:2:1","import-Experiments-WooCommerce\/Classes\/Tools\/Zendesk\/ZendeskManager.swift:10:1","import-Experiments-WooCommerce\/Classes\/ViewRelated\/Blaze\/BlazeCampaignList\/BlazeCampaignListViewModel.swift:3:1","import-Experiments-WooCommerce\/Classes\/ViewRelated\/Dashboard\/Onboarding\/StoreOnboardingViewModel.swift:5:1","import-Experiments-WooCommerce\/Classes\/ViewRelated\/Dashboard\/Settings\/CardReadersV2\/Tap to Pay Education\/TapToPayAwarenessMomentDeterminer.swift:3:1","import-Experiments-WooCommerce\/Classes\/ViewRelated\/Dashboard\/Settings\/In-Person Payments\/CardPresentPaymentsOnboardingUseCase.swift:5:1","import-Experiments-WooCommerce\/Classes\/ViewRelated\/Dashboard\/Settings\/In-Person Payments\/CardPresentPaymentsOnboardingViewModel.swift:4:1","import-Experiments-WooCommerce\/Classes\/ViewRelated\/Dashboard\/Settings\/In-Person Payments\/TapToPayBadgePromotionChecker.swift:3:1","import-Experiments-WooCommerce\/Classes\/ViewRelated\/Dashboard\/StoreStats\/StatsTimeRangeBarViewModel.swift:1:1","import-Experiments-WooCommerce\/Classes\/ViewRelated\/Orders\/Order Details\/Address Edit\/AddressFormViewModelProtocol.swift:3:1","import-Experiments-WooCommerce\/Classes\/ViewRelated\/Orders\/Order Details\/Address Edit\/EditOrderAddressForm.swift:5:1","import-Experiments-WooCommerce\/Classes\/ViewRelated\/Orders\/Simple Payments\/Summary\/SimplePaymentsSummaryViewModel.swift:4:1","import-Experiments-WooCommerce\/Classes\/ViewRelated\/Products\/Add Product\/AddProductWithAI\/Container\/AddProductWithAIContainerViewModel.swift:5:1","import-Experiments-WooCommerce\/Classes\/ViewRelated\/Products\/Add Product\/AddProductWithAI\/StartingInfo\/ProductCreationAIStartingInfoViewModel.swift:5:1","import-Experiments-WooCommerce\/Classes\/ViewRelated\/Products\/Edit Product\/ProductFormViewModel.swift:5:1","import-Experiments-WooCommerce\/Classes\/ViewRelated\/Products\/Scanner\/ProducBarcodeScannerCoordinator.swift:1:1","import-Experiments-WooCommerce\/Classes\/ViewRelated\/Upgrades\/StorePlanSynchronizer.swift:4:1","import-Experiments-WooCommerce\/Classes\/Yosemite\/DefaultStoresManager.swift:9:1","import-Hardware-Modules\/Sources\/Yosemite\/Model\/Payments\/StripeAccount+PaymentGatewayAccount.swift:1:1","import-Hardware-Modules\/Sources\/Yosemite\/Model\/Payments\/WCPayAccount+PaymentGatewayAccount.swift:1:1","import-Networking-Modules\/Sources\/Yosemite\/Actions\/AccountAction.swift:2:1","import-Networking-Modules\/Sources\/Yosemite\/Actions\/CommentAction.swift:2:1","import-Networking-Modules\/Sources\/Yosemite\/Actions\/GoogleAdsAction.swift:2:1","import-Networking-Modules\/Sources\/Yosemite\/Actions\/NotificationAction.swift:2:1","import-Networking-Modules\/Sources\/Yosemite\/Actions\/OrderAction.swift:3:1","import-Networking-Modules\/Sources\/Yosemite\/Actions\/OrderNoteAction.swift:2:1","import-Networking-Modules\/Sources\/Yosemite\/Actions\/OrderStatusAction.swift:2:1","import-Networking-Modules\/Sources\/Yosemite\/Actions\/ProductAttributeAction.swift:2:1","import-Networking-Modules\/Sources\/Yosemite\/Actions\/ProductAttributeTermAction.swift:2:1","import-Networking-Modules\/Sources\/Yosemite\/Actions\/ProductCategoryAction.swift:2:1","import-Networking-Modules\/Sources\/Yosemite\/Actions\/ProductReviewAction.swift:2:1","import-Networking-Modules\/Sources\/Yosemite\/Actions\/ProductShippingClassAction.swift:2:1","import-Networking-Modules\/Sources\/Yosemite\/Actions\/ProductTagAction.swift:2:1","import-Networking-Modules\/Sources\/Yosemite\/Actions\/ProductVariationAction.swift:2:1","import-Networking-Modules\/Sources\/Yosemite\/Actions\/RefundAction.swift:2:1","import-Networking-Modules\/Sources\/Yosemite\/Actions\/SettingAction.swift:2:1","import-Networking-Modules\/Sources\/Yosemite\/Actions\/ShipmentAction.swift:2:1","import-Networking-Modules\/Sources\/Yosemite\/Actions\/ShippingLabelAction.swift:2:1","import-Networking-Modules\/Sources\/Yosemite\/Actions\/StatsActionV4.swift:2:1","import-Networking-Modules\/Sources\/Yosemite\/Actions\/TaxAction.swift:2:1","import-Networking-Modules\/Sources\/Yosemite\/Actions\/TelemetryAction.swift:2:1","import-Networking-Modules\/Sources\/Yosemite\/Actions\/UserAction.swift:2:1","import-Networking-Modules\/Sources\/Yosemite\/Base\/DeauthenticatedStore.swift:2:1","import-Networking-Modules\/Sources\/Yosemite\/Model\/Mocks\/ActionHandlers\/MockCardPresentPaymentActionHandler.swift:3:1","import-Networking-Modules\/Sources\/Yosemite\/Model\/Mocks\/ActionHandlers\/MockCouponActionHandler.swift:3:1","import-Networking-Modules\/Sources\/Yosemite\/Model\/Mocks\/ActionHandlers\/MockOrderCardPresentPaymentEligibilityActionHandler.swift:3:1","import-Networking-Modules\/Sources\/Yosemite\/Model\/SystemInformation.swift:1:1","import-Networking-Modules\/Sources\/Yosemite\/Model\/WooPaymentsDepositsOverviewByCurrency.swift:3:1","import-Networking-Modules\/Sources\/Yosemite\/Tools\/Media\/MediaExport.swift:2:1","import-Networking-WooCommerce\/Classes\/ViewRelated\/Orders\/Order Creation\/PaymentSection\/Taxes\/SelectedStoredTaxRateFetcher.swift:3:1","import-Networking-WooCommerce\/Classes\/ViewRelated\/Search\/Order\/OrderSearchUICommand.swift:4:1","import-NetworkingCore-WooCommerce\/Woo Watch App\/App\/WooApp.swift:2:1","import-NetworkingCore-WooCommerce\/Woo Watch App\/ConnectView.swift:2:1","import-NetworkingCore-WooCommerce\/Woo Watch App\/MyStore\/MyStoreView.swift:2:1","import-NetworkingCore-WooCommerce\/Woo Watch App\/MyStore\/MyStoreViewModel.swift:3:1","import-NetworkingCore-WooCommerce\/Woo Watch App\/Orders\/OrderDetailLoader.swift:2:1","import-Storage-Modules\/Sources\/Yosemite\/Actions\/NotificationCountAction.swift:3:1","import-Storage-Modules\/Sources\/Yosemite\/Tools\/ReadOnlyConvertible.swift:2:1","import-Storage-Modules\/Sources\/Yosemite\/Tools\/ReadOnlyType.swift:2:1","import-Storage-WooCommerce\/Classes\/AppDelegate.swift:3:1","import-Storage-WooCommerce\/Classes\/ViewRelated\/Dashboard\/Settings\/In-Person Payments\/CardPresentPaymentsOnboardingIPPUsersRefresher.swift:3:1","import-Storage-WooCommerce\/Classes\/ViewRelated\/Orders\/Order Details\/Shipment Tracking Section\/Add Tracking\/ManualTrackingViewController.swift:4:1","import-WooFoundation-Modules\/Sources\/Networking\/Model\/ShippingLabel\/Packages\/PredefinedPackage\/WooShippingSavedPredefinedPackage.swift.swift:3:1","import-WooFoundation-Modules\/Sources\/Yosemite\/PointOfSale\/Items\/POSSimpleProduct.swift:2:1","import-WooFoundation-Modules\/Sources\/Yosemite\/Stores\/StatsStoreV4.swift:4:1","import-WooFoundation-WooCommerce\/Classes\/Analytics\/WooAnalyticsEvent+ProductCreationAI.swift:2:1","import-WooFoundation-WooCommerce\/Classes\/POS\/Analytics\/POSItemFetchAnalytics.swift:2:1","import-WooFoundation-WooCommerce\/Classes\/POS\/Presentation\/Barcode Scanner Setup\/PointOfSaleBarcodeScannerSetupFlowManager.swift:3:1","import-WooFoundation-WooCommerce\/Classes\/POS\/Presentation\/Item Selector\/PointOfSaleItemListAnalyticsTracker.swift:2:1","import-WooFoundation-WooCommerce\/Classes\/POS\/Presentation\/Reusable Views\/Buttons\/POSButtonProgressViewStyle.swift:2:1","import-WooFoundation-WooCommerce\/Classes\/POS\/Presentation\/Reusable Views\/POSProgressViewStyle.swift:2:1","import-WooFoundation-WooCommerce\/Classes\/POS\/Utils\/PreviewHelpers.swift:4:1","import-WooFoundation-WooCommerce\/Classes\/Tools\/In-Person Payments\/CardPresentConfigurationLoader.swift:3:1","import-WooFoundation-WooCommerce\/Classes\/ViewRelated\/Orders\/Order Details\/Receipts\/ReceiptEmail\/ReceiptEmailViewModel.swift:4:1","import-WooFoundation-WooCommerce\/Classes\/ViewRelated\/Orders\/Order Details\/Shipping Labels\/WooShipping Create Shipping Labels\/WooShipping Items Section\/WooShippingItemsDataSource.swift:4:1","import-WooFoundation-WooCommerce\/Classes\/ViewRelated\/Orders\/Order Details\/Shipping Labels\/WooShipping Create Shipping Labels\/WooShipping Split Shipments\/CollapsibleShipmentItemCardViewModel.swift:2:1","import-WooFoundation-WooCommerce\/Classes\/ViewRelated\/Orders\/Order Details\/Shipping Labels\/WooShipping Create Shipping Labels\/WooShipping Split Shipments\/SelectableShipmentItemRowViewModel.swift:2:1","import-WooFoundation-WooCommerce\/Classes\/ViewRelated\/Orders\/Order Details\/Subscriptions section\/OrderSubscriptionTableViewCell.swift:3:1","import-WooFoundation-WooCommerce\/Classes\/ViewRelated\/Orders\/OrderListViewController+Activity.swift:2:1","import-WooFoundation-WooCommerce\/Classes\/ViewRelated\/Orders\/Payment Methods\/Cash\/CashPaymentTenderView.swift:3:1","import-WooFoundation-WooCommerce\/Classes\/ViewRelated\/Products\/Add Product\/AddProductWithAI\/ImageSelection\/SelectPackageImageCoordinator.swift:4:1","import-WooFoundation-WooCommerce\/Classes\/ViewRelated\/Products\/Edit Product\/Subscription\/SubscriptionPeriod+UI.swift:3:1","import-WooFoundation-WooCommerce\/Classes\/ViewRelated\/Products\/ProductSelector\/ProductVariationSelectorViewModel.swift:5:1","import-WooFoundation-WooCommerce\/Classes\/ViewRelated\/Upgrades\/OwnerUpgradesView.swift:3:1","import-WooFoundationCore-WooCommerce\/Woo Watch App\/App\/Crash\/CrashLogging.swift:3:1","import-WooFoundationCore-WooCommerce\/Woo Watch App\/Dependencies\/PhoneDependenciesSynchronizer.swift:5:1","import-WooFoundationCore-WooCommerce\/Woo Watch App\/MyStore\/MyStoreViewModel.swift:4:1","import-WordPressShared-WooCommerce\/Classes\/Analytics\/TracksProvider.swift:4:1","import-WordPressShared-WooCommerce\/Classes\/Analytics\/WooAnalytics.swift:4:1","import-WordPressShared-WooCommerce\/Classes\/Analytics\/WooAnalyticsEvent+WooApp.swift:10:1","import-WordPressShared-WooCommerce\/Classes\/Analytics\/WooAnalyticsStat.swift:2:1","import-WordPressShared-WooCommerce\/Classes\/Authentication\/WebAuth\/WebProgressView.swift:3:1","import-WordPressShared-WooCommerce\/Classes\/Model\/StorageOrder+Woo.swift:2:1","import-WordPressShared-WooCommerce\/Classes\/ServiceLocator\/ServiceLocator.swift:8:1","import-WordPressShared-WooCommerce\/Classes\/ServiceLocator\/WordPressLibraryLogger.swift:2:1","import-WordPressShared-WooCommerce\/Classes\/ViewRelated\/Dashboard\/Settings\/About\/WooAboutScreenConfiguration.swift:4:1","import-WordPressShared-WooCommerce\/Classes\/ViewRelated\/Editor\/FormatBar\/Header+AztecFormatting.swift:4:1","import-WordPressShared-WooCommerce\/Classes\/ViewRelated\/Products\/Media\/WordPressMediaLibraryPickerDataSource.swift:3:1","import-WordPressShared-WooCommerce\/WordPressAuthenticator\/WordPressKit\/Services\/BlogServiceRemoteREST.m:6:1","import-WordPressShared-WooCommerce\/WordPressAuthenticator\/WordPressKit\/Services\/BlogServiceRemoteXMLRPC.m:5:1","import-WordPressShared-WooCommerce\/WordPressAuthenticator\/WordPressKit\/Services\/PostServiceRemoteREST.m:6:1","import-WordPressShared-WooCommerce\/WordPressAuthenticator\/WordPressKit\/Services\/PostServiceRemoteXMLRPC.m:7:1","import-WordPressShared-WooCommerce\/WordPressAuthenticator\/WordPressKit\/Services\/WordPressComServiceRemote.m:4:1","import-WordPressShared-WooCommerce\/WordPressAuthenticatorTests\/Logging\/LoggingTests.m:3:1","import-WordPressUI-WooCommerce\/Classes\/Authentication\/Navigation Exceptions\/NotWPErrorViewModel.swift:4:1","import-WordPressUI-WooCommerce\/Classes\/ViewModels\/Order Details\/OrderDetailsPaymentAlerts.swift:3:1","import-WordPressUI-WooCommerce\/Classes\/ViewRelated\/BottomSheet\/ListSelector\/BottomSheetListSelectorViewController.swift:2:1","import-WordPressUI-WooCommerce\/Classes\/ViewRelated\/Dashboard\/Settings\/CardReadersV2\/CardReaderSettingsAlerts.swift:3:1","import-WordPressUI-WooCommerce\/Classes\/ViewRelated\/Orders\/Collect Payments\/CollectOrderPaymentUseCase.swift:5:1","import-WordPressUI-WooCommerce\/Classes\/ViewRelated\/Products\/Categories\/ProductCategoryListViewController.swift:4:1","import-WordPressUI-WooCommerce\/Classes\/ViewRelated\/Products\/Edit Product\/Edit Tags\/ProductTagsViewController.swift:3:1","import-WordPressUI-WooCommerce\/Classes\/ViewRelated\/Products\/Edit Product\/Reviews\/ProductReviewsViewModel.swift:3:1","import-WordPressUI-WooCommerce\/Classes\/ViewRelated\/Products\/Variations\/Add Attributes\/AddAttributeViewController.swift:3:1","import-WordPressUI-WooCommerce\/Classes\/ViewRelated\/Products\/Variations\/Bulk Update\/BulkUpdateViewController.swift:3:1","import-WordPressUI-WooCommerce\/Classes\/ViewRelated\/Reviews\/ReviewsViewModel.swift:3:1","import-Yosemite-WooCommerce\/Classes\/Analytics\/AppStartupWaitingTimeTracker.swift:2:1","import-Yosemite-WooCommerce\/Classes\/Extensions\/UILabel+Helpers.swift:2:1","import-Yosemite-WooCommerce\/Classes\/GoogleAds\/GoogleAdsCampaignCoordinator.swift:3:1","import-Yosemite-WooCommerce\/Classes\/Universal Links\/Routes\/MyStoreRoute.swift:2:1","import-Yosemite-WooCommerce\/Classes\/Universal Links\/Routes\/OrderDetailsRoute.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewModels\/CardPresentPayments\/CardPresentModalBluetoothRequired.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewModels\/CardPresentPayments\/CardPresentModalConnectingFailedChargeReader.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewModels\/CardPresentPayments\/CardPresentModalConnectingFailedUpdatePostalCode.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewModels\/CardPresentPayments\/CardPresentModalConnectionFailedUpdateAddress.swift:3:1","import-Yosemite-WooCommerce\/Classes\/ViewModels\/CardPresentPayments\/CardPresentModalDisplayMessage.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewModels\/CardPresentPayments\/CardPresentModalScanningFailed.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Blaze\/ConfirmPayment\/BlazeAddPaymentMethodWebViewModel.swift:3:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/CardPresentPayments\/LegacyReceiptViewController.swift:4:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Dashboard\/JetpackConnectionPackageSites\/JetpackBenefitsView.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Dashboard\/Settings\/Beta features\/BetaFeaturesConfiguration.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Dashboard\/Settings\/CardReadersV2\/CardReaderConnectionAlertsProviding.swift:3:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Dashboard\/Settings\/CardReadersV2\/CardReaderSettingsAlertsProvider.swift:3:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Dashboard\/Settings\/CardReadersV2\/CardReaderSettingsDataSource.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Dashboard\/Settings\/CardReadersV2\/CardReaderSettingsSearchingViewController.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Dashboard\/Settings\/CardReadersV2\/SetUpTapToPayInformationViewController.swift:208:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Dashboard\/Settings\/CardReadersV2\/SetUpTapToPayOnboardingViewController.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Editor\/EditorFactory.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Editor\/FormatBar\/LinkSettings\/LinkSettingsViewController.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Orders\/Cells\/OrderTableViewCell.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Orders\/Order Creation\/CollapsibleOrderFormCard.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Orders\/Order Creation\/PaymentSection\/FeeOrDiscountLineDetailsViewModel.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Orders\/Order Creation\/PaymentSection\/GiftCardInputViewModel.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Orders\/Order Creation\/ProductsSection\/ConfigurableVariableBundleAttributePicker.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Orders\/Order Creation\/ProductsSection\/ProductDiscountView.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Orders\/Order Creation\/StatusSection\/OrderStatusSection.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Orders\/Order Details\/AddOns\/OrderAddOnsListViewController.swift:3:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Orders\/Order Details\/Issue Refunds\/Cells\/RefundProductsTotalViewModel.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Orders\/Order Details\/Issue Refunds\/UseCases\/RefundItemsValuesCalculationUseCase.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Orders\/Order Details\/Order Summary Section\/Edit Order Status\/OrderStatusListViewController.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Orders\/Order Details\/Order Summary Section\/SummaryTableViewCell.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Orders\/Order Details\/Payment Section\/Refunds\/RefundDetailsViewController.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Orders\/Order Details\/Product List Section\/Product Details\/PickListTableViewCell.swift:3:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Orders\/Order Details\/Product List Section\/ProductDetailsTableViewCell.swift:3:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Orders\/Order Details\/Receipts\/ReceiptEmail\/ReceiptEmailView.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Orders\/Order Details\/Shipping Labels\/Create Shipping Label Form\/Package Details\/Package Selection\/ShippingLabelPackageList.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Orders\/Order Details\/Shipping Labels\/WooShipping Create Shipping Labels\/WooShipping Customs\/WooShippingCustomsForm.swift:3:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Orders\/Order Details\/Shipping Labels\/WooShipping Create Shipping Labels\/WooShipping Customs\/WooShippingCustomsRequirements.swift:1:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Orders\/Order Details\/Shipping Labels\/WooShipping Create Shipping Labels\/WooShipping Customs\/WooShippingCustomsRow.swift:3:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Orders\/Order Details\/Shipping Labels\/WooShipping Create Shipping Labels\/WooShipping Split Shipments\/CollapsibleShipmentItemCard.swift:1:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Orders\/Order Details\/Shipping Labels\/WooShipping Create Shipping Labels\/WooShipping Split Shipments\/CollapsibleShipmentItemCardViewModel.swift:3:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Orders\/Order Details\/Shipping Labels\/WooShipping Create Shipping Labels\/WooShipping Split Shipments\/SelectableShipmentItemRow.swift:1:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Orders\/Order Details\/Shipping Labels\/WooShipping Create Shipping Labels\/WooShipping Split Shipments\/SelectableShipmentItemRowViewModel.swift:3:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Orders\/Order Details\/Shipping Labels\/WooShipping Create Shipping Labels\/WooShipping Split Shipments\/WooShippingSplitShipmentsRow.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Orders\/Order Details\/Subscriptions section\/OrderSubscriptionTableViewCell.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Products\/Add Product\/FirstProductCreated\/FirstProductCreatedViewModel.swift:3:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Products\/Categories\/ProductCategoryListViewController.swift:3:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Products\/Edit Product\/BottomSheetListSelector\/ProductFormBottomSheetAction.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Products\/Edit Product\/BottomSheetListSelector\/ProductFormBottomSheetListSelectorCommand.swift:1:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Products\/Edit Product\/BottomSheetListSelector\/ProductTypeBottomSheetListSelectorCommand.swift:1:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Products\/Edit Product\/Downloadable Files\/File List\/BottomSheetListSelector\/DownloadableFileBottomSheetListSelectorCommand.swift:1:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Products\/Edit Product\/Downloadable Files\/File List\/BottomSheetListSelector\/DownloadableFileSource.swift:3:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Products\/Edit Product\/Downloadable Files\/Settings\/ProductDownloadSettingsViewModel.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Products\/Edit Product\/Edit Categories\/Add Category\/AddEditProductCategoryViewController.swift:3:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Products\/Edit Product\/Edit Price\/Bulk Edit Price\/BulkUpdatePriceViewController.swift:3:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Products\/Edit Product\/Linked Products\/LinkedProductsViewController.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Products\/Edit Product\/Linked Products\/LinkedProductsViewModel.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Products\/PriceInputViewController.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Products\/PriceInputViewModel.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Products\/ProductsSplitViewWrapperController.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Products\/Variations\/Bulk Update\/BulkUpdateViewController.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Products\/Variations\/Edit Attributes\/RenameAttributesViewController.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Products\/Variations\/Edit Attributes\/RenameAttributesViewModel.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Products\/Variations\/GenerateVariationsOptionPresenter.swift:3:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Products\/Variations\/ProductsTabProductViewModel+ProductVariation.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/ReusableViews\/SwiftUI Components\/ReportList.swift:2:1","import-Yosemite-WooCommerce\/Classes\/ViewRelated\/Top Banner\/ErrorTopBannerFactory.swift:2:1","param-altText-uploadMedia(siteID:productID:altText:uploadableMedia:shouldRemoveFileUponCompletion:onCompletion:)-s:8Yosemite10MediaStoreC06uploadB0028_1FA93E108A56F3D874C12216F14H3CFCLL6siteID07productN07altText010uploadableB030shouldRemoveFileUponCompletion02onW0ys5Int64V_AMSSSg10Networking010UploadableB0VSbys6ResultOyAO0B0Vs5Error_pGctF","param-animations-startForwardingContentEvents(to:with:)-s:8Yosemite17ResultsControllerC11WooCommerceE28startForwardingContentEvents33_B67F1DDE16B1959152AC062605FC5A2DLL2to4withySo11UITableViewC_AD0B15TableAnimationsVtF","param-asset-exportGIF(forAsset:resource:)-s:8Yosemite18MediaAssetExporterC9exportGIF33_E1F6E159F858728B8D57002A63F84F23LL03forC08resource10Networking010UploadableB0VSo7PHAssetC_So0T8ResourceCtYaKF","param-automaticPayouts-init(currency:automaticPayouts:payoutInterval:pendingBalanceAmount:pendingPayoutDays:lastPayout:availableBalance:)-s:8Yosemite36WooPaymentsPayoutsOverviewByCurrencyV8currency09automaticD014payoutInterval20pendingBalanceAmount0L10PayoutDays04lastO009availableM0AC0B14FoundationCore0G4CodeO_Sb10Networking0bcoK0OSo15NSDecimalNumberCSiAC04LastO0VSgARtcfc","param-bundledItems-init(id:name:formattedPrice:productImageSource:productID:price:productType:bundledItems:manageStock:stockQuantity:stockStatusKey:)-s:8Yosemite16POSSimpleProductV2id4name14formattedPrice18productImageSource0H2ID5price0H4Type12bundledItems11manageStock13stockQuantity0R9StatusKeyAC10Foundation4UUIDV_S3SSgs5Int64VSS10Networking0cM0OSayAU0C10BundleItemVGSbSo9NSDecimalaSgSStcfc","param-button-onButtonTap(_:)-s:11WooCommerce27LabelAndButtonTableViewCellC02onE3Tap33_280C26A87F4907429849B994A585D94BLLyySo8UIButtonCF","param-cellType-init(storeID:command:cellType:cellSeparator:selectedObject:isSelectedObject:)-s:11WooCommerce20SearchViewControllerC7storeID7command8cellType0I9Separator14selectedObject010isSelectedM0ACyxq_Gs5Int64V_q_xmSo07UITabled4CellK5StyleV7Combine12AnyPublisherVy5ModelQy_Sgs5NeverOGSgSb07ResultseW0Qy__ATtcSgtcfc","param-change-didPan(on:change:)-s:11WordPressUI28DrawerPresentationControllerC6didPan33_656B9AE5B5AF76FC12E635F91F5E2A97LL2on6changeySo12UIScrollViewC_10Foundation24NSKeyValueObservedChangeVySo7CGPointVGtF","param-collectionView-configure(collectionView:_:for:at:)-s:11WooCommerce37ProductImagesCollectionViewDataSourceC9configure33_02AB90FF1650250204DF0DAC4C3B1326LL010collectionF0_3for2atySo012UICollectionF0C_So0sF4CellCAA0cD4ItemO10Foundation9IndexPathVtF","param-comment-AppLocalizedString(_:tableName:value:comment:)-s:11WooCommerce18AppLocalizedString_9tableName5value7commentS2S_SSSgAFSStF-s:13Woo_Watch_App0C15LocalizedString_9tableName5value7commentS2S_SSSgAFSStF","param-context-startObservingChangeNotifications(in:)-s:8Yosemite14EntityListenerC33startObservingChangeNotifications33_54708F9C334A3EB98A7A6CA91CA9A074LL2inypSo22NSManagedObjectContextC_tF","param-currencySettings-init(siteID:currencySettings:settingStoreMethods:storage:)-s:8Yosemite24PointOfSaleCouponServiceC6siteID16currencySettings19settingStoreMethods7storageACs5Int64V_17WooFoundationCore08CurrencyJ0CAA07SettinglM8Protocol_p7Storage0V11ManagerType_ptcfc","param-currencySettings-init(siteID:flow:orderSynchronizer:analytics:storageManager:stores:currencySettings:)-s:11WooCommerce34EditableOrderShippingLineViewModelC6siteID4flow17orderSynchronizer9analytics14storageManager6stores16currencySettingsACs5Int64V_AA0cdgH0C4FlowOAA0dM0_p0A10Foundation9Analytics_p7Storage0xP4Type_p8Yosemite06StoresP0_p0aV4Core08CurrencyS0Ctcfc","param-currencySettings-productDetails(product:presentationStyle:currencySettings:isEditProductsEnabled:productImageUploader:onDeleteCompletion:)-s:11WooCommerce21ProductDetailsFactoryV07productD033_69797BA7E4652B41ADE47D1CA0E24D3DLL0F017presentationStyle16currencySettings21isEditProductsEnabled0F13ImageUploader18onDeleteCompletionSo16UIViewControllerC10Networking0C0V_AA0c16FormPresentationP0O0A14FoundationCore08CurrencyR0CSbAA0cwX8Protocol_pyyctFZ","param-currencySettings-productVariationDetails(productVariation:parentProduct:presentationStyle:currencySettings:isEditProductsEnabled:productImageUploader:)-s:11WooCommerce30ProductVariationDetailsFactoryV07productdE033_B52468A3AF98158A860FECFA326D4AB1LL0gD006parentC017presentationStyle16currencySettings21isEditProductsEnabled0G13ImageUploaderSo16UIViewControllerC10Networking0cD0V_AN0C0VAA0c16FormPresentationQ0O0A14FoundationCore08CurrencyS0CSbAA0cxY8Protocol_ptFZ","param-customsForms-displayCustomsFormListVC(customsForms:)-s:11WooCommerce31ShippingLabelFormViewControllerC014displayCustomsE6ListVC33_ECF67928DC457E518532C97349049B87LL12customsFormsySay10Networking0cdiE0VG_tF","param-date-setInstallationDateIfNecessary(date:onCompletion:)-s:8Yosemite28MockAppSettingsActionHandlerV30setInstallationDateIfNecessary4date12onCompletiony10Foundation0I0V_ys6ResultOySbs5Error_pGXEtF","param-daysOld-createProductReview(product:customer:daysOld:status:text:rating:verified:)-s:8Yosemite15MockObjectGraphPAAE19createProductReview7product8customer7daysOld6status4text6rating8verified10Networking0fG0VAL0F0V_AA0B8CustomerVSiAL0fG6StatusOSSSiSbtFZ","param-debounceDuration-init(siteURL:requiresConnectionOnly:allowAccountCreation:debounceDuration:accountService:analytics:onPasswordUIRequest:onMagicLinkRequest:onMagicLinkSent:onError:)-s:11WooCommerce24WPComEmailLoginViewModelC7siteURL22requiresConnectionOnly20allowAccountCreation16debounceDuration14accountService9analytics19onPasswordUIRequest0U16MagicLinkRequest0uxY4Sent0U5ErrorACSS_S2bSdAA012WordPressComnS8Protocol_p0A10Foundation9Analytics_pySScySScySS_SbtcySSctcfc","param-defaultStoreID-registerDevice(device:applicationId:applicationVersion:defaultStoreID:completion:)-s:10Networking13DevicesRemoteC14registerDevice6device13applicationId0G7Version14defaultStoreID10completionyAA10APNSDeviceV_S2Ss5Int64VyAA06DotcomE0VSg_s5Error_pSgtctF","param-endDate-timeRangeText(startDate:endDate:selectedDate:timezone:)-s:8Yosemite16StatsTimeRangeV4O11WooCommerceE04timeD4Text33_19FD9AA1037FF332CFC8923FEEBF6F43LL9startDate03endQ008selectedQ08timezoneSS10Foundation0Q0V_A2mK0C4ZoneVtF","param-error-displayNotice(with:)-s:11WooCommerce32RefundConfirmationViewControllerC13displayNotice33_AB87E696E297B2CCCC43B6166AEAB8CCLL4withys5Error_p_tF","param-error-handleBarcodeDetectionResults(request:error:completion:)-s:11WooCommerce25CodeScannerViewControllerC29handleBarcodeDetectionResults33_DD70120A858296E44B03E16CF9993540LL7request5error10completionySo9VNRequestC_s5Error_pSgys6ResultOySayAA07ScannedH0VGsAK_pGctF","param-error-handlePreflightFailure(error:)-s:11WooCommerce37CardPresentPaymentPreflightControllerC06handleF7Failure33_888C7FBF1BC3DCE6A9CC3389C08B998ALL5errorys5Error_p_tF","param-error-handleTextDetectionResults(request:error:completion:)-s:11WooCommerce25CodeScannerViewControllerC26handleTextDetectionResults33_DD70120A858296E44B03E16CF9993540LL7request5error10completionySo9VNRequestC_s5Error_pSgys6ResultOySaySSGsAK_pGctF","param-error-onCameraCaptureCompletion(asset:error:)-s:11WooCommerce28BlazeEditAdHostingControllerC25onCameraCaptureCompletion33_473977D43FFDC0DB451F8498539D8F13LL5asset5errorAA16MediaPickerImageVSgSo7PHAssetCSg_s5Error_pSgtYaF","param-error-presentNotice(_:)-s:11WooCommerce31ShipmentProvidersViewControllerC13presentNotice33_1D3135596F92F37301E2B100299E0343LLyys5Error_pF","param-error-updateProductImageStatus(at:error:)-s:11WooCommerce18ProductImagesSaverC06updateC11ImageStatus33_EC18549AA9B079EE69E12258568EF2EDLL2at5errorySi_s5Error_pSgtF","param-events-init(sender:events:closure:)-s:11WordPressUI25BarButtonItemEventHandler33_8BC01A9E94FC62E78E47F267D2380927LLC6sender6events7closureADyxGx_So15UIControlEventsVyxctcfc","param-feature-isFeatureEnabled(_:)-s:11WooCommerce31ProductFormAIEligibilityCheckerC16isFeatureEnabledySbAA0cD9AIFeatureOF","param-featureFlagService-init(viewController:containerView:siteID:onLayoutUpdated:featureFlagService:stores:storePlanSynchronizer:connectivityObserver:inAppPurchasesManager:)-s:11WooCommerce24StorePlanBannerPresenterC14viewController13containerView6siteID15onLayoutUpdated18featureFlagService6stores05storeD12Synchronizer20connectivityObserver21inAppPurchasesManagerACSo06UIViewH0C_So6UIViewCs5Int64Vy14CoreFoundation7CGFloatVc11Experiments07FeatureqR0_p8Yosemite13StoresManager_pAA0cD13Synchronizing_p0A10Foundation012ConnectivityW0_pAA02InyZ21ForWPComPlansProtocol_ptcfc","param-featureFlagService-init(viewController:containerView:siteID:onLayoutUpdated:featureFlagService:stores:storePlanSynchronizer:connectivityObserver:inAppPurchasesManager:)-s:11WooCommerce24StorePlanBannerPresenterC14viewController13containerView6siteID15onLayoutUpdated18featureFlagService6stores05storeD12Synchronizer20connectivityObserver21inAppPurchasesManagerACSo06UIViewH0C_So6UIViewCs5Int64Vy14CoreFoundation7CGFloatVc11Experiments07FeatureqR0_p8Yosemite13StoresManager_pAA0cD13Synchronizing_pAA012ConnectivityW0_pAA02InyZ21ForWPComPlansProtocol_ptcfc","param-featureFlags-init(coupon:stores:currencySettings:featureFlags:onUpdate:onDeletion:)-s:11WooCommerce22CouponDetailsViewModelC6coupon6stores16currencySettings12featureFlags8onUpdate0M8DeletionAC10Networking0C0V_8Yosemite13StoresManager_p0A14FoundationCore08CurrencyJ0C11Experiments18FeatureFlagService_pyycyyctcfc","param-featureFlags-init(siteID:syncingCoordinator:storesManager:storageManager:featureFlags:)-s:11WooCommerce19CouponListViewModelC6siteID18syncingCoordinator13storesManager07storageL012featureFlagsACs5Int64V_AA07SyncingJ8Protocol_p8Yosemite06StoresL0_p7Storage0uL4Type_p11Experiments18FeatureFlagService_ptcfc","param-filter-synchronizeProductReviews(filter:)-s:11WooCommerce29ReviewsDashboardCardViewModelC018synchronizeProductC033_1387F0BD9B70C84619BF36F4DA81452ELL6filterSay10Networking0I6ReviewVGAC0C6FilterOSg_tYaKF","param-forceRefresh-loadTopEarnerStats(siteID:timeRange:timeZone:earliestDateToInclude:latestDateToInclude:quantity:forceRefresh:)-s:8Yosemite12StatsStoreV4C013loadTopEarnerB033_B88F7F6EF90D88405A6DDDC84E0EE525LL6siteID9timeRange0S4Zone21earliestDateToInclude06latestwxY08quantity12forceRefresh10Networking0fgB0Vs5Int64V_AA0b4TimetD0O10Foundation04TimeU0VAT0W0VAXSiSbtYaKF","param-forceRefresh-retrieveTopBundlesSoldStats(earliestDateToInclude:latestDateToInclude:forceRefresh:)-s:11WooCommerce21AnalyticsHubViewModelC27retrieveTopBundlesSoldStats33_A7D0CDE72EC097ED0463DB9A2816F3A5LL21earliestDateToInclude06latestvwX012forceRefreshSay10Networking18ProductsReportItemVG10Foundation0V0V_AOSbtYaKF","param-formatter-init(order:packagesResponse:selectedPackages:onSelectionCompletion:onPackageSyncCompletion:formatter:stores:storageManager:weightUnit:)-s:11WooCommerce34ShippingLabelPackagesFormViewModelC5order16packagesResponse08selectedE021onSelectionCompletion0m11PackageSyncO09formatter6stores14storageManager10weightUnitAC14NetworkingCore5OrderV_0X00cdeK0VSgSayAA0cdP10AttributesVGyAVcyASc0a10FoundationY017CurrencyFormatterC8Yosemite06StoresU0_p7Storage07StorageU4Type_pSSSgtcfc","param-from-updatingFailed(from:tryAgain:close:)-s:11WooCommerce24CardReaderSettingsAlertsC14updatingFailed33_3D4FC0D8856D146DD34DB8919093B383LL4from8tryAgain5closeAA0C36PresentPaymentsModalViewModelContent_AA0ctuvwX12UIKitActionspSo16UIViewControllerC_yycSgyyctF","param-from-updatingFailedLowBattery(from:batteryLevel:retrySearch:close:)-s:11WooCommerce24CardReaderSettingsAlertsC24updatingFailedLowBattery33_3D4FC0D8856D146DD34DB8919093B383LL4from12batteryLevel11retrySearch5closeAA0C36PresentPaymentsModalViewModelContent_AA0cxyZ21ViewModelUIKitActionspSo16UIViewControllerC_SdSgyycyyctF","param-gatewayID-createPaymentGatewayAccount(gatewayID:status:hasPendingRequirements:hasOverdueRequirements:currentDeadline:statementDescriptor:defaultCurrency:supportedCurrencies:country:isCardPresentEligible:isLive:isInTestMode:)-s:8Yosemite15MockObjectGraphPAAE27createPaymentGatewayAccount9gatewayID6status22hasPendingRequirements0l7OverdueN015currentDeadline19statementDescriptor15defaultCurrency19supportedCurrencies7country21isCardPresentEligible0Y4Live0Y10InTestMode10Networking0fgH0VSS_AQ05WCPayH10StatusEnumOS2b10Foundation4DateVSgS2SSaySSGSSS3btFZ","param-gesture-dismiss(_:)-s:11WordPressUI28DrawerPresentationControllerC7dismiss33_656B9AE5B5AF76FC12E635F91F5E2A97LLyySo22UIPanGestureRecognizerCF","param-id-createPurchasableItem(id:from:)-s:11WooCommerce4CartV21createPurchasableItem33_F1541DFADE490B35E71C665AC10DE105LL2id4fromAC0eF0VSg10Foundation4UUIDV_8Yosemite7POSItemOtF","param-index-handleSelectedChartValue(at:)-s:11WooCommerce25StorePerformanceViewModelC24handleSelectedChartValue33_2B5DA0F3BADF3060315151FBB2CB9095LL2atySiSg_tF","param-indexPath-configure(_:at:)-s:11WooCommerce24PriceInputViewControllerC9configure33_7158D1FFA073787E2F32B6BA332CE3EALL_2atySo07UITableE4CellC_10Foundation9IndexPathVtF","param-indexPath-configure(_:at:)-s:11WooCommerce29BulkUpdatePriceViewControllerC9configure026_5D10A36721FEA7B1C0CFEE3D2O5C5959LL_2atySo07UITableF4CellC_10Foundation9IndexPathVtF","param-indexPath-configure(_:for:at:)-s:11WooCommerce24BulkUpdateViewControllerC9configure33_CEFE4F43BBC4A91F3381FD709B3986D8LL_3for2atySo07UITableE4CellC_AC3RowO10Foundation9IndexPathVtF","param-indexPath-configure(_:for:at:)-s:11WooCommerce25ProductSlugViewControllerC9configure33_E9EEB830C2DC65EDF85E2ABBC1281535LL_3for2atySo07UITableE4CellC_AC3RowAELLO10Foundation9IndexPathVtF","param-indexPath-configure(_:for:at:)-s:11WooCommerce26LinkSettingsViewControllerC9configure33_538830D35B9309E5187F94F56440EECFLL_3for2atySo07UITableE4CellC_AC3RowAELLO10Foundation9IndexPathVtF","param-indexPath-configure(_:for:at:)-s:11WooCommerce28HelpAndSupportViewControllerC9configure33_FB27841256F66937FB6060C9A1DC2C56LL_3for2atySo07UITableF4CellC_AA0cdE3RowO10Foundation9IndexPathVtF","param-indexPath-configure(_:for:at:)-s:11WooCommerce28LinkedProductsViewControllerC9configure33_7AF155FBB71DF7DE153BB6561ECA6E04LL_3for2atySo07UITableE4CellC_AC3RowO10Foundation9IndexPathVtF","param-indexPath-configure(_:for:at:)-s:11WooCommerce28ManualTrackingViewControllerC9configure33_8D02DCF1AF17D12681D42985174C5B05LL_3for2atySo07UITableE4CellC_AA07AddEditD3RowO10Foundation9IndexPathVtF","param-indexPath-configure(_:for:at:)-s:11WooCommerce29DateRangeFilterViewControllerC9configure33_C969362F2A97F1B7CCA30E75A0C73629LL_3for2atySo07UITableF4CellC_AC3RowAELLO10Foundation9IndexPathVtF","param-indexPath-configure(_:for:at:)-s:11WooCommerce29PrivacySettingsViewControllerC9configure33_FDF446E3D9460D206396ED7065007803LL_3for2atySo07UITableE4CellC_AA3RowAELLO10Foundation9IndexPathVtF","param-indexPath-configure(_:for:at:)-s:11WooCommerce30OrderDatesFilterViewControllerC9configure33_2B163FB7BE87AF9DB0CFBB1A897AB40BLL_3for2atySo07UITableF4CellC_8Yosemite0c9DateRangeE0V10Foundation9IndexPathVtF","param-indexPath-configure(_:for:at:)-s:11WooCommerce30ProductMenuOrderViewControllerC9configure33_9FD83E7B0A44D83DC3905CE7B97CD2FDLL_3for2atySo07UITableF4CellC_AC3RowAELLO10Foundation9IndexPathVtF","param-indexPath-configure(_:for:at:)-s:11WooCommerce30RenameAttributesViewControllerC9configure33_1B11D9141E14A9ADFA7866C0ED7360A3LL_3for2atySo07UITableE4CellC_AC3RowAELLO10Foundation9IndexPathVtF","param-indexPath-configure(_:for:at:)-s:11WooCommerce31OrderStatusFilterViewControllerC9configure33_64181EBDEB9BE07130A0E8D5BF93101FLL_3for2atySo07UITableF4CellC_AC3RowAELLO10Foundation9IndexPathVtF","param-indexPath-configure(_:for:at:)-s:11WooCommerce31ShippingLabelFormViewControllerC9configure33_ECF67928DC457E518532C97349049B87LL_3for2atySo07UITableF4CellC_AC3RowV10Foundation9IndexPathVtF","param-indexPath-configure(_:for:at:)-s:11WooCommerce33ProductDownloadFileViewControllerC9configure33_A31C452EC7850B8C92ADC04838426F82LL_3for2atySo07UITableF4CellC_AC3RowO10Foundation9IndexPathVtF","param-indexPath-configure(_:for:at:)-s:11WooCommerce33ProductExternalLinkViewControllerC9configure33_B3261E578C8DE22B0406D9F518F567F2LL_3for2atySo07UITableF4CellC_AC3RowAELLO10Foundation9IndexPathVtF","param-indexPath-configure(_:for:at:)-s:11WooCommerce33ProductPurchaseNoteViewControllerC9configure33_E24E63166C7F0F67B0391C86168AC02CLL_3for2atySo07UITableF4CellC_AC3RowAELLO10Foundation9IndexPathVtF","param-indexPath-configure(_:for:at:)-s:11WooCommerce33SeveralReadersFoundViewControllerC9configure33_D712A2AD3A1E71D1939C49B33BD46D0DLL_3for2atySo07UITableF4CellC_AA3RowAELLO10Foundation9IndexPathVtF","param-indexPath-configure(_:for:at:)-s:11WooCommerce34ProductPriceSettingsViewControllerC9configure33_7D171824E5D5A9D060478F9700E54F7BLL_3for2atySo07UITableF4CellC_AC3RowO10Foundation9IndexPathVtF","param-indexPath-configure(_:for:at:)-s:11WooCommerce36AddEditProductCategoryViewControllerC9configure33_E316289220CBB023DD3D8814FA48F704LL_3for2atySo07UITableG4CellC_AC3RowAELLO10Foundation9IndexPathVtF","param-indexPath-configure(_:for:at:)-s:11WooCommerce37ProductDownloadSettingsViewControllerC9configure33_4643B5329648BD7622E246A9836F38A3LL_3for2atySo07UITableF4CellC_AC3RowO10Foundation9IndexPathVtF","param-indexPath-configure(_:for:at:)-s:11WooCommerce37ProductShippingSettingsViewControllerC9configure33_9D35C5D15CA8624796D30DE24AC54907LL_3for2atySo07UITableF4CellC_AC3RowO10Foundation9IndexPathVtF","param-indexPath-configure(_:for:at:)-s:11WooCommerce38ProductInventorySettingsViewControllerC9configure33_963EC44C7B710FF18CA47822A3972F23LL_3for2atySo07UITableF4CellC_AC3RowO10Foundation9IndexPathVtF","param-indexPath-configure(_:for:at:)-s:11WooCommerce38ShippingLabelAddressFormViewControllerC9configure33_A493AAB1F74022D7790D20E9A85E182BLL_3for2atySo07UITableG4CellC_AC3RowO10Foundation9IndexPathVtF","param-indexPath-configure(_:for:at:)-s:11WooCommerce41CardReaderSettingsConnectedViewControllerC9configure33_B5F638207B2DB02507DC604E4CB31BE6LL_3for2atySo07UITableG4CellC_AA3RowAELLO10Foundation9IndexPathVtF","param-indexPath-configure(_:for:at:)-s:11WooCommerce43ShippingLabelSuggestedAddressViewControllerC9configure33_6B377CC7204358DE99C0A98E116CEE29LL_3for2atySo07UITableG4CellC_AC3RowO10Foundation9IndexPathVtF","param-indexPath-configureAttributionCampaign(cell:at:)-s:11WooCommerce22OrderDetailsDataSourceC28configureAttributionCampaign33_1C4484147E2B3D95ED75188E1F29F27DLL4cell2atyAA26TitleAndValueTableViewCellC_10Foundation9IndexPathVtF","param-indexPath-configureAttributionDeviceType(cell:at:)-s:11WooCommerce22OrderDetailsDataSourceC30configureAttributionDeviceType33_1C4484147E2B3D95ED75188E1F29F27DLL4cell2atyAA26TitleAndValueTableViewCellC_10Foundation9IndexPathVtF","param-indexPath-configureAttributionMedium(cell:at:)-s:11WooCommerce22OrderDetailsDataSourceC26configureAttributionMedium33_1C4484147E2B3D95ED75188E1F29F27DLL4cell2atyAA26TitleAndValueTableViewCellC_10Foundation9IndexPathVtF","param-indexPath-configureAttributionOrigin(cell:at:)-s:11WooCommerce22OrderDetailsDataSourceC26configureAttributionOrigin33_1C4484147E2B3D95ED75188E1F29F27DLL4cell2atyAA26TitleAndValueTableViewCellC_10Foundation9IndexPathVtF","param-indexPath-configureAttributionSessionPageViews(cell:at:)-s:11WooCommerce22OrderDetailsDataSourceC36configureAttributionSessionPageViews33_1C4484147E2B3D95ED75188E1F29F27DLL4cell2atyAA26TitleAndValueTableViewCellC_10Foundation9IndexPathVtF","param-indexPath-configureAttributionSource(cell:at:)-s:11WooCommerce22OrderDetailsDataSourceC020configureAttributionF033_1C4484147E2B3D95ED75188E1F29F27DLL4cell2atyAA26TitleAndValueTableViewCellC_10Foundation9IndexPathVtF","param-indexPath-configureAttributionSourceType(cell:at:)-s:11WooCommerce22OrderDetailsDataSourceC020configureAttributionF4Type33_1C4484147E2B3D95ED75188E1F29F27DLL4cell2atyAA26TitleAndValueTableViewCellC_10Foundation9IndexPathVtF","param-indexPath-configureCreateShippingLabelButton(cell:at:)-s:11WooCommerce22OrderDetailsDataSourceC34configureCreateShippingLabelButton33_1C4484147E2B3D95ED75188E1F29F27DLL4cell2atyAA0K13TableViewCellC_10Foundation9IndexPathVtF","param-indexPath-configureProductsRefund(_:at:)-s:11WooCommerce23RefundDetailsDataSourceC017configureProductsC033_72A5AD552A42813047B20449413994E1LL_2atyAA19LedgerTableViewCellC_10Foundation9IndexPathVtF","param-indexPath-configureRefundAmount(_:at:)-s:11WooCommerce23RefundDetailsDataSourceC09configureC6Amount33_72A5AD552A42813047B20449413994E1LL_2atyAA38TwoColumnHeadlineFootnoteTableViewCellC_10Foundation9IndexPathVtF","param-indexPath-configureTrashOrder(cell:at:)-s:11WooCommerce22OrderDetailsDataSourceC014configureTrashC033_1C4484147E2B3D95ED75188E1F29F27DLL4cell2atyAA0A18BasicTableViewCellC_10Foundation9IndexPathVtF","param-indexPath-setup(cell:for:at:)-s:11WooCommerce32BillingInformationViewControllerC5setup33_97007C8ACF83414046C93061D9B092ACLL4cell3for2atySo07UITableE4CellC_AA3RowAELLO10Foundation9IndexPathVtF","param-inputMethods-init(name:amount:transactionType:inputMethods:)-s:11WooCommerce48CardPresentModalTapToPayFollowReaderInstructionsC4name6amount15transactionType12inputMethodsACSS_SSAA0cd11TransactionO0O8Hardware0cJ5InputVtcfc","param-isEnabled-iconStyle(_:)-s:7SwiftUI4ViewP13WooFoundationE9iconStyleyQrSbF","param-isReadOnlyValue-init(viewModel:isReadOnlyValue:)-s:11WooCommerce21CustomFieldEditorViewV9viewModel15isReadOnlyValueAcA0cdefH0C_Sbtcfc","param-isValid-handleGlobalUniqueIdentifierValidation(isValid:shouldBringUpKeyboard:)-s:11WooCommerce38ProductInventorySettingsViewControllerC38handleGlobalUniqueIdentifierValidation33_963EC44C7B710FF18CA47822A3972F23LL7isValid21shouldBringUpKeyboardySb_SbtF","param-isValid-handleSKUValidation(isValid:shouldBringUpKeyboard:)-s:11WooCommerce38ProductInventorySettingsViewControllerC19handleSKUValidation33_963EC44C7B710FF18CA47822A3972F23LL7isValid21shouldBringUpKeyboardySb_SbtF","param-items-listView(_:itemListType:)-s:11WooCommerce12ItemListViewV04listE033_598BABBDFA0A2F354CBF3BC624FFDFE3LL_04itemD4TypeQrSay8Yosemite7POSItemOG_AA0cdN0OtF","param-labelID-handleLabelRefundRequested(labelID:in:)-s:11WooCommerce0A29ShippingCreateLabelsViewModelC26handleLabelRefundRequested33_FCFF992D401D26D98A9A0BDEE9910FCCLL7labelID2inys5Int64V_AA0ac14SplitShipmentsfG0C8ShipmentVtF","param-lineColor-configureChartData(for:data:lineColor:)-s:11WooCommerce18AnalyticsLineChartV09configureE4Data3for4data9lineColory8DGCharts0dE4ViewC_SaySdGSo7UIColorCtF","param-locale-init(scenario:stores:timeZone:locale:userInfo:)-s:11WooCommerce17LocalNotificationV8scenario6stores8timeZone6locale8userInfoA2C8ScenarioO_8Yosemite13StoresManager_p10Foundation04TimeH0VAM6LocaleVSDys11AnyHashableVypGtcfc","param-locale-toString(dateStyle:timeStyle:timeZone:locale:)-s:10Foundation4DateV11WooCommerceE8toString9dateStyle04timeH00I4Zone6localeSSSo015NSDateFormatterH0V_AkA04TimeJ0VAA6LocaleVtF-s:10Foundation4DateV13Woo_Watch_AppE8toString9dateStyle04timeI00J4Zone6localeSSSo015NSDateFormatterI0V_AkA04TimeK0VAA6LocaleVtF","param-lossyList-failsafeDecodeIfPresent(lossyList:forKey:)-s:s22KeyedDecodingContainerV14NetworkingCoreE23failsafeDecodeIfPresent9lossyList6forKeySayqd__GAGm_xtSeRd__lF","param-navigationController-jetpackSetupUI(for:connectionMissingOnly:in:)-s:11WooCommerce21AuthenticationManagerC14jetpackSetupUI33_4A9503ECCEE967DB8B1A9A532F0B8C78LL3for21connectionMissingOnly2inSo16UIViewControllerCSS_SbSo012UINavigationW0CtF","param-note-trackApplicationPasswordsNewPasswordCreated(note:)-s:11WooCommerce36TrackEventRequestNotificationHandlerC43trackApplicationPasswordsNewPasswordCreated33_E4818665C94798DDA37EFEC7C76E2C9FLL4notey10Foundation0F0V_tF","param-note-tunnelTimeoutWasReceived(note:)-s:11WooCommerce18AuthenticatedStateC24tunnelTimeoutWasReceived33_E1BB93928BB5674BE987DB86AC353FB1LL4notey10Foundation12NotificationV_tF","param-notification-handleKeyboardDidDisconnect(_:)-s:11WooCommerce29GameControllerBarcodeObserverC27handleKeyboardDidDisconnect33_EE040493B348D9ACEE809404EEE507BELLyy10Foundation12NotificationVF","param-notification-keyboardWillHide(_:)-s:11WooCommerce21KeyboardFrameObserverC16keyboardWillHide33_2F4F3B1B2083C0CCA0C088C17BFE523ALLyy10Foundation12NotificationVF","param-notification-updateCrashLoggingSystem(_:)-s:11WooCommerce26WCCrashLoggingDataProviderC011updateCrashD6Systemyy10Foundation12NotificationVF","param-onCompletion-reset(siteId:type:onCompletion:)-s:8Yosemite34MockNotificationCountActionHandlerV5reset6siteId4type12onCompletionys5Int64V_14NetworkingCore4NoteV4KindOyyXEtF","param-onboardingPresenter-collectPaymentTask(for:using:siteID:preflightController:onboardingPresenter:configuration:alertsPresenter:paymentEventSubject:channel:)-s:11WooCommerce030CardPresentPaymentCollectOrderE14UseCaseAdaptorC07collectE4Task3for5using6siteID19preflightController19onboardingPresenter13configuration06alertsT019paymentEventSubject7channelScTyAA0cde7AdaptedfgE6ResultOs5Error_pG14NetworkingCore0G0V_AA0C22ReaderConnectionMethodOs5Int64VAA0cde9PreflightR0CyAA0cdE38TapToPayReaderConnectionAlertsProviderVAA0cdE39BluetoothReaderConnectionAlertsProviderVAA0cd13PaymentsAlerttJ0CGAA0cD28PaymentsOnboardingPresenting_p8Yosemite0cD21PaymentsConfigurationVA4_7Combine0Y0_ps5NeverO7FailureA10_9PublisherPRts_AA0cdeX0O6OutputA16_RtsXP8Hardware0E7ChannelOtF","param-order-displayOrderTrashUndoNotice(order:onUndoAction:)-s:11WooCommerce26OrderDetailsViewControllerC07displayC15TrashUndoNotice33_79A0B235915FDFC989919DDCECCCF01ALL5order02onI6Actiony14NetworkingCore0C0V_yyctFZ","param-orderID-addCustomStoredShipment(siteID:orderID:trackingProvider:trackingURL:readOnlyTracking:onCompletion:)-s:8Yosemite13ShipmentStoreC015addCustomStoredB06siteID05orderH016trackingProvider0J3URL16readOnlyTracking12onCompletionys5Int64V_ALS2S10Networking0bO0VyyctF","param-orderID-addStoredShipment(siteID:orderID:readOnlyTracking:onCompletion:)-s:8Yosemite13ShipmentStoreC09addStoredB06siteID05orderG016readOnlyTracking12onCompletionys5Int64V_AJ10Networking0bK0VyyctF","param-orderID-deleteStaleRefunds(siteID:orderID:staleRefundIDs:storedRefunds:in:)-s:8Yosemite11RefundStoreC18deleteStaleRefunds33_9DB95559DACFA25A1B75F2FF500400F4LL6siteID05orderO005staleB3IDs06storedF02inys5Int64V_ALSayALGSay7Storage0B0CGAN0V4Type_ptF","param-orderID-upsertStoredRefunds(siteID:orderID:storedRefunds:readOnlyRefunds:in:)-s:8Yosemite11RefundStoreC19upsertStoredRefunds33_9DB95559DACFA25A1B75F2FF500400F4LL6siteID05orderO006storedF008readOnlyF02inys5Int64V_ALSay7Storage0B0CGSay10NetworkingANVGAM0V4Type_ptF","param-orderID-upsertTrackingProviderDataInBackground(siteID:orderID:readOnlyShipmentTrackingProviderGroups:onCompletion:)-s:8Yosemite13ShipmentStoreC38upsertTrackingProviderDataInBackground6siteID05orderK008readOnlybeF6Groups12onCompletionys5Int64V_AJSay10Networking0beF5GroupVGyyctF","param-pageNumber-synchronizeRefunds(siteID:orderID:pageNumber:pageSize:onCompletion:)-s:8Yosemite11RefundStoreC18synchronizeRefunds33_9DB95559DACFA25A1B75F2FF500400F4LL6siteID05orderN010pageNumber0P4Size12onCompletionys5Int64V_ALS2iys5Error_pSgctF","param-pageNumber-totalCompletedOrderCount(pageNumber:)-s:11WooCommerce18OrderListViewModelC014totalCompletedC5Count10pageNumberSiSgSi_tF","param-pageSize-synchronizeRefunds(siteID:orderID:pageNumber:pageSize:onCompletion:)-s:8Yosemite11RefundStoreC18synchronizeRefunds33_9DB95559DACFA25A1B75F2FF500400F4LL6siteID05orderN010pageNumber0P4Size12onCompletionys5Int64V_ALS2iys5Error_pSgctF","param-parent-loadInitialChildItems(for:)-s:11WooCommerce33PointOfSalePreviewItemsControllerC016loadInitialChildG033_3E97115114816F7BD3714969ED689A7CLL3fory8Yosemite7POSItemO_tYaF","param-paymentGatewayAccount-refund(amount:charge:paymentGatewayAccount:onWaitingForInput:onProcessingMessage:onDisplayMessage:onCompletion:)-s:11WooCommerce29CardPresentRefundOrchestratorC6refund6amount6charge21paymentGatewayAccount17onWaitingForInput0M17ProcessingMessage0m7DisplayR00M10CompletionySo9NSDecimala_10Networking11WCPayChargeVAN07PaymentkL0Vy8Hardware0c6ReaderP0VcyycySScys6ResultOyyts5Error_pGctF","param-preselectedData-saveTrackingProvider(siteID:providerName:providerURL:preselectedData:toFileURL:onCompletion:)-s:8Yosemite16AppSettingsStoreC20saveTrackingProvider33_D430D2281D200281355C40B5E0B00BBBLL6siteID12providerName0R3URL15preselectedData06toFileT012onCompletionys5Int64V_S2SSgSay7Storage011PreselectedG0VG10Foundation0T0Vys5Error_pSgXEtF","param-previousTimeRange-retrieveItemsSoldStats(currentTimeRange:previousTimeRange:)-s:11WooCommerce21AnalyticsHubViewModelC22retrieveItemsSoldStats33_A7D0CDE72EC097ED0463DB9A2816F3A5LL16currentTimeRange08previousuV0yAA0cduV0V_AItYaF","param-product-addOnsRow(product:)-s:11WooCommerce32DefaultProductFormTableViewModelV9addOnsRow33_0B335C919646781BE71A89ED001DCF69LL7productAA0dE7SectionO08SettingsK0O0gH0V10Networking0D0V_tF","param-productSubscriptionDetails-init(id:product:discount:quantity:productSubscriptionDetails:selectedState:pricedIndividually:currencyFormatter:analytics:featureFlagService:configure:)-s:11WooCommerce19ProductRowViewModelC2id7product8discount8quantity0H19SubscriptionDetails13selectedState18pricedIndividually17currencyFormatter9analytics18featureFlagService9configureACs5Int64VSg_10Networking0C0VSo9NSDecimalaSgAvR0cK0VSgAA0cD0V08SelectedN0OSb0A14FoundationCore08CurrencyR0C0A10Foundation9Analytics_p11Experiments07FeatureuV0_pyycSgtcfc","param-productSubscriptionDetails-init(id:productVariation:discount:name:quantity:productSubscriptionDetails:displayMode:selectedState:pricedIndividually:currencyFormatter:analytics:)-s:11WooCommerce19ProductRowViewModelC2id16productVariation8discount4name8quantity0H19SubscriptionDetails11displayMode13selectedState18pricedIndividually17currencyFormatter9analyticsACs5Int64VSg_10Networking0cI0VSo9NSDecimalaSgSSAvR0cM0VSgAC0i7DisplayP0OAA0cD0V08SelectedR0OSb0A14FoundationCore08CurrencyV0C0A10Foundation9Analytics_ptcfc","param-productType-init(id:name:formattedPrice:productImageSource:productID:price:productType:bundledItems:manageStock:stockQuantity:stockStatusKey:)-s:8Yosemite16POSSimpleProductV2id4name14formattedPrice18productImageSource0H2ID5price0H4Type12bundledItems11manageStock13stockQuantity0R9StatusKeyAC10Foundation4UUIDV_S3SSgs5Int64VSS10Networking0cM0OSayAU0C10BundleItemVGSbSo9NSDecimalaSgSStcfc","param-providerGroupName-addTracking(siteID:orderID:providerGroupName:providerName:trackingNumber:dateShipped:onCompletion:)-s:8Yosemite13ShipmentStoreC11addTracking6siteID05orderG017providerGroupName0iK014trackingNumber11dateShipped12onCompletionys5Int64V_AMS4Sys5Error_pSgctF","param-pushNotesManager-init(stores:pushNotesManager:inAppPurchaseManager:)-s:11WooCommerce21StorePlanSynchronizerC6stores16pushNotesManager013inAppPurchaseI0AC8Yosemite06StoresI0_p_AA04PushhI0_pAA02InK30PurchasesForWPComPlansProtocol_ptcfc","param-pushNotesManager-setupPushNotificationsManagerIfPossible(_:stores:)-s:11WooCommerce11AppDelegateC39setupPushNotificationsManagerIfPossible33_AC2B85D03F88EE646416F2C4AF52A291LL_6storesyAA0f5NotesH0_p_8Yosemite06StoresH0_ptF","param-query-searchLocation(query:)-s:11WooCommerce34BlazeTargetLocationPickerViewModelC06searchE033_916547A18CBC5D7597FBFC30E2AC6801LL5querySay10Networking0cdE0CGSS_tYaF","param-reader-getBluetoothConfiguration(_:)-s:8Hardware23StripeCardReaderServiceC25getBluetoothConfiguration33_01386A2D21005D4DA327A97DCD5D675BLLy7Combine6FutureCySo022SCPBluetoothConnectionH0Cs5Error_pGSo9SCPReaderCF","param-reader-getTapToPayConfiguration(_:options:)-s:8Hardware23StripeCardReaderServiceC24getTapToPayConfiguration33_01386A2D21005D4DA327A97DCD5D675BLL_7options7Combine6FutureCySo06SCPTaphi10ConnectionJ0Cs5Error_pGSo9SCPReaderC_AA0cdV7OptionsVSgtF","param-reason-syncProducts(pageNumber:pageSize:reason:onCompletion:)-s:11WooCommerce24ProductSelectorViewModelC12syncProducts33_B2E00C30BDD8670F8D1FF5D2667B140BLL10pageNumber0R4Size6reason12onCompletionySi_SiSSSgys6ResultOySbs5Error_pGcSgtF","param-restrictionComment-checkMissingRestrictionComment(_:with:)-s:11WooCommerce38ShippingLabelCustomsFormInputViewModelC30checkMissingRestrictionComment33_36E9164D31380E6D43CEDFC5AB4977B1LL_4withSbSS_10Networking0cdeF0V0L4TypeOtF","param-retry-dismissBlockingIndicator(retry:)-s:11WooCommerce30GenerateAllVariationsPresenterC24dismissBlockingIndicator33_6DAE872DE0F8F62253D023F564B577B0LL5retryySb_tF","param-retryCount-activateJetpack(retryCount:)-s:11WooCommerce31JCPJetpackInstallStepsViewModelC15activateJetpack33_B99D58683DB320F0745E49A3CBE22C82LL10retryCountySi_tF","param-row-configure(_:for:at:)-s:11WooCommerce23RefundDetailsDataSourceC9configure33_72A5AD552A42813047B20449413994E1LL_3for2atySo15UITableViewCellC_AC3RowO10Foundation9IndexPathVtF","param-row-configure(_:for:at:)-s:11WooCommerce25ProductSlugViewControllerC9configure33_E9EEB830C2DC65EDF85E2ABBC1281535LL_3for2atySo07UITableE4CellC_AC3RowAELLO10Foundation9IndexPathVtF","param-row-configure(_:for:at:)-s:11WooCommerce30ProductMenuOrderViewControllerC9configure33_9FD83E7B0A44D83DC3905CE7B97CD2FDLL_3for2atySo07UITableF4CellC_AC3RowAELLO10Foundation9IndexPathVtF","param-row-configure(_:for:at:)-s:11WooCommerce30RenameAttributesViewControllerC9configure33_1B11D9141E14A9ADFA7866C0ED7360A3LL_3for2atySo07UITableE4CellC_AC3RowAELLO10Foundation9IndexPathVtF","param-row-configure(_:for:at:)-s:11WooCommerce33ProductPurchaseNoteViewControllerC9configure33_E24E63166C7F0F67B0391C86168AC02CLL_3for2atySo07UITableF4CellC_AC3RowAELLO10Foundation9IndexPathVtF","param-row-configure(_:for:at:)-s:11WooCommerce38ProductCatalogVisibilityViewControllerC9configure33_6866A7A37B41BAA8D5F7A53CE31595B3LL_3for2atySo07UITableF4CellC_AC3RowO10Foundation9IndexPathVtF","param-row-configureAddressEntered(cell:row:)-s:11WooCommerce43ShippingLabelSuggestedAddressViewControllerC09configureF7Entered33_6B377CC7204358DE99C0A98E116CEE29LL4cell3rowyAA013ImageAndTitleu9TextTableG4CellC_AC3RowOtF","param-row-configureAddressSuggested(cell:row:)-s:11WooCommerce43ShippingLabelSuggestedAddressViewControllerC09configurefE033_6B377CC7204358DE99C0A98E116CEE29LL4cell3rowyAA013ImageAndTitlet9TextTableG4CellC_AC3RowOtF","param-row-configureCountry(cell:row:)-s:11WooCommerce38ShippingLabelAddressFormViewControllerC16configureCountry33_A493AAB1F74022D7790D20E9A85E182BLL4cell3rowyAA022TitleAndTextFieldTableG4CellC_AC3RowOtF","param-row-configureFieldError(cell:row:error:)-s:11WooCommerce38ShippingLabelAddressFormViewControllerC19configureFieldError33_A493AAB1F74022D7790D20E9A85E182BLL4cell3row5erroryAA010BasicTableG4CellC_AC3RowOAA0cdefG5ModelC010ValidationK0OtF","param-row-configureState(cell:row:)-s:11WooCommerce38ShippingLabelAddressFormViewControllerC14configureState33_A493AAB1F74022D7790D20E9A85E182BLL4cell3rowyAA022TitleAndTextFieldTableG4CellC_AC3RowOtF","param-sender-cellTapped(sender:)-s:11WooCommerce22UnitInputTableViewCellC10cellTapped33_3C58294DC9861E456B06D36F0E1C9A9FLL6senderySo6UIViewC_tF","param-sender-cellTapped(sender:)-s:11WooCommerce30TitleAndTextFieldTableViewCellC10cellTapped028_F8C5098AD675EE1ED6C97AE65D7S3BB8LL6senderySo6UIViewC_tF","param-sender-cellTapped(sender:)-s:11WooCommerce39TitleAndTextFieldWithImageTableViewCellC10cellTapped33_33FFA3E2221B4A35F92861C86159EBE2LL6senderySo6UIViewC_tF","param-sender-subtitleTapped(_:)-s:11WooCommerce41LeftImageTitleSubtitleToggleTableViewCellC14subtitleTapped33_8866DBD912F95E9CFD0B7503551D7375LLyyypF","param-site-displayExpiredWPComPlanAlert(site:)-s:11WooCommerce25StorePickerViewControllerC28displayExpiredWPComPlanAlert33_5E39EF848A59CB8C17EEAF3AE8A0BADALL4sitey10Networking4SiteV_tF","param-site-displayWPComPlanUpgradeAlert(for:)-s:11WooCommerce19RequirementsCheckerC28displayWPComPlanUpgradeAlert33_F50C359018ED44C22D850C2E692EAD25LL3fory10Networking4SiteV_tF","param-siteID-addStoredShipment(siteID:orderID:readOnlyTracking:onCompletion:)-s:8Yosemite13ShipmentStoreC09addStoredB06siteID05orderG016readOnlyTracking12onCompletionys5Int64V_AJ10Networking0bK0VyyctF","param-siteID-deleteStaleRefunds(siteID:orderID:staleRefundIDs:storedRefunds:in:)-s:8Yosemite11RefundStoreC18deleteStaleRefunds33_9DB95559DACFA25A1B75F2FF500400F4LL6siteID05orderO005staleB3IDs06storedF02inys5Int64V_ALSayALGSay7Storage0B0CGAN0V4Type_ptF","param-siteID-generateText(siteID:base:feature:responseFormat:token:)-s:10Networking23GenerativeContentRemoteC12generateText33_4C8B92385959F9C5F3C8931A28634325LL6siteID4base7feature14responseFormat5tokenSSs5Int64V_SSAA0bcD7FeatureOAA0bcd8ResponseS0OSgAA7JWTokenVtYaKF","param-siteID-getViewModels(for:with:siteID:)-s:11WooCommerce28BundledProductsListViewModelC03getF6Models33_42DE65C326ED0936299CF43F7214EDF9LL3for4with6siteIDSayAC0C7ProductVGSay10Networking0T10BundleItemVG_SayAL0T0VGs5Int64VtFZ","param-siteID-identifyLanguage(siteID:string:feature:token:)-s:10Networking23GenerativeContentRemoteC16identifyLanguage33_4C8B92385959F9C5F3C8931A28634325LL6siteID6string7feature5tokenSSs5Int64V_SSAA0bcD7FeatureOAA7JWTokenVtYaKF","param-siteID-init(siteID:)-s:11WooCommerce30SubscriptionsHostingControllerC6siteIDACs5Int64V_tcfc","param-siteID-loadProducts(siteID:productIDs:pageNumber:)-s:11WooCommerce34ConfigurableBundleProductViewModelC12loadProducts33_6157C9586F427526F4ECBD0DD9F10812LL6siteID10productIDs10pageNumberSay10Networking0E0VG8products_Sb11hasNextPagets5Int64V_SayAPGSitYaKF","param-siteID-retrieveSiteVisitStats(siteID:timeRange:onCompletion:)-s:8Yosemite24MockStatsActionV4HandlerV017retrieveSiteVisitC06siteID9timeRange12onCompletionys5Int64V_AA0c4TimemE0Oys6ResultOyyts5Error_pGctF","param-siteID-retrieveStats(siteID:timeRange:onCompletion:)-s:8Yosemite24MockStatsActionV4HandlerV08retrieveC06siteID9timeRange12onCompletionys5Int64V_AA0c4TimekE0Oys6ResultOyyts5Error_pGctF","param-siteID-retrieveTopEarnerStats(siteID:timeRange:onCompletion:)-s:8Yosemite24MockStatsActionV4HandlerV017retrieveTopEarnerC06siteID9timeRange12onCompletionys5Int64V_AA0c4TimemE0Oys6ResultOy10Networking0hiC0Vs5Error_pGctF","param-siteID-saveNote(_:_:_:siteID:)-s:8Yosemite14OrderNoteStoreC04saveC033_76C9EE206877B4923D3B658D8735C269LL___6siteIDy7Storage0O4Type_p_14NetworkingCore0bC0VAG0B0Cs5Int64VtF","param-siteID-updateUIForEmptyOrErroredSite(named:with:)-s:11WooCommerce25StorePickerViewControllerC29updateUIForEmptyOrErroredSite33_5E39EF848A59CB8C17EEAF3AE8A0BADALL5named4withySS_s5Int64VtF","param-siteID-upsertCustomer(siteID:readOnlyCustomer:storedCustomers:storedSearchResult:in:)-s:8Yosemite13CustomerStoreC06upsertB033_CF3A88D9FFED313C78F4E4E330CC14A8LL6siteID08readOnlyB015storedCustomers0S12SearchResult2inys5Int64V_AA07StorageB11Convertible_pSay0Y00B0CGAN0buV0CSgAN0Y4Type_ptF","param-siteID-upsertPackagesResponseInBackground(readOnlyPackages:siteID:onCompletion:)-s:8Yosemite16WooShippingStoreC34upsertPackagesResponseInBackground33_3A10CEEF776101B6495E3F453AD20884LL08readOnlyF06siteID12onCompletiony10Networking0bcfG0V_s5Int64VyyctF","param-siteID-upsertShippingMethods(siteID:readOnlyMethods:in:)-s:8Yosemite19ShippingMethodStoreC06upsertB7Methods33_C08EA8EBDA81B669F00AC587359A4DE8LL6siteID08readOnlyF02inys5Int64V_Say10Networking0bC0VG7Storage0V4Type_ptF","param-siteID-upsertStoredRefunds(siteID:orderID:storedRefunds:readOnlyRefunds:in:)-s:8Yosemite11RefundStoreC19upsertStoredRefunds33_9DB95559DACFA25A1B75F2FF500400F4LL6siteID05orderO006storedF008readOnlyF02inys5Int64V_ALSay7Storage0B0CGSay10NetworkingANVGAM0V4Type_ptF","param-siteID-upsertWCAnalyticsCustomer(siteID:readOnlyCustomer:storedCustomers:storedSearchResult:in:)-s:8Yosemite13CustomerStoreC017upsertWCAnalyticsB033_CF3A88D9FFED313C78F4E4E330CC14A8LL6siteID08readOnlyB015storedCustomers0T12SearchResult2inys5Int64V_10Networking0eB0VSay7StorageANCGAP0ebvW0CSgAP11StorageType_ptF","param-siteId-loadDashboardCards(siteId:onCompletion:)-s:8Yosemite28MockAppSettingsActionHandlerV18loadDashboardCards6siteId12onCompletionys5Int64V_ySay7Storage0H4CardVGSgXEtF","param-siteId-loadNotificationCount(siteId:type:onCompletion:)-s:8Yosemite34MockNotificationCountActionHandlerV04loadcD06siteId4type12onCompletionys5Int64V_AA04SitecD4TypeOySiXEtF","param-siteId-reset(siteId:type:onCompletion:)-s:8Yosemite34MockNotificationCountActionHandlerV5reset6siteId4type12onCompletionys5Int64V_14NetworkingCore4NoteV4KindOyyXEtF","param-siteId-retrieveSiteAPI(siteId:onCompletion:)-s:8Yosemite24MockSettingActionHandlerV15retrieveSiteAPI6siteId12onCompletionys5Int64V_ys6ResultOy10Networking0gH0Vs5Error_pGXEtF","param-siteName-updateUIForEmptyOrErroredSite(named:with:)-s:11WooCommerce25StorePickerViewControllerC29updateUIForEmptyOrErroredSite33_5E39EF848A59CB8C17EEAF3AE8A0BADALL5named4withySS_s5Int64VtF","param-siteTimezone-updatePaymentGateway(_:siteTimezone:onCompletion:)-s:8Yosemite19PaymentGatewayStoreC06updatebC033_EED24529A4495B6D3109E033A8ECEA4FLL_12siteTimezone12onCompletiony10Networking0bC0V_10Foundation8TimeZoneVSgys6ResultOyAJs5Error_pGctF","param-siteURL-presentAppPasswordAlert(error:for:in:)-s:11WooCommerce21AuthenticationManagerC23presentAppPasswordAlert33_4A9503ECCEE967DB8B1A9A532F0B8C78LL5error3for2inys5Error_p_SSSo16UIViewControllerCtF","param-source-init(url:parent:configuration:source:)-s:11WooCommerce20WebKitViewControllerC3url6parent13configuration6sourceAC10Foundation3URLV_ACSo05WKWebE13ConfigurationCSSSgtc33_D85025A19EEE1BDE0889F08E15F1E506Llfc","param-source-startCreationFlow(from:)-s:11WooCommerce32BlazeCampaignCreationCoordinatorC05startE4Flow33_B0ACBE13027C91CB591F60840ACBBCF7LL4fromyAA0C6SourceO_tF","param-source-startStorePicker(with:source:in:onDismiss:)-s:11WooCommerce21AuthenticationManagerC16startStorePicker33_4A9503ECCEE967DB8B1A9A532F0B8C78LL4with6source2in9onDismissys5Int64VSg_22WordPressAuthenticator12SignInSourceOSgSo22UINavigationControllerCyyctF","param-sourceBarButtonItem-clearFilter(sourceBarButtonItem:sourceView:)-s:11WooCommerce22ProductsViewControllerC11clearFilter33_D63AD9C1AF02BA94A64C79D4E1D2E685LL19sourceBarButtonItem0sD0ySo05UIBaruV0CSg_So6UIViewCSgtF","param-sourceView-clearFilter(sourceBarButtonItem:sourceView:)-s:11WooCommerce22ProductsViewControllerC11clearFilter33_D63AD9C1AF02BA94A64C79D4E1D2E685LL19sourceBarButtonItem0sD0ySo05UIBaruV0CSg_So6UIViewCSgtF","param-splitViewController-handleCollapsingSplitView(splitViewController:)-s:11WooCommerce34ProductsSplitViewWrapperControllerC016handleCollapsingdE033_84B339C2962B9B58C797B583E0715E41LL05spliteG0So07UISpliteG6ColumnVSo0seG0C_tF","param-splitViewController-handleDidExpand(splitViewController:)-s:11WooCommerce34ProductsSplitViewWrapperControllerC15handleDidExpand33_84B339C2962B9B58C797B583E0715E41LL05spliteG0ySo07UISpliteG0C_tF","param-startDate-timeRangeText(startDate:endDate:selectedDate:timezone:)-s:8Yosemite16StatsTimeRangeV4O11WooCommerceE04timeD4Text33_19FD9AA1037FF332CFC8923FEEBF6F43LL9startDate03endQ008selectedQ08timezoneSS10Foundation0Q0V_A2mK0C4ZoneVtF","param-state-willEnter(state:)-s:11WooCommerce21ReviewsViewControllerC9willEnter33_87877EAD17AC3C3D4F2E5EF907436EE1LL5stateyAC5StateAELLO_tF","param-state-willEnter(state:)-s:11WooCommerce28ProductReviewsViewControllerC9willEnter33_6399FE14AECFC91DCADF495EE13A102ELL5stateyAC5StateAELLO_tF","param-step-barcodeScannerSetupScannerConnected(scanner:step:)-s:11WooCommerce0A14AnalyticsEventV11PointOfSaleO019barcodeScannerSetupI9Connected7scanner4stepAcA0efg7BarcodeI4TypeO_SStFZ","param-step-barcodeScannerSetupScannerConnected(scanner:step:)-s:17WooFoundationCore0A14AnalyticsEventV0A8CommerceE11PointOfSaleO019barcodeScannerSetupK9Connected7scanner4stepAcD0ghi7BarcodeK4TypeO_SStFZ","param-stores-init(stores:)-s:11WooCommerce30CardPresentConfigurationLoaderC6storesAC8Yosemite13StoresManager_p_tcfc","param-stores-setupPushNotificationsManagerIfPossible(_:stores:)-s:11WooCommerce11AppDelegateC39setupPushNotificationsManagerIfPossible33_AC2B85D03F88EE646416F2C4AF52A291LL_6storesyAA0f5NotesH0_p_8Yosemite06StoresH0_ptF","param-tableName-AppLocalizedString(_:tableName:value:comment:)-s:11WooCommerce18AppLocalizedString_9tableName5value7commentS2S_SSSgAFSStF-s:13Woo_Watch_App0C15LocalizedString_9tableName5value7commentS2S_SSSgAFSStF","param-textField-emailTextFieldDidChange(_:)-s:11WooCommerce14ZendeskManagerC23emailTextFieldDidChange031_8302212C40A93725812935E5FC45F6N0LLyySo06UITextG0CF","param-textField-textFieldDidBegin(textField:)-s:11WooCommerce22TextFieldTableViewCellC04textD8DidBegin33_69DEEA611CF9F0CE8BA1FD045A9225D1LL0hD0ySo06UITextD0C_tF","param-textField-textFieldDidResignFirstResponder(textField:)-s:11WooCommerce30TitleAndTextFieldTableViewCellC04textF23DidResignFirstResponder028_F8C5098AD675EE1ED6C97AE65D7V3BB8LL0jF0ySo06UITextF0C_tF","param-timeZone-init(scenario:stores:timeZone:locale:userInfo:)-s:11WooCommerce17LocalNotificationV8scenario6stores8timeZone6locale8userInfoA2C8ScenarioO_8Yosemite13StoresManager_p10Foundation04TimeH0VAM6LocaleVSDys11AnyHashableVypGtcfc","param-title-configureNavigationBar(title:)-s:11WooCommerce25ProductFormViewControllerC22configureNavigationBar33_40B60ACED569B4ABA586F1F653249D62LL5titleySS_tF","param-tracking-displayDeleteTrackingErrorNotice(order:tracking:onAction:)-s:11WooCommerce19OrderDetailsNoticesC32displayDeleteTrackingErrorNotice5order8tracking8onActiony14NetworkingCore0C0V_0O008ShipmentH0VyyctF","param-transactionType-init(name:amount:transactionType:inputMethods:)-s:11WooCommerce48CardPresentModalTapToPayFollowReaderInstructionsC4name6amount15transactionType12inputMethodsACSS_SSAA0cd11TransactionO0O8Hardware0cJ5InputVtcfc","param-type-loadFeedbackVisibility(type:onCompletion:)-s:8Yosemite28MockAppSettingsActionHandlerV22loadFeedbackVisibility4type12onCompletiony7Storage0H4TypeO_ys6ResultOySbs5Error_pGXEtF","param-type-loadNotificationCount(siteId:type:onCompletion:)-s:8Yosemite34MockNotificationCountActionHandlerV04loadcD06siteId4type12onCompletionys5Int64V_AA04SitecD4TypeOySiXEtF","param-type-reset(siteId:type:onCompletion:)-s:8Yosemite34MockNotificationCountActionHandlerV5reset6siteId4type12onCompletionys5Int64V_14NetworkingCore4NoteV4KindOyyXEtF","param-url-authenticateSSOAndLoadContent(url:)-s:11WooCommerce30AuthenticatedWebViewControllerC29authenticateSSOAndLoadContent33_1762B8DD587AA77FE75646DF647FD2FFLL3urly10Foundation3URLV_tF","param-wcSettingsAdminURL-init(image:wcSettingsAdminURL:openWCSettings:retrySearch:cancelSearch:)-s:11WooCommerce45CardPresentModalConnectingFailedUpdateAddressC5image18wcSettingsAdminURL14openWCSettings11retrySearch06cancelR0ACSo7UIImageC_10Foundation0N0VSgyycSgyycyyctcfc","param-webView-handle(navigationAction:for:)-s:11WooCommerce12LinkBehaviorO6handle16navigationAction3forSo012WKNavigationG6PolicyVSo0iG0C_So9WKWebViewCtF","param-weightUnit-init(order:packagesResponse:selectedPackages:onSelectionCompletion:onPackageSyncCompletion:formatter:stores:storageManager:weightUnit:)-s:11WooCommerce34ShippingLabelPackagesFormViewModelC5order16packagesResponse08selectedE021onSelectionCompletion0m11PackageSyncO09formatter6stores14storageManager10weightUnitAC14NetworkingCore5OrderV_0X00cdeK0VSgSayAA0cdP10AttributesVGyAVcyASc0a10FoundationY017CurrencyFormatterC8Yosemite06StoresU0_p7Storage07StorageU4Type_pSSSgtcfc","s:10Foundation4DateV11WooCommerceE12nextMidnight5usingACSgAA8CalendarV_tF","s:10Foundation4DateV13Woo_Watch_AppE12nextMidnight5usingACSgAA8CalendarV_tF","s:10Foundation4DateV15WordPressSharedE015dateWithISO8601G18MillisecondsStringyACSgSSFZ","s:10Foundation4DateV15WordPressSharedE0B10Formatters33_DF80F487DA6A564EDD8C74FB819BC8ECLLV11longUTCDateSo15NSDateFormatterCvpZ","s:10Foundation4DateV15WordPressSharedE0B10Formatters33_DF80F487DA6A564EDD8C74FB819BC8ECLLV17mediumUTCDateTimeSo15NSDateFormatterCvpZ","s:10Foundation4DateV15WordPressSharedE0B10Formatters33_DF80F487DA6A564EDD8C74FB819BC8ECLLV23iso8601WithMillisecondsSo15NSDateFormatterCvpZ","s:10Foundation4DateV15WordPressSharedE0B10Formatters33_DF80F487DA6A564EDD8C74FB819BC8ECLLV7rfc1123So15NSDateFormatterCvpZ","s:10Foundation4DateV15WordPressSharedE12mediumString8timeZoneSSAA04TimeI0VSg_tF","s:10Foundation4DateV15WordPressSharedE17toStringAsRFC1123SSyF","s:10Foundation4DateV15WordPressSharedE21dateWithISO8601StringyACSgSSFZ","s:10Foundation4DateV15WordPressSharedE23mediumStringWithUTCTimeSSyF","s:10Foundation4DateV15WordPressSharedE24longUTCStringWithoutTimeSSyF","s:10Foundation4DateV8YosemiteE11addingYearsyACSiF","s:10Foundation4DateV8YosemiteE15subtracingYearsyACSiF","s:10Foundation4DateV8YosemiteE17subtractingMonthsyACSiF","s:10Foundation4DateV8YosemiteE22asVisitStatsYearStringSSvp","s:10Foundation4DateV8YosemiteE4from10dateStringACSS_tFZ","s:10Foundation4DateV8YosemiteE7yearEndACvp","s:10Foundation4DateV8YosemiteE9yearStartACvp","s:10Networking10AddOnGroupV13DecodingErrorO","s:10Networking10DotcomUserV11displayNameSSvp","s:10Networking10DotcomUserV2id8username5email11displayName6avatarACs5Int64V_S4SSgtcfc","s:10Networking10DotcomUserV2ids5Int64Vvp","s:10Networking10DotcomUserV6avatarSSSgvp","s:10Networking10DotcomUserV8usernameSSvp","s:10Networking11BlazeRemoteC4Keys33_98A5ADFE7236E410480CFE636D729DD1LLO4pageSSvpZ","s:10Networking11BlazeRemoteC4Keys33_98A5ADFE7236E410480CFE636D729DD1LLO5orderSSvpZ","s:10Networking11BlazeRemoteC4Keys33_98A5ADFE7236E410480CFE636D729DD1LLO7orderBySSvpZ","s:10Networking11BlazeRemoteC5Paths33_98A5ADFE7236E410480CFE636D729DD1LLO14campaignSearch6siteIDSSs5Int64V_tFZ","s:10Networking11BlazeRemoteC6Values33_98A5ADFE7236E410480CFE636D729DD1LLO","s:10Networking11CreateErrorV4codeSSvp","s:10Networking11CreateErrorV7messageSSvp","s:10Networking11FeatureIconV7iconUrl0D6Base640D4TypeACSS_S2Stcfc","s:10Networking11JetpackUserV11isConnected0D7Primary8username05wpcomC08gravatarACSb_SbSSAA06DotcomC0VSgSSSgtcfc","s:10Networking11JetpackUserV11isConnectedSbvp","s:10Networking11JetpackUserV8gravatarSSSgvp","s:10Networking11JetpackUserV8usernameSSvp","s:10Networking11JetpackUserV9isPrimarySbvp","s:10Networking11MediaMapperV","s:10Networking11MediaRemoteC12ParameterKey33_919ED802099D3F1AB6B35EEB50E9B0B6LLO07contextE0SSvpZ","s:10Networking11MediaRemoteC12ParameterKey33_919ED802099D3F1AB6B35EEB50E9B0B6LLO09wordPressB8ParentIDSSvpZ","s:10Networking11MediaRemoteC12ParameterKey33_919ED802099D3F1AB6B35EEB50E9B0B6LLO14dotComPageSizeSSvpZ","s:10Networking11MediaRemoteC12ParameterKey33_919ED802099D3F1AB6B35EEB50E9B0B6LLO6fieldsSSvpZ","s:10Networking11MediaRemoteC12ParameterKey33_919ED802099D3F1AB6B35EEB50E9B0B6LLO6postIDSSvpZ","s:10Networking11MediaRemoteC12ParameterKey33_919ED802099D3F1AB6B35EEB50E9B0B6LLO7altTextSSvpZ","s:10Networking11MediaRemoteC12ParameterKey33_919ED802099D3F1AB6B35EEB50E9B0B6LLO8mimeTypeSSvpZ","s:10Networking11MediaRemoteC7DefaultO7contextSSvpZ","s:10Networking11MockNetworkC","s:10Networking11NullNetworkC7sessionSo12NSURLSessionCvp","s:10Networking11WCPayRemoteC4Path33_C286F95D0B6C450E16152931FFB158BFLLO14createCustomerSSvpZ","s:10Networking12AnnouncementV14appVersionName010minimumAppD007maximumgD00cD7Targets10detailsUrl012announcementD011isLocalized14responseLocale8featuresACSS_S2SSaySSGS2SSbSSSayAA7FeatureVGtcfc","s:10Networking12ProductImageV8YosemiteE7fromUrlyACSSFZ","s:10Networking12ProductStockV06manageC0Sbvp","s:10Networking12ProductStockV07productC6StatusAA0bcE0Ovp","s:10Networking12ProductStockV13DecodingError33_1D968AE06B9AB9074AD0D1AA6035288FLLO","s:10Networking12ProductStockV13stockQuantitySo9NSDecimalaSgvp","s:10Networking12ProductStockV3skuSSSgvp","s:10Networking12ProductStockV4nameSSvp","s:10Networking12ProductStockV6siteIDs5Int64Vvp","s:10Networking12StripeRemoteC4Path33_90F026D9D5601A9C539008F14D31A0DALLO14createCustomerSSvpZ","s:10Networking12SubscriptionV6siteIDs5Int64Vvp","s:10Networking12SubscriptionV8currencySSvp","s:10Networking12SubscriptionV8parentIDs5Int64Vvp","s:10Networking13AccountRemoteC4Path33_20448504486E471AAC075D7F90A8610DLLO8settingsSSvpZ","s:10Networking13AccountRemoteC4Path33_20448504486E471AAC075D7F90A8610DLLO8usernameSSvpZ","s:10Networking13CommentRemoteC5Paths33_3300A5AA367E5BE3625973BF792299D5LLO12commentReplySSvpZ","s:10Networking13LoadPlanErrorO","s:10Networking13PaymentMethod33_1048F16F62488AEBA0EC1CF34883CBDELLO","s:10Networking13PaymentRemoteC4Path33_1048F16F62488AEBA0EC1CF34883CBDELLO12cartCheckoutSSvpZ","s:10Networking13WPComSitePlanV15hasDomainCreditSbvp","s:10Networking13WPComSitePlanV4slugSSvp","s:10Networking14PaymentGatewayV7SettingV4Keys33_B4ED521D5BB3A6989E376B798F5DAE5ALLO16enableForMethodsSSvpZ","s:10Networking14PaymentGatewayV7SettingV4Keys33_B4ED521D5BB3A6989E376B798F5DAE5ALLO16enableForVirtualSSvpZ","s:10Networking14PaymentGatewayV7SettingV4Keys33_B4ED521D5BB3A6989E376B798F5DAE5ALLO5titleSSvpZ","s:10Networking14PaymentGatewayV7SettingV9settingID5valueAESS_SStcfc","s:10Networking14PaymentGatewayV7SettingV9settingIDSSvp","s:10Networking14ProductsRemoteC15ParameterValues33_D40945077067CB9D4B83EEE43F634B4FLLO14productSegmentSSvpZ","s:10Networking14ProductsRemoteC15ParameterValues33_D40945077067CB9D4B83EEE43F634B4FLLO9itemsSoldSSvpZ","s:10Networking14ReaderLocationV11displayNameSSvp","s:10Networking14ReaderLocationV6siteIDs5Int64Vvp","s:10Networking14WordPressMediaV0D11SizeDetailsV5widthSdvp","s:10Networking14WordPressMediaV0D11SizeDetailsV6heightSdvp","s:10Networking14WordPressMediaV0D11SizeDetailsV8fileNameSSvp","s:10Networking14WordPressThemeV11descriptionSSvp","s:10Networking15AIProductMapperV6siteIDs5Int64Vvp","s:10Networking15MediaListMapperV","s:10Networking16BlazeImpressionsV05totalC3Min0dC3MaxACs5Int64V_AGtcfc","s:10Networking16BlazePaymentInfoV14paymentMethodsACSayAA0bC6MethodVG_tcfc","s:10Networking16DotcomSitePluginV","s:10Networking16DotcomSitePluginV2id8isActiveACSS_Sbtcfc","s:10Networking16DotcomSitePluginV2idSSvp","s:10Networking16DotcomSitePluginV8isActiveSbvp","s:10Networking16ProductAttributeV6option33_F4FF274AB61C8FF7A606B27386278C0FLLSSvp","s:10Networking17BlazeAISuggestionV8siteName11textSnippet7ctaTextACSS_S2Stcfc","s:10Networking17GoogleAdsCampaignV17targetedLocationsSaySSGvp","s:10Networking17GoogleAdsCampaignV2id4name9rawStatus0G4Type6amount7country17targetedLocationsACs5Int64V_S3SSdSSSgSaySSGtcfc","s:10Networking17GoogleAdsCampaignV2ids5Int64Vvp","s:10Networking17GoogleAdsCampaignV4nameSSvp","s:10Networking17GoogleAdsCampaignV6StatusO","s:10Networking17GoogleAdsCampaignV6amountSdvp","s:10Networking17GoogleAdsCampaignV6statusAC6StatusOvp","s:10Networking17GoogleAdsCampaignV7countrySSSgvp","s:10Networking17GoogleAdsCampaignV7rawTypeSSvp","s:10Networking17GoogleAdsCampaignV9rawStatusSSvp","s:10Networking17JustInTimeMessageV3CTAV7message4linkAESS_SStcfc","s:10Networking17JustInTimeMessageV6siteID07messageG012featureClass7content3cta6assets8templateACs5Int64V_S2SAC7ContentVAC3CTAVSDySS10Foundation3URLVGSStcfc","s:10Networking17JustInTimeMessageV7ContentV7message11descriptionAESS_SStcfc","s:10Networking17MediaListEnvelope33_9D00C741093F6E77CAEBDA88EFF9FE05LLV","s:10Networking17SitePluginsRemoteC4Path33_9F73D98974B6C8D95F6BC827D24C2BAELLO","s:10Networking17WooPaymentsPayoutV11bankAccountSSSgvp","s:10Networking17WooPaymentsPayoutV13feePercentageSivp","s:10Networking17WooPaymentsPayoutV2id4date4type6amount6status11bankAccount8currency9automatic3fee0N10Percentage7createdACSS_10Foundation4DateVAA0bcD4TypeOSiAA0bcD6StatusOSSSgSSSbS3itcfc","s:10Networking17WooPaymentsPayoutV2idSSvp","s:10Networking17WooPaymentsPayoutV3feeSivp","s:10Networking17WooPaymentsPayoutV7createdSivp","s:10Networking17WooPaymentsPayoutV9automaticSbvp","s:10Networking17WooShippingConfigV17shippingLabelDataAA0bcfG0VSgvp","s:10Networking17WooShippingConfigV6siteIDs5Int64Vvp","s:10Networking18BlazePaymentMethodV0cD4TypeO","s:10Networking18BlazePaymentMethodV12ExpiringInfoV","s:10Networking18BlazePaymentMethodV2id7rawType4name4infoACSS_S2SAC4InfoVtcfc","s:10Networking18BlazePaymentMethodV4InfoV10lastDigits8expiring4type8nickname14cardholderNameAESS_AC08ExpiringE0VS2SSgSStcfc","s:10Networking18BlazePaymentMethodV4InfoV8expiringAC08ExpiringE0Vvp","s:10Networking18BlazePaymentMethodV4InfoV8nicknameSSSgvp","s:10Networking18BlazePaymentMethodV4typeAC0cD4TypeOvp","s:10Networking18BlazePaymentMethodV7rawTypeSSvp","s:10Networking18BlazeTargetOptionsV10pageTopicsSaySSGSgvp","s:10Networking18BlazeTargetOptionsV7devicesSaySSGSgvp","s:10Networking18BlazeTargetOptionsV9languagesSaySSGSgvp","s:10Networking18BlazeTargetOptionsV9locationsSays5Int64VGSgvp","s:10Networking18SystemPluginMapperV","s:10Networking18SystemStatusReportV11EnvironmentV7storeIDSSSgvp","s:10Networking18SystemStatusReportV4PageV11pageVisibleSbvp","s:10Networking18SystemStatusReportV4PageV13blockRequiredSbvp","s:10Networking18SystemStatusReportV4PageV5blockSSSgvp","s:10Networking18SystemStatusReportV4PageV9shortcodeSSvp","s:10Networking18SystemStatusReportV5ThemeV15parentAuthorURLSSvp","s:10Networking18SystemStatusReportV8DatabaseV14databasePrefixSSvp","s:10Networking18SystemStatusReportV8SettingsV18geolocationEnabledSbvp","s:10Networking18TopEarnerStatsItemV11WooCommerceE20formattedTotalStringSSvp","s:10Networking18WooPaymentsBalanceV6amount8currencyACSi_SStcfc","s:10Networking19BlazeStatusResponse33_ADC3A2F9DF1789B2C484F3A803E2172CLLV","s:10Networking19BlazeTargetLocationC2id4name4type06parentD0ACs5Int64V_S2SACSgtcfc","s:10Networking19CreateAccountResultV9authToken8usernameACSS_SStcfc","s:10Networking19CreateBlazeCampaignV11acceptedTOSSbvp","s:10Networking19CreateBlazeCampaignV11textSnippetSSvp","s:10Networking19CreateBlazeCampaignV13originVersionSSvp","s:10Networking19CreateBlazeCampaignV15paymentMethodIDSSvp","s:10Networking19CreateBlazeCampaignV4typeSSvp","s:10Networking19CreateBlazeCampaignV5ImageV3urlSSvp","s:10Networking19CreateBlazeCampaignV5ImageV8mimeTypeSSvp","s:10Networking19CreateBlazeCampaignV6originSSvp","s:10Networking19CreateBlazeCampaignV7ctaTextSSvp","s:10Networking19CreateBlazeCampaignV7endDate10Foundation0F0Vvp","s:10Networking19CreateBlazeCampaignV8siteNameSSvp","s:10Networking19CreateBlazeCampaignV8timeZoneSSvp","s:10Networking19CreateBlazeCampaignV9mainImageAC0F0Vvp","s:10Networking19CreateBlazeCampaignV9objectiveSSSgvp","s:10Networking19CreateBlazeCampaignV9startDate10Foundation0F0Vvp","s:10Networking19CreateBlazeCampaignV9targetUrlSSvp","s:10Networking19CreateBlazeCampaignV9targetUrnSSvp","s:10Networking19CreateBlazeCampaignV9targetingAA0C13TargetOptionsVSgvp","s:10Networking19CreateBlazeCampaignV9urlParamsSSvp","s:10Networking19GoogleAdsConnectionV2ids5Int64Vvp","s:10Networking19GoogleAdsConnectionV6symbolSSvp","s:10Networking19GoogleAdsConnectionV8currencySSvp","s:10Networking19POSProductVariationV11manageStockSbvp","s:10Networking19POSProductVariationV11stockStatusAA012ProductStockE0Ovp","s:10Networking19POSProductVariationV12regularPriceSSSgvp","s:10Networking19POSProductVariationV13stockQuantitySo9NSDecimalaSgvp","s:10Networking19POSProductVariationV14globalUniqueIDSSSgvp","s:10Networking19POSProductVariationV3skuSSSgvp","s:10Networking19POSProductVariationV6onSaleSbvp","s:10Networking19POSProductVariationV9salePriceSSSgvp","s:10Networking19RemotePaymentIntentV2idSSvp","s:10Networking20RemoteReaderLocationV10postalCodeSSSgvp","s:10Networking20RemoteReaderLocationV12addressLine1SSvp","s:10Networking20RemoteReaderLocationV12addressLine2SSSgvp","s:10Networking20RemoteReaderLocationV19stateProvinceRegionSSSgvp","s:10Networking20RemoteReaderLocationV4citySSSgvp","s:10Networking20RemoteReaderLocationV7countrySSvp","s:10Networking20RemoteReaderLocationV8liveModeSbvp","s:10Networking20StoreProfilerAnswersV13SellingStatusO11WooCommerceE14analyticsValue33_C2068A0065351A4FB414C3659DA9BB01LLSSvp","s:10Networking20StoreProfilerAnswersV13sellingStatus0E9Platforms8category11countryCodeA2C07SellingF0OSg_SSSgA2Ktcfc","s:10Networking20TopEarnerStatsMapperV","s:10Networking20WooShippingLabelDataV06storedE0AC06StoredE0VSgvp","s:10Networking21PaymentRemoteProtocolP12CartResponsea","s:10Networking21ReaderConnectionTokenV8testModeSbvp","s:10Networking21ShippingLabelPurchaseV10productIDsSays5Int64VGvp","s:10Networking21ShippingLabelPurchaseV10shipmentIDSSSgvp","s:10Networking21ShippingLabelPurchaseV11dateCreated10Foundation4DateVvp","s:10Networking21ShippingLabelPurchaseV11packageNameSSvp","s:10Networking21ShippingLabelPurchaseV11serviceNameSSvp","s:10Networking21ShippingLabelPurchaseV12productNamesSaySSGvp","s:10Networking21ShippingLabelPurchaseV14trackingNumberSSSgvp","s:10Networking21ShippingLabelPurchaseV16refundableAmountSdvp","s:10Networking21ShippingLabelPurchaseV6refund0A4Core0bC6RefundVSgvp","s:10Networking21ShippingLabelPurchaseV6siteIDs5Int64Vvp","s:10Networking21ShippingLabelPurchaseV7orderIDs5Int64Vvp","s:10Networking21ShippingLabelPurchaseV9carrierIDSSSgvp","s:10Networking21TopEarnersStatsRemoteC04loadbcD03for4unit19latestDateToInclude5limit10completionys5Int64V_0A4Core15StatGranularityOSSSiyAA0b6EarnerD0VSg_s5Error_pSgtctF","s:10Networking21TopEarnersStatsRemoteC13ParameterKeys33_2E862C4E326F31297AB59E387BF010D9LLO","s:10Networking21TopEarnersStatsRemoteC9Constants33_2E862C4E326F31297AB59E387BF010D9LLO","s:10Networking22AnnouncementsContainer33_05F986C0F5B32F55C16A19F8B7F6B9A8LLV13announcementsSayAA12AnnouncementVGvp","s:10Networking22GoogleAdsCampaignStatsV6siteIDs5Int64Vvp","s:10Networking22ShippingLabelPrintDataV8mimeType13base64ContentACSS_SStcfc","s:10Networking22ShippingLabelPrintDataV8mimeTypeSSvp","s:10Networking23JetpackConnectionRemoteC07accountC3URL33_C21D80DF3870DF7CF4835CBCA2DB7D25LL10Foundation0F0VSgvp","s:10Networking23JetpackConnectionRemoteC4Path33_C21D80DF3870DF7CF4835CBCA2DB7D25LLO13jetpackModuleSSvpZ","s:10Networking23JetpackConnectionRemoteC9Constants33_C21D80DF3870DF7CF4835CBCA2DB7D25LLO014jetpackAccountC3URLSSvpZ","s:10Networking23SiteSettingsRemoteErrorO","s:10Networking23WooPaymentsManualPayoutV","s:10Networking24InboxNotesRemoteProtocolP","s:10Networking24ShippingLabelCustomsFormV4ItemV2ids5Int64Vvp","s:10Networking24WCPayNullAccountEnvelope33_C7849EFE2D3FDEFDC375D54EE6AFA8DDLLV10emptyArraySaySSGvp","s:10Networking25DotcomSitePluginsResponse33_9F73D98974B6C8D95F6BC827D24C2BAELLV","s:10Networking25ProductAddOnEnvelopeErrorO","s:10Networking25ProductImageStatusStorageC03addD0yyAA0bcD0OF","s:10Networking25ProductImageStatusStorageC04findD05whereAA0bcD0OSgSbAGXE_tF","s:10Networking25ProductImageStatusStorageC06removeD0yyAA0bcD0OF","s:10Networking25ProductImageStatusStorageC06updateD0yyAA0bcD0OF","s:10Networking25ProductImageStatusStorageC14setAllStatusesyySayAA0bcD0OGF","s:10Networking25ProductImageStatusStorageC16internalInstance33_4C7471A4FDA22F3BF067E85EFB39F7D1LLACvpZ","s:10Networking25ShippingLabelStoreOptionsV13originCountrySSvp","s:10Networking25ShippingLabelStoreOptionsV14currencySymbolSSvp","s:10Networking25WooShippingConfigResponseV","s:10Networking25WooShippingConfigResponseV6configAA0bcD0Vvp","s:10Networking25WooShippingConfigResponseV6configAcA0bcD0V_tcfc","s:10Networking25WooShippingUpdateShipmentV013shipmentIdsToD0SDySSSiGvp","s:10Networking25WooShippingUpdateShipmentV9shipmentsSDySSSayAA0bcE4ItemVGGvp","s:10Networking26GoogleAdsCampaignStatsItemV10campaignID0G4Name9rawStatus9subtotalsACs5Int64V_SSSgSSAA0bcdE6TotalsVtcfc","s:10Networking26GoogleAdsCampaignStatsItemV6StatusO","s:10Networking26GoogleAdsCampaignStatsItemV6statusAC6StatusOvp","s:10Networking26GoogleAdsCampaignStatsItemV9rawStatusSSvp","s:10Networking26ProductDownloadDragAndDropC12CodableError33_18387913CDEAF315955C72461C1353B8LLO15invalidDataTypeyA2FmF","s:10Networking26WooPaymentsCurrencyPayoutsV010lastManualE0SayAA0bcG6PayoutVGvp","s:10Networking26WooPaymentsCurrencyPayoutsV8lastPaid0f6ManualE0ACSayAA0bC6PayoutVG_SayAA0bchI0VGtcfc","s:10Networking26WooPaymentsPayoutsOverviewV7deposit7balance7accountAcA0bc8CurrencyD0V_AA0bcI8BalancesVAA0bC20AccountPayoutSummaryVtcfc","s:10Networking26WooPaymentsPayoutsScheduleV9delayDays8intervalACSi_AA0bC14PayoutIntervalOtcfc","s:10Networking27CreateBlazeCampaignResponse33_30A4422958D32530E2BB960B487BDDB6LLV2idSSvp","s:10Networking27WooPaymentsCurrencyBalancesV7instantSayAA0bC7BalanceVGvp","s:10Networking27WooPaymentsCurrencyBalancesV7pending9available7instantACSayAA0bC7BalanceVG_A2Itcfc","s:10Networking29ProductMetadataExtractorErrorO","s:10Networking30WooShippingOriginAddressUpdateV10isVerifiedSbvp","s:10Networking31BlazeForecastedImpressionsInputV11isEvergreenSbvp","s:10Networking31BlazeForecastedImpressionsInputV11totalBudgetSdvp","s:10Networking31BlazeForecastedImpressionsInputV7endDate10Foundation0G0Vvp","s:10Networking31BlazeForecastedImpressionsInputV8timeZoneSSvp","s:10Networking31BlazeForecastedImpressionsInputV9startDate10Foundation0G0Vvp","s:10Networking31BlazeForecastedImpressionsInputV9targetingAA0B13TargetOptionsVSgvp","s:10Networking31WooPaymentsAccountPayoutSummaryV14payoutsBlockedSbvp","s:10Networking31WooPaymentsAccountPayoutSummaryV14payoutsEnabled0G7Blocked0G8Schedule15defaultCurrencyACSb_SbAA0bc7PayoutsJ0VSStcfc","s:10Networking31WooPaymentsAccountPayoutSummaryV14payoutsEnabledSbvp","s:10Networking32DomainCreditCheckoutCartResponse33_1048F16F62488AEBA0EC1CF34883CBDELLV","s:10Networking32POSProductVariationDecodingErrorO16missingProductIDyA2CmF","s:10Networking33InAppPurchasesTransactionResponseV4codeSiSgvp","s:10Networking33InAppPurchasesTransactionResponseV7messageSSSgvp","s:10Networking33ProductAttributeTermDecodingErrorO","s:10Networking33WooShippingUpdateShipmentResponseV","s:10Networking33WooShippingUpdateShipmentResponseV9shipmentsACSDySSSayAA0bcE4ItemVGG_tcfc","s:10Networking33WooShippingUpdateShipmentResponseV9shipmentsSDySSSayAA0bcE4ItemVGGvp","s:10Networking34ShipmentTrackingProviderListMapperV6siteIDACs5Int64V_tcfc","s:10Networking34ShippingLabelPurchaseDecodingErrorO","s:10Networking35WooShippingAddressValidationSuccessV22isTrivialNormalizationSbvp","s:10Networking35WooShippingDestinationAddressUpdateV10isVerifiedSbvp","s:10Networking42WooShippingVerifyDestinationAddressSuccessV22isTrivialNormalizationSbSgvp","s:10Networking4PostV6siteIDs5Int64Vvp","s:10Networking5QueueV","s:10Networking6CouponV11WooCommerceE15formattedAmountSSyF","s:10Networking6LoaderC","s:10Networking7FeatureV5title8subtitle5icons7iconUrl0F6Base64ACSS_SSSayAA0B4IconVGSgS2SSgtcfc","s:10Networking7ProductV11WooCommerceE13imageStatusesSayAA0B11ImageStatusOGvp","s:10Networking7ProductV16productTaxStatusAA0bdE0Ovp","s:10Networking7ProductV17backordersSettingAA0b10BackordersD0Ovp","s:10Networking7ProductV20productShippingClassAA0bdE0VSgvp","s:10Networking7ReceiptV14expirationDateSSvp","s:10Networking9WPComPlanV14formattedPriceSSvp","s:10Networking9WPComPlanV4nameSSvp","s:10Networking9WPComPlanV9productID4name14formattedPriceACs5Int64V_S2Stcfc","s:11Experiments14VariationCacheV12variationKey33_5C6CD6E17077F16528F36E93E5BEE309LLSSvp","s:11Experiments14VariationCacheV6assign9variation3fory010AutomatticA00B0O_AA6ABTestOtKF","s:11Experiments14VariationCacheV9variation3for010AutomatticA00B0OSgAA6ABTestO_tF","s:11Experiments15CachedVariationV","s:11Experiments17ExperimentContextO4noneyA2CmF","s:11Experiments19VariationCacheErrorO","s:11Experiments23ABTestVariationProviderP9variation3for010AutomatticA00C0OAA0B0O_tF","s:11Experiments29CachedABTestVariationProviderV9variation3for010AutomatticA00D0OAA0C0O_tF","s:11Experiments30DefaultABTestVariationProviderV","s:11Experiments6ABTestO9variation010AutomatticA09VariationOSgvp","s:11WooCommerce013ImageAndTitleD17TextTableViewCellC17DataConfigurationV14titleTintColorSo7UIColorCSgvp","s:11WooCommerce016PointOfSaleEntryC4ViewV19horizontalSizeClass33_D78FFC151C43DA7C8597458D4C948290LL7SwiftUI013UserInterfaceiJ0OSgvp","s:11WooCommerce016TitleAndSubtitleD19StatusTableViewCellC015statusContainerH0015_E8E5B2D66A05C9L16E57AB57431432B27LLSo6UIViewCSgvp","s:11WooCommerce016TitleAndSubtitleD19StatusTableViewCellC0H5ModelV2idSSvp","s:11WooCommerce018CardPresentPaymentC6ReaderV12batteryLevelSfSgvp","s:11WooCommerce018CardPresentPaymentC6ReaderV4nameSSvp","s:11WooCommerce020LabeledTextViewTableE4CellC0E5ModelV04textE13MinimumHeight14CoreFoundation7CGFloatVSgvp","s:11WooCommerce020SummaryTableViewCellE5ModelV8calendar33_0A4CB1A06BDF9A066C0AAF4C580CCCB1LL10Foundation8CalendarVvp","s:11WooCommerce029UnderlineableTitleAndSubtitleE19DetailTableViewCellC0I5ModelV2idSSvp","s:11WooCommerce031CardPresentPaymentInvalidatableE12OrchestratorC11saveReceipt3for6paramsy14NetworkingCore5OrderV_8Hardware0cdI10ParametersVtF","s:11WooCommerce035GameControllerBarcodeScannerHostingD0C04gamedE8Observer33_0E1B7A95102A9CED59B4AEB418E08E11LLAA0cdeI0CSgvp","s:11WooCommerce07DefaultA23ShippingItemsDataSourceC05orderE033_B0EF175DDC38F18952FFE29F01ED0CB9LLSay14NetworkingCore9OrderItemVGvp","s:11WooCommerce0A14AnalyticsEventV10SitePickerO05newToA6TappedACyFZ","s:11WooCommerce0A14AnalyticsEventV11FeatureCardO6SourceO3key33_CFB5B296482862361F35904C1880A987LLSSvpZ","s:11WooCommerce0A14AnalyticsEventV11IssueRefundO16nextButtonTapped7orderIDACs5Int64V_tFZ","s:11WooCommerce0A14AnalyticsEventV11IssueRefundO21selectAllButtonTapped7orderIDACs5Int64V_tFZ","s:11WooCommerce0A14AnalyticsEventV12CustomFieldsO013productDetaileF6TappedACyFZ","s:11WooCommerce0A14AnalyticsEventV12PaymentsFlowO4Keys33_CFB5B296482862361F35904C1880A987LLO5stateSSvpZ","s:11WooCommerce0A14AnalyticsEventV13ProductFormAIO37productDescriptionAIPauseButtonTappedACyFZ","s:11WooCommerce0A14AnalyticsEventV13ProductNameAIO","s:11WooCommerce0A14AnalyticsEventV13StoreCreationO021storeReadyAlertSwitchE6TappedACyFZ","s:11WooCommerce0A14AnalyticsEventV13StoreCreationO04siteF11FlowStarted6sourceAcE6SourceO_tFZ","s:11WooCommerce0A14AnalyticsEventV13StoreCreationO04siteF12ProfilerDatayAC10Networking0eH7AnswersVFZ","s:11WooCommerce0A14AnalyticsEventV13StoreCreationO04siteF13SitePreviewedACyFZ","s:11WooCommerce0A14AnalyticsEventV13StoreCreationO04siteF14RequestSuccess0G2ID10domainNameACs5Int64V_SStFZ","s:11WooCommerce0A14AnalyticsEventV13StoreCreationO04siteF14TimeoutRetriedACyFZ","s:11WooCommerce0A14AnalyticsEventV13StoreCreationO04siteF16TryForFreeTappedACyFZ","s:11WooCommerce0A14AnalyticsEventV13StoreCreationO04siteF19PropertiesOutOfSyncACyFZ","s:11WooCommerce0A14AnalyticsEventV13StoreCreationO04siteF23ProfilerQuestionSkipped4stepAcE4StepO_tFZ","s:11WooCommerce0A14AnalyticsEventV13StoreCreationO04siteF4Step4stepAcE0H0O_tFZ","s:11WooCommerce0A14AnalyticsEventV13StoreCreationO04siteF6Failed6source5error4flow11isFreeTrialAcE6SourceO_s5Error_pAE4FlowOSbtFZ","s:11WooCommerce0A14AnalyticsEventV13StoreCreationO04siteF8TimedOutACyFZ","s:11WooCommerce0A14AnalyticsEventV13StoreCreationO04siteF9Dismissed6source4flow11isFreeTrialAcE6SourceO_AE4FlowOSbtFZ","s:11WooCommerce0A14AnalyticsEventV13StoreCreationO04sitef6ManageE6TappedACyFZ","s:11WooCommerce0A14AnalyticsEventV13StoreCreationO0E12PickerSourceO","s:11WooCommerce0A14AnalyticsEventV13StoreCreationO11siteCreated6source0G3URL4flow11isFreeTrial11waitingTimeAcE6SourceO_SSAE4FlowOSbSStFZ","s:11WooCommerce0A14AnalyticsEventV13StoreCreationO21signupFormLoginTappedACyFZ","s:11WooCommerce0A14AnalyticsEventV13StoreCreationO24storeReadyAlertDisplayedACyFZ","s:11WooCommerce0A14AnalyticsEventV13StoreCreationO29loginPrologueCreateSiteTapped11isFreeTrialACSb_tFZ","s:11WooCommerce0A14AnalyticsEventV13StoreCreationO3Key33_C2068A0065351A4FB414C3659DA9BB01LLO11countryCodeSSvpZ","s:11WooCommerce0A14AnalyticsEventV13StoreCreationO3Key33_C2068A0065351A4FB414C3659DA9BB01LLO11isFreeTrialSSvpZ","s:11WooCommerce0A14AnalyticsEventV13StoreCreationO3Key33_C2068A0065351A4FB414C3659DA9BB01LLO11waitingTimeSSvpZ","s:11WooCommerce0A14AnalyticsEventV13StoreCreationO3Key33_C2068A0065351A4FB414C3659DA9BB01LLO13initialDomainSSvpZ","s:11WooCommerce0A14AnalyticsEventV13StoreCreationO3Key33_C2068A0065351A4FB414C3659DA9BB01LLO13sellingStatusSSvpZ","s:11WooCommerce0A14AnalyticsEventV13StoreCreationO3Key33_C2068A0065351A4FB414C3659DA9BB01LLO16sellingPlatformsSSvpZ","s:11WooCommerce0A14AnalyticsEventV13StoreCreationO3Key33_C2068A0065351A4FB414C3659DA9BB01LLO3urlSSvpZ","s:11WooCommerce0A14AnalyticsEventV13StoreCreationO3Key33_C2068A0065351A4FB414C3659DA9BB01LLO4flowSSvpZ","s:11WooCommerce0A14AnalyticsEventV13StoreCreationO3Key33_C2068A0065351A4FB414C3659DA9BB01LLO4stepSSvpZ","s:11WooCommerce0A14AnalyticsEventV13StoreCreationO3Key33_C2068A0065351A4FB414C3659DA9BB01LLO6sourceSSvpZ","s:11WooCommerce0A14AnalyticsEventV13StoreCreationO3Key33_C2068A0065351A4FB414C3659DA9BB01LLO8categorySSvpZ","s:11WooCommerce0A14AnalyticsEventV13StoreCreationO3Key33_C2068A0065351A4FB414C3659DA9BB01LLO9newSiteIDSSvpZ","s:11WooCommerce0A14AnalyticsEventV13StoreCreationO4FlowO","s:11WooCommerce0A14AnalyticsEventV13StoreCreationO4StepO","s:11WooCommerce0A14AnalyticsEventV13StoreCreationO6SourceO","s:11WooCommerce0A14AnalyticsEventV14InAppPurchasesO23planUpgradeScreenLoaded6sourceAcE6SourceO_tFZ","s:11WooCommerce0A14AnalyticsEventV14InAppPurchasesO6SourceO","s:11WooCommerce0A14AnalyticsEventV14SimplePaymentsO06simpleF19MigrationSheetShownACyFZ","s:11WooCommerce0A14AnalyticsEventV14SimplePaymentsO06simpleF29MigrationSheetAddCustomAmountACyFZ","s:11WooCommerce0A14AnalyticsEventV15ProductCreationO3Key33_93869583A706912CA6E18305067A75ACLLO12creationTypeSSvpZ","s:11WooCommerce0A14AnalyticsEventV16OrderDetailsEditO28orderDetailPaymentLinkSharedACyFZ","s:11WooCommerce0A14AnalyticsEventV17OrderDetailAddOnsO25betaFeaturesSwitchToggled4isOnACSb_tFZ","s:11WooCommerce0A14AnalyticsEventV17OrderDetailAddOnsO4Keys33_CFB5B296482862361F35904C1880A987LLO5stateSSvpZ","s:11WooCommerce0A14AnalyticsEventV17ProductCreationAIO25productNameContinueTappedACyFZ","s:11WooCommerce0A14AnalyticsEventV17ProductCreationAIO6SurveyO","s:11WooCommerce0A14AnalyticsEventV20DashboardCustomRangeO11tabSelectedACyFZ","s:11WooCommerce0A14AnalyticsEventV30InPersonPaymentsFeedbackBannerO","s:11WooCommerce0A14AnalyticsEventV5BlazeO3Key33_B767F6CF84DC740BBA8619895253257ALLO4stepSSvpZ","s:11WooCommerce0A14AnalyticsEventV5BlazeO4StepO","s:11WooCommerce0A14AnalyticsEventV9DashboardO25dashboardTimezonesDiffers13localTimezone05storeJ0ACSd_SdtFZ","s:11WooCommerce0A14AnalyticsEventV9DashboardO4Keys33_7541147E74628D38CC38A85A89660CDALLO13localTimezoneSSvpZ","s:11WooCommerce0A14AnalyticsEventV9DashboardO4Keys33_7541147E74628D38CC38A85A89660CDALLO13storeTimezoneSSvpZ","s:11WooCommerce0A17CrashLoggingStackV27willEnterForegroundObserver33_A17FB402F8B02090B0F93DE002CBCD20LLSo8NSObject_pvp","s:11WooCommerce0A17CrashLoggingStackV31QueuedLogsDidChangeNotificationSo18NSNotificationNameavpZ","s:11WooCommerce0A17CrashLoggingStackV8logError_8userInfo5levelys0G0_p_SDySSypGSg0A14FoundationCore13SeverityLevelOtF","s:11WooCommerce0A18BasicTableViewCellC14accessoryImageSo7UIImageCSgvp","s:11WooCommerce0A18BasicTableViewCellC20applyActionableStyleyyF","s:11WooCommerce0A18ShippingCustomsRowV6Layout33_A6564BA9C9A9F3C34A4732A3A357D022LLO19statusBadgeFontSize14CoreFoundation7CGFloatVvpZ","s:11WooCommerce0A18ShippingCustomsRowV6Layout33_A6564BA9C9A9F3C34A4732A3A357D022LLO20customsTitleFontSize14CoreFoundation7CGFloatVvpZ","s:11WooCommerce0A21ShippingPackageSourceO8sourceIDSSSgvp","s:11WooCommerce0A22ShippingAddPackageViewV10weightUnit33_4C9A6416305FA782D22D3E51CF1682CELLSSvp","s:11WooCommerce0A22ShippingAddPackageViewV11cancellable33_4C9A6416305FA782D22D3E51CF1682CELL7Combine14AnyCancellableCSgvp","s:11WooCommerce0A22ShippingAddPackageViewV14dimensionsUnit33_4C9A6416305FA782D22D3E51CF1682CELLSSvp","s:11WooCommerce0A22ShippingItemsViewModelC12Localization33_7C87F9181F9255BF66649B40FCEC6C32LLO16dimensionsFormatSSvpZ","s:11WooCommerce0A22ShippingItemsViewModelC16itemsDetailLabelSSvp","s:11WooCommerce0A22ShippingItemsViewModelC8itemRowsSayAA0ac7ItemRoweF0VGvp","s:11WooCommerce0A24ShippingCreateLabelsViewV12Localization023_F37F1EF63CB8D1ABACF800L8E7B1B966LLO11BottomSheetO9paperSizeSSvpZ","s:11WooCommerce0A24ShippingCreateLabelsViewV6Layout023_F37F1EF63CB8D1ABACF800L8E7B1B966LLO11chevronSize14CoreFoundation7CGFloatVvpZ","s:11WooCommerce0A24ShippingCreateLabelsViewV6Layout023_F37F1EF63CB8D1ABACF800L8E7B1B966LLO9rowHeight14CoreFoundation7CGFloatVvpZ","s:11WooCommerce0A25ShippingPackageOptionViewV14showTopDividerSbvp","s:11WooCommerce0A25ShippingPaymentMethodLineO04CarddeF9ViewModelV2ids5Int64Vvp","s:11WooCommerce0A26ShippingSplitShipmentsViewV6Layout33_5CC4A26E63113B475248AEAC23C5DDC4LLO11borderWidth14CoreFoundation7CGFloatVvpZ","s:11WooCommerce0A26ShippingSplitShipmentsViewV6Layout33_5CC4A26E63113B475248AEAC23C5DDC4LLO18borderCornerRadius14CoreFoundation7CGFloatVvpZ","s:11WooCommerce0A27RoundedBorderTextFieldStyleV5_body13configurationQr7SwiftUI0eF0VyAF01_efG5LabelVG_tF","s:11WooCommerce0A27ShippingAddPackageViewModelC20allPredefinedOptions33_19EC71D6F029CF7A6F732A9E3675CB7ELLSay10Networking0ac7CarrieriJ0VGvp","s:11WooCommerce0A29ShippingCreateLabelsViewModelC12postPurchaseAA0ac4PostifG0CSgvp","s:11WooCommerce0A29ShippingCreateLabelsViewModelC15currentShipmentAA0ac14SplitShipmentsfG0C0I0Vvp","s:11WooCommerce0A35PaymentsPayoutsCurrencyOverviewViewV21showPayoutSummaryInfo33_EE529E84B566FBBD3F631FE34A7A43A2LLSbvp","s:11WooCommerce0A40PaymentsPayoutsCurrencyOverviewViewModelC12Localization33_2AAA50646096BAB2A7C840BB0E86C5F6LLO19estimatedDateStringSSvpZ","s:11WooCommerce0A40ShippingCustomsItemDescriptionInfoDialogV6LayoutO13dividerHeight14CoreFoundation7CGFloatVvpZ","s:11WooCommerce0A40ShippingCustomsItemDescriptionInfoDialogV6LayoutO20taxLinesInnerSpacing14CoreFoundation7CGFloatVvpZ","s:11WooCommerce0A41ShippingCreateLabelsViewHostingControllerC9viewModelAA0acdefJ0Cvp","s:11WooCommerce0A42ShippingCustomsItemOriginCountryInfoDialogV5scale33_BCAD4991F148E96979A67440A6D76BDBLL14CoreFoundation7CGFloatVvp","s:11WooCommerce0A42ShippingCustomsItemOriginCountryInfoDialogV6LayoutO13dividerHeight14CoreFoundation7CGFloatVvpZ","s:11WooCommerce0A42ShippingCustomsItemOriginCountryInfoDialogV6LayoutO20taxLinesInnerSpacing14CoreFoundation7CGFloatVvpZ","s:11WooCommerce0A42ShippingCustomsItemOriginCountryInfoDialogV6LayoutO21externalLinkImageSize14CoreFoundation7CGFloatVvpZ","s:11WooCommerce0A9ConstantsO","s:11WooCommerce0A9ConstantsO16defaultStoreNameSSvpZ","s:11WooCommerce0A9ConstantsO19applicationPasswordSSvpZ","s:11WooCommerce0A9ConstantsO19keychainServiceNameSSvpZ","s:11WooCommerce0A9WPComPlanV","s:11WooCommerce0A9WPComPlanV08SkeletoncD7Product33_2EF44F0D109B805A31D10CE32586CD9BLLV11descriptionSSvp","s:11WooCommerce0A9WPComPlanV09hardcodedD11DataIsValidSbvp","s:11WooCommerce0A9WPComPlanV27shouldDisplayIsPopularBadgeSbvp","s:11WooCommerce10BadgeLabelC11borderWidth0E5Color5frameAC14CoreFoundation7CGFloatV_So7UIColorCSo6CGRectVtcfc","s:11WooCommerce10BadgeLabelC9setupView33_1685E3FE0154F95CFB7355DAB9CE29F7LLyyF","s:11WooCommerce10TotalsViewV07PaymentD6Layout33_2E53C83948E77FD2D742991080BDD25BLLV15backgroundColor7SwiftUI0N0Vvp","s:11WooCommerce11AIToneVoiceO","s:11WooCommerce11AppDelegateC23jetpackSetupCoordinator33_AC2B85D03F88EE646416F2C4AF52A291LLAA07JetpackfG0CSgvp","s:11WooCommerce11CoordinatorP","s:11WooCommerce11ItemListRowV8posModel33_CC5E36E6522DA7255AA546BDA407E82DLLAA020PointOfSaleAggregateG0Cvp","s:11WooCommerce11ItemRowViewV15dynamicTypeSize7SwiftUI07DynamicgH0Ovp","s:11WooCommerce11ToolbarViewC15addDividerOnTopyyF","s:11WooCommerce12FilterTabBarC03tabE24HeightConstraintPrioritySfvp","s:11WooCommerce12FilterTabBarC13accessoryViewSo6UIViewCSgvp","s:11WooCommerce12FilterTabBarC21currentlySelectedItemAA0cdeH0_pSgvp","s:11WooCommerce12ItemListViewV10searchTask33_598BABBDFA0A2F354CBF3BC624FFDFE3LLScTyyts5NeverOGSgvp","s:11WooCommerce12ItemListViewV11BannerState33_598BABBDFA0A2F354CBF3BC624FFDFE3LLO","s:11WooCommerce12ItemListViewV12featureFlags33_598BABBDFA0A2F354CBF3BC624FFDFE3LLAA23POSFeatureFlagProviding_pvp","s:11WooCommerce12ItemListViewV15didFinishSearch33_598BABBDFA0A2F354CBF3BC624FFDFE3LLSbvp","s:11WooCommerce12ItemListViewV15dynamicTypeSize33_598BABBDFA0A2F354CBF3BC624FFDFE3LL7SwiftUI07DynamicgH0Ovp","s:11WooCommerce12Localization33_952842152DE9CF0D87892A188F42DD70LLO21tapToPayLearnMoreTextSSvpZ","s:11WooCommerce12Localization33_BFC5D69B639B470830B2404485592FEELLO5titleSSvpZ","s:11WooCommerce12Localization33_BFC5D69B639B470830B2404485592FEELLO9learnMoreSSvpZ","s:11WooCommerce12Localization33_CA46D3B94DBCDCFB151C85DCC818A281LLO12invalidEmailSSvpZ","s:11WooCommerce12Localization33_EDF879A393D54559F38A697A5627AED9LLO13quantityLabelSSvpZ","s:11WooCommerce12StringStylesV","s:11WooCommerce12StyleManagerC14chartLabelFontSo6UIFontCvpZ","s:11WooCommerce12StyleManagerC15thinCaptionFontSo6UIFontCvpZ","s:11WooCommerce12StyleManagerC16headlineSemiBoldSo6UIFontCvpZ","s:11WooCommerce12UpgradesViewV6Layout33_2EF44F0D109B805A31D10CE32586CD9BLLV12smallPadding14CoreFoundation7CGFloatVvpZ","s:11WooCommerce12UpgradesViewV6Layout33_2EF44F0D109B805A31D10CE32586CD9BLLV14contentSpacing14CoreFoundation7CGFloatVvpZ","s:11WooCommerce12UpgradesViewV6Layout33_2EF44F0D109B805A31D10CE32586CD9BLLV7padding14CoreFoundation7CGFloatVvpZ","s:11WooCommerce12ZendeskForms33_C3E31659A71B27E928FA313AD7B14A5DLLO3IDsO11siteAddresss5Int64VvpZ","s:11WooCommerce12ZendeskForms33_C3E31659A71B27E928FA313AD7B14A5DLLO3IDsO11subCategorys5Int64VvpZ","s:11WooCommerce12ZendeskForms33_C3E31659A71B27E928FA313AD7B14A5DLLO3IDsO8categorys5Int64VvpZ","s:11WooCommerce13AuthenticatorP23showSiteCredentialLogin4from7siteURL12onCompletionySo16UIViewControllerC_SSy09WordPressC00oP14OrgCredentialsVctFZ","s:11WooCommerce13ChildItemListV12Localization33_D5120C025417124F6045765755069662LLO","s:11WooCommerce13CouponDetailsV12Localization33_AA5E7FF84CCB15EB3C9D6AC2C38786C8LLO05usageD0SSvpZ","s:11WooCommerce13CouponDetailsV9DetailRow33_AA5E7FF84CCB15EB3C9D6AC2C38786C8LLV","s:11WooCommerce13DynamicHStackV","s:11WooCommerce13DynamicVStackV","s:11WooCommerce13ItemListStateO13isInlineErrorSbvp","s:11WooCommerce13ItemListStateO7isErrorSbvp","s:11WooCommerce13ItemListStateO9isLoadingSbvp","s:11WooCommerce13RoundedBorderV6Layout33_FF9DEFB8CD6FF28E8DB1D79788CE6C39LLO6height14CoreFoundation7CGFloatVvpZ","s:11WooCommerce13ScanToPayViewV6LayoutO17backgroundOpacity14CoreFoundation7CGFloatVvpZ","s:11WooCommerce13SegmentedViewV9selection5viewsACyxG7SwiftUI7BindingVySiG_SayxGtcfc","s:11WooCommerce13TopLoaderViewC05stackE033_32E8926391CC2B27973AF062D382A28BLLSo07UIStackE0CSgvp","s:11WooCommerce13WCShipCTAViewV2iO33_24EE720FF1B4362D8AD2721ACD6827BCLL6Inject17InjectionObserverCvp","s:11WooCommerce14ApiCredentialsV12tracksPrefixSSvpZ","s:11WooCommerce14AppCoordinatorC024upgradesViewPresentationD033_DB13E20A0BF97D46E79BF827D3DBDF4BLLAA08UpgradesfgD0Cvp","s:11WooCommerce14AppCoordinatorC12Localization33_DB13E20A0BF97D46E79BF827D3DBDF4BLLO","s:11WooCommerce14AppCoordinatorC18featureFlagService33_DB13E20A0BF97D46E79BF827D3DBDF4BLL11Experiments07FeaturefG0_pvp","s:11WooCommerce14AppCoordinatorC18switchStoreUseCase33_DB13E20A0BF97D46E79BF827D3DBDF4BLLAA06SwitchfgH8Protocol_pvp","s:11WooCommerce14AppCoordinatorC27installPendingThemeIfNeeded33_DB13E20A0BF97D46E79BF827D3DBDF4BLL6siteIDys5Int64V_tF","s:11WooCommerce14CurrencySymbolV","s:11WooCommerce14POSSearchFieldV06searchD6Height33_6A46306541CB1809D8F5FF26EA7534AALL14CoreFoundation7CGFloatVvp","s:11WooCommerce14ProductFactoryV03newC04from10Networking0C0VAH_tF","s:11WooCommerce14ProductStepperV5scale33_EDF879A393D54559F38A697A5627AED9LL14CoreFoundation7CGFloatVvp","s:11WooCommerce14ServiceLocatorC014setFeatureFlagC0yy11Experiments0fgC0_pFZ","s:11WooCommerce14ServiceLocatorC019setShippingSettingsC0yy8Yosemite0fgC0_pFZ","s:11WooCommerce14ServiceLocatorC12setAnalyticsyy0A10Foundation0F0_pFZ","s:11WooCommerce14ServiceLocatorC13setCardReaderyy8Hardware0fgC0_pFZ","s:11WooCommerce14ServiceLocatorC13setFileLoggeryyAA4Logs_pFZ","s:11WooCommerce14ServiceLocatorC15setCrashLoggingyyAA0fG5Stack_pFZ","s:11WooCommerce14ServiceLocatorC17setReceiptPrinteryy8Hardware0gC0_pFZ","s:11WooCommerce14ServiceLocatorC17setStorageManageryy0F008CoreDataG0CFZ","s:11WooCommerce14ServiceLocatorC18setNoticePresenteryyAA0fG0_pFZ","s:11WooCommerce14ServiceLocatorC19setCurrencySettingsyy0A14FoundationCore0fG0CFZ","s:11WooCommerce14ServiceLocatorC19setPushNotesManageryyAA0fgH0_pFZ","s:11WooCommerce14ServiceLocatorC23setConnectivityObserveryy0A10Foundation0fG0_pFZ","s:11WooCommerce14ServiceLocatorC23setConnectivityObserveryyAA0fG0_pFZ","s:11WooCommerce14ServiceLocatorC23setProductImageUploaderyyAA0fgH8Protocol_pFZ","s:11WooCommerce14ServiceLocatorC23setSelectedSiteSettingsyyAA0fgH0CFZ","s:11WooCommerce14ServiceLocatorC24setAuthenticationManageryyAA0F0_pFZ","s:11WooCommerce14ServiceLocatorC27setCardReaderConfigProvideryy8Yosemite06CommongH9Providing_pFZ","s:11WooCommerce14ServiceLocatorC28setGeneralAppSettingsStorageyy0I00fghI0VFZ","s:11WooCommerce14ThemeInstallerP08scheduleC7Install7themeID04siteH0ySS_s5Int64VtF","s:11WooCommerce14TotalFieldView33_2E53C83948E77FD2D742991080BDD25BLLV15dynamicTypeSize7SwiftUI07DynamicmN0Ovp","s:11WooCommerce14ZendeskManagerC14createIdentity9presentIn10completionySo16UIViewControllerC_ySbctF","s:11WooCommerce15CouponListStateO19shouldShowTopBannerSbvp","s:11WooCommerce15MultiShadowView33_96544B89EF2149EECD02A1A70984735ELLC9fillColorSo7UIColorCvp","s:11WooCommerce15SearchUICommandPAAE46configureEmptyStateViewControllerBeforeDisplay04viewI013searchKeywordyAA0fghI0C_SStF","s:11WooCommerce15StorePlanBannerV12LocalizationO","s:11WooCommerce15StringFormatterV","s:11WooCommerce15TableFooterViewC10iconHeight33_4B3BDFC46F1C88BEED62F2896DD1B47CLLSo18NSLayoutConstraintCSgvp","s:11WooCommerce15TableFooterViewC15reuseIdentifierSSvpZ","s:11WooCommerce15TableFooterViewC9iconWidth33_4B3BDFC46F1C88BEED62F2896DD1B47CLLSo18NSLayoutConstraintCSgvp","s:11WooCommerce16AppRatingManagerC","s:11WooCommerce16AppRatingManagerC016hasUserEverLikedC0SbyF","s:11WooCommerce16AppRatingManagerC019hasUserEverDislikedC0SbyF","s:11WooCommerce16AppRatingManagerC19likedCurrentVersionyyF","s:11WooCommerce16AppRatingManagerC22dislikedCurrentVersionyyF","s:11WooCommerce16AppRatingManagerC25incrementSignificantEventyyF","s:11WooCommerce16AppRatingManagerC28declinedToRateCurrentVersionyyF","s:11WooCommerce16AppRatingManagerC29_overrideLastPromptToRateDateyy10Foundation0K0VF","s:11WooCommerce16AppRatingManagerC29gaveFeedbackForCurrentVersionyyF","s:11WooCommerce16AppRatingManagerC31_overridePromptingDisabledLocalyySbF","s:11WooCommerce16AppRatingManagerC3Key33_26D946D70A3EECF8E72369FFB851FE82LLO13userLikeCountSSvpZ","s:11WooCommerce16AppRatingManagerC3Key33_26D946D70A3EECF8E72369FFB851FE82LLO16userDislikeCountSSvpZ","s:11WooCommerce16HubMenuViewModelC08selectedD2IDSSSgvp","s:11WooCommerce16HubMenuViewModelC17posCouponProvider8Yosemite011PointOfSaleH15ServiceProtocol_pvp","s:11WooCommerce16HubMenuViewModelC18barcodeScanService8Yosemite018PointOfSaleBarcodehI0Cvp","s:11WooCommerce16HubMenuViewModelC18generalAppSettings33_DB9610FC785E62BB69B47010E9F449B9LL7Storage07GeneralhiR0Vvp","s:11WooCommerce16HubMenuViewModelC22updateTrackEventPrefix33_DB9610FC785E62BB69B47010E9F449B9LLyySbF","s:11WooCommerce16HubMenuViewModelC24updateInAppNotifications33_DB9610FC785E62BB69B47010E9F449B9LLyySbF","s:11WooCommerce16HubMenuViewModelC25cardPresentPaymentServiceAA04CardhI6Facade_pSgvp","s:11WooCommerce16HubMenuViewModelC27posItemFetchStrategyFactory8Yosemite011PointOfSalehijK0Cvp","s:11WooCommerce16HubMenuViewModelC28refreshBlazeEligibilityCheckyyF","s:11WooCommerce16HubMenuViewModelC29cardPresentPaymentsOnboarding33_DB9610FC785E62BB69B47010E9F449B9LLAA04CardhiJ15UseCaseProtocol_pvp","s:11WooCommerce16HubMenuViewModelC29posCouponFetchStrategyFactory8Yosemite011PointOfSalehijK0Vvp","s:11WooCommerce16HubMenuViewModelC29tapToPayBadgePromotionCheckerAA03TaphijkL0Cvp","s:11WooCommerce16HubMenuViewModelC34posPopularItemFetchStrategyFactory8Yosemite016PointOfSaleFixedijkL0Cvp","s:11WooCommerce16HubMenuViewModelC40updateDefaultConfigurationForPointOfSaleyySbF","s:11WooCommerce16ItemToFulfillRowV20productOrVariationIDs5Int64Vvp","s:11WooCommerce16JetpackSetupViewV9Constants33_02A776E4042E8756E6FC19434491147BLLO24stepItemsVerticalSpacing14CoreFoundation7CGFloatVvpZ","s:11WooCommerce16MainTabViewModelC18featureFlagService33_AD2E272F03141D7E73E25732DB21DCD4LL11Experiments07FeaturehI0_pvp","s:11WooCommerce16NewNoteViewModelC10orderNotesSay14NetworkingCore05OrderD0VGvp","s:11WooCommerce16NewNoteViewModelC6siteIDs5Int64Vvp","s:11WooCommerce16NoZendeskManagerV","s:11WooCommerce16POSItemImageViewV9Constants33_C1DA3D72F59908231AEAFCE8A3773E3CLLO","s:11WooCommerce16PushNotesManagerP22cancelAllNotificationsyyYaF","s:11WooCommerce16PushNotesManagerP23backgroundNotifications7Combine12AnyPublisherVyAA0C12NotificationVs5NeverOGvp","s:11WooCommerce16PushNotesManagerP30ensureAuthorizationIsRequested23includesProvisionalAuth12onCompletionySb_ySbcSgtF","s:11WooCommerce16PushNotesManagerP30registerForRemoteNotificationsyyF","s:11WooCommerce16ReusableTableRowP","s:11WooCommerce16ReviewsViewModelC14refreshResultsyyF","s:11WooCommerce16ReviewsViewModelC8Settings33_9AE60D64595CBC24479246E8ED005EABLLO8pageSizeSivpZ","s:11WooCommerce16StringDescriptorP10attributes4fromSDySo012NSAttributedC3KeyaypGSgAA0C6StylesV_tF","s:11WooCommerce16StringDescriptorP3url10Foundation3URLVSgvp","s:11WooCommerce16StringDescriptorP5rangeSo8_NSRangeVvp","s:11WooCommerce16StringDescriptorP5valueSSSgvp","s:11WooCommerce16TitleAndValueRowV9Constants33_A60AB5FD954B2F4C693B5F5F691661FBLLO9maxHeight14CoreFoundation7CGFloatVvpZ","s:11WooCommerce16TooltipPresenterC09secondaryC6Action33_C51FB4FCC43486FC180E70C4C86D9A1ELLyycSgvp","s:11WooCommerce16WPComPlanProductP11descriptionSSvp","s:11WooCommerce17LocalNotificationV11UserInfoKeyO","s:11WooCommerce17NetworkMonitoringP6cancelyyF","s:11WooCommerce17OrderSynchronizerP15giftCardToApplySSSgvp","s:11WooCommerce17OwnerUpgradesViewV12Localization33_1ACF78A699375A52DEA3EFAC5DFCA92CLLV24featuresHeaderTextFormatSSvpZ","s:11WooCommerce17OwnerUpgradesViewV12Localization33_1ACF78A699375A52DEA3EFAC5DFCA92CLLV29featureDetailsUnavailableTextSSvpZ","s:11WooCommerce17POSTabCoordinatorC22tabContainerController33_029BF6739788F1176873ECCB6839D580LLAA03TabfG0Cvp","s:11WooCommerce17PaginationTrackerC22highestPageBeingSynced33_95D004284C70B8ED18C687AC6745FB99LLSiSgvp","s:11WooCommerce17ProductVisibilityO11descriptionSSvp","s:11WooCommerce17ProductVisibilityO6status8passwordAC10Networking0C6StatusO_SSSgtcfc","s:11WooCommerce17ReviewsDataSourceC07refreshD9ObserversyyF","s:11WooCommerce17ReviewsDataSourceC15filterPredicate33_1DA719824C8769F0DEFEA5FC5EA85E60LLSo11NSPredicateCyF","s:11WooCommerce17SelectableItemRowV2id33_AF6DB3E77694C27CFA41C592D3547FA9LL10Foundation4UUIDVvp","s:11WooCommerce17SettingsViewModelC13zendeskShared33_19B56412F2C983583EB6BEED32EFB1E7LLAA22ZendeskManagerProtocol_pvp","s:11WooCommerce17SettingsViewModelC14storageManager33_19B56412F2C983583EB6BEED32EFB1E7LL7Storage0oG4Type_pvp","s:11WooCommerce17SettingsViewModelC9analytics33_19B56412F2C983583EB6BEED32EFB1E7LL0A10Foundation9Analytics_pvp","s:11WooCommerce17SubscriptionsViewV12Localization33_8966BF29A4C32385184305D5A3040E26LLO18experienceFeaturesSSvpZ","s:11WooCommerce17SubscriptionsViewV19onReportIssueTappedyycSgvp","s:11WooCommerce17SubscriptionsViewV6Layout33_8966BF29A4C32385184305D5A3040E26LLO","s:11WooCommerce17SubtotalFieldView33_2E53C83948E77FD2D742991080BDD25BLLV15dynamicTypeSize7SwiftUI07DynamicmN0Ovp","s:11WooCommerce17TitleAndToggleRowV9Constants33_051EA03152758F64D07C4CE437130079LLO","s:11WooCommerce17TopPerformersViewV13rowTextMargin33_B1B4CFCD2B96E3A750AA812A9C8F343BLL14CoreFoundation7CGFloatVvp","s:11WooCommerce17UpgradesViewModelC5trackyy0A14FoundationCore0A13AnalyticsStatOF","s:11WooCommerce17UpgradesViewModelC5trackyyAA0A13AnalyticsStatOF","s:11WooCommerce17WatchDependenciesV","s:11WooCommerce17WatchDependenciesV7storeID0E4Name16currencySettings11credentials19applicationPassword19enablesCrashReports7accountACs5Int64V_SS0A14FoundationCore08CurrencyI0C010NetworkingS011CredentialsOAP011ApplicationL0VSgSbAP7AccountVSgtcfc","s:11WooCommerce17WatchDependenciesV7storeID0E4Name16currencySettings11credentials19enablesCrashReports7accountACs5Int64V_SS0A14FoundationCore08CurrencyI0C010NetworkingQ011CredentialsOSbAO7AccountVSgtcfc","s:11WooCommerce18ActionSheetStrings33_40B60ACED569B4ABA586F1F653249D62LLO16promoteWithBlazeSSvpZ","s:11WooCommerce18ApplicationAdapterP30registerForRemoteNotificationsyyF","s:11WooCommerce18AuthenticatedStateC18errorObserverToken33_E1BB93928BB5674BE987DB86AC353FB1LLSo8NSObject_pSgvp","s:11WooCommerce18AuthenticatedStateC36trackEventRequestNotificationHandler33_E1BB93928BB5674BE987DB86AC353FB1LLAA05TrackfghI0Cvp","s:11WooCommerce18AuthenticatedStateC8services33_E1BB93928BB5674BE987DB86AC353FB1LLSay8Yosemite16ActionsProcessor_pGvp","s:11WooCommerce18AztecAIViewFactoryV6Layout33_C140245354BF05251E39A31E57EE0F0BLLO8AIButtonO9imageSizeSo6CGSizeVvpZ","s:11WooCommerce18DashboardViewModelC12statsVersion7Storage05StatsG0Ovp","s:11WooCommerce18DashboardViewModelC18featureFlagService33_04BB8AC2B37B0ABC31189D409356ECF5LL11Experiments07FeaturegH0_pvp","s:11WooCommerce18DashboardViewModelC18trackStatsTimezone05localH013siteGMTOffsety10Foundation8TimeZoneV_SdtF","s:11WooCommerce18DashboardViewModelC9Constants33_04BB8AC2B37B0ABC31189D409356ECF5LLO13orderPageSizeSivpZ","s:11WooCommerce18DashboardViewModelC9Constants33_04BB8AC2B37B0ABC31189D409356ECF5LLO15orderPageNumberSivpZ","s:11WooCommerce18DashboardViewModelC9Constants33_04BB8AC2B37B0ABC31189D409356ECF5LLO19dashboardScreenNameSSvpZ","s:11WooCommerce18DashboardViewModelC9Constants33_04BB8AC2B37B0ABC31189D409356ECF5LLO19topEarnerStatsLimitSivpZ","s:11WooCommerce18HubMenuCoordinatorC9Constants33_E04E25F91F056C956FCAF0FE4E689D9FLLO","s:11WooCommerce18LearnMoreViewModelC8tapToPay6source14paymentGatewayAC0A14FoundationCore0A14AnalyticsEventVAAE16InPersonPaymentsO0cD10LinkSourceO_8Yosemite011CardPresentS6PluginOSgtFZ","s:11WooCommerce18LearnMoreViewModelC8tapToPay6source14paymentGatewayAcA0A14AnalyticsEventV16InPersonPaymentsO0cD10LinkSourceO_8Yosemite011CardPresentQ6PluginOSgtFZ","s:11WooCommerce18ModalOverlay_UIKitV","s:11WooCommerce18OrderListViewModelC18featureFlagService33_7CF84F63DC2EEFDB1DCD00B4D325D089LL11Experiments07FeaturehI0_pvp","s:11WooCommerce18OrderListViewModelC21isIPPSupportedCountry33_7CF84F63DC2EEFDB1DCD00B4D325D089LLSbvp","s:11WooCommerce18OrderListViewModelC9analytics33_7CF84F63DC2EEFDB1DCD00B4D325D089LL0A10Foundation9Analytics_pvp","s:11WooCommerce18OrderStatusSectionV6Layout33_08EE51671C05B73BB8178F3F73C87243LLO25linkButtonTrailingPadding14CoreFoundation7CGFloatVvpZ","s:11WooCommerce18OverlayMessageViewC012actionButtonE0So6UIViewCvp","s:11WooCommerce18POSDependenciesKeyV","s:11WooCommerce18PaymentMethodsViewV12LocalizationO11cancelTitleSSvpZ","s:11WooCommerce18SwitchStoreUseCaseC13zendeskShared33_992B21F0E68CDC529AD25AFFC64E36DCLLAA22ZendeskManagerProtocol_pvp","s:11WooCommerce18ThemesCarouselViewV5scale33_58460330D91D0F44DAEBBE79C9582EF2LL14CoreFoundation7CGFloatVvp","s:11WooCommerce18ValidationErrorRowV9minHeight33_6CEDAADABBA480CD161AC6C0AE2AB516LL14CoreFoundation7CGFloatVvp","s:11WooCommerce19AddCustomAmountViewV6Layout33_64CF24CA1EA1A860610121ECD1DF95BDLLO","s:11WooCommerce19AnalyticsReportCardV6Layout33_AC48C3BE3270EF49888FA3AE04C95E79LLO11chartHeight14CoreFoundation7CGFloatVvpZ","s:11WooCommerce19BulkUpdateViewModelC3Rowa","s:11WooCommerce19ButtonTableViewCellC04sendC12TouchUpEvent33_5449A636B1C96DBF47F0F5505AF00141LLyyF","s:11WooCommerce19CouponLineViewModelV12Localization33_131F9098DA97A2234213CA079703D43BLLO","s:11WooCommerce19CouponLineViewModelV14formattedTitleSSvp","s:11WooCommerce19CouponListViewModelC14storageManager33_74B5357195BAAC677FF8EBBA7C33F8FFLL7Storage0pH4Type_pvp","s:11WooCommerce19CustomAmountRowViewV5scale33_15C34DB3D5958B551EEDA2F5B69BC851LL14CoreFoundation7CGFloatVvp","s:11WooCommerce19CustomAmountRowViewV6LayoutO17editIconImageSize14CoreFoundation7CGFloatVvpZ","s:11WooCommerce19LedgerTableViewCellC12getFeesLabelSo7UILabelCyF","s:11WooCommerce19LedgerTableViewCellC12getFeesValueSo7UILabelCyF","s:11WooCommerce19LedgerTableViewCellC13getTaxesLabelSo7UILabelCyF","s:11WooCommerce19LedgerTableViewCellC13getTaxesValueSo7UILabelCyF","s:11WooCommerce19LedgerTableViewCellC13getTotalLabelSo7UILabelCyF","s:11WooCommerce19LedgerTableViewCellC13getTotalValueSo7UILabelCyF","s:11WooCommerce19LedgerTableViewCellC16getDiscountLabelSo7UILabelCyF","s:11WooCommerce19LedgerTableViewCellC16getDiscountValueSo7UILabelCyF","s:11WooCommerce19LedgerTableViewCellC16getShippingLabelSo7UILabelCyF","s:11WooCommerce19LedgerTableViewCellC16getShippingValueSo7UILabelCyF","s:11WooCommerce19LedgerTableViewCellC16getSubtotalLabelSo7UILabelCyF","s:11WooCommerce19LedgerTableViewCellC16getSubtotalValueSo7UILabelCyF","s:11WooCommerce19LedgerTableViewCellC17getGiftCardsLabelSo7UILabelCyF","s:11WooCommerce19LedgerTableViewCellC17getGiftCardsValueSo7UILabelCyF","s:11WooCommerce19LedgerTableViewCellC21totalBottomConstraint33_AB244DC274CF813DDE314F90094C4331LLSo08NSLayoutI0CSgvp","s:11WooCommerce19OrderPaymentSectionV14safeAreaInsets7SwiftUI04EdgeH0Vvp","s:11WooCommerce19OrderPaymentSectionV9Constants020_E64B49F0D08C9F3C956I11EC2EC314BC3LLO17horizontalPadding14CoreFoundation7CGFloatVvpZ","s:11WooCommerce19OrderPaymentSectionV9Constants020_E64B49F0D08C9F3C956I11EC2EC314BC3LLO23infoTooltipCornerRadius14CoreFoundation7CGFloatVvpZ","s:11WooCommerce19PluginListViewModelC11syncPlugins12onCompletionyys6ResultOyyts5Error_pGc_tF","s:11WooCommerce19PluginListViewModelC14observePlugins13onDataChangedyyyc_tF","s:11WooCommerce19ProductRowViewModelC10priceLabelSSSgvp","s:11WooCommerce19ProductRowViewModelC18pricedIndividuallySbvp","s:11WooCommerce19ProductRowViewModelC18stockQuantityLabelSSvp","s:11WooCommerce19ProductRowViewModelC23createStockQuantityText33_B4A9E56797366E26DFB9AC8A776CD728LLSSyF","s:11WooCommerce19ProductRowViewModelC23shouldDisallowDiscountsSbvp","s:11WooCommerce19ProductRowViewModelC9analytics0A10Foundation9Analytics_pvp","s:11WooCommerce19ProductSelectorViewV13ConfigurationV27doneButtonTitlePluralFormatSSvp","s:11WooCommerce19ProductSelectorViewV13ConfigurationV29doneButtonTitleSingularFormatSSvp","s:11WooCommerce19ShippingLineRowViewV5scale33_53B4E2943964EA4C9F9BFB67502BD004LL14CoreFoundation7CGFloatVvp","s:11WooCommerce19ShippingLineRowViewV6Layout33_53B4E2943964EA4C9F9BFB67502BD004LLO17editIconImageSize14CoreFoundation7CGFloatVvpZ","s:11WooCommerce20AddTrackingViewModelC08shipmentD010Networking08ShipmentD0VSgvp","s:11WooCommerce20AddTrackingViewModelC20secondaryActionTitleSSSgvp","s:11WooCommerce20CardWaveProgressView33_3B7532BAFAEBF8DEAD04F07E5D8AC3B7LLV13configuration7SwiftUI0eF18StyleConfigurationVvp","s:11WooCommerce20ConnectivityObserverP13stopObservingyyF","s:11WooCommerce20ConnectivityObserverP14startObservingyyF","s:11WooCommerce20CreateOrderAppIntentV","s:11WooCommerce20CustomFieldViewModelV8valueURL10Foundation0H0VSgvp","s:11WooCommerce20CustomFieldsListViewV16presentationMode7SwiftUI7BindingVyAE012PresentationH0VGvp","s:11WooCommerce20DeauthenticatedStateC8services33_258B751563653E0D0BCA4EFC65025888LLSay8Yosemite0C5StoreCGvp","s:11WooCommerce20DefaultStoresManagerC37invalidWPCOMTokenNotificationObserver019_D8F7FF1995EC592CB2J12AEB1D9AF5CD1LLSo8NSObject_pSgvp","s:11WooCommerce20DefaultStoresManagerC44applicationPasswordGenerationFailureObserver019_D8F7FF1995EC592CB2K12AEB1D9AF5CD1LLSo8NSObject_pSgvp","s:11WooCommerce20EditableProductModelC8passwordSSSgvp","s:11WooCommerce20EmptyPOSConnectivityC13stopObservingyyF","s:11WooCommerce20EmptyPOSConnectivityC14startObservingyyF","s:11WooCommerce20FeeLineTypeViewModel33_93BDBA0312C78AEDB1978DF6EE5A9191LLV12LocalizationO","s:11WooCommerce20FeeLineTypeViewModel33_93BDBA0312C78AEDB1978DF6EE5A9191LLV15navigationTitleSSvp","s:11WooCommerce20FeeLineTypeViewModel33_93BDBA0312C78AEDB1978DF6EE5A9191LLV17removeButtonTitleSSvp","s:11WooCommerce20FeeLineTypeViewModel33_93BDBA0312C78AEDB1978DF6EE5A9191LLV33doneButtonAccessibilityIdentifierSSvp","s:11WooCommerce20FeeLineTypeViewModel33_93BDBA0312C78AEDB1978DF6EE5A9191LLV39fixedAmountFieldAccessibilityIdentifierSSvp","s:11WooCommerce20InPersonPaymentsMenuV12Localization33_7F773D297262388A85DEA4013E0623D7LLO02indE13LearnMoreTextSSvpZ","s:11WooCommerce20InPersonPaymentsMenuV12Localization33_7F773D297262388A85DEA4013E0623D7LLO03wooE19PayoutsSectionTitleSSvpZ","s:11WooCommerce20InPersonPaymentsMenuV12Localization33_7F773D297262388A85DEA4013E0623D7LLO03wooE7PayoutsSSvpZ","s:11WooCommerce20InPersonPaymentsMenuV12Localization33_7F773D297262388A85DEA4013E0623D7LLO13learnMoreLinkSSvpZ","s:11WooCommerce20InPersonPaymentsMenuV12Localization33_7F773D297262388A85DEA4013E0623D7LLO26paymentOptionsSectionTitleSSvpZ","s:11WooCommerce20IssueRefundViewModelC06created12ConfirmationeF012onCompletionyyAA0dheF0Cc_tF","s:11WooCommerce20IssueRefundViewModelC14paymentGateway33_5B6DDDA8505B0B4E8522B145EB8A3C04LL10Networking07PaymentH0VSgvp","s:11WooCommerce20IssueRefundViewModelC16FetchChargeErrorO28unknownPaymentGatewayAccountyA2EmF","s:11WooCommerce20IssueRefundViewModelC19selectAllOrderItemsyyF","s:11WooCommerce20IssueRefundViewModelC21trackNextButtonTappedyyF","s:11WooCommerce20IssueRefundViewModelC26trackSelectAllButtonTapped33_5B6DDDA8505B0B4E8522B145EB8A3C04LLyyF","s:11WooCommerce20IssueRefundViewModelC37createPaymentGatewayResultsController33_5B6DDDA8505B0B4E8522B145EB8A3C04LL8Yosemite0jK0Cy7Storage0hI0CGyF","s:11WooCommerce20MainTabBarControllerC5coder18featureFlagService15noticePresenter20productImageUploader9analytics6stores28posEligibilityCheckerFactory0rsJ0ACSgSo7NSCoderC_11Experiments07FeatureiJ0_pAA06NoticeL0_pAA07ProductnO8Protocol_p0A10Foundation9Analytics_p8Yosemite13StoresManager_pAA013POSEntryPointsT8Protocol_ps5Int64VcSgAU014POSEligibilityJ8Protocol_ptcfc","s:11WooCommerce20OrderSearchUICommandC18featureFlagService33_ED3CB293EE1399852928669A99998259LL11Experiments07FeaturegH0_pvp","s:11WooCommerce20POSSearchContentViewV15dynamicTypeSize33_6A46306541CB1809D8F5FF26EA7534AALL7SwiftUI07DynamicgH0Ovp","s:11WooCommerce20ProductFormDataModelP13averageRatingSSvp","s:11WooCommerce20ProductFormDataModelP14reviewsAllowedSbvp","s:11WooCommerce20ProductFormDataModelP17isShippingEnabledSbyF","s:11WooCommerce20ProductFormDataModelP20canEditQuantityRulesSbvp","s:11WooCommerce20ProductFormDataModelP8passwordSSSgvp","s:11WooCommerce20ProductFormDataModelP8taxClassSSSgvp","s:11WooCommerce20ProductFormDataModelP9hasAddOnsSbvp","s:11WooCommerce20ProductFormViewModelC25productImageActionHandler33_13B17A00CE07BFD84A80478C0CDD087BLLAA0chiJ0Cvp","s:11WooCommerce20ProductImageUploaderC12cancellables33_1580CFDE89F761F12DC700802246E0FALLShy7Combine14AnyCancellableCGvp","s:11WooCommerce20RoleEligibilityErrorO14invalidStoreIdyACs5Int64V_tcACmF","s:11WooCommerce20SelectedSiteSettingsC04siteE0Say10Networking0D7SettingVGvp","s:11WooCommerce20SelectedSiteSettingsC14settingsStream7Combine12AnyPublisherVys5Int64V6siteID_Say10Networking0D7SettingVG0F0AA0E12UpdateSourceO6sourcets5NeverOGvp","s:11WooCommerce20StorePerformanceViewV6Layout33_7EBE9150C052AC2BF08052A05DEB1111LLO11strokeWidth14CoreFoundation7CGFloatVvpZ","s:11WooCommerce20StorePickerViewModelC12refreshSites23currentlySelectedSiteIDys5Int64VSg_tYaF","s:11WooCommerce20StorePickerViewModelC16checkEligibility3for10completionys5Int64V_ys6ResultOyytAA04RoleH5ErrorOGctF","s:11WooCommerce20StorePickerViewModelC4site17thatMatchesSiteID10Networking0J0VSgs5Int64V_tF","s:11WooCommerce20StorePickerViewModelC4site23thatMatchesPossibleURLs10Networking4SiteVSgShySSG_tF","s:11WooCommerce20StringInputFormatterV","s:11WooCommerce20SupportFormViewModelC","s:11WooCommerce20TabbedViewControllerC011tabBarStackD033_E7C12FD6D1712E4F608590C2ED2EDE97LLSo07UIStackD0Cvp","s:11WooCommerce20TabbedViewControllerC012customTabBarD033_E7C12FD6D1712E4F608590C2ED2EDE97LLSo6UIViewCSgvp","s:11WooCommerce20TabbedViewControllerC012removeCustomD10FromTabBaryyF","s:11WooCommerce20TabbedViewControllerC09addCustomD8ToTabBaryySo6UIViewCF","s:11WooCommerce20TabbedViewControllerC10replaceTab2at4withySi_AC0C4ItemVtF","s:11WooCommerce20TabbedViewControllerC14appendToTabBaryyAC0C4ItemVF","s:11WooCommerce20TabbedViewControllerC5items14tabSizingStyle9onDismissACSayAC0C4ItemVG_AA12FilterTabBarC0nhI0OyycSgtcfc","s:11WooCommerce20WebKitViewControllerC14styleBarButton33_D85025A19EEE1BDE0889F08E15F1E506LLyySo05UIBarI4ItemCF","s:11WooCommerce20WebKitViewControllerC8setWidth_04viewH0y14CoreFoundation7CGFloatVSg_AItF","s:11WooCommerce21AddProductCoordinatorC017shouldShowGroupedD4Type011_2C6B836602J20BAAA29DD8EC73936FEF9LLSbvp","s:11WooCommerce21AuthenticationManagerC18getAvailableStores33_4A9503ECCEE967DB8B1A9A532F0B8C78LLSay10Networking4SiteVGyYaF","s:11WooCommerce21AuthenticationManagerC19presentJetpackError33_4A9503ECCEE967DB8B1A9A532F0B8C78LL3for4with2in9onDismissySS_22WordPressAuthenticator0X11CredentialsVSo22UINavigationControllerCyyctF","s:11WooCommerce21AuthenticationManagerC21currentSelfHostedSite33_4A9503ECCEE967DB8B1A9A532F0B8C78LL22WordPressAuthenticator0rs3ComH4InfoCSgvp","s:11WooCommerce21AuthenticationManagerC23abTestVariationProvider33_4A9503ECCEE967DB8B1A9A532F0B8C78LL11Experiments06ABTestgH0_pvp","s:11WooCommerce21AuthenticationManagerC26siteCredentialLoginUseCase33_4A9503ECCEE967DB8B1A9A532F0B8C78LLAA04SitefghI0CSgvp","s:11WooCommerce21AuthenticationManagerC30postSiteCredentialLoginChecker33_4A9503ECCEE967DB8B1A9A532F0B8C78LLAA04PostfghI0CSgvp","s:11WooCommerce21BlazeCampaignItemViewV9Constants33_94F420B2255C60331A122DD85DB8303FLLO","s:11WooCommerce21CashPaymentTenderViewV6LayoutO15verticalSpacing14CoreFoundation7CGFloatVvpZ","s:11WooCommerce21CouponValidationErrorO","s:11WooCommerce21DefaultThemeInstallerV08scheduleD7Install7themeID04siteI0ySS_s5Int64VtF","s:11WooCommerce21DismissableNoticeViewV6LayoutO12cornerRadius14CoreFoundation7CGFloatVvpZ","s:11WooCommerce21ExpandableBottomSheetV19onChangeOfExpansion20alwaysVisibleContent010expandableL0ACyxq_GySbcSg_xycq_yctcfc","s:11WooCommerce21FullFeatureListGroupsV17essentialFeaturesSaySSGvp","s:11WooCommerce21FullFeatureListGroupsV19performanceFeaturesSaySSGvp","s:11WooCommerce21FullFeatureListGroupsV5titleSSvp","s:11WooCommerce21HeadlineTableViewCellC9configure8headlineySS_tF","s:11WooCommerce21HubMenuViewControllerC29tapToPayBadgePromotionChecker33_1C0DC62C6EF23451FEBA26B766CE8816LLAA03TaphijkL0Cvp","s:11WooCommerce21JCPJetpackInstallViewV12siteAdminURL33_8CB4FBAE2451322895296127E5EA3198LLSSvp","s:11WooCommerce21JetpackErrorViewModelV","s:11WooCommerce21NotWPAccountViewModelC12Localization33_37679158E089705C9B3CBB3B9FF44673LLO17tryAnotherAddressSSvpZ","s:11WooCommerce21NotWPAccountViewModelC22storePickerCoordinator33_37679158E089705C9B3CBB3B9FF44673LLAA05StorehI0CSgvp","s:11WooCommerce21OrderDetailsViewModelC12lookUpRefund2by10Networking0I0VSgs5Int64V_tF","s:11WooCommerce21OrderDetailsViewModelC13customerEmailSSSgvp","s:11WooCommerce21OrderDetailsViewModelC13refundedItemsSay10Networking0C10ItemRefundVGvp","s:11WooCommerce21OrderDetailsViewModelC5items33_F7B5E6F6DD06D23342A72B3AF9427179LLSay14NetworkingCore0C4ItemVGvp","s:11WooCommerce21PointOfSaleErrorStateV0F4TypeO15couponsNotFoundyA2EmF","s:11WooCommerce21PrintCustomsFormsViewV12Localization33_9CE270AA2A4C262DD643B457FB535ECELLO15inProgressTitleSSvpZ","s:11WooCommerce21PrintCustomsFormsViewV12Localization33_9CE270AA2A4C262DD643B457FB535ECELLO17inProgressMessageSSvpZ","s:11WooCommerce21ReviewsViewControllerC12lastSeenTime33_87877EAD17AC3C3D4F2E5EF907436EE1LLSSSgvp","s:11WooCommerce21ReviewsViewControllerC8Settings33_87877EAD17AC3C3D4F2E5EF907436EE1LLO25placeholderRowsPerSectionSaySiGvpZ","s:11WooCommerce21StorePlanSynchronizerC20inAppPurchaseManager33_64E6D291222B188C211888AD045EC1BBLLAA02InG30PurchasesForWPComPlansProtocol_pvp","s:11WooCommerce21SubscriptionTrialViewV5scale33_D27C674647AB53682BD0652EB3F3BDD9LL14CoreFoundation7CGFloatVvp","s:11WooCommerce21ULErrorViewControllerC08getImageD0So07UIImageD0CyF","s:11WooCommerce21ULErrorViewControllerC13getTermsLabelSo06UITextD0CyF","s:11WooCommerce21ULErrorViewControllerC18getAuxiliaryButtonSo8UIButtonCyF","s:11WooCommerce21ULErrorViewControllerC19primaryActionButtonSo8UIButtonCyF","s:11WooCommerce21ULErrorViewControllerC21secondaryActionButtonSo8UIButtonCyF","s:11WooCommerce21ULErrorViewControllerC8getLabelSo7UILabelCyF","s:11WooCommerce21WPComLoginCoordinatorC","s:11WooCommerce22AdaptiveModalContainerV12Localization33_CAF3864D2E6AA5748A4D9F8247BA0BE5LLO","s:11WooCommerce22AddEditCouponViewModelC14storageManager33_8C01619A3D6501183179B79624D96A22LL7Storage0pI4Type_pvp","s:11WooCommerce22AsyncPaginationTrackerC22highestPageBeingSynced33_BDE4382F9D94176FD282EE5014BF4220LLSiSgvp","s:11WooCommerce22BottomSheetProductTypeO","s:11WooCommerce22CollapsibleProductCardV5scale33_36664448B7824296104BAA606C7EDDC7LL14CoreFoundation7CGFloatVvp","s:11WooCommerce22CouponDetailsViewModelC6amountSSvp","s:11WooCommerce22EditableOrderViewModelC011PaymentDataeF0V07showNonC10IndicatorsSbvp","s:11WooCommerce22EditableOrderViewModelC011PaymentDataeF0V10couponCodeSSvp","s:11WooCommerce22EditableOrderViewModelC012CustomerDataeF0V8fullNameSSSgvp","s:11WooCommerce22EditableOrderViewModelC014removeItemFromD0yys5Int64VF","s:11WooCommerce22EditableOrderViewModelC024shouldShowSearchButtonInD11AddressFormSbvp","s:11WooCommerce22EditableOrderViewModelC12ScannerErrorO6nilSKUyA2EmF","s:11WooCommerce22EditableOrderViewModelC31toggleProductSelectorVisibilityyyF","s:11WooCommerce22LearnMoreTableViewCellC12onUrlPressed33_376C2F08632A2A44ACE71FD787F14744LLy10Foundation3URLVcSgvp","s:11WooCommerce22LearnMoreTableViewCellC9configure4textySSSg_tF","s:11WooCommerce22NewTaxRateSelectorViewV6LayoutO21externalLinkImageSize14CoreFoundation7CGFloatVvpZ","s:11WooCommerce22NonEditableOrderBannerV8Callbacka","s:11WooCommerce22OrderDetailsDataSourceC013shippingLabelC4Item2atAA09AggregatecI0VSg10Foundation9IndexPathV_tF","s:11WooCommerce22OrderDetailsDataSourceC11couponLines33_1C4484147E2B3D95ED75188E1F29F27DLLSay14NetworkingCore0C10CouponLineVGSgvp","s:11WooCommerce22OrderDetailsDataSourceC25receiptEligibilityUseCase33_1C4484147E2B3D95ED75188E1F29F27DLLAA07ReceipthiJ8Protocol_pvp","s:11WooCommerce22OrderDetailsDataSourceC29isMultiShippingLinesAvailable3forSb14NetworkingCore0C0V_tF","s:11WooCommerce22OrderDetailsDataSourceC32cardPresentPaymentsConfiguration33_1C4484147E2B3D95ED75188E1F29F27DLL8Yosemite04CardhiJ0Vvp","s:11WooCommerce22OrderDetailsDataSourceC7SectionV6footerSSSgvp","s:11WooCommerce22OrderListCellViewModelV11timeCreatedSSvp","s:11WooCommerce22OrderListCellViewModelV5total3forSS14NetworkingCore0C4ItemV_tF","s:11WooCommerce22ProductsViewControllerC026requestAndShowNewTopBannerD033_D63AD9C1AF02BA94A64C79D4E1D2E685LL3foryAA0cjK7FactoryV0K4TypeO_tF","s:11WooCommerce22ProductsViewControllerC07presentC8Feedback33_D63AD9C1AF02BA94A64C79D4E1D2E685LLyyF","s:11WooCommerce22ProductsViewControllerC12Localization33_D63AD9C1AF02BA94A64C79D4E1D2E685LLO27selectAllToolbarButtonTitleSSvpZ","s:11WooCommerce22ProductsViewControllerC21addProductCoordinator33_D63AD9C1AF02BA94A64C79D4E1D2E685LLAA03AddgH0CSgvp","s:11WooCommerce22ProductsViewControllerC23shareProductCoordinator33_D63AD9C1AF02BA94A64C79D4E1D2E685LLAA05SharegH0CSgvp","s:11WooCommerce22ProductsViewControllerC25barcodeScannerCoordinator33_D63AD9C1AF02BA94A64C79D4E1D2E685LLAA013ProducBarcodegH0CSgvp","s:11WooCommerce22RefundDetailsViewModelC8productsSay10Networking7ProductVGvp","s:11WooCommerce22SettingsViewControllerC12Localization33_4DA95ECAB80812ABDA8BECB9ACE70800LLO16inPersonPaymentsSSvpZ","s:11WooCommerce22SettingsViewControllerC16pushNotesManager33_4DA95ECAB80812ABDA8BECB9ACE70800LLAA04PushgH0_pvp","s:11WooCommerce22SettingsViewControllerC23jetpackSetupCoordinator33_4DA95ECAB80812ABDA8BECB9ACE70800LLAA07JetpackgH0CSgvp","s:11WooCommerce22StorePickerCoordinatorC19showRoleErrorScreen3for9errorInfo12onCompletionys5Int64V_7Storage011EligibilityhL0VyyctF","s:11WooCommerce22StorePickerCoordinatorC22roleEligibilityUseCase33_2F77C2481898608D5EB1C645523D2630LLAA04RoleghI0Cvp","s:11WooCommerce22StorePlanSynchronizingP9planStateAA0cd4SyncG0Ovp","s:11WooCommerce22SubscriptionExpiryViewV5scale33_F408F3459794E904E3477B621F7C5C39LL14CoreFoundation7CGFloatVvp","s:11WooCommerce22SubscriptionsViewModelC18featureFlagService33_7B5D8DE3B77DFBC592A56C7977BF4EEFLL11Experiments07FeaturegH0_pvp","s:11WooCommerce22SubscriptionsViewModelC6stores33_7B5D8DE3B77DFBC592A56C7977BF4EEFLL8Yosemite13StoresManager_pvp","s:11WooCommerce22SubscriptionsViewModelC9analytics33_7B5D8DE3B77DFBC592A56C7977BF4EEFLL0A10Foundation9Analytics_pvp","s:11WooCommerce22WPComPasswordLoginViewV9Constants33_EFD3D1233ACC1728660A25CE0268C0FCLLO22contentVerticalSpacing14CoreFoundation7CGFloatVvpZ","s:11WooCommerce22ZendeskManagerProtocolP14createIdentity9presentIn10completionySo16UIViewControllerC_ySbctF","s:11WooCommerce22resetDefaultDebugLevelyyF","s:11WooCommerce23AuthenticationConstantsV44getStartedInstructionsWithWPComSignupEnabledSSvpZ","s:11WooCommerce23BlazePaymentMethodsViewV013isShowingLoaddE10ErrorAlert33_C1C41FAA5CCA211E72076DABCCF0B3D2LLSbvp","s:11WooCommerce23BlazePaymentMethodsViewV12Localization33_C1C41FAA5CCA211E72076DABCCF0B3D2LLO12emailReceiptSSvpZ","s:11WooCommerce23ButtonActivityIndicatorC9Constants33_1556EE47686757D226E0AAABFFA04628LLO","s:11WooCommerce23CardPresentPaymentErrorO","s:11WooCommerce23CardReaderManualRowViewV14safeAreaInsets7SwiftUI04EdgeJ0Vvp","s:11WooCommerce23CollectPaymentAppIntentV","s:11WooCommerce23FilteredOrdersHeaderBarC12Localization33_0B563A5EDC5516C664F252FBC960CA22LLO7filtersSSvpZ","s:11WooCommerce23FilteredOrdersHeaderBarC18filterButtonTapped33_0B563A5EDC5516C664F252FBC960CA22LLyyypF","s:11WooCommerce23JetpackSetupCoordinatorC18featureFlagService33_BF5C6AD9D4C0ED476329235E2EF2CDECLL11Experiments07FeaturegH0_pvp","s:11WooCommerce23JetpackSetupCoordinatorC30setupStepsNavigationController33_BF5C6AD9D4C0ED476329235E2EF2CDECLLSo012UINavigationI0CSgvp","s:11WooCommerce23ManualTrackingViewModelP08shipmentD010Networking08ShipmentD0VSgvp","s:11WooCommerce23ManualTrackingViewModelP20secondaryActionTitleSSSgvp","s:11WooCommerce23MediaPickingCoordinatorC27productImagePickerViewModel33_6F0A9D7928853C1FD8F925F3C0520D50LLAA07ProductghiJ0CSgvp","s:11WooCommerce23OrderFulfillmentUseCaseC0D5ErrorV8activityAC8ActivityOvp","s:11WooCommerce23OrderFulfillmentUseCaseC0D7ProcessV8activityAC8ActivityOvp","s:11WooCommerce23OrderListViewControllerC014firstAvailableC014NetworkingCore0C0VSgvp","s:11WooCommerce23OrderListViewControllerC12Localization33_2B7ED8B8AB02697BE9576DC59E8DED3CLLO13dontShowAgainSSvpZ","s:11WooCommerce23OrderListViewControllerC12Localization33_2B7ED8B8AB02697BE9576DC59E8DED3CLLO13remindMeLaterSSvpZ","s:11WooCommerce23OrderListViewControllerC12Localization33_2B7ED8B8AB02697BE9576DC59E8DED3CLLO19shareFeedbackButtonSSvpZ","s:11WooCommerce23OrderListViewControllerC31inPersonPaymentsSurveyVariation33_2B7ED8B8AB02697BE9576DC59E8DED3CLLAA0jeF0C6SourceOSgvp","s:11WooCommerce23OrderListViewControllerC8Settings33_2B7ED8B8AB02697BE9576DC59E8DED3CLLO25placeholderRowsPerSectionSaySiGvpZ","s:11WooCommerce23POSEntryPointControllerC18featureFlagService33_EE93E110CD65B4282043B5D7117E79B4LL11Experiments07FeaturegH0_pvp","s:11WooCommerce23POSEntryPointControllerC18featureFlagService33_EE93E110CD65B4282043B5D7117E79B4LLAA010POSFeatureG9Providing_pvp","s:11WooCommerce23POSSearchTextFieldStyleV06searchE6Height33_72D30075151EC15373673ACC963342C0LL14CoreFoundation7CGFloatVvp","s:11WooCommerce23POSSearchTextFieldStyleV12Localization33_72D30075151EC15373673ACC963342C0LLO","s:11WooCommerce23POSSearchTextFieldStyleV5_body13configurationQr7SwiftUI0dE0VyAF01_deF5LabelVG_tF","s:11WooCommerce23PaymentMethodsViewModelC06updateC7Gateway33_111046BFD07B6BFB7BB90B7D14A37C8ALLyyF","s:11WooCommerce23PaymentMethodsViewModelC18featureFlagService33_111046BFD07B6BFB7BB90B7D14A37C8ALL11Experiments07FeaturehI0_pvp","s:11WooCommerce23PaymentMethodsViewModelC6notice7Combine12AnyPublisherVyAA0cD6NoticeOs5NeverOGvp","s:11WooCommerce23ProductReviewsViewModelC14refreshResultsyyF","s:11WooCommerce23ProductReviewsViewModelC8Settings33_A8B228304F346D2835B3CF2FCA6ED834LLO","s:11WooCommerce23ProductStepperViewModelC18accessibilityLabelSSvp","s:11WooCommerce23RefundDetailsDataSourceC7SectionV6footerSSSgvp","s:11WooCommerce23RefundItemTableViewCellC21quantityButtonPressed012_45B500B3BC3L19AD0B715CB9EF96F74D1LLyyypF","s:11WooCommerce23ShareProductCoordinatorC20bottomSheetPresenter33_A2469738DAFE40E6510EF2B0786761D1LLAA06BottomgH0CSgvp","s:11WooCommerce23ShippingLabelSampleDataO06sampleaC12ShipmentItem33_2EAFE26B0E5EE58B7D84910661D6AE54LL10Networking0achI0VyFZ","s:11WooCommerce23ShippingLabelSampleDataO06sampleaC6Config10Networking0acH0VyFZ","s:11WooCommerce23ShippingLabelSampleDataO5taxes33_2EAFE26B0E5EE58B7D84910661D6AE54LLSay14NetworkingCore12OrderItemTaxVGyFZ","s:11WooCommerce23SiteCredentialLoginViewV16showsSecureInput33_0DFF0095A3A0F820A241200A3370371CLLSbvp","s:11WooCommerce23SiteCredentialLoginViewV5scale33_0DFF0095A3A0F820A241200A3370371CLL14CoreFoundation7CGFloatVvp","s:11WooCommerce23SiteCredentialLoginViewV9Constants33_0DFF0095A3A0F820A241200A3370371CLLO11fieldHeight14CoreFoundation7CGFloatVvpZ","s:11WooCommerce23SiteCredentialLoginViewV9Constants33_0DFF0095A3A0F820A241200A3370371CLLO18eyeButtonDimension14CoreFoundation7CGFloatVvpZ","s:11WooCommerce23SiteCredentialLoginViewV9Constants33_0DFF0095A3A0F820A241200A3370371CLLO26eyeButtonHorizontalPadding14CoreFoundation7CGFloatVvpZ","s:11WooCommerce23StoreOnboardingTaskViewV6Layout33_20E081DA914B5B0E8D2882F68F762408LLO12PrivateLabelO","s:11WooCommerce23ThemeEligibilityUseCaseC18featureFlagService33_6B19BE75D5ABED6363E0BA8F50541801LL11Experiments07FeaturehI0_pvp","s:11WooCommerce24CameraCaptureCoordinatorC16capturePresenter33_FC964B21155A244E0D515F9499193269LLSo07WPMediadG0CSgvp","s:11WooCommerce24CardReaderSettingsAlertsC011scanningForD033_3D4FC0D8856D146DD34DB8919093B383LL6cancelAA0C36PresentPaymentsModalViewModelContent_AA0cqrstU12UIKitActionspyyc_tF","s:11WooCommerce24CardReaderSettingsAlertsC011scanningForD04from6cancelySo16UIViewControllerC_yyctF","s:11WooCommerce24CardReaderSettingsAlertsC012connectingToD033_3D4FC0D8856D146DD34DB8919093B383LLAA0C36PresentPaymentsModalViewModelContent_AA0cpqrsT12UIKitActionspyF","s:11WooCommerce24CardReaderSettingsAlertsC012connectingToD04fromySo16UIViewControllerC_tF","s:11WooCommerce24CardReaderSettingsAlertsC05foundD033_3D4FC0D8856D146DD34DB8919093B383LL4name7connect14continueSearch6cancelAA0C36PresentPaymentsModalViewModelContent_AA0ctuvwX12UIKitActionspSS_yycyycyyctF","s:11WooCommerce24CardReaderSettingsAlertsC05foundD04from4name7connect14continueSearch06cancelL0ySo16UIViewControllerC_SSyycyycyyctF","s:11WooCommerce24CardReaderSettingsAlertsC09preparingD033_3D4FC0D8856D146DD34DB8919093B383LL4from6cancelAA0C36PresentPaymentsModalViewModelContent_AA0cqrstU12UIKitActionspSo16UIViewControllerC_yyctF","s:11WooCommerce24CardReaderSettingsAlertsC14scanningFailed33_3D4FC0D8856D146DD34DB8919093B383LL5error5closeAA0C36PresentPaymentsModalViewModelContent_AA0crstuV12UIKitActionsps5Error_p_yyctF","s:11WooCommerce24CardReaderSettingsAlertsC14scanningFailed4from5error5closeySo16UIViewControllerC_s5Error_pyyctF","s:11WooCommerce24CardReaderSettingsAlertsC16connectingFailed33_3D4FC0D8856D146DD34DB8919093B383LL5error14continueSearch06cancelR0AA0C36PresentPaymentsModalViewModelContent_AA0ctuvwX12UIKitActionsps5Error_p_yycyyctF","s:11WooCommerce24CardReaderSettingsAlertsC16connectingFailed4from5error14continueSearch06cancelL0ySo16UIViewControllerC_s5Error_pyycyyctF","s:11WooCommerce24CardReaderSettingsAlertsC19foundSeveralReaders4from9readerIDs7connect12cancelSearchySo16UIViewControllerC_SaySSGySScyyctF","s:11WooCommerce24CardReaderSettingsAlertsC24updateSeveralReadersList9readerIDsySaySSG_tF","s:11WooCommerce24CardReaderSettingsAlertsC29connectingFailedUpdateAddress33_3D4FC0D8856D146DD34DB8919093B383LL14openWCSettings11retrySearch06cancelU0AA0C36PresentPaymentsModalViewModelContent_AA0cwxyZ17ModelUIKitActionspyycSg_yycyyctF","s:11WooCommerce24CardReaderSettingsAlertsC32connectingFailedUpdatePostalCode33_3D4FC0D8856D146DD34DB8919093B383LL11retrySearch06cancelT0AA0C36PresentPaymentsModalViewModelContent_AA0cvwxyZ12UIKitActionspyyc_yyctF","s:11WooCommerce24CardReaderSettingsAlertsC33connectingFailedIncompleteAddress4from14openWCSettings11retrySearch06cancelO0ySo16UIViewControllerC_yycSgyycyyctF","s:11WooCommerce24CardReaderSettingsAlertsC33connectingFailedInvalidPostalCode4from11retrySearch06cancelN0ySo16UIViewControllerC_yycyyctF","s:11WooCommerce24CardReaderSettingsAlertsC36connectingFailedCriticallyLowBattery33_3D4FC0D8856D146DD34DB8919093B383LL11retrySearch06cancelT0AA0C36PresentPaymentsModalViewModelContent_AA0cvwxyZ12UIKitActionspyyc_yyctF","s:11WooCommerce24CardReaderSettingsAlertsC36connectingFailedCriticallyLowBattery4from11retrySearch06cancelN0ySo16UIViewControllerC_yycyyctF","s:11WooCommerce24CouponListViewControllerC05startC8Creation33_D74A5EA18A9C17A7D0C4606BDBA41691LL12discountTypey10Networking0C0V08DiscountS0O_tF","s:11WooCommerce24CouponListViewControllerC12Localization33_D74A5EA18A9C17A7D0C4606BDBA41691LLO13dismissActionSSvpZ","s:11WooCommerce24CouponListViewControllerC12Localization33_D74A5EA18A9C17A7D0C4606BDBA41691LLO17emptyStateMessageSSvpZ","s:11WooCommerce24CouponListViewControllerC12Localization33_D74A5EA18A9C17A7D0C4606BDBA41691LLO18giveFeedbackActionSSvpZ","s:11WooCommerce24CouponListViewControllerC12Localization33_D74A5EA18A9C17A7D0C4606BDBA41691LLO5titleSSvpZ","s:11WooCommerce24EmptyStateViewControllerC14zendeskManager33_A520C11B9FE70A6CBE52881AAC603692LLAA07ZendeskH8Protocol_pvp","s:11WooCommerce24EmptyStateViewControllerC18actionButtonTapped33_A520C11B9FE70A6CBE52881AAC603692LLyyypF","s:11WooCommerce24EmptyStoresTableViewCellC11legendLabel33_1C325DE8D3103B1904BD351BDB43BD12LLSo7UILabelCSgvp","s:11WooCommerce24EmptyStoresTableViewCellC12Localization33_1C325DE8D3103B1904BD351BDB43BD12LLO","s:11WooCommerce24EmptyStoresTableViewCellC13subtitleLabel33_1C325DE8D3103B1904BD351BDB43BD12LLSo7UILabelCSgvp","s:11WooCommerce24ManualProductTypeOptionsV5scale33_69A90887B17816FB4966269AD04EDA3ALL14CoreFoundation7CGFloatVvp","s:11WooCommerce24OrdersRootViewControllerC12presentOrder33_BBD3E9E4C7D426F8B3D873E87388FBA1LL_4fromy14NetworkingCore0H0V_So06UIViewF0CtF","s:11WooCommerce24OrdersRootViewControllerC13subscriptions33_BBD3E9E4C7D426F8B3D873E87388FBA1LLShy7Combine14AnyCancellableCGvp","s:11WooCommerce24OrdersRootViewControllerC18featureFlagService33_BBD3E9E4C7D426F8B3D873E87388FBA1LL11Experiments07FeaturehI0_pvp","s:11WooCommerce24OrdersRootViewControllerC19configureTabBarItem33_BBD3E9E4C7D426F8B3D873E87388FBA1LLyyF","s:11WooCommerce24OrdersRootViewControllerC25barcodeScannerCoordinator33_BBD3E9E4C7D426F8B3D873E87388FBA1LLAA013ProducBarcodehI0CSgvp","s:11WooCommerce24POSShadowStyleDefinition33_96544B89EF2149EECD02A1A70984735ELLV","s:11WooCommerce24POSTabEligibilityCheckerC9Constants33_EB0EF942EBDC11EC333675CAF99E1DCDLLO8wcPluginSSvpZ","s:11WooCommerce24PermanentNoticePresenterC","s:11WooCommerce24PointOfSaleDashboardViewV9Constants33_9A419C8FEE1AF0DEB7EA24E420D31DDDLLO10supportTagSSvpZ","s:11WooCommerce24PriceInputViewControllerC05tableE0_24heightForFooterInSection14CoreFoundation7CGFloatVSo07UITableE0C_SitF","s:11WooCommerce24ProductDetailPreviewViewV013TitleAndValueD3Row33_387737EE170111914A02CD31058AD64CLLV5scale14CoreFoundation7CGFloatVvp","s:11WooCommerce24ProductDetailPreviewViewV013TitleAndValueD3Row33_387737EE170111914A02CD31058AD64CLLV6LayoutO9imageSize14CoreFoundation7CGFloatVvpZ","s:11WooCommerce24ProductDetailPreviewViewV5Title33_387737EE170111914A02CD31058AD64CLLV","s:11WooCommerce24ProductDiscountViewModelC09formattedD0SSSgvp","s:11WooCommerce24ProductDownloadFileErrorO05emptyE3UrlyA2CmF","s:11WooCommerce24ProductDownloadFileErrorO07invalidE3UrlyA2CmF","s:11WooCommerce24ProductDownloadListErrorO","s:11WooCommerce24ProductSelectorViewModelC9analytics33_B2E00C30BDD8670F8D1FF5D2667B140BLL0A10Foundation9Analytics_pvp","s:11WooCommerce24ProductsTopBannerFactoryV","s:11WooCommerce24ProfilerThemesPickerViewV5scale33_9968ECCAB3E5BCF7A3D31ABFDBF52915LL14CoreFoundation7CGFloatVvp","s:11WooCommerce24PushNotificationsManagerC010backgroundD07Combine12AnyPublisherVyAA0C12NotificationVs5NeverOGvp","s:11WooCommerce24PushNotificationsManagerC017registerForRemoteD0yyF","s:11WooCommerce24PushNotificationsManagerC09cancelAllD0yyYaF","s:11WooCommerce24PushNotificationsManagerC30ensureAuthorizationIsRequested23includesProvisionalAuth12onCompletionySb_ySbcSgtF","s:11WooCommerce24RefundSubmissionProtocolP06submitC0_16showInProgressUI12onCompletiony10Networking0C0V_yycys6ResultOyyts5Error_pGctF","s:11WooCommerce24StoreOnboardingViewModelC5state33_A1AF1A4A06CA43133D042F3B0C1DE536LLAC5StateOvp","s:11WooCommerce24StorePlanBannerPresenterC14viewController33_9D522F6F9F8BD0C99E8A162B50EB935CLLSo06UIViewH0CSgvp","s:11WooCommerce24StorePlanBannerPresenterC21inAppPurchasesManager33_9D522F6F9F8BD0C99E8A162B50EB935CLLAA02InhI21ForWPComPlansProtocol_pvp","s:11WooCommerce24StorePlanBannerPresenterC6siteID33_9D522F6F9F8BD0C99E8A162B50EB935CLLs5Int64Vvp","s:11WooCommerce24TaxEducationalDialogViewV12LocalizationO23taxRatesExplanatoryTextSSvpZ","s:11WooCommerce24ViewControllerPresentingP7dismiss8animatedySb_tF","s:11WooCommerce24WPComEmailLoginViewModelC22emailFieldSubscription33_3573FFDF54A71B0D62EDF2395231961ELL7Combine14AnyCancellableCSgvp","s:11WooCommerce24WPComEmailLoginViewModelC9Constants33_3573FFDF54A71B0D62EDF2395231961ELLO17wpcomErrorCodeKeySSvpZ","s:11WooCommerce25AddOrderComponentsSectionV9Constants33_15DDFDD15794001992D176F0EDE1A9B2LLO05emptyD20TitleVerticalPadding14CoreFoundation7CGFloatVvpZ","s:11WooCommerce25AddOrderComponentsSectionV9Constants33_15DDFDD15794001992D176F0EDE1A9B2LLO05emptyD29TitleLockImageTrailingPadding14CoreFoundation7CGFloatVvpZ","s:11WooCommerce25AddOrderComponentsSectionV9Constants33_15DDFDD15794001992D176F0EDE1A9B2LLO05taxesF15VerticalSpacing14CoreFoundation7CGFloatVvpZ","s:11WooCommerce25AddOrderComponentsSectionV9Constants33_15DDFDD15794001992D176F0EDE1A9B2LLO09giftCardsF15VerticalSpacing14CoreFoundation7CGFloatVvpZ","s:11WooCommerce25AddOrderComponentsSectionV9Constants33_15DDFDD15794001992D176F0EDE1A9B2LLO23infoTooltipCornerRadius14CoreFoundation7CGFloatVvpZ","s:11WooCommerce25AddOrderComponentsSectionV9Constants33_15DDFDD15794001992D176F0EDE1A9B2LLO23orderTotalBottomPadding14CoreFoundation7CGFloatVvpZ","s:11WooCommerce25AddOrderComponentsSectionV9Constants33_15DDFDD15794001992D176F0EDE1A9B2LLO28taxesAdaptativeStacksSpacing14CoreFoundation7CGFloatVvpZ","s:11WooCommerce25AddOrderComponentsSectionV9Constants33_15DDFDD15794001992D176F0EDE1A9B2LLO45taxRateAddedAutomaticallyRowHorizontalSpacing14CoreFoundation7CGFloatVvpZ","s:11WooCommerce25AztecEditorViewControllerC24descriptionAICoordinator33_84B1B53693BA3FB93A58A887262978A4LLAA018ProductDescriptionH0CSgvp","s:11WooCommerce25BlazeCampaignCreationFormV11colorScheme7SwiftUI05ColorH0Ovp","s:11WooCommerce25BlazeCampaignCreationFormV12Localization33_993A5EBA007CF0C8C258A3F2DA5D3486LLO5titleSSvpZ","s:11WooCommerce25BlazeCampaignCreationFormV9Constants33_993A5EBA007CF0C8C258A3F2DA5D3486LLO18ctaButtonTextColor7SwiftUI0T0VvpZ","s:11WooCommerce25CardPresentPaymentServiceC24connectedReaderPublisher031_FDDAEAACA26D2A06F99F4A20D88E60N0LL7Combine03AnyI0VyAA0cdecH0VSgs5NeverOGvp","s:11WooCommerce25CollapsibleProductRowCard33_36664448B7824296104BAA606C7EDDC7LLV6LayoutO15borderLineWidth14CoreFoundation7CGFloatVvpZ","s:11WooCommerce25CollapsibleProductRowCard33_36664448B7824296104BAA606C7EDDC7LLV6LayoutO17frameCornerRadius14CoreFoundation7CGFloatVvpZ","s:11WooCommerce25CustomerInfoTableViewCellC12getNameLabelSo7UILabelCyF","s:11WooCommerce25CustomerInfoTableViewCellC13getTitleLabelSo7UILabelCyF","s:11WooCommerce25CustomerInfoTableViewCellC15getAddressLabelSo7UILabelCyF","s:11WooCommerce25CustomerNoteTableViewCellC011getBodyTextF0So06UITextF0CyF","s:11WooCommerce25CustomerNoteTableViewCellC16getHeadlineLabelSo7UILabelCyF","s:11WooCommerce25DiscountLineTypeViewModel33_93BDBA0312C78AEDB1978DF6EE5A9191LLV12LocalizationO","s:11WooCommerce25DiscountLineTypeViewModel33_93BDBA0312C78AEDB1978DF6EE5A9191LLV15navigationTitleSSvp","s:11WooCommerce25DiscountLineTypeViewModel33_93BDBA0312C78AEDB1978DF6EE5A9191LLV17removeButtonTitleSSvp","s:11WooCommerce25DiscountLineTypeViewModel33_93BDBA0312C78AEDB1978DF6EE5A9191LLV33doneButtonAccessibilityIdentifierSSvp","s:11WooCommerce25DiscountLineTypeViewModel33_93BDBA0312C78AEDB1978DF6EE5A9191LLV39fixedAmountFieldAccessibilityIdentifierSSvp","s:11WooCommerce25IssueRefundViewControllerC20nextButtonWasPressed33_24BF69CF4D267CE9F5BCF953691088FELLyyypF","s:11WooCommerce25IssueRefundViewControllerC25selectAllButtonWasPressed33_24BF69CF4D267CE9F5BCF953691088FELLyyypF","s:11WooCommerce25LegacyPOSIneligibleReason33_313A3ED54F3BA2C7D56681E3F7697DB3LLO03wooB14PluginNotFoundyA2DmF","s:11WooCommerce25OrderCustomAmountsSectionV07showAddD24AmountAfterOptionsDialog33_57B8FF2D6D57407AB59B38929672E533LLSbvp","s:11WooCommerce25OrderCustomAmountsSectionV6Layout33_57B8FF2D6D57407AB59B38929672E533LLO030optionsBottomSheetContentTitleP7Padding14CoreFoundation7CGFloatVvpZ","s:11WooCommerce25OrderCustomAmountsSectionV6Layout33_57B8FF2D6D57407AB59B38929672E533LLO36optionsBottomSheetSymbolLabelSpacing14CoreFoundation7CGFloatVvpZ","s:11WooCommerce25OrderDetailsPaymentAlertsC15transactionType33_57757D2D77D6ADF5831FC5FCF2832480LLAA022CardPresentTransactionH0Ovp","s:11WooCommerce25OrderLoaderViewControllerC06lookUpC6Status33_69F13D20FD2C1CDBF1561C91893F96A0LL3for14NetworkingCore0cI0VSgSS_tF","s:11WooCommerce25OrderLoaderViewControllerC19currentSiteStatuses33_69F13D20FD2C1CDBF1561C91893F96A0LLSay14NetworkingCore0C6StatusVGvp","s:11WooCommerce25PaymentMethodsHostingViewV","s:11WooCommerce25PointOfSaleAggregateModelC13searchHistory3forSaySSG8Yosemite11POSItemTypeO_tF","s:11WooCommerce25PointOfSaleAggregateModelC9Constants33_CFA3CBF089184367AEAA73D64FED0BA3LLO","s:11WooCommerce25ProductFormViewControllerC05shareC11Coordinator33_40B60ACED569B4ABA586F1F653249D62LLAA05SharecH0CSgvp","s:11WooCommerce25ProductFormViewControllerC12userDefaults33_40B60ACED569B4ABA586F1F653249D62LLSo06NSUserH0Cvp","s:11WooCommerce25ProductFormViewControllerC24descriptionAICoordinator33_40B60ACED569B4ABA586F1F653249D62LLAA0c11DescriptionH0CSgvp","s:11WooCommerce25ProductFormViewControllerC29navigationRightBarButtonItems33_40B60ACED569B4ABA586F1F653249D62LL7Combine12AnyPublisherVySaySo05UIBarJ4ItemCGs5NeverOGvp","s:11WooCommerce25ProductFormViewControllerC32blazeCampaignCreationCoordinator33_40B60ACED569B4ABA586F1F653249D62LLAA05BlazehiJ0CSgvp","s:11WooCommerce25ProductFormViewControllerC36navigationRightBarButtonItemsSubject33_40B60ACED569B4ABA586F1F653249D62LL7Combine011PassthroughL0CySaySo05UIBarJ4ItemCGs5NeverOGvp","s:11WooCommerce25ReceiptEligibilityUseCaseC18featureFlagService33_21C8842774992485897AAB368CD1A67DLL11Experiments07FeaturehI0_pvp","s:11WooCommerce25ReviewOrderViewControllerC15hapticGenerator33_A623C3FFED234C17B870905E32AD9C0ALLSo022UINotificationFeedbackH0Cvp","s:11WooCommerce25ReviewsDataSourceProtocolP07refreshD9ObserversyyF","s:11WooCommerce25SelectableSecondaryButton33_D38C6D792E873B045439845610276EC7LLV15foregroundColorSo7UIColorCvp","s:11WooCommerce25ShippingLabelPackagesFormV12Localization33_A75524457383D84B7ED8C55F758A23A7LLO13moveItemTitleSSvpZ","s:11WooCommerce25ShippingLabelPackagesFormV9Constants33_A75524457383D84B7ED8C55F758A23A7LLO","s:11WooCommerce25StorePickerViewControllerC15noticePresenter33_5E39EF848A59CB8C17EEAF3AE8A0BADALLAA013DefaultNoticeH0Cvp","s:11WooCommerce25StorePickerViewControllerC16actionWasPressed33_5E39EF848A59CB8C17EEAF3AE8A0BADALLyyF","s:11WooCommerce25StorePickerViewControllerC18featureFlagService33_5E39EF848A59CB8C17EEAF3AE8A0BADALL11Experiments07FeaturehI0_pvp","s:11WooCommerce25StorePickerViewControllerC20checkRoleEligibility33_5E39EF848A59CB8C17EEAF3AE8A0BADALL3fory10Networking4SiteV_tF","s:11WooCommerce25StorePickerViewControllerC25secondaryActionWasPressed33_5E39EF848A59CB8C17EEAF3AE8A0BADALLyyF","s:11WooCommerce25StoreStatsPeriodViewModelC12cancellables33_2C9FCE05E39ABEFB0B282612D391E847LLShy7Combine14AnyCancellableCGvp","s:11WooCommerce25StoreStatsPeriodViewModelC9Constants33_2C9FCE05E39ABEFB0B282612D391E847LLO","s:11WooCommerce25SupportFormMetaDataSourceP","s:11WooCommerce25UpgradesHostingControllerC","s:11WooCommerce25WPComMagicLinkRequestViewV9Constants33_DC8E64583EB00EE13D45CB12726D7346LLO22contentVerticalSpacing14CoreFoundation7CGFloatVvpZ","s:11WooCommerce26AddCustomTrackingViewModelC08shipmentE010Networking08ShipmentE0VSgvp","s:11WooCommerce26AddCustomTrackingViewModelC20secondaryActionTitleSSSgvp","s:11WooCommerce26BlazeCampaignDashboardViewV6Layout33_78B252AE4BCF4E8CDA174318A2708FD3LLO12cornerRadius14CoreFoundation7CGFloatVvpZ","s:11WooCommerce26BlazeCampaignListViewModelC017shouldDisplayPostD11CreationTipSbvp","s:11WooCommerce26BlazeCampaignListViewModelC12userDefaults33_65117155A5B04AE566E619968667780BLLSo06NSUserI0Cvp","s:11WooCommerce26CollectOrderPaymentUseCaseC18readerSubscription33_4F56B47730D8A60A8D650FD61F10F2E9LL7Combine14AnyCancellableCSgvp","s:11WooCommerce26CollectOrderPaymentUseCaseC23receiptEmailCoordinator33_4F56B47730D8A60A8D650FD61F10F2E9LLAA011CardPresente7ReceiptiJ0CSgvp","s:11WooCommerce26CollectOrderPaymentUseCaseC29handleTotalAmountInvalidError33_4F56B47730D8A60A8D650FD61F10F2E9LL_13alertProvider11onCompletedys0L0_p_AA36CardReaderTransactionAlertsProviding_p12AlertDetailsQzAKRS_XPyyctF","s:11WooCommerce26ConfigurableBundleItemViewV12Localization33_33212FB7027269D828337FA088C53141LLO3addSSvpZ","s:11WooCommerce26CouponLineDetailsViewModelC06removeC0yyF","s:11WooCommerce26CouponLineDetailsViewModelC12Localization33_4B0DE5535FE7819E1501F9151EAE5805LLO","s:11WooCommerce26CouponLineDetailsViewModelC19validateAndSaveData12onCompletionyySbc_tF","s:11WooCommerce26CouponLineDetailsViewModelC23shouldDisableDoneButtonSbvp","s:11WooCommerce26CouponLineDetailsViewModelC6noticeAA6NoticeVSgvp","s:11WooCommerce26CouponLineDetailsViewModelC8saveData33_4B0DE5535FE7819E1501F9151EAE5805LLyyF","s:11WooCommerce26CustomerNoteSectionContent33_E60A03DF846E7A3D50CEC06FA81FF575LLV6LayoutO20verticalEmailSpacing14CoreFoundation7CGFloatVvpZ","s:11WooCommerce26CustomerNoteSectionContent33_E60A03DF846E7A3D50CEC06FA81FF575LLV6LayoutO22verticalAddressSpacing14CoreFoundation7CGFloatVvpZ","s:11WooCommerce26CustomerNoteSectionContent33_E60A03DF846E7A3D50CEC06FA81FF575LLV6LayoutO23verticalHeadlineSpacing14CoreFoundation7CGFloatVvpZ","s:11WooCommerce26FilterProductListViewModelC18featureFlagService33_9BB6C76E8E1F8D8DE60A7124AD3F067ELL11Experiments07FeatureiJ0_pvp","s:11WooCommerce26LinkSettingsViewControllerC7Section33_538830D35B9309E5187F94F56440EECFLLV5titleSSSgvp","s:11WooCommerce26LinkSettingsViewControllerC9Constants33_538830D35B9309E5187F94F56440EECFLLO","s:11WooCommerce26NavigationSwipeBackHandlerP","s:11WooCommerce26OrderDetailsViewControllerC09topBannerE033_79A0B235915FDFC989919DDCECCCF01ALLAA03TophE0CSgvp","s:11WooCommerce26OrderDetailsViewControllerC12Localization33_79A0B235915FDFC989919DDCECCCF01ALLO11ActionsMenuO","s:11WooCommerce26OrderDetailsViewControllerC17UnknownEmailError33_79A0B235915FDFC989919DDCECCCF01ALLV","s:11WooCommerce26OrderDetailsViewControllerC9Constants33_79A0B235915FDFC989919DDCECCCF01ALLO19headerDefaultHeight14CoreFoundation7CGFloatVvpZ","s:11WooCommerce26OrderDetailsViewControllerC9Constants33_79A0B235915FDFC989919DDCECCCF01ALLO21headerContainerInsetsSo06UIEdgeN0VvpZ","s:11WooCommerce26OrderFormHostingControllerC13subscriptions33_FEAC847823895F6A7BB14365B1DB7263LLShy7Combine14AnyCancellableCGvp","s:11WooCommerce26OrderTrackingTableViewCellC11getTopLabelSo7UILabelCyF","s:11WooCommerce26OrderTrackingTableViewCellC14getBottomLabelSo7UILabelCyF","s:11WooCommerce26OrderTrackingTableViewCellC14getMiddleLabelSo7UILabelCyF","s:11WooCommerce26OrderTrackingTableViewCellC15getActionButtonSo8UIButtonCyF","s:11WooCommerce26OrderTrackingTableViewCellC9topBorder33_558E1F5673310FCCCD6173D6D6496083LLSo6UIViewCSgvp","s:11WooCommerce26PaymentCaptureOrchestratorC17currencyFormatter33_0ADEBDB2959FC4AB1CA598D37259CC54LL0A14FoundationCore08CurrencyG0Cvp","s:11WooCommerce26PointOfSaleCollectCashViewV15backgroundColor031_11CDCCB1F43C4C6ECA7DFD3CAB54A5R0LL7SwiftUI0J0Vvp","s:11WooCommerce26PointOfSaleCollectCashViewV15dynamicTypeSize7SwiftUI07DynamicjK0Ovp","s:11WooCommerce26PointOfSaleOrderControllerC0cdefG5ErrorO8noSiteIDyA2EmF","s:11WooCommerce26PointOfSaleOrderControllerC14pluginsService33_F93656E9A6F0D8ADB43A46CFA13514CELL8Yosemite07PluginsI8Protocol_pvp","s:11WooCommerce26PointOfSaleOrderControllerC18featureFlagService33_F93656E9A6F0D8ADB43A46CFA13514CELLAA010POSFeatureI9Providing_pvp","s:11WooCommerce26PointOfSaleOrderControllerC6stores33_F93656E9A6F0D8ADB43A46CFA13514CELL8Yosemite13StoresManager_pvp","s:11WooCommerce26ProductReviewTableViewCellC013getStarRatingF0AA0jF0CyF","s:11WooCommerce26ProductReviewTableViewCellC15getNotIconLabelSo7UILabelCyF","s:11WooCommerce26ProductReviewTableViewCellC15getSnippetLabelSo7UILabelCyF","s:11WooCommerce26ProductReviewTableViewCellC15getSubjectLabelSo7UILabelCyF","s:11WooCommerce26ProductReviewTableViewCellC9Constants33_F53192B9E276AACD7D37B73C5C8347B3LLO","s:11WooCommerce26ProductSettingsRowMediatorPyx8Yosemite0cD0Ccfc","s:11WooCommerce26RefundedProductsDataSourceC7SectionV5title10rightTitle6footer3rowAESSSg_A2jC3RowOtcfc","s:11WooCommerce26RefundedProductsDataSourceC7SectionV6footerSSSgvp","s:11WooCommerce26ShippingLabelFormViewModelC12userDefaults33_36F4786E3A46A8F908E7405E75A7F9B7LLSo06NSUserI0Cvp","s:11WooCommerce26ShippingProvidersViewModelC26shouldCreateCustomTracking3forSbSS_tF","s:11WooCommerce26StatsTimeRangeBarViewModelV02isdE8EditableSbvp","s:11WooCommerce26StoreOnboardingCoordinatorC010addProductE033_916C06F27AF5EBC541835CDD62516886LLAA03AddgE0CSgvp","s:11WooCommerce26StoreOnboardingCoordinatorC012storeDetailsE033_916C06F27AF5EBC541835CDD62516886LLAA0cdcgE0CSgvp","s:11WooCommerce26StoreOnboardingCoordinatorC013paymentsSetupE033_916C06F27AF5EBC541835CDD62516886LLAA0cd8PaymentsgE0CSgvp","s:11WooCommerce26StoreOnboardingCoordinatorC06launchcE033_916C06F27AF5EBC541835CDD62516886LLAA0cd6LaunchcE0CSgvp","s:11WooCommerce26SubscriptionTrialViewModelC22trialPeriodDescriptionSSvp","s:11WooCommerce26TapToPayEducationViewModelC13configuration33_D7FF7FB0848AB1C39C4B8903602DD632LL8Yosemite32CardPresentPaymentsConfigurationVvp","s:11WooCommerce26TapToPayEducationViewModelC26shouldShowContactlessLimitSbvp","s:11WooCommerce26TapToPayEducationViewModelC6siteID33_D7FF7FB0848AB1C39C4B8903602DD632LLs5Int64Vvp","s:11WooCommerce26TwoColumnSectionHeaderViewC16topMarginSpacing14CoreFoundation7CGFloatVvp","s:11WooCommerce26TwoColumnSectionHeaderViewC26topMarginSpacingConstraint33_D39A2859E3D172E432F3CAF97B6D40B7LLSo08NSLayoutK0CSgvp","s:11WooCommerce26UpdateProductInventoryViewV12LocalizationO16productNameTitleSSvpZ","s:11WooCommerce26WCShipInstallTableViewCellC025configurePlaceholderImageF033_2564A4E16DA37B8C47980F4296774052LLyyF","s:11WooCommerce26WrongAccountErrorViewModelC12Localization33_A3CFA28D5092E3073822413DD87E146FLLO05setupE7MessageSSvpZ","s:11WooCommerce26WrongAccountErrorViewModelC12Localization33_A3CFA28D5092E3073822413DD87E146FLLO17inProgressMessageSSvpZ","s:11WooCommerce26WrongAccountErrorViewModelC23isAuxiliaryButtonHiddenSbvp","s:11WooCommerce26WrongAccountErrorViewModelC23jetpackSetupCoordinator33_A3CFA28D5092E3073822413DD87E146FLLAA012LoginJetpackiJ0CSgvp","s:11WooCommerce26WrongAccountErrorViewModelC29jetpackSetupCompletionHandler33_A3CFA28D5092E3073822413DD87E146FLLyySS_SStcvp","s:11WooCommerce27AddProductWithAIActionSheetV9Constants33_3E65B571BA94353096114D0C67D1B71CLLO8legalURLSSvpZ","s:11WooCommerce27BillingAddressTableViewCellC03getD5LabelSo7UILabelCyF","s:11WooCommerce27BillingAddressTableViewCellC12getNameLabelSo7UILabelCyF","s:11WooCommerce27BlazeBudgetSettingViewModelC12Localization33_E9DC74D9D445470900DCE4C0F8F1B230LLO11dailyAmountSSvpZ","s:11WooCommerce27BlazeBudgetSettingViewModelC9ConstantsO15oneDayInSecondsSdvpZ","s:11WooCommerce27CollapsibleShipmentItemCardV6Layout33_F48563ECD9BB3FDB1CBB37A8D8BD9F64LLO15borderLineWidth14CoreFoundation7CGFloatVvpZ","s:11WooCommerce27DefaultConnectivityObserverC13stopObservingyyF","s:11WooCommerce27DefaultProductUIImageLoaderC25productImageActionHandler33_91AA864D25AC203C72D489BC9D48DC22LLAA0dhiJ0CSgvp","s:11WooCommerce27FeatureAnnouncementCardCellC10BadgeStyleO","s:11WooCommerce27FeatureAnnouncementCardCellC7badgeBg33_DEA6FF55D837C97B7ECD140F661C259ALLSo6UIViewCSgvp","s:11WooCommerce27HighlightLoadingButtonStyleV15dispatchTrigger33_D38C6D792E873B045439845610276EC7LLyy7SwiftUI09PrimitiveeF13ConfigurationVF","s:11WooCommerce27LegacyReceiptViewControllerC16emailCoordinator33_2CD58D267BF0B64DCF71D929B6BF7CC6LLAA018CardPresentPaymentd5EmailH0CSgvp","s:11WooCommerce27NewTaxRateSelectorViewModelC18featureFlagService33_23484E3AFF9450EF089EE16D38B2802ALL11Experiments07FeaturejK0_pvp","s:11WooCommerce27OrderCustomerSectionContent33_87172AD563F730CCDDED52039D870C07LLV6LayoutO20verticalEmailSpacing14CoreFoundation7CGFloatVvpZ","s:11WooCommerce27OrderCustomerSectionContent33_87172AD563F730CCDDED52039D870C07LLV6LayoutO23verticalHeadlineSpacing14CoreFoundation7CGFloatVvpZ","s:11WooCommerce27PaymentCaptureOrchestratingP11saveReceipt3for6paramsy14NetworkingCore5OrderV_8Hardware011CardPresentG10ParametersVtF","s:11WooCommerce27PaymentMethodsWrapperHostedV","s:11WooCommerce27ProductDetailsCellViewModelV4item8currency9formatter7product9hasAddOns17isChildWithParentAC14NetworkingCore9OrderItemV_SS0a10FoundationT017CurrencyFormatterC0S00C0VSgS2btcfc","s:11WooCommerce27ProductImagesViewControllerC08originalcD033_D709B1A21163B3EC740D5EDF689621B2LLSay10Networking0C5ImageVGvp","s:11WooCommerce27ProductImagesViewControllerC9productID33_D709B1A21163B3EC740D5EDF689621B2LLs5Int64Vvp","s:11WooCommerce27ProductLoaderViewControllerC5ModelO9orderItemAE14NetworkingCore05OrderI0V_tcfc","s:11WooCommerce27RefundConfirmationViewModelC17submissionUseCase33_01322CE4B8ABE39B82FB11F242799928LLAA0C18SubmissionProtocol_pSgvp","s:11WooCommerce27RefundConfirmationViewModelC7details15actionProcessor16currencySettings9analyticsA2C7DetailsV_8Yosemite13StoresManager_p0A14FoundationCore08CurrencyK0C0aQ09Analytics_ptcfc","s:11WooCommerce27SiteCredentialLoginProtocolP","s:11WooCommerce27SupportFormMetadataProviderC14storageManager33_ADEEEE30892D8AFAEFC8A7B0EE891276LL7Storage0oH4Type_pvp","s:11WooCommerce27SupportFormMetadataProviderC20connectivityObserver33_ADEEEE30892D8AFAEFC8A7B0EE891276LL0A10Foundation012ConnectivityH0_pvp","s:11WooCommerce27SupportFormMetadataProviderC20connectivityObserver33_ADEEEE30892D8AFAEFC8A7B0EE891276LLAA012ConnectivityH0_pvp","s:11WooCommerce27SupportFormMetadataProviderC9Constants33_ADEEEE30892D8AFAEFC8A7B0EE891276LLO11networkWWANSSvpZ","s:11WooCommerce27SupportFormMetadataProviderC9Constants33_ADEEEE30892D8AFAEFC8A7B0EE891276LLO11networkWiFiSSvpZ","s:11WooCommerce27SurveyViewControllerOutputsP12onCompletionyycvp","s:11WooCommerce28AccountCreationFormViewModelC12Localization33_62C7EAAC342138DDD8BC46E1B7779BC6LLO10otherErrorSSvpZ","s:11WooCommerce28BadgedLeftImageTableViewCellC03dotG033_090E9704BA246219A03CCBEB8D443FCELLAA03DotG0CSgvp","s:11WooCommerce28BadgedLeftImageTableViewCellC04leftE0So7UIImageCSgvp","s:11WooCommerce28BadgedLeftImageTableViewCellC05badgeE033_090E9704BA246219A03CCBEB8D443FCELL7visibleySb_tF","s:11WooCommerce28BadgedLeftImageTableViewCellC12DotConstants33_090E9704BA246219A03CCBEB8D443FCELLO","s:11WooCommerce28BadgedLeftImageTableViewCellC7xOffset33_090E9704BA246219A03CCBEB8D443FCELL2in14CoreFoundation7CGFloatVSo07UIImageG0C_tF","s:11WooCommerce28BadgedLeftImageTableViewCellC9configure5image4text9showBadgeySo7UIImageC_SSSbtF","s:11WooCommerce28BadgedLeftImageTableViewCellC9labelTextSSSgvp","s:11WooCommerce28BlazeCreateCampaignIntroViewV07FeatureG033_F6C5861AC21A0B692C16E6D4352B2485LLV5scale14CoreFoundation7CGFloatVvp","s:11WooCommerce28BlazeEditAdHostingControllerC23mediaPickingCoordinator33_473977D43FFDC0DB451F8498539D8F13LLAA05MediaiJ0CSgvp","s:11WooCommerce28BlazePaymentMethodsViewModelC06sampleD4Info07paymentE010Networking0cdI0VSayAF0cD6MethodVG_tFZ","s:11WooCommerce28BlazePaymentMethodsViewModelC06sampledE0Say10Networking0cD6MethodVGyFZ","s:11WooCommerce28BlazePaymentMethodsViewModelC9userEmailSSvp","s:11WooCommerce28CardReaderSupportDeterminingP28firstTapToPayTransactionDate10Foundation0L0VSgyYaF","s:11WooCommerce28CollectOrderPaymentAnalyticsC23trackReceiptPrintFailed5errorys5Error_p_tF","s:11WooCommerce28CollectOrderPaymentAnalyticsC23trackReceiptPrintTappedyyF","s:11WooCommerce28CollectOrderPaymentAnalyticsC24trackReceiptPrintSuccessyyF","s:11WooCommerce28CollectOrderPaymentAnalyticsC25trackReceiptPrintCanceledyyF","s:11WooCommerce28ConnectedReaderTableViewCellC9viewModel33_DB430DB96C18607FB4072D2D4473F99DLLAC0fI0VSgvp","s:11WooCommerce28FirstProductCreatedViewModelC10productURL10Foundation0I0Vvp","s:11WooCommerce28FirstProductCreatedViewModelC11productNameSSvp","s:11WooCommerce28GoogleAdsCampaignCoordinatorC6siteID33_D23602F02743112DF9C9F2DCF4DE44FELLs5Int64Vvp","s:11WooCommerce28HelpAndSupportViewControllerC19isPaymentsAvailable33_FB27841256F66937FB6060C9A1DC2C56LLSbvp","s:11WooCommerce28ManualTrackingViewControllerC12showKeyboard33_8D02DCF1AF17D12681D42985174C5B05LLyyF","s:11WooCommerce28ManualTrackingViewControllerC24configureSecondaryAction33_8D02DCF1AF17D12681D42985174C5B05LL4cellyAA010BasicTableE4CellC_tF","s:11WooCommerce28ManualTrackingViewControllerC8getTableSo07UITableE0CyF","s:11WooCommerce28NullViewControllerPresentingC7dismiss8animatedySb_tF","s:11WooCommerce28OrderPaymentDetailsViewModelC12paymentTotalSSvp","s:11WooCommerce28PrePurchaseUpgradesErrorViewV12Localization33_F464732534A922297C0E353EE5CBE678LLO23cancelUpgradeButtonTextSSvpZ","s:11WooCommerce28ProductDownloadFileViewModelC012downloadableE5Index33_9E3B2C31ACEF72CB0F4A0FE1F0FF9016LLSiSgvp","s:11WooCommerce28ProductDownloadListViewModelC29handleDownloadableFilesChangeyySay10Networking0cD0VGF","s:11WooCommerce28ProductDownloadsEditableDataV12productModelAcA0c4FormfH0_p_tcfc","s:11WooCommerce28ProductsSplitViewCoordinatorC010addProductF033_827A973DFB4D3BB18E0258F291C1ED3CLLAA03AddhF0CSgvp","s:11WooCommerce28SelectedSiteSettingsProtocolP04siteE0Say10Networking0D7SettingVGvp","s:11WooCommerce28SetUpTapToPayInformationViewV7showURLy10Foundation0K0VcSgvp","s:11WooCommerce28SupportFormHostingControllerC15noticePresenter33_66FE33939E97A3A94FD3BC4230B5B67ELLAA06NoticeH0_pvp","s:11WooCommerce28SurveyCoordinatingControllerC14zendeskManager33_5C58E3D3BC3BC4A6857BE88244501999LLAA07ZendeskG8Protocol_pvp","s:11WooCommerce28TopPerformersPeriodViewModelC5state33_3CDA952A0C5B5D71A4F69ECDB9A30746LLAC5StateOvp","s:11WooCommerce29BlazeAdDestinationSettingViewV14sectionHeading33_3E6CF41A7DD17A8359D033113B357968LL5titleQrSS_tF","s:11WooCommerce29BlazeAdDestinationSettingViewV6Layout33_3E6CF41A7DD17A8359D033113B357968LLO15verticalSpacing14CoreFoundation7CGFloatVvpZ","s:11WooCommerce29BlazeAdDestinationSettingViewV6Layout33_3E6CF41A7DD17A8359D033113B357968LLO21sectionHeadingPadding7SwiftUI10EdgeInsetsVvpZ","s:11WooCommerce29BlazeAdDestinationSettingViewV6Layout33_3E6CF41A7DD17A8359D033113B357968LLO22sectionVerticalSpacing14CoreFoundation7CGFloatVvpZ","s:11WooCommerce29BlazeAdDestinationSettingViewV6Layout33_3E6CF41A7DD17A8359D033113B357968LLO25parametersVerticalSpacing14CoreFoundation7CGFloatVvpZ","s:11WooCommerce29BulkUpdatePriceViewControllerC05tableF0_24heightForFooterInSection14CoreFoundation7CGFloatVSo07UITableF0C_SitF","s:11WooCommerce29CardPresentPaymentTransactionV10receiptURL10Foundation0H0Vvp","s:11WooCommerce29ConfigurableBundleProductViewV16presentationMode33_C58AF20FE8AE7071F77BCF5A79665258LL7SwiftUI7BindingVyAF012PresentationH0VGvp","s:11WooCommerce29EditableProductVariationModelC13averageRatingSSvp","s:11WooCommerce29EditableProductVariationModelC14reviewsAllowedSbvp","s:11WooCommerce29EditableProductVariationModelC8passwordSSSgvp","s:11WooCommerce29EditableProductVariationModelC9hasAddOnsSbvp","s:11WooCommerce29InPersonPaymentsMenuViewModelC014paymentMethodsgH0AA07PaymentjgH0CSgvp","s:11WooCommerce29InPersonPaymentsMenuViewModelC12DependenciesV15noticePresenterAA06NoticeK0_pvp","s:11WooCommerce29InPersonPaymentsMenuViewModelC12DependenciesV18featureFlagService11Experiments07FeaturekL0_pvp","s:11WooCommerce29InPersonPaymentsMenuViewModelC12Localization33_20BECDA74E8E286CFA6E165281520F2DLLO12orderCreatedSSvpZ","s:11WooCommerce29InPersonPaymentsMenuViewModelC12Localization33_20BECDA74E8E286CFA6E165281520F2DLLO14orderCompletedSSvpZ","s:11WooCommerce29InPersonPaymentsMenuViewModelC42shouldAlwaysHideSetUpButtonOnAboutTapToPaySbvp","s:11WooCommerce29JetpackConnectionWebViewModelC7siteURLSSvp","s:11WooCommerce29JetpackSetupRequiredViewModelC11coordinator33_3CC0BB3BB4C795671496A0DD828DE0CELLAA05LogincD11CoordinatorCSgvp","s:11WooCommerce29JetpackSetupRequiredViewModelC17imageDownloadTask33_3CC0BB3BB4C795671496A0DD828DE0CELLAA05ImageiJ0_pSgvp","s:11WooCommerce29LoginOnboardingViewControllerC18featureFlagService33_624ECD36701E5178C9BE7E25B777386CLL11Experiments07FeaturehI0_pvp","s:11WooCommerce29NumberedListItemTableViewCellC0G5ModelV","s:11WooCommerce29NumberedListItemTableViewCellC11numberLabel33_E3E0C8DA644CFE59B2EF50F269F564EFLLSo7UILabelCSgvp","s:11WooCommerce29NumberedListItemTableViewCellC13itemTextLabel33_E3E0C8DA644CFE59B2EF50F269F564EFLLSo7UILabelCSgvp","s:11WooCommerce29NumberedListItemTableViewCellC9configure9viewModelyAC0gK0V_tF","s:11WooCommerce29NumberedListItemTableViewCellC9viewModel33_E3E0C8DA644CFE59B2EF50F269F564EFLLAC0gJ0VSgvp","s:11WooCommerce29PointOfSalePaymentSuccessViewV9Constants33_DD6672F1A54CAF04118CAB95CAFE5C4BLLO10shadowSizeSo6CGSizeVvpZ","s:11WooCommerce29PointOfSalePaymentSuccessViewV9Constants33_DD6672F1A54CAF04118CAB95CAFE5C4BLLO12shadowRadius14CoreFoundation7CGFloatVvpZ","s:11WooCommerce29PointOfSalePaymentSuccessViewV9Constants33_DD6672F1A54CAF04118CAB95CAFE5C4BLLO13shadowOpacity14CoreFoundation7CGFloatVvpZ","s:11WooCommerce29PointOfSalePaymentSuccessViewV9Constants33_DD6672F1A54CAF04118CAB95CAFE5C4BLLO9imageNameSSvpZ","s:11WooCommerce29PointOfSalePreviewItemServiceC07providecdE5ItemsSay8Yosemite7POSItemOGyF","s:11WooCommerce29PointOfSalePreviewItemServiceC13fetchStrategy8Yosemite0cde11Purchasableg5FetchJ0_pvp","s:11WooCommerce29PrivacySettingsViewControllerC23reportCrashesWasUpdated33_FDF446E3D9460D206396ED7065007803LL8newValueySb_tF","s:11WooCommerce29ProductVariationFormViewModelC25productImageActionHandler33_9DF79AC9180CE4E0AA616473B8B6E7A7LLAA0cijK8Protocol_pvp","s:11WooCommerce29ProductsListViewModelProtocolP","s:11WooCommerce29ReviewsDashboardCardViewModelC6siteIDs5Int64Vvp","s:11WooCommerce29ReviewsDashboardCardViewModelC7filtersSayAC0C6FilterOGvp","s:11WooCommerce29SelectPackageImageCoordinatorC012mediaPickingF033_8FE438607B6BDBCF6F390712698EA4AFLLAA05MediahF0CSgvp","s:11WooCommerce29SimpleProductsOnlyInformationV12Localization33_CFC479E5CDE0B1FE0D1CE5ED2E84C29FLLO13okButtonTitleSSvpZ","s:11WooCommerce29SurveySubmittedViewControllerC21contactUsButtonTapped33_5A88A4C83FC3511D4E863523C81C2B8ALLyyypF","s:11WooCommerce29SurveySubmittedViewControllerC24backToStoreButtonPressed33_5A88A4C83FC3511D4E863523C81C2B8ALLyyypF","s:11WooCommerce29TapToPayBadgePromotionCheckerC12cancellables33_17AE8395BF0971EF27CBF4AB0DD4573BLLShy7Combine14AnyCancellableCGvp","s:11WooCommerce29UpdateAnalyticsSettingUseCaseC12userDefaults33_DA79DF5F591A59DF9E43A88006DAAB15LLSo06NSUserI0Cvp","s:11WooCommerce30AnalyticsHubTimeRangeSelectionC","s:11WooCommerce30AnalyticsHubTimeRangeSelectionC12LocalizationO14selectionTitleSSvpZ","s:11WooCommerce30CardPresentPaymentServiceErrorO014couldNotCancelE0yA2CmF","s:11WooCommerce30CardReaderConnectionControllerC13configuration33_C3B1D2930EA1AD557E77857BD949B99CLL8Yosemite0C28PresentPaymentsConfigurationVvp","s:11WooCommerce30CustomerSelectorViewControllerC010emptyStateeF033_DDBE35D252F08AB84F47D0763549F731LLSo06UIViewF0CSgvp","s:11WooCommerce30CustomerSelectorViewControllerC02onC8Selected33_DDBE35D252F08AB84F47D0763549F731LLyy10Networking0C0Vcvp","s:11WooCommerce30DashboardViewHostingControllerC022modalJustInTimeMessageeF033_2DF9F56C57EEC869C25938A1067E6A91LLAA019ConstraintsUpdatingeF0CyAA0hijK11Modal_UIKitVGSgvp","s:11WooCommerce30DashboardViewHostingControllerC23jetpackSetupCoordinator33_2DF9F56C57EEC869C25938A1067E6A91LLAA07JetpackhI0CSgvp","s:11WooCommerce30DashboardViewHostingControllerC28googleAdsCampaignCoordinator33_2DF9F56C57EEC869C25938A1067E6A91LLAA06GooglehiJ0CSgvp","s:11WooCommerce30DashboardViewHostingControllerC32blazeCampaignCreationCoordinator33_2DF9F56C57EEC869C25938A1067E6A91LLAA05BlazehiJ0CSgvp","s:11WooCommerce30DefaultFavoriteProductsUseCaseV18featureFlagService33_2D9517EE05698E984416E08A27CF35E6LL11Experiments07FeatureiJ0_pvp","s:11WooCommerce30EmptyListMessageWithActionViewC03getE5LabelSo7UILabelCyF","s:11WooCommerce30EmptyListMessageWithActionViewC14getButtonLabelSo7UILabelCyF","s:11WooCommerce30EmptyListMessageWithActionViewC9getButtonAA07BordersH0CyF","s:11WooCommerce30FeeOrDiscountLineTypeViewModelP15navigationTitleSSvp","s:11WooCommerce30FeeOrDiscountLineTypeViewModelP17removeButtonTitleSSvp","s:11WooCommerce30FeeOrDiscountLineTypeViewModelP33doneButtonAccessibilityIdentifierSSvp","s:11WooCommerce30FeeOrDiscountLineTypeViewModelP39fixedAmountFieldAccessibilityIdentifierSSvp","s:11WooCommerce30POSConnectivityObserverPreviewC","s:11WooCommerce30PointOfSaleItemListErrorLayoutO15verticalPadding14CoreFoundation7CGFloatVvpZ","s:11WooCommerce30PointOfSaleSoundPlayerProtocolP04playF0_10completionyAA0cdeF0V_yyctYaF","s:11WooCommerce30ProductSettingsSectionMediatorPyx8Yosemite0cD0Ccfc","s:11WooCommerce30RefundedProductsViewControllerC7notices33_45429AE8DF853B9DA865A12212503D62LLAA19OrderDetailsNoticesCvp","s:11WooCommerce30ReviewsViewModelActionsHandlerP14refreshResultsyyF","s:11WooCommerce30SetUpTapToPayCompleteViewModelC26connectionAnalyticsTracker33_3F7A2312538CF099F3E1A821E73D9C94LLAA020CardReaderConnectionlM0Cvp","s:11WooCommerce30SetUpTapToPayPaymentPromptViewV12Localization33_299F7E586DDE60EC3DC02672D8F62F85LLO12cancelButtonSSvpZ","s:11WooCommerce30ShippingLabelCustomPackageFormV12Localization33_0AA2069935D05DEFCEF4FD308895DE8ALLO22packageTypePlaceholderSSvpZ","s:11WooCommerce30TopPerformerDataViewControllerC12imageService33_3EAA2954DFF082934403384F52EBD49DLLAA05ImageI0_pvp","s:11WooCommerce30TopPerformerDataViewControllerC24removePlaceholderContentyyF","s:11WooCommerce30TopPerformerDataViewControllerC25displayPlaceholderContentyyF","s:11WooCommerce30TopPerformerDataViewControllerC6siteID0H8TimeZone11currentDate9timeRange14storageManager18featureFlagService23usageTracksEventEmitterACs5Int64V_10Foundation0jK0VAM0M0V8Yosemite05StatsjO2V4O7Storage07StorageQ4Type_p11Experiments07FeaturesT0_pAA015StoreStatsUsagevwX0Ctcfc","s:11WooCommerce30UserNotificationsCenterAdapterP20requestAuthorization5queue23includesProvisionalAuth10completionySo012OS_dispatch_I0C_SbySbctF","s:11WooCommerce31BlazeCampaignDashboardViewModelC015didSelectCreateD06sourceyAA0C6SourceO_tF","s:11WooCommerce31BlazeCampaignDashboardViewModelC016didTapCreateYourd15ButtonFromIntroF0yyF","s:11WooCommerce31BlazeLocalNotificationSchedulerP31cancelAbandonedCreationReminderyyYaF","s:11WooCommerce31BlazeLocalNotificationSchedulerP33scheduleAbandonedCreationReminderyyYaF","s:11WooCommerce31BlazeTargetTopicPickerViewModelC15displayedTopics33_EFFDB77F358ED0E3556AF804FB6E59B3LLSay10Networking0cdE0VGvp","s:11WooCommerce31NoteDetailsCommentTableViewCellC14spamWasPressed33_C484CBA9A999B9C436C3101A812AAD95LLyySo8UIButtonCF","s:11WooCommerce31NoteDetailsCommentTableViewCellC15replyWasPressed33_C484CBA9A999B9C436C3101A812AAD95LLyySo8UIButtonCF","s:11WooCommerce31NoteDetailsCommentTableViewCellC15trashWasPressed33_C484CBA9A999B9C436C3101A812AAD95LLyySo8UIButtonCF","s:11WooCommerce31NoteDetailsCommentTableViewCellC17approveWasPressed33_C484CBA9A999B9C436C3101A812AAD95LLyySo8UIButtonCF","s:11WooCommerce31POSCollectOrderPaymentAnalyticsC","s:11WooCommerce31POSCollectOrderPaymentAnalyticsC23trackReceiptPrintFailed5errorys5Error_p_tF","s:11WooCommerce31POSCollectOrderPaymentAnalyticsC23trackReceiptPrintTappedyyF","s:11WooCommerce31POSCollectOrderPaymentAnalyticsC24trackReceiptPrintSuccessyyF","s:11WooCommerce31POSCollectOrderPaymentAnalyticsC25trackReceiptPrintCanceledyyF","s:11WooCommerce31PaginatedListSelectorDataSourceP10isSelected5modelSb12StorageModel_12ReadOnlyTypeQZ_tF","s:11WooCommerce31ProductVariationsViewControllerC12Localization33_713A98B3DB3AEAA87AA4C5D3895E8E2DLLO12cancelActionSSvpZ","s:11WooCommerce31ProductVariationsViewControllerC12Localization33_713A98B3DB3AEAA87AA4C5D3895E8E2DLLO15moreButtonLabelSSvpZ","s:11WooCommerce31ProductVariationsViewControllerC12Localization33_713A98B3DB3AEAA87AA4C5D3895E8E2DLLO20editAttributesActionSSvpZ","s:11WooCommerce31ProductVariationsViewControllerC18featureFlagService33_713A98B3DB3AEAA87AA4C5D3895E8E2DLL11Experiments07FeaturehI0_pvp","s:11WooCommerce31ShippingLabelServicePackageListV9Constants33_C50A06DE2B66A0F1026CCED6858B1243LLO15verticalSpacing14CoreFoundation7CGFloatVvpZ","s:11WooCommerce31TopPerformersDashboardViewModelC16currencySettings33_E326410AB5F997574714ADECAE9C942BLL0A14FoundationCore08CurrencyI0Cvp","s:11WooCommerce31TopPerformersDashboardViewModelC17currencyFormatter33_E326410AB5F997574714ADECAE9C942BLL0A14FoundationCore08CurrencyI0Cvp","s:11WooCommerce31ULAccountMismatchViewControllerC08getImageE0So07UIImageE0CyF","s:11WooCommerce31ULAccountMismatchViewControllerC10getMessageSo7UILabelCyF","s:11WooCommerce31ULAccountMismatchViewControllerC15getLogOutButtonSo8UIButtonCyF","s:11WooCommerce31ULAccountMismatchViewControllerC16getUserNameLabelSo7UILabelCyF","s:11WooCommerce31ULAccountMismatchViewControllerC18getAuxiliaryButtonSo8UIButtonCyF","s:11WooCommerce31ULAccountMismatchViewControllerC18getSingedInAsLabelSo7UILabelCyF","s:11WooCommerce31ULAccountMismatchViewControllerC20getWrongAccountLabelSo7UILabelCyF","s:11WooCommerce31ULAccountMismatchViewControllerC22getPrimaryActionButtonSo8UIButtonCyF","s:11WooCommerce31ULAccountMismatchViewControllerC24getSecondaryActionButtonSo8UIButtonCyF","s:11WooCommerce32BillingInformationViewControllerC23checkIfCopyingIsAllowed33_97007C8ACF83414046C93061D9B092ACLL3forSb10Foundation9IndexPathV_tF","s:11WooCommerce32BillingInformationViewControllerC9Constants33_97007C8ACF83414046C93061D9B092ACLLO12footerHeight14CoreFoundation7CGFloatVvpZ","s:11WooCommerce32BlazeCampaignCreationCoordinatorC010addProductF033_B0ACBE13027C91CB591F60840ACBBCF7LLAA03AddhF0CSgvp","s:11WooCommerce32BlazeCampaignCreationCoordinatorC015didSelectCreateD033_B0ACBE13027C91CB591F60840ACBBCF7LLyAA0C6SourceOcSgvp","s:11WooCommerce32BlazeCampaignCreationCoordinatorC7siteURL33_B0ACBE13027C91CB591F60840ACBBCF7LLSSvp","s:11WooCommerce32BlazeCampaignObjectivePickerViewV12Localization33_AA053ED315A1CD4355EAF907B3E8D890LLO7messageSSvpZ","s:11WooCommerce32BulkUpdatePriceSettingsViewModelC3Rowa","s:11WooCommerce32CardReaderSettingsAlertsProviderP","s:11WooCommerce32CollapsibleCustomerCardViewModelC02isD15AccountRequiredSbvp","s:11WooCommerce32CollapsibleCustomerCardViewModelC10isEditableSbvp","s:11WooCommerce32DefaultProductFormTableViewModelV12LocalizationO28subscriptionPriceDescription33_0B335C919646781BE71A89ED001DCF69LL5price6period0T8Interval17currencyFormatterSSSgSS_10Networking18SubscriptionPeriodOSS0A14FoundationCore08CurrencyW0CtFZ","s:11WooCommerce32DefaultProductFormTableViewModelV12LocalizationO29subscriptionExpiryDescription33_0B335C919646781BE71A89ED001DCF69LL6length6periodS2S_10Networking18SubscriptionPeriodOtFZ","s:11WooCommerce32DefaultProductFormTableViewModelV18featureFlagService33_0B335C919646781BE71A89ED001DCF69LL11Experiments07FeaturejK0_pvp","s:11WooCommerce32LastOrdersDashboardCardViewModelC15ordersPredicate33_EA92B5C51B70F3261345D4585E1EEE3CLLSo11NSPredicateCyF","s:11WooCommerce32PointOfSalePreviewHistoryServiceC011clearSearchG03fory8Yosemite11POSItemTypeO_tF","s:11WooCommerce32PointOfSalePreviewHistoryServiceC014clearAllSearchG0yyF","s:11WooCommerce32PrivacyBannerPresentationUseCaseC13currentLocale011_A7FF76A064J20DC464D4CBD2F2D57CB94LL10Foundation0I0Vvp","s:11WooCommerce32ProductCategorySelectorViewModelC14storageManager33_AEF804CC8D75998E64E93CFF1F1BAB70LL7Storage0rI4Type_pvp","s:11WooCommerce32ProductCategorySelectorViewModelC18selectedCategories33_AEF804CC8D75998E64E93CFF1F1BAB70LLSays5Int64VGvp","s:11WooCommerce32ProductCategorySelectorViewModelC6siteID33_AEF804CC8D75998E64E93CFF1F1BAB70LLs5Int64Vvp","s:11WooCommerce32ProductDescriptionGenerationViewV6Layout33_1CCF2CEAE340602086590BCA943BC0F5LLO20minimuNameEditorSize14CoreFoundation7CGFloatVvpZ","s:11WooCommerce32ProductDownloadListActionHandlerP29handleDownloadableFilesChangeyySay10Networking0cD0VGF","s:11WooCommerce32UINavigationBarBackButtonHandlerP","s:11WooCommerce32WPComEmailLoginHostingControllerC15noticePresenter33_21F11F162B649CF1CCB81BF413EA68D2LLAA013DefaultNoticeI0Cvp","s:11WooCommerce33AggregatedShippingLabelOrderItemsV9orderItem2of2atAA09AggregatefI0VSg14NetworkingCore0dE0V_SitF","s:11WooCommerce33AnalyticsHubHostingViewControllerC28googleAdsCampaignCoordinator33_7211D5C4DC964F43362DF1FD5CCB9DBDLLAA06GoogleijK0CSgvp","s:11WooCommerce33BlazeAddPaymentMethodWebViewModelC6siteID33_8AE895C0CDB690525EB5C82FA44E7648LLs5Int64Vvp","s:11WooCommerce33EditOrderAddressHostingControllerC13subscriptions33_B7E28760E08833BADA0F8721A7FB3489LLShy7Combine14AnyCancellableCGvp","s:11WooCommerce33EditOrderAddressHostingControllerC20modalNoticePresenter33_B7E28760E08833BADA0F8721A7FB3489LLAA0iJ0_pvp","s:11WooCommerce33FeeOrDiscountLineDetailsViewModelC16currencyPosition0A14FoundationCore16CurrencySettingsC0nK0Ovp","s:11WooCommerce33FeeOrDiscountLineDetailsViewModelC17amountPlaceholderSSvp","s:11WooCommerce33FeeOrDiscountLineDetailsViewModelC23shouldDisableDoneButtonSbvp","s:11WooCommerce33FeeOrDiscountLineDetailsViewModelC27isPercentageOptionAvailableSbvp","s:11WooCommerce33FeeOrDiscountLineDetailsViewModelC9minusSign33_93BDBA0312C78AEDB1978DF6EE5A9191LLSSvp","s:11WooCommerce33LoginOnboardingPageViewControllerC9Constants33_7F290EAD72AFBD7281C91F4FD63D178CLLO23pageControlBottomMargin14CoreFoundation7CGFloatVvpZ","s:11WooCommerce33OrderDetailsPaymentAlertsProtocolP16presentViewModel04viewJ0yAA024CardPresentPaymentsModaliJ7Content_AA0lmnoiJ12UIKitActionsp_tF","s:11WooCommerce33PointOfSaleAggregateModelProtocolP027cardPresentPaymentAlertViewG0AA0cde4CardjkL4TypeOSgvp","s:11WooCommerce33PointOfSaleAggregateModelProtocolP032cardPresentPaymentOnboardingViewG0AA04Cardj8PaymentslmG0CSgvp","s:11WooCommerce33PointOfSaleAggregateModelProtocolP05pointdE6ClosedyyF","s:11WooCommerce33PointOfSaleAggregateModelProtocolP10orderStageAA0cde5OrderJ0Ovp","s:11WooCommerce33PointOfSaleAggregateModelProtocolP10orderStateAA0cde5OrderJ0Ovp","s:11WooCommerce33PointOfSaleAggregateModelProtocolP12paymentStateAA0cde7PaymentJ0Vvp","s:11WooCommerce33PointOfSaleAggregateModelProtocolP12startNewCartyyF","s:11WooCommerce33PointOfSaleAggregateModelProtocolP13addMoreToCartyyF","s:11WooCommerce33PointOfSaleAggregateModelProtocolP13searchHistory3forSaySSG8Yosemite11POSItemTypeO_tF","s:11WooCommerce33PointOfSaleAggregateModelProtocolP14barcodeScannedyys6ResultOySSAA21HIDBarcodeParserErrorOGF","s:11WooCommerce33PointOfSaleAggregateModelProtocolP17connectCardReaderyyF","s:11WooCommerce33PointOfSaleAggregateModelProtocolP17couponsControllerAA0cde7CouponsjH0_pvp","s:11WooCommerce33PointOfSaleAggregateModelProtocolP20disconnectCardReaderyyF","s:11WooCommerce33PointOfSaleAggregateModelProtocolP22removeAllItemsFromCart5typesySayAA0M8ItemTypeOG_tF","s:11WooCommerce33PointOfSaleAggregateModelProtocolP23couponsSearchControllerAA0cde14SearchingItemskH0_pvp","s:11WooCommerce33PointOfSaleAggregateModelProtocolP26cardReaderConnectionStatusAA018CardPresentPaymentjkL0Ovp","s:11WooCommerce33PointOfSaleAggregateModelProtocolP26purchasableItemsControllerAA0cdejkH0_pvp","s:11WooCommerce33PointOfSaleAggregateModelProtocolP28cancelCardPaymentsOnboardingyyF","s:11WooCommerce33PointOfSaleAggregateModelProtocolP31cardPresentPaymentInlineMessageAA0cde4CardjkM4TypeOSgvp","s:11WooCommerce33PointOfSaleAggregateModelProtocolP32purchasableItemsSearchControllerAA0cde9SearchingjlH0_pvp","s:11WooCommerce33PointOfSaleAggregateModelProtocolP32trackCardPaymentsOnboardingShownyyF","s:11WooCommerce33PointOfSaleAggregateModelProtocolP39cardPresentPaymentOnboardingViewFactoryAA04CardjklmN0CSgvp","s:11WooCommerce33PointOfSaleAggregateModelProtocolP6remove8cartItemyAA04CartK0_p_tF","s:11WooCommerce33PointOfSaleAggregateModelProtocolP8checkOutyyYaF","s:11WooCommerce33PointOfSalePreviewItemsControllerC23itemsViewStatePublisher7Combine0L0_ps5NeverO7FailureAeFPRts_AA0gjK0C6OutputAJRtsXPvp","s:11WooCommerce33ProductCreationAIStartingInfoViewV6Layout33_C0BE36B361A84A12F55B54C2654E3ACBLLO13dividerHeight14CoreFoundation7CGFloatVvpZ","s:11WooCommerce33ProductCreationAIStartingInfoViewV6Layout33_C0BE36B361A84A12F55B54C2654E3ACBLLO17placeholderInsets7SwiftUI04EdgeT0VvpZ","s:11WooCommerce33ProductDownloadListViewControllerC27onWPLibraryPickerCompletion33_75625F3F2DDD0EEEA389A6C0F3843C24LLySay10Networking5MediaVGcSgvp","s:11WooCommerce33ProductDownloadListViewControllerC31onDeviceLibraryPickerCompletion33_75625F3F2DDD0EEEA389A6C0F3843C24LLySaySo7PHAssetCGcSgvp","s:11WooCommerce33ProductImageActionHandlerProtocolP022uploadMediaAssetToSiteI7Library5assety10Networking0cdJ4TypeO_tF","s:11WooCommerce33ProductImageActionHandlerProtocolP027addSiteMediaLibraryImagesToC010mediaItemsySay10Networking0J0VG_tF","s:11WooCommerce33ProductImageActionHandlerProtocolP05resetC6Images2toyAA0C13FormDataModel_p_tF","s:11WooCommerce33ProductImageActionHandlerProtocolP06deletecD0yy10Networking0cD0VF","s:11WooCommerce33ProductImageActionHandlerProtocolP06updateC2IDyy10Networking0c11OrVariationI0OF","s:11WooCommerce33ProductImageActionHandlerProtocolP06updatecD23StatusesAfterReorderingyySay10Networking0cD6StatusOGF","s:11WooCommerce33ProductImageActionHandlerProtocolP13discardUpload5assety10Networking0cD9AssetTypeO_tF","s:11WooCommerce33ProductInventorySettingsViewModelC18featureFlagService33_228551149D66DE6DC417B3EAD4AAA5B2LL11Experiments07FeatureiJ0_pvp","s:11WooCommerce33RangedDatePickerHostingControllerC","s:11WooCommerce33RefundShippingLabelViewControllerC9Constants33_76C863C66C0FE0ABF486B0952C42C484LLO13sectionHeight14CoreFoundation7CGFloatVvpZ","s:11WooCommerce33ShippingLabelAddressFormViewModelC16addressValidatedAC10ValidationOvp","s:11WooCommerce33ShippingLabelSummaryTableViewCellC18buttonTouchUpEvent33_B2FF640D2C1D745379DBA08F8CEFE34FLLyyypF","s:11WooCommerce33ShippingLabelSummaryTableViewCellC22toggleSwitchWasPressed33_B2FF640D2C1D745379DBA08F8CEFE34FLLyyypF","s:11WooCommerce33StorePickerViewControllerDelegateP19showRoleErrorScreen3for9errorInfo12onCompletionys5Int64V_7Storage011EligibilityjN0VyyctF","s:11WooCommerce34AddProductWithAIContainerViewModelC11productNameSSvp","s:11WooCommerce34AddProductWithAIContainerViewModelC18productDescriptionSSSgvp","s:11WooCommerce34AddProductWithAIContainerViewModelC6sourceAA0cD11CoordinatorC6SourceOvp","s:11WooCommerce34BetaFeaturesConfigurationViewModelC18featureFlagService33_F0F43D66B961157A5DD0E1E2112EE6B9LL11Experiments07FeatureiJ0_pvp","s:11WooCommerce34BlazeCampaignListHostingControllerC11coordinator33_2462413F251FADF3C38DF26E361F29BELLAA0cD19CreationCoordinatorCSgvp","s:11WooCommerce34InAppPurchasesForWPComPlansManagerC05retryg4SyncF13PurchasedPlan4withySS_tYaKF","s:11WooCommerce34PointOfSaleBarcodeScannerSetupFlowC07restartI0yyF","s:11WooCommerce34PointOfSaleBarcodeScannerSetupStepV5titleSSvp","s:11WooCommerce34ProductDownloadFileViewModelOutputP3Rowa","s:11WooCommerce34ProductDownloadFileViewModelOutputP6fileIDSSSgvp","s:11WooCommerce34ProductDownloadListViewModelOutputP13downloadLimits5Int64Vvp","s:11WooCommerce34ProductDownloadListViewModelOutputP14downloadExpirys5Int64Vvp","s:11WooCommerce34ProductDownloadListViewModelOutputP17downloadableFilesSay10Networking0cD11DragAndDropCGvp","s:11WooCommerce34ProductPriceSettingsViewControllerC31subscriptionPeriodPickerUseCase33_7D171824E5D5A9D060478F9700E54F7BLLAA0c12SubscriptionijkL0CSgvp","s:11WooCommerce34SetUpTapToPayViewModelsOrderedListC19knownReaderProvider33_C8886900811CEEF9CE538EFC2E47485DLLAA04Cardm13SettingsKnownmN0_pSgvp","s:11WooCommerce34ShippingLabelFormStepTableViewCellC05stackH033_165C9C0604A688DA7174CDD8BD1865A5LLSo07UIStackH0CSgvp","s:11WooCommerce34ShippingLabelFormStepTableViewCellC18buttonTouchUpEvent33_165C9C0604A688DA7174CDD8BD1865A5LLyyypF","s:11WooCommerce34ShippingLabelPackagesFormViewModelC5taxesSay14NetworkingCore12OrderItemTaxVGyFZ","s:11WooCommerce35AggregatedProductListViewControllerC22itemAddOnsButtonTapped33_2D9D1281477D02563DBBC52B168B5ABALL03addJ0ySay14NetworkingCore09OrderItemdI2OnVG_tF","s:11WooCommerce35CollectPaymentNavigationDestinationO","s:11WooCommerce35InAppPurchasesForWPComPlansProtocolP05retryg4SyncF13PurchasedPlan4withySS_tYaKF","s:11WooCommerce35IndefiniteCircularProgressViewStyleV","s:11WooCommerce35IndefiniteCircularProgressViewStyleV8arcStart33_7A27D5816E4C5FD78CC0464BE77AC79FLLSdvp","s:11WooCommerce35LeftImageTitleSubtitleTableViewCellC04leftD0So7UIImageCSgvp","s:11WooCommerce35LeftImageTitleSubtitleTableViewCellC17subtitleLabelTextSSSgvp","s:11WooCommerce35LeftImageTitleSubtitleTableViewCellC9configure5image4text8subtitleySo7UIImageC_S2StF","s:11WooCommerce35LeftImageTitleSubtitleTableViewCellC9labelTextSSSgvp","s:11WooCommerce35LinkedProductListSelectorDataSourceC10isSelected5modelSb10Networking0D0V_tF","s:11WooCommerce35LinkedProductListSelectorDataSourceC7product33_F9472C0F0795C7E10FD88870F447A873LL10Networking0D0Vvp","s:11WooCommerce35PaginatedListSelectorViewControllerC25placeholderRowsPerSectionSaySiGvp","s:11WooCommerce35ProductSharingMessageGenerationViewV9Constants33_844DC9465D8E0E82BC654816146E30A1LLO15dummyTextInsets7SwiftUI04EdgeR0VvpZ","s:11WooCommerce35ProductSharingMessageGenerationViewV9Constants33_844DC9465D8E0E82BC654816146E30A1LLO6insets7SwiftUI10EdgeInsetsVvpZ","s:11WooCommerce35ShippingLabelSinglePackageViewModelC17currencyFormatter33_26690010B705597970829D07C0731FF4LL0A14FoundationCore08CurrencyJ0Cvp","s:11WooCommerce35ShippingLabelSinglePackageViewModelC8currency33_26690010B705597970829D07C0731FF4LLSSvp","s:11WooCommerce35UpgradesViewPresentationCoordinatorC07presentC03for4fromys5Int64V_So16UIViewControllerCtF","s:11WooCommerce35UpgradesViewPresentationCoordinatorC18featureFlagService33_2EF44F0D109B805A31D10CE32586CD9BLL11Experiments07FeaturehI0_pvp","s:11WooCommerce36AccountCreationFormHostingControllerC","s:11WooCommerce36CardPresentPaymentsOnboardingUseCaseC12forceRefreshyyF","s:11WooCommerce36CardReaderSettingsResultsControllersC8onReloadyycSgvp","s:11WooCommerce36CardReaderSettingsSearchingViewModelC05foundD033_02CF2A5554EC928763B472D6197E290CLL8Hardware0cD0VSgvp","s:11WooCommerce36CardReaderSettingsSearchingViewModelC05foundD2IDSSSgvp","s:11WooCommerce36CollectOrderPaymentAnalyticsTrackingP23trackReceiptPrintFailed5errorys5Error_p_tF","s:11WooCommerce36CollectOrderPaymentAnalyticsTrackingP23trackReceiptPrintTappedyyF","s:11WooCommerce36CollectOrderPaymentAnalyticsTrackingP24trackReceiptPrintSuccessyyF","s:11WooCommerce36CollectOrderPaymentAnalyticsTrackingP25trackReceiptPrintCanceledyyF","s:11WooCommerce36FailedProductImageCollectionViewCellC013configureBlurG033_074F022899B642F08C37369C4B0B1CF8LLyyF","s:11WooCommerce36FirstProductCreatedHostingControllerC05shareD11Coordinator33_B2E6E80494C4442F2E620086BF25F6C7LLAA05SharedI0CSgvp","s:11WooCommerce36PointOfSaleOrderSyncErrorMessageViewV9Constants33_12ED6CA2BA1CB1D54D3ECEB5A9FED6E2LLO11textSpacing14CoreFoundation7CGFloatVvpZ","s:11WooCommerce36PointOfSaleOrderSyncErrorMessageViewV9Constants33_12ED6CA2BA1CB1D54D3ECEB5A9FED6E2LLO13headerSpacing14CoreFoundation7CGFloatVvpZ","s:11WooCommerce36ShippingLabelPaymentMethodsViewModelC06sampleE8MethodIDs5Int64VvpZ","s:11WooCommerce36StoreOnboardingViewHostingControllerC5coderACSgSo7NSCoderC_tcfc","s:11WooCommerce36SurveySubmittedViewControllerOutputsP17onContactUsActionyycSgvp","s:11WooCommerce36SurveySubmittedViewControllerOutputsP19onBackToStoreActionyycSgvp","s:11WooCommerce36TrackEventRequestNotificationHandlerC17trackingObservers33_E4818665C94798DDA37EFEC7C76E2C9FLLSaySo8NSObject_pGSgvp","s:11WooCommerce37CardPresentPaymentPreflightControllerC6siteID33_888C7FBF1BC3DCE6A9CC3389C08B998ALLs5Int64Vvp","s:11WooCommerce37CollectOrderPaymentUseCaseDefinitions33_4F56B47730D8A60A8D650FD61F10F2E9LLO12LocalizationO12emailSubject9storeNameS2SSg_tFZ","s:11WooCommerce37CollectOrderPaymentUseCaseDefinitions33_4F56B47730D8A60A8D650FD61F10F2E9LLO12LocalizationO25emailSubjectWithStoreNameSSvpZ","s:11WooCommerce37CollectOrderPaymentUseCaseDefinitions33_4F56B47730D8A60A8D650FD61F10F2E9LLO12LocalizationO28emailSubjectWithoutStoreNameSSvpZ","s:11WooCommerce37CollectOrderPaymentUseCaseDefinitions33_4F56B47730D8A60A8D650FD61F10F2E9LLO17UnknownEmailErrorV","s:11WooCommerce37EditProductCategoryListViewControllerC12onCompletion33_85C9D2042752C78BB1BA9F2CD0A74F1FLLyySay10Networking0dE0VGcvp","s:11WooCommerce37EditProductCategoryListViewControllerC7product33_85C9D2042752C78BB1BA9F2CD0A74F1FLL10Networking0D0Vvp","s:11WooCommerce37PaymentSettingsFlowPresentedViewModelP19didChangeShouldShowyAA010CardReaderD8TriStateOcSgvp","s:11WooCommerce37PaymentSettingsFlowPresentedViewModelP9didUpdateyycSgvp","s:11WooCommerce37ProductDescriptionGenerationViewModelC4task33_58EAFEF856D89C85AD32DD0FCB1AAAFFLLScTyyts5Error_pGSgvp","s:11WooCommerce37ProductDownloadSettingsViewControllerC5error33_4643B5329648BD7622E246A9836F38A3LLSSSgvp","s:11WooCommerce37ShippingLabelCarrierAndRatesTopBannerV8Callbacka","s:11WooCommerce37ShippingLabelCustomsFormListViewModelC12allCountries33_94AB4E95100CBFC6F5F6320C8848D670LLSay10Networking7CountryVGvp","s:11WooCommerce37ShippingLabelCustomsFormListViewModelC14currencySymbol33_94AB4E95100CBFC6F5F6320C8848D670LLSSvp","s:11WooCommerce37ShippingLabelCustomsFormListViewModelC18destinationCountry33_94AB4E95100CBFC6F5F6320C8848D670LL10Networking0K0Vvp","s:11WooCommerce37ShippingLabelCustomsFormListViewModelC20isEUShippingScenarioSbvp","s:11WooCommerce37ShippingLabelCustomsFormListViewModelC5order33_94AB4E95100CBFC6F5F6320C8848D670LL14NetworkingCore5OrderVvp","s:11WooCommerce37ShippingLabelCustomsFormListViewModelC6stores33_94AB4E95100CBFC6F5F6320C8848D670LL8Yosemite13StoresManager_pvp","s:11WooCommerce38CardPresentPaymentsModalViewControllerC08getImageG0So07UIImageG0CyF","s:11WooCommerce38CardPresentPaymentsModalViewControllerC15extraInfoButton33_1FCEEEC99AED622301D36AE80687EE32LLSo8UIButtonCSgvp","s:11WooCommerce38CardPresentPaymentsModalViewControllerC16getTopTitleLabelSo7UILabelCyF","s:11WooCommerce38CardPresentPaymentsModalViewControllerC19getBottomTitleLabelSo7UILabelCyF","s:11WooCommerce38CardPresentPaymentsModalViewControllerC19getTopSubtitleLabelSo7UILabelCyF","s:11WooCommerce38CardPresentPaymentsModalViewControllerC22getBottomSubtitleLabelSo7UILabelCyF","s:11WooCommerce38CardPresentPaymentsModalViewControllerC22getPrimaryActionButtonSo8UIButtonCyF","s:11WooCommerce38CardPresentPaymentsModalViewControllerC24getSecondaryActionButtonSo8UIButtonCyF","s:11WooCommerce38CardPresentPaymentsOnboardingPresenterC6stores33_E242CBDC8F50EED220C283696A5D2F7FLL8Yosemite13StoresManager_pvp","s:11WooCommerce38CardPresentPaymentsOnboardingPresenterC7refreshyyF","s:11WooCommerce38CardPresentPaymentsOnboardingViewModelC20clearPluginSelectionyyF","s:11WooCommerce38CardPresentPaymentsOnboardingViewModelC6stores8Yosemite13StoresManager_pvp","s:11WooCommerce38CardPresentPluginsDataProviderProtocolP23isWCPayVersionSupported6pluginSb10Networking12SystemPluginV_tF","s:11WooCommerce38CardPresentPluginsDataProviderProtocolP24isStripeVersionSupported6pluginSb10Networking12SystemPluginV_tF","s:11WooCommerce38JetpackBenefitsBannerHostingControllerC","s:11WooCommerce38POSCollectOrderPaymentAnalyticsAdaptorC23trackReceiptPrintFailed5errorys5Error_p_tF","s:11WooCommerce38POSCollectOrderPaymentAnalyticsAdaptorC23trackReceiptPrintTappedyyF","s:11WooCommerce38POSCollectOrderPaymentAnalyticsAdaptorC24trackReceiptPrintSuccessyyF","s:11WooCommerce38POSCollectOrderPaymentAnalyticsAdaptorC25trackReceiptPrintCanceledyyF","s:11WooCommerce38POSCollectOrderPaymentPreviewAnalyticsC019trackSuccessfulCardE008capturedE4DatayAA0j15PresentCapturedeL0V_tF","s:11WooCommerce38POSCollectOrderPaymentPreviewAnalyticsC05trackE11Cancelation17cancelationSourcey0A14FoundationCore0aG5EventVAAE16InPersonPaymentsO012CancellationK0O_tF","s:11WooCommerce38POSCollectOrderPaymentPreviewAnalyticsC05trackE7Failure4withys5Error_p_tF","s:11WooCommerce38POSCollectOrderPaymentPreviewAnalyticsC16trackEmailTappedyyF","s:11WooCommerce38POSCollectOrderPaymentPreviewAnalyticsC20connectedReaderModelSSSgvp","s:11WooCommerce38POSCollectOrderPaymentPreviewAnalyticsC23preflightResultReceivedyyAA019CardReaderPreflightI0OSgF","s:11WooCommerce38POSCollectOrderPaymentPreviewAnalyticsC23trackReceiptPrintFailed5errorys5Error_p_tF","s:11WooCommerce38POSCollectOrderPaymentPreviewAnalyticsC23trackReceiptPrintTappedyyF","s:11WooCommerce38POSCollectOrderPaymentPreviewAnalyticsC24trackReceiptPrintSuccessyyF","s:11WooCommerce38POSCollectOrderPaymentPreviewAnalyticsC25trackProcessingCompletion6intenty8Hardware0E6IntentV_tF","s:11WooCommerce38POSCollectOrderPaymentPreviewAnalyticsC25trackReceiptPrintCanceledyyF","s:11WooCommerce38POSCollectOrderPaymentPreviewAnalyticsC28resetCheckoutTapCountTrackeryyF","s:11WooCommerce38ProductCatalogVisibilityViewControllerC7SectionV6footer3rowAESSSg_AC3RowOtcfc","s:11WooCommerce38ProductDownloadSettingsViewModelOutputP3Rowa","s:11WooCommerce38ProductInventorySettingsViewControllerC28skuBarcodeScannerCoordinator33_963EC44C7B710FF18CA47822A3972F23LLAA06ProducijK0CSgvp","s:11WooCommerce38SetUpTapToPayTryPaymentPromptViewModelC17currencyFormatter33_B24894AE69E7C09949591B8694F66020LL0A14FoundationCore08CurrencyN0Cvp","s:11WooCommerce38SetUpTapToPayTryPaymentPromptViewModelC26connectionAnalyticsTracker33_B24894AE69E7C09949591B8694F66020LLAA020CardReaderConnectionnO0Cvp","s:11WooCommerce38ShippingLabelAddressFormViewControllerC3RowO15reuseIdentifier33_A493AAB1F74022D7790D20E9A85E182BLLSSvp","s:11WooCommerce38ShippingLabelCustomsFormInputViewModelC12allCountries33_36E9164D31380E6D43CEDFC5AB4977B1LLSay10Networking7CountryVGvp","s:11WooCommerce38ShippingLabelCustomsFormInputViewModelC8currency33_36E9164D31380E6D43CEDFC5AB4977B1LLSSvp","s:11WooCommerce38TapToPayCardReaderConnectionControllerC13configuration33_29C188BCF4B178F6FFC8200CAF98DD65LL8Yosemite0F28PresentPaymentsConfigurationVvp","s:11WooCommerce38TapToPayCardReaderConnectionControllerC18featureFlagService33_29C188BCF4B178F6FFC8200CAF98DD65LL11Experiments07FeaturekL0_pvp","s:11WooCommerce38TwoColumnHeadlineFootnoteTableViewCellC06updateF14AttributedTextyySo18NSAttributedStringCSgF","s:11WooCommerce39CardPresentPaymentsOnboardingPresentingP7refreshyyF","s:11WooCommerce39FilterProductCategoryListViewControllerC6siteID33_D3C05D494111841E85193FF5073F00E0LLs5Int64Vvp","s:11WooCommerce39POSCollectOrderPaymentAnalyticsTrackingP28resetCheckoutTapCountTrackeryyF","s:11WooCommerce39PointOfSaleBarcodeScannerTransitionTypeO","s:11WooCommerce39ProductInventorySettingsViewModelOutputP20isStockStatusEnabledSbvp","s:11WooCommerce3Row33_D712A2AD3A1E71D1939C49B33BD46D0DLLO6height14CoreFoundation7CGFloatVvp","s:11WooCommerce40CardPresentPaymentsAlertPresenterAdaptorC5resetyyF","s:11WooCommerce40LinkedProductsListSelectorViewControllerC012topContainerG033_B0E883920E6EAFE2893878BD93DD8238LLSo6UIViewCSgvp","s:11WooCommerce40LinkedProductsListSelectorViewControllerC12imageService33_B0E883920E6EAFE2893878BD93DD8238LLAA05ImageJ0_pvp","s:11WooCommerce41CardPresentPaymentReceiptEmailCoordinatorC12Localization33_43F6631C80588E875652EB0DF0BD5FEELLO07collectE11WithoutNameSSvpZ","s:11WooCommerce41CardPresentPaymentReceiptEmailCoordinatorC12Localization33_43F6631C80588E875652EB0DF0BD5FEELLO07collectE5Title8usernameS2SSg_tFZ","s:11WooCommerce41CardPresentPaymentReceiptEmailCoordinatorC12Localization33_43F6631C80588E875652EB0DF0BD5FEELLO07collectE8WithNameSSvpZ","s:11WooCommerce41CardReaderSettingsSearchingViewControllerC02onG14ModelDidUpdate33_BFC5D69B639B470830B2404485592FEELLyyF","s:11WooCommerce41ExtendedAddProductImageCollectionViewCellC8Settings33_6437986D53EA2623AFC370FB393E15DALLO12maskToBoundsSbvpZ","s:11WooCommerce41LeftImageTitleSubtitleToggleTableViewCellC04leftD0So7UIImageCSgvp","s:11WooCommerce41LeftImageTitleSubtitleToggleTableViewCellC17subtitleLabelTextSSSgvp","s:11WooCommerce41LeftImageTitleSubtitleToggleTableViewCellC9configure33_8866DBD912F95E9CFD0B7503551D7375LL5image4text8subtitle010attributedF011switchState0V6Action0t3TapX0ySo7UIImageC_S2SSgSo18NSAttributedStringCSgSbySbcyycSgtF","s:11WooCommerce41LeftImageTitleSubtitleToggleTableViewCellC9configure5image4text8subtitle11switchState0O6Action0n3TapQ0ySo7UIImageC_SSSo18NSAttributedStringCSbySbcyycSgtF","s:11WooCommerce41LeftImageTitleSubtitleToggleTableViewCellC9configure5image4text8subtitle11switchState0O6ActionySo7UIImageC_S2SSbySbctF","s:11WooCommerce41LeftImageTitleSubtitleToggleTableViewCellC9labelTextSSSgvp","s:11WooCommerce41PointOfSaleBarcodeScannerSetupFlowManagerC12previousStepyyF","s:11WooCommerce41PointOfSaleBarcodeScannerSetupFlowManagerC8nextStepyyF","s:11WooCommerce41ProductFormBottomSheetListSelectorCommandC10isSelected5modelSbAA0cdeF6ActionO_tF","s:11WooCommerce41ProductTypeBottomSheetListSelectorCommandC10isSelected5modelSbAA0efcD0O_tF","s:11WooCommerce41WordPressMediaLibraryPickerViewControllerC05mediag10NavigationI033_085819E0DF0C09C2032A511BA5B462A0LLSo012WPNavigationeghI0CSgvp","s:11WooCommerce42AddProductWithAIContainerHostingControllerC29selectPackageImageCoordinator33_99E44301D20348E9E6E3F33D94335368LLAA06SelectjkL0CSgvp","s:11WooCommerce42BlazeCampaignCreationFormHostingControllerC9Constants33_993A5EBA007CF0C8C258A3F2DA5D3486LLO","s:11WooCommerce42CollapsibleCustomerCardHeaderView_PreviewsV7address14NetworkingCore7AddressVvpZ","s:11WooCommerce42InPersonPaymentsSelectPluginViewControllerC","s:11WooCommerce43BlazeCampaignDashboardViewHostingControllerC","s:11WooCommerce43CardPresentPaymentPreflightControllerFacadeP","s:11WooCommerce43POSCardPresentPaymentInLineMessageAnimationV25actionButtonsTransitionIdSSvp","s:11WooCommerce43PointOfSaleOrderSyncCouponsErrorMessageViewV9Constants33_26376EFC578C744FF3E3CD7C6E70FFCALLO11textSpacing14CoreFoundation7CGFloatVvpZ","s:11WooCommerce43PointOfSaleOrderSyncCouponsErrorMessageViewV9Constants33_26376EFC578C744FF3E3CD7C6E70FFCALLO13headerSpacing14CoreFoundation7CGFloatVvpZ","s:11WooCommerce43ShippingLabelSuggestedAddressViewControllerC3RowO15reuseIdentifier33_6B377CC7204358DE99C0A98E116CEE29LLSSvp","s:11WooCommerce43ShippingLabelSuggestedAddressViewControllerC9Constants33_6B377CC7204358DE99C0A98E116CEE29LLO","s:11WooCommerce44CardPresentPaymentsOnboardingUseCaseProtocolP11updateStateyyF","s:11WooCommerce45BluetoothCardReaderSettingsConnectedViewModelC09connectedeI0SSSgvp","s:11WooCommerce45BluetoothCardReaderSettingsConnectedViewModelC12Localization33_54766DECDD2E83E3FED4AD2639CE0526LLO5titleSSvpZ","s:11WooCommerce45BluetoothCardReaderSettingsConnectedViewModelC13configuration33_54766DECDD2E83E3FED4AD2639CE0526LL8Yosemite0D28PresentPaymentsConfigurationVvp","s:11WooCommerce45BluetoothCardReaderSettingsConnectedViewModelC18connectedGatewayIDSSSgvp","s:11WooCommerce45CardPresentPaymentsOnboardingPresenterAdaptorC7refreshyyF","s:11WooCommerce45ShippingLabelPackageDetailsResultsControllersC15onProductReload33_9B55171F24038979BF68F419F03503B7LLySay10Networking0J0VGcSgvp","s:11WooCommerce45ShippingLabelPackageDetailsResultsControllersC25onProductVariationsReload33_9B55171F24038979BF68F419F03503B7LLySay10Networking0J9VariationVGcSgvp","s:11WooCommerce46CardPresentPaymentsOnboardingIPPUsersRefresherC12cancellables33_B4EA91C81181D8F37CD0A1B283209DB6LLShy7Combine14AnyCancellableCGvp","s:11WooCommerce46DownloadableFileBottomSheetListSelectorCommandC10isSelected5modelSbAA0cD6SourceO_tF","s:11WooCommerce46InPersonPaymentsOnboardingErrorButtonViewModelV14analyticReason33_3FAC52F93685864F845C8038EA563121LLSSvp","s:11WooCommerce46InPersonPaymentsOnboardingErrorButtonViewModelV24cardPresentConfiguration33_3FAC52F93685864F845C8038EA563121LL8Yosemite04CardleM0Vvp","s:11WooCommerce46PointOfSalePreviewPurchasableItemFetchStrategyV","s:11WooCommerce48InPersonPaymentsCashOnDeliveryToggleRowViewModelC14storageManager33_E0526F3E255D17920DAE2740D15B7343LL7Storage0vN4Type_pvp","s:11WooCommerce48InPersonPaymentsCashOnDeliveryToggleRowViewModelC15learnMoreTapped4fromySo16UIViewControllerC_tF","s:11WooCommerce49ApplicationPasswordAuthorizationWebViewControllerC12Localization33_9F6D62D552BBF2D522DFC1C5EB9C916FLLO011applicationD8DisabledSSvpZ","s:11WooCommerce4CartV15PurchasableItemV0E5StateO9isLoadingSbvp","s:11WooCommerce50PercentageAddCustomAmountInputTypeViewModelAdapterV04baseF0So9NSDecimalavp","s:11WooCommerce51CardPresentModalTapToPayReaderCheckingDeviceSupportC20auxiliaryButtonimageSo7UIImageCSgvp","s:11WooCommerce53PointOfSaleCardPresentPaymentFoundMultipleReadersViewV9animation33_8394681FDF187A3B08CD5D20F5ABAA6ALLAA07POSCardgH14AlertAnimationVvp","s:11WooCommerce60PointOfSaleCardPresentPaymentConnectionSuccessAlertViewModelC9scheduler33_867030BD2B6CA1FEDB8D9C50ACE936DDLL0A10Foundation9Scheduler_pvp","s:11WooCommerce6EditorP13onContentSaveySS_SSSgtcSgvp","s:11WooCommerce6Layout33_E72AE91B4454CC6CA6293BAF3927BC62LLO18inactiveRowPadding14CoreFoundation7CGFloatVvpZ","s:11WooCommerce6Layout33_EDF879A393D54559F38A697A5627AED9LLO12cornerRadius14CoreFoundation7CGFloatVvpZ","s:11WooCommerce6Layout33_EDF879A393D54559F38A697A5627AED9LLO14checkImageSize14CoreFoundation7CGFloatVvpZ","s:11WooCommerce6Layout33_EDF879A393D54559F38A697A5627AED9LLO14stepperPadding14CoreFoundation7CGFloatVvpZ","s:11WooCommerce6Layout33_EDF879A393D54559F38A697A5627AED9LLO16productImageSize14CoreFoundation7CGFloatVvpZ","s:11WooCommerce6NoticeV8subtitle7message12feedbackType16notificationInfo11actionTitle0J7HandlerACSS_SSSgSo022UINotificationFeedbackG0VSgAA0c12NotificationI0VSgAJyycSgtcfc","s:11WooCommerce7APNSKeyO3idsSSvpZ","s:11WooCommerce7APNSKeyO4metaSSvpZ","s:11WooCommerce7APNSKeyO5orderSSvpZ","s:11WooCommerce7HubMenuV2iO33_D9537D7AA5E00BBB82EB09D0C275EF7BLL6Inject17InjectionObserverCvp","s:11WooCommerce7HubMenuV9Constants33_D9537D7AA5E00BBB82EB09D0C275EF7BLLO12cornerRadius14CoreFoundation7CGFloatVvpZ","s:11WooCommerce7WebViewV11credentials33_584896A1877B444BE47994690E40DFDALL14NetworkingCore11CredentialsOSgvp","s:11WooCommerce8CartViewV17shouldShowCoupons33_C46CA39BB4B435B65995CB7E92E36F3ALLSbvp","s:11WooCommerce8CartViewV23floatingControlAreaSizeSo6CGSizeVvp","s:11WooCommerce8Settings33_4E571C7036CC63D4FCCE8150A1577F4ALLO21estimatedHeaderHeight14CoreFoundation7CGFloatVvpZ","s:11WooCommerce9Constants33_299F7E586DDE60EC3DC02672D8F62F85LLO20compactImageFontSize14CoreFoundation7CGFloatVvpZ","s:11WooCommerce9Constants33_726001A3A30DC08725A4678D00E9F568LLO20compactImageFontSize14CoreFoundation7CGFloatVvpZ","s:11WooCommerce9Constants33_8D02DCF1AF17D12681D42985174C5B05LLV12enabledAlpha14CoreFoundation7CGFloatVvpZ","s:11WooCommerce9Constants33_8D02DCF1AF17D12681D42985174C5B05LLV13disabledAlpha14CoreFoundation7CGFloatVvpZ","s:11WooCommerce9Constants33_8D02DCF1AF17D12681D42985174C5B05LLV15pickerRowHeight14CoreFoundation7CGFloatVvpZ","s:11WooCommerce9Constants33_C46CA39BB4B435B65995CB7E92E36F3ALLO11primaryFontAA12POSFontStyleOvpZ","s:11WooCommerce9Constants33_FB27841256F66937FB6060C9A1DC2C56LLV12footerHeightSivpZ","s:11WooCommerce9Constants33_FDF446E3D9460D206396ED7065007803LLV13footerPadding14CoreFoundation7CGFloatVvpZ","s:11WooCommerce9Constants33_FDF446E3D9460D206396ED7065007803LLV14separatorInset14CoreFoundation7CGFloatVvpZ","s:11WooCommerce9MethodRow33_09EF69EC0C0FE1FB881BDD9B45C04263LLV4icon5title15accessibilityID6actionADSo7UIImageC_S2Syyctcfc","s:11WooCommerce9OrderFormV12Localization33_FEAC847823895F6A7BB14365B1DB7263LLO27productRowAccessibilityHintSSvpZ","s:11WooCommerce9OrderFormV13Accessibility33_FEAC847823895F6A7BB14365B1DB7263LLO39addProductViaSKUScannerButtonIdentifierSSvpZ","s:11WooCommerce9OrderFormV6Layout33_FEAC847823895F6A7BB14365B1DB7263LLO030storedTaxRateBottomSheetStoredmN12CornerRadius14CoreFoundation7CGFloatVvpZ","s:11WordPressUI10GhostLayerC11isAnimatingSbvp","s:11WordPressUI10GhostLayerC13stopAnimatingyyF","s:11WordPressUI13GhostableViewP","s:11WordPressUI24FancyAlertViewControllerC03setF13Configuration_8animated9alongsideyAC6ConfigV_SbyACcSgtF","s:11WordPressUI24FancyAlertViewControllerC11WooCommerceE016makePurchaseNoteeG04withACSSSg_tFZ","s:11WordPressUI24FancyAlertViewControllerC11WooCommerceE23makeDismissButtonConfig33_681EE4A34377F1805D501E019896D97FLLSS5title_yAC_So8UIButtonCtcSg7handlertyFZ","s:11WordPressUI24FancyAlertViewControllerC11WooCommerceE7Strings33_681EE4A34377F1805D501E019896D97FLLV","s:11WordPressUI24FancyAlertViewControllerC12buttonTapped33_82D688A4E177A7F0D600862519525FEALLyySo8UIButtonCF","s:11WordPressUI24FancyAlertViewControllerC16isBottomSwitchOnSbyF","s:11WordPressUI24FancyAlertViewControllerC6ConfigV06SwitchH0V12initialValue4text6actionAGSb_SSyAC_So8UISwitchCtcSgtcfc","s:11WordPressUI24FancyAlertViewControllerC6ConfigV06SwitchH0V14OptionalActiona","s:11WordPressUI24FancyAlertViewControllerC9Constants33_82D688A4E177A7F0D600862519525FEALLV20resizeAnimationDelaySdvpZ","s:11WordPressUI24FancyAlertViewControllerC9Constants33_82D688A4E177A7F0D600862519525FEALLV23resizeAnimationDurationSdvpZ","s:11WordPressUI25BottomSheetViewControllerC9ConstantsO12minimumWidth14CoreFoundation7CGFloatVvpZ","s:11WordPressUI25BottomSheetViewControllerC9ConstantsO13buttonSpacing14CoreFoundation7CGFloatVvpZ","s:11WordPressUI25BottomSheetViewControllerC9ConstantsO6ButtonO","s:11WordPressUI25BottomSheetViewControllerC9ConstantsO6HeaderO6insetsSo12UIEdgeInsetsVvpZ","s:11WordPressUI26GhostCollectionViewHandlerC7options5styleAcA0D7OptionsV_AA0D5StyleVtcfc","s:11WordPressUI28DrawerPresentationControllerC9yPosition14CoreFoundation7CGFloatVSgvp","s:12ScreenObjectAAC17UITestsFoundationE3popyyF","s:12ScreenObjectAAC17UITestsFoundationE4thenyABXDyABXEF","s:12ScreenObjectAAC17UITestsFoundationE4thenyABXDyyXEF","s:12ScreenObjectAAC17UITestsFoundationE7waitFor7element9predicate7timeoutSbSo11XCUIElementC_SSSiSgtF","s:13WooFoundation0A18NavigationBarStyleV","s:13WooFoundation0A27RoundedBorderTextFieldStyleV5_body13configurationQr7SwiftUI0eF0VyAF01_efG5LabelVG_tF","s:13WooFoundation10ErrorStyleV","s:13WooFoundation10TitleStyleV","s:13WooFoundation11CountryCodeO0A8CommerceE9flagEmojiSSSgvp","s:13WooFoundation11SizeTrackerV","s:13WooFoundation11SizeTrackerV4sizeAC7SwiftUI7BindingVySo6CGSizeVG_tcfc","s:13WooFoundation12CalloutStyleV","s:13WooFoundation12CaptionStyleV","s:13WooFoundation13FootnoteStyleV","s:13WooFoundation13MockSchedulerC","s:13WooFoundation13RoundedBorderV6Layout33_AFE4EF443A3E4F0AAFA6AB01E4573299LLO6height04CoreB07CGFloatVvpZ","s:13WooFoundation15LargeTitleStyleV","s:13WooFoundation15MockCancellableC","s:13WooFoundation15MockCrashLoggerV","s:13WooFoundation17NetworkMonitoringP6cancelyyF","s:13WooFoundation17SizePreferenceKeyV","s:13WooFoundation18TertiaryTitleStyleV","s:13WooFoundation19SecondaryTitleStyleV","s:13WooFoundation20ConnectivityObserverP13stopObservingyyF","s:13WooFoundation20ConnectivityObserverP14startObservingyyF","s:13WooFoundation20MockAnalyticsPreviewC","s:13WooFoundation21AutofocusTextModifierV","s:13WooFoundation21AutofocusTextModifierVACycfc","s:13WooFoundation24KeyboardObserverProviderV","s:13WooFoundation24MockUTMParameterProviderV","s:13WooFoundation27DefaultConnectivityObserverC13stopObservingyyF","s:13WooFoundation28MockAnalyticsProviderPreviewC","s:13WooFoundation2neoiyAA19ComparisonPredicateCs7KeyPathCyxq_G_q_tSQR_r0_lF","s:13WooFoundation2oooiyAA17CompoundPredicateCAA05TypedE0_p_AaE_ptF","s:13WooFoundation33ConditionalVerticalScrollModifierV","s:13WooFoundation35IndefiniteCircularProgressViewStyleV8arcStart33_07D85D3219211BD5462122722C1557FELLSdvp","s:13WooFoundation9AnalyticsP17analyticsProviderAA0cE0_pvp","s:13WooFoundation9IconStyleV","s:13WooFoundation9IconStyleVACycfc","s:13Woo_Watch_App0A9ConstantsO","s:13Woo_Watch_App0A9ConstantsO16defaultStoreNameSSvpZ","s:13Woo_Watch_App0A9ConstantsO19applicationPasswordSSvpZ","s:13Woo_Watch_App0A9ConstantsO19keychainServiceNameSSvpZ","s:13Woo_Watch_App0B12DependenciesV","s:13Woo_Watch_App0B12DependenciesV7storeID0E4Name16currencySettings11credentials19applicationPassword19enablesCrashReports7accountACs5Int64V_SS0A14FoundationCore08CurrencyI0C010NetworkingS011CredentialsOAP011ApplicationL0VSgSbAP7AccountVSgtcfc","s:13Woo_Watch_App0B12DependenciesV7storeID0E4Name16currencySettings11credentials19enablesCrashReports7accountACs5Int64V_SS0A14FoundationCore08CurrencyI0C010NetworkingQ011CredentialsOSbAO7AccountVSgtcfc","s:13Woo_Watch_App0B17CrashLoggingStackV8logError_8userInfo5levelys0H0_p_SDySSypGSg0A14FoundationCore13SeverityLevelOtF","s:13Woo_Watch_App10TracksUserV5emailACSS_tcfc","s:13Woo_Watch_App10TracksUserV8usernameSSSgvp","s:13Woo_Watch_App12CrashLoggingC05forcedE3KeySSvpZ","s:13Woo_Watch_App12CrashLoggingC12flushTimeoutSdvp","s:13Woo_Watch_App12CrashLoggingC6ErrorsO","s:13Woo_Watch_App12CrashLoggingC9InternalsV05crashE0ACSgvpZ","s:13Woo_Watch_App14ApiCredentialsV12tracksPrefixSSvpZ","s:13Woo_Watch_App18StoreInfoFormatterV28formattedAmountCompactString3for4withSSSo9NSDecimala_0A14FoundationCore16CurrencySettingsCSgtFZ","s:13Woo_Watch_App19PerformanceTrackingO13ConfigurationV10sampleRateSdvp","s:13Woo_Watch_App19PerformanceTrackingO13ConfigurationV13profilingRateSdvp","s:13Woo_Watch_App19PerformanceTrackingO13ConfigurationV20trackUserInteractionSbvp","s:13Woo_Watch_App19PerformanceTrackingO13ConfigurationV20trackViewControllersSbvp","s:13Woo_Watch_App19PerformanceTrackingO13ConfigurationV7sampler13profilingRate13trackCoreData0J6FileIO0J7Network0J15UserInteraction0J15ViewControllersAESdyc_SdS5btcfc","s:13Woo_Watch_App22OrderListCellViewModelV12salesChannelSSSgvp","s:13Woo_Watch_App22OrderListCellViewModelV5titleSSvp","s:13Woo_Watch_App22OrderListCellViewModelV6status14NetworkingCore0D10StatusEnumOvp","s:13Woo_Watch_App22resetDefaultDebugLevelyyF","s:13Woo_Watch_App24CrashLoggingDataProviderPAAE13profilingRateSdvp","s:13Woo_Watch_App24CrashLoggingDataProviderPAAE16tracesSampleRateSdvp","s:13Woo_Watch_App24CrashLoggingDataProviderPAAE28enableUserInteractionTracingSbvp","s:13Woo_Watch_App24CrashLoggingDataProviderPAAE30enableUIViewControllerTrackingSbvp","s:13Woo_Watch_App28OrderNotificationDataServiceC04loadD4From6noteID14NetworkingCore4NoteV_AF0D0Vts5Int64V_tYaKF","s:13Woo_Watch_App7APNSKeyO3idsSSvpZ","s:13Woo_Watch_App7APNSKeyO4metaSSvpZ","s:13Woo_Watch_App7APNSKeyO5orderSSvpZ","s:14CoreFoundation7CGFloatV07UITestsB0E9isBetween33_A43A31F44B10350136AF2B75ECBA64BELL_3andSbAC_ACtF","s:14NetworkingCore10DDLogDebug_5level7context4file8function4line3tag12asynchronous5ddlogySSyXK_So0C5LevelVSis12StaticStringVANSuypSgSbSo0C0CtF","s:14NetworkingCore11MIContainerV","s:14NetworkingCore11MIContainerV16fetchDoubleValue3forSdx_tSYRzSS03RawF0RtzlF","s:14NetworkingCore11RESTRequestV7siteURL19wordpressApiVersion6method4path10parametersACSS_AA19WordPressAPIVersionO9Alamofire10HTTPMethodVSSSDySSypGSgtcfc","s:14NetworkingCore12DDLogVerbose_5level7context4file8function4line3tag12asynchronous5ddlogySSyXK_So0C5LevelVSis12StaticStringVANSuypSgSbSo0C0CtF","s:14NetworkingCore12OrderFeeLineV10attributesSayAA0C13ItemAttributeVGvp","s:14NetworkingCore12OrderTaxLineV10attributesSayAA0C13ItemAttributeVGvp","s:14NetworkingCore12OrdersRemoteC13ParameterKeys33_5F105DE736F184F8537B70E9FA55C502LLO13modifiedAfterSSvpZ","s:14NetworkingCore12OrdersRemoteC13ParameterKeys33_5F105DE736F184F8537B70E9FA55C502LLO5afterSSvpZ","s:14NetworkingCore12OrdersRemoteC13ParameterKeys33_5F105DE736F184F8537B70E9FA55C502LLO6beforeSSvpZ","s:14NetworkingCore13MetaContainerV4link6forKeySSSgAC4KeysO_tF","s:14NetworkingCore13_AnyDecodableP5valueypvp","s:14NetworkingCore14EncodableErrorO","s:14NetworkingCore15ContentEnvelope33_5039D2D8561C22F358BF9D495487386DLLV7contentAA12AnyDecodableVvp","s:14NetworkingCore16AlamofireNetworkC7sessionSo12NSURLSessionCvp","s:14NetworkingCore16WCAnalyticsStatsP11granularityAA0D13GranularityV4Ovp","s:14NetworkingCore16WCAnalyticsStatsP6siteIDs5Int64Vvp","s:14NetworkingCore17OrderFeeTaxStatusO11descriptionSSvp","s:14NetworkingCore17WordPressApiErrorO0F8Messages33_ED9C16B68F9BB1D4E16E91049C2A4C38LLO","s:14NetworkingCore19WordPressOrgNetworkC12responseData3for10Foundation0H0VSg9Alamofire21URLRequestConvertible_p_tYaKF","s:14NetworkingCore19WordPressOrgNetworkC13ErrorResponse33_F7987005DFBBA26BA08C7D99366E848ELLV7messageSSvp","s:14NetworkingCore19WordPressOrgNetworkC7sessionSo12NSURLSessionCvp","s:14NetworkingCore20RequestAuthenticatorP11credentialsAA11CredentialsOSgvp","s:14NetworkingCore20ShippingLabelAddressV7isEmptySbvp","s:14NetworkingCore22resetDefaultDebugLevelyyF","s:14NetworkingCore24CookieNonceAuthenticatorC5ErrorO7unknownyAEsAD_pcAEmF","s:14NetworkingCore24WCAnalyticsStatsIntervalP7dateEndSSvp","s:14NetworkingCore24WCAnalyticsStatsIntervalP8YosemiteE7dateEnd8timeZone10Foundation4DateVAG04TimeJ0V_tF","s:14NetworkingCore24WCAnalyticsStatsIntervalP8intervalSSvp","s:14NetworkingCore26ApplicationPasswordEncoderV","s:14NetworkingCore26ApplicationPasswordEncoderV07encodedD0SSSgyF","s:14NetworkingCore26ApplicationPasswordEncoderV16passwordEnvelopeAcA0cD0VSg_tcfc","s:14NetworkingCore27DefaultRequestAuthenticatorV","s:14NetworkingCore4NoteV11WooCommerceE10starRatingSiSgvp","s:14NetworkingCore4NoteV11WooCommerceE15blockForSnippetAA0C5BlockVSgvp","s:14NetworkingCore4NoteV11WooCommerceE15blockForSubjectAA0C5BlockVSgvp","s:14NetworkingCore4NoteV11WooCommerceE7productSS4name_10Foundation3URLV3urltSgvp","s:14NetworkingCore4NoteV11WooCommerceE9Constants33_099D2ACD5914DDC908FABD86E795A969LLO","s:14NetworkingCore4NoteV15timestampAsDate10Foundation0F0Vvp","s:14NetworkingCore4NoteV6headerSayAA0C5BlockVGvp","s:14NetworkingCore5OrderV11WooCommerceE06sampleC0ACvpZ","s:14NetworkingCore5OrderV14currencySymbolSSvp","s:14NetworkingCore7NetworkP7sessionSo12NSURLSessionCvp","s:14NetworkingCore9NoteBlockV10isActionOnySbAC0F0OF","s:14NetworkingCore9NoteBlockV15isActionEnabledySbAC0F0OF","s:14NetworkingCore9NoteBlockV6ActionO","s:14NetworkingCore9NoteMediaV3url10Foundation3URLVvp","s:14NetworkingCore9NoteMediaV4sizeSo6CGSizeVSgvp","s:14NetworkingCore9NoteMediaV4typeSSvp","s:14NetworkingCore9NoteMediaV5rangeSo8_NSRangeVvp","s:14NetworkingCore9NoteRangeV11WooCommerceE10attributes4fromSDySo21NSAttributedStringKeyaypGSgAD0J6StylesV_tF","s:14NetworkingCore9NoteRangeV4typeSSSgvp","s:14NetworkingCore9NoteRangeV6postIDs5Int64VSgvp","s:14NetworkingCore9NoteRangeV6siteIDs5Int64VSgvp","s:14NetworkingCore9NoteRangeV6userIDs5Int64VSgvp","s:14NetworkingCore9NoteRangeV9commentIDs5Int64VSgvp","s:14NetworkingCore9UserAgentC9Constants33_22235238C94489B1BC77B92E87EB8CFBLLV04userD3KeySSvpZ","s:15WordPressShared0aB19ComLanguageDatabaseC0E0C11descriptionSSvp","s:15WordPressShared0aB19ComLanguageDatabaseC7groupedSaySayAC0E0CGGvp","s:15WordPressShared14AnalyticsEventC","s:15WordPressShared15WPSharedLogInfoyySS_s7CVarArg_pdtF","s:15WordPressShared16WPSharedLogDebugyySS_s7CVarArg_pdtF","s:15WordPressShared18WPSharedLogVerboseyySS_s7CVarArg_pdtF","s:15WordPressShared18WPSharedLogWarningyySS_s7CVarArg_pdtF","s:15WordPressShared6SecretV","s:15WordPressShared6SecretV11secretValuexvp","s:15WordPressShared6SecretVyACyxGxcfc","s:15WordPressShared9DebouncerC","s:17UITestsFoundation10BaseScreenC","s:17UITestsFoundation10HelpScreenC","s:17UITestsFoundation10MenuScreenC","s:17UITestsFoundation10OrdersMockV","s:17UITestsFoundation10ReviewDataV10product_idSivp","s:17UITestsFoundation10ReviewDataV2idSivp","s:17UITestsFoundation10ReviewDataV6reviewSSvp","s:17UITestsFoundation10ReviewMockV","s:17UITestsFoundation11ProductDataV2idSivp","s:17UITestsFoundation11ProductMockV","s:17UITestsFoundation11TwoFAScreenC","s:17UITestsFoundation12OrdersScreenC","s:17UITestsFoundation12ShippingLineV12method_titleSSvp","s:17UITestsFoundation12ShippingLineV5totalSSvp","s:17UITestsFoundation13MyStoreScreenC","s:17UITestsFoundation13OrderBodyDataV4dataAA0cE0Vvp","s:17UITestsFoundation13ReviewsScreenC","s:17UITestsFoundation13navBackButtonSo11XCUIElementCvp","s:17UITestsFoundation14NewProductMockV","s:17UITestsFoundation14OrdersBodyDataV4dataSayAA05OrderE0VGvp","s:17UITestsFoundation14PasswordScreenC","s:17UITestsFoundation14PaymentsScreenC","s:17UITestsFoundation14ProductsScreenC","s:17UITestsFoundation14PrologueScreenC","s:17UITestsFoundation14ReviewBodyDataV4dataSayAA0cE0VGvp","s:17UITestsFoundation14SettingsScreenC","s:17UITestsFoundation15ProductBodyDataV4dataSayAA0cE0VGvp","s:17UITestsFoundation15TabNavComponentC","s:17UITestsFoundation16AddProductScreenC","s:17UITestsFoundation16GetStartedScreenC","s:17UITestsFoundation16LoginEmailScreenC","s:17UITestsFoundation16PeriodStatsTableC","s:17UITestsFoundation17AddShippingScreenC","s:17UITestsFoundation17ExternalAppScreenC","s:17UITestsFoundation17OrderResponseDataV6statusSivp","s:17UITestsFoundation17OrderResponseDataV8jsonBodyAA0cgE0Vvp","s:17UITestsFoundation17OrderSearchScreenC","s:17UITestsFoundation17OrderStatusScreenC","s:17UITestsFoundation17SingleOrderScreenC","s:17UITestsFoundation18BetaFeaturesScreenC","s:17UITestsFoundation18CustomerNoteScreenC","s:17UITestsFoundation18NewProductBodyDataV4dataAA0dF0Vvp","s:17UITestsFoundation18OrdersResponseDataV6statusSivp","s:17UITestsFoundation18OrdersResponseDataV8jsonBodyAA0cgE0Vvp","s:17UITestsFoundation18ReviewResponseDataV6statusSivp","s:17UITestsFoundation18ReviewResponseDataV8jsonBodyAA0cgE0Vvp","s:17UITestsFoundation18SingleReviewScreenC","s:17UITestsFoundation18UnifiedOrderScreenC","s:17UITestsFoundation19LoginEpilogueScreenC","s:17UITestsFoundation19LoginPasswordScreenC","s:17UITestsFoundation19ProductFilterScreenC","s:17UITestsFoundation19ProductResponseDataV6statusSivp","s:17UITestsFoundation19ProductResponseDataV8jsonBodyAA0cgE0Vvp","s:17UITestsFoundation19ProductSearchScreenC","s:17UITestsFoundation19SingleProductScreenC","s:17UITestsFoundation20LinkOrPasswordScreenC","s:17UITestsFoundation20PaymentMethodsScreenC","s:17UITestsFoundation21AddCustomAmountScreenC","s:17UITestsFoundation21CustomerDetailsScreenC","s:17UITestsFoundation21LoginOnboardingScreenC","s:17UITestsFoundation22LoginSiteAddressScreenC","s:17UITestsFoundation22NewProductResponseDataV6statusSivp","s:17UITestsFoundation22NewProductResponseDataV8jsonBodyAA0cdhF0Vvp","s:17UITestsFoundation23CardReaderManualsScreenC","s:17UITestsFoundation24AddCustomerDetailsScreenC","s:17UITestsFoundation25LoginCheckMagicLinkScreenC","s:17UITestsFoundation27LoginUsernamePasswordScreenC","s:17UITestsFoundation30CardPresentPaymentsModalScreenC","s:17UITestsFoundation7FeeLineV6amountSSvp","s:17UITestsFoundation9LineItemsV10product_idSivp","s:17UITestsFoundation9OrderDataV13customer_noteSSvp","s:17UITestsFoundation9OrderDataV14shipping_linesSayAA12ShippingLineVGvp","s:17UITestsFoundation9OrderDataV9fee_linesSayAA7FeeLineVGvp","s:17UITestsFoundation9OrderMockV","s:17WooFoundationCore0A14AnalyticsEventV0A8CommerceE10SitePickerO05newToA6TappedACyFZ","s:17WooFoundationCore0A14AnalyticsEventV0A8CommerceE11FeatureCardO6SourceO3key33_338A255D47EF8AD5767435BDDDF6953DLLSSvpZ","s:17WooFoundationCore0A14AnalyticsEventV0A8CommerceE11IssueRefundO16nextButtonTapped7orderIDACs5Int64V_tFZ","s:17WooFoundationCore0A14AnalyticsEventV0A8CommerceE11IssueRefundO21selectAllButtonTapped7orderIDACs5Int64V_tFZ","s:17WooFoundationCore0A14AnalyticsEventV0A8CommerceE12CustomFieldsO013productDetailgH6TappedACyFZ","s:17WooFoundationCore0A14AnalyticsEventV0A8CommerceE12PaymentsFlowO4Keys33_338A255D47EF8AD5767435BDDDF6953DLLO5stateSSvpZ","s:17WooFoundationCore0A14AnalyticsEventV0A8CommerceE13ProductFormAIO37productDescriptionAIPauseButtonTappedACyFZ","s:17WooFoundationCore0A14AnalyticsEventV0A8CommerceE13ProductNameAIO","s:17WooFoundationCore0A14AnalyticsEventV0A8CommerceE13StoreCreationO021storeReadyAlertSwitchG6TappedACyFZ","s:17WooFoundationCore0A14AnalyticsEventV0A8CommerceE13StoreCreationO04siteH11FlowStarted6sourceAcF6SourceO_tFZ","s:17WooFoundationCore0A14AnalyticsEventV0A8CommerceE13StoreCreationO04siteH12ProfilerDatayAC10Networking0gJ7AnswersVFZ","s:17WooFoundationCore0A14AnalyticsEventV0A8CommerceE13StoreCreationO04siteH13SitePreviewedACyFZ","s:17WooFoundationCore0A14AnalyticsEventV0A8CommerceE13StoreCreationO04siteH14RequestSuccess0I2ID10domainNameACs5Int64V_SStFZ","s:17WooFoundationCore0A14AnalyticsEventV0A8CommerceE13StoreCreationO04siteH14TimeoutRetriedACyFZ","s:17WooFoundationCore0A14AnalyticsEventV0A8CommerceE13StoreCreationO04siteH16TryForFreeTappedACyFZ","s:17WooFoundationCore0A14AnalyticsEventV0A8CommerceE13StoreCreationO04siteH19PropertiesOutOfSyncACyFZ","s:17WooFoundationCore0A14AnalyticsEventV0A8CommerceE13StoreCreationO04siteH23ProfilerQuestionSkipped4stepAcF4StepO_tFZ","s:17WooFoundationCore0A14AnalyticsEventV0A8CommerceE13StoreCreationO04siteH4Step4stepAcF0J0O_tFZ","s:17WooFoundationCore0A14AnalyticsEventV0A8CommerceE13StoreCreationO04siteH6Failed6source5error4flow11isFreeTrialAcF6SourceO_s5Error_pAF4FlowOSbtFZ","s:17WooFoundationCore0A14AnalyticsEventV0A8CommerceE13StoreCreationO04siteH8TimedOutACyFZ","s:17WooFoundationCore0A14AnalyticsEventV0A8CommerceE13StoreCreationO04siteH9Dismissed6source4flow11isFreeTrialAcF6SourceO_AF4FlowOSbtFZ","s:17WooFoundationCore0A14AnalyticsEventV0A8CommerceE13StoreCreationO04siteh6ManageG6TappedACyFZ","s:17WooFoundationCore0A14AnalyticsEventV0A8CommerceE13StoreCreationO0G12PickerSourceO","s:17WooFoundationCore0A14AnalyticsEventV0A8CommerceE13StoreCreationO11siteCreated6source0I3URL4flow11isFreeTrial11waitingTimeAcF6SourceO_SSAF4FlowOSbSStFZ","s:17WooFoundationCore0A14AnalyticsEventV0A8CommerceE13StoreCreationO21signupFormLoginTappedACyFZ","s:17WooFoundationCore0A14AnalyticsEventV0A8CommerceE13StoreCreationO24storeReadyAlertDisplayedACyFZ","s:17WooFoundationCore0A14AnalyticsEventV0A8CommerceE13StoreCreationO29loginPrologueCreateSiteTapped11isFreeTrialACSb_tFZ","s:17WooFoundationCore0A14AnalyticsEventV0A8CommerceE13StoreCreationO3Key33_C2068A0065351A4FB414C3659DA9BB01LLO11countryCodeSSvpZ","s:17WooFoundationCore0A14AnalyticsEventV0A8CommerceE13StoreCreationO3Key33_C2068A0065351A4FB414C3659DA9BB01LLO11isFreeTrialSSvpZ","s:17WooFoundationCore0A14AnalyticsEventV0A8CommerceE13StoreCreationO3Key33_C2068A0065351A4FB414C3659DA9BB01LLO11waitingTimeSSvpZ","s:17WooFoundationCore0A14AnalyticsEventV0A8CommerceE13StoreCreationO3Key33_C2068A0065351A4FB414C3659DA9BB01LLO13initialDomainSSvpZ","s:17WooFoundationCore0A14AnalyticsEventV0A8CommerceE13StoreCreationO3Key33_C2068A0065351A4FB414C3659DA9BB01LLO13sellingStatusSSvpZ","s:17WooFoundationCore0A14AnalyticsEventV0A8CommerceE13StoreCreationO3Key33_C2068A0065351A4FB414C3659DA9BB01LLO16sellingPlatformsSSvpZ","s:17WooFoundationCore0A14AnalyticsEventV0A8CommerceE13StoreCreationO3Key33_C2068A0065351A4FB414C3659DA9BB01LLO3urlSSvpZ","s:17WooFoundationCore0A14AnalyticsEventV0A8CommerceE13StoreCreationO3Key33_C2068A0065351A4FB414C3659DA9BB01LLO4flowSSvpZ","s:17WooFoundationCore0A14AnalyticsEventV0A8CommerceE13StoreCreationO3Key33_C2068A0065351A4FB414C3659DA9BB01LLO4stepSSvpZ","s:17WooFoundationCore0A14AnalyticsEventV0A8CommerceE13StoreCreationO3Key33_C2068A0065351A4FB414C3659DA9BB01LLO6sourceSSvpZ","s:17WooFoundationCore0A14AnalyticsEventV0A8CommerceE13StoreCreationO3Key33_C2068A0065351A4FB414C3659DA9BB01LLO8categorySSvpZ","s:17WooFoundationCore0A14AnalyticsEventV0A8CommerceE13StoreCreationO3Key33_C2068A0065351A4FB414C3659DA9BB01LLO9newSiteIDSSvpZ","s:17WooFoundationCore0A14AnalyticsEventV0A8CommerceE13StoreCreationO4FlowO","s:17WooFoundationCore0A14AnalyticsEventV0A8CommerceE13StoreCreationO4StepO","s:17WooFoundationCore0A14AnalyticsEventV0A8CommerceE13StoreCreationO6SourceO","s:17WooFoundationCore0A14AnalyticsEventV0A8CommerceE14InAppPurchasesO23planUpgradeScreenLoaded6sourceAcF6SourceO_tFZ","s:17WooFoundationCore0A14AnalyticsEventV0A8CommerceE14InAppPurchasesO6SourceO","s:17WooFoundationCore0A14AnalyticsEventV0A8CommerceE14SimplePaymentsO06simpleH19MigrationSheetShownACyFZ","s:17WooFoundationCore0A14AnalyticsEventV0A8CommerceE14SimplePaymentsO06simpleH29MigrationSheetAddCustomAmountACyFZ","s:17WooFoundationCore0A14AnalyticsEventV0A8CommerceE15ProductCreationO3Key33_93869583A706912CA6E18305067A75ACLLO12creationTypeSSvpZ","s:17WooFoundationCore0A14AnalyticsEventV0A8CommerceE16OrderDetailsEditO28orderDetailPaymentLinkSharedACyFZ","s:17WooFoundationCore0A14AnalyticsEventV0A8CommerceE17OrderDetailAddOnsO25betaFeaturesSwitchToggled4isOnACSb_tFZ","s:17WooFoundationCore0A14AnalyticsEventV0A8CommerceE17OrderDetailAddOnsO4Keys33_338A255D47EF8AD5767435BDDDF6953DLLO5stateSSvpZ","s:17WooFoundationCore0A14AnalyticsEventV0A8CommerceE17ProductCreationAIO25productNameContinueTappedACyFZ","s:17WooFoundationCore0A14AnalyticsEventV0A8CommerceE17ProductCreationAIO6SurveyO","s:17WooFoundationCore0A14AnalyticsEventV0A8CommerceE20DashboardCustomRangeO11tabSelectedACyFZ","s:17WooFoundationCore0A14AnalyticsEventV0A8CommerceE30InPersonPaymentsFeedbackBannerO","s:17WooFoundationCore0A14AnalyticsEventV0A8CommerceE5BlazeO3Key33_B767F6CF84DC740BBA8619895253257ALLO4stepSSvpZ","s:17WooFoundationCore0A14AnalyticsEventV0A8CommerceE5BlazeO4StepO","s:17WooFoundationCore0A14AnalyticsEventV0A8CommerceE9DashboardO25dashboardTimezonesDiffers13localTimezone05storeL0ACSd_SdtFZ","s:17WooFoundationCore0A14AnalyticsEventV0A8CommerceE9DashboardO4Keys33_7541147E74628D38CC38A85A89660CDALLO13localTimezoneSSvpZ","s:17WooFoundationCore0A14AnalyticsEventV0A8CommerceE9DashboardO4Keys33_7541147E74628D38CC38A85A89660CDALLO13storeTimezoneSSvpZ","s:17WooFoundationCore0aB11BundleClassC","s:17WooFoundationCore10DDLogDebug_5level7context4file8function4line3tag12asynchronous5ddlogySSyXK_So0D5LevelVSis12StaticStringVANSuypSgSbSo0D0CtF","s:17WooFoundationCore11ColorStudioV16wooCommerceAmberACvpZ","s:17WooFoundationCore11ColorStudioV18wooCommerceEmeraldACvpZ","s:17WooFoundationCore11CrashLoggerP8logError_8userInfo5levelys0G0_p_SDySSypGSgAA13SeverityLevelOtF","s:17WooFoundationCore12DDLogVerbose_5level7context4file8function4line3tag12asynchronous5ddlogySSyXK_So0D5LevelVSis12StaticStringVANSuypSgSbSo0D0CtF","s:17WooFoundationCore16CurrencySettingsC0A8CommerceE26sanitizedGroupingSeparatorSSvp","s:17WooFoundationCore17CurrencyFormatterC25formatHumanReadableAmount_4with17roundSmallNumbers6localeSSSgSS_AHSb0B06LocaleVtF","s:17WooFoundationCore18BuildConfigurationO2teoiySbAC_ShyACGtFZ","s:17WooFoundationCore18BuildConfigurationO4testyyyyXEF","s:17WooFoundationCore22resetDefaultDebugLevelyyF","s:17WooFoundationCore9DDLogInfo_5level7context4file8function4line3tag12asynchronous5ddlogySSyXK_So0D5LevelVSis12StaticStringVANSuypSgSbSo0D0CtF","s:17WooFoundationCore9DDLogWarn_5level7context4file8function4line3tag12asynchronous5ddlogySSyXK_So0D5LevelVSis12StaticStringVANSuypSgSbSo0D0CtF","s:21AutomatticExperiments9VariationO0B0E14analyticsValueSSvp","s:22WordPressAuthenticator0aB14OrgCredentialsV11WooCommerceE015makeCookieNonceC6Config14NetworkingCore0ijC13ConfigurationVSgyF","s:23XcodeTarget_WooCommerce7__EmptyV","s:25XcodeTarget_Woo_Watch_App7__EmptyV","s:33XcodeTarget_NotificationExtension7__EmptyV","s:33XcodeTarget_StoreWidgetsExtension7__EmptyV","s:34XcodeTarget_WordPressAuthenticator7__EmptyV","s:7Codegen17GeneratedCopiableP","s:7Codegen17GeneratedFakeableP","s:7Codegen20NullableCopiablePropa","s:7Combine9PublisherP11WooCommerceE11tryAsyncMapyAA10PublishersO04FlatG0Vy_AA6FutureCyqd__s5Error_pGAG14SetFailureTypeVy_xsAL_pGGqd__6OutputQzYaKcs5NeverO0M0RtzlF","s:7Storage018GeneralAppSettingsA0V11WooCommerceE27betaFeatureEnabledPublishery7Combine03AnyJ0VySbs5NeverOGAD04BetaH0OF","s:7Storage018GeneralAppSettingsA0V17settingsPublisher7Combine03AnyF0VyAA0bcD0Vs5NeverOGvp","s:7Storage018GeneralAppSettingsA0V9publisher3for7Combine12AnyPublisherVyxs5NeverOGs7KeyPathCyAA0bcD0VxG_tSQRzlF","s:7Storage0A4TypeP11firstObject02ofB0qd__Sgqd__m_tAA0D0Rd__lF","s:7Storage0A4TypeP12countObjects02ofB08matchingSiqd__m_So11NSPredicateCSgtAA6ObjectRd__lF","s:7Storage0A4TypeP12countObjects02ofB0Siqd__m_tAA6ObjectRd__lF","s:7Storage0A4TypePAAE10loadPlugin6siteID4nameAA04SiteD0CSgs5Int64V_SStF","s:7Storage0A4TypePAAE11loadTaxRate6siteID03taxeG0AA0dE0CSgs5Int64V_AKtF","s:7Storage0A4TypePAAE12loadCustomer6siteID08customerF0AA0D0CSgs5Int64V_AKtF","s:7Storage0A4TypePAAE13loadCountriesSayAA7CountryCGyF","s:7Storage0A4TypePAAE13loadOrderItem6siteID05orderG004itemG0AA0dE0CSgs5Int64V_A2LtF","s:7Storage0A4TypePAAE13loadOrderNote6noteIDAA0dE0CSgs5Int64V_tF","s:7Storage0A4TypePAAE14loadAddOnGroup6siteID05groupH0AA0deF0CSgs5Int64V_AKtF","s:7Storage0A4TypePAAE14loadProductTag6siteID03tagG0AA0dE0CSgs5Int64V_AKtF","s:7Storage0A4TypePAAE14loadRefundItem6siteID06refundG004itemG0AA05OrdereD0CSgs5Int64V_A2LtF","s:7Storage0A4TypePAAE14loadTaxClassesSayAA0D5ClassCGSgyF","s:7Storage0A4TypePAAE15loadOrderCoupon6siteID06couponG0AA0dE0CSgs5Int64V_AKtF","s:7Storage0A4TypePAAE15loadOrderStatus6siteID4slugAA0dE0CSgs5Int64V_SStF","s:7Storage0A4TypePAAE16loadNotification6noteID0E4HashAA4NoteCSgs5Int64V_SitF","s:7Storage0A4TypePAAE16loadOrderFeeLine6siteID03feeH0AA0deF0CSgs5Int64V_AKtF","s:7Storage0A4TypePAAE16loadOrderItemTax6itemID03taxH0AA0deF0CSgs5Int64V_AKtF","s:7Storage0A4TypePAAE16loadOrderTaxLine6siteID03taxH0AA0deF0CSgs5Int64V_AKtF","s:7Storage0A4TypePAAE16loadProductImage6siteID07productG005imageG0AA0dE0CSgs5Int64V_A2LtF","s:7Storage0A4TypePAAE17loadOrderMetaData6siteID05orderH008metadataH0AA0eF0CSgs5Int64V_A2LtF","s:7Storage0A4TypePAAE17predefinedOptions7carrierSayAA27WooShippingPredefinedOptionCGAA0fg7CarrierhD0C_tF","s:7Storage0A4TypePAAE18loadCustomPackages16packagesResponseSayAA011WooShippingD7PackageCGAA0hieG0C_tF","s:7Storage0A4TypePAAE18predefinedPackages0C6OptionSayAA28WooShippingPredefinedPackageCGAA0fghE0C_tF","s:7Storage0A4TypePAAE19loadAllSiteSettings6siteIDSayAA0E7SettingCGSgs5Int64V_tF","s:7Storage0A4TypePAAE19loadProductCategory6siteID08categoryG0AA0dE0CSgs5Int64V_AKtF","s:7Storage0A4TypePAAE19loadProductMetaData6siteID07productH008metadataH0AA0eF0CSgs5Int64V_A2LtF","s:7Storage0A4TypePAAE20loadProductAttribute6siteID07productG009attributeG04nameAA0dE0CSgs5Int64V_A2MSStF","s:7Storage0A4TypePAAE21loadOrderShippingLine6siteID08shippingH0AA0eF0CSgs5Int64V_AKtF","s:7Storage0A4TypePAAE21loadPredefinedPackage05saveddE0AA011WooShippingdE0CSgAA0gh5SaveddE0C_tF","s:7Storage0A4TypePAAE22loadRefundShippingLine6siteID08shippingH0AA0eF0CSgs5Int64V_AKtF","s:7Storage0A4TypePAAE23deleteUnusedProductTags6siteIDys5Int64V_tF","s:7Storage0A4TypePAAE23loadWCAnalyticsCustomer6siteID08customerG0AA0dE0CSgs5Int64V_AKtF","s:7Storage0A4TypePAAE24loadAllPredefinedOptions16packagesResponseSayAA018WooShippingCarriereF0CGAA0ij8PackagesH0C_tF","s:7Storage0A4TypePAAE24loadOrderAttributionInfo6siteID05orderH0AA0deF0CSgs5Int64V_AKtF","s:7Storage0A4TypePAAE24loadOrderRefundCondensed6siteID06refundH0AA0deF0CSgs5Int64V_AKtF","s:7Storage0A4TypePAAE24loadProductAttributeTerm6siteID04termH009attributeH0AA0deF0CSgs5Int64V_A2LtF","s:7Storage0A4TypePAAE25loadBlazeCampaignListItem6siteID08campaignI0AA0defG0CSgs5Int64V_SStF","s:7Storage0A4TypePAAE27loadProductDefaultAttribute6siteID07productH007defaultfH04nameAA0deF0CSgs5Int64V_A2MSStF","s:7Storage0A4TypePAAE27loadSavedPredefinedPackages16packagesResponseSayAA011WooShippingdE7PackageCGAA0ijfH0C_tF","s:7Storage0A4TypePAAE32loadShipmentTrackingProviderList6siteIDSayAA0deF0CGSgs5Int64V_tF","s:7Storage10AddOnGroupC12fetchRequestSo07NSFetchF0CyACGyFZ","s:7Storage10DDLogDebug_5level7context4file8function4line3tag12asynchronous5ddlogySSyXK_So0B5LevelVSis12StaticStringVANSuypSgSbSo0B0CtF","s:7Storage10ProductTagC12fetchRequestSo07NSFetchE0CyACGyFZ","s:7Storage10SitePluginC12fetchRequestSo07NSFetchE0CyACGyFZ","s:7Storage11FeatureIconV10iconBase64SSvp","s:7Storage11FeatureIconV7iconUrlSSvp","s:7Storage11FeatureIconV8iconTypeSSvp","s:7Storage11InboxActionC12fetchRequestSo07NSFetchE0CyACGyFZ","s:7Storage11OrderCouponC12fetchRequestSo07NSFetchE0CyACGyFZ","s:7Storage11OrderStatusC12fetchRequestSo07NSFetchE0CyACGyFZ","s:7Storage11SiteSettingC12fetchRequestSo07NSFetchE0CyACGyFZ","s:7Storage11WCPayChargeC12fetchRequestSo07NSFetchE0CyACGyFZ","s:7Storage12OrderFeeLineC12fetchRequestSo07NSFetchF0CyACGyFZ","s:7Storage12OrderItemTaxC12fetchRequestSo07NSFetchF0CyACGyFZ","s:7Storage12OrderStatsV4C12fetchRequestSo07NSFetchF0CyACGyFZ","s:7Storage12OrderTaxLineC12fetchRequestSo07NSFetchF0CyACGyFZ","s:7Storage12ProductAddOnC12fetchRequestSo07NSFetchF0CyACGyFZ","s:7Storage12ProductImageC12fetchRequestSo07NSFetchE0CyACGyFZ","s:7Storage12ShippingLineC12fetchRequestSo07NSFetchE0CyACGyFZ","s:7Storage12SystemPluginC12fetchRequestSo07NSFetchE0CyACGyFZ","s:7Storage13OrderGiftCardC12fetchRequestSo07NSFetchF0CyACGyFZ","s:7Storage13ProductReviewC12fetchRequestSo07NSFetchE0CyACGyFZ","s:7Storage13ShippingLabelC12fetchRequestSo07NSFetchE0CyACGyFZ","s:7Storage14PaymentGatewayC12fetchRequestSo07NSFetchE0CyACGyFZ","s:7Storage14ShippingMethodC12fetchRequestSo07NSFetchE0CyACGyFZ","s:7Storage14SiteVisitStatsC12fetchRequestSo07NSFetchF0CyACGyFZ","s:7Storage14TopEarnerStatsC12fetchRequestSo07NSFetchF0CyACGyFZ","s:7Storage15AccountSettingsC12fetchRequestSo07NSFetchE0CyACGyFZ","s:7Storage15CoreDataManagerC16storeDescriptionSo017NSPersistentStoreF0Cvp","s:7Storage15OrderItemRefundC12fetchRequestSo07NSFetchF0CyACGyFZ","s:7Storage15ProductCategoryC12fetchRequestSo07NSFetchE0CyACGyFZ","s:7Storage15ProductDownloadC12fetchRequestSo07NSFetchE0CyACGyFZ","s:7Storage15ShippingLineTaxC12fetchRequestSo07NSFetchF0CyACGyFZ","s:7Storage15StateOfACountryC12fetchRequestSo07NSFetchF0CyACGyFZ","s:7Storage16BlazeTargetTopicC12fetchRequestSo07NSFetchF0CyACGyFZ","s:7Storage16GenericAttributeC12fetchRequestSo07NSFetchE0CyACGyFZ","s:7Storage16ProductAttributeC12fetchRequestSo07NSFetchE0CyACGyFZ","s:7Storage16ProductVariationC12fetchRequestSo07NSFetchE0CyACGyFZ","s:7Storage16ShipmentTrackingC12fetchRequestSo07NSFetchE0CyACGyFZ","s:7Storage16SiteSummaryStatsC12fetchRequestSo07NSFetchF0CyACGyFZ","s:7Storage17BlazeTargetDeviceC12fetchRequestSo07NSFetchF0CyACGyFZ","s:7Storage17ProductBundleItemC12fetchRequestSo07NSFetchF0CyACGyFZ","s:7Storage17ProductDimensionsC12fetchRequestSo07NSFetchE0CyACGyFZ","s:7Storage18CouponSearchResultC12fetchRequestSo07NSFetchF0CyACGyFZ","s:7Storage18OrderItemAttributeC12fetchRequestSo07NSFetchF0CyACGyFZ","s:7Storage18OrderItemTaxRefundC12fetchRequestSo07NSFetchG0CyACGyFZ","s:7Storage18OrderSearchResultsC12fetchRequestSo07NSFetchF0CyACGyFZ","s:7Storage18OrderStatsV4TotalsC12fetchRequestSo07NSFetchG0CyACGyFZ","s:7Storage18ProductAddOnOptionC12fetchRequestSo07NSFetchG0CyACGyFZ","s:7Storage18SiteVisitStatsItemC12fetchRequestSo07NSFetchG0CyACGyFZ","s:7Storage18TopEarnerStatsItemC12fetchRequestSo07NSFetchG0CyACGyFZ","s:7Storage19BlazeTargetLanguageC12fetchRequestSo07NSFetchF0CyACGyFZ","s:7Storage19FileManagerProtocolP10removeItem2aty10Foundation3URLV_tKF","s:7Storage19FileManagerProtocolP10removeItem6atPathySS_tKF","s:7Storage19FileManagerProtocolP15createDirectory2at27withIntermediateDirectories10attributesy10Foundation3URLV_SbSDySo18NSFileAttributeKeyaypGSgtKF","s:7Storage19FileManagerProtocolP15createDirectory6atPath27withIntermediateDirectories10attributesySS_SbSDySo18NSFileAttributeKeyaypGSgtKF","s:7Storage19FileManagerProtocolP19contentsOfDirectory6atPathSaySSGSS_tKF","s:7Storage19FileManagerProtocolP8moveItem2at2toy10Foundation3URLV_AItKF","s:7Storage19FileManagerProtocolP8moveItem6atPath02toH0ySS_SStKF","s:7Storage19ProductSubscriptionC12fetchRequestSo07NSFetchE0CyACGyFZ","s:7Storage19ShippingLabelRefundC12fetchRequestSo07NSFetchF0CyACGyFZ","s:7Storage19WCAnalyticsCustomerC12fetchRequestSo07NSFetchE0CyACGyFZ","s:7Storage19WooShippingShipmentC12fetchRequestSo07NSFetchF0CyACGyFZ","s:7Storage20CustomerSearchResultC12fetchRequestSo07NSFetchF0CyACGyFZ","s:7Storage20OrderAttributionInfoC12fetchRequestSo07NSFetchF0CyACGyFZ","s:7Storage20OrderRefundCondensedC12fetchRequestSo07NSFetchF0CyACGyFZ","s:7Storage20OrderStatsV4IntervalC12fetchRequestSo07NSFetchG0CyACGyFZ","s:7Storage20ProductAttributeTermC12fetchRequestSo07NSFetchF0CyACGyFZ","s:7Storage20ProductSearchResultsC12fetchRequestSo07NSFetchF0CyACGyFZ","s:7Storage20ProductShippingClassC12fetchRequestSo07NSFetchF0CyACGyFZ","s:7Storage20ShippingLabelAddressC12fetchRequestSo07NSFetchF0CyACGyFZ","s:7Storage21BlazeCampaignListItemC12fetchRequestSo07NSFetchG0CyACGyFZ","s:7Storage21OrderItemProductAddOnC12fetchRequestSo07NSFetchH0CyACGyFZ","s:7Storage21PaymentGatewayAccountC12fetchRequestSo07NSFetchF0CyACGyFZ","s:7Storage21ShippingLabelSettingsC12fetchRequestSo07NSFetchF0CyACGyFZ","s:7Storage22BlazeCampaignObjectiveC12fetchRequestSo07NSFetchF0CyACGyFZ","s:7Storage22resetDefaultDebugLevelyyF","s:7Storage23ProductDefaultAttributeC12fetchRequestSo07NSFetchF0CyACGyFZ","s:7Storage23WCPayCardPaymentDetailsC12fetchRequestSo07NSFetchG0CyACGyFZ","s:7Storage23WooShippingShipmentItemC12fetchRequestSo07NSFetchG0CyACGyFZ","s:7Storage24ShipmentTrackingProviderC12fetchRequestSo07NSFetchF0CyACGyFZ","s:7Storage24WooShippingCustomPackageC12fetchRequestSo07NSFetchG0CyACGyFZ","s:7Storage24WooShippingOriginAddressC12fetchRequestSo07NSFetchG0CyACGyFZ","s:7Storage25ProductCompositeComponentC12fetchRequestSo07NSFetchF0CyACGyFZ","s:7Storage26ShippingLabelPaymentMethodC12fetchRequestSo07NSFetchG0CyACGyFZ","s:7Storage27WooShippingPackagesResponseC12fetchRequestSo07NSFetchG0CyACGyFZ","s:7Storage27WooShippingPredefinedOptionC12fetchRequestSo07NSFetchG0CyACGyFZ","s:7Storage28ShippingLabelAccountSettingsC12fetchRequestSo07NSFetchG0CyACGyFZ","s:7Storage28StatsVersionBannerVisibilityV","s:7Storage28WooShippingPredefinedPackageC12fetchRequestSo07NSFetchG0CyACGyFZ","s:7Storage29ShipmentTrackingProviderGroupC12fetchRequestSo07NSFetchG0CyACGyFZ","s:7Storage30WCPayCardPresentPaymentDetailsC12fetchRequestSo07NSFetchH0CyACGyFZ","s:7Storage30WCPayCardPresentReceiptDetailsC12fetchRequestSo07NSFetchH0CyACGyFZ","s:7Storage31WCAnalyticsCustomerSearchResultC12fetchRequestSo07NSFetchG0CyACGyFZ","s:7Storage33WooShippingSavedPredefinedPackageC12fetchRequestSo07NSFetchH0CyACGyFZ","s:7Storage35WooShippingCarrierPredefinedOptionsC12fetchRequestSo07NSFetchH0CyACGyFZ","s:7Storage4NoteC12fetchRequestSo07NSFetchD0CyACGyFZ","s:7Storage4SiteC12fetchRequestSo07NSFetchD0CyACGyFZ","s:7Storage5OrderC12fetchRequestSo07NSFetchD0CyACGyFZ","s:7Storage6CouponC12fetchRequestSo07NSFetchD0CyACGyFZ","s:7Storage6RefundC12fetchRequestSo07NSFetchD0CyACGyFZ","s:7Storage7AccountC12fetchRequestSo07NSFetchD0CyACGyFZ","s:7Storage7CountryC12fetchRequestSo07NSFetchD0CyACGyFZ","s:7Storage7FeatureV10iconBase64SSSgvp","s:7Storage7FeatureV5iconsSayAA0B4IconVGSgvp","s:7Storage7FeatureV5titleSSvp","s:7Storage7FeatureV7iconUrlSSvp","s:7Storage7FeatureV8subtitleSSvp","s:7Storage7ProductC12fetchRequestSo07NSFetchD0CyACGyFZ","s:7Storage7TaxRateC12fetchRequestSo07NSFetchE0CyACGyFZ","s:7Storage8CustomerC12fetchRequestSo07NSFetchD0CyACGyFZ","s:7Storage8MetaDataC12fetchRequestSo07NSFetchE0CyACGyFZ","s:7Storage8TaxClassC12fetchRequestSo07NSFetchE0CyACGyFZ","s:7Storage9InboxNoteC12fetchRequestSo07NSFetchE0CyACGyFZ","s:7Storage9OrderItemC12fetchRequestSo07NSFetchE0CyACGyFZ","s:7Storage9OrderNoteC12fetchRequestSo07NSFetchE0CyACGyFZ","s:7SwiftUI4ViewP11WooCommerceE20addingCurrencySymbol_2onQrSS_0D14FoundationCore0G8SettingsC0G8PositionOtF","s:7SwiftUI5ColorV11WooCommerceE10posOnAlertACvpZ","s:7SwiftUI5ColorV11WooCommerceE10posOutlineACvpZ","s:7SwiftUI5ColorV11WooCommerceE14posOnSecondaryACvpZ","s:7SwiftUI5ColorV11WooCommerceE19posOnInverseSurfaceACvpZ","s:7SwiftUI5ColorV11WooCommerceE26posSurfaceContainerHighestACvpZ","s:7SwiftUI5ColorV13WooFoundationE06legacyC10Components33_E3D749136DF688457188A908824BFC5ALL4fromSd3red_Sd5greenSd4blueSd7opacitytSS_tKFZ","s:7SwiftUI5ColorV13WooFoundationE0C13DecodingErrorO","s:7SwiftUI5ColorV13WooFoundationE13RGBComponents33_E3D749136DF688457188A908824BFC5ALLa","s:7SwiftUI5ColorV13WooFoundationE15colorComponents33_E3D749136DF688457188A908824BFC5ALL4fromSd3red_Sd5greenSd4blueSd7opacitytSS_tKFZ","s:7SwiftUI5ColorV13WooFoundationE9rgbStringACSS_tKcfc","s:8Hardware12DDLogVerbose_5level7context4file8function4line3tag12asynchronous5ddlogySSyXK_So0B5LevelVSis12StaticStringVANSuypSgSbSo0B0CtF","s:8Hardware13PaymentIntentV2id6status7created6amount8currency8metadata7chargesACSS_AA0bC6StatusO10Foundation4DateVSuSSSDyS2SGSgSayAA6ChargeVGtcfc","s:8Hardware13PaymentIntentV6statusAA0bC6StatusOvp","s:8Hardware13PaymentStatusO","s:8Hardware14ReceiptDetailsV21applicationCryptogramSSvp","s:8Hardware14ReceiptDetailsV25authorizationResponseCodeSSvp","s:8Hardware14ReceiptDetailsV27terminalVerificationResultsSSvp","s:8Hardware14ReceiptDetailsV28transactionStatusInformationSSvp","s:8Hardware15CardReaderInputV4noneACvpZ","s:8Hardware16CardReaderStatusV10rememberedSbvp","s:8Hardware16CardReaderStatusV9connectedSbvp","s:8Hardware18UpdateTimeEstimateO","s:8Hardware21NoOpCardReaderServiceV","s:8Hardware22resetDefaultDebugLevelyyF","s:8Hardware23CardReaderServiceStatusO","s:8Hardware23StripeCardReaderServiceC12cancellables33_01386A2D21005D4DA327A97DCD5D675BLLShy7Combine14AnyCancellableCGvp","s:8Hardware23StripeCardReaderServiceC9Constants33_01386A2D21005D4DA327A97DCD5D675BLLO19platformMetadataKeySSvpZ","s:8Hardware23StripeCardReaderServiceC9Constants33_01386A2D21005D4DA327A97DCD5D675BLLO19readerIDMetadataKeySSvpZ","s:8Hardware23StripeCardReaderServiceC9Constants33_01386A2D21005D4DA327A97DCD5D675BLLO22readerModelMetadataKeySSvpZ","s:8Hardware28CardPresentReceiptParametersV6amountSuvp","s:8Hardware29CardPresentTransactionDetailsV09generatedB0SSSgvp","s:8Hardware29CardPresentTransactionDetailsV11emvAuthDataSSSgvp","s:8Hardware29CardPresentTransactionDetailsV14cardholderNameSSSgvp","s:8Hardware29CardPresentTransactionDetailsV6walletAA6WalletVSgvp","s:8Hardware29CardPresentTransactionDetailsV7expYearSivp","s:8Hardware29CardPresentTransactionDetailsV7networkSo8NSNumberCSgvp","s:8Hardware29CardPresentTransactionDetailsV8expMonthSivp","s:8Hardware30StripeCardReaderDiscoveryCacheC6insertyyAA0bcD0_pF","s:8Hardware45ShouldRetryStripeRefundAfterFailureDeterminerV06shouldcE05afterSbSSSg_tF","s:8Hardware6ChargeV11descriptionSSSgvp","s:8Hardware6ChargeV2id6amount8currency6status11description8metadata13paymentMethodACSS_SuSSAA0B6StatusOSSSgSDyS2SGSgAA07PaymentJ0OSgtcfc","s:8Hardware6ChargeV6amountSuvp","s:8Hardware6ChargeV6statusAA0B6StatusOvp","s:8Hardware6ChargeV8currencySSvp","s:8Hardware6ChargeV8metadataSDyS2SGSgvp","s:8Hardware6WalletV4typeSSSgvp","s:8Hardware9DDLogInfo_5level7context4file8function4line3tag12asynchronous5ddlogySSyXK_So0B5LevelVSis12StaticStringVANSuypSgSbSo0B0CtF","s:8Yosemite10BlazeStoreC12mockResponse031_24E321FD58B03230CFD6E4EE5FB915J0LL13stubbedResult11onExecutionxx_xyYaKXEtYaKlF","s:8Yosemite10BlazeStoreC14isRunningTests031_24E321FD58B03230CFD6E4EE5FB915K0LLSbvpZ","s:8Yosemite10DispatcherC21isProcessorRegistered_3forSbAA07ActionsD0_p_AA6Action_pXptF","s:8Yosemite10DispatcherC9processor3forAA16ActionsProcessor_pSgAA6Action_pXp_tF","s:8Yosemite10DotcomUsera","s:8Yosemite10MediaStoreC18mediaExportService10dispatcher14storageManager7network6remoteAcA0beF0_p_AA10DispatcherC7Storage0mI4Type_p14NetworkingCore7Network_p0O00B14RemoteProtocol_ptcfc","s:8Yosemite10MediaStoreC18mediaExportService10dispatcher14storageManager7networkAcA0beF0_p_AA10DispatcherC7Storage0lI4Type_p14NetworkingCore7Network_ptcfc","s:8Yosemite10MediaStoreC25isSiteJetpackJCPConnected028_1FA93E108A56F3D874C12216F14K3CFCLLySbs5Int64VF","s:8Yosemite10MediaStoreC33isLoggedInWithoutWPCOMCredentials028_1FA93E108A56F3D874C12216F14L3CFCLLySbs5Int64VF","s:8Yosemite10OrderStoreC012upsertStoredB008readOnlyB022insertingSearchResults2iny14NetworkingCore0B0V_Sb7Storage0N4Type_ptF","s:8Yosemite10OrderStoreC19upsertStoredResults3for7keyword08readOnlyB02inys5Int64V_SS14NetworkingCore0B0V7Storage0O4Type_ptF","s:8Yosemite11CouponErrorO","s:8Yosemite11RefundStoreC012upsertStoredB008readOnlyB02iny10Networking0B0V_7Storage0J4Type_ptF","s:8Yosemite12CouponsErrorV010underlyingC0s0C0_pvp","s:8Yosemite12CouponsErrorV4codeSSvp","s:8Yosemite12CouponsErrorV7message010underlyingC0ACSS_s0C0_ptcfc","s:8Yosemite12DDLogVerbose_5level7context4file8function4line3tag12asynchronous5ddlogySSyXK_So0B5LevelVSis12StaticStringVANSuypSgSbSo0B0CtF","s:8Yosemite12MockCustomerV15shippingAddress14NetworkingCore0E0Vvp","s:8Yosemite12ProductStoreC012upsertStoredB008readOnlyB02iny10Networking0B0V_7Storage0J4Type_ptF","s:8Yosemite12SettingErrorO","s:8Yosemite12SettingStoreC13siteAPIRemote33_367756E27E45E807D9A77BC7F2D48C67LL10Networking04SiteE0Cvp","s:8Yosemite12SettingStoreC18siteSettingsRemote33_367756E27E45E807D9A77BC7F2D48C67LL10Networking04SiteeF0Cvp","s:8Yosemite12SettingStoreC31upsertStoredGeneralSiteSettings6siteID08readOnlygH02inys5Int64V_Say10Networking0gB0VG7Storage0P4Type_ptF","s:8Yosemite12SettingStoreC31upsertStoredProductSiteSettings6siteID08readOnlygH02inys5Int64V_Say10Networking0gB0VG7Storage0P4Type_ptF","s:8Yosemite12StatsStoreV4C14productsRemote33_B88F7F6EF90D88405A6DDDC84E0EE525LL10Networking08ProductsF0Cvp","s:8Yosemite12SystemStatusa","s:8Yosemite12WCPayAccounta","s:8Yosemite13MetaContainera","s:8Yosemite13WooAPIVersiona","s:8Yosemite14EntityListenerC18notificationsToken33_54708F9C334A3EB98A7A6CA91CA9A074LLypSgvp","s:8Yosemite14OrderNoteStoreC012upsertStoredbC12InBackground08readOnlybC07orderID04siteL012onCompletiony14NetworkingCore0bC0V_s5Int64VAMyyctF","s:8Yosemite14SiteVisibilitya","s:8Yosemite14StorageAccounta","s:8Yosemite14StorageFeaturea","s:8Yosemite15CreateCartErrorO","s:8Yosemite15MockObjectGraphP","s:8Yosemite15MockObjectGraphP10siteWithId2id10Networking4SiteVs5Int64V_tF","s:8Yosemite15MockObjectGraphP12statsVersion7Storage05StatsF0Ovp","s:8Yosemite15MockObjectGraphP13accountWithId2id14NetworkingCore7AccountVs5Int64V_tF","s:8Yosemite15MockObjectGraphP24statsV4ShouldBeAvailable9forSiteIdSbs5Int64V_tF","s:8Yosemite15MockObjectGraphP25accountSettingsWithUserId04userI010Networking07AccountF0Vs5Int64V_tF","s:8Yosemite15MockObjectGraphP5sitesSay10Networking4SiteVGvp","s:8Yosemite15MockObjectGraphPAAE6orders10withStatus9forSiteIdSay14NetworkingCore5OrderVGAG0mG4EnumO_s5Int64VtF","s:8Yosemite15MockObjectGraphPAAE6review9forSiteId0eH010Networking13ProductReviewVSgs5Int64V_ALtF","s:8Yosemite15MockObjectGraphPAAE7product9forSiteId0eH010Networking7ProductVs5Int64V_AKtF","s:8Yosemite15SitePluginErrorO","s:8Yosemite16MediaActionErrorO","s:8Yosemite16OrderCreateFielda","s:8Yosemite16POSOrderableItemP2id10Foundation4UUIDVvp","s:8Yosemite16POSOrderableItemP4nameSSvp","s:8Yosemite16SitePluginActionO0C0O","s:8Yosemite16StorageAttributea","s:8Yosemite16StorageOrderItema","s:8Yosemite16StorageOrderNotea","s:8Yosemite16WCPayCardFundinga","s:8Yosemite16WooShippingStoreC10dispatcher14storageManager7network6remoteAcA10DispatcherC_7Storage0kG4Type_p14NetworkingCore7Network_p0M00bC14RemoteProtocol_ptcfc","s:8Yosemite17JustInTimeMessageV6siteIDs5Int64Vvp","s:8Yosemite17MockActionHandlerP0C4TypeQa","s:8Yosemite17MockActionHandlerP11objectGraphAA0b6ObjectF0_pvp","s:8Yosemite17MockActionHandlerP6handle6actiony0C4TypeQz_tF","s:8Yosemite17MockActionHandlerPAAE7successyyF","s:8Yosemite17MockStoresManagerC14derivedStorage33_9590E1BA65647C70183B4B486E032F69LL0F00F4Type_pvp","s:8Yosemite17NotificationStoreC14privateStorage33_C62332CCC5D63E26884446E2286BCACDLL0E00E4Type_pSgvpZ","s:8Yosemite17ProductsSortOrderO20analyticsDescriptionSSvp","s:8Yosemite17ReceiptStoreErrorO","s:8Yosemite17ResultsControllerC23notificationCenterToken33_859B47074559A83DD5AD581E243E51FELLypSgvp","s:8Yosemite17StatsStoreV4ErrorO","s:8Yosemite17SubscriptionStoreC10dispatcher14storageManager7network6remoteAcA10DispatcherC_7Storage0jF4Type_p14NetworkingCore7Network_p0L027SubscriptionsRemoteProtocol_ptcfc","s:8Yosemite17SystemInformationV7storeIDSSSgvp","s:8Yosemite17WCPayChargeStatusa","s:8Yosemite18LabelPurchaseErrorO","s:8Yosemite18LabelPurchaseErrorO18purchaseIncompleteyA2CmF","s:8Yosemite18MediaAssetExporterC0C11ExportErrorO11descriptionSSvp","s:8Yosemite18MediaAssetExporterC0C11ExportErrorO31unavailablePHAssetImageResourceyA2EmF","s:8Yosemite18MediaImageExporterC0C11ExportErrorO11descriptionSSvp","s:8Yosemite18MockSessionManagerV","s:8Yosemite18MockSessionManagerV11defaultSite10Networking0F0VSgvp","s:8Yosemite18MockSessionManagerV11objectGraph33_A42144192B754656C4DD2D0651393A10LLAA0b6ObjectF0_pvp","s:8Yosemite18MockSessionManagerV12defaultRolesSay10Networking4UserVAAE4RoleOGvp","s:8Yosemite18MockSessionManagerV14defaultAccount14NetworkingCore0F0VSgvp","s:8Yosemite18MockSessionManagerV14defaultStoreIDs5Int64VSgvp","s:8Yosemite18MockSessionManagerV15anonymousUserIDSSSgvp","s:8Yosemite18MockSessionManagerV15defaultStoreURLSSSgvp","s:8Yosemite18MockSessionManagerV16defaultAccountIDs5Int64VSgvp","s:8Yosemite18MockSessionManagerV16defaultStoreUUIDSSSgvp","s:8Yosemite18MockSessionManagerV18defaultCredentials14NetworkingCore0F0OSgvp","s:8Yosemite18MockSessionManagerV20defaultSitePublisher7Combine03AnyG0Vy10Networking0F0VSgs5NeverOGvp","s:8Yosemite18MockSessionManagerV23defaultStoreIDPublisher7Combine12AnyPublisherVys5Int64VSgs5NeverOGvp","s:8Yosemite18MockSessionManagerV25deleteApplicationPassword5usingy14NetworkingCore11CredentialsOSg_tF","s:8Yosemite18MockSessionManagerV5resetyyF","s:8Yosemite18OrderFilterHistoryV","s:8Yosemite18OrderFilterHistoryV7historyACSDys5Int64VSayAA06StoredB8SettingsV7SettingVGG_tcfc","s:8Yosemite18OrderFilterHistoryV7historySDys5Int64VSayAA06StoredB8SettingsV7SettingVGGvp","s:8Yosemite18ProductUpdateErrorO10alertTitleSSSgvp","s:8Yosemite18ShippingLabelStoreC10dispatcher14storageManager7network6remoteAcA10DispatcherC_7Storage0kG4Type_p14NetworkingCore7Network_p0M00bC14RemoteProtocol_ptcfc","s:8Yosemite18SiteCreationResultV3urlSSvp","s:8Yosemite18SiteCreationResultV4nameSSvp","s:8Yosemite18SiteCreationResultV6siteIDs5Int64Vvp","s:8Yosemite18SiteCreationResultV8siteSlugSSvp","s:8Yosemite18StorageFeatureIcona","s:8Yosemite18StorageInboxActiona","s:8Yosemite18StorageOrderRefunda","s:8Yosemite19SettingStoreMethodsC31upsertStoredGeneralSiteSettings6siteID08readOnlyhI02inys5Int64V_Say10Networking0hB0VG7Storage0Q4Type_ptF","s:8Yosemite19SettingStoreMethodsC31upsertStoredProductSiteSettings6siteID08readOnlyhI02inys5Int64V_Say10Networking0hB0VG7Storage0Q4Type_ptF","s:8Yosemite19SettingStoreMethodsC40upsertStoredAdvancedSettingsInBackground33_8C0BCB4006C8F87FCBD5FFF6F396D9AFLL6siteID012readOnlySiteH012onCompletionys5Int64V_Say10Networking0xB0VGyyctF","s:8Yosemite19SettingStoreMethodsC7network33_8C0BCB4006C8F87FCBD5FFF6F396D9AFLL14NetworkingCore7Network_pvp","s:8Yosemite19StorageAnnouncementa","s:8Yosemite19StorageOrderFeeLinea","s:8Yosemite19StorageProductAddOna","s:8Yosemite19StorageProductImagea","s:8Yosemite19StorageShippingLinea","s:8Yosemite20ProductCategoryStoreC10dispatcher14storageManager7network6remoteAcA10DispatcherC_7Storage0kG4Type_p14NetworkingCore7Network_p0M00B24CategoriesRemoteProtocol_ptcfc","s:8Yosemite20ProductFilterHistoryV","s:8Yosemite20ProductFilterHistoryV7historyACSDys5Int64VSay10Networking06StoredB8SettingsV7SettingVGG_tcfc","s:8Yosemite20ProductFilterHistoryV7historySDys5Int64VSay10Networking06StoredB8SettingsV7SettingVGGvp","s:8Yosemite20SitePluginStatusEnuma","s:8Yosemite21CardReaderConfigErrora","s:8Yosemite21GiftCardStatsIntervala","s:8Yosemite21POSSiteSettingServiceC6remoteAC10Networking26SiteSettingsRemoteProtocol_p_tcfc","s:8Yosemite21ScreenshotObjectGraphV10siteWithId2id10Networking4SiteVs5Int64V_tF","s:8Yosemite21ScreenshotObjectGraphV12statsVersion7Storage05StatsF0Ovp","s:8Yosemite21ScreenshotObjectGraphV13accountWithId2id14NetworkingCore7AccountVs5Int64V_tF","s:8Yosemite21ScreenshotObjectGraphV24statsV4ShouldBeAvailable9forSiteIdSbs5Int64V_tF","s:8Yosemite21ScreenshotObjectGraphV25accountSettingsWithUserId04userI010Networking07AccountF0Vs5Int64V_tF","s:8Yosemite21ScreenshotObjectGraphV5sitesSay10Networking4SiteVGvp","s:8Yosemite21StorageCardReaderTypea","s:8Yosemite22AppSettingsStoreErrorsO23writePListToFileStorageyA2CmF","s:8Yosemite22AppSettingsStoreErrorsO24parsePreselectedProvideryA2CmF","s:8Yosemite22AppSettingsStoreErrorsO24readPListFromFileStorageyA2CmF","s:8Yosemite22AppSettingsStoreErrorsO24writePreselectedProvideryA2CmF","s:8Yosemite22JetpackConnectionStoreC13accountRemote33_1D789DFD795A9C329ADEEE2F13D4BF07LL10Networking07AccountF0CSgvp","s:8Yosemite22POSSystemStatusServiceC7network14storageManagerAC14NetworkingCore7Network_p_7Storage0kG4Type_ptcfc","s:8Yosemite22ProductCategoryUpdaterP","s:8Yosemite22StorageOrderItemRefunda","s:8Yosemite22StorageProductDownloada","s:8Yosemite22StorageShippingLineTaxa","s:8Yosemite22StorageStateOfACountrya","s:8Yosemite22WCPayPaymentMethodTypea","s:8Yosemite22resetDefaultDebugLevelyyF","s:8Yosemite23MockCouponActionHandlerV7storage33_063B4E729518B8DD2CD747D12F0E7998LL7Storage0O4Type_pSgvp","s:8Yosemite23POSSearchHistoryServiceC011clearSearchC03foryAA11POSItemTypeO_tF","s:8Yosemite23POSSearchHistoryServiceC014clearAllSearchC0yyF","s:8Yosemite23ProductInputTransformerV14UpdateOrDeleteO6deleteyA2EmF","s:8Yosemite23ProductInputTransformerV16updateOrderItems33_48BA1520A8767D08F6A653957DF12D33LL4from5order34shouldUpdateOrDeleteZeroQuantitiesSay14NetworkingCore0F4ItemVGAA0f4SyncbC0V_AI0F0VAC0rsT0OtFZ","s:8Yosemite23StorageProductAttributea","s:8Yosemite24DefaultImageSourceWriterV0cdE5ErrorO11descriptionSSvp","s:8Yosemite24MockPaymentActionHandlerV0D4Typea","s:8Yosemite24MockSettingActionHandlerV12settingStore33_1BF62C46ABA4F8EB3BAD22BF3EA9DB3FLLAA0cG0Cvp","s:8Yosemite24StorageProductBundleItema","s:8Yosemite24StorageProductDimensionsa","s:8Yosemite24WCAnalyticsStatsIntervala","s:8Yosemite25POSSearchHistoryProvidingP011clearSearchC03foryAA11POSItemTypeO_tF","s:8Yosemite25POSSearchHistoryProvidingP014clearAllSearchC0yyF","s:8Yosemite25StorageCouponSearchResulta","s:8Yosemite25StorageOrderItemAttributea","s:8Yosemite25StorageOrderStatsV4Totalsa","s:8Yosemite25StorageProductAddOnOptiona","s:8Yosemite25StorageSiteVisitStatsItema","s:8Yosemite25StorageTopEarnerStatsItema","s:8Yosemite25WCPayPaymentMethodDetailsa","s:8Yosemite26CouponStoreMethodsProtocolP04loadB6Report6siteID06couponI09startDate12onCompletionys5Int64V_AJ10Foundation0L0Vys6ResultOy10Networking0bG0Vs5Error_pGctF","s:8Yosemite26CouponStoreMethodsProtocolP06createB0_12siteTimezone12onCompletiony10Networking0B0V_10Foundation8TimeZoneVSgys6ResultOyAIs5Error_pGctF","s:8Yosemite26CouponStoreMethodsProtocolP06deleteB06siteID06couponH012onCompletionys5Int64V_AIys6ResultOyyts5Error_pGctF","s:8Yosemite26CouponStoreMethodsProtocolP06updateB0_12siteTimezone12onCompletiony10Networking0B0V_10Foundation8TimeZoneVSgys6ResultOyAIs5Error_pGctF","s:8Yosemite26CouponStoreMethodsProtocolP08retrieveB06siteID06couponH012onCompletionys5Int64V_AIys6ResultOy10Networking0B0Vs5Error_pGctF","s:8Yosemite26CouponStoreMethodsProtocolP08validateB4Code4code6siteID12onCompletionySS_s5Int64Vys6ResultOySbs5Error_pGctF","s:8Yosemite26CouponStoreMethodsProtocolP11loadCoupons6siteID9couponIDs12onCompletionys5Int64V_SayAIGys6ResultOySay10Networking0B0VGs5Error_pGctF","s:8Yosemite26CouponStoreMethodsProtocolP13searchCoupons6siteID7keyword10pageNumber0K4Size12onCompletionys5Int64V_SSS2iys6ResultOyyts5Error_pGctF","s:8Yosemite26CouponStoreMethodsProtocolP18synchronizeCoupons6siteID10pageNumber0J4Size12onCompletionys5Int64V_S2iys6ResultOySbs5Error_pGctF","s:8Yosemite26CouponStoreMethodsProtocolP21loadMostActiveCoupons6siteID08numberOfI6ToLoad9timeRange0J8Timezone12onCompletionys5Int64V_SiAA09StatsTimeQ2V4O10Foundation0W4ZoneVys6ResultOySay10Networking0B6ReportVGs5Error_pGctF","s:8Yosemite26StoragePreselectedProvidera","s:8Yosemite26StorageProductSubscriptiona","s:8Yosemite26StorageShippingLabelRefunda","s:8Yosemite27PointOfSaleItemServiceErrorO13requestFailedyA2CmF","s:8Yosemite27PointOfSaleItemServiceErrorO7unknownyA2CmF","s:8Yosemite27SettingStoreMethodsProtocolP015enableAnalyticsB06siteID12onCompletionys5Int64V_ys6ResultOyyts5Error_pGctF","s:8Yosemite27SettingStoreMethodsProtocolP017retrieveAnalyticsB06siteID12onCompletionys5Int64V_ys6ResultOySbs5Error_pGctF","s:8Yosemite27SettingStoreMethodsProtocolP018retrieveTaxBasedOnB06siteID12onCompletionys5Int64V_ys6ResultOyAA0ghiB0Os5Error_pGctF","s:8Yosemite27SettingStoreMethodsProtocolP15retrieveSiteAPI6siteID12onCompletionys5Int64V_ys6ResultOy10Networking0gH0Vs5Error_pGctF","s:8Yosemite27SettingStoreMethodsProtocolP16isFeatureEnabled6siteID7featureSbs5Int64V_10Networking012SiteSettingsG0OtYaKF","s:8Yosemite27SettingStoreMethodsProtocolP30synchronizeGeneralSiteSettings6siteID12onCompletionys5Int64V_ys5Error_pSgctF","s:8Yosemite27SettingStoreMethodsProtocolP30synchronizeProductSiteSettings6siteID12onCompletionys5Int64V_ys5Error_pSgctF","s:8Yosemite27StorageCustomerSearchResulta","s:8Yosemite27StorageOrderStatsV4Intervala","s:8Yosemite27StorageShippingLabelAddressa","s:8Yosemite28ShippingLabelPaymentCardTypea","s:8Yosemite28StorageShippingLabelSettingsa","s:8Yosemite29CardPresentTransactionDetailsa","s:8Yosemite30CardPresentPaymentsPluginStateV14wcPayPreferredACvpZ","s:8Yosemite30CardPresentPaymentsPluginStateV15stripePreferredACvpZ","s:8Yosemite30CardPresentPaymentsPluginStateV9wcPayOnlyACvpZ","s:8Yosemite30ProductVariationStorageManagerC012deleteStoredB10Variations6siteID07productJ012onCompletionys5Int64V_AIyyctF","s:8Yosemite30StorageProductDefaultAttributea","s:8Yosemite31StorageWooShippingCustomPackagea","s:8Yosemite32CardReaderServiceDiscoveryStatusa","s:8Yosemite32StorageProductCompositeComponenta","s:8Yosemite33CardPresentPaymentOnboardingStateO21isCountryNotSupportedSbvp","s:8Yosemite33ProductsFeatureSwitchPListWrapperV","s:8Yosemite33SiteNotificationCountFileContentsV07countByB0ACSDys5Int64VSDy14NetworkingCore4NoteV4KindOSiGG_tcfc","s:8Yosemite34StorageWooShippingPredefinedOptiona","s:8Yosemite35FeatureAnnouncementCampaignSettingsa","s:8Yosemite35SiteSpecificAppSettingsStoreMethodsV014defaultGeneralfE7FileURL10Foundation0K0VvpZ","s:8Yosemite35SiteSpecificAppSettingsStoreMethodsV11fileStorage07generalfE7FileURLAC0I00kI0_p_10Foundation0L0Vtcfc","s:8Yosemite35StorageWooShippingPredefinedPackagea","s:8Yosemite36StorageShipmentTrackingProviderGroupa","s:8Yosemite40PointOfSaleFixedItemFetchStrategyFactoryC07popularH08pageSizeAA0bcd11PurchasablefgH0_pSi_tF","s:8Yosemite40StorageWooShippingSavedPredefinedPackagea","s:8Yosemite42StorageWooShippingCarrierPredefinedOptionsa","s:8Yosemite43PointOfSaleItemFetchStrategyFactoryProtocolP07popularG08pageSizeAA0bcd11PurchasableefG0_pSi_tF","s:8Yosemite45PointOfSaleSearchPurchasableItemFetchStrategyV","s:8Yosemite45PointOfSaleSearchPurchasableItemFetchStrategyV13fetchProducts10pageNumber14NetworkingCore10PagedItemsVy0N010POSProductVGSi_tYaKF","s:8Yosemite45PointOfSaleSearchPurchasableItemFetchStrategyV15fetchVariations15parentProductID10pageNumber14NetworkingCore10PagedItemsVy0Q019POSProductVariationVGs5Int64V_SitYaKF","s:8Yosemite46PointOfSaleDefaultPurchasableItemFetchStrategyV","s:8Yosemite46PointOfSaleDefaultPurchasableItemFetchStrategyV13fetchProducts10pageNumber14NetworkingCore10PagedItemsVy0N010POSProductVGSi_tYaKF","s:8Yosemite46PointOfSaleDefaultPurchasableItemFetchStrategyV15fetchVariations15parentProductID10pageNumber14NetworkingCore10PagedItemsVy0Q019POSProductVariationVGs5Int64V_SitYaKF","s:8Yosemite46PointOfSalePopularPurchasableItemFetchStrategyV","s:8Yosemite46PointOfSalePopularPurchasableItemFetchStrategyV13fetchProducts10pageNumber14NetworkingCore10PagedItemsVy0N010POSProductVGSi_tYaKF","s:8Yosemite46PointOfSalePopularPurchasableItemFetchStrategyV15fetchVariations15parentProductID10pageNumber14NetworkingCore10PagedItemsVy0Q019POSProductVariationVGs5Int64V_SitYaKF","s:8Yosemite4Posta","s:8Yosemite5QueueV","s:8Yosemite7WooPlanV4nameSSvp","s:8Yosemite8TaxStoreC012upsertStoredB5Class08readOnlybF02iny10Networking0bF0V_7Storage0K4Type_ptF","s:8Yosemite9DataStoreC10dispatcher14storageManager7network6remoteAcA10DispatcherC_7Storage0jF4Type_p14NetworkingCore7Network_p0L00B6RemoteCtcfc","s:8Yosemite9NoteBlocka","s:8Yosemite9NoteMediaa","s:8Yosemite9NoteRangea","s:8Yosemite9ProductIdV7currents5Int64VvpZ","s:SD11WooCommerceSSRszrlE33serializeValuesForLoggingIfNeededSDySSypGyF","s:SK15WordPressSharedE9lastIndex5where0E0QzSgSb7ElementQzKXE_tKF","s:SS11WooCommerceE16stripLastNewline2inS2S_tFZ","s:SS11WooCommerceE9hairSpaceSSvpZ","s:SS13Woo_Watch_AppE10isNotEmptySbvp","s:SS13Woo_Watch_AppE16stripLastNewline2inS2S_tFZ","s:SS13Woo_Watch_AppE6quotedSSvp","s:SS13Woo_Watch_AppE6quotesSS_SStvpZ","s:SS13Woo_Watch_AppE9pluralize_8singular6pluralSSSi_S2StFZ","s:SS13Woo_Watch_AppE9pluralize_8singular6pluralSSSo9NSDecimala_S2StFZ","s:SS13Woo_Watch_AppE9setOfTagsShySSGSgyF","s:SS14NetworkingCoreE12removePrefix7pattern7optionsySS_So26NSRegularExpressionOptionsVtKF","s:SS14NetworkingCoreE12removeSuffix7pattern7optionsySS_So26NSRegularExpressionOptionsVtKF","s:SS14NetworkingCoreE14removingPrefix7pattern7optionsS2S_So26NSRegularExpressionOptionsVtKF","s:SS14NetworkingCoreE14removingSuffix7pattern7optionsS2S_So26NSRegularExpressionOptionsVtKF","s:SS15WordPressSharedE12removePrefix7pattern7optionsySS_So26NSRegularExpressionOptionsVtKF","s:SS15WordPressSharedE12removeSuffix7pattern7optionsySS_So26NSRegularExpressionOptionsVtKF","s:SS15WordPressSharedE14removingPrefix7pattern7optionsS2S_So26NSRegularExpressionOptionsVtKF","s:SS15WordPressSharedE14removingSuffix7pattern7optionsS2S_So26NSRegularExpressionOptionsVtKF","s:SS15WordPressSharedE29stringByDecodingXMLCharactersSSyF","s:SS15WordPressSharedE29stringByEncodingXMLCharactersSSyF","s:SS17WooFoundationCoreE16sendToPasteboard22includeTrailingNewlineySb_tF","s:SS17WooFoundationCoreE16stripLastNewline2inS2S_tFZ","s:SS17WooFoundationCoreE6quotedSSvp","s:SS17WooFoundationCoreE6quotesSS_SStvpZ","s:SS17WooFoundationCoreE9setOfTagsShySSGSgyF","s:ST8YosemiteAA16POSOrderableItem_p7ElementRtzrlE7isEqual2toSbST_pAaB_pADRS_XP_tF","s:Sa11WooCommerce14NetworkingCore9NoteBlockVRszlE5first6ofKindADSgAD0I0O_tF","s:So10XCTestCaseC17UITestsFoundationE10DataHelperV3tagSSvpZ","s:So10XCTestCaseC17UITestsFoundationE10DataHelperV8categorySSvpZ","s:So11UIImageViewC11WordPressUIE10Downloader33_1E03F726AA7AC5CC76C9B217F4556170LLV6urlKeySivpZ","s:So11UIImageViewC11WordPressUIE10Downloader33_5D905DAAA85C0A677DC89E2949462236LLV","s:So11UIImageViewC11WordPressUIE12blavatarSize33_5D905DAAA85C0A677DC89E2949462236LLSivp","s:So11UIImageViewC11WordPressUIE15mainScreenScale33_5D905DAAA85C0A677DC89E2949462236LL14CoreFoundation7CGFloatVvp","s:So11UIImageViewC11WordPressUIE16downloadBlavatar4fromy10Foundation3URLV_tF","s:So11UIImageViewC11WordPressUIE20blavatarSizeInPoints33_5D905DAAA85C0A677DC89E2949462236LLSivp","s:So11UITableViewC11WooCommerceE29lastIndexPathOfTheLastSection10Foundation0fG0VSgyF","s:So11UITableViewC11WordPressUIE17reloadSelectedRowyyF","s:So11UITableViewC11WordPressUIE29reloadDataPreservingSelectionyyF","s:So11UITableViewC11WordPressUIE42deselectSelectedRowWithAnimationAfterDelayyySbF","s:So11UITextFieldC11WordPressUIE17nonNilTrimmedTextSSyF","s:So11WPAnalyticsC15WordPressSharedE5trackyyAC14AnalyticsEventCFZ","s:So11XCUIElementC17UITestsFoundationE10waitAndTap7timeoutySd_tF","s:So11XCUIElementC17UITestsFoundationE13assertElement8matching26existsOnCellWithIdentifierySS_SStF","s:So11XCUIElementC17UITestsFoundationE14scrollIntoView3appySo15XCUIApplicationC_tF","s:So11XCUIElementC17UITestsFoundationE17clearAndEnterText4textySS_tF","s:So11XCUIElementC17UITestsFoundationE17clearTextIfNeededyyF","s:So11XCUIElementC17UITestsFoundationE19assertLabelContains14firstSubstring06secondH0ySS_SStF","s:So11XCUIElementC17UITestsFoundationE19verifyElementOnCell6parent5childSbSS_SStKF","s:So11XCUIElementC17UITestsFoundationE19verifyLabelContains9substring3andSbSS_SStKF","s:So11XCUIElementC17UITestsFoundationE22isFullyVisibleOnScreen33_A43A31F44B10350136AF2B75ECBA64BELLSbvp","s:So11XCUIElementC17UITestsFoundationE24waitForElementToNotExist7element7timeoutyAB_SdSgtF","s:So11XCUIElementC17UITestsFoundationE25assertTextVisibilityCount10textToFind08expectedG0ySS_SitF","s:So11XCUIElementC17UITestsFoundationE28getStaticTextVisibilityCount10textToFindSiSS_tKF","s:So11XCUIElementC17UITestsFoundationE6scroll8byDeltaX6deltaYy04CoreC07CGFloatV_AItF","s:So11XCUIElementC17UITestsFoundationE9enterText4textySS_tF","s:So12UIStoryboardC11WooCommerceE6ordersABvpZ","s:So14NSUserDefaultsC11WooCommerceE14containsObject6forKeySbAbCE0H0O_tF","s:So14NSUserDefaultsC11WooCommerceE17setPendingThemeID33_049E9F9751B0CC910DC72613D7915BC1LL05themeH03forySS_s5Int64VtF","s:So14NSUserDefaultsC13Woo_Watch_AppE14containsObject6forKeySbAbCE0I0O_tF","s:So15NSDateFormatterC11WooCommerceE04yearB0ABvpZ","s:So15NSDateFormatterC13Woo_Watch_AppE04yearB0ABvpZ","s:So16NSParagraphStyleC11WooCommerceE11subheadlineABvpZ","s:So16NSParagraphStyleC11WooCommerceE22truncatingTailFootnoteABvpZ","s:So16NSParagraphStyleC11WooCommerceE5badgeABvpZ","s:So16NSParagraphStyleC11WooCommerceE8footnoteABvpZ","s:So16SCPPaymentIntentC8HardwareE2idSSvp","s:So16UICollectionViewC11WordPressUIE12ghostHandler33_A1E0D2594CFD1D28FE0BCEA493588D1ELLAC015GhostCollectionbG0CSgvp","s:So16UICollectionViewC11WordPressUIE15initialDelegate33_A1E0D2594CFD1D28FE0BCEA493588D1ELLSo0abG0_pSgvp","s:So16UICollectionViewC11WordPressUIE17initialDataSource33_A1E0D2594CFD1D28FE0BCEA493588D1ELLSo0abgH0_pSgvp","s:So16UICollectionViewC11WordPressUIE17setupGhostHandler33_A1E0D2594CFD1D28FE0BCEA493588D1ELL7options5styleyAC0G7OptionsV_AC0G5StyleVtF","s:So16UICollectionViewC11WordPressUIE18removeGhostContentyyF","s:So16UICollectionViewC11WordPressUIE19displayGhostContent7options5styleyAC0G7OptionsV_AC0G5StyleVtF","s:So16UICollectionViewC11WordPressUIE22initialAllowsSelection33_A1E0D2594CFD1D28FE0BCEA493588D1ELLSbSgvp","s:So16UICollectionViewC11WordPressUIE24isDisplayingGhostContentSbvp","s:So16UICollectionViewC11WordPressUIE25resetAssociatedReferences33_A1E0D2594CFD1D28FE0BCEA493588D1ELLyyF","s:So16UICollectionViewC11WordPressUIE34restoreInitialDelegatesAndSettings33_A1E0D2594CFD1D28FE0BCEA493588D1ELLyyF","s:So16UICollectionViewC11WordPressUIE35preserveInitialDelegatesAndSettings33_A1E0D2594CFD1D28FE0BCEA493588D1ELLyyF","s:So16UICollectionViewC11WordPressUIE4Keys33_A1E0D2594CFD1D28FE0BCEA493588D1ELLO","s:So16UIViewControllerC11WordPressUIE14isViewOnScreenSbyF","s:So16UIViewControllerC11WordPressUIE26hasHorizontallyCompactViewSbyF","s:So16UIViewControllerC11WordPressUIE32isHorizontalSizeClassUnspecifiedSbyF","s:So16UIViewControllerC11WordPressUIE6removeyyABF","s:So16UIViewControllerC11WordPressUIE6removeyyF","s:So16XCUIElementQueryC17UITestsFoundationE24networkLoadingIndicators33_A43A31F44B10350136AF2B75ECBA64BELLABvp","s:So17CGAffineTransformV11WordPressUIE12makeRotation_5scaleAB14CoreFoundation7CGFloatV_AHtFZ","s:So21XCUIElementAttributesP17UITestsFoundationE11isStatusBar33_A43A31F44B10350136AF2B75ECBA64BELLySb04CoreD07CGFloatVF","s:So21XCUIElementAttributesP17UITestsFoundationE24hasWhiteListedIdentifier33_A43A31F44B10350136AF2B75ECBA64BELLSbvp","s:So21XCUIElementAttributesP17UITestsFoundationE25isNetworkLoadingIndicator33_A43A31F44B10350136AF2B75ECBA64BELLSbvp","s:So22NSManagedObjectContextC7StorageE05firstB06ofTypexSgxm_tAC0B0RzlF","s:So22NSManagedObjectContextC7StorageE12countObjects6ofType8matchingSixm_So11NSPredicateCSgtAC0B0RzlF","s:So22NSManagedObjectContextC7StorageE12countObjects6ofTypeSixm_tAC0B0RzlF","s:So24NSOperatingSystemVersiona11WooCommerceE12Localization33_D589B9A26148CD818CA4BEF93D67E0F4LLO","s:So24NSOperatingSystemVersiona11WooCommerceE24localizedFormattedStringSSvp","s:So24UNUserNotificationCenterC11WooCommerceE20requestAuthorization5queue23includesProvisionalAuth10completionySo012OS_dispatch_H0C_SbySbctF","s:So25NSMutableAttributedStringC11WooCommerceE27applyAttributesToQuotedText10attributesySDySo012NSAttributedC3KeyaypG_tF","s:So25NSMutableAttributedStringC11WordPressUIE20applyForegroundColoryySo7UIColorCF","s:So6UIFontC11WooCommerceE7italicsABvp","s:So6UIFontC11WooCommerceE7noticon8forStyleABSo0a4TextF0a_tFZ","s:So6UIFontC11WooCommerceE8caption2ABvpZ","s:So6UIFontC11WooCommerceE9pointSize33_DBC6E517B111D326E52675AF1E39C320LL3for14CoreFoundation7CGFloatVSo0A9TextStylea_tFZ","s:So6UIViewC11WooCommerceE14safeLeftAnchorSo08NSLayoutF0CySo0g5XAxisF0CGvp","s:So6UIViewC11WooCommerceE15safeRightAnchorSo08NSLayoutF0CySo0g5XAxisF0CGvp","s:So6UIViewC11WordPressUIE16explodeAnimationyyySbcSgF","s:So6UIViewC11WordPressUIE16implodeAnimationyyySbcSgF","s:So6UIViewC11WordPressUIE18stopGhostAnimationyyF","s:So6UIViewC11WordPressUIE19changeLayoutMargins3top4left6bottom5righty14CoreFoundation7CGFloatVSg_A3LtF","s:So6UIViewC11WordPressUIE21animatableSetIsHidden_8animated_ySb_SbySbcSgtF","s:So6UIViewC11WordPressUIE21expandSpringAnimationyyySbcSgF","s:So6UIViewC11WordPressUIE21restartGhostAnimation5styleyAC0F5StyleV_tF","s:So6UIViewC11WordPressUIE27fadeInWithRotationAnimationyyySbcSgF","s:So6UIViewC11WordPressUIE28fadeOutWithRotationAnimationyyySbcSgF","s:So6UIViewC11WordPressUIE7animate12withKeyboard_y10Foundation12NotificationV_ySo6CGRectV_AJtctFZ","s:So7UIColorC11WooCommerceE15invertedSystem5ABvpZ","s:So7UIColorC11WooCommerceE17invertedSeparatorABvpZ","s:So7UIColorC13WooFoundationE12chartDataBarABvpZ","s:So7UIColorC13WooFoundationE15domainSalePriceABvpZ","s:So7UIColorC13WooFoundationE16wooCommerceAmberyAB0bC4Core16ColorStudioShadeOFZ","s:So7UIColorC13WooFoundationE18wooCommerceEmeraldyAB0bC4Core16ColorStudioShadeOFZ","s:So7UIColorC13WooFoundationE19domainCreditPricingABvpZ","s:So7UIColorC13WooFoundationE30secondaryLightButtonBackgroundABvpZ","s:So7UIColorC13WooFoundationE35productsCellSelectedBackgroundColorABvpZ","s:So7UIImageC11WooCommerceE11deleteImageABvpZ","s:So7UIImageC11WooCommerceE12commentImageABvpZ","s:So7UIImageC11WooCommerceE13scanToPayIconABvpZ","s:So7UIImageC11WooCommerceE14commentContentABvpZ","s:So7UIImageC11WooCommerceE16helpOutlineImageABvpZ","s:So7UIImageC11WooCommerceE16pointOfSaleImageABvpZ","s:So7UIImageC11WooCommerceE17blazeSuccessImageABvpZ","s:So7UIImageC11WooCommerceE20imageWithTopRightDot0D6Origin9finalSize11dotDiameter0L5ColorABSgSo7CGPointV_So6CGSizeV14CoreFoundation7CGFloatVSo7UIColorCtF","s:So7UIImageC11WooCommerceE22gearBarButtonItemImageABvpZ","s:So7UIImageC11WooCommerceE26domainPurchaseSuccessImageABvpZ","s:So7UIImageC11WooCommerceE28domainSearchPlaceholderImageABvpZ","s:So7UIImageC11WooCommerceE28productCreationAISurveyImageABvpZ","s:So7UIImageC11WooCommerceE5image8fromText4sizeABSgSS_So6CGSizeVtFZ","s:So7UIImageC11WooCommerceE9bellImageABvpZ","s:So7UIImageC11WooCommerceE9moneyIconABvpZ","s:So7UIImageC11WordPressUIE16rotate180DegreesABSgyF","s:So7UIImageC11WordPressUIE8cropping2toABSo6CGRectV_tF","s:So7UILabelC11WooCommerceE29applyPaddedLabelSubheadStylesyyF","s:So8NSBundleC13WooFoundationE11buildNumberSSvp","s:So8UIButtonC11WooCommerceE16OverlayAnimationO","s:So8UIButtonC11WooCommerceE16overlayImageView33_546DA74F3BF915535695A7DC386EC4DBLLSo6UIViewCSgyF","s:So8UIButtonC11WooCommerceE19animateImageOverlay5styleyAbCE0F9AnimationO_tF","s:So8UIButtonC11WooCommerceE22attachOverlayImageView33_546DA74F3BF915535695A7DC386EC4DBLL07overlayG0ySo6UIViewC_tF","s:So8UIButtonC11WooCommerceE24setTitleWithoutAnimation_3forySSSg_So14UIControlStateVtF","s:So8UIDeviceC11WooCommerceE15modelIdentifierSSvp","s:So9NSDecimala11WooCommerceE8fraction33_05AEA99830E18213E13824269D61F9B5LLABvp","s:So9NSScannerC11WooCommerceE16scanQuotedRangesSaySo8_NSRangeVGyF","s:So9UIControlC11WordPressUIE33NaturalContentHorizontalAlignmentO","s:So9UIControlC11WordPressUIE33naturalContentHorizontalAlignmentAbCE07NaturalfgH0Ovp","s:Sq11WooCommerceSSRszlE012isNilOrEmptyE4ZeroSbvp","s:e:s:10Networking11MockNetworkC16simulateResponse16requestUrlSuffix8filenameySS_SStF-Networking","s:e:s:10Networking11MockNetworkC18addResponseToQueue33_E17F2C9213ACF707E84675086070E83FLL16requestUrlSuffix8filenameySS_SStF-Networking","s:e:s:10Networking17GoogleAdsCampaignV6StatusO11WooCommerceE11displayTextSSvp-WooCommerce","s:e:s:11WooCommerce0A14AnalyticsEventV13ProductNameAIO9Constants33_B0A7733942D46A80E958F8CEC6B01A5FLLO-WooCommerce","s:e:s:11WooCommerce0A14AnalyticsEventV5BlazeO4StepO14analyticsValue33_B767F6CF84DC740BBA8619895253257ALLSSvp-WooCommerce","s:e:s:11WooCommerce12StringStylesV7subjectACvpZ-WooCommerce","s:e:s:11WooCommerce15StringFormatterV29replaceCommonWhitespaceIssues33_01DE8D4F17B26AA19304C5F479D1EE44LL2inS2S_tF-WooCommerce","s:e:s:11WooCommerce15StringFormatterV6format5block4withSo012NSAttributedC0C14NetworkingCore9NoteBlockV_AA0C6StylesVtF-WooCommerce","s:e:s:11WooCommerce20CreateOrderAppIntentV12LocalizationO-WooCommerce","s:e:s:11WooCommerce21JetpackErrorViewModelV12Localization33_A5FF517E3DE752F2DB2B2D530CEE4AD0LLO-WooCommerce","s:e:s:11WooCommerce21WPComLoginCoordinatorC12Localization33_84A1C662B8A620141F900901D8BEDCE0LLO-WooCommerce","s:e:s:11WooCommerce21WPComLoginCoordinatorC19startAuthentication33_84A1C662B8A620141F900901D8BEDCE0LL5email21isPasswordlessAccountySS_SbtYaF-WooCommerce","s:e:s:11WooCommerce21WPComLoginCoordinatorC24checkPasswordlessAccount33_84A1C662B8A620141F900901D8BEDCE0LL5emailSbSS_tYaKF-WooCommerce","s:e:s:11WooCommerce23CollectPaymentAppIntentV12LocalizationO-WooCommerce","s:e:s:11WooCommerce24PermanentNoticePresenterC10Animations33_7A54054EC31D7B532ACEC7BB03B27136LLO-WooCommerce","s:e:s:11WooCommerce24PermanentNoticePresenterC16setupConstraints33_7A54054EC31D7B532ACEC7BB03B27136LL2in11hostingViewySo16UIViewControllerC_So0R0CtF-WooCommerce","s:e:s:11WooCommerce24ProductsTopBannerFactoryV12Localization33_28FBE17267D053386D61F4D85A0E22FFLLO-WooCommerce","s:e:s:11WooCommerce31POSCollectOrderPaymentAnalyticsC16trackCurrentTime33_2A405C3BA04A485191B976D2203200B8LLSdyF-WooCommerce","s:e:s:11WooCommerce38JetpackBenefitsBannerHostingControllerC25configureHeightConstraint33_9383CB4049A779326AB3A54E157F531ALLyyF-WooCommerce","s:e:s:11WooCommerce43BlazeCampaignDashboardViewHostingControllerC18handlePostCreation33_78B252AE4BCF4E8CDA174318A2708FD3LLyyF-WooCommerce","s:e:s:17UITestsFoundation18BetaFeaturesScreenC06enableC7Feature33_FA0859DAFF4C9619A1C58EE0AB16E3C5LLyySo11XCUIElementCF-UITestsFoundation","s:e:s:17WooFoundationCore0A14AnalyticsEventV0A8CommerceE13ProductNameAIO9Constants33_B0A7733942D46A80E958F8CEC6B01A5FLLO-WooCommerce","s:e:s:17WooFoundationCore0A14AnalyticsEventV0A8CommerceE5BlazeO4StepO14analyticsValue33_B767F6CF84DC740BBA8619895253257ALLSSvp-WooCommerce","s:e:s:8Hardware18UpdateTimeEstimateOyACSo017SCPUpdateDurationD0Vcfc-Hardware","s:e:s:8Yosemite16SitePluginActionO0C0O2id33_742336383351F1BAEE3FD57E4213749DLLSSvp-Yosemite","s:e:s:8Yosemite33ProductsFeatureSwitchPListWrapperV9isEnabledSbvp-Yosemite","s:s12CaseIterableP11WooCommerceSQRzrlE4nextxSgyF"]}} \ No newline at end of file diff --git a/WooCommerce/Classes/Analytics/TracksProvider.swift b/WooCommerce/Classes/Analytics/TracksProvider.swift index 0f733ee35e0..e29df07dd65 100644 --- a/WooCommerce/Classes/Analytics/TracksProvider.swift +++ b/WooCommerce/Classes/Analytics/TracksProvider.swift @@ -3,6 +3,7 @@ import Yosemite import AutomatticTracks import WordPressShared import protocol WooFoundation.AnalyticsProvider +import WooFoundationCore public class TracksProvider: NSObject, AnalyticsProvider { private static let contextManager: TracksContextManager = TracksContextManager() diff --git a/WooCommerce/Classes/Analytics/WooAnalytics.swift b/WooCommerce/Classes/Analytics/WooAnalytics.swift index 0194617f327..a8e24b3f8ac 100644 --- a/WooCommerce/Classes/Analytics/WooAnalytics.swift +++ b/WooCommerce/Classes/Analytics/WooAnalytics.swift @@ -8,6 +8,7 @@ import enum Networking.NetworkError import Yosemite import protocol WooFoundation.Analytics import protocol WooFoundation.AnalyticsProvider +import WooFoundationCore final class WooAnalytics: Analytics { diff --git a/WooCommerce/Classes/Analytics/WooAnalyticsEvent+Blaze.swift b/WooCommerce/Classes/Analytics/WooAnalyticsEvent+Blaze.swift index 53c5841ad55..81560563e6a 100644 --- a/WooCommerce/Classes/Analytics/WooAnalyticsEvent+Blaze.swift +++ b/WooCommerce/Classes/Analytics/WooAnalyticsEvent+Blaze.swift @@ -5,7 +5,6 @@ extension WooAnalyticsEvent { /// Event property keys. private enum Key { static let source = "source" - static let step = "current_step" static let duration = "duration" static let totalBudget = "total_budget" static let isAISuggestedAdContent = "is_ai_suggested_ad_content" @@ -207,32 +206,6 @@ extension WooAnalyticsEvent { } } -extension WooAnalyticsEvent.Blaze { - enum Step: Equatable { - case unspecified - case productList - case campaignList - case step1 - case custom(step: String) - } -} - -private extension WooAnalyticsEvent.Blaze.Step { - var analyticsValue: String { - switch self { - case .unspecified: - return "unspecified" - case .productList: - return "products-list" - case .campaignList: - return "campaigns-list" - case .step1: - return "step-1" - case .custom(let step): - return step - } - } -} extension BlazeSource { var analyticsValue: String { diff --git a/WooCommerce/Classes/Analytics/WooAnalyticsEvent+CustomFields.swift b/WooCommerce/Classes/Analytics/WooAnalyticsEvent+CustomFields.swift index 8a9fb8f8fbb..33a25981fea 100644 --- a/WooCommerce/Classes/Analytics/WooAnalyticsEvent+CustomFields.swift +++ b/WooCommerce/Classes/Analytics/WooAnalyticsEvent+CustomFields.swift @@ -28,11 +28,6 @@ extension WooAnalyticsEvent { case aztec = "aztec" } - /// Tracked when the Custom Fields row in Product Details is tapped - static func productDetailCustomFieldsTapped() -> WooAnalyticsEvent { - WooAnalyticsEvent(statName: .productDetailCustomFieldsTapped, - properties: [:]) - } /// Tracked when the Custom Fields List view is opened static func customFieldsListLoaded( diff --git a/WooCommerce/Classes/Analytics/WooAnalyticsEvent+DashboardCustomRange.swift b/WooCommerce/Classes/Analytics/WooAnalyticsEvent+DashboardCustomRange.swift index 592101466fc..c7cf857eacc 100644 --- a/WooCommerce/Classes/Analytics/WooAnalyticsEvent+DashboardCustomRange.swift +++ b/WooCommerce/Classes/Analytics/WooAnalyticsEvent+DashboardCustomRange.swift @@ -18,10 +18,6 @@ extension WooAnalyticsEvent { properties: [Keys.isEditing: isEditing]) } - /// When the user selects the custom range tab of Dashboard stats. - static func tabSelected() -> WooAnalyticsEvent { - WooAnalyticsEvent(statName: .dashboardStatsCustomRangeTabSelected, properties: [:]) - } /// When the user taps the button to edit the date range on the custom range tab of Dashboard stats. static func editButtonTapped() -> WooAnalyticsEvent { diff --git a/WooCommerce/Classes/Analytics/WooAnalyticsEvent.swift b/WooCommerce/Classes/Analytics/WooAnalyticsEvent+WooApp.swift similarity index 96% rename from WooCommerce/Classes/Analytics/WooAnalyticsEvent.swift rename to WooCommerce/Classes/Analytics/WooAnalyticsEvent+WooApp.swift index b0ec57f3a79..1f2f319f601 100644 --- a/WooCommerce/Classes/Analytics/WooAnalyticsEvent.swift +++ b/WooCommerce/Classes/Analytics/WooAnalyticsEvent+WooApp.swift @@ -3,54 +3,108 @@ import UIKit import Yosemite import WooFoundation -/// This struct represents an analytics event. It is a combination of `WooAnalyticsStat` and -/// its properties. -/// -/// This was mostly created to promote static-typing via constructors. -/// -/// ## Adding New Events -/// -/// 1. Add the event name (`String`) to `WooAnalyticsStat`. -/// 2. Create an `extension` of `WooAnalyticsStat` if necessary for grouping. -/// 3. Add a `static func` constructor. -/// -/// Here is an example: -/// -/// ~~~ -/// extension WooAnalyticsEvent { -/// enum LoginStep: String { -/// case start -/// case success -/// } -/// -/// static func login(step: LoginStep) -> WooAnalyticsEvent { -/// let properties = [ -/// "step": step.rawValue -/// ] -/// -/// return WooAnalyticsEvent(name: "login", properties: properties) -/// } -/// } -/// ~~~ -/// -/// Examples of tracking calls (in the client App or Pod): -/// -/// ~~~ -/// Analytics.track(event: .login(step: .start)) -/// Analytics.track(event: .loginStart) -/// ~~~ -/// -struct WooAnalyticsEvent { - init(statName: WooAnalyticsStat, properties: [String: WooAnalyticsEventPropertyType], error: Error? = nil) { - self.statName = statName - self.properties = properties - self.error = error - } +typealias WooAnalyticsEvent = WooFoundationCore.WooAnalyticsEvent +typealias WooAnalyticsStat = WooFoundationCore.WooAnalyticsStat + +#if canImport(WordPressShared) +import WordPressShared - let statName: WooAnalyticsStat - let properties: [String: WooAnalyticsEventPropertyType] - let error: Error? +extension WooAnalyticsStat { + /// Converts the provided WPAnalyticsStat into a WooAnalyticsStat. + /// This whole process kinda stinks, but we need this for the `WordPressAuthenticatorDelegate` + /// implementation. ☹️ Feel free to refactor later on! + /// + /// - Parameter stat: The WPAnalyticsStat to convert + /// - Returns: The corresponding WooAnalyticsStat or nil if it cannot be converted + /// + static func valueOf(stat: WPAnalyticsStat) -> WooAnalyticsStat? { + var wooEvent: WooAnalyticsStat? = nil + + switch stat { + case .signedIn: + wooEvent = WooAnalyticsStat.signedIn + case .signedInToJetpack: + wooEvent = WooAnalyticsStat.signedIn + case .logout: + wooEvent = WooAnalyticsStat.logout + case .openedLogin: + wooEvent = WooAnalyticsStat.openedLogin + case .loginFailed: + wooEvent = WooAnalyticsStat.loginFailed + case .loginAutoFillCredentialsFilled: + wooEvent = WooAnalyticsStat.loginAutoFillCredentialsFilled + case .loginAutoFillCredentialsUpdated: + wooEvent = WooAnalyticsStat.loginAutoFillCredentialsUpdated + case .loginProloguePaged: + wooEvent = WooAnalyticsStat.loginProloguePaged + case .loginPrologueViewed: + wooEvent = WooAnalyticsStat.loginPrologueViewed + case .loginEmailFormViewed: + wooEvent = WooAnalyticsStat.loginEmailFormViewed + case .loginMagicLinkOpenEmailClientViewed: + wooEvent = WooAnalyticsStat.loginMagicLinkOpenEmailClientViewed + case .loginMagicLinkRequestFormViewed: + wooEvent = WooAnalyticsStat.loginMagicLinkRequestFormViewed + case .loginMagicLinkExited: + wooEvent = WooAnalyticsStat.loginMagicLinkExited + case .loginMagicLinkFailed: + wooEvent = WooAnalyticsStat.loginMagicLinkFailed + case .loginMagicLinkOpened: + wooEvent = WooAnalyticsStat.loginMagicLinkOpened + case .loginMagicLinkRequested: + wooEvent = WooAnalyticsStat.loginMagicLinkRequested + case .loginMagicLinkSucceeded: + wooEvent = WooAnalyticsStat.loginMagicLinkSucceeded + case .loginPasswordFormViewed: + wooEvent = WooAnalyticsStat.loginPasswordFormViewed + case .loginURLFormViewed: + wooEvent = WooAnalyticsStat.loginURLFormViewed + case .loginURLHelpScreenViewed: + wooEvent = WooAnalyticsStat.loginURLHelpScreenViewed + case .loginUsernamePasswordFormViewed: + wooEvent = WooAnalyticsStat.loginUsernamePasswordFormViewed + case .loginTwoFactorFormViewed: + wooEvent = WooAnalyticsStat.loginTwoFactorFormViewed + case .loginEpilogueViewed: + wooEvent = WooAnalyticsStat.loginEpilogueViewed + case .loginForgotPasswordClicked: + wooEvent = WooAnalyticsStat.loginForgotPasswordClicked + case .loginSocialButtonClick: + wooEvent = WooAnalyticsStat.loginSocialButtonClick + case .loginSocialButtonFailure: + wooEvent = WooAnalyticsStat.loginSocialButtonFailure + case .loginSocialConnectSuccess: + wooEvent = WooAnalyticsStat.loginSocialConnectSuccess + case .loginSocialConnectFailure: + wooEvent = WooAnalyticsStat.loginSocialConnectFailure + case .loginSocialSuccess: + wooEvent = WooAnalyticsStat.loginSocialSuccess + case .loginSocialFailure: + wooEvent = WooAnalyticsStat.loginSocialFailure + case .loginSocial2faNeeded: + wooEvent = WooAnalyticsStat.loginSocial2faNeeded + case .loginSocialAccountsNeedConnecting: + wooEvent = WooAnalyticsStat.loginSocialAccountsNeedConnecting + case .loginSocialErrorUnknownUser: + wooEvent = WooAnalyticsStat.loginSocialErrorUnknownUser + case .onePasswordFailed: + wooEvent = WooAnalyticsStat.onePasswordFailed + case .onePasswordLogin: + wooEvent = WooAnalyticsStat.onePasswordLogin + case .onePasswordSignup: + wooEvent = WooAnalyticsStat.onePasswordSignup + case .twoFactorCodeRequested: + wooEvent = WooAnalyticsStat.twoFactorCodeRequested + case .twoFactorSentSMS: + wooEvent = WooAnalyticsStat.twoFactorSentSMS + default: + wooEvent = nil + } + + return wooEvent + } } +#endif // MARK: - In-app Feedback and Survey diff --git a/WooCommerce/Classes/Authentication/Jetpack Setup/Native Jetpack Setup/JetpackSetupInterruptedView.swift b/WooCommerce/Classes/Authentication/Jetpack Setup/Native Jetpack Setup/JetpackSetupInterruptedView.swift index 14c990a76ca..3e687602ec5 100644 --- a/WooCommerce/Classes/Authentication/Jetpack Setup/Native Jetpack Setup/JetpackSetupInterruptedView.swift +++ b/WooCommerce/Classes/Authentication/Jetpack Setup/Native Jetpack Setup/JetpackSetupInterruptedView.swift @@ -1,4 +1,5 @@ import SwiftUI +import struct WooFoundation.ScrollableVStack /// View to be displayed when the Jetpack connection flow is dismissed. /// This screen is used only in the Jetpack setup flow for non-JCP sites. diff --git a/WooCommerce/Classes/Extensions/String+Helpers.swift b/WooCommerce/Classes/Extensions/String+Helpers.swift index 902b437a65d..c75da1bc2a4 100644 --- a/WooCommerce/Classes/Extensions/String+Helpers.swift +++ b/WooCommerce/Classes/Extensions/String+Helpers.swift @@ -5,71 +5,6 @@ import UIKit /// String: Helper Methods /// extension String { - - /// Helper method to provide the singular or plural (formatted) version of a - /// string based on a count. - /// - /// - Parameters: - /// - count: Number of 'things' in the string - /// - singular: Singular version of localized string — used if `count` is 1 - /// - plural: Plural version of localized string — used if `count` is greater than 1 - /// - Returns: Singular or plural version of string based on `count` param - /// - /// NOTE: String params _must_ include `%ld` placeholder (count will be placed there). - /// - static func pluralize(_ count: Int, singular: String, plural: String) -> String { - if count == 1 { - return String.localizedStringWithFormat(singular, count) - } else { - return String.localizedStringWithFormat(plural, count) - } - } - - /// Helper method to provide the singular or plural (formatted) version of a - /// string based on a count. - /// - /// - Parameters: - /// - count: Number of 'things' in the string - /// - singular: Singular version of localized string — used if `count` is 1 - /// - plural: Plural version of localized string — used if `count` is greater than 1 - /// - Returns: Singular or plural version of string based on `count` param - /// - /// NOTE: String params _must_ include `%@` placeholder (count will be placed there). - /// - static func pluralize(_ count: Decimal, singular: String, plural: String) -> String { - let stringCount = NSDecimalNumber(decimal: count).stringValue - - if count > 0 && count < 1 || count == 1 { - return String.localizedStringWithFormat(singular, stringCount) - } else { - return String.localizedStringWithFormat(plural, stringCount) - } - } - - /// Helper method to remove the last newline character in a given string. - /// - /// - Parameters: - /// - string: the string to format - /// - Returns: a string with the newline character removed, if the - /// newline character is the last character in the string. - /// - static func stripLastNewline(in string: String) -> String { - var newText = string - let lastChar = newText.suffix(1) - - let newline = String(lastChar) - if newline == "\n" { - newText.removeSuffix(newline) - } - - return newText - } - - /// A Boolean value indicating whether a string has characters. - var isNotEmpty: Bool { - return !isEmpty - } - /// Get quotation marks from Locale static var quotes: (String, String) { guard diff --git a/WooCommerce/Classes/Extensions/String+ProductQuantityRules.swift b/WooCommerce/Classes/Extensions/String+ProductQuantityRules.swift index 4adfd665547..cb91c4f2e10 100644 --- a/WooCommerce/Classes/Extensions/String+ProductQuantityRules.swift +++ b/WooCommerce/Classes/Extensions/String+ProductQuantityRules.swift @@ -1,4 +1,5 @@ import Foundation +import WooFoundation extension String { /// Returns whether the product quantity rule (e.g. mininum or maximum quantities the product can be ordered) has a valid value diff --git a/WooCommerce/Classes/GoogleAds/GoogleAdsEligibilityChecker.swift b/WooCommerce/Classes/GoogleAds/GoogleAdsEligibilityChecker.swift index 5e9a3586502..c94fa1b7efc 100644 --- a/WooCommerce/Classes/GoogleAds/GoogleAdsEligibilityChecker.swift +++ b/WooCommerce/Classes/GoogleAds/GoogleAdsEligibilityChecker.swift @@ -1,6 +1,7 @@ import Foundation import Experiments import Yosemite +import class WooFoundation.VersionHelpers /// Interface for checking if a site is eligible for creating Google ads campaigns from the app. /// diff --git a/WooCommerce/Classes/Model/BetaFeature.swift b/WooCommerce/Classes/Model/BetaFeature.swift index 65eed07cf3d..e4325c630a4 100644 --- a/WooCommerce/Classes/Model/BetaFeature.swift +++ b/WooCommerce/Classes/Model/BetaFeature.swift @@ -2,6 +2,7 @@ import Combine import Foundation import Storage import protocol WooFoundation.WooAnalyticsEventPropertyType +import WooFoundationCore enum BetaFeature: String, CaseIterable { case viewAddOns diff --git a/WooCommerce/Classes/POS/Card Present Payments/CardPresentPaymentBluetoothReaderConnectionAlertsProvider.swift b/WooCommerce/Classes/POS/Adaptors/Card Present Payments/CardPresentPaymentBluetoothReaderConnectionAlertsProvider.swift similarity index 100% rename from WooCommerce/Classes/POS/Card Present Payments/CardPresentPaymentBluetoothReaderConnectionAlertsProvider.swift rename to WooCommerce/Classes/POS/Adaptors/Card Present Payments/CardPresentPaymentBluetoothReaderConnectionAlertsProvider.swift diff --git a/WooCommerce/Classes/POS/Card Present Payments/CardPresentPaymentCollectOrderPaymentUseCaseAdaptor.swift b/WooCommerce/Classes/POS/Adaptors/Card Present Payments/CardPresentPaymentCollectOrderPaymentUseCaseAdaptor.swift similarity index 100% rename from WooCommerce/Classes/POS/Card Present Payments/CardPresentPaymentCollectOrderPaymentUseCaseAdaptor.swift rename to WooCommerce/Classes/POS/Adaptors/Card Present Payments/CardPresentPaymentCollectOrderPaymentUseCaseAdaptor.swift diff --git a/WooCommerce/Classes/POS/Card Present Payments/CardPresentPaymentInvalidatablePaymentOrchestrator.swift b/WooCommerce/Classes/POS/Adaptors/Card Present Payments/CardPresentPaymentInvalidatablePaymentOrchestrator.swift similarity index 100% rename from WooCommerce/Classes/POS/Card Present Payments/CardPresentPaymentInvalidatablePaymentOrchestrator.swift rename to WooCommerce/Classes/POS/Adaptors/Card Present Payments/CardPresentPaymentInvalidatablePaymentOrchestrator.swift diff --git a/WooCommerce/Classes/POS/Card Present Payments/CardPresentPaymentOnboardingAdaptor.swift b/WooCommerce/Classes/POS/Adaptors/Card Present Payments/CardPresentPaymentOnboardingAdaptor.swift similarity index 85% rename from WooCommerce/Classes/POS/Card Present Payments/CardPresentPaymentOnboardingAdaptor.swift rename to WooCommerce/Classes/POS/Adaptors/Card Present Payments/CardPresentPaymentOnboardingAdaptor.swift index 7009da94612..a1b2419dbb3 100644 --- a/WooCommerce/Classes/POS/Card Present Payments/CardPresentPaymentOnboardingAdaptor.swift +++ b/WooCommerce/Classes/POS/Adaptors/Card Present Payments/CardPresentPaymentOnboardingAdaptor.swift @@ -46,9 +46,15 @@ final class CardPresentPaymentsOnboardingPresenterAdaptor: CardPresentPaymentsOn } private func showOnboarding(readyToCollectPayment completion: @escaping () -> Void) { - onboardingScreenViewModelSubject.send(.showOnboarding(viewModel: onboardingViewModel, onCancel: { [weak self] in - self?.readinessSubscription = nil - })) + let onboardingViewModel = self.onboardingViewModel + onboardingScreenViewModelSubject.send(.showOnboarding( + factory: .init( + configuration: onboardingViewModel, + view: CardPresentPaymentsOnboardingView(viewModel: onboardingViewModel)), + onCancel: { [weak self] in + self?.readinessSubscription = nil + }) + ) readinessSubscription = readinessUseCase.$readiness .subscribe(on: DispatchQueue.main) @@ -70,3 +76,5 @@ final class CardPresentPaymentsOnboardingPresenterAdaptor: CardPresentPaymentsOn onboardingUseCase.refreshIfNecessary() } } + +extension CardPresentPaymentsOnboardingViewModel: CardPresentPaymentsOnboardingViewConfiguration {} diff --git a/WooCommerce/Classes/POS/Card Present Payments/CardPresentPaymentPreflightAdaptor.swift b/WooCommerce/Classes/POS/Adaptors/Card Present Payments/CardPresentPaymentPreflightAdaptor.swift similarity index 100% rename from WooCommerce/Classes/POS/Card Present Payments/CardPresentPaymentPreflightAdaptor.swift rename to WooCommerce/Classes/POS/Adaptors/Card Present Payments/CardPresentPaymentPreflightAdaptor.swift diff --git a/WooCommerce/Classes/POS/Card Present Payments/CardPresentPaymentService.swift b/WooCommerce/Classes/POS/Adaptors/Card Present Payments/CardPresentPaymentService.swift similarity index 98% rename from WooCommerce/Classes/POS/Card Present Payments/CardPresentPaymentService.swift rename to WooCommerce/Classes/POS/Adaptors/Card Present Payments/CardPresentPaymentService.swift index f713eab1086..32062a73f7a 100644 --- a/WooCommerce/Classes/POS/Card Present Payments/CardPresentPaymentService.swift +++ b/WooCommerce/Classes/POS/Adaptors/Card Present Payments/CardPresentPaymentService.swift @@ -51,8 +51,8 @@ final class CardPresentPaymentService: CardPresentPaymentFacade { paymentEventPublisher = onboardingAdaptor.onboardingScreenViewModelPublisher .map { onboardingEvent -> CardPresentPaymentEvent in switch onboardingEvent { - case let .showOnboarding(onboardingViewModel, onCancel): - return .showOnboarding(onboardingViewModel: onboardingViewModel, onCancel: onCancel) + case let .showOnboarding(factory, onCancel): + return .showOnboarding(factory: factory, onCancel: onCancel) case .onboardingComplete: return .idle } diff --git a/WooCommerce/Classes/POS/Card Present Payments/CardPresentPaymentTapToPayReaderConnectionAlertsProvider.swift b/WooCommerce/Classes/POS/Adaptors/Card Present Payments/CardPresentPaymentTapToPayReaderConnectionAlertsProvider.swift similarity index 100% rename from WooCommerce/Classes/POS/Card Present Payments/CardPresentPaymentTapToPayReaderConnectionAlertsProvider.swift rename to WooCommerce/Classes/POS/Adaptors/Card Present Payments/CardPresentPaymentTapToPayReaderConnectionAlertsProvider.swift diff --git a/WooCommerce/Classes/POS/Card Present Payments/CardPresentPaymentsAlertPresenterAdaptor.swift b/WooCommerce/Classes/POS/Adaptors/Card Present Payments/CardPresentPaymentsAlertPresenterAdaptor.swift similarity index 100% rename from WooCommerce/Classes/POS/Card Present Payments/CardPresentPaymentsAlertPresenterAdaptor.swift rename to WooCommerce/Classes/POS/Adaptors/Card Present Payments/CardPresentPaymentsAlertPresenterAdaptor.swift diff --git a/WooCommerce/Classes/POS/Card Present Payments/CardPresentPaymentsConnectionControllerManager.swift b/WooCommerce/Classes/POS/Adaptors/Card Present Payments/CardPresentPaymentsConnectionControllerManager.swift similarity index 100% rename from WooCommerce/Classes/POS/Card Present Payments/CardPresentPaymentsConnectionControllerManager.swift rename to WooCommerce/Classes/POS/Adaptors/Card Present Payments/CardPresentPaymentsConnectionControllerManager.swift diff --git a/WooCommerce/Classes/POS/Card Present Payments/CardPresentPaymentsTransactionAlertsProvider.swift b/WooCommerce/Classes/POS/Adaptors/Card Present Payments/CardPresentPaymentsTransactionAlertsProvider.swift similarity index 100% rename from WooCommerce/Classes/POS/Card Present Payments/CardPresentPaymentsTransactionAlertsProvider.swift rename to WooCommerce/Classes/POS/Adaptors/Card Present Payments/CardPresentPaymentsTransactionAlertsProvider.swift diff --git a/WooCommerce/Classes/POS/Analytics/POSCollectOrderPaymentAnalytics.swift b/WooCommerce/Classes/POS/Adaptors/POSCollectOrderPaymentAnalyticsAdaptor.swift similarity index 93% rename from WooCommerce/Classes/POS/Analytics/POSCollectOrderPaymentAnalytics.swift rename to WooCommerce/Classes/POS/Adaptors/POSCollectOrderPaymentAnalyticsAdaptor.swift index b8fb64b85bc..bf06ce8f042 100644 --- a/WooCommerce/Classes/POS/Analytics/POSCollectOrderPaymentAnalytics.swift +++ b/WooCommerce/Classes/POS/Adaptors/POSCollectOrderPaymentAnalyticsAdaptor.swift @@ -2,7 +2,9 @@ import Foundation import protocol WooFoundation.Analytics import Yosemite -final class POSCollectOrderPaymentAnalytics: POSCollectOrderPaymentAnalyticsTracking { +/// Overrides the default event tracking for card present payments on IPP in Order Creation flow +/// +final class POSCollectOrderPaymentAnalyticsAdaptor: POSCollectOrderPaymentAnalyticsTracking, CollectOrderPaymentAnalyticsTracking { private var customerInteractionStarted: Double = 0 private var orderSync: Double = 0 private var cardReaderReady: Double = 0 @@ -10,7 +12,7 @@ final class POSCollectOrderPaymentAnalytics: POSCollectOrderPaymentAnalyticsTrac private var checkoutTapCount: Int = 0 private var hasTrackedProcessingPayment = false - private let analytics: Analytics + private let analytics: POSAnalyticsProviding private var paymentGatewayAccount: PaymentGatewayAccount? private let configuration: CardPresentPaymentsConfiguration @@ -19,7 +21,7 @@ final class POSCollectOrderPaymentAnalytics: POSCollectOrderPaymentAnalyticsTrac connectedReader?.readerType.model } - init(analytics: Analytics = ServiceLocator.analytics, + init(analytics: POSAnalyticsProviding, configuration: CardPresentPaymentsConfiguration = CardPresentConfigurationLoader().configuration) { self.analytics = analytics self.configuration = configuration @@ -128,7 +130,7 @@ final class POSCollectOrderPaymentAnalytics: POSCollectOrderPaymentAnalyticsTrac } // Helpers -private extension POSCollectOrderPaymentAnalytics { +private extension POSCollectOrderPaymentAnalyticsAdaptor { func trackCurrentTime() -> Double { Date().timeIntervalSince1970 } diff --git a/WooCommerce/Classes/POS/Adaptors/POSServiceLocatorAdaptor.swift b/WooCommerce/Classes/POS/Adaptors/POSServiceLocatorAdaptor.swift new file mode 100644 index 00000000000..8a0fc72d466 --- /dev/null +++ b/WooCommerce/Classes/POS/Adaptors/POSServiceLocatorAdaptor.swift @@ -0,0 +1,87 @@ +import SwiftUI +import WooFoundationCore +import WooFoundation +import Yosemite +import protocol Experiments.FeatureFlagService +import enum Experiments.FeatureFlag +import protocol Storage.StorageManagerType + +final class POSServiceLocatorAdaptor: POSDependencyProviding { + var analytics: POSAnalyticsProviding { + POSAnalyticsAdaptor() + } + + var currency: POSCurrencySettingsProviding { + POSCurrencySettingsAdaptor() + } + + var featureFlags: POSFeatureFlagProviding { + POSFeatureFlagAdaptor() + } + + var connectivity: POSConnectivityProviding { + POSConnectivityAdaptor() + } + + var externalNavigation: POSExternalNavigationProviding { + POSExternalNavigationAdaptor() + } + + var externalViews: POSExternalViewProviding { + POSExternalViewAdaptor() + } +} + +// MARK: - Individual Service Adaptors + +private struct POSAnalyticsAdaptor: POSAnalyticsProviding { + func track(event: WooAnalyticsEvent) { + ServiceLocator.analytics.track(event: event) + } + + func track(_ stat: WooAnalyticsStat) { + track(stat, parameters: [:]) + } + + func track(_ stat: WooAnalyticsStat, parameters: [String: WooAnalyticsEventPropertyType] = [:]) { + ServiceLocator.analytics.track(stat, withProperties: parameters) + } + + func track(_ stat: WooAnalyticsStat, parameters: [String: WooAnalyticsEventPropertyType] = [:], error: Error) { + ServiceLocator.analytics.track(stat, properties: parameters, error: error) + } +} + +private struct POSCurrencySettingsAdaptor: POSCurrencySettingsProviding { + var currencySettings: CurrencySettings { + ServiceLocator.currencySettings + } +} + +private struct POSFeatureFlagAdaptor: POSFeatureFlagProviding { + func isFeatureFlagEnabled(_ flag: FeatureFlag) -> Bool { + ServiceLocator.featureFlagService.isFeatureFlagEnabled(flag) + } +} + +private struct POSConnectivityAdaptor: POSConnectivityProviding { + var connectivityObserver: ConnectivityObserver { + ServiceLocator.connectivityObserver + } +} + +private struct POSExternalNavigationAdaptor: POSExternalNavigationProviding { + func navigateToCreateOrder() { + AppDelegate.shared.tabBarController?.navigate(to: OrdersDestination.createOrder) + } +} + +private struct POSExternalViewAdaptor: POSExternalViewProviding { + func createSupportFormView(isPresented: Binding, sourceTag: String) -> AnyView { + AnyView( + SupportForm(isPresented: isPresented, + viewModel: SupportFormViewModel(sourceTag: sourceTag, + defaultSite: ServiceLocator.stores.sessionManager.defaultSite)) + ) + } +} diff --git a/WooCommerce/Classes/POS/Analytics/POSCollectOrderPaymentAnalyticsTracking.swift b/WooCommerce/Classes/POS/Analytics/POSCollectOrderPaymentAnalyticsTracking.swift index 5dd4699bc9b..cbe1c90aebd 100644 --- a/WooCommerce/Classes/POS/Analytics/POSCollectOrderPaymentAnalyticsTracking.swift +++ b/WooCommerce/Classes/POS/Analytics/POSCollectOrderPaymentAnalyticsTracking.swift @@ -1,4 +1,4 @@ -protocol POSCollectOrderPaymentAnalyticsTracking: CollectOrderPaymentAnalyticsTracking { +protocol POSCollectOrderPaymentAnalyticsTracking { func trackCustomerInteractionStarted() func trackOrderSyncSuccess() func trackCardReaderReady() diff --git a/WooCommerce/Classes/POS/Analytics/POSItemFetchAnalytics.swift b/WooCommerce/Classes/POS/Analytics/POSItemFetchAnalytics.swift index f845bcc673b..50c8ef394b2 100644 --- a/WooCommerce/Classes/POS/Analytics/POSItemFetchAnalytics.swift +++ b/WooCommerce/Classes/POS/Analytics/POSItemFetchAnalytics.swift @@ -8,13 +8,13 @@ struct POSItemFetchAnalytics: POSItemFetchAnalyticsTracking { /// The type of item being fetched private let itemType: POSItemType /// The analytics service to use for tracking - private let analytics: Analytics + private let analytics: POSAnalyticsProviding /// Creates a new analytics tracker for the given item type /// - Parameters: /// - itemType: The type of item being fetched (e.g. "product", "variation") - /// - analytics: The analytics service to use for tracking. Defaults to ServiceLocator.analytics - init(itemType: POSItemType, analytics: Analytics = ServiceLocator.analytics) { + /// - analytics: The analytics service to use for tracking. + init(itemType: POSItemType, analytics: POSAnalyticsProviding) { self.itemType = itemType self.analytics = analytics } diff --git a/WooCommerce/Classes/POS/Card Present Payments/CardPresentPaymentError.swift b/WooCommerce/Classes/POS/Card Present Payments/CardPresentPaymentError.swift deleted file mode 100644 index 66c38f1d86f..00000000000 --- a/WooCommerce/Classes/POS/Card Present Payments/CardPresentPaymentError.swift +++ /dev/null @@ -1,10 +0,0 @@ -import Foundation - -enum CardPresentPaymentError: Error { - var retryApproach: CardPaymentRetryApproach { - .restart - } - - case unknownPaymentError(underlyingError: Error) - case unknownConnectionError(UnderlyingError: Error) -} diff --git a/WooCommerce/Classes/POS/Card Present Payments/CardPresentPaymentEvent.swift b/WooCommerce/Classes/POS/Card Present Payments/CardPresentPaymentEvent.swift index 38e21cf00a1..0e0da4391cd 100644 --- a/WooCommerce/Classes/POS/Card Present Payments/CardPresentPaymentEvent.swift +++ b/WooCommerce/Classes/POS/Card Present Payments/CardPresentPaymentEvent.swift @@ -3,5 +3,5 @@ import Foundation enum CardPresentPaymentEvent { case idle case show(eventDetails: CardPresentPaymentEventDetails) - case showOnboarding(onboardingViewModel: CardPresentPaymentsOnboardingViewModel, onCancel: () -> Void) + case showOnboarding(factory: CardPresentPaymentOnboardingViewContainer, onCancel: () -> Void) } diff --git a/WooCommerce/Classes/POS/Card Present Payments/CardPresentPaymentOnboardingPresentationEvent.swift b/WooCommerce/Classes/POS/Card Present Payments/CardPresentPaymentOnboardingPresentationEvent.swift index eba0d66548d..3fb9d815809 100644 --- a/WooCommerce/Classes/POS/Card Present Payments/CardPresentPaymentOnboardingPresentationEvent.swift +++ b/WooCommerce/Classes/POS/Card Present Payments/CardPresentPaymentOnboardingPresentationEvent.swift @@ -1,6 +1,6 @@ import Foundation enum CardPresentPaymentOnboardingPresentationEvent { - case showOnboarding(viewModel: CardPresentPaymentsOnboardingViewModel, onCancel: () -> Void) + case showOnboarding(factory: CardPresentPaymentOnboardingViewContainer, onCancel: () -> Void) case onboardingComplete } diff --git a/WooCommerce/Classes/POS/Controllers/POSEntryPointController.swift b/WooCommerce/Classes/POS/Controllers/POSEntryPointController.swift index 960d1c25e42..efa2ed34656 100644 --- a/WooCommerce/Classes/POS/Controllers/POSEntryPointController.swift +++ b/WooCommerce/Classes/POS/Controllers/POSEntryPointController.swift @@ -4,10 +4,10 @@ import protocol Experiments.FeatureFlagService @Observable final class POSEntryPointController { private(set) var eligibilityState: POSEligibilityState? private let posEligibilityChecker: POSEntryPointEligibilityCheckerProtocol - private let featureFlagService: FeatureFlagService + private let featureFlagService: POSFeatureFlagProviding init(eligibilityChecker: POSEntryPointEligibilityCheckerProtocol, - featureFlagService: FeatureFlagService = ServiceLocator.featureFlagService) { + featureFlagService: POSFeatureFlagProviding) { self.posEligibilityChecker = eligibilityChecker self.featureFlagService = featureFlagService diff --git a/WooCommerce/Classes/POS/Controllers/PointOfSaleCouponsController.swift b/WooCommerce/Classes/POS/Controllers/PointOfSaleCouponsController.swift index 7337290eb9b..abfd33d16ee 100644 --- a/WooCommerce/Classes/POS/Controllers/PointOfSaleCouponsController.swift +++ b/WooCommerce/Classes/POS/Controllers/PointOfSaleCouponsController.swift @@ -21,13 +21,16 @@ protocol PointOfSaleCouponsControllerProtocol: PointOfSaleSearchingItemsControll private let couponProvider: PointOfSaleCouponServiceProtocol private let fetchStrategyFactory: PointOfSaleCouponFetchStrategyFactory private var fetchStrategy: PointOfSaleCouponFetchStrategy + private let analyticsProvider: POSAnalyticsProviding init(itemProvider: PointOfSaleCouponServiceProtocol, - fetchStrategyFactory: PointOfSaleCouponFetchStrategyFactory) { + fetchStrategyFactory: PointOfSaleCouponFetchStrategyFactory, + analyticsProvider: POSAnalyticsProviding) { self.couponProvider = itemProvider self.fetchStrategyFactory = fetchStrategyFactory self.fetchStrategy = fetchStrategyFactory.defaultStrategy self.paginationTracker = .init() + self.analyticsProvider = analyticsProvider } @MainActor @@ -42,7 +45,8 @@ protocol PointOfSaleCouponsControllerProtocol: PointOfSaleSearchingItemsControll @MainActor func searchItems(searchTerm: String, baseItem: ItemListBaseItem) async { - fetchStrategy = fetchStrategyFactory.searchStrategy(searchTerm: searchTerm, analytics: POSItemFetchAnalytics(itemType: .coupon)) + fetchStrategy = fetchStrategyFactory.searchStrategy(searchTerm: searchTerm, + analytics: POSItemFetchAnalytics(itemType: .coupon, analytics: analyticsProvider)) setSearchingState() await loadFirstPage() } diff --git a/WooCommerce/Classes/POS/Controllers/PointOfSaleItemsController.swift b/WooCommerce/Classes/POS/Controllers/PointOfSaleItemsController.swift index 07f5455ba75..9abb678812d 100644 --- a/WooCommerce/Classes/POS/Controllers/PointOfSaleItemsController.swift +++ b/WooCommerce/Classes/POS/Controllers/PointOfSaleItemsController.swift @@ -10,7 +10,6 @@ import struct Yosemite.POSVariableParentProduct import class Yosemite.Store import enum Yosemite.POSItemType - protocol PointOfSaleItemsControllerProtocol { /// var itemsViewState: ItemsViewState { get } @@ -36,17 +35,21 @@ protocol PointOfSaleSearchingItemsControllerProtocol: PointOfSaleItemsController private var itemProvider: PointOfSaleItemServiceProtocol private let itemFetchStrategyFactory: PointOfSaleItemFetchStrategyFactoryProtocol private var fetchStrategy: PointOfSalePurchasableItemFetchStrategy + private let analyticsProvider: POSAnalyticsProviding init(itemProvider: PointOfSaleItemServiceProtocol, itemFetchStrategyFactory: PointOfSaleItemFetchStrategyFactoryProtocol, initialState: ItemsViewState = ItemsViewState(containerState: .loading, itemsStack: ItemsStackState(root: .loading([]), - itemStates: [:]))) { + itemStates: [:])), + analyticsProvider: POSAnalyticsProviding) { self.itemProvider = itemProvider self.itemFetchStrategyFactory = itemFetchStrategyFactory self.itemsViewState = initialState self.paginationTracker = .init() - self.fetchStrategy = itemFetchStrategyFactory.defaultStrategy(analytics: POSItemFetchAnalytics(itemType: .product)) + self.analyticsProvider = analyticsProvider + self.fetchStrategy = itemFetchStrategyFactory.defaultStrategy(analytics: POSItemFetchAnalytics(itemType: .product, + analytics: analyticsProvider)) } @MainActor @@ -63,7 +66,8 @@ protocol PointOfSaleSearchingItemsControllerProtocol: PointOfSaleItemsController @MainActor func searchItems(searchTerm: String, baseItem: ItemListBaseItem) async { fetchStrategy = itemFetchStrategyFactory.searchStrategy(searchTerm: searchTerm, - analytics: POSItemFetchAnalytics(itemType: .product)) + analytics: POSItemFetchAnalytics(itemType: .product, + analytics: analyticsProvider)) setSearchingState(base: baseItem) await loadFirstPage(base: baseItem) } diff --git a/WooCommerce/Classes/POS/Controllers/PointOfSaleOrderController.swift b/WooCommerce/Classes/POS/Controllers/PointOfSaleOrderController.swift index e3eb8f3a060..fdc704ad42a 100644 --- a/WooCommerce/Classes/POS/Controllers/PointOfSaleOrderController.swift +++ b/WooCommerce/Classes/POS/Controllers/PointOfSaleOrderController.swift @@ -1,7 +1,10 @@ import Foundation import Observation -import protocol Yosemite.StoresManager +import protocol Experiments.FeatureFlagService +import class WooFoundation.VersionHelpers import protocol Yosemite.POSOrderServiceProtocol +import protocol Yosemite.POSReceiptServiceProtocol +import protocol Yosemite.PluginsServiceProtocol import struct Yosemite.Order import struct Yosemite.POSCart import struct Yosemite.POSCartItem @@ -9,11 +12,14 @@ import struct Yosemite.POSCoupon import struct Yosemite.CouponsError import enum Yosemite.OrderAction import enum Yosemite.OrderUpdateField +import enum Yosemite.Plugin import class WooFoundation.CurrencyFormatter import class WooFoundation.CurrencySettings +import class Yosemite.PluginsService import enum WooFoundation.CurrencyCode import protocol WooFoundation.Analytics import enum Alamofire.AFError +import class Yosemite.OrderTotalsCalculator enum SyncOrderState { case newOrder @@ -37,31 +43,33 @@ protocol PointOfSaleOrderControllerProtocol { @Observable final class PointOfSaleOrderController: PointOfSaleOrderControllerProtocol { init(orderService: POSOrderServiceProtocol, receiptSender: POSReceiptSending, - stores: StoresManager = ServiceLocator.stores, - currencySettings: CurrencySettings = ServiceLocator.currencySettings, - analytics: Analytics = ServiceLocator.analytics, + currencySettingsProvider: POSCurrencySettingsProviding, + analytics: POSAnalyticsProviding, celebration: PaymentCaptureCelebrationProtocol = PaymentCaptureCelebration()) { self.orderService = orderService self.receiptSender = receiptSender - self.stores = stores - self.storeCurrency = currencySettings.currencyCode - self.currencyFormatter = CurrencyFormatter(currencySettings: currencySettings) + self.currencySettingsProvider = currencySettingsProvider self.analytics = analytics self.celebration = celebration } private let orderService: POSOrderServiceProtocol private let receiptSender: POSReceiptSending - - private let currencyFormatter: CurrencyFormatter + private let currencySettingsProvider: POSCurrencySettingsProviding private let celebration: PaymentCaptureCelebrationProtocol - private let storeCurrency: CurrencyCode - private let analytics: Analytics - private let stores: StoresManager + private let analytics: POSAnalyticsProviding private(set) var orderState: PointOfSaleInternalOrderState = .idle private var order: Order? = nil + private var currencyFormatter: CurrencyFormatter { + CurrencyFormatter(currencySettings: currencySettingsProvider.currencySettings) + } + + private var storeCurrency: CurrencyCode { + currencySettingsProvider.currencySettings.currencyCode + } + @MainActor @discardableResult func syncOrder(for cart: Cart, retryHandler: @escaping () async -> Void) async -> Result { @@ -172,8 +180,6 @@ private extension PointOfSaleOrderController { } } - - // MARK: - Error Handling private extension PointOfSaleOrderController { diff --git a/WooCommerce/Classes/Extensions/Error+Connectivity.swift b/WooCommerce/Classes/POS/Extensions/Error+Connectivity.swift similarity index 100% rename from WooCommerce/Classes/Extensions/Error+Connectivity.swift rename to WooCommerce/Classes/POS/Extensions/Error+Connectivity.swift diff --git a/WooCommerce/Classes/POS/Extensions/UIImage+POS.swift b/WooCommerce/Classes/POS/Extensions/UIImage+POS.swift new file mode 100644 index 00000000000..5739d3b67af --- /dev/null +++ b/WooCommerce/Classes/POS/Extensions/UIImage+POS.swift @@ -0,0 +1,18 @@ +import UIKit + +/// Point of Sale specific UIImage extensions +/// Contains only the UIImage extensions needed by the POS module to minimize external dependencies +extension UIImage { + + /// Card Reader Update arrow - used in reader update progress + /// + static var posCardReaderUpdateProgressArrow: UIImage { + return UIImage(named: "card-reader-update-progress-arrow", in: .main, compatibleWith: nil)! + } + + /// Card Reader Update checkmark - used in reader update progress completion + /// + static var posCardReaderUpdateProgressCheckmark: UIImage { + return UIImage(named: "card-reader-update-progress-checkmark", in: .main, compatibleWith: nil)! + } +} diff --git a/WooCommerce/Classes/POS/Models/POSIneligibleReason.swift b/WooCommerce/Classes/POS/Models/POSIneligibleReason.swift new file mode 100644 index 00000000000..5c93a077e43 --- /dev/null +++ b/WooCommerce/Classes/POS/Models/POSIneligibleReason.swift @@ -0,0 +1,20 @@ +import Foundation +import enum WooFoundation.CountryCode +import enum WooFoundation.CurrencyCode + +/// Represents the reasons why a site may be ineligible for POS. +enum POSIneligibleReason: Equatable { + case unsupportedIOSVersion + case unsupportedWooCommerceVersion(minimumVersion: String) + case siteSettingsNotAvailable + case wooCommercePluginNotFound + case featureSwitchDisabled + case unsupportedCurrency(countryCode: CountryCode, supportedCurrencies: [CurrencyCode]) + case selfDeallocated +} + +/// Represents the eligibility state for POS. +enum POSEligibilityState: Equatable { + case eligible + case ineligible(reason: POSIneligibleReason) +} diff --git a/WooCommerce/Classes/POS/Models/PointOfSaleAggregateModel.swift b/WooCommerce/Classes/POS/Models/PointOfSaleAggregateModel.swift index 4e4a6ec85ec..d3f845951fe 100644 --- a/WooCommerce/Classes/POS/Models/PointOfSaleAggregateModel.swift +++ b/WooCommerce/Classes/POS/Models/PointOfSaleAggregateModel.swift @@ -23,7 +23,6 @@ protocol PointOfSaleAggregateModelProtocol { var paymentState: PointOfSalePaymentState { get } var cardPresentPaymentAlertViewModel: PointOfSaleCardPresentPaymentAlertType? { get set } var cardPresentPaymentInlineMessage: PointOfSaleCardPresentPaymentMessageType? { get } - var cardPresentPaymentOnboardingViewModel: CardPresentPaymentsOnboardingViewModel? { get set } func cancelCardPaymentsOnboarding() func trackCardPaymentsOnboardingShown() @@ -56,7 +55,7 @@ protocol PointOfSaleAggregateModelProtocol { private(set) var paymentState: PointOfSalePaymentState var cardPresentPaymentAlertViewModel: PointOfSaleCardPresentPaymentAlertType? private(set) var cardPresentPaymentInlineMessage: PointOfSaleCardPresentPaymentMessageType? - var cardPresentPaymentOnboardingViewModel: CardPresentPaymentsOnboardingViewModel? + var cardPresentPaymentOnboardingViewContainer: CardPresentPaymentOnboardingViewContainer? private var onOnboardingCancellation: (() -> Void)? private(set) var cart: Cart = .init() @@ -74,7 +73,7 @@ protocol PointOfSaleAggregateModelProtocol { private let cardPresentPaymentService: CardPresentPaymentFacade private let orderController: PointOfSaleOrderControllerProtocol - private let analytics: Analytics + private let analytics: POSAnalyticsProviding private let collectOrderPaymentAnalyticsTracker: POSCollectOrderPaymentAnalyticsTracking let searchHistoryService: POSSearchHistoryProviding private let barcodeScanService: PointOfSaleBarcodeScanServiceProtocol @@ -107,7 +106,7 @@ protocol PointOfSaleAggregateModelProtocol { cardPresentPaymentService: CardPresentPaymentFacade, orderController: PointOfSaleOrderControllerProtocol, settingsController: PointOfSaleSettingsControllerProtocol, - analytics: Analytics = ServiceLocator.analytics, + analytics: POSAnalyticsProviding, collectOrderPaymentAnalyticsTracker: POSCollectOrderPaymentAnalyticsTracking, searchHistoryService: POSSearchHistoryProviding, popularPurchasableItemsController: PointOfSaleItemsControllerProtocol, @@ -323,7 +322,6 @@ extension PointOfSaleAggregateModel { } } - /// Starts a payment immediately if a reader is connected. /// Otherwise, schedules a payment to start the next time a reader connects. /// Note that any scheduled payments are cancelled by `cancelReaderPreparation` @@ -455,15 +453,15 @@ extension PointOfSaleAggregateModel { /// Called when the onboarding UI is dismissed. /// For external dismissal (tapping CTA to dismiss), this method is called twice - the first time to dismiss the onboarding UI - /// by setting `cardPresentPaymentOnboardingViewModel` to nil, the second time triggered by internal dismissal. + /// by setting `cardPresentPaymentOnboardingViewContainer` to nil, the second time triggered by internal dismissal. /// For internal dismissal (tapping outside the modal), this method is called once. /// This method is used to reset the internal state of the onboarding UI and track the dismissal event. func cancelCardPaymentsOnboarding() { - guard let onboardingViewModel = cardPresentPaymentOnboardingViewModel else { + guard let onboardingViewContainer = cardPresentPaymentOnboardingViewContainer else { return } - analytics.track(event: .PointOfSale.paymentsOnboardingDismissed(onboardingState: onboardingViewModel.state)) - cardPresentPaymentOnboardingViewModel = nil + analytics.track(event: .PointOfSale.paymentsOnboardingDismissed(onboardingState: onboardingViewContainer.configuration.state)) + cardPresentPaymentOnboardingViewContainer = nil onOnboardingCancellation?() } @@ -529,16 +527,16 @@ private extension PointOfSaleAggregateModel { .store(in: &cancellables) cardPresentPaymentService.paymentEventPublisher - .map { [weak self] event -> CardPresentPaymentsOnboardingViewModel? in + .map { [weak self] event -> CardPresentPaymentOnboardingViewContainer? in guard let self else { return nil } - guard case let .showOnboarding(viewModel, onCancel) = event else { + guard case let .showOnboarding(factory, onCancel) = event else { return nil } onOnboardingCancellation = onCancel - return viewModel + return factory } - .sink(receiveValue: { [weak self] onboardingViewModel in - self?.cardPresentPaymentOnboardingViewModel = onboardingViewModel + .sink(receiveValue: { [weak self] factory in + self?.cardPresentPaymentOnboardingViewContainer = factory }) .store(in: &cancellables) } diff --git a/WooCommerce/Classes/POS/Models/PointOfSaleSettingsController.swift b/WooCommerce/Classes/POS/Models/PointOfSaleSettingsController.swift index 6478cd455f5..b5a1165cc07 100644 --- a/WooCommerce/Classes/POS/Models/PointOfSaleSettingsController.swift +++ b/WooCommerce/Classes/POS/Models/PointOfSaleSettingsController.swift @@ -23,8 +23,8 @@ protocol PointOfSaleSettingsControllerProtocol { settingsService: PointOfSaleSettingsServiceProtocol, cardPresentPaymentService: CardPresentPaymentFacade, pluginsService: PluginsServiceProtocol, - defaultSiteName: String? = ServiceLocator.stores.sessionManager.defaultSite?.name, - siteSettings: [SiteSetting] = ServiceLocator.selectedSiteSettings.siteSettings) { + defaultSiteName: String?, + siteSettings: [SiteSetting]) { self.storeViewModel = POSSettingsStoreViewModel(siteID: siteID, settingsService: settingsService, pluginsService: pluginsService, diff --git a/WooCommerce/Classes/POS/Presentation/Barcode Scanner Setup/PointOfSaleBarcodeScannerButtonCustomization.swift b/WooCommerce/Classes/POS/Presentation/Barcode Scanner Setup/PointOfSaleBarcodeScannerButtonCustomization.swift new file mode 100644 index 00000000000..234db82f951 --- /dev/null +++ b/WooCommerce/Classes/POS/Presentation/Barcode Scanner Setup/PointOfSaleBarcodeScannerButtonCustomization.swift @@ -0,0 +1,31 @@ +import SwiftUI + +// MARK: - Button Customization Protocol +protocol PointOfSaleBarcodeScannerButtonCustomization { + func customizeButtons(for flow: PointOfSaleBarcodeScannerSetupFlow) -> PointOfSaleFlowButtonConfiguration +} + +// MARK: - Transition Types +public enum PointOfSaleBarcodeScannerTransitionType: Hashable { + case next + case retry + case back +} + +// MARK: - Setup Step +struct PointOfSaleBarcodeScannerSetupStep { + let title: String + let content: any View + let buttonCustomization: PointOfSaleBarcodeScannerButtonCustomization? + let transitions: [PointOfSaleBarcodeScannerTransitionType: PointOfSaleBarcodeScannerStepID] + + init(title: String = "", + @ViewBuilder content: () -> any View, + buttonCustomization: PointOfSaleBarcodeScannerButtonCustomization? = nil, + transitions: [PointOfSaleBarcodeScannerTransitionType: PointOfSaleBarcodeScannerStepID] = [:]) { + self.title = title + self.content = content() + self.buttonCustomization = buttonCustomization + self.transitions = transitions + } +} diff --git a/WooCommerce/Classes/POS/Presentation/Barcode Scanner Setup/PointOfSaleBarcodeScannerSetup.swift b/WooCommerce/Classes/POS/Presentation/Barcode Scanner Setup/PointOfSaleBarcodeScannerSetup.swift index 01b9d95bd51..ea4f942998c 100644 --- a/WooCommerce/Classes/POS/Presentation/Barcode Scanner Setup/PointOfSaleBarcodeScannerSetup.swift +++ b/WooCommerce/Classes/POS/Presentation/Barcode Scanner Setup/PointOfSaleBarcodeScannerSetup.swift @@ -4,10 +4,11 @@ struct PointOfSaleBarcodeScannerSetup: View { @Binding var isPresented: Bool @State private var flowManager: PointOfSaleBarcodeScannerSetupFlowManager @Environment(\.posModalParentSize) var parentSize + @Environment(\.posAnalytics) private var analytics - init(isPresented: Binding) { + init(isPresented: Binding, analytics: POSAnalyticsProviding) { self._isPresented = isPresented - self.flowManager = PointOfSaleBarcodeScannerSetupFlowManager(isPresented: isPresented) + self.flowManager = PointOfSaleBarcodeScannerSetupFlowManager(isPresented: isPresented, analytics: analytics) } var body: some View { @@ -38,7 +39,7 @@ struct PointOfSaleBarcodeScannerSetup: View { .background(Color.posSurfaceBright) } .onAppear { - ServiceLocator.analytics.track(.pointOfSaleBarcodeScannerSetupFlowShown) + analytics.track(.pointOfSaleBarcodeScannerSetupFlowShown) } .onDisappear { flowManager.onDisappear() @@ -117,9 +118,11 @@ private extension PointOfSaleBarcodeScannerSetup { // MARK: - Previews +#if DEBUG #Preview { - PointOfSaleBarcodeScannerSetup(isPresented: .constant(true)) + PointOfSaleBarcodeScannerSetup(isPresented: .constant(true), analytics: EmptyPOSAnalytics()) } +#endif /// A container view that animates changes in its child content with a fade-out and fade-in transition, /// while also smoothly animating changes in height. diff --git a/WooCommerce/Classes/POS/Presentation/Barcode Scanner Setup/PointOfSaleBarcodeScannerSetupFlow.swift b/WooCommerce/Classes/POS/Presentation/Barcode Scanner Setup/PointOfSaleBarcodeScannerSetupFlow.swift index 1168ebf1efb..0424010f950 100644 --- a/WooCommerce/Classes/POS/Presentation/Barcode Scanner Setup/PointOfSaleBarcodeScannerSetupFlow.swift +++ b/WooCommerce/Classes/POS/Presentation/Barcode Scanner Setup/PointOfSaleBarcodeScannerSetupFlow.swift @@ -1,5 +1,4 @@ import SwiftUI -import WooFoundation // MARK: - Point of Sale Barcode Scanner Setup Flow @Observable @@ -9,10 +8,10 @@ class PointOfSaleBarcodeScannerSetupFlow { fileprivate let onDismiss: () -> Void private var flowSteps: [PointOfSaleBarcodeScannerStepID: PointOfSaleBarcodeScannerSetupStep] = [:] private(set) var currentStepKey: PointOfSaleBarcodeScannerStepID = .setupBarcodeHID - private let analytics: Analytics + private let analytics: POSAnalyticsProviding init(scannerType: PointOfSaleBarcodeScannerType, - analytics: Analytics = ServiceLocator.analytics, + analytics: POSAnalyticsProviding, onBackToSelection: @escaping () -> Void, onDismiss: @escaping () -> Void) { self.scannerType = scannerType @@ -400,31 +399,31 @@ struct PointOfSaleBarcodeScannerProductBarcodeSetupInformationButtonCustomizatio private extension PointOfSaleBarcodeScannerSetupFlow { private func trackTestScanSuccess() { - analytics.track(event: WooAnalyticsEvent.PointOfSale.barcodeScannerSetupTestScanSuccess(scanner: scannerType)) + analytics.track(event: .PointOfSale.barcodeScannerSetupTestScanSuccess(scanner: scannerType)) } private func trackTestScanFailed(scanValue: String) { - analytics.track(event: WooAnalyticsEvent.PointOfSale.barcodeScannerSetupTestScanFailed(scanner: scannerType, scanValue: scanValue)) + analytics.track(event: .PointOfSale.barcodeScannerSetupTestScanFailed(scanner: scannerType, scanValue: scanValue)) } private func trackTestScanTimedOut() { - analytics.track(event: WooAnalyticsEvent.PointOfSale.barcodeScannerSetupTestScanTimedOut(scanner: scannerType)) + analytics.track(event: .PointOfSale.barcodeScannerSetupTestScanTimedOut(scanner: scannerType)) } private func trackSetupNext() { if let step = getCurrentAnalyticsStepValue() { - analytics.track(event: WooAnalyticsEvent.PointOfSale.barcodeScannerSetupNextTapped(scanner: scannerType, step: step)) + analytics.track(event: .PointOfSale.barcodeScannerSetupNextTapped(scanner: scannerType, step: step)) } } private func trackSetupBack() { if let step = getCurrentAnalyticsStepValue() { - analytics.track(event: WooAnalyticsEvent.PointOfSale.barcodeScannerSetupBackTapped(scanner: scannerType, step: step)) + analytics.track(event: .PointOfSale.barcodeScannerSetupBackTapped(scanner: scannerType, step: step)) } } private func trackRetry() { - analytics.track(event: WooAnalyticsEvent.PointOfSale.barcodeScannerSetupRetryTapped(scanner: scannerType)) + analytics.track(event: .PointOfSale.barcodeScannerSetupRetryTapped(scanner: scannerType)) } } diff --git a/WooCommerce/Classes/POS/Presentation/Barcode Scanner Setup/PointOfSaleBarcodeScannerSetupFlowManager.swift b/WooCommerce/Classes/POS/Presentation/Barcode Scanner Setup/PointOfSaleBarcodeScannerSetupFlowManager.swift index d79faba0003..cc104606a6a 100644 --- a/WooCommerce/Classes/POS/Presentation/Barcode Scanner Setup/PointOfSaleBarcodeScannerSetupFlowManager.swift +++ b/WooCommerce/Classes/POS/Presentation/Barcode Scanner Setup/PointOfSaleBarcodeScannerSetupFlowManager.swift @@ -8,14 +8,14 @@ class PointOfSaleBarcodeScannerSetupFlowManager { var currentState: PointOfSaleBarcodeScannerSetupFlowState = .scannerSelection @ObservationIgnored @Binding var isPresented: Bool private var currentFlow: PointOfSaleBarcodeScannerSetupFlow? - private let analytics: Analytics + private let analytics: POSAnalyticsProviding private var keyboardObserver: NSObjectProtocol? var currentStepKey: String? { currentFlow?.currentStepKey.rawValue } - init(isPresented: Binding, analytics: Analytics = ServiceLocator.analytics) { + init(isPresented: Binding, analytics: POSAnalyticsProviding) { self._isPresented = isPresented self.analytics = analytics setupKeyboardObserver() diff --git a/WooCommerce/Classes/POS/Presentation/Barcode Scanner Setup/PointOfSaleBarcodeScannerSetupModels.swift b/WooCommerce/Classes/POS/Presentation/Barcode Scanner Setup/PointOfSaleBarcodeScannerSetupModels.swift index c9c4e19cbdd..b2d396b8de7 100644 --- a/WooCommerce/Classes/POS/Presentation/Barcode Scanner Setup/PointOfSaleBarcodeScannerSetupModels.swift +++ b/WooCommerce/Classes/POS/Presentation/Barcode Scanner Setup/PointOfSaleBarcodeScannerSetupModels.swift @@ -107,36 +107,6 @@ enum PointOfSaleBarcodeScannerStepID: String, CaseIterable { } } -// MARK: - Button Customization Protocol -protocol PointOfSaleBarcodeScannerButtonCustomization { - func customizeButtons(for flow: PointOfSaleBarcodeScannerSetupFlow) -> PointOfSaleFlowButtonConfiguration -} - -// MARK: - Transition Types -enum PointOfSaleBarcodeScannerTransitionType: Hashable { - case next - case retry - case back -} - -// MARK: - Setup Step -struct PointOfSaleBarcodeScannerSetupStep { - let title: String - let content: any View - let buttonCustomization: PointOfSaleBarcodeScannerButtonCustomization? - let transitions: [PointOfSaleBarcodeScannerTransitionType: PointOfSaleBarcodeScannerStepID] - - init(title: String = "", - @ViewBuilder content: () -> any View, - buttonCustomization: PointOfSaleBarcodeScannerButtonCustomization? = nil, - transitions: [PointOfSaleBarcodeScannerTransitionType: PointOfSaleBarcodeScannerStepID] = [:]) { - self.title = title - self.content = content() - self.buttonCustomization = buttonCustomization - self.transitions = transitions - } -} - // MARK: - Test Barcodes enum PointOfSaleBarcodeScannerTestBarcode { case ean13 diff --git a/WooCommerce/Classes/POS/Presentation/Barcode Scanner Setup/PointOfSaleBarcodeScannerSetupStepViews.swift b/WooCommerce/Classes/POS/Presentation/Barcode Scanner Setup/PointOfSaleBarcodeScannerSetupStepViews.swift index 7f68b508f72..70f76eae3c8 100644 --- a/WooCommerce/Classes/POS/Presentation/Barcode Scanner Setup/PointOfSaleBarcodeScannerSetupStepViews.swift +++ b/WooCommerce/Classes/POS/Presentation/Barcode Scanner Setup/PointOfSaleBarcodeScannerSetupStepViews.swift @@ -46,6 +46,7 @@ extension PointOfSaleBarcodeScannerBarcodeView { } struct PointOfSaleBarcodeScannerPairingView: View { + @Environment(\.posAnalytics) private var analytics let scanner: PointOfSaleBarcodeScannerType var body: some View { @@ -67,7 +68,7 @@ struct PointOfSaleBarcodeScannerPairingView: View { } Button { - ServiceLocator.analytics.track(event: WooAnalyticsEvent.PointOfSale.barcodeScannerSetupOpenSystemSettingsTapped(scanner: scanner)) + analytics.track(event: WooAnalyticsEvent.PointOfSale.barcodeScannerSetupOpenSystemSettingsTapped(scanner: scanner)) guard let targetURL = URL(string: UIApplication.openSettingsURLString) else { return diff --git a/WooCommerce/Classes/POS/Presentation/Barcode Scanning/BarcodeAnalyticsTracker.swift b/WooCommerce/Classes/POS/Presentation/Barcode Scanning/BarcodeAnalyticsTracker.swift index f2dab05c96b..29f7e30decd 100644 --- a/WooCommerce/Classes/POS/Presentation/Barcode Scanning/BarcodeAnalyticsTracker.swift +++ b/WooCommerce/Classes/POS/Presentation/Barcode Scanning/BarcodeAnalyticsTracker.swift @@ -21,19 +21,25 @@ struct SystemVoiceOverStateProvider: VoiceOverStateProvider { /// Used by both GameControllerBarcodeObserver and UIKitBarcodeObserver to ensure consistent analytics. final class BarcodeAnalyticsTracker { + private let analytics: POSAnalyticsProviding + + init(analytics: POSAnalyticsProviding) { + self.analytics = analytics + } + /// Tracks analytics events for barcode scanning results. /// - Parameter result: The result of the barcode scanning operation func track(result: HIDBarcodeParserResult) { switch result { case .success(let barcode, let scanDurationMs): - ServiceLocator.analytics.track( + analytics.track( event: WooAnalyticsEvent.PointOfSale.barcodeScanningSuccess( scanDurationMs: scanDurationMs, barcodeLength: barcode.count ) ) case .failure(let error, let scanDurationMs): - ServiceLocator.analytics.track( + analytics.track( event: WooAnalyticsEvent.PointOfSale.barcodeScanningFailed( scanDurationMs: scanDurationMs, barcodeLength: error.barcode.count, diff --git a/WooCommerce/Classes/POS/Presentation/Barcode Scanning/BarcodeScannerContainer.swift b/WooCommerce/Classes/POS/Presentation/Barcode Scanning/BarcodeScannerContainer.swift index cf8a2b71d10..5f6bd0ad468 100644 --- a/WooCommerce/Classes/POS/Presentation/Barcode Scanning/BarcodeScannerContainer.swift +++ b/WooCommerce/Classes/POS/Presentation/Barcode Scanning/BarcodeScannerContainer.swift @@ -12,6 +12,8 @@ struct BarcodeScannerContainer: View { /// Callback that is triggered when a barcode scan completes (success or failure) let onScan: (Result) -> Void + @Environment(\.posAnalytics) private var analytics + init( configuration: HIDBarcodeParserConfiguration = .default, onScan: @escaping (Result) -> Void @@ -23,6 +25,7 @@ struct BarcodeScannerContainer: View { var body: some View { BarcodeScannerContainerRepresentable( configuration: configuration, + analytics: analytics, onScan: onScan ) .frame(width: 0, height: 0) @@ -36,11 +39,13 @@ struct BarcodeScannerContainer: View { /// keyboard input for barcode scanning. struct BarcodeScannerContainerRepresentable: UIViewControllerRepresentable { let configuration: HIDBarcodeParserConfiguration + let analytics: POSAnalyticsProviding let onScan: (Result) -> Void func makeUIViewController(context: Context) -> UIViewController { return GameControllerBarcodeScannerHostingController( configuration: configuration, + analytics: analytics, onScan: onScan ) } @@ -60,16 +65,19 @@ final class GameControllerBarcodeScannerHostingController: UIHostingController) -> Void private let voiceOverStateProvider: VoiceOverStateProvider + private let analytics: POSAnalyticsProviding // Public initializer for production use init( configuration: HIDBarcodeParserConfiguration, + analytics: POSAnalyticsProviding, onScan: @escaping (Result) -> Void, voiceOverStateProvider: VoiceOverStateProvider = SystemVoiceOverStateProvider() ) { self.configuration = configuration self.onScan = onScan self.voiceOverStateProvider = voiceOverStateProvider + self.analytics = analytics super.init(rootView: EmptyView()) setupInitialObserver() @@ -112,11 +120,13 @@ final class GameControllerBarcodeScannerHostingController: UIHostingController) -> Void, - analyticsTracker: BarcodeAnalyticsTracker = BarcodeAnalyticsTracker() - ) { + init(configuration: HIDBarcodeParserConfiguration = .default, + analytics: POSAnalyticsProviding, + onScan: @escaping (Result) -> Void) { self.onScan = onScan self.configuration = configuration - self.analyticsTracker = analyticsTracker + self.analyticsTracker = BarcodeAnalyticsTracker(analytics: analytics) addObservers() setupCoalescedKeyboard() } diff --git a/WooCommerce/Classes/POS/Presentation/Barcode Scanning/GameControllerBarcodeParser.swift b/WooCommerce/Classes/POS/Presentation/Barcode Scanning/GameControllerBarcodeParser.swift index 1438f9f4b02..3810c042f81 100644 --- a/WooCommerce/Classes/POS/Presentation/Barcode Scanning/GameControllerBarcodeParser.swift +++ b/WooCommerce/Classes/POS/Presentation/Barcode Scanning/GameControllerBarcodeParser.swift @@ -255,38 +255,3 @@ struct HIDBarcodeParserConfiguration { maximumInterCharacterTime: 0.2 ) } - -enum HIDBarcodeParserError: Error { - case scanTooShort(barcode: String) - case timedOut(barcode: String) - - var analyticsReason: String { - switch self { - case .scanTooShort: - return "too_short" - case .timedOut: - return "no_terminator" - } - } - - var barcode: String { - switch self { - case .scanTooShort(let barcode), .timedOut(let barcode): - return barcode - } - } -} - -enum HIDBarcodeParserResult { - case success(barcode: String, scanDurationMs: Int) - case failure(error: HIDBarcodeParserError, scanDurationMs: Int) - - var asResult: Result { - switch self { - case .success(let barcode, _): - return .success(barcode) - case .failure(let error, _): - return .failure(error) - } - } -} diff --git a/WooCommerce/Classes/POS/Presentation/Barcode Scanning/HIDBarcodeParserTypes.swift b/WooCommerce/Classes/POS/Presentation/Barcode Scanning/HIDBarcodeParserTypes.swift new file mode 100644 index 00000000000..ba89eef704b --- /dev/null +++ b/WooCommerce/Classes/POS/Presentation/Barcode Scanning/HIDBarcodeParserTypes.swift @@ -0,0 +1,34 @@ +enum HIDBarcodeParserError: Error { + case scanTooShort(barcode: String) + case timedOut(barcode: String) + + var analyticsReason: String { + switch self { + case .scanTooShort: + return "too_short" + case .timedOut: + return "no_terminator" + } + } + + var barcode: String { + switch self { + case .scanTooShort(let barcode), .timedOut(let barcode): + return barcode + } + } +} + +enum HIDBarcodeParserResult { + case success(barcode: String, scanDurationMs: Int) + case failure(error: HIDBarcodeParserError, scanDurationMs: Int) + + var asResult: Result { + switch self { + case .success(let barcode, _): + return .success(barcode) + case .failure(let error, _): + return .failure(error) + } + } +} diff --git a/WooCommerce/Classes/POS/Presentation/Barcode Scanning/UIKitBarcodeObserver.swift b/WooCommerce/Classes/POS/Presentation/Barcode Scanning/UIKitBarcodeObserver.swift index aaf92d9b548..a502ef8c71d 100644 --- a/WooCommerce/Classes/POS/Presentation/Barcode Scanning/UIKitBarcodeObserver.swift +++ b/WooCommerce/Classes/POS/Presentation/Barcode Scanning/UIKitBarcodeObserver.swift @@ -23,13 +23,13 @@ final class UIKitBarcodeObserver { /// - timeProvider: The time provider to use for timing operations. Defaults to the system time provider. init( configuration: HIDBarcodeParserConfiguration = .default, + analytics: POSAnalyticsProviding, onScan: @escaping (Result) -> Void, - analyticsTracker: BarcodeAnalyticsTracker = BarcodeAnalyticsTracker(), timeProvider: TimeProvider = DefaultTimeProvider() ) { self.onScan = onScan self.configuration = configuration - self.analyticsTracker = analyticsTracker + self.analyticsTracker = BarcodeAnalyticsTracker(analytics: analytics) self.timeProvider = timeProvider } diff --git a/WooCommerce/Classes/POS/Presentation/Card Present Payments/Connection Alerts/PointOfSaleCardPresentPaymentReaderUpdateProgressView.swift b/WooCommerce/Classes/POS/Presentation/Card Present Payments/Connection Alerts/PointOfSaleCardPresentPaymentReaderUpdateProgressView.swift index 5e206d86d11..450530284b3 100644 --- a/WooCommerce/Classes/POS/Presentation/Card Present Payments/Connection Alerts/PointOfSaleCardPresentPaymentReaderUpdateProgressView.swift +++ b/WooCommerce/Classes/POS/Presentation/Card Present Payments/Connection Alerts/PointOfSaleCardPresentPaymentReaderUpdateProgressView.swift @@ -19,7 +19,7 @@ struct PointOfSaleCardPresentPaymentReaderUpdateProgressView: View { ) .animation(.easeOut(duration: 0.2), value: progress) - Image(uiImage: isComplete ? .cardReaderUpdateProgressCheckmark : .cardReaderUpdateProgressArrow) + Image(uiImage: isComplete ? .posCardReaderUpdateProgressCheckmark : .posCardReaderUpdateProgressArrow) .renderingMode(.template) .foregroundColor(Color(.posOnPrimary)) } diff --git a/WooCommerce/Classes/POS/Presentation/CardReaderConnection/UI States/PointOfSaleItemListEmptyView.swift b/WooCommerce/Classes/POS/Presentation/CardReaderConnection/UI States/PointOfSaleItemListEmptyView.swift index dfdd9ddbf09..abc85d90ac6 100644 --- a/WooCommerce/Classes/POS/Presentation/CardReaderConnection/UI States/PointOfSaleItemListEmptyView.swift +++ b/WooCommerce/Classes/POS/Presentation/CardReaderConnection/UI States/PointOfSaleItemListEmptyView.swift @@ -1,4 +1,5 @@ import SwiftUI +import struct WooFoundation.ScrollableVStack protocol POSEmptyViewModelProtocol { var title: String { get } diff --git a/WooCommerce/Classes/POS/Presentation/CardReaderConnection/UI States/Reader Messages/PointOfSalePaymentSuccessView.swift b/WooCommerce/Classes/POS/Presentation/CardReaderConnection/UI States/Reader Messages/PointOfSalePaymentSuccessView.swift index e6bceb11497..9371c861272 100644 --- a/WooCommerce/Classes/POS/Presentation/CardReaderConnection/UI States/Reader Messages/PointOfSalePaymentSuccessView.swift +++ b/WooCommerce/Classes/POS/Presentation/CardReaderConnection/UI States/Reader Messages/PointOfSalePaymentSuccessView.swift @@ -6,7 +6,6 @@ struct PointOfSalePaymentSuccessView: View { @Environment(PointOfSaleAggregateModel.self) private var posModel @State private var isShowingSendReceiptView: Bool = false - @State private var isShowingReceiptNotEligibleBanner: Bool = false @State private var isViewLoaded: Bool = false var body: some View { @@ -71,26 +70,16 @@ struct PointOfSalePaymentSuccessView: View { Spacer().frame(height: POSSpacing.xxLarge) - PaymentsActionButtons(isShowingSendReceiptView: $isShowingSendReceiptView, - isShowingReceiptNotEligibleBanner: $isShowingReceiptNotEligibleBanner) - .containerRelativeFrame(.horizontal, count: 2, span: 1, spacing: POSSpacing.none) - .frame(maxWidth: .infinity, alignment: .center) - .offset(y: isViewLoaded ? 0 : -Constants.animationOffset) - .opacity(isViewLoaded ? 1 : 0) + PaymentsActionButtons(isShowingSendReceiptView: $isShowingSendReceiptView) + .containerRelativeFrame(.horizontal, count: 2, span: 1, spacing: POSSpacing.none) + .frame(maxWidth: .infinity, alignment: .center) + .offset(y: isViewLoaded ? 0 : -Constants.animationOffset) + .opacity(isViewLoaded ? 1 : 0) Spacer() } .multilineTextAlignment(.center) - if isShowingReceiptNotEligibleBanner { - VStack { - Spacer() - POSReceiptEligibilityBanner(isVisible: $isShowingReceiptNotEligibleBanner) - .transition(.move(edge: .bottom)) - .padding(.bottom) - } - .edgesIgnoringSafeArea(.bottom) - } } } diff --git a/WooCommerce/Classes/POS/Presentation/CartView.swift b/WooCommerce/Classes/POS/Presentation/CartView.swift index bfff4783e5c..3c968a64975 100644 --- a/WooCommerce/Classes/POS/Presentation/CartView.swift +++ b/WooCommerce/Classes/POS/Presentation/CartView.swift @@ -1,7 +1,10 @@ import SwiftUI +import WooFoundation struct CartView: View { @Environment(PointOfSaleAggregateModel.self) private var posModel + @Environment(\.posFeatureFlags) private var featureFlags + @Environment(\.posAnalytics) private var analytics private let viewHelper = CartViewHelper() @Environment(\.floatingControlAreaSize) var floatingControlAreaSize: CGSize @@ -26,7 +29,7 @@ struct CartView: View { } private var isPOSSettingsEnabled: Bool { - ServiceLocator.featureFlagService.isFeatureFlagEnabled(.pointOfSaleSettingsi1) + featureFlags.isFeatureFlagEnabled(.pointOfSaleSettingsi1) } @State private var showBarcodeScanningModal: Bool = false @@ -76,7 +79,7 @@ struct CartView: View { } } .posModal(isPresented: $showBarcodeScanningModal) { - PointOfSaleBarcodeScannerSetup(isPresented: $showBarcodeScanningModal) + PointOfSaleBarcodeScannerSetup(isPresented: $showBarcodeScanningModal, analytics: analytics) } .animation(Constants.cartAnimation, value: posModel.cart.isEmpty) .frame(maxWidth: .infinity) @@ -196,7 +199,7 @@ private extension CartView { case .finalizing: let state: POSPageHeaderBackButtonConfiguration.State = shouldPreventCartEditing ? .shimmering : .enabled return .init(state: state, action: { - ServiceLocator.analytics.track(.pointOfSaleBackToCartTapped) + analytics.track(.pointOfSaleBackToCartTapped) posModel.addMoreToCart() }) } @@ -222,7 +225,7 @@ private extension CartView { } if isPOSSettingsEnabled { Button(action: { - ServiceLocator.analytics.track(.pointOfSaleEmptyCartSetupScannerTapped) + analytics.track(.pointOfSaleEmptyCartSetupScannerTapped) showBarcodeScanningModal = true }, label: { HStack { @@ -241,6 +244,7 @@ private extension CartView { } private struct CartClearMenuButton: View { + @Environment(\.posAnalytics) private var analytics let removeAllItemsFromCart: () -> Void var body: some View { @@ -248,7 +252,7 @@ private struct CartClearMenuButton: View { Button(role: .destructive, action: { removeAllItemsFromCart() - ServiceLocator.analytics.track(.pointOfSaleClearCartTapped) + analytics.track(.pointOfSaleClearCartTapped) }) { Text(Localization.clearButtonTitle) } @@ -378,6 +382,8 @@ private struct CartScrollViewContent: View { private struct CouponsCartSection: View { @Environment(PointOfSaleAggregateModel.self) private var posModel + @Environment(\.posAnalytics) private var analytics + @Binding var shouldShowItemImages: Bool private let viewHelper = CartViewHelper() @@ -394,7 +400,7 @@ private struct CouponsCartSection: View { ), showImage: $shouldShowItemImages, onItemRemoveTapped: posModel.orderStage == .building ? { - ServiceLocator.analytics.track( + analytics.track( event: .PointOfSale.itemRemovedFromCart( sourceView: .cart, itemType: .coupon @@ -412,6 +418,7 @@ private struct CouponsCartSection: View { private struct PurchasableItemsCartSection: View { @Environment(PointOfSaleAggregateModel.self) private var posModel + @Environment(\.posAnalytics) private var analytics @Binding var shouldShowItemImages: Bool @AccessibilityFocusState private var accessibilityFocusedItem: UUID? @@ -442,7 +449,7 @@ private struct PurchasableItemsCartSection: View { guard posModel.orderStage == .building else { return nil } return { - ServiceLocator.analytics.track( + analytics.track( event: .PointOfSale.itemRemovedFromCart( sourceView: .cart, itemType: .init(cartItem: cartItem), @@ -455,7 +462,7 @@ private struct PurchasableItemsCartSection: View { private func cancelLoadingCallback(for cartItem: Cart.PurchasableItem) -> () -> Void { return { - ServiceLocator.analytics.track( + analytics.track( event: .PointOfSale.itemRemovedFromCart( sourceView: .cart, itemType: .loading @@ -470,7 +477,7 @@ private extension CartView { func trackCheckoutTapped() { let purchasableItems = posModel.cart.purchasableItems.count let coupons = posModel.cart.coupons.count - ServiceLocator.analytics.track( + analytics.track( event: .PointOfSale.checkoutTapped( purchasableItemsInCart: purchasableItems, couponsInCart: coupons diff --git a/WooCommerce/Classes/POS/Presentation/Item Search/POSPreSearchView.swift b/WooCommerce/Classes/POS/Presentation/Item Search/POSPreSearchView.swift index 9449ada9abe..dc002bf4ab9 100644 --- a/WooCommerce/Classes/POS/Presentation/Item Search/POSPreSearchView.swift +++ b/WooCommerce/Classes/POS/Presentation/Item Search/POSPreSearchView.swift @@ -1,8 +1,10 @@ import SwiftUI import enum Yosemite.POSItem +import WooFoundation struct POSPreSearchView: View { @Environment(PointOfSaleAggregateModel.self) private var posModel + @Environment(\.posAnalytics) private var analytics @ScaledMetric private var chipHeight: CGFloat = 56.0 let savedSearches: [String] @@ -26,7 +28,8 @@ struct POSPreSearchView: View { itemActionHandler: StandardPOSItemActionHandler( posModel: posModel, sourceView: .init(itemListType: itemListType), - sourceViewType: .preSearch + sourceViewType: .preSearch, + analytics: analytics ), headerView: { VStack(alignment: .leading, spacing: POSSpacing.none) { diff --git a/WooCommerce/Classes/POS/Presentation/Item Search/POSSearchTextFieldStyle.swift b/WooCommerce/Classes/POS/Presentation/Item Search/POSSearchTextFieldStyle.swift index 2cfb95ed0d8..b9708d6f3c8 100644 --- a/WooCommerce/Classes/POS/Presentation/Item Search/POSSearchTextFieldStyle.swift +++ b/WooCommerce/Classes/POS/Presentation/Item Search/POSSearchTextFieldStyle.swift @@ -1,4 +1,5 @@ import SwiftUI +import WooFoundation /// Text field style for search fields that includes a magnifier icon and clear button struct POSSearchTextFieldStyle: TextFieldStyle { diff --git a/WooCommerce/Classes/POS/Presentation/Item Search/POSSearchView.swift b/WooCommerce/Classes/POS/Presentation/Item Search/POSSearchView.swift index 4eacf355bf0..4c109f7c1b0 100644 --- a/WooCommerce/Classes/POS/Presentation/Item Search/POSSearchView.swift +++ b/WooCommerce/Classes/POS/Presentation/Item Search/POSSearchView.swift @@ -18,6 +18,7 @@ protocol POSSearchable { /// A reusable search field view for POS items struct POSSearchField: View { @Environment(\.keyboardObserver) private var keyboardObserver + @Environment(\.posAnalytics) private var analytics @Binding private var searchTerm: String @FocusState private var isSearchFieldFocused: Bool @@ -92,7 +93,7 @@ struct POSSearchField: View { } .onChange(of: keyboardObserver.isKeyboardVisible) { _, isVisible in guard isVisible == false else { return } - ServiceLocator.analytics.track(.pointOfSaleKeyboardDismissedInSearch) + analytics.track(.pointOfSaleKeyboardDismissedInSearch) } .onAppear { isSearchFieldFocused = true @@ -103,6 +104,7 @@ struct POSSearchField: View { /// A reusable search content view for POS items struct POSSearchContentView: View { @Environment(\.dynamicTypeSize) private var dynamicTypeSize + @Environment(\.posAnalytics) private var analytics private let searchable: any POSSearchable private let itemListType: ItemListType @@ -134,8 +136,7 @@ struct POSSearchContentView: View { POSPreSearchView(savedSearches: searchable.searchHistory, onSearchSelected: { selectedSearchTerm in searchTerm = selectedSearchTerm - ServiceLocator.analytics.track( - event: .PointOfSale.preSearchRecentTermTapped(itemListType: itemListType)) + analytics.track(event: .PointOfSale.preSearchRecentTermTapped(itemListType: itemListType)) }, itemListType: itemListType ) diff --git a/WooCommerce/Classes/POS/Presentation/Item Selector/ChildItemList.swift b/WooCommerce/Classes/POS/Presentation/Item Selector/ChildItemList.swift index 5f70d6f5d7e..da218c56b50 100644 --- a/WooCommerce/Classes/POS/Presentation/Item Selector/ChildItemList.swift +++ b/WooCommerce/Classes/POS/Presentation/Item Selector/ChildItemList.swift @@ -173,7 +173,8 @@ private extension ChildItemList { itemActionHandler: PointOfSalePreviewItemActionHandler(), analyticsTracker: PointOfSaleItemListAnalyticsTracker( sourceView: .variation, - sourceViewType: .list + sourceViewType: .list, + analytics: EmptyPOSAnalytics() )) } @@ -198,7 +199,8 @@ private extension ChildItemList { itemActionHandler: PointOfSalePreviewItemActionHandler(), analyticsTracker: PointOfSaleItemListAnalyticsTracker( sourceView: .variation, - sourceViewType: .list + sourceViewType: .list, + analytics: EmptyPOSAnalytics() )) } diff --git a/WooCommerce/Classes/POS/Presentation/Item Selector/ItemList.swift b/WooCommerce/Classes/POS/Presentation/Item Selector/ItemList.swift index e08985ac4cd..6b235518aba 100644 --- a/WooCommerce/Classes/POS/Presentation/Item Selector/ItemList.swift +++ b/WooCommerce/Classes/POS/Presentation/Item Selector/ItemList.swift @@ -7,6 +7,7 @@ struct ItemList: View { @Environment(\.floatingControlAreaSize) private var floatingControlAreaSize: CGSize @Environment(PointOfSaleAggregateModel.self) private var posModel @Environment(\.keyboardObserver) private var keyboardObserver + @Environment(\.posAnalytics) private var analytics @StateObject private var infiniteScrollTriggerDeterminer = ThresholdInfiniteScrollTriggerDeterminer() // Navigation only uses this on iOS 17 @@ -87,7 +88,9 @@ struct ItemList: View { sourceViewType: .init( isSearching: posModel.viewStateCoordinatorForView.selectedItemListType.isSearching, searchTerm: posModel.viewStateCoordinatorForView.searchTerm - ))) + ), + analytics: analytics + )) .barcodeScanning { scannedCode in posModel.barcodeScanned(scannedCode) }, diff --git a/WooCommerce/Classes/POS/Presentation/Item Selector/POSItemActionHandler.swift b/WooCommerce/Classes/POS/Presentation/Item Selector/POSItemActionHandler.swift index 47017fa8e70..05a1b1ced56 100644 --- a/WooCommerce/Classes/POS/Presentation/Item Selector/POSItemActionHandler.swift +++ b/WooCommerce/Classes/POS/Presentation/Item Selector/POSItemActionHandler.swift @@ -20,7 +20,7 @@ extension POSItemActionHandler { for item: POSItem, sourceView: WooAnalyticsEvent.PointOfSale.SourceView, sourceViewType: WooAnalyticsEvent.PointOfSale.SourceViewType, - using analytics: Analytics + using analytics: POSAnalyticsProviding ) { switch item { case .simpleProduct: @@ -69,12 +69,12 @@ final class StandardPOSItemActionHandler: POSItemActionHandler { private let posModel: PointOfSaleAggregateModelProtocol private let sourceView: WooAnalyticsEvent.PointOfSale.SourceView private let sourceViewType: WooAnalyticsEvent.PointOfSale.SourceViewType - private let analytics: Analytics + private let analytics: POSAnalyticsProviding init(posModel: PointOfSaleAggregateModelProtocol, sourceView: WooAnalyticsEvent.PointOfSale.SourceView, sourceViewType: WooAnalyticsEvent.PointOfSale.SourceViewType, - analytics: Analytics = ServiceLocator.analytics + analytics: POSAnalyticsProviding ) { self.posModel = posModel self.sourceView = sourceView @@ -103,13 +103,13 @@ final class SearchResultItemActionHandler: POSItemActionHandler { private let searchTerm: String private let itemType: POSItemType private let sourceView: WooAnalyticsEvent.PointOfSale.SourceView - private let analytics: Analytics + private let analytics: POSAnalyticsProviding init(posModel: PointOfSaleAggregateModelProtocol, searchTerm: String, itemType: POSItemType, sourceView: WooAnalyticsEvent.PointOfSale.SourceView, - analytics: Analytics = ServiceLocator.analytics) { + analytics: POSAnalyticsProviding) { self.posModel = posModel self.searchTerm = searchTerm self.itemType = itemType @@ -142,7 +142,7 @@ struct POSItemActionHandlerFactory { itemListType: ItemListType, searchTerm: String, posModel: PointOfSaleAggregateModelProtocol, - analytics: Analytics = ServiceLocator.analytics + analytics: POSAnalyticsProviding ) -> POSItemActionHandler { switch itemListType { case .products(search: false): @@ -160,7 +160,7 @@ struct POSItemActionHandlerFactory { itemListType: ItemListType, searchTerm: String, posModel: PointOfSaleAggregateModelProtocol, - analytics: Analytics = ServiceLocator.analytics + analytics: POSAnalyticsProviding ) -> POSItemActionHandler { if itemListType.isSearching { SearchResultItemActionHandler( diff --git a/WooCommerce/Classes/POS/Presentation/Item Selector/PointOfSaleItemListAnalyticsTracker.swift b/WooCommerce/Classes/POS/Presentation/Item Selector/PointOfSaleItemListAnalyticsTracker.swift index 26340160af2..5ddcaace9bf 100644 --- a/WooCommerce/Classes/POS/Presentation/Item Selector/PointOfSaleItemListAnalyticsTracker.swift +++ b/WooCommerce/Classes/POS/Presentation/Item Selector/PointOfSaleItemListAnalyticsTracker.swift @@ -1,16 +1,15 @@ import Foundation -import WooFoundation import enum Yosemite.POSItemType struct PointOfSaleItemListAnalyticsTracker { private let sourceView: WooAnalyticsEvent.PointOfSale.SourceView private let sourceViewType: WooAnalyticsEvent.PointOfSale.SourceViewType - private let analytics: Analytics + private let analytics: POSAnalyticsProviding init( sourceView: WooAnalyticsEvent.PointOfSale.SourceView, sourceViewType: WooAnalyticsEvent.PointOfSale.SourceViewType, - analytics: Analytics = ServiceLocator.analytics + analytics: POSAnalyticsProviding ) { self.sourceView = sourceView self.sourceViewType = sourceViewType @@ -20,7 +19,7 @@ struct PointOfSaleItemListAnalyticsTracker { init( selectedItemListType: ItemListType, searchTerm: String, - analytics: Analytics = ServiceLocator.analytics + analytics: POSAnalyticsProviding ) { switch selectedItemListType { case .products(search: false): diff --git a/WooCommerce/Classes/POS/Presentation/Item Selector/SimpleProductCardView.swift b/WooCommerce/Classes/POS/Presentation/Item Selector/SimpleProductCardView.swift index b10875fb6d2..dc0893027b5 100644 --- a/WooCommerce/Classes/POS/Presentation/Item Selector/SimpleProductCardView.swift +++ b/WooCommerce/Classes/POS/Presentation/Item Selector/SimpleProductCardView.swift @@ -6,13 +6,14 @@ struct SimpleProductCardView: View { @ScaledMetric private var scale: CGFloat = 1.0 @Environment(\.dynamicTypeSize) var dynamicTypeSize + @Environment(\.posFeatureFlags) private var featureFlags private var dimension: CGFloat { min(Constants.productCardSize * scale, Constants.maximumProductCardSize) } private var shouldShowProductLabels: Bool { - ServiceLocator.featureFlagService.isFeatureFlagEnabled(.inventoryProductLabelsInPOS) + featureFlags.isFeatureFlagEnabled(.inventoryProductLabelsInPOS) } init(product: POSSimpleProduct) { diff --git a/WooCommerce/Classes/POS/Presentation/ItemListView.swift b/WooCommerce/Classes/POS/Presentation/ItemListView.swift index 481dae9314c..78a537270e0 100644 --- a/WooCommerce/Classes/POS/Presentation/ItemListView.swift +++ b/WooCommerce/Classes/POS/Presentation/ItemListView.swift @@ -4,9 +4,10 @@ import protocol Yosemite.POSOrderableItem struct ItemListView: View { @Environment(\.dynamicTypeSize) private var dynamicTypeSize - + @Environment(\.posAnalytics) private var analytics @Environment(PointOfSaleAggregateModel.self) private var posModel @Environment(\.keyboardObserver) private var keyboardObserver + @Environment(\.posFeatureFlags) private var featureFlags @EnvironmentObject var modalManager: POSModalManager @EnvironmentObject var sheetManager: POSSheetManager @EnvironmentObject var coverManager: POSFullScreenCoverManager @@ -15,7 +16,11 @@ struct ItemListView: View { @Binding var searchTerm: String private var analyticsTracker: PointOfSaleItemListAnalyticsTracker { - PointOfSaleItemListAnalyticsTracker(selectedItemListType: selectedItemListType, searchTerm: searchTerm) + PointOfSaleItemListAnalyticsTracker( + selectedItemListType: selectedItemListType, + searchTerm: searchTerm, + analytics: analytics + ) } private var _isSearching: Binding { @@ -175,7 +180,8 @@ struct ItemListView: View { POSItemActionHandlerFactory.itemActionHandler( itemListType: itemListType, searchTerm: searchTerm, - posModel: posModel + posModel: posModel, + analytics: analytics ) } @@ -183,7 +189,8 @@ struct ItemListView: View { POSItemActionHandlerFactory.variationActionHandler( itemListType: itemListType, searchTerm: searchTerm, - posModel: posModel + posModel: posModel, + analytics: analytics ) } @@ -199,7 +206,8 @@ struct ItemListView: View { itemActionHandler: variationActionHandler(selectedItemListType), analyticsTracker: PointOfSaleItemListAnalyticsTracker( sourceView: .variation, - sourceViewType: .init(isSearching: selectedItemListType.isSearching, searchTerm: searchTerm) + sourceViewType: .init(isSearching: selectedItemListType.isSearching, searchTerm: searchTerm), + analytics: analytics ) ) .barcodeScanning(enabled: isBarcodeScanningEnabled) { scannedCode in @@ -282,7 +290,7 @@ private extension ItemListView { @ViewBuilder private var createCouponButton: some View { POSPageHeaderActionButton(systemName: "plus") { - ServiceLocator.analytics.track(.pointOfSaleCouponsCreateTapped) + analytics.track(.pointOfSaleCouponsCreateTapped) showCouponCreationModal = true } .renderedIf(isAddingCouponAllowed) @@ -318,7 +326,7 @@ private extension ItemListView { POSListErrorView(error: errorState, onAction: { Task { await posModel.couponsController.enableCoupons() - ServiceLocator.analytics.track(.couponSettingEnabled) + analytics.track(.couponSettingEnabled) } }) default: diff --git a/WooCommerce/Classes/POS/Presentation/Order Messages/PointOfSaleOrderSyncCouponsErrorMessageView.swift b/WooCommerce/Classes/POS/Presentation/Order Messages/PointOfSaleOrderSyncCouponsErrorMessageView.swift index 9207cf2ea8e..413944f8e12 100644 --- a/WooCommerce/Classes/POS/Presentation/Order Messages/PointOfSaleOrderSyncCouponsErrorMessageView.swift +++ b/WooCommerce/Classes/POS/Presentation/Order Messages/PointOfSaleOrderSyncCouponsErrorMessageView.swift @@ -7,6 +7,7 @@ struct PointOfSaleOrderSyncCouponsErrorMessageView: View { @Environment(PointOfSaleAggregateModel.self) private var posModel @Environment(\.dynamicTypeSize) var dynamicTypeSize + @Environment(\.posAnalytics) private var analytics var body: some View { GeometryReader { geometry in @@ -33,12 +34,10 @@ struct PointOfSaleOrderSyncCouponsErrorMessageView: View { .buttonStyle(POSFilledButtonStyle(size: .normal)) Button(retryActionTitle, action: { - ServiceLocator.analytics.track( - event: .PointOfSale.itemRemovedFromCart( + analytics.track(event: .PointOfSale.itemRemovedFromCart( sourceView: .error, itemType: .coupon - ) - ) + )) posModel.removeAllItemsFromCart(types: [.coupon]) retryHandler() }) diff --git a/WooCommerce/Classes/POS/Presentation/POSFloatingControlView.swift b/WooCommerce/Classes/POS/Presentation/POSFloatingControlView.swift index 54b378aaf0e..90825b8be6a 100644 --- a/WooCommerce/Classes/POS/Presentation/POSFloatingControlView.swift +++ b/WooCommerce/Classes/POS/Presentation/POSFloatingControlView.swift @@ -2,6 +2,8 @@ import SwiftUI struct POSFloatingControlView: View { @Environment(\.posBackgroundAppearance) var backgroundAppearance + @Environment(\.posFeatureFlags) private var featureFlags + @Environment(\.posAnalytics) private var analytics @Environment(PointOfSaleAggregateModel.self) private var posModel @Environment(\.horizontalSizeClass) private var horizontalSizeClass @Binding private var showExitPOSModal: Bool @@ -23,7 +25,7 @@ struct POSFloatingControlView: View { } private var isPOSSettingsEnabled: Bool { - ServiceLocator.featureFlagService.isFeatureFlagEnabled(.pointOfSaleSettingsi1) + featureFlags.isFeatureFlagEnabled(.pointOfSaleSettingsi1) } var body: some View { @@ -60,7 +62,7 @@ struct POSFloatingControlView: View { SimpleProductsOnlyInformation(isPresented: $showProductRestrictionsModal) } .posModal(isPresented: $showBarcodeScanningModal) { - PointOfSaleBarcodeScannerSetup(isPresented: $showBarcodeScanningModal) + PointOfSaleBarcodeScannerSetup(isPresented: $showBarcodeScanningModal, analytics: analytics) } .posFullScreenCover(isPresented: $showOrders) { POSOrdersView(isPresented: $showOrders) @@ -75,7 +77,7 @@ struct POSFloatingControlView: View { private extension POSFloatingControlView { @ViewBuilder private func compactOptions() -> some View { Button { - ServiceLocator.analytics.track(.pointOfSaleExitMenuItemTapped) + analytics.track(.pointOfSaleExitMenuItemTapped) showExitPOSModal = true } label: { Label( @@ -83,9 +85,9 @@ private extension POSFloatingControlView { icon: { Image(systemName: "rectangle.portrait.and.arrow.forward") } ) } - if ServiceLocator.featureFlagService.isFeatureFlagEnabled(.pointOfSaleSettingsi1) { + if featureFlags.isFeatureFlagEnabled(.pointOfSaleSettingsi1) { Button { - ServiceLocator.analytics.track(.pointOfSaleSettingsMenuItemTapped) + analytics.track(.pointOfSaleSettingsMenuItemTapped) showSettings = true } label: { Label( @@ -95,7 +97,7 @@ private extension POSFloatingControlView { } } - if ServiceLocator.featureFlagService.isFeatureFlagEnabled(.pointOfSaleHistoricalOrdersi1) { + if featureFlags.isFeatureFlagEnabled(.pointOfSaleHistoricalOrdersi1) { Button { showOrders = true } label: { @@ -109,7 +111,7 @@ private extension POSFloatingControlView { @ViewBuilder private func completeOptions() -> some View { Button { - ServiceLocator.analytics.track(.pointOfSaleExitMenuItemTapped) + analytics.track(.pointOfSaleExitMenuItemTapped) showExitPOSModal = true } label: { Label( @@ -118,7 +120,7 @@ private extension POSFloatingControlView { ) } Button { - ServiceLocator.analytics.track(.pointOfSaleGetSupportTapped) + analytics.track(.pointOfSaleGetSupportTapped) showSupport = true } label: { Label( @@ -128,7 +130,7 @@ private extension POSFloatingControlView { } Button { showDocumentation = true - ServiceLocator.analytics.track(.pointOfSaleViewDocsTapped) + analytics.track(.pointOfSaleViewDocsTapped) } label: { Label( title: { Text(Localization.viewDocumentation) }, @@ -137,7 +139,7 @@ private extension POSFloatingControlView { } Button { showProductRestrictionsModal = true - ServiceLocator.analytics.track(.pointOfSaleSimpleProductsExplanationDialogShown) + analytics.track(.pointOfSaleSimpleProductsExplanationDialogShown) } label: { Label( title: { Text(Localization.productRestrictionsInfo) }, @@ -145,7 +147,7 @@ private extension POSFloatingControlView { } Button { showBarcodeScanningModal = true - ServiceLocator.analytics.track(.pointOfSaleBarcodeScanningMenuItemTapped) + analytics.track(.pointOfSaleBarcodeScanningMenuItemTapped) } label: { Label( title: { @@ -153,7 +155,7 @@ private extension POSFloatingControlView { }, icon: { Image(systemName: "barcode.viewfinder") }) } - if ServiceLocator.featureFlagService.isFeatureFlagEnabled(.pointOfSaleSettingsi1) { + if featureFlags.isFeatureFlagEnabled(.pointOfSaleSettingsi1) { Button { showSettings = true } label: { @@ -164,7 +166,7 @@ private extension POSFloatingControlView { } } - if ServiceLocator.featureFlagService.isFeatureFlagEnabled(.pointOfSaleHistoricalOrdersi1) { + if featureFlags.isFeatureFlagEnabled(.pointOfSaleHistoricalOrdersi1) { Button { showOrders = true } label: { diff --git a/WooCommerce/Classes/POS/Presentation/POSReceiptEligibilityBanner.swift b/WooCommerce/Classes/POS/Presentation/POSReceiptEligibilityBanner.swift deleted file mode 100644 index b54854e64fd..00000000000 --- a/WooCommerce/Classes/POS/Presentation/POSReceiptEligibilityBanner.swift +++ /dev/null @@ -1,49 +0,0 @@ -import SwiftUI - -struct POSReceiptEligibilityBanner: View { - @Binding var isVisible: Bool - - var body: some View { - HStack(spacing: Constants.elementSpacing) { - Image(uiImage: .appIconDefault) - .resizable() - .aspectRatio(contentMode: .fit) - .frame(width: Constants.imagesize, height: Constants.imagesize) - .clipShape(Circle()) - .padding(Constants.imagePadding) - Text(Localization.updateWooCommerceVersionText) - .foregroundColor(Color.posOnSurface) - } - .padding() - .background(Color.posSurface) - .cornerRadius(Constants.cornerRadius) - .padding(.horizontal, Constants.bannerPadding) - .onTapGesture { - withAnimation { - isVisible = false - } - } - } -} - -private extension POSReceiptEligibilityBanner { - enum Constants { - static let elementSpacing: CGFloat = POSSpacing.small - static let cornerRadius: CGFloat = POSCornerRadiusStyle.large.value - static let imagesize: CGFloat = 40 - static let imagePadding: CGFloat = POSPadding.xSmall - static let bannerPadding: CGFloat = POSPadding.medium - } - - enum Localization { - static let updateWooCommerceVersionText = NSLocalizedString( - "pos.totalsView.receipts.banner.updateWooCommerceVersionText", - value: "Please update WooCommerce to version 9.5.0", - comment: "Text for the banner requiring specific WooCommerce version.") - } -} - -#Preview { - POSReceiptEligibilityBanner(isVisible: .constant(true)) - .padding() -} diff --git a/WooCommerce/Classes/POS/Presentation/PaymentButtons.swift b/WooCommerce/Classes/POS/Presentation/PaymentButtons.swift index 2e98bc6d185..bbf5a5c00a8 100644 --- a/WooCommerce/Classes/POS/Presentation/PaymentButtons.swift +++ b/WooCommerce/Classes/POS/Presentation/PaymentButtons.swift @@ -2,10 +2,8 @@ import SwiftUI struct PaymentsActionButtons: View { @Environment(PointOfSaleAggregateModel.self) private var posModel + @Environment(\.posAnalytics) private var analytics @Binding var isShowingSendReceiptView: Bool - @Binding private(set) var isShowingReceiptNotEligibleBanner: Bool - - private let receiptEligibilityUseCase = ReceiptEligibilityUseCase() var body: some View { ZStack { @@ -20,10 +18,8 @@ struct PaymentsActionButtons: View { private extension PaymentsActionButtons { var sendReceiptButton: some View { Button(action: { - Task { @MainActor in - ServiceLocator.analytics.track(.receiptEmailTapped) - await handleSendReceiptAction() - } + analytics.track(.receiptEmailTapped) + isShowingSendReceiptView = true }, label: { HStack(spacing: Constants.buttonSpacing) { Text(Localization.sendReceipt) @@ -34,7 +30,7 @@ private extension PaymentsActionButtons { var newOrderButton: some View { Button(action: { - ServiceLocator.analytics.track(.pointOfSaleCreateNewOrderTapped) + analytics.track(.pointOfSaleCreateNewOrderTapped) posModel.startNewCart() }, label: { HStack(spacing: Constants.buttonSpacing) { @@ -45,24 +41,6 @@ private extension PaymentsActionButtons { } } -private extension PaymentsActionButtons { - func handleSendReceiptAction() async { - let isEligible = await checkReceiptEligibility() - if isEligible { - isShowingSendReceiptView = true - } else { - isShowingReceiptNotEligibleBanner = true - } - } - - func checkReceiptEligibility() async -> Bool { - await withCheckedContinuation { continuation in - receiptEligibilityUseCase.isEligibleForPointOfSaleReceipts { isEligible in - continuation.resume(returning: isEligible) - } - } - } -} private extension PaymentsActionButtons { enum Constants { @@ -83,7 +61,7 @@ private extension PaymentsActionButtons { #if DEBUG #Preview { - PaymentsActionButtons(isShowingSendReceiptView: .constant(false), isShowingReceiptNotEligibleBanner: .constant(true)) + PaymentsActionButtons(isShowingSendReceiptView: .constant(false)) .environment(POSPreviewHelpers.makePreviewAggregateModel()) } #endif diff --git a/WooCommerce/Classes/POS/Presentation/Payments Onboarding/PointOfSaleCardPresentPaymentOnboardingView.swift b/WooCommerce/Classes/POS/Presentation/Payments Onboarding/PointOfSaleCardPresentPaymentOnboardingView.swift index 105e2c0afde..22932cfc4b8 100644 --- a/WooCommerce/Classes/POS/Presentation/Payments Onboarding/PointOfSaleCardPresentPaymentOnboardingView.swift +++ b/WooCommerce/Classes/POS/Presentation/Payments Onboarding/PointOfSaleCardPresentPaymentOnboardingView.swift @@ -6,7 +6,7 @@ struct PointOfSaleCardPresentPaymentOnboardingView: View { var body: some View { VStack(spacing: Constants.verticalSpacing) { - CardPresentPaymentsOnboardingView(viewModel: viewModel.onboardingViewModel) + AnyView(viewModel.onboardingViewContainer.view) // Hides the navigation bar title `navigationTitle` in `CardPresentPaymentsOnboardingView`. .toolbar(.hidden) } @@ -31,6 +31,20 @@ private extension PointOfSaleCardPresentPaymentOnboardingView { } } + +#if DEBUG + +import enum Yosemite.CardPresentPaymentOnboardingState + +final class PreviewOnboardingViewContainerConfiguration: CardPresentPaymentsOnboardingViewConfiguration { + var showSupport: (() -> Void)? + var showURL: ((URL) -> Void)? + var state: CardPresentPaymentOnboardingState = .loading +} + #Preview { - PointOfSaleCardPresentPaymentOnboardingView(viewModel: .init(onboardingViewModel: .init(fixedState: .genericError), onDismissTap: nil)) + PointOfSaleCardPresentPaymentOnboardingView(viewModel: .init( + onboardingViewContainer: .init(configuration: PreviewOnboardingViewContainerConfiguration()), onDismissTap: nil) + ) } +#endif diff --git a/WooCommerce/Classes/POS/Presentation/Payments Onboarding/PointOfSaleCardPresentPaymentOnboardingViewModel.swift b/WooCommerce/Classes/POS/Presentation/Payments Onboarding/PointOfSaleCardPresentPaymentOnboardingViewModel.swift index 90f4c0b8260..8b2ba3363fe 100644 --- a/WooCommerce/Classes/POS/Presentation/Payments Onboarding/PointOfSaleCardPresentPaymentOnboardingViewModel.swift +++ b/WooCommerce/Classes/POS/Presentation/Payments Onboarding/PointOfSaleCardPresentPaymentOnboardingViewModel.swift @@ -1,16 +1,38 @@ import Foundation +import SwiftUI +import enum Yosemite.CardPresentPaymentOnboardingState + +protocol CardPresentPaymentsOnboardingViewConfiguration: ObservableObject { + var showSupport: (() -> Void)? { get set } + var showURL: ((URL) -> Void)? { get set } + var state: CardPresentPaymentOnboardingState { get } +} + +final class CardPresentPaymentOnboardingViewContainer: ObservableObject, Equatable, Identifiable { + @Published var configuration: any CardPresentPaymentsOnboardingViewConfiguration + @Published var view: any View + + init(configuration: any CardPresentPaymentsOnboardingViewConfiguration, view: any View = EmptyView()) { + self.configuration = configuration + self.view = view + } + + static func == (lhs: CardPresentPaymentOnboardingViewContainer, rhs: CardPresentPaymentOnboardingViewContainer) -> Bool { + lhs.configuration.state == rhs.configuration.state + } +} final class PointOfSaleCardPresentPaymentOnboardingViewModel: ObservableObject { - let onboardingViewModel: CardPresentPaymentsOnboardingViewModel @Published var onboardingURL: URL? + @Published var onboardingViewContainer: CardPresentPaymentOnboardingViewContainer private let onDismissTap: (() -> Void)? - init(onboardingViewModel: CardPresentPaymentsOnboardingViewModel, + init(onboardingViewContainer: CardPresentPaymentOnboardingViewContainer, onDismissTap: (() -> Void)?) { - self.onboardingViewModel = onboardingViewModel + self.onboardingViewContainer = onboardingViewContainer self.onDismissTap = onDismissTap - onboardingViewModel.showURL = { [weak self] url in + self.onboardingViewContainer.configuration.showURL = { [weak self] url in self?.onboardingURL = url } } diff --git a/WooCommerce/Classes/POS/Presentation/PointOfSaleBarcodeScannerInformationModal.swift b/WooCommerce/Classes/POS/Presentation/PointOfSaleBarcodeScannerInformationModal.swift index f271aff61d4..b8fc24ac41a 100644 --- a/WooCommerce/Classes/POS/Presentation/PointOfSaleBarcodeScannerInformationModal.swift +++ b/WooCommerce/Classes/POS/Presentation/PointOfSaleBarcodeScannerInformationModal.swift @@ -16,6 +16,8 @@ struct PointOfSaleBarcodeScannerInformationModal: View { } struct LegacyBarcodeScannerInformationContent: View { + @Environment(\.posAnalytics) private var analytics + var body: some View { VStack(spacing: POSSpacing.medium) { PointOfSaleInformationModalParagraphView { @@ -39,7 +41,7 @@ struct LegacyBarcodeScannerInformationContent: View { } } .onAppear(perform: { - ServiceLocator.analytics.track(.pointOfSaleBarcodeScanningExplanationDialogShown) + analytics.track(.pointOfSaleBarcodeScanningExplanationDialogShown) }) } @@ -59,6 +61,8 @@ struct LegacyBarcodeScannerInformationContent: View { } struct BarcodeScannerInformation: View { + @Environment(\.posAnalytics) private var analytics + var body: some View { VStack(spacing: POSSpacing.xLarge) { Text(Localization.scannerInfoHeading) @@ -86,12 +90,14 @@ struct BarcodeScannerInformation: View { } } .onAppear(perform: { - ServiceLocator.analytics.track(.pointOfSaleBarcodeScanningExplanationDialogShown) + analytics.track(.pointOfSaleBarcodeScanningExplanationDialogShown) }) } } struct ProductBarcodeSetupInformation: View { + @Environment(\.posAnalytics) private var analytics + var body: some View { VStack(spacing: POSSpacing.xLarge) { Text(Localization.productBarcodeInfoHeading) @@ -111,7 +117,7 @@ struct ProductBarcodeSetupInformation: View { .aspectRatio(contentMode: .fit) } .onAppear(perform: { - ServiceLocator.analytics.track(.pointOfSaleBarcodeScanningExplanationDialogShown) + analytics.track(.pointOfSaleBarcodeScanningExplanationDialogShown) }) } diff --git a/WooCommerce/Classes/POS/Presentation/PointOfSaleCollectCashView.swift b/WooCommerce/Classes/POS/Presentation/PointOfSaleCollectCashView.swift index 8dc996e5334..708f09900ed 100644 --- a/WooCommerce/Classes/POS/Presentation/PointOfSaleCollectCashView.swift +++ b/WooCommerce/Classes/POS/Presentation/PointOfSaleCollectCashView.swift @@ -4,18 +4,19 @@ import WooFoundation struct PointOfSaleCollectCashView: View { @Environment(\.dynamicTypeSize) var dynamicTypeSize + @Environment(\.posAnalytics) var analytics @Environment(\.floatingControlAreaSize) private var floatingControlAreaSize: CGSize @Environment(PointOfSaleAggregateModel.self) private var posModel @FocusState private var isTextFieldFocused: Bool - private let viewHelper = CollectCashViewHelper() + private let viewHelper: CollectCashViewHelper @State private var textFieldAmountInput: String = "" @State private var isLoading: Bool = false @State private var errorMessage: String? @State private var changeDueMessage: String? - let orderTotal: String + private let orderTotal: String @State private var buttonFrame: CGRect = .zero @State private var keyboardFrame: CGRect = .zero @@ -31,10 +32,16 @@ struct PointOfSaleCollectCashView: View { isLoading: isLoading) } - @StateObject private var textFieldViewModel = FormattableAmountTextFieldViewModel(size: .extraLarge, - locale: Locale.autoupdatingCurrent, - storeCurrencySettings: ServiceLocator.currencySettings, - allowNegativeNumber: false) + @StateObject private var textFieldViewModel: FormattableAmountTextFieldViewModel + + init(orderTotal: String, currencySettings: CurrencySettings) { + self._textFieldViewModel = StateObject(wrappedValue: FormattableAmountTextFieldViewModel(size: .extraLarge, + locale: Locale.autoupdatingCurrent, + storeCurrencySettings: currencySettings, + allowNegativeNumber: false)) + self.viewHelper = CollectCashViewHelper(currencySettings: currencySettings) + self.orderTotal = orderTotal + } var body: some View { GeometryReader { geometry in @@ -130,7 +137,7 @@ struct PointOfSaleCollectCashView: View { private extension PointOfSaleCollectCashView { private func submitCashAmount() async { - ServiceLocator.analytics.track(.pointOfSaleCashPaymentTapped) + analytics.track(.pointOfSaleCashPaymentTapped) isLoading = true do { try await markComplete() @@ -200,7 +207,7 @@ private extension PointOfSaleCollectCashView { #if DEBUG #Preview { - PointOfSaleCollectCashView(orderTotal: "$1.23") + PointOfSaleCollectCashView(orderTotal: "$1.23", currencySettings: CurrencySettings()) .environment(POSPreviewHelpers.makePreviewAggregateModel()) } #endif diff --git a/WooCommerce/Classes/POS/Presentation/PointOfSaleDashboardView.swift b/WooCommerce/Classes/POS/Presentation/PointOfSaleDashboardView.swift index ace06d1a0d2..82ab5c01c28 100644 --- a/WooCommerce/Classes/POS/Presentation/PointOfSaleDashboardView.swift +++ b/WooCommerce/Classes/POS/Presentation/PointOfSaleDashboardView.swift @@ -1,8 +1,10 @@ import SwiftUI +import WooFoundation struct PointOfSaleDashboardView: View { @Environment(PointOfSaleAggregateModel.self) private var posModel @Environment(\.horizontalSizeClass) private var horizontalSizeClass + @Environment(\.posExternalViews) private var externalViews @State private var showExitPOSModal: Bool = false @State private var showSupport: Bool = false @@ -107,10 +109,10 @@ struct PointOfSaleDashboardView: View { .animation(.easeInOut, value: viewState == .loading) .background(Color.posSurface) .navigationBarBackButtonHidden(true) - .posModal(item: $posModel.cardPresentPaymentOnboardingViewModel, onDismiss: { + .posModal(item: $posModel.cardPresentPaymentOnboardingViewContainer, onDismiss: { posModel.cancelCardPaymentsOnboarding() - }) { viewModel in - paymentsOnboardingView(from: viewModel) + }) { factory in + paymentsOnboardingView(from: factory) } .posModal(item: $posModel.cardPresentPaymentAlertViewModel, onDismiss: { @@ -189,30 +191,29 @@ struct PointOfSaleDashboardView: View { private extension PointOfSaleDashboardView { var supportForm: some View { NavigationView { - SupportForm(isPresented: $showSupport, - viewModel: SupportFormViewModel(sourceTag: Constants.supportTag, - defaultSite: ServiceLocator.stores.sessionManager.defaultSite)) - .toolbar { - ToolbarItem(placement: .cancellationAction) { - Button(Localization.supportCancel) { - showSupport = false + externalViews.createSupportFormView(isPresented: $showSupport, sourceTag: Constants.supportTag) + .toolbar { + ToolbarItem(placement: .cancellationAction) { + Button(Localization.supportCancel) { + showSupport = false + } } } - } + .navigationViewStyle(.stack) } - .navigationViewStyle(.stack) } var documentationView: some View { SafariView(url: POSConstants.URLs.pointOfSaleDocumentation.asURL()) } - func paymentsOnboardingView(from onboardingViewModel: CardPresentPaymentsOnboardingViewModel) -> some View { - onboardingViewModel.showSupport = { [weak posModel] in + func paymentsOnboardingView(from factory: CardPresentPaymentOnboardingViewContainer) -> some View { + factory.configuration.showSupport = { [weak posModel] in posModel?.cancelCardPaymentsOnboarding() showSupport = true } - return PointOfSaleCardPresentPaymentOnboardingView(viewModel: .init(onboardingViewModel: onboardingViewModel, + + return PointOfSaleCardPresentPaymentOnboardingView(viewModel: .init(onboardingViewContainer: factory, onDismissTap: { posModel.cancelCardPaymentsOnboarding() })) diff --git a/WooCommerce/Classes/POS/Presentation/PointOfSaleEntryPointView.swift b/WooCommerce/Classes/POS/Presentation/PointOfSaleEntryPointView.swift index bf84c798723..9d418fc5392 100644 --- a/WooCommerce/Classes/POS/Presentation/PointOfSaleEntryPointView.swift +++ b/WooCommerce/Classes/POS/Presentation/PointOfSaleEntryPointView.swift @@ -24,6 +24,7 @@ struct PointOfSaleEntryPointView: View { private let popularPurchasableItemsController: PointOfSaleItemsControllerProtocol private let barcodeScanService: PointOfSaleBarcodeScanServiceProtocol private let siteTimezone: TimeZone + private let services: POSDependencyProviding init(itemsController: PointOfSaleItemsControllerProtocol, purchasableItemsSearchController: PointOfSaleSearchingItemsControllerProtocol, @@ -40,7 +41,8 @@ struct PointOfSaleEntryPointView: View { popularPurchasableItemsController: PointOfSaleItemsControllerProtocol, barcodeScanService: PointOfSaleBarcodeScanServiceProtocol, posEligibilityChecker: POSEntryPointEligibilityCheckerProtocol, - siteTimezone: TimeZone = .current) { + siteTimezone: TimeZone = .current, + services: POSDependencyProviding) { self.onPointOfSaleModeActiveStateChange = onPointOfSaleModeActiveStateChange self.itemsController = itemsController @@ -54,9 +56,10 @@ struct PointOfSaleEntryPointView: View { self.searchHistoryService = searchHistoryService self.popularPurchasableItemsController = popularPurchasableItemsController self.barcodeScanService = barcodeScanService - self.posEntryPointController = POSEntryPointController(eligibilityChecker: posEligibilityChecker) + self.posEntryPointController = POSEntryPointController(eligibilityChecker: posEligibilityChecker, featureFlagService: services.featureFlags) self.orderListModel = POSOrderListModel(ordersController: ordersController, receiptSender: receiptSender) self.siteTimezone = siteTimezone + self.services = services } var body: some View { @@ -81,11 +84,18 @@ struct PointOfSaleEntryPointView: View { cardPresentPaymentService: cardPresentPaymentService, orderController: orderController, settingsController: settingsController, + analytics: services.analytics, collectOrderPaymentAnalyticsTracker: collectOrderPaymentAnalyticsTracker, searchHistoryService: searchHistoryService, popularPurchasableItemsController: popularPurchasableItemsController, barcodeScanService: barcodeScanService) } + .environment(\.posAnalytics, services.analytics) + .environment(\.posCurrencyProvider, services.currency) + .environment(\.posFeatureFlags, services.featureFlags) + .environment(\.posConnectivityProvider, services.connectivity) + .environment(\.posExternalNavigation, services.externalNavigation) + .environment(\.posExternalViews, services.externalViews) .environmentObject(posModalManager) .environmentObject(posSheetManager) .environmentObject(posCoverManager) @@ -119,7 +129,8 @@ struct PointOfSaleEntryPointView: View { searchHistoryService: PointOfSalePreviewHistoryService(), popularPurchasableItemsController: PointOfSalePreviewItemsController(), barcodeScanService: PointOfSalePreviewBarcodeScanService(), - posEligibilityChecker: POSTabEligibilityChecker(siteID: 0)) + posEligibilityChecker: POSTabEligibilityChecker(siteID: 0), + services: POSPreviewServices()) } #endif diff --git a/WooCommerce/Classes/POS/Presentation/PointOfSaleExitPosAlertView.swift b/WooCommerce/Classes/POS/Presentation/PointOfSaleExitPosAlertView.swift index 96d141fd17c..3ab43da9a22 100644 --- a/WooCommerce/Classes/POS/Presentation/PointOfSaleExitPosAlertView.swift +++ b/WooCommerce/Classes/POS/Presentation/PointOfSaleExitPosAlertView.swift @@ -2,6 +2,7 @@ import SwiftUI struct PointOfSaleExitPosAlertView: View { @Environment(\.dismiss) private var dismiss + @Environment(\.posAnalytics) private var analytics @Binding private var isPresented: Bool init(isPresented: Binding) { @@ -27,7 +28,7 @@ struct PointOfSaleExitPosAlertView: View { .font(.posBodyLargeRegular()) .foregroundColor(Color.posOnSurface) Button { - ServiceLocator.analytics.track(.pointOfSaleExitConfirmed) + analytics.track(.pointOfSaleExitConfirmed) dismiss() } label: { Text(Localization.exitButton) diff --git a/WooCommerce/Classes/POS/Presentation/Reusable Views/Buttons/POSButtonProgressViewStyle.swift b/WooCommerce/Classes/POS/Presentation/Reusable Views/Buttons/POSButtonProgressViewStyle.swift index 833427a259a..65518604056 100644 --- a/WooCommerce/Classes/POS/Presentation/Reusable Views/Buttons/POSButtonProgressViewStyle.swift +++ b/WooCommerce/Classes/POS/Presentation/Reusable Views/Buttons/POSButtonProgressViewStyle.swift @@ -1,5 +1,5 @@ import SwiftUI -import WooFoundation +import struct WooFoundation.IndefiniteCircularProgressViewStyle /// A view that displays an animated progress indicator with a circular shape. struct POSButtonProgressViewStyle: ProgressViewStyle { diff --git a/WooCommerce/Classes/POS/Presentation/Reusable Views/Buttons/POSButtonStyle.swift b/WooCommerce/Classes/POS/Presentation/Reusable Views/Buttons/POSButtonStyle.swift index aaedd3974fb..f73bd87ae20 100644 --- a/WooCommerce/Classes/POS/Presentation/Reusable Views/Buttons/POSButtonStyle.swift +++ b/WooCommerce/Classes/POS/Presentation/Reusable Views/Buttons/POSButtonStyle.swift @@ -1,4 +1,5 @@ import SwiftUI +import struct WooFoundation.IndefiniteCircularProgressViewStyle /// The size variant of the POS button. enum POSButtonSize { diff --git a/WooCommerce/Classes/POS/Presentation/Reusable Views/POSConnectivityView.swift b/WooCommerce/Classes/POS/Presentation/Reusable Views/POSConnectivityView.swift index 0c11b02a9e4..6ddf49eb95d 100644 --- a/WooCommerce/Classes/POS/Presentation/Reusable Views/POSConnectivityView.swift +++ b/WooCommerce/Classes/POS/Presentation/Reusable Views/POSConnectivityView.swift @@ -1,10 +1,11 @@ import SwiftUI import Combine +import enum WooFoundation.ConnectivityStatus struct POSConnectivityView: View { - let connectivityObserver: ConnectivityObserver = ServiceLocator.connectivityObserver @State private var isVisible = false @State private var cancellable: AnyCancellable? + @Environment(\.posConnectivityProvider) private var provider var body: some View { ZStack(alignment: .top) { @@ -16,8 +17,8 @@ struct POSConnectivityView: View { .animation(.easeInOut(duration: Constants.connectivityAnimationDuration), value: isVisible) .onAppear { - updateVisibility(connectivityObserver.currentStatus) - cancellable = connectivityObserver.statusPublisher + updateVisibility(provider.connectivityObserver.currentStatus) + cancellable = provider.connectivityObserver.statusPublisher .receive(on: DispatchQueue.main) .sink { status in updateVisibility(status) diff --git a/WooCommerce/Classes/POS/Presentation/Reusable Views/POSListEmptyView.swift b/WooCommerce/Classes/POS/Presentation/Reusable Views/POSListEmptyView.swift index c178b9de856..f7e0e21fd21 100644 --- a/WooCommerce/Classes/POS/Presentation/Reusable Views/POSListEmptyView.swift +++ b/WooCommerce/Classes/POS/Presentation/Reusable Views/POSListEmptyView.swift @@ -1,4 +1,5 @@ import SwiftUI +import struct WooFoundation.ScrollableVStack protocol POSListEmptyViewModelProtocol { var title: String { get } diff --git a/WooCommerce/Classes/POS/Presentation/Reusable Views/POSListErrorView.swift b/WooCommerce/Classes/POS/Presentation/Reusable Views/POSListErrorView.swift index 36f72af057d..20e94091555 100644 --- a/WooCommerce/Classes/POS/Presentation/Reusable Views/POSListErrorView.swift +++ b/WooCommerce/Classes/POS/Presentation/Reusable Views/POSListErrorView.swift @@ -1,4 +1,5 @@ import SwiftUI +import struct WooFoundation.ScrollableVStack /// A view that displays an error message with a retry CTA when the list of POS items fails to load. struct POSListErrorView: View { diff --git a/WooCommerce/Classes/POS/Presentation/Reusable Views/POSModalViewModifier.swift b/WooCommerce/Classes/POS/Presentation/Reusable Views/POSModalViewModifier.swift index 1560a294842..efb55522e28 100644 --- a/WooCommerce/Classes/POS/Presentation/Reusable Views/POSModalViewModifier.swift +++ b/WooCommerce/Classes/POS/Presentation/Reusable Views/POSModalViewModifier.swift @@ -251,7 +251,7 @@ extension EnvironmentValues { } } .posModal(isPresented: $showModal) { - PointOfSaleBarcodeScannerSetup(isPresented: $showModal) + PointOfSaleBarcodeScannerSetup(isPresented: $showModal, analytics: EmptyPOSAnalytics()) } .posRootModal() .environmentObject(modalManager) diff --git a/WooCommerce/Classes/POS/Presentation/Reusable Views/POSProgressViewStyle.swift b/WooCommerce/Classes/POS/Presentation/Reusable Views/POSProgressViewStyle.swift index 95ddeb1e500..e0a077147c2 100644 --- a/WooCommerce/Classes/POS/Presentation/Reusable Views/POSProgressViewStyle.swift +++ b/WooCommerce/Classes/POS/Presentation/Reusable Views/POSProgressViewStyle.swift @@ -1,5 +1,5 @@ import SwiftUI -import WooFoundation +import struct WooFoundation.IndefiniteCircularProgressViewStyle struct POSProgressViewStyle: ProgressViewStyle { let size: CGFloat diff --git a/WooCommerce/Classes/POS/Presentation/Reusable Views/POSSendReceiptView.swift b/WooCommerce/Classes/POS/Presentation/Reusable Views/POSSendReceiptView.swift index dcbf8e6a179..64bcc910333 100644 --- a/WooCommerce/Classes/POS/Presentation/Reusable Views/POSSendReceiptView.swift +++ b/WooCommerce/Classes/POS/Presentation/Reusable Views/POSSendReceiptView.swift @@ -8,6 +8,7 @@ struct POSSendReceiptView: View { @State private var buttonState: POSButtonState = .idle @State private var errorMessage: String? @FocusState private var isTextFieldFocused: Bool + @Environment(\.posAnalytics) private var analytics @Binding private(set) var isShowingSendReceiptView: Bool private let onSendReceipt: (String) async throws -> Void @@ -96,7 +97,7 @@ struct POSSendReceiptView: View { } private func sendReceipt() { - ServiceLocator.analytics.track(.pointOfSaleReceiptEmailSendTapped) + analytics.track(.pointOfSaleReceiptEmailSendTapped) Task { @MainActor in guard isEmailValid else { errorMessage = Localization.emailValidationErrorText diff --git a/WooCommerce/Classes/POS/Presentation/Settings/POSSettingsStoreViewModel.swift b/WooCommerce/Classes/POS/Presentation/Settings/POSSettingsStoreViewModel.swift index c6a7a048c5d..ff3ef27b4ef 100644 --- a/WooCommerce/Classes/POS/Presentation/Settings/POSSettingsStoreViewModel.swift +++ b/WooCommerce/Classes/POS/Presentation/Settings/POSSettingsStoreViewModel.swift @@ -4,6 +4,7 @@ import protocol Yosemite.PointOfSaleSettingsServiceProtocol import enum Yosemite.Plugin import struct Yosemite.SiteSetting import struct Yosemite.POSReceiptInformation +import WooFoundationCore final class POSSettingsStoreViewModel: ObservableObject { @Published var receiptInformation = POSReceiptInformation.empty diff --git a/WooCommerce/Classes/POS/Presentation/Settings/PointOfSaleSettingsHardwareDetailView.swift b/WooCommerce/Classes/POS/Presentation/Settings/PointOfSaleSettingsHardwareDetailView.swift index b28d9c6263e..4fb6ec1a9f8 100644 --- a/WooCommerce/Classes/POS/Presentation/Settings/PointOfSaleSettingsHardwareDetailView.swift +++ b/WooCommerce/Classes/POS/Presentation/Settings/PointOfSaleSettingsHardwareDetailView.swift @@ -2,6 +2,7 @@ import SwiftUI struct PointOfSaleSettingsHardwareDetailView: View { @Environment(\.dynamicTypeSize) private var dynamicTypeSize + @Environment(\.posAnalytics) private var analytics let settingsController: PointOfSaleSettingsControllerProtocol @@ -73,7 +74,7 @@ struct PointOfSaleSettingsHardwareDetailView: View { } } .posModal(isPresented: $showBarcodeScanningSetupModal) { - PointOfSaleBarcodeScannerSetup(isPresented: $showBarcodeScanningSetupModal) + PointOfSaleBarcodeScannerSetup(isPresented: $showBarcodeScanningSetupModal, analytics: analytics) } .posFullScreenCover(isPresented: $showBarcodeScanningDocumentationModal) { SafariView(url: POSConstants.URLs.pointOfSaleBarcodeScannerDocumentation.asURL()) diff --git a/WooCommerce/Classes/POS/Presentation/Settings/PointOfSaleSettingsHelpDetailView.swift b/WooCommerce/Classes/POS/Presentation/Settings/PointOfSaleSettingsHelpDetailView.swift index 4681645a00e..5f7422f8597 100644 --- a/WooCommerce/Classes/POS/Presentation/Settings/PointOfSaleSettingsHelpDetailView.swift +++ b/WooCommerce/Classes/POS/Presentation/Settings/PointOfSaleSettingsHelpDetailView.swift @@ -2,6 +2,7 @@ import SwiftUI struct PointOfSaleSettingsHelpDetailView: View { @Environment(\.dynamicTypeSize) private var dynamicTypeSize + @Environment(\.posExternalViews) private var externalViews @State private var showProductRestrictions = false @State private var showDocumentation = false @@ -174,9 +175,7 @@ private extension PointOfSaleSettingsHelpDetailView { var supportForm: some View { NavigationView { - SupportForm(isPresented: $showSupport, - viewModel: SupportFormViewModel(sourceTag: Constants.supportTag, - defaultSite: ServiceLocator.stores.sessionManager.defaultSite)) + externalViews.createSupportFormView(isPresented: $showSupport, sourceTag: Constants.supportTag) .toolbar { ToolbarItem(placement: .cancellationAction) { Button(Localization.supportCancel) { diff --git a/WooCommerce/Classes/POS/Presentation/Settings/PointOfSaleSettingsView.swift b/WooCommerce/Classes/POS/Presentation/Settings/PointOfSaleSettingsView.swift index 2106b8030af..49cda1e0b8b 100644 --- a/WooCommerce/Classes/POS/Presentation/Settings/PointOfSaleSettingsView.swift +++ b/WooCommerce/Classes/POS/Presentation/Settings/PointOfSaleSettingsView.swift @@ -2,6 +2,7 @@ import SwiftUI struct PointOfSaleSettingsView: View { @Environment(\.dismiss) private var dismiss + @Environment(\.posAnalytics) private var analytics @State private var selection: SidebarNavigation? = .store let settingsController: PointOfSaleSettingsControllerProtocol @@ -27,7 +28,7 @@ extension PointOfSaleSettingsView { title: Localization.navigationTitle, backButtonConfiguration: .init(state: .enabled, action: { - ServiceLocator.analytics.track(.pointOfSaleSettingsCloseButtonTapped) + analytics.track(.pointOfSaleSettingsCloseButtonTapped) dismiss() }, buttonIcon: "xmark")) @@ -39,7 +40,7 @@ extension PointOfSaleSettingsView { item: .store, isSelected: selection == .store, onTap: { - ServiceLocator.analytics.track(.pointOfSaleSettingsStoreDetailsTapped) + analytics.track(.pointOfSaleSettingsStoreDetailsTapped) selection = .store } ) @@ -48,7 +49,7 @@ extension PointOfSaleSettingsView { item: .hardware, isSelected: selection == .hardware, onTap: { - ServiceLocator.analytics.track(.pointOfSaleSettingsHardwareTapped) + analytics.track(.pointOfSaleSettingsHardwareTapped) selection = .hardware } ) @@ -59,7 +60,7 @@ extension PointOfSaleSettingsView { item: .help, isSelected: selection == .help, onTap: { - ServiceLocator.analytics.track(.pointOfSaleSettingsHelpTapped) + analytics.track(.pointOfSaleSettingsHelpTapped) selection = .help } ) diff --git a/WooCommerce/Classes/POS/Presentation/SimpleProductsOnlyInformation.swift b/WooCommerce/Classes/POS/Presentation/SimpleProductsOnlyInformation.swift index 97844c2c09d..367906d4375 100644 --- a/WooCommerce/Classes/POS/Presentation/SimpleProductsOnlyInformation.swift +++ b/WooCommerce/Classes/POS/Presentation/SimpleProductsOnlyInformation.swift @@ -2,12 +2,10 @@ import SwiftUI struct SimpleProductsOnlyInformation: View { @Binding var isPresented: Bool - let deepLinkNavigator: DeepLinkNavigator? + @Environment(\.posExternalNavigation) private var navigation - init(isPresented: Binding, - deepLinkNavigator: DeepLinkNavigator? = AppDelegate.shared.tabBarController) { + init(isPresented: Binding) { self._isPresented = isPresented - self.deepLinkNavigator = deepLinkNavigator } var body: some View { @@ -23,7 +21,7 @@ struct SimpleProductsOnlyInformation: View { Spacer().frame(height: POSSpacing.small) Button { - deepLinkNavigator?.navigate(to: OrdersDestination.createOrder) + navigation.navigateToCreateOrder() } label: { Label(Localization.modalAction, systemImage: "plus") .font(.posBodySmallRegular()) @@ -84,6 +82,5 @@ private extension SimpleProductsOnlyInformation { } #Preview { - SimpleProductsOnlyInformation(isPresented: .constant(true), - deepLinkNavigator: nil) + SimpleProductsOnlyInformation(isPresented: .constant(true)) } diff --git a/WooCommerce/Classes/POS/Presentation/TotalsView.swift b/WooCommerce/Classes/POS/Presentation/TotalsView.swift index 6183734ace0..d99a63130d9 100644 --- a/WooCommerce/Classes/POS/Presentation/TotalsView.swift +++ b/WooCommerce/Classes/POS/Presentation/TotalsView.swift @@ -1,4 +1,5 @@ import SwiftUI +import WooFoundation struct TotalsView: View { @Environment(PointOfSaleAggregateModel.self) private var posModel @@ -484,12 +485,13 @@ private struct PaymentViewContent: View { private struct CashPaymentView: View { let cashPaymentState: PointOfSaleCashPaymentState let orderState: PointOfSaleOrderState + @Environment(\.posCurrencyProvider) private var currencyProvider var body: some View { switch cashPaymentState { case .collectingCash: if case .loaded(let total) = orderState { - PointOfSaleCollectCashView(orderTotal: total.orderTotal) + PointOfSaleCollectCashView(orderTotal: total.orderTotal, currencySettings: currencyProvider.currencySettings) .transition(.move(edge: .trailing)) } case .paymentSuccess: diff --git a/WooCommerce/Classes/POS/Protocols/POSDependencyProviding.swift b/WooCommerce/Classes/POS/Protocols/POSDependencyProviding.swift new file mode 100644 index 00000000000..931edc43f32 --- /dev/null +++ b/WooCommerce/Classes/POS/Protocols/POSDependencyProviding.swift @@ -0,0 +1,56 @@ +import SwiftUI +import WooFoundationCore +import WooFoundation +import enum Experiments.FeatureFlag + +/// POSDepenencyProviding is part of the POS entry point that defines the external dependencies from the Woo app that POS depends on + +/// Protocol that provides analytics tracking capabilities for POS +protocol POSAnalyticsProviding { + func track(event: WooAnalyticsEvent) + func track(_ stat: WooAnalyticsStat) + func track(_ stat: WooAnalyticsStat, parameters: [String: WooAnalyticsEventPropertyType]) + func track(_ stat: WooAnalyticsStat, parameters: [String: WooAnalyticsEventPropertyType], error: Error) +} + +extension POSAnalyticsProviding { + func track(_ stat: WooAnalyticsStat) { + track(stat, parameters: [:]) + } +} + +/// Protocol that provides currency settings access for POS +protocol POSCurrencySettingsProviding { + var currencySettings: CurrencySettings { get } +} + +/// Protocol that provides feature flag checking capabilities for POS +protocol POSFeatureFlagProviding { + func isFeatureFlagEnabled(_ flag: FeatureFlag) -> Bool +} + +/// Protocol that provides connectivity monitoring for POS +protocol POSConnectivityProviding { + var connectivityObserver: ConnectivityObserver { get } +} + +/// Protocol that provides main app navigation capabilities for POS +protocol POSExternalNavigationProviding { + func navigateToCreateOrder() +} + +/// Protocol that provides external view creation capabilities for POS +protocol POSExternalViewProviding { + func createSupportFormView(isPresented: Binding, sourceTag: String) -> AnyView +} + +/// Main protocol that combines all POS dependency providers +/// This enables dependency injection for POS code while maintaining clean separation from ServiceLocator +protocol POSDependencyProviding { + var analytics: POSAnalyticsProviding { get } + var currency: POSCurrencySettingsProviding { get } + var featureFlags: POSFeatureFlagProviding { get } + var connectivity: POSConnectivityProviding { get } + var externalNavigation: POSExternalNavigationProviding { get } + var externalViews: POSExternalViewProviding { get } +} diff --git a/WooCommerce/Classes/POS/TabBar/POSIneligibleView.swift b/WooCommerce/Classes/POS/TabBar/POSIneligibleView.swift index 835d5dbeed9..6d7e4190372 100644 --- a/WooCommerce/Classes/POS/TabBar/POSIneligibleView.swift +++ b/WooCommerce/Classes/POS/TabBar/POSIneligibleView.swift @@ -7,6 +7,7 @@ struct POSIneligibleView: View { let onRefresh: () async throws -> Void @Environment(\.dismiss) private var dismiss @Environment(\.sizeCategory) private var sizeCategory + @Environment(\.posAnalytics) private var analytics @State private var isLoading: Bool = false @State private var scrollViewHeight: CGFloat = 0 @State private var contentHeight: CGFloat = 0 @@ -59,7 +60,7 @@ struct POSIneligibleView: View { Task { @MainActor in do { isLoading = true - ServiceLocator.analytics.track( + analytics.track( event: .PointOfSaleIneligibleUI.ineligibleUIRetryTapped(reason: reason) ) try await onRefresh() @@ -95,10 +96,10 @@ struct POSIneligibleView: View { contentHeight = height } .onAppear { - ServiceLocator.analytics.track(event: .PointOfSaleIneligibleUI.ineligibleUIShown(reason: reason)) + analytics.track(event: .PointOfSaleIneligibleUI.ineligibleUIShown(reason: reason)) } .onChange(of: reason) { _, newReason in - ServiceLocator.analytics.track(event: .PointOfSaleIneligibleUI.ineligibleUIShown(reason: newReason)) + analytics.track(event: .PointOfSaleIneligibleUI.ineligibleUIShown(reason: newReason)) } } .scrollDisabled(shouldDisableScrolling) diff --git a/WooCommerce/Classes/POS/TabBar/POSTabCoordinator.swift b/WooCommerce/Classes/POS/TabBar/POSTabCoordinator.swift index 8168ad9472f..e9e2601835a 100644 --- a/WooCommerce/Classes/POS/TabBar/POSTabCoordinator.swift +++ b/WooCommerce/Classes/POS/TabBar/POSTabCoordinator.swift @@ -89,39 +89,49 @@ private extension POSTabCoordinator { func presentPOSView() { Task { @MainActor [weak self] in guard let self else { return } - let collectOrderPaymentAnalyticsTracker = POSCollectOrderPaymentAnalytics() + let serviceAdaptor = POSServiceLocatorAdaptor() + let collectPaymentAnalyticsAdaptor = POSCollectOrderPaymentAnalyticsAdaptor(analytics: serviceAdaptor.analytics) let cardPresentPaymentService = await CardPresentPaymentService(siteID: siteID, stores: storesManager, - collectOrderPaymentAnalyticsTracker: collectOrderPaymentAnalyticsTracker) + collectOrderPaymentAnalyticsTracker: collectPaymentAnalyticsAdaptor) let settingsService = PointOfSaleSettingsService(siteID: siteID, credentials: credentials, storage: storageManager) let pluginsService = PluginsService(storageManager: storageManager) let siteTimezone = storesManager.sessionManager.defaultSite?.siteTimezone ?? .current + if let receiptService = POSReceiptService(siteID: siteID, credentials: credentials), let orderService = POSOrderService(siteID: siteID, credentials: credentials), #available(iOS 17.0, *) { let receiptSender = POSReceiptSender(siteID: siteID, - orderService: orderService, - receiptService: receiptService) + orderService: orderService, + receiptService: receiptService, + analytics: serviceAdaptor.analytics, + featureFlagService: serviceAdaptor.featureFlags, + pluginsService: pluginsService + ) let posView = PointOfSaleEntryPointView( itemsController: PointOfSaleItemsController( itemProvider: PointOfSaleItemService( currencySettings: currencySettings), - itemFetchStrategyFactory: posItemFetchStrategyFactory), + itemFetchStrategyFactory: posItemFetchStrategyFactory, + analyticsProvider: serviceAdaptor.analytics), purchasableItemsSearchController: PointOfSaleItemsController( itemProvider: PointOfSaleItemService( currencySettings: currencySettings), itemFetchStrategyFactory: posItemFetchStrategyFactory, initialState: .init(containerState: .content, - itemsStack: .init(root: .loaded([], hasMoreItems: true), itemStates: [:]))), + itemsStack: .init(root: .loaded([], hasMoreItems: true), itemStates: [:])), + analyticsProvider: serviceAdaptor.analytics), couponsController: PointOfSaleCouponsController(itemProvider: posCouponProvider, - fetchStrategyFactory: posCouponFetchStrategyFactory), + fetchStrategyFactory: posCouponFetchStrategyFactory, + analyticsProvider: serviceAdaptor.analytics), couponsSearchController: PointOfSaleCouponsController(itemProvider: posCouponProvider, - fetchStrategyFactory: posCouponFetchStrategyFactory), + fetchStrategyFactory: posCouponFetchStrategyFactory, + analyticsProvider: serviceAdaptor.analytics), ordersController: POSOrderListController( orderListFetchStrategyFactory: POSOrderListFetchStrategyFactory( siteID: siteID, @@ -135,21 +145,27 @@ private extension POSTabCoordinator { }, cardPresentPaymentService: cardPresentPaymentService, orderController: PointOfSaleOrderController(orderService: orderService, - receiptSender: receiptSender), + receiptSender: receiptSender, + currencySettingsProvider: serviceAdaptor.currency, + analytics: serviceAdaptor.analytics), receiptSender: receiptSender, settingsController: PointOfSaleSettingsController(siteID: siteID, settingsService: settingsService, cardPresentPaymentService: cardPresentPaymentService, - pluginsService: pluginsService), - collectOrderPaymentAnalyticsTracker: collectOrderPaymentAnalyticsTracker, + pluginsService: pluginsService, + defaultSiteName: storesManager.sessionManager.defaultSite?.name, + siteSettings: ServiceLocator.selectedSiteSettings.siteSettings), + collectOrderPaymentAnalyticsTracker: collectPaymentAnalyticsAdaptor, searchHistoryService: POSSearchHistoryService(siteID: siteID), popularPurchasableItemsController: PointOfSaleItemsController( itemProvider: PointOfSaleItemService(currencySettings: currencySettings), - itemFetchStrategyFactory: posPopularItemFetchStrategyFactory + itemFetchStrategyFactory: posPopularItemFetchStrategyFactory, + analyticsProvider: serviceAdaptor.analytics ), barcodeScanService: barcodeScanService, posEligibilityChecker: eligibilityChecker, - siteTimezone: siteTimezone + siteTimezone: siteTimezone, + services: serviceAdaptor ) let hostingController = UIHostingController(rootView: posView) diff --git a/WooCommerce/Classes/POS/Utils/POSEnvironmentKeys.swift b/WooCommerce/Classes/POS/Utils/POSEnvironmentKeys.swift index 932bfea871a..8c708845c7c 100644 --- a/WooCommerce/Classes/POS/Utils/POSEnvironmentKeys.swift +++ b/WooCommerce/Classes/POS/Utils/POSEnvironmentKeys.swift @@ -1,13 +1,126 @@ -import Foundation import SwiftUI +import Combine +import WooFoundation +import Experiments +import protocol Yosemite.Action +import struct Yosemite.Site struct SiteTimezoneKey: EnvironmentKey { static let defaultValue: TimeZone = .current } +struct POSDependenciesKey: EnvironmentKey { + static let defaultValue: POSDependencyProviding? = nil +} + extension EnvironmentValues { var siteTimezone: TimeZone { get { self[SiteTimezoneKey.self] } set { self[SiteTimezoneKey.self] = newValue } } } + +/// Environment key for POS analytics service in SwiftUI +struct POSAnalyticsKey: EnvironmentKey { + static let defaultValue: POSAnalyticsProviding = EmptyPOSAnalytics() +} + +/// Environment key for POS currency settings +struct POSCurrencySettingsKey: EnvironmentKey { + static let defaultValue: POSCurrencySettingsProviding = EmptyPOSCurrencySettings() +} + +/// Environment key for POS feature flags service +struct POSFeatureFlagsKey: EnvironmentKey { + static let defaultValue: POSFeatureFlagProviding = EmptyPOSFeatureFlags() +} + +/// Environment key for POS connectivity +struct POSConnectivityKey: EnvironmentKey { + static let defaultValue: POSConnectivityProviding = EmptyPOSConnectivityProvider() +} + +/// Environment key for POS navigation service +struct POSExternalNavigationKey: EnvironmentKey { + static let defaultValue: POSExternalNavigationProviding = EmptyPOSExternalNavigation() +} + +/// Environment key for POS external view service +struct POSExternalViewKey: EnvironmentKey { + static let defaultValue: POSExternalViewProviding = EmptyPOSExternalView() +} + +extension EnvironmentValues { + var posAnalytics: POSAnalyticsProviding { + get { self[POSAnalyticsKey.self] } + set { self[POSAnalyticsKey.self] = newValue } + } + + var posCurrencyProvider: POSCurrencySettingsProviding { + get { self[POSCurrencySettingsKey.self] } + set { self[POSCurrencySettingsKey.self] = newValue } + } + + var posFeatureFlags: POSFeatureFlagProviding { + get { self[POSFeatureFlagsKey.self] } + set { self[POSFeatureFlagsKey.self] = newValue } + } + + var posConnectivityProvider: POSConnectivityProviding { + get { self[POSConnectivityKey.self] } + set { self[POSConnectivityKey.self] = newValue } + } + + var posExternalNavigation: POSExternalNavigationProviding { + get { self[POSExternalNavigationKey.self] } + set { self[POSExternalNavigationKey.self] = newValue } + } + + var posExternalViews: POSExternalViewProviding { + get { self[POSExternalViewKey.self] } + set { self[POSExternalViewKey.self] = newValue } + } +} + +// MARK: - Empty Default Values + +struct EmptyPOSExternalNavigation: POSExternalNavigationProviding { + func navigateToCreateOrder() {} + init() {} +} + +struct EmptyPOSFeatureFlags: POSFeatureFlagProviding { + func isFeatureFlagEnabled(_ flag: FeatureFlag) -> Bool { false } + init() {} +} + +struct EmptyPOSCurrencySettings: POSCurrencySettingsProviding { + var currencySettings = CurrencySettings() + init() {} +} + +class EmptyPOSConnectivityProvider: POSConnectivityProviding { + var connectivityObserver: WooFoundation.ConnectivityObserver = EmptyPOSConnectivity() + init() {} +} + +class EmptyPOSConnectivity: ConnectivityObserver { + @Published private(set) var currentStatus: ConnectivityStatus = .reachable(type: .ethernetOrWiFi) + var statusPublisher: AnyPublisher { $currentStatus.eraseToAnyPublisher() } + func startObserving() {} + func stopObserving() {} + init() {} +} + +struct EmptyPOSAnalytics: POSAnalyticsProviding { + func track(event: WooAnalyticsEvent) {} + func track(_ stat: WooAnalyticsStat, parameters: [String: WooAnalyticsEventPropertyType] = [:]) {} + func track(_ stat: WooAnalyticsStat) {} + func track(_ stat: WooFoundationCore.WooAnalyticsStat, parameters: [String: WooAnalyticsEventPropertyType], error: any Error) {} + init() {} +} + +struct EmptyPOSExternalView: POSExternalViewProviding { + func createSupportFormView(isPresented: Binding, sourceTag: String) -> AnyView { AnyView(EmptyView()) } + init() {} +} diff --git a/WooCommerce/Classes/POS/Utils/POSReceiptSender.swift b/WooCommerce/Classes/POS/Utils/POSReceiptSender.swift index e9aac43b82b..8f056b7d8bb 100644 --- a/WooCommerce/Classes/POS/Utils/POSReceiptSender.swift +++ b/WooCommerce/Classes/POS/Utils/POSReceiptSender.swift @@ -8,6 +8,7 @@ import struct Yosemite.Order import enum Yosemite.Plugin import protocol WooFoundation.Analytics import class Yosemite.PluginsService +import WooFoundationCore protocol POSReceiptSending { func sendReceipt(orderID: Int64, recipientEmail: String) async throws @@ -17,9 +18,10 @@ final class POSReceiptSender: POSReceiptSending { init(siteID: Int64, orderService: POSOrderServiceProtocol, receiptService: POSReceiptServiceProtocol, - analytics: Analytics = ServiceLocator.analytics, - featureFlagService: FeatureFlagService = ServiceLocator.featureFlagService, - pluginsService: PluginsServiceProtocol = PluginsService(storageManager: ServiceLocator.storageManager)) { + analytics: POSAnalyticsProviding, + featureFlagService: POSFeatureFlagProviding, + pluginsService: PluginsServiceProtocol + ) { self.siteID = siteID self.orderService = orderService self.receiptService = receiptService @@ -31,8 +33,8 @@ final class POSReceiptSender: POSReceiptSending { private let siteID: Int64 private let orderService: POSOrderServiceProtocol private let receiptService: POSReceiptServiceProtocol - private let analytics: Analytics - private let featureFlagService: FeatureFlagService + private let analytics: POSAnalyticsProviding + private let featureFlagService: POSFeatureFlagProviding private let pluginsService: PluginsServiceProtocol @MainActor @@ -59,12 +61,12 @@ final class POSReceiptSender: POSReceiptSending { try await receiptService.sendReceipt(orderID: orderID, recipientEmail: recipientEmail, isEligibleForPOSReceipt: posReceiptEligibility) - analytics.track(.receiptEmailSuccess, withProperties: ["eligible_for_pos_receipt": posReceiptEligibility]) + analytics.track(.receiptEmailSuccess, parameters: ["eligible_for_pos_receipt": posReceiptEligibility]) } catch { let properties = [ "eligible_for_pos_receipt": isEligibleForPOSReceipt ].compactMapValues( { $0 }) - analytics.track(.receiptEmailFailed, properties: properties, error: error) + analytics.track(.receiptEmailFailed, parameters: properties, error: error) throw error } } diff --git a/WooCommerce/Classes/POS/Utils/PreviewHelpers.swift b/WooCommerce/Classes/POS/Utils/PreviewHelpers.swift index 13de21e337d..80077da1b5d 100644 --- a/WooCommerce/Classes/POS/Utils/PreviewHelpers.swift +++ b/WooCommerce/Classes/POS/Utils/PreviewHelpers.swift @@ -219,10 +219,13 @@ struct POSPreviewHelpers { collectOrderPaymentAnalyticsTracker: POSCollectOrderPaymentAnalyticsTracking = POSCollectOrderPaymentPreviewAnalytics(), searchHistoryService: POSSearchHistoryProviding = PointOfSalePreviewHistoryService(), popularItemsController: PointOfSaleItemsControllerProtocol = PointOfSalePreviewItemsController(), - barcodeScanService: PointOfSaleBarcodeScanServiceProtocol = PointOfSalePreviewBarcodeScanService() + barcodeScanService: PointOfSaleBarcodeScanServiceProtocol = PointOfSalePreviewBarcodeScanService(), + analytics: POSAnalyticsProviding = EmptyPOSAnalytics(), + featureFlags: POSFeatureFlagProviding = EmptyPOSFeatureFlags() ) -> PointOfSaleAggregateModel { return PointOfSaleAggregateModel( - entryPointController: POSEntryPointController(eligibilityChecker: LegacyPOSTabEligibilityChecker(siteID: 0)), + entryPointController: POSEntryPointController(eligibilityChecker: LegacyPOSTabEligibilityChecker(siteID: 0), + featureFlagService: featureFlags), itemsController: itemsController, purchasableItemsSearchController: purchasableItemsSearchController, couponsController: couponsController, @@ -230,6 +233,7 @@ struct POSPreviewHelpers { cardPresentPaymentService: cardPresentPaymentService, orderController: orderController, settingsController: settingsController, + analytics: analytics, collectOrderPaymentAnalyticsTracker: collectOrderPaymentAnalyticsTracker, searchHistoryService: searchHistoryService, popularPurchasableItemsController: popularItemsController, @@ -438,4 +442,13 @@ final class POSCollectOrderPaymentPreviewAnalytics: POSCollectOrderPaymentAnalyt func trackReceiptPrintFailed(error: any Error) {} } +final class POSPreviewServices: POSDependencyProviding { + var analytics: POSAnalyticsProviding = EmptyPOSAnalytics() + var currency: POSCurrencySettingsProviding = EmptyPOSCurrencySettings() + var featureFlags: POSFeatureFlagProviding = EmptyPOSFeatureFlags() + var connectivity: POSConnectivityProviding = EmptyPOSConnectivityProvider() + var externalNavigation: POSExternalNavigationProviding = EmptyPOSExternalNavigation() + var externalViews: POSExternalViewProviding = EmptyPOSExternalView() +} + #endif diff --git a/WooCommerce/Classes/POS/ViewHelpers/CartViewHelper.swift b/WooCommerce/Classes/POS/ViewHelpers/CartViewHelper.swift index dcca305c839..df5b2a89f81 100644 --- a/WooCommerce/Classes/POS/ViewHelpers/CartViewHelper.swift +++ b/WooCommerce/Classes/POS/ViewHelpers/CartViewHelper.swift @@ -1,4 +1,5 @@ import Foundation +import WooFoundation struct CartViewHelper { func itemsInCartLabel(for itemsCount: Int) -> String? { diff --git a/WooCommerce/Classes/POS/ViewHelpers/CollectCashViewHelper.swift b/WooCommerce/Classes/POS/ViewHelpers/CollectCashViewHelper.swift index 62bf6a9d0a6..5f4d86c56f9 100644 --- a/WooCommerce/Classes/POS/ViewHelpers/CollectCashViewHelper.swift +++ b/WooCommerce/Classes/POS/ViewHelpers/CollectCashViewHelper.swift @@ -3,8 +3,13 @@ import SwiftUI import WooFoundation final class CollectCashViewHelper { - private let currencyFormatter: CurrencyFormatter = WooFoundation.CurrencyFormatter(currencySettings: ServiceLocator.currencySettings) - private let currencySettings: CurrencySettings = ServiceLocator.currencySettings + private let currencyFormatter: CurrencyFormatter + private let currencySettings: CurrencySettings + + init(currencySettings: CurrencySettings) { + self.currencySettings = currencySettings + self.currencyFormatter = CurrencyFormatter(currencySettings: currencySettings) + } // Configures the formatter as close as possible to use the Store's settings private lazy var numberFormatter: NumberFormatter = { diff --git a/WooCommerce/Classes/POS/ViewHelpers/TotalsViewHelper.swift b/WooCommerce/Classes/POS/ViewHelpers/TotalsViewHelper.swift index 9f1d5f896e7..25243a4c9ce 100644 --- a/WooCommerce/Classes/POS/ViewHelpers/TotalsViewHelper.swift +++ b/WooCommerce/Classes/POS/ViewHelpers/TotalsViewHelper.swift @@ -1,4 +1,5 @@ import Foundation +import WooFoundation struct TotalsViewHelper { func shouldShowTotalsFields(for paymentState: PointOfSalePaymentState) -> Bool { diff --git a/WooCommerce/Classes/System/WatchDependenciesSynchronizer.swift b/WooCommerce/Classes/System/WatchDependenciesSynchronizer.swift index d54d67a3104..f495cba6bfa 100644 --- a/WooCommerce/Classes/System/WatchDependenciesSynchronizer.swift +++ b/WooCommerce/Classes/System/WatchDependenciesSynchronizer.swift @@ -3,6 +3,7 @@ import Combine import Networking import protocol WooFoundation.Analytics import class WooFoundation.CurrencySettings +import WooFoundationCore /// Type that syncs the necessary dependencies to the watch session. /// diff --git a/WooCommerce/Classes/System/WooNavigationController.swift b/WooCommerce/Classes/System/WooNavigationController.swift index b0fc9c8f4c9..ea7a09e52ec 100644 --- a/WooCommerce/Classes/System/WooNavigationController.swift +++ b/WooCommerce/Classes/System/WooNavigationController.swift @@ -1,5 +1,7 @@ import Combine import UIKit +import protocol WooFoundation.ConnectivityObserver +import enum WooFoundation.ConnectivityStatus /// Subclass to set Woo styling. Removes back button text on managed view controllers. /// diff --git a/WooCommerce/Classes/Tools/CardPresentPluginsDataProvider.swift b/WooCommerce/Classes/Tools/CardPresentPluginsDataProvider.swift index 694dda1fa47..16b30c50a82 100644 --- a/WooCommerce/Classes/Tools/CardPresentPluginsDataProvider.swift +++ b/WooCommerce/Classes/Tools/CardPresentPluginsDataProvider.swift @@ -1,6 +1,7 @@ import Yosemite import Foundation import Storage +import class WooFoundation.VersionHelpers /// Provides information about which of the payment plugins (WCPay and Stripe) are installed and active /// diff --git a/WooCommerce/Classes/ViewModels/CardPresentPayments/PaymentReceiptEmailParameterDeterminer.swift b/WooCommerce/Classes/ViewModels/CardPresentPayments/PaymentReceiptEmailParameterDeterminer.swift index d4f6229beaa..58de08ea8b4 100644 --- a/WooCommerce/Classes/ViewModels/CardPresentPayments/PaymentReceiptEmailParameterDeterminer.swift +++ b/WooCommerce/Classes/ViewModels/CardPresentPayments/PaymentReceiptEmailParameterDeterminer.swift @@ -1,5 +1,6 @@ import Foundation import Yosemite +import class WooFoundation.VersionHelpers /// Determines the email to be set (if any) on a receipt /// diff --git a/WooCommerce/Classes/ViewModels/Order Details/CardPresentPaymentsReadinessUseCase.swift b/WooCommerce/Classes/ViewModels/Order Details/CardPresentPaymentsReadinessUseCase.swift index c9e6dd90028..44c0a5d2142 100644 --- a/WooCommerce/Classes/ViewModels/Order Details/CardPresentPaymentsReadinessUseCase.swift +++ b/WooCommerce/Classes/ViewModels/Order Details/CardPresentPaymentsReadinessUseCase.swift @@ -1,6 +1,7 @@ import Foundation import Combine import Yosemite +import WooFoundation final class CardPresentPaymentsReadinessUseCase { /// Represents the system's readiness to accept a card payment diff --git a/WooCommerce/Classes/ViewModels/Order Details/OrderDetailsViewModel.swift b/WooCommerce/Classes/ViewModels/Order Details/OrderDetailsViewModel.swift index 67aa5a2f7ee..401717b425f 100644 --- a/WooCommerce/Classes/ViewModels/Order Details/OrderDetailsViewModel.swift +++ b/WooCommerce/Classes/ViewModels/Order Details/OrderDetailsViewModel.swift @@ -6,6 +6,7 @@ import MessageUI import Combine import Experiments import WooFoundation +import WooFoundationCore import SwiftUI import enum Networking.DotcomError import protocol Storage.StorageManagerType diff --git a/WooCommerce/Classes/ViewModels/Order Details/Receipts/ReceiptEligibilityUseCase.swift b/WooCommerce/Classes/ViewModels/Order Details/Receipts/ReceiptEligibilityUseCase.swift index c7a21e56f89..a1fb35df566 100644 --- a/WooCommerce/Classes/ViewModels/Order Details/Receipts/ReceiptEligibilityUseCase.swift +++ b/WooCommerce/Classes/ViewModels/Order Details/Receipts/ReceiptEligibilityUseCase.swift @@ -1,5 +1,6 @@ import Yosemite import Experiments +import class WooFoundation.VersionHelpers protocol ReceiptEligibilityUseCaseProtocol { func isEligibleForBackendReceipts(onCompletion: @escaping (Bool) -> Void) @@ -33,17 +34,6 @@ final class ReceiptEligibilityUseCase: ReceiptEligibilityUseCaseProtocol { } } - /// Returns true if Point of Sale allows sending successful payment email receipts via the API. - /// WooCommerce 9.5 allows to attach a customer email after payment is made and send email receipt via the API. - /// - func isEligibleForPointOfSaleReceipts(onCompletion: @escaping (Bool) -> Void) { - Task { @MainActor in - let isWooCommerceSupported = await isPluginSupported(.wooCommerce, - minimumVersion: Constants.PointOfSaleReceipts.wcPluginMinimumVersion) - onCompletion(isWooCommerceSupported) - } - } - /// Returns true if In Person Payments allows sending successful payment email receipts via the API. /// WooCommerce 9.5 allows to attach a customer email after payment is made and send email receipt via the API. /// diff --git a/WooCommerce/Classes/ViewRelated/Authentication/AuthenticationFormFieldView.swift b/WooCommerce/Classes/ViewRelated/Authentication/AuthenticationFormFieldView.swift index b183144c9e8..7fb0a470f57 100644 --- a/WooCommerce/Classes/ViewRelated/Authentication/AuthenticationFormFieldView.swift +++ b/WooCommerce/Classes/ViewRelated/Authentication/AuthenticationFormFieldView.swift @@ -1,4 +1,5 @@ import SwiftUI +import struct WooFoundation.WooRoundedBorderTextFieldStyle /// Necessary data for the account creation / authentication form field. struct AuthenticationFormFieldViewModel { diff --git a/WooCommerce/Classes/ViewRelated/Blaze/BudgetSetting/BlazeBudgetSettingView.swift b/WooCommerce/Classes/ViewRelated/Blaze/BudgetSetting/BlazeBudgetSettingView.swift index cef6ad7ca80..be631280051 100644 --- a/WooCommerce/Classes/ViewRelated/Blaze/BudgetSetting/BlazeBudgetSettingView.swift +++ b/WooCommerce/Classes/ViewRelated/Blaze/BudgetSetting/BlazeBudgetSettingView.swift @@ -1,4 +1,5 @@ import SwiftUI +import struct WooFoundation.ScrollableVStack /// View to set budget for a new Blaze campaign struct BlazeBudgetSettingView: View { diff --git a/WooCommerce/Classes/ViewRelated/Blaze/BudgetSetting/BlazeScheduleSettingView.swift b/WooCommerce/Classes/ViewRelated/Blaze/BudgetSetting/BlazeScheduleSettingView.swift index 7b3d9a627db..1c1b302a555 100644 --- a/WooCommerce/Classes/ViewRelated/Blaze/BudgetSetting/BlazeScheduleSettingView.swift +++ b/WooCommerce/Classes/ViewRelated/Blaze/BudgetSetting/BlazeScheduleSettingView.swift @@ -1,4 +1,5 @@ import SwiftUI +import struct WooFoundation.ScrollableVStack /// View to set the schedule for a Blaze campaign. /// diff --git a/WooCommerce/Classes/ViewRelated/Blaze/CampaignCreation/BlazeCampaignCreationLoadingView.swift b/WooCommerce/Classes/ViewRelated/Blaze/CampaignCreation/BlazeCampaignCreationLoadingView.swift index 76275a89454..110729dff04 100644 --- a/WooCommerce/Classes/ViewRelated/Blaze/CampaignCreation/BlazeCampaignCreationLoadingView.swift +++ b/WooCommerce/Classes/ViewRelated/Blaze/CampaignCreation/BlazeCampaignCreationLoadingView.swift @@ -1,4 +1,5 @@ import SwiftUI +import struct WooFoundation.ScrollableVStack struct BlazeCampaignCreationLoadingView: View { var body: some View { diff --git a/WooCommerce/Classes/ViewRelated/CardPresentPayments/CardPresentPaymentsModalViewController.swift b/WooCommerce/Classes/ViewRelated/CardPresentPayments/CardPresentPaymentsModalViewController.swift index 13ec14409e7..6e41681e700 100644 --- a/WooCommerce/Classes/ViewRelated/CardPresentPayments/CardPresentPaymentsModalViewController.swift +++ b/WooCommerce/Classes/ViewRelated/CardPresentPayments/CardPresentPaymentsModalViewController.swift @@ -1,6 +1,7 @@ import UIKit import SwiftUI import SafariServices +import struct WooFoundation.IndefiniteCircularProgressViewStyle /// UI containing modals presented in the Card Present Payments flows. final class CardPresentPaymentsModalViewController: UIViewController, CardReaderModalFlowViewControllerProtocol { diff --git a/WooCommerce/Classes/ViewRelated/Coupons/CouponDetails/CouponDetails.swift b/WooCommerce/Classes/ViewRelated/Coupons/CouponDetails/CouponDetails.swift index 168d1f55996..f0aa5663f48 100644 --- a/WooCommerce/Classes/ViewRelated/Coupons/CouponDetails/CouponDetails.swift +++ b/WooCommerce/Classes/ViewRelated/Coupons/CouponDetails/CouponDetails.swift @@ -1,5 +1,6 @@ import SwiftUI import Yosemite +import WooFoundation /// Hosting controller wrapper for `CouponDetails` /// diff --git a/WooCommerce/Classes/ViewRelated/Customers/CustomersListViewModel.swift b/WooCommerce/Classes/ViewRelated/Customers/CustomersListViewModel.swift index c284bd7b043..a5f05b61e98 100644 --- a/WooCommerce/Classes/ViewRelated/Customers/CustomersListViewModel.swift +++ b/WooCommerce/Classes/ViewRelated/Customers/CustomersListViewModel.swift @@ -2,6 +2,7 @@ import Foundation import Yosemite import protocol Storage.StorageManagerType import Combine +import class WooFoundation.VersionHelpers final class CustomersListViewModel: ObservableObject { diff --git a/WooCommerce/Classes/ViewRelated/Dashboard/DashboardView.swift b/WooCommerce/Classes/ViewRelated/Dashboard/DashboardView.swift index 063b0cbede5..d48fc998938 100644 --- a/WooCommerce/Classes/ViewRelated/Dashboard/DashboardView.swift +++ b/WooCommerce/Classes/ViewRelated/Dashboard/DashboardView.swift @@ -5,6 +5,7 @@ import struct Yosemite.StoreOnboardingTask import struct Yosemite.Coupon import struct Yosemite.Order import struct Yosemite.DashboardCard +import enum WooFoundation.ConnectivityStatus /// View for the dashboard screen /// diff --git a/WooCommerce/Classes/ViewRelated/Dashboard/Free Trial/StorePlanBannerPresenter.swift b/WooCommerce/Classes/ViewRelated/Dashboard/Free Trial/StorePlanBannerPresenter.swift index 6de4e599980..440a0398437 100644 --- a/WooCommerce/Classes/ViewRelated/Dashboard/Free Trial/StorePlanBannerPresenter.swift +++ b/WooCommerce/Classes/ViewRelated/Dashboard/Free Trial/StorePlanBannerPresenter.swift @@ -3,6 +3,7 @@ import Yosemite import Combine import UIKit import protocol Experiments.FeatureFlagService +import protocol WooFoundation.ConnectivityObserver /// Presents or hides the store plan info banner at the bottom of the screen. /// Internally uses the `storePlanSynchronizer` to know when to present or hide the banner. diff --git a/WooCommerce/Classes/ViewRelated/Dashboard/ProductStock/ProductStockDashboardCard.swift b/WooCommerce/Classes/ViewRelated/Dashboard/ProductStock/ProductStockDashboardCard.swift index 29a7b82b37a..18f90d21809 100644 --- a/WooCommerce/Classes/ViewRelated/Dashboard/ProductStock/ProductStockDashboardCard.swift +++ b/WooCommerce/Classes/ViewRelated/Dashboard/ProductStock/ProductStockDashboardCard.swift @@ -2,6 +2,7 @@ import Kingfisher import SwiftUI import struct Yosemite.ProductReport import struct Yosemite.DashboardCard +import WooFoundation /// View for displaying stock based on status on the dashboard. /// diff --git a/WooCommerce/Classes/ViewRelated/Dashboard/Settings/CardReadersV2/SetUpTapToPayCompleteViewController.swift b/WooCommerce/Classes/ViewRelated/Dashboard/Settings/CardReadersV2/SetUpTapToPayCompleteViewController.swift index a697c65fee3..8d2bd98a9d9 100644 --- a/WooCommerce/Classes/ViewRelated/Dashboard/Settings/CardReadersV2/SetUpTapToPayCompleteViewController.swift +++ b/WooCommerce/Classes/ViewRelated/Dashboard/Settings/CardReadersV2/SetUpTapToPayCompleteViewController.swift @@ -1,4 +1,5 @@ import SwiftUI +import struct WooFoundation.ScrollableVStack /// This view controller is used when no reader is connected. It assists /// the merchant in connecting to a reader. diff --git a/WooCommerce/Classes/ViewRelated/Dashboard/Settings/CardReadersV2/SetUpTapToPayInformationViewModel.swift b/WooCommerce/Classes/ViewRelated/Dashboard/Settings/CardReadersV2/SetUpTapToPayInformationViewModel.swift index 68e37fa8758..8b86ec12218 100644 --- a/WooCommerce/Classes/ViewRelated/Dashboard/Settings/CardReadersV2/SetUpTapToPayInformationViewModel.swift +++ b/WooCommerce/Classes/ViewRelated/Dashboard/Settings/CardReadersV2/SetUpTapToPayInformationViewModel.swift @@ -2,6 +2,7 @@ import Foundation import Combine import Yosemite import protocol WooFoundation.Analytics +import protocol WooFoundation.ConnectivityObserver final class SetUpTapToPayInformationViewModel: PaymentSettingsFlowPresentedViewModel, ObservableObject { private(set) var shouldShow: CardReaderSettingsTriState = .isUnknown diff --git a/WooCommerce/Classes/ViewRelated/Dashboard/Settings/CardReadersV2/SetUpTapToPayTryPaymentPromptViewController.swift b/WooCommerce/Classes/ViewRelated/Dashboard/Settings/CardReadersV2/SetUpTapToPayTryPaymentPromptViewController.swift index ea51aecd575..4a3cc35ddaa 100644 --- a/WooCommerce/Classes/ViewRelated/Dashboard/Settings/CardReadersV2/SetUpTapToPayTryPaymentPromptViewController.swift +++ b/WooCommerce/Classes/ViewRelated/Dashboard/Settings/CardReadersV2/SetUpTapToPayTryPaymentPromptViewController.swift @@ -1,4 +1,5 @@ import SwiftUI +import struct WooFoundation.ScrollableVStack /// This view controller is used when no reader is connected. It assists /// the merchant in connecting to a reader. diff --git a/WooCommerce/Classes/ViewRelated/Dashboard/Settings/CardReadersV2/Tap to Pay Education/TapToPayEducationStepView.swift b/WooCommerce/Classes/ViewRelated/Dashboard/Settings/CardReadersV2/Tap to Pay Education/TapToPayEducationStepView.swift index 29eb983141c..204654fac2b 100644 --- a/WooCommerce/Classes/ViewRelated/Dashboard/Settings/CardReadersV2/Tap to Pay Education/TapToPayEducationStepView.swift +++ b/WooCommerce/Classes/ViewRelated/Dashboard/Settings/CardReadersV2/Tap to Pay Education/TapToPayEducationStepView.swift @@ -1,5 +1,6 @@ import Foundation import SwiftUI +import struct WooFoundation.ScrollableVStack struct TapToPayEducationStepView: View { private let viewModel: TapToPayEducationStepViewModel diff --git a/WooCommerce/Classes/ViewRelated/Dashboard/Settings/Help/SupportForm/SupportFormMetadataProvider.swift b/WooCommerce/Classes/ViewRelated/Dashboard/Settings/Help/SupportForm/SupportFormMetadataProvider.swift index 698320b2002..f98b19906e8 100644 --- a/WooCommerce/Classes/ViewRelated/Dashboard/Settings/Help/SupportForm/SupportFormMetadataProvider.swift +++ b/WooCommerce/Classes/ViewRelated/Dashboard/Settings/Help/SupportForm/SupportFormMetadataProvider.swift @@ -3,6 +3,7 @@ import CoreTelephony import Yosemite import class WordPressAuthenticator.AuthenticatorAnalyticsTracker import protocol Storage.StorageManagerType +import protocol WooFoundation.ConnectivityObserver /// Helper that provides general device & site zendesk metadata. /// diff --git a/WooCommerce/Classes/ViewRelated/Dashboard/Settings/In-Person Payments/InPersonPaymentsCompletedView.swift b/WooCommerce/Classes/ViewRelated/Dashboard/Settings/In-Person Payments/InPersonPaymentsCompletedView.swift index 341be53efb5..1f53c302328 100644 --- a/WooCommerce/Classes/ViewRelated/Dashboard/Settings/In-Person Payments/InPersonPaymentsCompletedView.swift +++ b/WooCommerce/Classes/ViewRelated/Dashboard/Settings/In-Person Payments/InPersonPaymentsCompletedView.swift @@ -1,4 +1,5 @@ import SwiftUI +import struct WooFoundation.ScrollableVStack struct InPersonPaymentsCompleted: View { var body: some View { diff --git a/WooCommerce/Classes/ViewRelated/Dashboard/Settings/In-Person Payments/InPersonPaymentsLoadingView.swift b/WooCommerce/Classes/ViewRelated/Dashboard/Settings/In-Person Payments/InPersonPaymentsLoadingView.swift index 2ef83ccbe3e..5b7cec2ff47 100644 --- a/WooCommerce/Classes/ViewRelated/Dashboard/Settings/In-Person Payments/InPersonPaymentsLoadingView.swift +++ b/WooCommerce/Classes/ViewRelated/Dashboard/Settings/In-Person Payments/InPersonPaymentsLoadingView.swift @@ -1,4 +1,5 @@ import SwiftUI +import struct WooFoundation.ScrollableVStack struct InPersonPaymentsLoading: View { var body: some View { diff --git a/WooCommerce/Classes/ViewRelated/Dashboard/Settings/In-Person Payments/InPersonPaymentsSelectPluginView.swift b/WooCommerce/Classes/ViewRelated/Dashboard/Settings/In-Person Payments/InPersonPaymentsSelectPluginView.swift index c3149d8dd65..27381027bcf 100644 --- a/WooCommerce/Classes/ViewRelated/Dashboard/Settings/In-Person Payments/InPersonPaymentsSelectPluginView.swift +++ b/WooCommerce/Classes/ViewRelated/Dashboard/Settings/In-Person Payments/InPersonPaymentsSelectPluginView.swift @@ -1,5 +1,6 @@ import SwiftUI import Yosemite +import struct WooFoundation.ScrollableVStack struct InPersonPaymentsSelectPluginRow: View { let icon: UIImage diff --git a/WooCommerce/Classes/ViewRelated/Dashboard/Settings/In-Person Payments/Onboarding Errors/InPersonPaymentsCashOnDeliveryPaymentGatewayNotSetUpView.swift b/WooCommerce/Classes/ViewRelated/Dashboard/Settings/In-Person Payments/Onboarding Errors/InPersonPaymentsCashOnDeliveryPaymentGatewayNotSetUpView.swift index 5a1e7d08102..848546a26e9 100644 --- a/WooCommerce/Classes/ViewRelated/Dashboard/Settings/In-Person Payments/Onboarding Errors/InPersonPaymentsCashOnDeliveryPaymentGatewayNotSetUpView.swift +++ b/WooCommerce/Classes/ViewRelated/Dashboard/Settings/In-Person Payments/Onboarding Errors/InPersonPaymentsCashOnDeliveryPaymentGatewayNotSetUpView.swift @@ -1,5 +1,6 @@ import SwiftUI import Yosemite +import struct WooFoundation.ScrollableVStack struct InPersonPaymentsCashOnDeliveryPaymentGatewayNotSetUpView: View { @ObservedObject var viewModel: InPersonPaymentsCashOnDeliveryPaymentGatewayNotSetUpViewModel diff --git a/WooCommerce/Classes/ViewRelated/Dashboard/Settings/In-Person Payments/Onboarding Errors/InPersonPaymentsOnboardingError.swift b/WooCommerce/Classes/ViewRelated/Dashboard/Settings/In-Person Payments/Onboarding Errors/InPersonPaymentsOnboardingError.swift index 0bd05cfb6ce..acdd7206277 100644 --- a/WooCommerce/Classes/ViewRelated/Dashboard/Settings/In-Person Payments/Onboarding Errors/InPersonPaymentsOnboardingError.swift +++ b/WooCommerce/Classes/ViewRelated/Dashboard/Settings/In-Person Payments/Onboarding Errors/InPersonPaymentsOnboardingError.swift @@ -1,5 +1,6 @@ import SwiftUI import Yosemite +import struct WooFoundation.ScrollableVStack struct InPersonPaymentsOnboardingError: View { let title: String diff --git a/WooCommerce/Classes/ViewRelated/Dashboard/Settings/In-Person Payments/Onboarding Errors/InPersonPaymentsPluginNotSetup.swift b/WooCommerce/Classes/ViewRelated/Dashboard/Settings/In-Person Payments/Onboarding Errors/InPersonPaymentsPluginNotSetup.swift index def4eccd282..169e7e62234 100644 --- a/WooCommerce/Classes/ViewRelated/Dashboard/Settings/In-Person Payments/Onboarding Errors/InPersonPaymentsPluginNotSetup.swift +++ b/WooCommerce/Classes/ViewRelated/Dashboard/Settings/In-Person Payments/Onboarding Errors/InPersonPaymentsPluginNotSetup.swift @@ -1,5 +1,6 @@ import SwiftUI import Yosemite +import struct WooFoundation.ScrollableVStack struct InPersonPaymentsPluginNotSetup: View { let plugin: CardPresentPaymentsPlugin diff --git a/WooCommerce/Classes/ViewRelated/Dashboard/Settings/POS/LegacyPOSTabEligibilityChecker.swift b/WooCommerce/Classes/ViewRelated/Dashboard/Settings/POS/LegacyPOSTabEligibilityChecker.swift index b23b557752d..dcb98a8ed94 100644 --- a/WooCommerce/Classes/ViewRelated/Dashboard/Settings/POS/LegacyPOSTabEligibilityChecker.swift +++ b/WooCommerce/Classes/ViewRelated/Dashboard/Settings/POS/LegacyPOSTabEligibilityChecker.swift @@ -13,6 +13,7 @@ import enum Yosemite.FeatureFlagAction import enum Yosemite.SettingAction import protocol Yosemite.PluginsServiceProtocol import class Yosemite.PluginsService +import class WooFoundation.VersionHelpers /// Legacy enum containing POS invisible reasons + POSIneligibleReason cases for i1. private enum LegacyPOSIneligibleReason: Equatable { diff --git a/WooCommerce/Classes/ViewRelated/Dashboard/Settings/POS/POSTabEligibilityChecker.swift b/WooCommerce/Classes/ViewRelated/Dashboard/Settings/POS/POSTabEligibilityChecker.swift index 04ba3334b3f..33f5c779481 100644 --- a/WooCommerce/Classes/ViewRelated/Dashboard/Settings/POS/POSTabEligibilityChecker.swift +++ b/WooCommerce/Classes/ViewRelated/Dashboard/Settings/POS/POSTabEligibilityChecker.swift @@ -16,23 +16,7 @@ import class Yosemite.POSSystemStatusService import protocol Yosemite.POSSiteSettingServiceProtocol import class Yosemite.POSSiteSettingService import enum Networking.SiteSettingsFeature - -/// Represents the reasons why a site may be ineligible for POS. -enum POSIneligibleReason: Equatable { - case unsupportedIOSVersion - case unsupportedWooCommerceVersion(minimumVersion: String) - case siteSettingsNotAvailable - case wooCommercePluginNotFound - case featureSwitchDisabled - case unsupportedCurrency(countryCode: CountryCode, supportedCurrencies: [CurrencyCode]) - case selfDeallocated -} - -/// Represents the eligibility state for POS. -enum POSEligibilityState: Equatable { - case eligible - case ineligible(reason: POSIneligibleReason) -} +import class WooFoundation.VersionHelpers protocol POSEntryPointEligibilityCheckerProtocol { /// Checks the initial visibility of the POS tab. diff --git a/WooCommerce/Classes/ViewRelated/Dashboard/Settings/PluginDetailsRowView.swift b/WooCommerce/Classes/ViewRelated/Dashboard/Settings/PluginDetailsRowView.swift index 5083504203e..71ec9c7d82e 100644 --- a/WooCommerce/Classes/ViewRelated/Dashboard/Settings/PluginDetailsRowView.swift +++ b/WooCommerce/Classes/ViewRelated/Dashboard/Settings/PluginDetailsRowView.swift @@ -1,5 +1,6 @@ import SwiftUI import Yosemite +import WooFoundation struct PluginListView: View { private let siteID: Int64 diff --git a/WooCommerce/Classes/ViewRelated/Dashboard/Settings/Plugins/PluginDetailsViewModel.swift b/WooCommerce/Classes/ViewRelated/Dashboard/Settings/Plugins/PluginDetailsViewModel.swift index fdb7788dbad..bae2b41f136 100644 --- a/WooCommerce/Classes/ViewRelated/Dashboard/Settings/Plugins/PluginDetailsViewModel.swift +++ b/WooCommerce/Classes/ViewRelated/Dashboard/Settings/Plugins/PluginDetailsViewModel.swift @@ -1,6 +1,7 @@ import Foundation import Yosemite import protocol Storage.StorageManagerType +import class WooFoundation.VersionHelpers final class PluginDetailsViewModel: ObservableObject { /// ID of the site to load plugins for diff --git a/WooCommerce/Classes/ViewRelated/Dashboard/Settings/Settings/SettingsViewModel.swift b/WooCommerce/Classes/ViewRelated/Dashboard/Settings/Settings/SettingsViewModel.swift index fd16a6d874d..c85d6953834 100644 --- a/WooCommerce/Classes/ViewRelated/Dashboard/Settings/Settings/SettingsViewModel.swift +++ b/WooCommerce/Classes/ViewRelated/Dashboard/Settings/Settings/SettingsViewModel.swift @@ -4,6 +4,7 @@ import Storage import class Networking.UserAgent import Experiments import protocol WooFoundation.Analytics +import class WooFoundation.VersionHelpers protocol SettingsViewModelOutput { typealias Section = SettingsViewController.Section diff --git a/WooCommerce/Classes/ViewRelated/Hub Menu/HubMenuViewModel.swift b/WooCommerce/Classes/ViewRelated/Hub Menu/HubMenuViewModel.swift index c45795497ac..d7fc7963cba 100644 --- a/WooCommerce/Classes/ViewRelated/Hub Menu/HubMenuViewModel.swift +++ b/WooCommerce/Classes/ViewRelated/Hub Menu/HubMenuViewModel.swift @@ -115,8 +115,6 @@ final class HubMenuViewModel: ObservableObject { credentials: credentials))) }() - private(set) var cardPresentPaymentService: CardPresentPaymentFacade? - private(set) var collectOrderPaymentAnalyticsTracker = POSCollectOrderPaymentAnalytics() private let analytics: Analytics init(siteID: Int64, @@ -146,7 +144,6 @@ final class HubMenuViewModel: ObservableObject { observePlanName() observeGoogleAdsEntryPointAvailability() tapToPayBadgePromotionChecker.$shouldShowTapToPayBadges.share().assign(to: &$shouldShowNewFeatureBadgeOnPayments) - createCardPresentPaymentService() } func viewDidAppear() async { @@ -233,14 +230,6 @@ final class HubMenuViewModel: ObservableObject { // MARK: - Helper methods // private extension HubMenuViewModel { - func createCardPresentPaymentService() { - Task { - self.cardPresentPaymentService = await CardPresentPaymentService(siteID: siteID, - stores: stores, - collectOrderPaymentAnalyticsTracker: collectOrderPaymentAnalyticsTracker) - } - } - func setupSettingsElements() { settingsElements = [Settings()] diff --git a/WooCommerce/Classes/ViewRelated/JetpackSetup/AdminRole/AdminRoleRequiredView.swift b/WooCommerce/Classes/ViewRelated/JetpackSetup/AdminRole/AdminRoleRequiredView.swift index 61c63ff6344..a6e7183e9cd 100644 --- a/WooCommerce/Classes/ViewRelated/JetpackSetup/AdminRole/AdminRoleRequiredView.swift +++ b/WooCommerce/Classes/ViewRelated/JetpackSetup/AdminRole/AdminRoleRequiredView.swift @@ -1,4 +1,5 @@ import SwiftUI +import struct WooFoundation.ScrollableVStack /// Hosting controller that wraps the `AdminRoleRequiredView`. final class AdminRoleRequiredHostingController: UIHostingController { diff --git a/WooCommerce/Classes/ViewRelated/Orders/Order Creation/CustomerSection/CustomerCard/CollapsibleCustomerCard.swift b/WooCommerce/Classes/ViewRelated/Orders/Order Creation/CustomerSection/CustomerCard/CollapsibleCustomerCard.swift index 672b94ba82a..e70fbd98b69 100644 --- a/WooCommerce/Classes/ViewRelated/Orders/Order Creation/CustomerSection/CustomerCard/CollapsibleCustomerCard.swift +++ b/WooCommerce/Classes/ViewRelated/Orders/Order Creation/CustomerSection/CustomerCard/CollapsibleCustomerCard.swift @@ -1,4 +1,5 @@ import SwiftUI +import struct WooFoundation.WooRoundedBorderTextFieldStyle /// Displays a collapsible customer card that shows customer details in the collapsed and expanded states. struct CollapsibleCustomerCard: View { diff --git a/WooCommerce/Classes/ViewRelated/Orders/Order Creation/CustomerSection/CustomerSelectorViewModel.swift b/WooCommerce/Classes/ViewRelated/Orders/Order Creation/CustomerSection/CustomerSelectorViewModel.swift index 68ef00f5fca..9a68b138413 100644 --- a/WooCommerce/Classes/ViewRelated/Orders/Order Creation/CustomerSection/CustomerSelectorViewModel.swift +++ b/WooCommerce/Classes/ViewRelated/Orders/Order Creation/CustomerSection/CustomerSelectorViewModel.swift @@ -1,5 +1,6 @@ import Foundation import Yosemite +import class WooFoundation.VersionHelpers final class CustomerSelectorViewModel { private let stores: StoresManager diff --git a/WooCommerce/Classes/ViewRelated/Orders/Order Creation/PaymentSection/GiftCardInputView.swift b/WooCommerce/Classes/ViewRelated/Orders/Order Creation/PaymentSection/GiftCardInputView.swift index d370b6b0037..110a8558f92 100644 --- a/WooCommerce/Classes/ViewRelated/Orders/Order Creation/PaymentSection/GiftCardInputView.swift +++ b/WooCommerce/Classes/ViewRelated/Orders/Order Creation/PaymentSection/GiftCardInputView.swift @@ -1,4 +1,5 @@ import SwiftUI +import struct WooFoundation.WooRoundedBorderTextFieldStyle /// Allows the user to enter a gift card code. struct GiftCardInputView: View { diff --git a/WooCommerce/Classes/ViewRelated/Orders/Order Details/Product List Section/Product Details/AggregatedProductListViewController.swift b/WooCommerce/Classes/ViewRelated/Orders/Order Details/Product List Section/Product Details/AggregatedProductListViewController.swift index 93526cf01bb..f1f861186b0 100644 --- a/WooCommerce/Classes/ViewRelated/Orders/Order Details/Product List Section/Product Details/AggregatedProductListViewController.swift +++ b/WooCommerce/Classes/ViewRelated/Orders/Order Details/Product List Section/Product Details/AggregatedProductListViewController.swift @@ -1,6 +1,6 @@ import UIKit import Yosemite - +import WooFoundation /// A simple Product List presented from the Order Details screen -> Shipping Labels Packages. /// diff --git a/WooCommerce/Classes/ViewRelated/Orders/Order Details/Shipping Labels/WooShipping Create Shipping Labels/Refund/WooShippingRefundView.swift b/WooCommerce/Classes/ViewRelated/Orders/Order Details/Shipping Labels/WooShipping Create Shipping Labels/Refund/WooShippingRefundView.swift index e693328eb60..301f3d92cc7 100644 --- a/WooCommerce/Classes/ViewRelated/Orders/Order Details/Shipping Labels/WooShipping Create Shipping Labels/Refund/WooShippingRefundView.swift +++ b/WooCommerce/Classes/ViewRelated/Orders/Order Details/Shipping Labels/WooShipping Create Shipping Labels/Refund/WooShippingRefundView.swift @@ -1,5 +1,6 @@ import SwiftUI import Yosemite +import struct WooFoundation.ScrollableVStack /// View for requesting refund for a shipping label. /// diff --git a/WooCommerce/Classes/ViewRelated/Orders/Order Details/Shipping Labels/WooShipping Create Shipping Labels/ShipmentDetails/WooShippingShipmentDetailsView.swift b/WooCommerce/Classes/ViewRelated/Orders/Order Details/Shipping Labels/WooShipping Create Shipping Labels/ShipmentDetails/WooShippingShipmentDetailsView.swift index c85e7e40778..14f9e672bdb 100644 --- a/WooCommerce/Classes/ViewRelated/Orders/Order Details/Shipping Labels/WooShipping Create Shipping Labels/ShipmentDetails/WooShippingShipmentDetailsView.swift +++ b/WooCommerce/Classes/ViewRelated/Orders/Order Details/Shipping Labels/WooShipping Create Shipping Labels/ShipmentDetails/WooShippingShipmentDetailsView.swift @@ -1,4 +1,5 @@ import SwiftUI +import WooFoundation struct WooShippingShipmentDetailsView: View { @ObservedObject private var viewModel: WooShippingShipmentDetailsViewModel diff --git a/WooCommerce/Classes/ViewRelated/Orders/Order Details/Shipping Labels/WooShipping Create Shipping Labels/UPSTOS/UPSTermsView.swift b/WooCommerce/Classes/ViewRelated/Orders/Order Details/Shipping Labels/WooShipping Create Shipping Labels/UPSTOS/UPSTermsView.swift index 220a448cc2c..90ac02efcee 100644 --- a/WooCommerce/Classes/ViewRelated/Orders/Order Details/Shipping Labels/WooShipping Create Shipping Labels/UPSTOS/UPSTermsView.swift +++ b/WooCommerce/Classes/ViewRelated/Orders/Order Details/Shipping Labels/WooShipping Create Shipping Labels/UPSTOS/UPSTermsView.swift @@ -1,4 +1,5 @@ import SwiftUI +import struct WooFoundation.ScrollableVStack /// View for reviewing UPS Terms and Conditions. struct UPSTermsView: View { diff --git a/WooCommerce/Classes/ViewRelated/Orders/Order Details/Shipping Labels/WooShipping Create Shipping Labels/WooShipping Split Shipments/WooShippingSplitShipmentsView.swift b/WooCommerce/Classes/ViewRelated/Orders/Order Details/Shipping Labels/WooShipping Create Shipping Labels/WooShipping Split Shipments/WooShippingSplitShipmentsView.swift index 18dfc2fb714..5408c07e07d 100644 --- a/WooCommerce/Classes/ViewRelated/Orders/Order Details/Shipping Labels/WooShipping Create Shipping Labels/WooShipping Split Shipments/WooShippingSplitShipmentsView.swift +++ b/WooCommerce/Classes/ViewRelated/Orders/Order Details/Shipping Labels/WooShipping Create Shipping Labels/WooShipping Split Shipments/WooShippingSplitShipmentsView.swift @@ -1,5 +1,6 @@ import SwiftUI import Yosemite +import struct WooFoundation.ScrollableVStack struct WooShippingSplitShipmentsView: View { @Environment(\.dismiss) private var dismiss diff --git a/WooCommerce/Classes/ViewRelated/Orders/Order Details/Shipping Labels/WooShipping Create Shipping Labels/WooShippingPaymentMethod/WooShippingPaymentMethodsView.swift b/WooCommerce/Classes/ViewRelated/Orders/Order Details/Shipping Labels/WooShipping Create Shipping Labels/WooShippingPaymentMethod/WooShippingPaymentMethodsView.swift index 555e5f594a9..e2c40870087 100644 --- a/WooCommerce/Classes/ViewRelated/Orders/Order Details/Shipping Labels/WooShipping Create Shipping Labels/WooShippingPaymentMethod/WooShippingPaymentMethodsView.swift +++ b/WooCommerce/Classes/ViewRelated/Orders/Order Details/Shipping Labels/WooShipping Create Shipping Labels/WooShippingPaymentMethod/WooShippingPaymentMethodsView.swift @@ -1,6 +1,7 @@ import SwiftUI import struct Yosemite.ShippingLabelPaymentMethod import struct Yosemite.ShippingLabelAccountSettings +import struct WooFoundation.ScrollableVStack struct WooShippingPaymentMethodsView: View { diff --git a/WooCommerce/Classes/ViewRelated/Orders/OrderListViewController+Activity.swift b/WooCommerce/Classes/ViewRelated/Orders/OrderListViewController+Activity.swift index bd0984307c3..0642418ccac 100644 --- a/WooCommerce/Classes/ViewRelated/Orders/OrderListViewController+Activity.swift +++ b/WooCommerce/Classes/ViewRelated/Orders/OrderListViewController+Activity.swift @@ -1,4 +1,5 @@ import Foundation +import WooFoundation // MARK: - SearchableActivity Conformance extension OrderListViewController: SearchableActivityConvertible { diff --git a/WooCommerce/Classes/ViewRelated/Products/AI/ProductSharingMessageGenerationView.swift b/WooCommerce/Classes/ViewRelated/Products/AI/ProductSharingMessageGenerationView.swift index bdcda6a08b1..62ae7bb728a 100644 --- a/WooCommerce/Classes/ViewRelated/Products/AI/ProductSharingMessageGenerationView.swift +++ b/WooCommerce/Classes/ViewRelated/Products/AI/ProductSharingMessageGenerationView.swift @@ -1,5 +1,6 @@ import SwiftUI import struct Yosemite.Product +import struct WooFoundation.ScrollableVStack /// Hosting controller for `ProductSharingMessageGenerationView`. final class ProductSharingMessageGenerationHostingController: UIHostingController { diff --git a/WooCommerce/Classes/ViewRelated/Products/Add Product/AddProductWithAI/Preview/ProductDetailPreviewView.swift b/WooCommerce/Classes/ViewRelated/Products/Add Product/AddProductWithAI/Preview/ProductDetailPreviewView.swift index e425571280f..36a719cd1cb 100644 --- a/WooCommerce/Classes/ViewRelated/Products/Add Product/AddProductWithAI/Preview/ProductDetailPreviewView.swift +++ b/WooCommerce/Classes/ViewRelated/Products/Add Product/AddProductWithAI/Preview/ProductDetailPreviewView.swift @@ -1,4 +1,5 @@ import SwiftUI +import WooFoundation /// View for previewing product details generated with AI. /// diff --git a/WooCommerce/Classes/ViewRelated/Products/Add Product/FirstProductCreated/FirstProductCreatedView.swift b/WooCommerce/Classes/ViewRelated/Products/Add Product/FirstProductCreated/FirstProductCreatedView.swift index ba718ef6fd5..7cede21f8cd 100644 --- a/WooCommerce/Classes/ViewRelated/Products/Add Product/FirstProductCreated/FirstProductCreatedView.swift +++ b/WooCommerce/Classes/ViewRelated/Products/Add Product/FirstProductCreated/FirstProductCreatedView.swift @@ -1,6 +1,7 @@ import ConfettiSwiftUI import SwiftUI import struct Yosemite.Product +import struct WooFoundation.ScrollableVStack final class FirstProductCreatedHostingController: UIHostingController { /// The coordinator for sharing products diff --git a/WooCommerce/Classes/ViewRelated/Products/Categories/Selector/ProductCategorySelector.swift b/WooCommerce/Classes/ViewRelated/Products/Categories/Selector/ProductCategorySelector.swift index 65aac744292..3837ebf613b 100644 --- a/WooCommerce/Classes/ViewRelated/Products/Categories/Selector/ProductCategorySelector.swift +++ b/WooCommerce/Classes/ViewRelated/Products/Categories/Selector/ProductCategorySelector.swift @@ -1,4 +1,5 @@ import SwiftUI +import WooFoundation /// View showing a list of product categories to select from. /// diff --git a/WooCommerce/Classes/ViewRelated/Products/Edit Product/Product Settings/ProductPasswordEligibilityUseCase.swift b/WooCommerce/Classes/ViewRelated/Products/Edit Product/Product Settings/ProductPasswordEligibilityUseCase.swift index 855a75ffab3..4077b6fbdd7 100644 --- a/WooCommerce/Classes/ViewRelated/Products/Edit Product/Product Settings/ProductPasswordEligibilityUseCase.swift +++ b/WooCommerce/Classes/ViewRelated/Products/Edit Product/Product Settings/ProductPasswordEligibilityUseCase.swift @@ -1,5 +1,6 @@ import Yosemite import Storage +import class WooFoundation.VersionHelpers final class ProductPasswordEligibilityUseCase { private let stores: StoresManager diff --git a/WooCommerce/Classes/ViewRelated/Products/View Models/ProductsTabProductViewModel.swift b/WooCommerce/Classes/ViewRelated/Products/View Models/ProductsTabProductViewModel.swift index 9fd5ed41319..b4a08fee37f 100644 --- a/WooCommerce/Classes/ViewRelated/Products/View Models/ProductsTabProductViewModel.swift +++ b/WooCommerce/Classes/ViewRelated/Products/View Models/ProductsTabProductViewModel.swift @@ -1,6 +1,7 @@ import Foundation import UIKit import Yosemite +import WooFoundation private extension ProductStatus { var descriptionColor: UIColor { diff --git a/WooCommerce/Classes/ViewRelated/ReusableViews/SwiftUI Components/CelebrationView.swift b/WooCommerce/Classes/ViewRelated/ReusableViews/SwiftUI Components/CelebrationView.swift index 09a088362e5..3ddba714c2e 100644 --- a/WooCommerce/Classes/ViewRelated/ReusableViews/SwiftUI Components/CelebrationView.swift +++ b/WooCommerce/Classes/ViewRelated/ReusableViews/SwiftUI Components/CelebrationView.swift @@ -1,4 +1,5 @@ import SwiftUI +import struct WooFoundation.ScrollableVStack /// Hosting controller for `CelebrationView`. /// diff --git a/WooCommerce/Classes/ViewRelated/ReusableViews/SwiftUI Components/ExpandableBottomSheet.swift b/WooCommerce/Classes/ViewRelated/ReusableViews/SwiftUI Components/ExpandableBottomSheet.swift index 991f98b86cb..9b567136318 100644 --- a/WooCommerce/Classes/ViewRelated/ReusableViews/SwiftUI Components/ExpandableBottomSheet.swift +++ b/WooCommerce/Classes/ViewRelated/ReusableViews/SwiftUI Components/ExpandableBottomSheet.swift @@ -1,4 +1,5 @@ import SwiftUI +import WooFoundation struct ExpandableBottomSheet: View where AlwaysVisibleContent: View, ExpandableContent: View { @State private var isExpanded: Bool = false @@ -208,26 +209,3 @@ struct ExpandableBottomSheet_Previews: PreviewProvider { } } - -struct SizeTracker: ViewModifier { - @Binding var size: CGSize - - func body(content: Content) -> some View { - content - .background(GeometryReader { proxy in - Color.clear - .onAppear { - self.size = proxy.size - } - .onChange(of: proxy.size) { _, newSize in - self.size = newSize - } - }) - } -} - -extension View { - func trackSize(size: Binding) -> some View { - modifier(SizeTracker(size: size)) - } -} diff --git a/WooCommerce/Classes/ViewRelated/Upgrades/CurrentPlanDetailsView.swift b/WooCommerce/Classes/ViewRelated/Upgrades/CurrentPlanDetailsView.swift index bb443539eea..83c27914d70 100644 --- a/WooCommerce/Classes/ViewRelated/Upgrades/CurrentPlanDetailsView.swift +++ b/WooCommerce/Classes/ViewRelated/Upgrades/CurrentPlanDetailsView.swift @@ -1,4 +1,5 @@ import SwiftUI +import WooFoundation struct CurrentPlanDetailsView: View { @State var expirationDate: String? diff --git a/WooCommerce/Classes/ViewRelated/Upgrades/UpgradeWaitingView.swift b/WooCommerce/Classes/ViewRelated/Upgrades/UpgradeWaitingView.swift index f759ee040ff..a769a88c122 100644 --- a/WooCommerce/Classes/ViewRelated/Upgrades/UpgradeWaitingView.swift +++ b/WooCommerce/Classes/ViewRelated/Upgrades/UpgradeWaitingView.swift @@ -1,4 +1,5 @@ import SwiftUI +import struct WooFoundation.IndefiniteCircularProgressViewStyle struct UpgradeWaitingView: View { let planName: String diff --git a/WooCommerce/Woo Watch App/App/WatchTracksProvider.swift b/WooCommerce/Woo Watch App/App/WatchTracksProvider.swift index 617e80249e5..8b39409bd55 100644 --- a/WooCommerce/Woo Watch App/App/WatchTracksProvider.swift +++ b/WooCommerce/Woo Watch App/App/WatchTracksProvider.swift @@ -1,5 +1,6 @@ import Foundation import WatchConnectivity +import enum WooFoundationCore.WooAnalyticsStat /// Delegate track events to the paired counterpart using the `WCSession` /// diff --git a/WooCommerce/Woo Watch App/App/WooApp.swift b/WooCommerce/Woo Watch App/App/WooApp.swift index d7d49ff6451..a79a0de1be3 100644 --- a/WooCommerce/Woo Watch App/App/WooApp.swift +++ b/WooCommerce/Woo Watch App/App/WooApp.swift @@ -1,5 +1,6 @@ import SwiftUI import NetworkingCore +import WooFoundationCore @main struct Woo_Watch_AppApp: App { diff --git a/WooCommerce/Woo Watch App/Orders/OrderDetailView.swift b/WooCommerce/Woo Watch App/Orders/OrderDetailView.swift index 88284a617b1..0f9556f3d16 100644 --- a/WooCommerce/Woo Watch App/Orders/OrderDetailView.swift +++ b/WooCommerce/Woo Watch App/Orders/OrderDetailView.swift @@ -1,4 +1,5 @@ import SwiftUI +import WooFoundationCore /// View for the order detail /// diff --git a/WooCommerce/WooCommerce.xcodeproj/project.pbxproj b/WooCommerce/WooCommerce.xcodeproj/project.pbxproj index c2437e8c1c1..c83365b4485 100644 --- a/WooCommerce/WooCommerce.xcodeproj/project.pbxproj +++ b/WooCommerce/WooCommerce.xcodeproj/project.pbxproj @@ -52,6 +52,26 @@ 015D99AA2C58C780001D7186 /* PointOfSaleCardPresentPaymentLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 015D99A92C58C780001D7186 /* PointOfSaleCardPresentPaymentLayout.swift */; }; 0161EFE22E734B2B006F27B4 /* POSEnvironmentKeys.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0161EFE12E734B2B006F27B4 /* POSEnvironmentKeys.swift */; }; 01620C4E2C5394B200D3EA2F /* POSProgressViewStyle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01620C4D2C5394B200D3EA2F /* POSProgressViewStyle.swift */; }; + 01654EB12E786223001DBB6F /* POSServiceLocatorAdaptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01654EAF2E786223001DBB6F /* POSServiceLocatorAdaptor.swift */; }; + 01654EB62E78641B001DBB6F /* WooAnalyticsEvent+WooApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01654EB52E78641B001DBB6F /* WooAnalyticsEvent+WooApp.swift */; }; + 016582C92E786840001DBB6F /* UIImage+POS.swift in Sources */ = {isa = PBXBuildFile; fileRef = 016582C72E786840001DBB6F /* UIImage+POS.swift */; }; + 016582D62E78715B001DBB6F /* CardPresentPaymentBluetoothReaderConnectionAlertsProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 016582CA2E78715B001DBB6F /* CardPresentPaymentBluetoothReaderConnectionAlertsProvider.swift */; }; + 016582D72E78715B001DBB6F /* CardPresentPaymentsTransactionAlertsProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 016582D22E78715B001DBB6F /* CardPresentPaymentsTransactionAlertsProvider.swift */; }; + 016582D82E78715B001DBB6F /* POSCollectOrderPaymentAnalyticsAdaptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 016582D52E78715B001DBB6F /* POSCollectOrderPaymentAnalyticsAdaptor.swift */; }; + 016582D92E78715B001DBB6F /* CardPresentPaymentService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 016582D12E78715B001DBB6F /* CardPresentPaymentService.swift */; }; + 016582DA2E78715B001DBB6F /* CardPresentPaymentPreflightAdaptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 016582CE2E78715B001DBB6F /* CardPresentPaymentPreflightAdaptor.swift */; }; + 016582DB2E78715B001DBB6F /* CardPresentPaymentOnboardingAdaptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 016582CD2E78715B001DBB6F /* CardPresentPaymentOnboardingAdaptor.swift */; }; + 016582DC2E78715B001DBB6F /* CardPresentPaymentCollectOrderPaymentUseCaseAdaptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 016582CB2E78715B001DBB6F /* CardPresentPaymentCollectOrderPaymentUseCaseAdaptor.swift */; }; + 016582DD2E78715B001DBB6F /* CardPresentPaymentInvalidatablePaymentOrchestrator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 016582CC2E78715B001DBB6F /* CardPresentPaymentInvalidatablePaymentOrchestrator.swift */; }; + 016582DE2E78715B001DBB6F /* CardPresentPaymentsConnectionControllerManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 016582D02E78715B001DBB6F /* CardPresentPaymentsConnectionControllerManager.swift */; }; + 016582DF2E78715B001DBB6F /* CardPresentPaymentTapToPayReaderConnectionAlertsProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 016582D32E78715B001DBB6F /* CardPresentPaymentTapToPayReaderConnectionAlertsProvider.swift */; }; + 016582E02E78715B001DBB6F /* CardPresentPaymentsAlertPresenterAdaptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 016582CF2E78715B001DBB6F /* CardPresentPaymentsAlertPresenterAdaptor.swift */; }; + 016582E22E787187001DBB6F /* MockOnboardingViewFactoryConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 016582E12E787187001DBB6F /* MockOnboardingViewFactoryConfiguration.swift */; }; + 016582E52E7871F8001DBB6F /* POSDependencyProviding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 016582E32E7871F8001DBB6F /* POSDependencyProviding.swift */; }; + 016582E72E789409001DBB6F /* POSIneligibleReason.swift in Sources */ = {isa = PBXBuildFile; fileRef = 016582E62E789409001DBB6F /* POSIneligibleReason.swift */; }; + 016582E92E789468001DBB6F /* PointOfSaleBarcodeScannerButtonCustomization.swift in Sources */ = {isa = PBXBuildFile; fileRef = 016582E82E789468001DBB6F /* PointOfSaleBarcodeScannerButtonCustomization.swift */; }; + 016582EB2E7894B5001DBB6F /* HIDBarcodeParserTypes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 016582EA2E7894B5001DBB6F /* HIDBarcodeParserTypes.swift */; }; + 016582ED2E7897B3001DBB6F /* String+Helpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 016582EC2E7897B3001DBB6F /* String+Helpers.swift */; }; 01664F9E2C50E685007CB5DD /* POSFontStyle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01664F9D2C50E685007CB5DD /* POSFontStyle.swift */; }; 016910982E1D019500B731DA /* GameControllerBarcodeObserver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 016910972E1D019500B731DA /* GameControllerBarcodeObserver.swift */; }; 01695EB82E22600800B731DA /* PointOfSaleBarcodeScannerSetupFlowManagerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01695EB72E22600300B731DA /* PointOfSaleBarcodeScannerSetupFlowManagerTests.swift */; }; @@ -394,7 +414,6 @@ 0269A63C2581D26C007B49ED /* ShippingLabelPrintingStepListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0269A63B2581D26C007B49ED /* ShippingLabelPrintingStepListView.swift */; }; 026A23FF2A3173F100EFE4BD /* MockBlazeEligibilityChecker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 026A23FE2A3173F100EFE4BD /* MockBlazeEligibilityChecker.swift */; }; 026A50282D2F6BD1002C42C2 /* InfiniteScrollTriggerDeterminable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 026A50272D2F6BD1002C42C2 /* InfiniteScrollTriggerDeterminable.swift */; }; - 026A502C2D2F6CC3002C42C2 /* View+Measurements.swift in Sources */ = {isa = PBXBuildFile; fileRef = 026A502B2D2F6CC3002C42C2 /* View+Measurements.swift */; }; 026A50302D2F80B5002C42C2 /* ThresholdInfiniteScrollTriggerDeterminerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 026A502F2D2F80B5002C42C2 /* ThresholdInfiniteScrollTriggerDeterminerTests.swift */; }; 026B2D172DF92291005B8CAA /* POSTabEligibilityChecker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 026B2D162DF92290005B8CAA /* POSTabEligibilityChecker.swift */; }; 026B3C57249A046E00F7823C /* TextFieldTextAlignment.swift in Sources */ = {isa = PBXBuildFile; fileRef = 026B3C56249A046E00F7823C /* TextFieldTextAlignment.swift */; }; @@ -412,7 +431,6 @@ 027111422913B9FC00F5269A /* AccountCreationFormViewModelTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 027111412913B9FC00F5269A /* AccountCreationFormViewModelTests.swift */; }; 0271125D2887D4E900FCD13C /* LoggedOutAppSettingsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0271125C2887D4E900FCD13C /* LoggedOutAppSettingsTests.swift */; }; 0271139A24DD15D800574A07 /* ProductsTabProductViewModel+VariationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0271139924DD15D800574A07 /* ProductsTabProductViewModel+VariationTests.swift */; }; - 027179E22C08817F0049F0BD /* CardPresentPaymentService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 027179E12C08817F0049F0BD /* CardPresentPaymentService.swift */; }; 0271E1642509C66200633F7A /* DefaultProductFormTableViewModelTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0271E1632509C66200633F7A /* DefaultProductFormTableViewModelTests.swift */; }; 0272C00322EE9C3200D7CA2C /* AsyncDictionary.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0272C00222EE9C3200D7CA2C /* AsyncDictionary.swift */; }; 0273707E24C0047800167204 /* SequenceHelpersTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0273707D24C0047800167204 /* SequenceHelpersTests.swift */; }; @@ -650,7 +668,6 @@ 02EA6BF82435E80600FFF90A /* ImageDownloader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02EA6BF72435E80600FFF90A /* ImageDownloader.swift */; }; 02EA6BFA2435E92600FFF90A /* KingfisherImageDownloader+ImageDownloadable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02EA6BF92435E92600FFF90A /* KingfisherImageDownloader+ImageDownloadable.swift */; }; 02EA6BFC2435EC3500FFF90A /* MockImageDownloader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02EA6BFB2435EC3500FFF90A /* MockImageDownloader.swift */; }; - 02EAA4CA2911004B00918DAB /* TextFieldStyles.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02EAA4C92911004B00918DAB /* TextFieldStyles.swift */; }; 02EAF5BE29FA04750058071C /* ProductDescriptionGenerationView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02EAF5BD29FA04750058071C /* ProductDescriptionGenerationView.swift */; }; 02EAF5C029FA04850058071C /* ProductDescriptionGenerationViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02EAF5BF29FA04850058071C /* ProductDescriptionGenerationViewModel.swift */; }; 02EAF5C329FA30FF0058071C /* ProductDescriptionGenerationViewModelTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02EAF5C229FA30FF0058071C /* ProductDescriptionGenerationViewModelTests.swift */; }; @@ -714,7 +731,6 @@ 0365986B29AFB11E00F297D3 /* SetUpTapToPayInformationViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0365986A29AFB11E00F297D3 /* SetUpTapToPayInformationViewController.swift */; }; 0366EAE12909A37800B51755 /* JustInTimeMessageViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0366EAE02909A37800B51755 /* JustInTimeMessageViewModel.swift */; }; 036CA6B9291E8D4B00E4DF4F /* CardPresentModalPreparingForPayment.swift in Sources */ = {isa = PBXBuildFile; fileRef = 036CA6B8291E8D4B00E4DF4F /* CardPresentModalPreparingForPayment.swift */; }; - 036CA6F129229C9E00E4DF4F /* IndefiniteCircularProgressViewStyle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 036CA6F029229C9E00E4DF4F /* IndefiniteCircularProgressViewStyle.swift */; }; 036F6EA6281847D5006D84F8 /* PaymentCaptureOrchestratorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 036F6EA5281847D5006D84F8 /* PaymentCaptureOrchestratorTests.swift */; }; 0371C3682875E47B00277E2C /* FeatureAnnouncementCardViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0371C3672875E47B00277E2C /* FeatureAnnouncementCardViewModel.swift */; }; 0371C36A2876DBCA00277E2C /* FeatureAnnouncementCardViewModelTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0371C3692876DBCA00277E2C /* FeatureAnnouncementCardViewModelTests.swift */; }; @@ -818,19 +834,13 @@ 2004E2C42C076D3800D62521 /* CardPresentPaymentEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2004E2C32C076D3800D62521 /* CardPresentPaymentEvent.swift */; }; 2004E2C62C076D4500D62521 /* CardPresentPaymentResult.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2004E2C52C076D4500D62521 /* CardPresentPaymentResult.swift */; }; 2004E2CA2C07771400D62521 /* CardPresentPaymentReaderConnectionResult.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2004E2C92C07771400D62521 /* CardPresentPaymentReaderConnectionResult.swift */; }; - 2004E2CC2C07795E00D62521 /* CardPresentPaymentError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2004E2CB2C07795E00D62521 /* CardPresentPaymentError.swift */; }; 2004E2CE2C077B0B00D62521 /* CardPresentPaymentCardReader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2004E2CD2C077B0B00D62521 /* CardPresentPaymentCardReader.swift */; }; 2004E2D02C077D2800D62521 /* CardPresentPaymentTransaction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2004E2CF2C077D2800D62521 /* CardPresentPaymentTransaction.swift */; }; 2004E2D22C07878E00D62521 /* CardReaderConnectionMethod.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2004E2D12C07878E00D62521 /* CardReaderConnectionMethod.swift */; }; - 2004E2D62C08E1FA00D62521 /* CardPresentPaymentOnboardingAdaptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2004E2D52C08E1FA00D62521 /* CardPresentPaymentOnboardingAdaptor.swift */; }; 2004E2D82C08E56300D62521 /* CardPresentPaymentOnboardingPresentationEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2004E2D72C08E56300D62521 /* CardPresentPaymentOnboardingPresentationEvent.swift */; }; 2004E2E12C08ED3200D62521 /* ViewControllerPresenting.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2004E2DB2C08E95B00D62521 /* ViewControllerPresenting.swift */; }; - 2004E2E32C0A128400D62521 /* CardPresentPaymentsConnectionControllerManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2004E2E22C0A128400D62521 /* CardPresentPaymentsConnectionControllerManager.swift */; }; - 2004E2E52C0A206800D62521 /* CardPresentPaymentsAlertPresenterAdaptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2004E2E42C0A206800D62521 /* CardPresentPaymentsAlertPresenterAdaptor.swift */; }; 2004E2E72C0DFB9E00D62521 /* CardPresentPaymentsModalButtonViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2004E2E62C0DFB9E00D62521 /* CardPresentPaymentsModalButtonViewModel.swift */; }; 2004E2E92C0DFE2B00D62521 /* PointOfSaleCardPresentPaymentAlert.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2004E2E82C0DFE2B00D62521 /* PointOfSaleCardPresentPaymentAlert.swift */; }; - 2004E2EB2C0E219D00D62521 /* CardPresentPaymentPreflightAdaptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2004E2EA2C0E219D00D62521 /* CardPresentPaymentPreflightAdaptor.swift */; }; - 2004E2ED2C0F5DD800D62521 /* CardPresentPaymentCollectOrderPaymentUseCaseAdaptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2004E2EC2C0F5DD800D62521 /* CardPresentPaymentCollectOrderPaymentUseCaseAdaptor.swift */; }; 2005D3F32DC13D6900E12021 /* PointOfSaleItemListAnalyticsTracker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2005D3F22DC13D6900E12021 /* PointOfSaleItemListAnalyticsTracker.swift */; }; 2005D7A72DC240CB00E12021 /* POSSearchTextFieldStyle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2005D7A62DC240CB00E12021 /* POSSearchTextFieldStyle.swift */; }; 2005FC9D2DC37E4D00E12021 /* POSPageHeaderBackButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2005FC9C2DC37E4D00E12021 /* POSPageHeaderBackButton.swift */; }; @@ -844,7 +854,6 @@ 202240FC2DFAF41D00E13DE9 /* BarcodeScanningModifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = 202240FB2DFAF41D00E13DE9 /* BarcodeScanningModifier.swift */; }; 2023E2AE2C21D8EA00FC365A /* PointOfSaleCardPresentPaymentInLineMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2023E2AD2C21D8EA00FC365A /* PointOfSaleCardPresentPaymentInLineMessage.swift */; }; 2024966A2B0CC97100EE527D /* MockWooPaymentsDepositService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 202496692B0CC97100EE527D /* MockWooPaymentsDepositService.swift */; }; - 2026ECE92C25D21F00BEF7E4 /* CardPresentPaymentInvalidatablePaymentOrchestrator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2026ECE82C25D21F00BEF7E4 /* CardPresentPaymentInvalidatablePaymentOrchestrator.swift */; }; 2027F74F2C8F0858004BDF73 /* PointOfSaleCardPresentPaymentConnectionSuccessAlertViewModelTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2027F74E2C8F0858004BDF73 /* PointOfSaleCardPresentPaymentConnectionSuccessAlertViewModelTests.swift */; }; 2027F7562C90B013004BDF73 /* CardPresentPaymentReaderConnectionStatus.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2027F7552C90B013004BDF73 /* CardPresentPaymentReaderConnectionStatus.swift */; }; 202D2A5A2AC5933100E4ABC0 /* TopTabView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 202D2A592AC5933100E4ABC0 /* TopTabView.swift */; }; @@ -893,10 +902,7 @@ 205E79512C207FAE001BA266 /* PointOfSaleCardPresentPaymentDisplayReaderMessageMessageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 205E79502C207FAE001BA266 /* PointOfSaleCardPresentPaymentDisplayReaderMessageMessageView.swift */; }; 20600F8B2C6E3CCE00950D2A /* PointOfSaleCardPresentPaymentEventPresentationStyleTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 20600F8A2C6E3CCE00950D2A /* PointOfSaleCardPresentPaymentEventPresentationStyleTests.swift */; }; 206643552DAE9333002D5191 /* POSItemActionHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 206643542DAE9333002D5191 /* POSItemActionHandler.swift */; }; - 20762BA12C18A66400758305 /* CardPresentPaymentTapToPayReaderConnectionAlertsProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 20762BA02C18A66400758305 /* CardPresentPaymentTapToPayReaderConnectionAlertsProvider.swift */; }; 20762BA32C18A6A300758305 /* CardPresentPaymentEventDetails.swift in Sources */ = {isa = PBXBuildFile; fileRef = 20762BA22C18A6A300758305 /* CardPresentPaymentEventDetails.swift */; }; - 20762BA52C18B42C00758305 /* CardPresentPaymentBluetoothReaderConnectionAlertsProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 20762BA42C18B42C00758305 /* CardPresentPaymentBluetoothReaderConnectionAlertsProvider.swift */; }; - 20762BA72C18B55100758305 /* CardPresentPaymentsTransactionAlertsProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 20762BA62C18B55100758305 /* CardPresentPaymentsTransactionAlertsProvider.swift */; }; 207823E32C5D18CE00025A59 /* PointOfSaleCardPresentPaymentConnectionSuccessAlertViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 207823E22C5D18CE00025A59 /* PointOfSaleCardPresentPaymentConnectionSuccessAlertViewModel.swift */; }; 207823E52C5D1B2F00025A59 /* PointOfSaleCardPresentPaymentConnectionSuccessAlertView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 207823E42C5D1B2F00025A59 /* PointOfSaleCardPresentPaymentConnectionSuccessAlertView.swift */; }; 207823E92C5D3A1700025A59 /* POSErrorExclamationMark.swift in Sources */ = {isa = PBXBuildFile; fileRef = 207823E82C5D3A1700025A59 /* POSErrorExclamationMark.swift */; }; @@ -925,7 +931,6 @@ 209B7A682CEB6742003BDEF0 /* PointOfSalePaymentState.swift in Sources */ = {isa = PBXBuildFile; fileRef = 209B7A672CEB6742003BDEF0 /* PointOfSalePaymentState.swift */; }; 209C60FD2DCCFC7100AB2D39 /* POSPreSearchView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 20050F182DC3E37400E12021 /* POSPreSearchView.swift */; }; 209CA0EE2B50070D0073D1AC /* WooTabContainerController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 209CA0ED2B50070D0073D1AC /* WooTabContainerController.swift */; }; - 209E96BD2DB681B50089F3D2 /* KeyboardObserver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 209E96BC2DB681B50089F3D2 /* KeyboardObserver.swift */; }; 209ECA812DB8FC280089F3D2 /* PointOfSaleViewStateCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 209ECA802DB8FC280089F3D2 /* PointOfSaleViewStateCoordinator.swift */; }; 209EE8132DBA95BA0089F3D2 /* POSSearchView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 209EE8122DBA95BA0089F3D2 /* POSSearchView.swift */; }; 209EE8152DBA96D00089F3D2 /* POSProductSearchable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 209EE8142DBA96D00089F3D2 /* POSProductSearchable.swift */; }; @@ -1069,7 +1074,6 @@ 2662D90826E15D6E00E25611 /* AreaSelectorCommand.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2662D90726E15D6E00E25611 /* AreaSelectorCommand.swift */; }; 2662D90A26E16B3600E25611 /* FilterListSelector.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2662D90926E16B3600E25611 /* FilterListSelector.swift */; }; 2664210126F3E1BB001FC5B4 /* ModalHostingPresentationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2664210026F3E1BB001FC5B4 /* ModalHostingPresentationController.swift */; }; - 2664210326F40FB1001FC5B4 /* View+ScrollModifiers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2664210226F40FB1001FC5B4 /* View+ScrollModifiers.swift */; }; 2667BFD7252E5DBF008099D4 /* RefundItemViewModelTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2667BFD6252E5DBF008099D4 /* RefundItemViewModelTests.swift */; }; 2667BFDB252E659A008099D4 /* MockOrderItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2667BFDA252E659A008099D4 /* MockOrderItem.swift */; }; 2667BFDD252F61C5008099D4 /* RefundShippingDetailsViewModelTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2667BFDC252F61C5008099D4 /* RefundShippingDetailsViewModelTests.swift */; }; @@ -1106,7 +1110,6 @@ 26838356296F702B00CCF60A /* GenerateAllVariationsPresenter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 26838355296F702B00CCF60A /* GenerateAllVariationsPresenter.swift */; }; 26838358296F9A1E00CCF60A /* GenerateAllVariationsUseCase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 26838357296F9A1E00CCF60A /* GenerateAllVariationsUseCase.swift */; }; 2683835A296F9C1A00CCF60A /* GenerateAllVariationsUseCaseTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 26838359296F9C1A00CCF60A /* GenerateAllVariationsUseCaseTests.swift */; }; - 268631CF2C07D38C00521364 /* WooAnalyticsStat.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74213449210A323C00C13890 /* WooAnalyticsStat.swift */; }; 2687165524D21BC80042F6AE /* SurveySubmittedViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2687165324D21BC80042F6AE /* SurveySubmittedViewController.swift */; }; 2687165624D21BC80042F6AE /* SurveySubmittedViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2687165424D21BC80042F6AE /* SurveySubmittedViewController.xib */; }; 2687165A24D350C20042F6AE /* SurveyCoordinatingController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2687165924D350C20042F6AE /* SurveyCoordinatingController.swift */; }; @@ -1180,7 +1183,6 @@ 26CA2BC62AAA1773003B16C2 /* OrderNotificationView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 26CA2BC52AAA1773003B16C2 /* OrderNotificationView.swift */; }; 26CA2BC72AAA17A2003B16C2 /* SwiftUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5744BEB0248FE44C000A6FE2 /* SwiftUI.framework */; }; 26CA471D2BFD805900E54348 /* CNContact+Helpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE4296B820A5E9E400B2AFBD /* CNContact+Helpers.swift */; }; - 26CA471F2BFD81E900E54348 /* String+Helpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74D0A52F2139CF1300E2919F /* String+Helpers.swift */; }; 26CA47202BFD823200E54348 /* Date+Woo.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5290ED8219B3FA900A6AF7F /* Date+Woo.swift */; }; 26CA47212BFD82AE00E54348 /* DateFormatter+Helpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE4DDB7A20DD312400D32EC8 /* DateFormatter+Helpers.swift */; }; 26CA47222BFD82B900E54348 /* TimeZone+Woo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 453227B623C4D6EC00D816B3 /* TimeZone+Woo.swift */; }; @@ -1205,7 +1207,6 @@ 26DDA4A92C4839B8005FBEBF /* DashboardTimestampStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 26DDA4A82C4839B8005FBEBF /* DashboardTimestampStore.swift */; }; 26DDA4AB2C49627F005FBEBF /* DashboardTimestampStoreTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 26DDA4AA2C49627F005FBEBF /* DashboardTimestampStoreTests.swift */; }; 26E0ADF12631D94D00A5EB3B /* TopBannerWrapperView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 26E0ADF02631D94D00A5EB3B /* TopBannerWrapperView.swift */; }; - 26E0AE13263359F900A5EB3B /* View+Conditionals.swift in Sources */ = {isa = PBXBuildFile; fileRef = 26E0AE12263359F900A5EB3B /* View+Conditionals.swift */; }; 26E0AE1926335AA900A5EB3B /* Survey.swift in Sources */ = {isa = PBXBuildFile; fileRef = 26E0AE1826335AA900A5EB3B /* Survey.swift */; }; 26E1BECA251BE5390096D0A1 /* RefundItemTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 26E1BEC9251BE5390096D0A1 /* RefundItemTableViewCell.swift */; }; 26E1BECC251BE5570096D0A1 /* RefundItemTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 26E1BECB251BE5570096D0A1 /* RefundItemTableViewCell.xib */; }; @@ -1272,7 +1273,6 @@ 314DC4BF268D183600444C9E /* CardReaderSettingsKnownReaderStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314DC4BE268D183600444C9E /* CardReaderSettingsKnownReaderStorage.swift */; }; 314DC4C1268D28B100444C9E /* CardReaderSettingsKnownReadersStorageTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314DC4C0268D28B100444C9E /* CardReaderSettingsKnownReadersStorageTests.swift */; }; 314DC4C3268D2F1000444C9E /* MockAppSettingsStoresManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314DC4C2268D2F1000444C9E /* MockAppSettingsStoresManager.swift */; }; - 31579028273EE2B1008CA3AF /* VersionHelpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31579027273EE2B1008CA3AF /* VersionHelpers.swift */; }; 31595CAD25E966380033F0FF /* ConnectedReaderTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 31595CAC25E966380033F0FF /* ConnectedReaderTableViewCell.xib */; }; 315E14F42698DA24000AD5FF /* PassKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 315E14F32698DA24000AD5FF /* PassKit.framework */; }; 316837DA25CCA90C00E36B2F /* OrderStatusListDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 316837D925CCA90C00E36B2F /* OrderStatusListDataSource.swift */; }; @@ -1299,7 +1299,6 @@ 31F21B02263C8E150035B50A /* CardReaderSettingsSearchingViewModelTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31F21B01263C8E150035B50A /* CardReaderSettingsSearchingViewModelTests.swift */; }; 31F21B5A263CB41A0035B50A /* MockCardPresentPaymentsStoresManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31F21B59263CB41A0035B50A /* MockCardPresentPaymentsStoresManager.swift */; }; 31F21B60263CB78A0035B50A /* MockCardReader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31F21B5F263CB78A0035B50A /* MockCardReader.swift */; }; - 31F635DC273AF0B100E14F10 /* VersionHelpersTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31F635DB273AF0B100E14F10 /* VersionHelpersTests.swift */; }; 31F92DE125E85F6A00DE04DF /* ConnectedReaderTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31F92DE025E85F6A00DE04DF /* ConnectedReaderTableViewCell.swift */; }; 31FC8CE727B47591004B9456 /* CardReaderSettingsDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31FC8CE627B47591004B9456 /* CardReaderSettingsDataSource.swift */; }; 31FC8CE927B476BA004B9456 /* CardReaderSettingsResultsControllers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31FC8CE827B476BA004B9456 /* CardReaderSettingsResultsControllers.swift */; }; @@ -1580,10 +1579,8 @@ 57CDABB9252E9BEB00BED88C /* ButtonTableFooterView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57CDABB8252E9BEB00BED88C /* ButtonTableFooterView.swift */; }; 57CFCD28248845B4003F51EC /* PrimarySectionHeaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57CFCD27248845B4003F51EC /* PrimarySectionHeaderView.swift */; }; 57CFCD2A2488496F003F51EC /* PrimarySectionHeaderView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 57CFCD292488496F003F51EC /* PrimarySectionHeaderView.xib */; }; - 57EBC92024EEE61800C1D45B /* WooAnalyticsEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57EBC91F24EEE61800C1D45B /* WooAnalyticsEvent.swift */; }; 57F2C6CD246DECC10074063B /* SummaryTableViewCellViewModelTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57F2C6CC246DECC10074063B /* SummaryTableViewCellViewModelTests.swift */; }; 57F42E40253768D600EA87F7 /* TitleAndEditableValueTableViewCellViewModelTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57F42E3F253768D600EA87F7 /* TitleAndEditableValueTableViewCellViewModelTests.swift */; }; - 581D5052274AA2480089B6AD /* View+AutofocusTextModifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = 581D5051274AA2480089B6AD /* View+AutofocusTextModifier.swift */; }; 6801E4172D0FFF0300F9DF46 /* MockReceiptService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6801E4162D0FFF0100F9DF46 /* MockReceiptService.swift */; }; 680BA59A2A4C377900F5559D /* UpgradeViewState.swift in Sources */ = {isa = PBXBuildFile; fileRef = 680BA5992A4C377900F5559D /* UpgradeViewState.swift */; }; 680E36B52BD8B9B900E8BCEA /* OrderSubscriptionTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 680E36B42BD8B9B900E8BCEA /* OrderSubscriptionTableViewCell.xib */; }; @@ -1646,7 +1643,6 @@ 68A5221B2BA1804900A6A584 /* PluginDetailsViewModelTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 68A5221A2BA1804900A6A584 /* PluginDetailsViewModelTests.swift */; }; 68A905012ACCFC13004C71D3 /* CollapsibleProductCard.swift in Sources */ = {isa = PBXBuildFile; fileRef = 68A905002ACCFC13004C71D3 /* CollapsibleProductCard.swift */; }; 68AC9D292ACE598B0042F784 /* ProductImageThumbnail.swift in Sources */ = {isa = PBXBuildFile; fileRef = 68AC9D282ACE598B0042F784 /* ProductImageThumbnail.swift */; }; - 68AF3C3B2D01481C006F1ED2 /* POSReceiptEligibilityBanner.swift in Sources */ = {isa = PBXBuildFile; fileRef = 68AF3C3A2D01481A006F1ED2 /* POSReceiptEligibilityBanner.swift */; }; 68B3BA262D9147480000B2F2 /* AISettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 68B3BA252D9147440000B2F2 /* AISettingsView.swift */; }; 68B681162D9257810098D5CD /* PointOfSaleCouponsController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 68B681152D92577F0098D5CD /* PointOfSaleCouponsController.swift */; }; 68B6F22B2ADE7ED500D171FC /* TooltipView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 68B6F22A2ADE7ED500D171FC /* TooltipView.swift */; }; @@ -1682,12 +1678,10 @@ 68F151E12C0DA7910082AEC8 /* Cart.swift in Sources */ = {isa = PBXBuildFile; fileRef = 68F151E02C0DA7910082AEC8 /* Cart.swift */; }; 68F68A502D6730E200BB9568 /* POSCollectOrderPaymentAnalyticsTracking.swift in Sources */ = {isa = PBXBuildFile; fileRef = 68F68A4F2D6730DF00BB9568 /* POSCollectOrderPaymentAnalyticsTracking.swift */; }; 68F68A522D67365900BB9568 /* MockPOSCollectOrderPaymentAnalyticsTracker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 68F68A512D67365900BB9568 /* MockPOSCollectOrderPaymentAnalyticsTracker.swift */; }; - 68F896422D5E4323000B308B /* POSCollectOrderPaymentAnalytics.swift in Sources */ = {isa = PBXBuildFile; fileRef = 68F896412D5E4321000B308B /* POSCollectOrderPaymentAnalytics.swift */; }; 740382DB2267D94100A627F4 /* LargeImageTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 740382D92267D94100A627F4 /* LargeImageTableViewCell.swift */; }; 740382DC2267D94100A627F4 /* LargeImageTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 740382DA2267D94100A627F4 /* LargeImageTableViewCell.xib */; }; 740987B321B87760000E4C80 /* FancyAnimatedButton+Woo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 740987B221B87760000E4C80 /* FancyAnimatedButton+Woo.swift */; }; 740ADFE521C33688009EE5A9 /* licenses.html in Resources */ = {isa = PBXBuildFile; fileRef = 740ADFE421C33688009EE5A9 /* licenses.html */; }; - 7421344A210A323C00C13890 /* WooAnalyticsStat.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74213449210A323C00C13890 /* WooAnalyticsStat.swift */; }; 7435E58E21C0151B00216F0F /* OrderNote+Woo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7435E58D21C0151B00216F0F /* OrderNote+Woo.swift */; }; 7435E59021C0162C00216F0F /* OrderNoteWooTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7435E58F21C0162C00216F0F /* OrderNoteWooTests.swift */; }; 743E272021AEF20100D6DC82 /* FancyAlertViewController+Upgrade.swift in Sources */ = {isa = PBXBuildFile; fileRef = 743E271F21AEF20100D6DC82 /* FancyAlertViewController+Upgrade.swift */; }; @@ -1708,7 +1702,6 @@ 74A33D8021C3F234009E25DE /* LicensesViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74A33D7F21C3F233009E25DE /* LicensesViewController.swift */; }; 74A95B5821C403EA00FEE953 /* pure-min.css in Resources */ = {isa = PBXBuildFile; fileRef = 74A95B5721C403EA00FEE953 /* pure-min.css */; }; 74B5713621CD7604008F9B8E /* SharingHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74B5713521CD7604008F9B8E /* SharingHelper.swift */; }; - 74D0A5302139CF1300E2919F /* String+Helpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74D0A52F2139CF1300E2919F /* String+Helpers.swift */; }; 74EC34A5225FE21F004BBC2E /* ProductLoaderViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74EC34A4225FE21F004BBC2E /* ProductLoaderViewController.swift */; }; 74F3015A2200EC0800931B9E /* NSDecimalNumberWooTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74F301592200EC0800931B9E /* NSDecimalNumberWooTests.swift */; }; 773077EC251E943700178696 /* ProductDownloadFileViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 773077E8251E943600178696 /* ProductDownloadFileViewModel.swift */; }; @@ -1961,7 +1954,6 @@ B58B4AB32108F01700076FDD /* DefaultNoticePresenter.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B4AB02108F01600076FDD /* DefaultNoticePresenter.swift */; }; B58B4AB62108F11C00076FDD /* Notice.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B4AB52108F11C00076FDD /* Notice.swift */; }; B58B4AB82108F14700076FDD /* NoticeNotificationInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B4AB72108F14700076FDD /* NoticeNotificationInfo.swift */; }; - B58B4AC02108FF6100076FDD /* Array+Helpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B4ABF2108FF6100076FDD /* Array+Helpers.swift */; }; B5980A6121AC878900EBF596 /* UIDevice+Woo.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5980A6021AC878900EBF596 /* UIDevice+Woo.swift */; }; B5980A6321AC879F00EBF596 /* Bundle+Woo.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5980A6221AC879F00EBF596 /* Bundle+Woo.swift */; }; B5980A6521AC905C00EBF596 /* UIDeviceWooTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5980A6421AC905C00EBF596 /* UIDeviceWooTests.swift */; }; @@ -2188,8 +2180,6 @@ CC4A4E962655273D00B75DCD /* ShippingLabelPaymentMethods.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC4A4E952655273D00B75DCD /* ShippingLabelPaymentMethods.swift */; }; CC4A4ED82655478D00B75DCD /* ShippingLabelPaymentMethodsViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC4A4ED72655478D00B75DCD /* ShippingLabelPaymentMethodsViewModel.swift */; }; CC4A4FF126557D0E00B75DCD /* TitleAndToggleRow.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC4A4FF026557D0E00B75DCD /* TitleAndToggleRow.swift */; }; - CC4B252B27CFCEE2008D2E6E /* OrderTotalsCalculator.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC4B252A27CFCEE2008D2E6E /* OrderTotalsCalculator.swift */; }; - CC4B252D27CFE443008D2E6E /* OrderTotalsCalculatorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC4B252C27CFE443008D2E6E /* OrderTotalsCalculatorTests.swift */; }; CC4D1D8625E6CDDE00B6E4E7 /* RenameAttributesViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC4D1D8525E6CDDE00B6E4E7 /* RenameAttributesViewModel.swift */; }; CC4D1E7925EE415D00B6E4E7 /* RenameAttributesViewModelTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC4D1E7825EE415D00B6E4E7 /* RenameAttributesViewModelTests.swift */; }; CC53FB3527551A6E00C4CA4F /* ProductRow.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC53FB3427551A6E00C4CA4F /* ProductRow.swift */; }; @@ -2375,7 +2365,6 @@ CE6A8FB82B7291760063564D /* AnalyticsReportLinkViewModelTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE6A8FB72B7291760063564D /* AnalyticsReportLinkViewModelTests.swift */; }; CE6E110B2C91DA5D00563DD4 /* WooShippingItemRow.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE6E110A2C91DA5D00563DD4 /* WooShippingItemRow.swift */; }; CE6E110D2C91E5FF00563DD4 /* WooShippingItems.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE6E110C2C91E5FF00563DD4 /* WooShippingItems.swift */; }; - CE6E110F2C91EF6800563DD4 /* View+RoundedBorder.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE6E110E2C91EF6800563DD4 /* View+RoundedBorder.swift */; }; CE755F712D4A4922002539F6 /* WooShippingNormalizeAddressView.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE755F702D4A4922002539F6 /* WooShippingNormalizeAddressView.swift */; }; CE755F732D4A5F9D002539F6 /* WooShippingNormalizeAddressViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE755F722D4A5F96002539F6 /* WooShippingNormalizeAddressViewModel.swift */; }; CE755F752D4A6BF3002539F6 /* WooShippingNormalizeAddressViewModelTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE755F742D4A6BF3002539F6 /* WooShippingNormalizeAddressViewModelTests.swift */; }; @@ -2723,7 +2712,6 @@ DE67D46926BAA82600EFE8DB /* Publisher+WithLatestFromTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE67D46826BAA82600EFE8DB /* Publisher+WithLatestFromTests.swift */; }; DE68979F2A8F7C9C00154588 /* AccountSettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE68979E2A8F7C9C00154588 /* AccountSettingsView.swift */; }; DE68B81F26F86B1700C86CFB /* OfflineBannerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE68B81E26F86B1700C86CFB /* OfflineBannerView.swift */; }; - DE68B84326FAF17A00C86CFB /* DefaultConnectivityObserver.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE68B84226FAF17A00C86CFB /* DefaultConnectivityObserver.swift */; }; DE6906DB27D5F69900735E3B /* OrderDetailsViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = DE6906DA27D5F69900735E3B /* OrderDetailsViewController.xib */; }; DE6906E327D7121800735E3B /* GhostTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE6906E227D7121800735E3B /* GhostTableViewController.swift */; }; DE6906E527D7439C00735E3B /* OrdersSplitViewWrapperController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE6906E427D7439B00735E3B /* OrdersSplitViewWrapperController.swift */; }; @@ -2754,8 +2742,6 @@ DE7842F726F2E9340030C792 /* UIViewController+Connectivity.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE7842F626F2E9340030C792 /* UIViewController+Connectivity.swift */; }; DE78DE422B2813E4002E58DE /* ThemesCarouselViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE78DE412B2813E4002E58DE /* ThemesCarouselViewModel.swift */; }; DE78DE442B2846AF002E58DE /* ThemesCarouselViewModelTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE78DE432B2846AF002E58DE /* ThemesCarouselViewModelTests.swift */; }; - DE792E1826EF35F40071200C /* ConnectivityObserver.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE792E1726EF35F40071200C /* ConnectivityObserver.swift */; }; - DE792E1B26EF37ED0071200C /* DefaultConnectivityObserver.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE792E1A26EF37ED0071200C /* DefaultConnectivityObserver.swift */; }; DE7B17F52C0DF02800A6C7D8 /* InboxEligibilityUseCaseTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE7B17F42C0DF02800A6C7D8 /* InboxEligibilityUseCaseTests.swift */; }; DE7B17F92C1AA26B00A6C7D8 /* MockWooSubscriptionProductsEligibilityChecker.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE7B17F82C1AA26B00A6C7D8 /* MockWooSubscriptionProductsEligibilityChecker.swift */; }; DE7B479027A153C20018742E /* CouponSearchUICommand.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE7B478F27A153C20018742E /* CouponSearchUICommand.swift */; }; @@ -2910,7 +2896,6 @@ E1068058285C787100668B46 /* BetaFeaturesTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = E1068057285C787100668B46 /* BetaFeaturesTests.swift */; }; E107FCE126C12B2700BAF51B /* InPersonPaymentsCountryNotSupported.swift in Sources */ = {isa = PBXBuildFile; fileRef = E107FCE026C12B2700BAF51B /* InPersonPaymentsCountryNotSupported.swift */; }; E107FCE326C13A0D00BAF51B /* InPersonPaymentsSupportLink.swift in Sources */ = {isa = PBXBuildFile; fileRef = E107FCE226C13A0D00BAF51B /* InPersonPaymentsSupportLink.swift */; }; - E10BC15E26CC06970064F5E2 /* ScrollableVStack.swift in Sources */ = {isa = PBXBuildFile; fileRef = E10BC15D26CC06970064F5E2 /* ScrollableVStack.swift */; }; E10BD16D27CF890800CE6449 /* InPersonPaymentsCountryNotSupportedStripe.swift in Sources */ = {isa = PBXBuildFile; fileRef = E10BD16C27CF890700CE6449 /* InPersonPaymentsCountryNotSupportedStripe.swift */; }; E10DFC78267331590083AFF2 /* ApplicationLogViewModelTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = E10DFC77267331590083AFF2 /* ApplicationLogViewModelTests.swift */; }; E10DFC7A2673595A0083AFF2 /* ShareSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = E10DFC792673595A0083AFF2 /* ShareSheet.swift */; }; @@ -3276,6 +3261,26 @@ 015D99A92C58C780001D7186 /* PointOfSaleCardPresentPaymentLayout.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PointOfSaleCardPresentPaymentLayout.swift; sourceTree = ""; }; 0161EFE12E734B2B006F27B4 /* POSEnvironmentKeys.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = POSEnvironmentKeys.swift; sourceTree = ""; }; 01620C4D2C5394B200D3EA2F /* POSProgressViewStyle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = POSProgressViewStyle.swift; sourceTree = ""; }; + 01654EAF2E786223001DBB6F /* POSServiceLocatorAdaptor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = POSServiceLocatorAdaptor.swift; sourceTree = ""; }; + 01654EB52E78641B001DBB6F /* WooAnalyticsEvent+WooApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "WooAnalyticsEvent+WooApp.swift"; sourceTree = ""; }; + 016582C72E786840001DBB6F /* UIImage+POS.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIImage+POS.swift"; sourceTree = ""; }; + 016582CA2E78715B001DBB6F /* CardPresentPaymentBluetoothReaderConnectionAlertsProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardPresentPaymentBluetoothReaderConnectionAlertsProvider.swift; sourceTree = ""; }; + 016582CB2E78715B001DBB6F /* CardPresentPaymentCollectOrderPaymentUseCaseAdaptor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardPresentPaymentCollectOrderPaymentUseCaseAdaptor.swift; sourceTree = ""; }; + 016582CC2E78715B001DBB6F /* CardPresentPaymentInvalidatablePaymentOrchestrator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardPresentPaymentInvalidatablePaymentOrchestrator.swift; sourceTree = ""; }; + 016582CD2E78715B001DBB6F /* CardPresentPaymentOnboardingAdaptor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardPresentPaymentOnboardingAdaptor.swift; sourceTree = ""; }; + 016582CE2E78715B001DBB6F /* CardPresentPaymentPreflightAdaptor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardPresentPaymentPreflightAdaptor.swift; sourceTree = ""; }; + 016582CF2E78715B001DBB6F /* CardPresentPaymentsAlertPresenterAdaptor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardPresentPaymentsAlertPresenterAdaptor.swift; sourceTree = ""; }; + 016582D02E78715B001DBB6F /* CardPresentPaymentsConnectionControllerManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardPresentPaymentsConnectionControllerManager.swift; sourceTree = ""; }; + 016582D12E78715B001DBB6F /* CardPresentPaymentService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardPresentPaymentService.swift; sourceTree = ""; }; + 016582D22E78715B001DBB6F /* CardPresentPaymentsTransactionAlertsProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardPresentPaymentsTransactionAlertsProvider.swift; sourceTree = ""; }; + 016582D32E78715B001DBB6F /* CardPresentPaymentTapToPayReaderConnectionAlertsProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardPresentPaymentTapToPayReaderConnectionAlertsProvider.swift; sourceTree = ""; }; + 016582D52E78715B001DBB6F /* POSCollectOrderPaymentAnalyticsAdaptor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = POSCollectOrderPaymentAnalyticsAdaptor.swift; sourceTree = ""; }; + 016582E12E787187001DBB6F /* MockOnboardingViewFactoryConfiguration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MockOnboardingViewFactoryConfiguration.swift; sourceTree = ""; }; + 016582E32E7871F8001DBB6F /* POSDependencyProviding.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = POSDependencyProviding.swift; sourceTree = ""; }; + 016582E62E789409001DBB6F /* POSIneligibleReason.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = POSIneligibleReason.swift; sourceTree = ""; }; + 016582E82E789468001DBB6F /* PointOfSaleBarcodeScannerButtonCustomization.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PointOfSaleBarcodeScannerButtonCustomization.swift; sourceTree = ""; }; + 016582EA2E7894B5001DBB6F /* HIDBarcodeParserTypes.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HIDBarcodeParserTypes.swift; sourceTree = ""; }; + 016582EC2E7897B3001DBB6F /* String+Helpers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+Helpers.swift"; sourceTree = ""; }; 01664F9D2C50E685007CB5DD /* POSFontStyle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = POSFontStyle.swift; sourceTree = ""; }; 016910972E1D019500B731DA /* GameControllerBarcodeObserver.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GameControllerBarcodeObserver.swift; sourceTree = ""; }; 01695EB72E22600300B731DA /* PointOfSaleBarcodeScannerSetupFlowManagerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PointOfSaleBarcodeScannerSetupFlowManagerTests.swift; sourceTree = ""; }; @@ -3620,7 +3625,6 @@ 0269A63B2581D26C007B49ED /* ShippingLabelPrintingStepListView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShippingLabelPrintingStepListView.swift; sourceTree = ""; }; 026A23FE2A3173F100EFE4BD /* MockBlazeEligibilityChecker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MockBlazeEligibilityChecker.swift; sourceTree = ""; }; 026A50272D2F6BD1002C42C2 /* InfiniteScrollTriggerDeterminable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InfiniteScrollTriggerDeterminable.swift; sourceTree = ""; }; - 026A502B2D2F6CC3002C42C2 /* View+Measurements.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "View+Measurements.swift"; sourceTree = ""; }; 026A502F2D2F80B5002C42C2 /* ThresholdInfiniteScrollTriggerDeterminerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThresholdInfiniteScrollTriggerDeterminerTests.swift; sourceTree = ""; }; 026B2D162DF92290005B8CAA /* POSTabEligibilityChecker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = POSTabEligibilityChecker.swift; sourceTree = ""; }; 026B3C56249A046E00F7823C /* TextFieldTextAlignment.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TextFieldTextAlignment.swift; sourceTree = ""; }; @@ -3639,7 +3643,6 @@ 027111412913B9FC00F5269A /* AccountCreationFormViewModelTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountCreationFormViewModelTests.swift; sourceTree = ""; }; 0271125C2887D4E900FCD13C /* LoggedOutAppSettingsTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoggedOutAppSettingsTests.swift; sourceTree = ""; }; 0271139924DD15D800574A07 /* ProductsTabProductViewModel+VariationTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "ProductsTabProductViewModel+VariationTests.swift"; sourceTree = ""; }; - 027179E12C08817F0049F0BD /* CardPresentPaymentService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardPresentPaymentService.swift; sourceTree = ""; }; 0271E1632509C66200633F7A /* DefaultProductFormTableViewModelTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DefaultProductFormTableViewModelTests.swift; sourceTree = ""; }; 0272C00222EE9C3200D7CA2C /* AsyncDictionary.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AsyncDictionary.swift; sourceTree = ""; }; 0273707D24C0047800167204 /* SequenceHelpersTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SequenceHelpersTests.swift; sourceTree = ""; }; @@ -3878,7 +3881,6 @@ 02EA6BF72435E80600FFF90A /* ImageDownloader.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImageDownloader.swift; sourceTree = ""; }; 02EA6BF92435E92600FFF90A /* KingfisherImageDownloader+ImageDownloadable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "KingfisherImageDownloader+ImageDownloadable.swift"; sourceTree = ""; }; 02EA6BFB2435EC3500FFF90A /* MockImageDownloader.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MockImageDownloader.swift; sourceTree = ""; }; - 02EAA4C92911004B00918DAB /* TextFieldStyles.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TextFieldStyles.swift; sourceTree = ""; }; 02EAF5BD29FA04750058071C /* ProductDescriptionGenerationView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProductDescriptionGenerationView.swift; sourceTree = ""; }; 02EAF5BF29FA04850058071C /* ProductDescriptionGenerationViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProductDescriptionGenerationViewModel.swift; sourceTree = ""; }; 02EAF5C229FA30FF0058071C /* ProductDescriptionGenerationViewModelTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProductDescriptionGenerationViewModelTests.swift; sourceTree = ""; }; @@ -3944,7 +3946,6 @@ 0365986A29AFB11E00F297D3 /* SetUpTapToPayInformationViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SetUpTapToPayInformationViewController.swift; sourceTree = ""; }; 0366EAE02909A37800B51755 /* JustInTimeMessageViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JustInTimeMessageViewModel.swift; sourceTree = ""; }; 036CA6B8291E8D4B00E4DF4F /* CardPresentModalPreparingForPayment.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardPresentModalPreparingForPayment.swift; sourceTree = ""; }; - 036CA6F029229C9E00E4DF4F /* IndefiniteCircularProgressViewStyle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IndefiniteCircularProgressViewStyle.swift; sourceTree = ""; }; 036F6EA5281847D5006D84F8 /* PaymentCaptureOrchestratorTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentCaptureOrchestratorTests.swift; sourceTree = ""; }; 0371C3672875E47B00277E2C /* FeatureAnnouncementCardViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FeatureAnnouncementCardViewModel.swift; sourceTree = ""; }; 0371C3692876DBCA00277E2C /* FeatureAnnouncementCardViewModelTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FeatureAnnouncementCardViewModelTests.swift; sourceTree = ""; }; @@ -4049,19 +4050,13 @@ 2004E2C32C076D3800D62521 /* CardPresentPaymentEvent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardPresentPaymentEvent.swift; sourceTree = ""; }; 2004E2C52C076D4500D62521 /* CardPresentPaymentResult.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardPresentPaymentResult.swift; sourceTree = ""; }; 2004E2C92C07771400D62521 /* CardPresentPaymentReaderConnectionResult.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardPresentPaymentReaderConnectionResult.swift; sourceTree = ""; }; - 2004E2CB2C07795E00D62521 /* CardPresentPaymentError.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardPresentPaymentError.swift; sourceTree = ""; }; 2004E2CD2C077B0B00D62521 /* CardPresentPaymentCardReader.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardPresentPaymentCardReader.swift; sourceTree = ""; }; 2004E2CF2C077D2800D62521 /* CardPresentPaymentTransaction.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardPresentPaymentTransaction.swift; sourceTree = ""; }; 2004E2D12C07878E00D62521 /* CardReaderConnectionMethod.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardReaderConnectionMethod.swift; sourceTree = ""; }; - 2004E2D52C08E1FA00D62521 /* CardPresentPaymentOnboardingAdaptor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardPresentPaymentOnboardingAdaptor.swift; sourceTree = ""; }; 2004E2D72C08E56300D62521 /* CardPresentPaymentOnboardingPresentationEvent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardPresentPaymentOnboardingPresentationEvent.swift; sourceTree = ""; }; 2004E2DB2C08E95B00D62521 /* ViewControllerPresenting.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ViewControllerPresenting.swift; sourceTree = ""; }; - 2004E2E22C0A128400D62521 /* CardPresentPaymentsConnectionControllerManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardPresentPaymentsConnectionControllerManager.swift; sourceTree = ""; }; - 2004E2E42C0A206800D62521 /* CardPresentPaymentsAlertPresenterAdaptor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardPresentPaymentsAlertPresenterAdaptor.swift; sourceTree = ""; }; 2004E2E62C0DFB9E00D62521 /* CardPresentPaymentsModalButtonViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardPresentPaymentsModalButtonViewModel.swift; sourceTree = ""; }; 2004E2E82C0DFE2B00D62521 /* PointOfSaleCardPresentPaymentAlert.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PointOfSaleCardPresentPaymentAlert.swift; sourceTree = ""; }; - 2004E2EA2C0E219D00D62521 /* CardPresentPaymentPreflightAdaptor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardPresentPaymentPreflightAdaptor.swift; sourceTree = ""; }; - 2004E2EC2C0F5DD800D62521 /* CardPresentPaymentCollectOrderPaymentUseCaseAdaptor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardPresentPaymentCollectOrderPaymentUseCaseAdaptor.swift; sourceTree = ""; }; 20050F182DC3E37400E12021 /* POSPreSearchView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = POSPreSearchView.swift; sourceTree = ""; }; 2005D3F22DC13D6900E12021 /* PointOfSaleItemListAnalyticsTracker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PointOfSaleItemListAnalyticsTracker.swift; sourceTree = ""; }; 2005D7A62DC240CB00E12021 /* POSSearchTextFieldStyle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = POSSearchTextFieldStyle.swift; sourceTree = ""; }; @@ -4077,7 +4072,6 @@ 202240FB2DFAF41D00E13DE9 /* BarcodeScanningModifier.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BarcodeScanningModifier.swift; sourceTree = ""; }; 2023E2AD2C21D8EA00FC365A /* PointOfSaleCardPresentPaymentInLineMessage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PointOfSaleCardPresentPaymentInLineMessage.swift; sourceTree = ""; }; 202496692B0CC97100EE527D /* MockWooPaymentsDepositService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MockWooPaymentsDepositService.swift; sourceTree = ""; }; - 2026ECE82C25D21F00BEF7E4 /* CardPresentPaymentInvalidatablePaymentOrchestrator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardPresentPaymentInvalidatablePaymentOrchestrator.swift; sourceTree = ""; }; 2027F74E2C8F0858004BDF73 /* PointOfSaleCardPresentPaymentConnectionSuccessAlertViewModelTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PointOfSaleCardPresentPaymentConnectionSuccessAlertViewModelTests.swift; sourceTree = ""; }; 2027F7552C90B013004BDF73 /* CardPresentPaymentReaderConnectionStatus.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardPresentPaymentReaderConnectionStatus.swift; sourceTree = ""; }; 202D2A592AC5933100E4ABC0 /* TopTabView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TopTabView.swift; sourceTree = ""; }; @@ -4127,10 +4121,7 @@ 20600F8A2C6E3CCE00950D2A /* PointOfSaleCardPresentPaymentEventPresentationStyleTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PointOfSaleCardPresentPaymentEventPresentationStyleTests.swift; sourceTree = ""; }; 206643542DAE9333002D5191 /* POSItemActionHandler.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = POSItemActionHandler.swift; sourceTree = ""; }; 20716F332D9DA289008D9915 /* MockPointOfSalePurchasableItemFetchStrategy.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MockPointOfSalePurchasableItemFetchStrategy.swift; sourceTree = ""; }; - 20762BA02C18A66400758305 /* CardPresentPaymentTapToPayReaderConnectionAlertsProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardPresentPaymentTapToPayReaderConnectionAlertsProvider.swift; sourceTree = ""; }; 20762BA22C18A6A300758305 /* CardPresentPaymentEventDetails.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardPresentPaymentEventDetails.swift; sourceTree = ""; }; - 20762BA42C18B42C00758305 /* CardPresentPaymentBluetoothReaderConnectionAlertsProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardPresentPaymentBluetoothReaderConnectionAlertsProvider.swift; sourceTree = ""; }; - 20762BA62C18B55100758305 /* CardPresentPaymentsTransactionAlertsProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardPresentPaymentsTransactionAlertsProvider.swift; sourceTree = ""; }; 207823E22C5D18CE00025A59 /* PointOfSaleCardPresentPaymentConnectionSuccessAlertViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PointOfSaleCardPresentPaymentConnectionSuccessAlertViewModel.swift; sourceTree = ""; }; 207823E42C5D1B2F00025A59 /* PointOfSaleCardPresentPaymentConnectionSuccessAlertView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PointOfSaleCardPresentPaymentConnectionSuccessAlertView.swift; sourceTree = ""; }; 207823E82C5D3A1700025A59 /* POSErrorExclamationMark.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = POSErrorExclamationMark.swift; sourceTree = ""; }; @@ -4158,7 +4149,6 @@ 209B15662AD85F070094152A /* OperatingSystemVersion+Localization.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "OperatingSystemVersion+Localization.swift"; sourceTree = ""; }; 209B7A672CEB6742003BDEF0 /* PointOfSalePaymentState.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PointOfSalePaymentState.swift; sourceTree = ""; }; 209CA0ED2B50070D0073D1AC /* WooTabContainerController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WooTabContainerController.swift; sourceTree = ""; }; - 209E96BC2DB681B50089F3D2 /* KeyboardObserver.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyboardObserver.swift; sourceTree = ""; }; 209ECA802DB8FC280089F3D2 /* PointOfSaleViewStateCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PointOfSaleViewStateCoordinator.swift; sourceTree = ""; }; 209EE8122DBA95BA0089F3D2 /* POSSearchView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = POSSearchView.swift; sourceTree = ""; }; 209EE8142DBA96D00089F3D2 /* POSProductSearchable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = POSProductSearchable.swift; sourceTree = ""; }; @@ -4300,7 +4290,6 @@ 2662D90726E15D6E00E25611 /* AreaSelectorCommand.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AreaSelectorCommand.swift; sourceTree = ""; }; 2662D90926E16B3600E25611 /* FilterListSelector.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FilterListSelector.swift; sourceTree = ""; }; 2664210026F3E1BB001FC5B4 /* ModalHostingPresentationController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ModalHostingPresentationController.swift; sourceTree = ""; }; - 2664210226F40FB1001FC5B4 /* View+ScrollModifiers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "View+ScrollModifiers.swift"; sourceTree = ""; }; 2667BFD6252E5DBF008099D4 /* RefundItemViewModelTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RefundItemViewModelTests.swift; sourceTree = ""; }; 2667BFDA252E659A008099D4 /* MockOrderItem.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MockOrderItem.swift; sourceTree = ""; }; 2667BFDC252F61C5008099D4 /* RefundShippingDetailsViewModelTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RefundShippingDetailsViewModelTests.swift; sourceTree = ""; }; @@ -4407,7 +4396,6 @@ 26DDA4A82C4839B8005FBEBF /* DashboardTimestampStore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DashboardTimestampStore.swift; sourceTree = ""; }; 26DDA4AA2C49627F005FBEBF /* DashboardTimestampStoreTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DashboardTimestampStoreTests.swift; sourceTree = ""; }; 26E0ADF02631D94D00A5EB3B /* TopBannerWrapperView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TopBannerWrapperView.swift; sourceTree = ""; }; - 26E0AE12263359F900A5EB3B /* View+Conditionals.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "View+Conditionals.swift"; sourceTree = ""; }; 26E0AE1826335AA900A5EB3B /* Survey.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Survey.swift; sourceTree = ""; }; 26E1BEC9251BE5390096D0A1 /* RefundItemTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RefundItemTableViewCell.swift; sourceTree = ""; }; 26E1BECB251BE5570096D0A1 /* RefundItemTableViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = RefundItemTableViewCell.xib; sourceTree = ""; }; @@ -4471,7 +4459,6 @@ 314DC4BE268D183600444C9E /* CardReaderSettingsKnownReaderStorage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardReaderSettingsKnownReaderStorage.swift; sourceTree = ""; }; 314DC4C0268D28B100444C9E /* CardReaderSettingsKnownReadersStorageTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardReaderSettingsKnownReadersStorageTests.swift; sourceTree = ""; }; 314DC4C2268D2F1000444C9E /* MockAppSettingsStoresManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MockAppSettingsStoresManager.swift; sourceTree = ""; }; - 31579027273EE2B1008CA3AF /* VersionHelpers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VersionHelpers.swift; sourceTree = ""; }; 31595CAC25E966380033F0FF /* ConnectedReaderTableViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = ConnectedReaderTableViewCell.xib; sourceTree = ""; }; 315E14F32698DA24000AD5FF /* PassKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = PassKit.framework; path = System/Library/Frameworks/PassKit.framework; sourceTree = SDKROOT; }; 316837D925CCA90C00E36B2F /* OrderStatusListDataSource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OrderStatusListDataSource.swift; sourceTree = ""; }; @@ -4499,7 +4486,6 @@ 31F21B01263C8E150035B50A /* CardReaderSettingsSearchingViewModelTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardReaderSettingsSearchingViewModelTests.swift; sourceTree = ""; }; 31F21B59263CB41A0035B50A /* MockCardPresentPaymentsStoresManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MockCardPresentPaymentsStoresManager.swift; sourceTree = ""; }; 31F21B5F263CB78A0035B50A /* MockCardReader.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MockCardReader.swift; sourceTree = ""; }; - 31F635DB273AF0B100E14F10 /* VersionHelpersTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VersionHelpersTests.swift; sourceTree = ""; }; 31F92DE025E85F6A00DE04DF /* ConnectedReaderTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConnectedReaderTableViewCell.swift; sourceTree = ""; }; 31FC8CE627B47591004B9456 /* CardReaderSettingsDataSource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardReaderSettingsDataSource.swift; sourceTree = ""; }; 31FC8CE827B476BA004B9456 /* CardReaderSettingsResultsControllers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardReaderSettingsResultsControllers.swift; sourceTree = ""; }; @@ -4788,10 +4774,8 @@ 57CDABB8252E9BEB00BED88C /* ButtonTableFooterView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ButtonTableFooterView.swift; sourceTree = ""; }; 57CFCD27248845B4003F51EC /* PrimarySectionHeaderView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PrimarySectionHeaderView.swift; sourceTree = ""; }; 57CFCD292488496F003F51EC /* PrimarySectionHeaderView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = PrimarySectionHeaderView.xib; sourceTree = ""; }; - 57EBC91F24EEE61800C1D45B /* WooAnalyticsEvent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WooAnalyticsEvent.swift; sourceTree = ""; }; 57F2C6CC246DECC10074063B /* SummaryTableViewCellViewModelTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SummaryTableViewCellViewModelTests.swift; sourceTree = ""; }; 57F42E3F253768D600EA87F7 /* TitleAndEditableValueTableViewCellViewModelTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TitleAndEditableValueTableViewCellViewModelTests.swift; sourceTree = ""; }; - 581D5051274AA2480089B6AD /* View+AutofocusTextModifier.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "View+AutofocusTextModifier.swift"; sourceTree = ""; }; 6801E4162D0FFF0100F9DF46 /* MockReceiptService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MockReceiptService.swift; sourceTree = ""; }; 680BA5992A4C377900F5559D /* UpgradeViewState.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UpgradeViewState.swift; sourceTree = ""; }; 680E36B42BD8B9B900E8BCEA /* OrderSubscriptionTableViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = OrderSubscriptionTableViewCell.xib; sourceTree = ""; }; @@ -4854,7 +4838,6 @@ 68A5221A2BA1804900A6A584 /* PluginDetailsViewModelTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PluginDetailsViewModelTests.swift; sourceTree = ""; }; 68A905002ACCFC13004C71D3 /* CollapsibleProductCard.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CollapsibleProductCard.swift; sourceTree = ""; }; 68AC9D282ACE598B0042F784 /* ProductImageThumbnail.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProductImageThumbnail.swift; sourceTree = ""; }; - 68AF3C3A2D01481A006F1ED2 /* POSReceiptEligibilityBanner.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = POSReceiptEligibilityBanner.swift; sourceTree = ""; }; 68B3BA252D9147440000B2F2 /* AISettingsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AISettingsView.swift; sourceTree = ""; }; 68B681152D92577F0098D5CD /* PointOfSaleCouponsController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PointOfSaleCouponsController.swift; sourceTree = ""; }; 68B6F22A2ADE7ED500D171FC /* TooltipView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TooltipView.swift; sourceTree = ""; }; @@ -4890,12 +4873,10 @@ 68F151E02C0DA7910082AEC8 /* Cart.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Cart.swift; sourceTree = ""; }; 68F68A4F2D6730DF00BB9568 /* POSCollectOrderPaymentAnalyticsTracking.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = POSCollectOrderPaymentAnalyticsTracking.swift; sourceTree = ""; }; 68F68A512D67365900BB9568 /* MockPOSCollectOrderPaymentAnalyticsTracker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MockPOSCollectOrderPaymentAnalyticsTracker.swift; sourceTree = ""; }; - 68F896412D5E4321000B308B /* POSCollectOrderPaymentAnalytics.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = POSCollectOrderPaymentAnalytics.swift; sourceTree = ""; }; 740382D92267D94100A627F4 /* LargeImageTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LargeImageTableViewCell.swift; sourceTree = ""; }; 740382DA2267D94100A627F4 /* LargeImageTableViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = LargeImageTableViewCell.xib; sourceTree = ""; }; 740987B221B87760000E4C80 /* FancyAnimatedButton+Woo.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "FancyAnimatedButton+Woo.swift"; sourceTree = ""; }; 740ADFE421C33688009EE5A9 /* licenses.html */ = {isa = PBXFileReference; lastKnownFileType = text.html; path = licenses.html; sourceTree = ""; }; - 74213449210A323C00C13890 /* WooAnalyticsStat.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WooAnalyticsStat.swift; sourceTree = ""; }; 7435E58D21C0151B00216F0F /* OrderNote+Woo.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "OrderNote+Woo.swift"; sourceTree = ""; }; 7435E58F21C0162C00216F0F /* OrderNoteWooTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OrderNoteWooTests.swift; sourceTree = ""; }; 743E271F21AEF20100D6DC82 /* FancyAlertViewController+Upgrade.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "FancyAlertViewController+Upgrade.swift"; sourceTree = ""; }; @@ -4917,7 +4898,6 @@ 74A33D7F21C3F233009E25DE /* LicensesViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LicensesViewController.swift; sourceTree = ""; }; 74A95B5721C403EA00FEE953 /* pure-min.css */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.css; path = "pure-min.css"; sourceTree = ""; }; 74B5713521CD7604008F9B8E /* SharingHelper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SharingHelper.swift; sourceTree = ""; }; - 74D0A52F2139CF1300E2919F /* String+Helpers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+Helpers.swift"; sourceTree = ""; }; 74EC34A4225FE21F004BBC2E /* ProductLoaderViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProductLoaderViewController.swift; sourceTree = ""; }; 74F301592200EC0800931B9E /* NSDecimalNumberWooTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NSDecimalNumberWooTests.swift; sourceTree = ""; }; 773077E8251E943600178696 /* ProductDownloadFileViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ProductDownloadFileViewModel.swift; sourceTree = ""; }; @@ -5198,7 +5178,6 @@ B58B4AB02108F01600076FDD /* DefaultNoticePresenter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DefaultNoticePresenter.swift; sourceTree = ""; }; B58B4AB52108F11C00076FDD /* Notice.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Notice.swift; sourceTree = ""; }; B58B4AB72108F14700076FDD /* NoticeNotificationInfo.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NoticeNotificationInfo.swift; sourceTree = ""; }; - B58B4ABF2108FF6100076FDD /* Array+Helpers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Array+Helpers.swift"; sourceTree = ""; }; B5980A6021AC878900EBF596 /* UIDevice+Woo.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIDevice+Woo.swift"; sourceTree = ""; }; B5980A6221AC879F00EBF596 /* Bundle+Woo.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Bundle+Woo.swift"; sourceTree = ""; }; B5980A6421AC905C00EBF596 /* UIDeviceWooTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UIDeviceWooTests.swift; sourceTree = ""; }; @@ -5426,8 +5405,6 @@ CC4A4E952655273D00B75DCD /* ShippingLabelPaymentMethods.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShippingLabelPaymentMethods.swift; sourceTree = ""; }; CC4A4ED72655478D00B75DCD /* ShippingLabelPaymentMethodsViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShippingLabelPaymentMethodsViewModel.swift; sourceTree = ""; }; CC4A4FF026557D0E00B75DCD /* TitleAndToggleRow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TitleAndToggleRow.swift; sourceTree = ""; }; - CC4B252A27CFCEE2008D2E6E /* OrderTotalsCalculator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OrderTotalsCalculator.swift; sourceTree = ""; }; - CC4B252C27CFE443008D2E6E /* OrderTotalsCalculatorTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OrderTotalsCalculatorTests.swift; sourceTree = ""; }; CC4D1D8525E6CDDE00B6E4E7 /* RenameAttributesViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RenameAttributesViewModel.swift; sourceTree = ""; }; CC4D1E7825EE415D00B6E4E7 /* RenameAttributesViewModelTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RenameAttributesViewModelTests.swift; sourceTree = ""; }; CC53FB3427551A6E00C4CA4F /* ProductRow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProductRow.swift; sourceTree = ""; }; @@ -5616,7 +5593,6 @@ CE6A8FB72B7291760063564D /* AnalyticsReportLinkViewModelTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AnalyticsReportLinkViewModelTests.swift; sourceTree = ""; }; CE6E110A2C91DA5D00563DD4 /* WooShippingItemRow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WooShippingItemRow.swift; sourceTree = ""; }; CE6E110C2C91E5FF00563DD4 /* WooShippingItems.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WooShippingItems.swift; sourceTree = ""; }; - CE6E110E2C91EF6800563DD4 /* View+RoundedBorder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "View+RoundedBorder.swift"; sourceTree = ""; }; CE7269C72D11A99800D565C1 /* WooShippingAddPackageViewModelTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WooShippingAddPackageViewModelTests.swift; sourceTree = ""; }; CE755F702D4A4922002539F6 /* WooShippingNormalizeAddressView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WooShippingNormalizeAddressView.swift; sourceTree = ""; }; CE755F722D4A5F96002539F6 /* WooShippingNormalizeAddressViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WooShippingNormalizeAddressViewModel.swift; sourceTree = ""; }; @@ -5960,7 +5936,6 @@ DE67D46826BAA82600EFE8DB /* Publisher+WithLatestFromTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Publisher+WithLatestFromTests.swift"; sourceTree = ""; }; DE68979E2A8F7C9C00154588 /* AccountSettingsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountSettingsView.swift; sourceTree = ""; }; DE68B81E26F86B1700C86CFB /* OfflineBannerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OfflineBannerView.swift; sourceTree = ""; }; - DE68B84226FAF17A00C86CFB /* DefaultConnectivityObserver.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DefaultConnectivityObserver.swift; sourceTree = ""; }; DE6906DA27D5F69900735E3B /* OrderDetailsViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = OrderDetailsViewController.xib; sourceTree = ""; }; DE6906E227D7121800735E3B /* GhostTableViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GhostTableViewController.swift; sourceTree = ""; }; DE6906E427D7439B00735E3B /* OrdersSplitViewWrapperController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OrdersSplitViewWrapperController.swift; sourceTree = ""; }; @@ -5991,8 +5966,6 @@ DE7842F626F2E9340030C792 /* UIViewController+Connectivity.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIViewController+Connectivity.swift"; sourceTree = ""; }; DE78DE412B2813E4002E58DE /* ThemesCarouselViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThemesCarouselViewModel.swift; sourceTree = ""; }; DE78DE432B2846AF002E58DE /* ThemesCarouselViewModelTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThemesCarouselViewModelTests.swift; sourceTree = ""; }; - DE792E1726EF35F40071200C /* ConnectivityObserver.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConnectivityObserver.swift; sourceTree = ""; }; - DE792E1A26EF37ED0071200C /* DefaultConnectivityObserver.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DefaultConnectivityObserver.swift; sourceTree = ""; }; DE7B17F42C0DF02800A6C7D8 /* InboxEligibilityUseCaseTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InboxEligibilityUseCaseTests.swift; sourceTree = ""; }; DE7B17F82C1AA26B00A6C7D8 /* MockWooSubscriptionProductsEligibilityChecker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MockWooSubscriptionProductsEligibilityChecker.swift; sourceTree = ""; }; DE7B478F27A153C20018742E /* CouponSearchUICommand.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CouponSearchUICommand.swift; sourceTree = ""; }; @@ -6146,7 +6119,6 @@ E1068057285C787100668B46 /* BetaFeaturesTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BetaFeaturesTests.swift; sourceTree = ""; }; E107FCE026C12B2700BAF51B /* InPersonPaymentsCountryNotSupported.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InPersonPaymentsCountryNotSupported.swift; sourceTree = ""; }; E107FCE226C13A0D00BAF51B /* InPersonPaymentsSupportLink.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InPersonPaymentsSupportLink.swift; sourceTree = ""; }; - E10BC15D26CC06970064F5E2 /* ScrollableVStack.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ScrollableVStack.swift; sourceTree = ""; }; E10BD16C27CF890700CE6449 /* InPersonPaymentsCountryNotSupportedStripe.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InPersonPaymentsCountryNotSupportedStripe.swift; sourceTree = ""; }; E10DFC77267331590083AFF2 /* ApplicationLogViewModelTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ApplicationLogViewModelTests.swift; sourceTree = ""; }; E10DFC792673595A0083AFF2 /* ShareSheet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShareSheet.swift; sourceTree = ""; }; @@ -6547,6 +6519,50 @@ path = "Reusable Views"; sourceTree = ""; }; + 01654EB02E786223001DBB6F /* Adaptors */ = { + isa = PBXGroup; + children = ( + 016582D42E78715B001DBB6F /* Card Present Payments */, + 016582D52E78715B001DBB6F /* POSCollectOrderPaymentAnalyticsAdaptor.swift */, + 01654EAF2E786223001DBB6F /* POSServiceLocatorAdaptor.swift */, + ); + path = Adaptors; + sourceTree = ""; + }; + 016582C82E786840001DBB6F /* Extensions */ = { + isa = PBXGroup; + children = ( + 016582C72E786840001DBB6F /* UIImage+POS.swift */, + 01BE93FF2DDCB1110063541C /* Error+Connectivity.swift */, + ); + path = Extensions; + sourceTree = ""; + }; + 016582D42E78715B001DBB6F /* Card Present Payments */ = { + isa = PBXGroup; + children = ( + 016582CA2E78715B001DBB6F /* CardPresentPaymentBluetoothReaderConnectionAlertsProvider.swift */, + 016582CB2E78715B001DBB6F /* CardPresentPaymentCollectOrderPaymentUseCaseAdaptor.swift */, + 016582CC2E78715B001DBB6F /* CardPresentPaymentInvalidatablePaymentOrchestrator.swift */, + 016582CD2E78715B001DBB6F /* CardPresentPaymentOnboardingAdaptor.swift */, + 016582CE2E78715B001DBB6F /* CardPresentPaymentPreflightAdaptor.swift */, + 016582CF2E78715B001DBB6F /* CardPresentPaymentsAlertPresenterAdaptor.swift */, + 016582D02E78715B001DBB6F /* CardPresentPaymentsConnectionControllerManager.swift */, + 016582D12E78715B001DBB6F /* CardPresentPaymentService.swift */, + 016582D22E78715B001DBB6F /* CardPresentPaymentsTransactionAlertsProvider.swift */, + 016582D32E78715B001DBB6F /* CardPresentPaymentTapToPayReaderConnectionAlertsProvider.swift */, + ); + path = "Card Present Payments"; + sourceTree = ""; + }; + 016582E42E7871F8001DBB6F /* Protocols */ = { + isa = PBXGroup; + children = ( + 016582E32E7871F8001DBB6F /* POSDependencyProviding.swift */, + ); + path = Protocols; + sourceTree = ""; + }; 016A77672D9D24A30004FCD6 /* Coupons */ = { isa = PBXGroup; children = ( @@ -7274,7 +7290,6 @@ 0139BB512D91B45500C78FDE /* CouponRowView.swift */, 01C9C59E2DA3D97E00CD81D8 /* CartRowRemoveButton.swift */, 68D8FBD02BFEF9C700477C42 /* TotalsView.swift */, - 68AF3C3A2D01481A006F1ED2 /* POSReceiptEligibilityBanner.swift */, DA1D68C12C36F0980097859A /* PointOfSaleAssets.swift */, 68707A152E570E7D00500CD8 /* Settings */, ); @@ -7596,12 +7611,15 @@ isa = PBXGroup; children = ( 20E014E12CF63671008C823B /* README.md */, + 01654EB02E786223001DBB6F /* Adaptors */, + 016582C82E786840001DBB6F /* Extensions */, 021080FD2D544B490054C78D /* Colors */, 68F151DF2C0DA7800082AEC8 /* Models */, 200BA1572CF092150006DC5B /* Controllers */, 026826A12BF59DED0036F959 /* Presentation */, 026826912BF59D7A0036F959 /* ViewHelpers */, 02D1D2D82CD3CD710069A93F /* Analytics */, + 016582E42E7871F8001DBB6F /* Protocols */, 2004E2C02C076CCA00D62521 /* Card Present Payments */, 02ABF9B92DF7F8E200348186 /* TabBar */, 026826972BF59D9E0036F959 /* Utils */, @@ -7817,6 +7835,7 @@ 02CD3BFC2C35D01600E575C4 /* Mocks */ = { isa = PBXGroup; children = ( + 016582E12E787187001DBB6F /* MockOnboardingViewFactoryConfiguration.swift */, 01B7AFBF2E7080180004BE9D /* MockPOSOrderListController.swift */, 019460E12E70121A00FCB9AB /* MockPOSReceiptController.swift */, 012ACB812E5D8DCD00A49458 /* MockPOSOrderListFetchStrategyFactory.swift */, @@ -7856,7 +7875,6 @@ children = ( 0216DA6F2E2576C300016600 /* WooAnalyticsEvent+PointOfSaleIneligibleUI.swift */, 68F68A4F2D6730DF00BB9568 /* POSCollectOrderPaymentAnalyticsTracking.swift */, - 68F896412D5E4321000B308B /* POSCollectOrderPaymentAnalytics.swift */, 02D1D2D92CD3CD8D0069A93F /* WooAnalyticsEvent+PointOfSale.swift */, 20F6A46B2DE5FCEF0066D8CB /* POSItemFetchAnalytics.swift */, ); @@ -8215,25 +8233,14 @@ 2004E2C52C076D4500D62521 /* CardPresentPaymentResult.swift */, 2004E2C92C07771400D62521 /* CardPresentPaymentReaderConnectionResult.swift */, 2027F7552C90B013004BDF73 /* CardPresentPaymentReaderConnectionStatus.swift */, - 2004E2CB2C07795E00D62521 /* CardPresentPaymentError.swift */, 2004E2CD2C077B0B00D62521 /* CardPresentPaymentCardReader.swift */, 2004E2D12C07878E00D62521 /* CardReaderConnectionMethod.swift */, 2004E2CF2C077D2800D62521 /* CardPresentPaymentTransaction.swift */, - 2004E2D52C08E1FA00D62521 /* CardPresentPaymentOnboardingAdaptor.swift */, 2004E2D72C08E56300D62521 /* CardPresentPaymentOnboardingPresentationEvent.swift */, - 027179E12C08817F0049F0BD /* CardPresentPaymentService.swift */, - 20762BA02C18A66400758305 /* CardPresentPaymentTapToPayReaderConnectionAlertsProvider.swift */, - 20762BA42C18B42C00758305 /* CardPresentPaymentBluetoothReaderConnectionAlertsProvider.swift */, - 20762BA62C18B55100758305 /* CardPresentPaymentsTransactionAlertsProvider.swift */, 20ADE9422C6B34D100C91265 /* CardPresentPaymentsRetryApproach.swift */, 20762BA22C18A6A300758305 /* CardPresentPaymentEventDetails.swift */, 204CB80F2C10BB88000C9773 /* CardPresentPaymentPreviewService.swift */, - 2004E2EC2C0F5DD800D62521 /* CardPresentPaymentCollectOrderPaymentUseCaseAdaptor.swift */, - 2026ECE82C25D21F00BEF7E4 /* CardPresentPaymentInvalidatablePaymentOrchestrator.swift */, - 2004E2E42C0A206800D62521 /* CardPresentPaymentsAlertPresenterAdaptor.swift */, - 2004E2E22C0A128400D62521 /* CardPresentPaymentsConnectionControllerManager.swift */, 2004E2E62C0DFB9E00D62521 /* CardPresentPaymentsModalButtonViewModel.swift */, - 2004E2EA2C0E219D00D62521 /* CardPresentPaymentPreflightAdaptor.swift */, ); path = "Card Present Payments"; sourceTree = ""; @@ -8459,6 +8466,7 @@ 20C3DB222E1E69CF00CF7D3B /* Barcode Scanner Setup */ = { isa = PBXGroup; children = ( + 016582E82E789468001DBB6F /* PointOfSaleBarcodeScannerButtonCustomization.swift */, 20C3DB1D2E1E69CF00CF7D3B /* PointOfSaleBarcodeScannerSetupFlow.swift */, 20C3DB1E2E1E69CF00CF7D3B /* PointOfSaleBarcodeScannerSetup.swift */, 20C3DB1F2E1E69CF00CF7D3B /* PointOfSaleBarcodeScannerSetupFlowManager.swift */, @@ -8483,6 +8491,7 @@ 20D557572DF9D57800D9EC8B /* Barcode Scanning */ = { isa = PBXGroup; children = ( + 016582EA2E7894B5001DBB6F /* HIDBarcodeParserTypes.swift */, 0105865D2E426FDB002FADD1 /* UIKitBarcodeObserver.swift */, 0105865B2E426FAA002FADD1 /* BarcodeAnalyticsTracker.swift */, 016910972E1D019500B731DA /* GameControllerBarcodeObserver.swift */, @@ -8525,7 +8534,6 @@ 269098B527D2C09D001FEB07 /* ShippingInputTransformerTests.swift */, 269098B927D6922E001FEB07 /* FeesInputTransformerTests.swift */, 2602A64927BDC80200B347F1 /* RemoteOrderSynchronizerTests.swift */, - CC4B252C27CFE443008D2E6E /* OrderTotalsCalculatorTests.swift */, EEB221A429B97F8400662A12 /* CouponInputTransformerTests.swift */, ); path = Synchronizer; @@ -8605,10 +8613,7 @@ 262A097F2628A8BF0033AD20 /* View Modifiers */ = { isa = PBXGroup; children = ( - 2664210226F40FB1001FC5B4 /* View+ScrollModifiers.swift */, - 26E0AE12263359F900A5EB3B /* View+Conditionals.swift */, DE4B3B5526A68DD000EEF2D8 /* View+InsetPaddings.swift */, - 581D5051274AA2480089B6AD /* View+AutofocusTextModifier.swift */, 26281775278F0B0100C836D3 /* View+NoticesModifier.swift */, AE77EA4F27A47C99006A21BD /* View+AddingDividers.swift */, AED089F127C794BC0020AE10 /* View+CurrencySymbol.swift */, @@ -8616,8 +8621,6 @@ 02562ACF296D1FD100980404 /* View+DividerStyle.swift */, B649BC7D2A1C295B007AB988 /* View+HighlightModifier.swift */, 02B60DFA2A58809F004C47FF /* View+MediaSourceActionSheet.swift */, - CE6E110E2C91EF6800563DD4 /* View+RoundedBorder.swift */, - 026A502B2D2F6CC3002C42C2 /* View+Measurements.swift */, ); path = "View Modifiers"; sourceTree = ""; @@ -8921,7 +8924,6 @@ 2602A63E27BD880A00B347F1 /* NewOrderInitialStatusResolver.swift */, 269098B327D2BBFC001FEB07 /* ShippingInputTransformer.swift */, 269098B727D68CCD001FEB07 /* FeesInputTransformer.swift */, - CC4B252A27CFCEE2008D2E6E /* OrderTotalsCalculator.swift */, EEB4E2DD29B61AAD00371C3C /* CouponInputTransformer.swift */, ); path = Synchronizer; @@ -9666,7 +9668,6 @@ CE4FE7D72B7D306200F66DD5 /* MultiSelectionReorderableList.swift */, CC254F2C26C17AB5005F3C82 /* BottomButtonView.swift */, DE19BB1126C3811100AB70D9 /* LearnMoreRow.swift */, - E10BC15D26CC06970064F5E2 /* ScrollableVStack.swift */, DE126D0A26CA2331007F901D /* ValidationErrorRow.swift */, 456BEFB526D912EC002AC16C /* AuthenticatedWebView.swift */, DEE6437726D8DAD900888A75 /* InProgressView.swift */, @@ -9689,8 +9690,6 @@ 03076D39290C22BE008EE839 /* WebView.swift */, 03076D35290C162E008EE839 /* WebViewSheet.swift */, 03076D37290C223D008EE839 /* WooNavigationSheet.swift */, - 02EAA4C92911004B00918DAB /* TextFieldStyles.swift */, - 036CA6F029229C9E00E4DF4F /* IndefiniteCircularProgressViewStyle.swift */, DE2FE5872925DD950018040A /* JetpackInstallHeaderView.swift */, 26E7EE6F29300F6200793045 /* DeltaTag.swift */, AEE9A87F293A3E5500227C92 /* RefreshablePlainList.swift */, @@ -9715,7 +9714,6 @@ CEE02AF72C1859B400B0B6AB /* MessageComposeView.swift */, DE8AA0B42BBEBE590084D2CC /* ViewControllerContainer.swift */, CE9F60112C09D53500652E0A /* FeedbackBannerPopover.swift */, - 209E96BC2DB681B50089F3D2 /* KeyboardObserver.swift */, ); path = "SwiftUI Components"; sourceTree = ""; @@ -10071,6 +10069,7 @@ 68F151DF2C0DA7800082AEC8 /* Models */ = { isa = PBXGroup; children = ( + 016582E62E789409001DBB6F /* POSIneligibleReason.swift */, 012ACB7B2E5C9BD400A49458 /* POSOrderListModel.swift */, 01B3A1F12DB6D48800286B7F /* ItemListType.swift */, 20FCBCDC2CE223340082DCA3 /* PointOfSaleAggregateModel.swift */, @@ -10221,10 +10220,9 @@ 747AA0872107CE270047A89B /* Analytics */ = { isa = PBXGroup; children = ( + 01654EB52E78641B001DBB6F /* WooAnalyticsEvent+WooApp.swift */, EEC0120E2CE34B69003B865B /* WooAnalyticsEvent+WPCOMSuspendedSite.swift */, CEA16F3920FD0C8C0061B4E1 /* WooAnalytics.swift */, - 57EBC91F24EEE61800C1D45B /* WooAnalyticsEvent.swift */, - 74213449210A323C00C13890 /* WooAnalyticsStat.swift */, 747AA08A2107CF8D0047A89B /* TracksProvider.swift */, EE57C11C297AC27300BC31E7 /* TrackEventRequestNotificationHandler.swift */, 02C3FACD282A93020095440A /* WooAnalyticsEvent+Dashboard.swift */, @@ -10668,7 +10666,6 @@ CC0324A2263AD9F40056C6B7 /* MockShippingLabelAccountSettings.swift */, 0277AEAA256CAA5300F45C4A /* MockShippingLabelAddress.swift */, 0211252D25773FB00075AD2A /* MockAggregateOrderItem.swift */, - DE68B84226FAF17A00C86CFB /* DefaultConnectivityObserver.swift */, 4590B651261C8D1E00A6FCE0 /* WeightFormatterTests.swift */, B96B536A2816ECFC00F753E6 /* CardPresentPluginsDataProviderTests.swift */, EEADF625281A65A9001B40F1 /* DefaultShippingValueLocalizerTests.swift */, @@ -10757,7 +10754,6 @@ 01BB6C082D09E9200094D55B /* Location */, 26BCA03E2C35E965000BE96C /* BackgroundTasks */, EEADF61C281A3DB7001B40F1 /* ShippingValueLocalizer */, - DE792E1926EF37D80071200C /* Connectivity */, CECC759A23D61BCC00486676 /* AggregateData */, CEEC9B6121E79EBF0055EEF0 /* AppRatings */, 024A543222BA6DD500F4F38E /* Developer */, @@ -10785,7 +10781,6 @@ CE22709E2293052700C0626C /* WebviewHelper.swift */, 45D685FD23D0FB25005F87D0 /* Throttler.swift */, 262C921E26EEF8B100011F92 /* Binding.swift */, - 31579027273EE2B1008CA3AF /* VersionHelpers.swift */, 174CA86D27DBFD2D00126524 /* ShareAppTextItemActivitySource.swift */, B9C4AB2427FDE4B6007008B8 /* CardPresentPluginsDataProvider.swift */, B958A7D428B5302500823EEF /* URLOpener.swift */, @@ -11045,7 +11040,6 @@ 74F301592200EC0800931B9E /* NSDecimalNumberWooTests.swift */, 45DB706B26161F970064A6CF /* DecimalWooTests.swift */, B541B2122189E7FD008FE7C1 /* ScannerWooTests.swift */, - 31F635DB273AF0B100E14F10 /* VersionHelpersTests.swift */, B55BC1F221A8790F0011A0C0 /* StringHTMLTests.swift */, B5980A6421AC905C00EBF596 /* UIDeviceWooTests.swift */, B57C745020F56EE900EEFC87 /* UITableViewCellHelpersTests.swift */, @@ -12136,11 +12130,11 @@ CE1CCB4C20572444000EE3AC /* Extensions */ = { isa = PBXGroup; children = ( + 016582EC2E7897B3001DBB6F /* String+Helpers.swift */, 2D88C1102DF883BD00A6FB2C /* AttributedString+Helpers.swift */, 2004E2DB2C08E95B00D62521 /* ViewControllerPresenting.swift */, DE50294828BEF4CF00551736 /* WordPressOrgCredentials+Authenticator.swift */, EE3D1E932B8EC1E00016B132 /* BlazeCampaignListItem+Customizations.swift */, - B58B4ABF2108FF6100076FDD /* Array+Helpers.swift */, B59C09D82188CBB100AB41D6 /* Array+Notes.swift */, 45EF7983244F26BB00B22BA2 /* Array+IndexPath.swift */, B5980A6221AC879F00EBF596 /* Bundle+Woo.swift */, @@ -12161,7 +12155,6 @@ B541B21F218A007C008FE7C1 /* NSMutableParagraphStyle+Helpers.swift */, B541B222218A29A6008FE7C1 /* NSParagraphStyle+Woo.swift */, B541B2142189EEA1008FE7C1 /* Scanner+Helpers.swift */, - 74D0A52F2139CF1300E2919F /* String+Helpers.swift */, B55BC1F021A878A30011A0C0 /* String+HTML.swift */, B517EA1C218B41F200730EC4 /* String+Woo.swift */, 453227B623C4D6EC00D816B3 /* TimeZone+Woo.swift */, @@ -12236,7 +12229,6 @@ 204C9C732B6BDFFB007A94E0 /* UIUserInterfaceSizeClass+Helpers.swift */, EE8A30442B74948C001D7C66 /* OrderAttributionInfo+Origin.swift */, 26CE6F332B7D4C27008DB858 /* Error+Timeout.swift */, - 01BE93FF2DDCB1110063541C /* Error+Connectivity.swift */, B9ACF6872BEE4FC60076E6BC /* String+ProductQuantityRules.swift */, ); path = Extensions; @@ -13530,15 +13522,6 @@ path = EnableAnalytics; sourceTree = ""; }; - DE792E1926EF37D80071200C /* Connectivity */ = { - isa = PBXGroup; - children = ( - DE792E1726EF35F40071200C /* ConnectivityObserver.swift */, - DE792E1A26EF37ED0071200C /* DefaultConnectivityObserver.swift */, - ); - path = Connectivity; - sourceTree = ""; - }; DE7B479127A38ABC0018742E /* CouponDetails */ = { isa = PBXGroup; children = ( @@ -15122,7 +15105,6 @@ 26B984D42BEECC610052658C /* Environment+Dependencies.swift in Sources */, 26F81B1A2BE433A2009EC58E /* MyStoreView.swift in Sources */, 26A52EF02C69B8F5000B1CFB /* WatchCrashLoggingStack.swift in Sources */, - 268631CF2C07D38C00521364 /* WooAnalyticsStat.swift in Sources */, 26CFDEDA2C029322005ABC31 /* AppDelegate.swift in Sources */, 264E9E942BF1D1DF009C48FD /* AppLocalizedString.swift in Sources */, 26A52EEE2C69B51D000B1CFB /* PerformanceTracking.swift in Sources */, @@ -15146,7 +15128,6 @@ 26FFC50C2BED7C5A0067B3A4 /* WatchDependencies.swift in Sources */, 26CFDEE62C038C7D005ABC31 /* OrderNotificationDataService.swift in Sources */, DA81B4332C8EE5D6000F3466 /* MarkOrderAsReadUseCase.swift in Sources */, - 26CA471F2BFD81E900E54348 /* String+Helpers.swift in Sources */, 26CA47242BFE4C1C00E54348 /* OrderDetailView.swift in Sources */, 261C21552C08D8E20051AF19 /* WatchTracksProvider.swift in Sources */, ); @@ -15250,6 +15231,7 @@ DE4D308928507B5B00E36ADD /* CouponCreationSuccess.swift in Sources */, 03BB9EA5292E2D0C00251E9E /* CardReaderConnectionController.swift in Sources */, B95112DA28BF79CA00D9578D /* PaymentsRoute.swift in Sources */, + 016582E92E789468001DBB6F /* PointOfSaleBarcodeScannerButtonCustomization.swift in Sources */, 7E6A019F2725CD76001668D5 /* FilterProductCategoryListViewModel.swift in Sources */, CE63023F2BAAF04600E3325C /* TitleAndSubtitleAndDetailRow.swift in Sources */, 024D4E842A1B4B630090E0E6 /* WooAnalyticsEvent+ProductForm.swift in Sources */, @@ -15315,7 +15297,6 @@ 0191301B2CF4E782008C0C88 /* TapToPayEducationStepViewModel.swift in Sources */, 0258D9492B68E7FE00D280D0 /* ProductsSplitViewWrapperController.swift in Sources */, 019630B62D02018C00219D80 /* TapToPayAwarenessMomentDeterminer.swift in Sources */, - 036CA6F129229C9E00E4DF4F /* IndefiniteCircularProgressViewStyle.swift in Sources */, 451A9973260E39270059D135 /* ShippingLabelPackageNumberRow.swift in Sources */, AEE2610F26E664CE00B142A0 /* EditOrderAddressFormViewModel.swift in Sources */, 025C00BA25514A7100FAC222 /* BarcodeScannerFrameScaler.swift in Sources */, @@ -15506,7 +15487,6 @@ B5D1AFC620BC7B7300DB0E8C /* StorePickerViewController.swift in Sources */, 02DD81FB242CAA400060E50B /* WordPressMediaLibraryPickerDataSource.swift in Sources */, DE4D239829ADF8E3003A4B5D /* WordPressAuthenticator+Woo.swift in Sources */, - 31579028273EE2B1008CA3AF /* VersionHelpers.swift in Sources */, CCD2F51C26D697860010E679 /* ShippingLabelServicePackageListViewModel.swift in Sources */, 03076D38290C223E008EE839 /* WooNavigationSheet.swift in Sources */, 022CE91A29BB143000F210E0 /* ProductSelectorNavigationView.swift in Sources */, @@ -15517,7 +15497,6 @@ E107FCE326C13A0D00BAF51B /* InPersonPaymentsSupportLink.swift in Sources */, 2662D90626E1571900E25611 /* ListSelector.swift in Sources */, EE35AFA12B04917B0074E7AC /* SubscriptionTrialViewController.swift in Sources */, - 74D0A5302139CF1300E2919F /* String+Helpers.swift in Sources */, B9B7E2E629FBF96100F9CED1 /* ProductSelectorViewModelTracker.swift in Sources */, 0286B27F23C70557003D784B /* ColumnFlowLayout.swift in Sources */, DEE6437626D87C4100888A75 /* PrintCustomsFormsView.swift in Sources */, @@ -15557,7 +15536,6 @@ 26838358296F9A1E00CCF60A /* GenerateAllVariationsUseCase.swift in Sources */, 01ADC1362C9AB4810036F7D2 /* PointOfSaleCardPresentPaymentIntentCreationErrorMessageViewModel.swift in Sources */, EE3BC28C2BE3905400195AF0 /* InAppFeedbackCardView.swift in Sources */, - 2004E2E32C0A128400D62521 /* CardPresentPaymentsConnectionControllerManager.swift in Sources */, EE4C45672C352D7F001A3D94 /* ToneOfVoiceView.swift in Sources */, 038BC38329C4B8ED00EAF565 /* SetUpTapToPayTryPaymentPromptViewController.swift in Sources */, CE2A9FD023C4F2C8002BEC1C /* RefundedProductsViewController.swift in Sources */, @@ -15586,15 +15564,14 @@ 20ADE9432C6B34D100C91265 /* CardPresentPaymentsRetryApproach.swift in Sources */, CC666F2427F329DC0045AF1E /* View+DiscardChanges.swift in Sources */, 0282DD94233C9465006A5FDB /* SearchUICommand.swift in Sources */, - 2004E2EB2C0E219D00D62521 /* CardPresentPaymentPreflightAdaptor.swift in Sources */, 011D7A332CEC877A0007C187 /* CardPresentModalNonRetryableErrorEmailSent.swift in Sources */, - 68AF3C3B2D01481C006F1ED2 /* POSReceiptEligibilityBanner.swift in Sources */, EEBA02A32ADD6005001FE8E4 /* BlazeCampaignDashboardView.swift in Sources */, 20C909962D3151FA0013BCCF /* ItemListBaseItem.swift in Sources */, 028BAC4722F3B550008BB4AF /* StatsTimeRangeV4+UI.swift in Sources */, 024DF32123744798006658FE /* AztecFormatBarCommandCoordinator.swift in Sources */, 689F291A2DE4557E004DF52B /* POSStockFormatter.swift in Sources */, B5AA7B3F20ED81C2004DA14F /* UserDefaults+Woo.swift in Sources */, + 016582C92E786840001DBB6F /* UIImage+POS.swift in Sources */, DED0392B2BC7A076005D0571 /* StorePerformanceViewModel.swift in Sources */, 318477E527A33C650058C7E9 /* CardPresentModalConnectingFailedChargeReader.swift in Sources */, CEEF742A2B9A02EB00B03948 /* OrdersReportCardViewModel.swift in Sources */, @@ -15708,7 +15685,6 @@ B57B678A2107546E00AF8905 /* Address+Woo.swift in Sources */, 035F2308275690970019E1B0 /* CardPresentModalConnectingFailedUpdatePostalCode.swift in Sources */, 205E79512C207FAE001BA266 /* PointOfSaleCardPresentPaymentDisplayReaderMessageMessageView.swift in Sources */, - 209E96BD2DB681B50089F3D2 /* KeyboardObserver.swift in Sources */, 03F5CB012A0BA3D40026877A /* ModalOverlay.swift in Sources */, 01C9C59F2DA3D98400CD81D8 /* CartRowRemoveButton.swift in Sources */, 457509E4267B9E91005FA2EA /* AggregatedProductListViewController.swift in Sources */, @@ -15745,13 +15721,13 @@ 027ADB752D218A8D009608DB /* POSItemCardBorderStylesModifier.swift in Sources */, 0215320B24231D5A003F2BBD /* UIStackView+Subviews.swift in Sources */, 02F4F50B237AEB8A00E13A9C /* ProductFormTableViewDataSource.swift in Sources */, - 2004E2CC2C07795E00D62521 /* CardPresentPaymentError.swift in Sources */, B57C5C9621B80E5500FF82B2 /* Dictionary+Woo.swift in Sources */, 68DF5A8F2CB38F20000154C9 /* OrderCouponSectionView.swift in Sources */, CE27257F21925AE8002B22EB /* ValueOneTableViewCell.swift in Sources */, DE4A33552A45A4DC00795DA9 /* WPComSitePlan+SimpleSite.swift in Sources */, 860476E82B6CA0FC00AF0AEB /* BottomSheetProductType.swift in Sources */, 01435CF82DFC2CE800C0279B /* PointOfSaleInformationModal.swift in Sources */, + 016582E52E7871F8001DBB6F /* POSDependencyProviding.swift in Sources */, 68C53CBE2C1FE59B00C6D80B /* ItemListView.swift in Sources */, 028296EC237D28B600E84012 /* TextViewViewController.swift in Sources */, 02B8650F24A9E2D800265779 /* Product+SwiftUIPreviewHelpers.swift in Sources */, @@ -15775,7 +15751,6 @@ E1D4E84426776A6B00256B83 /* HeadlineTableViewCell.swift in Sources */, B555530F21B57DE700449E71 /* ApplicationAdapter.swift in Sources */, 025C00682550DE4700FAC222 /* ScannerContainerViewController.swift in Sources */, - 2004E2D62C08E1FA00D62521 /* CardPresentPaymentOnboardingAdaptor.swift in Sources */, 20DA6DDB2B681175002AA0FB /* AdaptiveModalContainer.swift in Sources */, 456BEFB626D912EC002AC16C /* AuthenticatedWebView.swift in Sources */, 310D1B482734919E001D55B4 /* InPersonPaymentsLiveSiteInTestModeView.swift in Sources */, @@ -15831,7 +15806,6 @@ 035DBA47292D0995003E5125 /* CardPresentPaymentPreflightController.swift in Sources */, 0230B4D82C3345DF00F2F660 /* PointOfSaleCardPresentPaymentCaptureFailedView.swift in Sources */, 86B3E2552C6B1F160002420B /* HelpAndSupportViewModel.swift in Sources */, - B58B4AC02108FF6100076FDD /* Array+Helpers.swift in Sources */, B90C65CD29ACE2D6004CAB9E /* CardPresentPaymentOnboardingStateCache.swift in Sources */, 028AFFB32484ED2800693C09 /* Dictionary+Logging.swift in Sources */, 012ACB782E5C84A200A49458 /* POSOrdersViewState.swift in Sources */, @@ -15856,7 +15830,6 @@ D8736B5A22F07D7100A14A29 /* MainTabViewModel.swift in Sources */, 02619858256B53DD00E321E9 /* AggregatedShippingLabelOrderItems.swift in Sources */, 260520F22B83B1B7005D5D59 /* ConnectivityToolViewModel.swift in Sources */, - 20762BA72C18B55100758305 /* CardPresentPaymentsTransactionAlertsProvider.swift in Sources */, 0235595024496853004BE2B8 /* BottomSheetListSelectorViewController.swift in Sources */, 57A49128250A7EB2000FEF21 /* OrderListViewController.swift in Sources */, 203163BD2C1C9602001C96DA /* PointOfSaleCardPresentPaymentAlertType.swift in Sources */, @@ -15911,7 +15884,6 @@ 03076D3A290C22BE008EE839 /* WebView.swift in Sources */, 02E4908D29AF216E005942AE /* TopPerformersPeriodView.swift in Sources */, 023D877925EC8BCB00625963 /* UIScrollView+LargeTitleWorkaround.swift in Sources */, - 2664210326F40FB1001FC5B4 /* View+ScrollModifiers.swift in Sources */, 02695770237281A9001BA0BF /* AztecTextViewAttachmentHandler.swift in Sources */, CCCFFC5A2934EF5E006130AF /* StatsIntervalDataParser.swift in Sources */, 01BE94002DDCB1110063541C /* Error+Connectivity.swift in Sources */, @@ -15969,7 +15941,6 @@ 026826C02BF59E410036F959 /* PointOfSaleCardPresentPaymentConnectingFailedView.swift in Sources */, B586906621A5F4B1001F1EFC /* UINavigationController+Woo.swift in Sources */, 45FBDF3A238D3F8B00127F77 /* ExtendedAddProductImageCollectionViewCell.swift in Sources */, - 68F896422D5E4323000B308B /* POSCollectOrderPaymentAnalytics.swift in Sources */, 029F53182BEB33BC00E31A10 /* CollapsibleCustomerCardAddressView.swift in Sources */, CE606D832BE14010001CB424 /* ShippingLineSelectionDetailsViewModel.swift in Sources */, 02C7EE8A2B21B951008B7DF8 /* ProductWithQuantityStepperViewModel.swift in Sources */, @@ -16131,7 +16102,6 @@ 028E1F702833DD0A001F8829 /* DashboardViewModel.swift in Sources */, 2602A63D27BD3C8C00B347F1 /* RemoteOrderSynchronizer.swift in Sources */, CCFBBCFA29C4C85F0081B595 /* ComponentSettingsViewModel.swift in Sources */, - CC4B252B27CFCEE2008D2E6E /* OrderTotalsCalculator.swift in Sources */, 8625C5112BF20990007F1901 /* ReviewsDashboardCard.swift in Sources */, CE2DF92E2CC16C95001AA394 /* WooShippingServiceCardView.swift in Sources */, 0247F512286F73EA009C177E /* WooAnalyticsEvent+ImageUpload.swift in Sources */, @@ -16141,7 +16111,6 @@ 45DB70602614C7E80064A6CF /* ShippingLabelPackageDetailsResultsControllers.swift in Sources */, B9F148982AD5541C008FC795 /* AddCustomAmountViewModel.swift in Sources */, 027D67D1245ADDF40036B8DB /* FilterTypeViewModel+Helpers.swift in Sources */, - 581D5052274AA2480089B6AD /* View+AutofocusTextModifier.swift in Sources */, E15FC74126BC1CED00CF83E6 /* AttributedText.swift in Sources */, 0365986B29AFB11E00F297D3 /* SetUpTapToPayInformationViewController.swift in Sources */, 31316F9C25CB20FD00D9F129 /* OrderStatusListViewModel.swift in Sources */, @@ -16164,7 +16133,6 @@ CE1F512B206985DF00C6C810 /* PaddedLabel.swift in Sources */, 26E0ADF12631D94D00A5EB3B /* TopBannerWrapperView.swift in Sources */, 26C6E8EA26E8FD3900C7BB0F /* LazyView.swift in Sources */, - 7421344A210A323C00C13890 /* WooAnalyticsStat.swift in Sources */, 4567389D2745497C00743054 /* OrderStatusFilterViewController.swift in Sources */, 268D7C9C2984752A00D38709 /* SupportForm.swift in Sources */, 02A275BA23FE50AA005C560F /* ProductUIImageLoader.swift in Sources */, @@ -16256,7 +16224,6 @@ 2677B559299F322300862180 /* SupportForm+Presentation.swift in Sources */, D8B4D5F426C30E7C00F34E94 /* InPersonPaymentsStripeRejectedView.swift in Sources */, DE0A2EAD281BA1FA007A8015 /* ProductCategorySelector.swift in Sources */, - 2026ECE92C25D21F00BEF7E4 /* CardPresentPaymentInvalidatablePaymentOrchestrator.swift in Sources */, 57612989245888E2007BB2D9 /* NumberFormatter+LocalizedOrNinetyNinePlus.swift in Sources */, B5A8532220BDBFAF00FAAB4D /* CircularImageView.swift in Sources */, CE1F51252064179A00C6C810 /* UILabel+Helpers.swift in Sources */, @@ -16288,7 +16255,6 @@ 0188CA112C6565320051BF1C /* PointOfSaleCardPresentPaymentValidatingOrderErrorMessageView.swift in Sources */, 0294F8AB25E8A12C005B537A /* WooTabNavigationController.swift in Sources */, 029F29FA24D93E9E004751CA /* EditableProductModel.swift in Sources */, - 027179E22C08817F0049F0BD /* CardPresentPaymentService.swift in Sources */, 20D3D4332C65E59B004CE6E3 /* OrdersRoute.swift in Sources */, 2DCB54FA2E6AE8E100621F90 /* CIABEligibilityChecker.swift in Sources */, 31FC8CE927B476BA004B9456 /* CardReaderSettingsResultsControllers.swift in Sources */, @@ -16335,12 +16301,11 @@ 262EB5B0298C7C3A009DCC36 /* SupportFormsDataSources.swift in Sources */, 57C5FF7F250925C90074EC26 /* OrderListViewModel.swift in Sources */, 029D02602C231F5F00CB1E75 /* PointOfSaleCardPresentPaymentReaderUpdateCompletionView.swift in Sources */, - 26E0AE13263359F900A5EB3B /* View+Conditionals.swift in Sources */, 68F151E12C0DA7910082AEC8 /* Cart.swift in Sources */, CE583A072107849F00D73C1C /* SwitchTableViewCell.swift in Sources */, + 01654EB62E78641B001DBB6F /* WooAnalyticsEvent+WooApp.swift in Sources */, EE7E75A82D83EB1F00E6FF5B /* WooShippingSplitShipmentsRow.swift in Sources */, D8149F562251EE300006A245 /* UITextField+Helpers.swift in Sources */, - 20762BA52C18B42C00758305 /* CardPresentPaymentBluetoothReaderConnectionAlertsProvider.swift in Sources */, 0212276124498A270042161F /* ProductFormBottomSheetListSelectorCommand.swift in Sources */, D831E2E0230E0BA7000037D0 /* Logs.swift in Sources */, 02CEBB8224C98861002EDF35 /* ProductFormDataModel.swift in Sources */, @@ -16375,7 +16340,6 @@ 4596853F2540669900D17B90 /* DownloadableFileSource.swift in Sources */, 021DD44D286A3A8D004F0468 /* UIViewController+Navigation.swift in Sources */, B958A7CB28B3D4A100823EEF /* RouteMatcher.swift in Sources */, - CE6E110F2C91EF6800563DD4 /* View+RoundedBorder.swift in Sources */, 0279F0E4252DC9670098D7DE /* ProductVariationLoadUseCase.swift in Sources */, 0366EAE12909A37800B51755 /* JustInTimeMessageViewModel.swift in Sources */, CCF87BC02790582500461C43 /* ProductVariationSelectorView.swift in Sources */, @@ -16464,6 +16428,7 @@ EE7E75AA2D84066C00E6FF5B /* WooShippingSplitShipmentsView.swift in Sources */, 024DF30E23742A70006658FE /* AztecBoldFormatBarCommand.swift in Sources */, DEE6437826D8DAD900888A75 /* InProgressView.swift in Sources */, + 016582ED2E7897B3001DBB6F /* String+Helpers.swift in Sources */, 0290E275238E4F8100B5C466 /* PaginatedListSelectorViewController.swift in Sources */, B958A7D628B5310100823EEF /* URLOpener.swift in Sources */, DE2FE5862925DA050018040A /* SiteCredentialLoginView.swift in Sources */, @@ -16540,14 +16505,13 @@ 025FDD3423717D4900824006 /* AztecEditorViewController.swift in Sources */, 451B1740258B7EFB00836277 /* AddAttributeOptionsViewController.swift in Sources */, AE6C4FDF28A15BFE00EAC00D /* FeatureAnnouncementCardCell.swift in Sources */, - 20762BA12C18A66400758305 /* CardPresentPaymentTapToPayReaderConnectionAlertsProvider.swift in Sources */, 02562AD0296D1FD100980404 /* View+DividerStyle.swift in Sources */, CE5F462723AAC8C0006B1A5C /* RefundDetailsViewModel.swift in Sources */, 02E222C829FBA60F004579A1 /* WooAnalyticsEvent+ProductFormAI.swift in Sources */, D8815B132638686200EDAD62 /* CardPresentModalError.swift in Sources */, 020ACF88299A809000B3638B /* LearnMoreAttributedText.swift in Sources */, - 02EAA4CA2911004B00918DAB /* TextFieldStyles.swift in Sources */, 453DBF8E2387F34A006762A5 /* UICollectionViewCell+Helpers.swift in Sources */, + 01654EB12E786223001DBB6F /* POSServiceLocatorAdaptor.swift in Sources */, 45B9C63E23A8E50D007FC4C5 /* ProductPriceSettingsViewController.swift in Sources */, 318853362639FC9C00F66A9C /* PaymentSettingsFlowPresentingViewController.swift in Sources */, EEBB9B3D2D8E5099008D6CE5 /* SelectableShipmentItemRowViewModel.swift in Sources */, @@ -16582,7 +16546,6 @@ 0269A63C2581D26C007B49ED /* ShippingLabelPrintingStepListView.swift in Sources */, 3188533C2639FE5800F66A9C /* PaymentSettingsFlowPresentedViewModel.swift in Sources */, CE55F2D42B238C04005D53D7 /* CollapsibleProductCardPriceSummaryViewModel.swift in Sources */, - DE792E1B26EF37ED0071200C /* DefaultConnectivityObserver.swift in Sources */, 029F29FE24DA5B2D004751CA /* ProductInventorySettingsViewModel.swift in Sources */, 57CFCD28248845B4003F51EC /* PrimarySectionHeaderView.swift in Sources */, 023A059A24135F2600E3FC99 /* ReviewsViewController.swift in Sources */, @@ -16625,7 +16588,6 @@ 022266BA2AE76E0E00614F34 /* ProductBundleItem+SwiftUIPreviewHelpers.swift in Sources */, 262A09A5262F65690033AD20 /* OrderAddOnTopBanner.swift in Sources */, 4515262E2577D56C0076B03C /* AddAttributeViewController.swift in Sources */, - 57EBC92024EEE61800C1D45B /* WooAnalyticsEvent.swift in Sources */, 57CDABB9252E9BEB00BED88C /* ButtonTableFooterView.swift in Sources */, B946881829B8DDC2000646B0 /* ProductsViewController+Activity.swift in Sources */, B63D9009293E56E300BB5C9D /* AnalyticsHubQuarterToDateRangeData.swift in Sources */, @@ -16807,6 +16769,7 @@ 26C98F9B29C18ACE00F96503 /* StorePlanBanner.swift in Sources */, E10BD16D27CF890800CE6449 /* InPersonPaymentsCountryNotSupportedStripe.swift in Sources */, 68E674AB2A4DAB8C0034BA1E /* CompletedUpgradeView.swift in Sources */, + 016582EB2E7894B5001DBB6F /* HIDBarcodeParserTypes.swift in Sources */, 26F94E26267A559300DB6CCF /* ProductAddOn.swift in Sources */, 683988A72C7D82E70084B85A /* POSHeaderLayoutConstants.swift in Sources */, 4541D88A270718F6005A9E30 /* ShippingLabelCarriersSectionViewModel.swift in Sources */, @@ -16829,8 +16792,6 @@ AEE9A880293A3E5500227C92 /* RefreshablePlainList.swift in Sources */, 203163B72C1C5EDF001C96DA /* PointOfSaleCardPresentPaymentConnectingFailedChargeReaderView.swift in Sources */, 026B2D172DF92291005B8CAA /* POSTabEligibilityChecker.swift in Sources */, - 2004E2ED2C0F5DD800D62521 /* CardPresentPaymentCollectOrderPaymentUseCaseAdaptor.swift in Sources */, - 026A502C2D2F6CC3002C42C2 /* View+Measurements.swift in Sources */, 868029532C184E6C00CB64A1 /* BottomSheetProductCategory.swift in Sources */, B55BC1F121A878A30011A0C0 /* String+HTML.swift in Sources */, B56C721221B5B44000E5E85B /* PushNotificationsConfiguration.swift in Sources */, @@ -16849,7 +16810,6 @@ B9B0391A28A68ADE00DC1C83 /* ConstraintsUpdatingHostingController.swift in Sources */, B98D425B2AF9374400973C76 /* LargeHeightLeftImageTableViewCell.swift in Sources */, 0375799928201F750083F2E1 /* CardPresentPaymentsReadinessUseCase.swift in Sources */, - E10BC15E26CC06970064F5E2 /* ScrollableVStack.swift in Sources */, B50BB4162141828F00AF0F3C /* FooterSpinnerView.swift in Sources */, 867B330F2B4D39B900DCBEA6 /* BlazeAddParameterView.swift in Sources */, D8610CE2257099E100A5DF27 /* FancyAlertViewController+UnifiedLogin.swift in Sources */, @@ -16897,7 +16857,6 @@ 02A723282AB2E1C2003AEC7E /* GiftCardInputViewModel.swift in Sources */, 45977EBA2603F632006CDFB8 /* MapsHelper.swift in Sources */, 86023FAA2B15CAD800A28F07 /* ThemesEligibilityUseCase.swift in Sources */, - DE792E1826EF35F40071200C /* ConnectivityObserver.swift in Sources */, CE9F60122C09D53500652E0A /* FeedbackBannerPopover.swift in Sources */, B9B0391628A6824200DC1C83 /* PermanentNoticePresenter.swift in Sources */, DE8C63AE2E1E2D2D00DA48AC /* OrderDetailsShipmentDetailsView.swift in Sources */, @@ -16996,6 +16955,17 @@ 57A25C7625ACE9BC00A54A62 /* OrderFulfillmentUseCase.swift in Sources */, DE0134152A2EED52000A6F54 /* ProductSharingMessageGenerationView.swift in Sources */, EEADF622281A40CB001B40F1 /* ShippingValueLocalizer.swift in Sources */, + 016582D62E78715B001DBB6F /* CardPresentPaymentBluetoothReaderConnectionAlertsProvider.swift in Sources */, + 016582D72E78715B001DBB6F /* CardPresentPaymentsTransactionAlertsProvider.swift in Sources */, + 016582D82E78715B001DBB6F /* POSCollectOrderPaymentAnalyticsAdaptor.swift in Sources */, + 016582D92E78715B001DBB6F /* CardPresentPaymentService.swift in Sources */, + 016582DA2E78715B001DBB6F /* CardPresentPaymentPreflightAdaptor.swift in Sources */, + 016582DB2E78715B001DBB6F /* CardPresentPaymentOnboardingAdaptor.swift in Sources */, + 016582DC2E78715B001DBB6F /* CardPresentPaymentCollectOrderPaymentUseCaseAdaptor.swift in Sources */, + 016582DD2E78715B001DBB6F /* CardPresentPaymentInvalidatablePaymentOrchestrator.swift in Sources */, + 016582DE2E78715B001DBB6F /* CardPresentPaymentsConnectionControllerManager.swift in Sources */, + 016582DF2E78715B001DBB6F /* CardPresentPaymentTapToPayReaderConnectionAlertsProvider.swift in Sources */, + 016582E02E78715B001DBB6F /* CardPresentPaymentsAlertPresenterAdaptor.swift in Sources */, 26D86B692C50110600435411 /* TopPerformersCardDataSyncUseCase.swift in Sources */, 262C922126F1370000011F92 /* StorePickerError.swift in Sources */, DEFE13C82DF2A359005B3D39 /* UPSTermsViewModel.swift in Sources */, @@ -17122,9 +17092,9 @@ CE606D812BE14000001CB424 /* ShippingLineSelectionDetails.swift in Sources */, 3F1FA84C28B60126009E246C /* StoreWidgets.intentdefinition in Sources */, ABC3521A374A2355001E3CD6 /* CardReaderSettingsSearchingViewController.swift in Sources */, - 2004E2E52C0A206800D62521 /* CardPresentPaymentsAlertPresenterAdaptor.swift in Sources */, B9F1489A2AD586E5008FC795 /* FormattableAmountTextFieldViewModel.swift in Sources */, 01929C362CEF6D6E006C79ED /* CardPresentModalNonRetryableErrorWithoutEmail.swift in Sources */, + 016582E72E789409001DBB6F /* POSIneligibleReason.swift in Sources */, 532842FC64B572D4545BD98E /* OrderFormCustomerNoteViewModel.swift in Sources */, 532846FAFFFCA93169B5E0BC /* WaitingTimeTracker.swift in Sources */, 53284E9AB1C65FD79E803694 /* EUShippingNoticeTopBannerFactory.swift in Sources */, @@ -17219,7 +17189,6 @@ 45AF9DAF265CFAB4001EB794 /* MockShippingLabelCarrierRate.swift in Sources */, 0229008A2E3019040028F6D7 /* MockPluginsService.swift in Sources */, CC593A6726EA116300EF0E04 /* ShippingLabelAddNewPackageViewModelTests.swift in Sources */, - DE68B84326FAF17A00C86CFB /* DefaultConnectivityObserver.swift in Sources */, 455A2FDB246B1349000CA72C /* ProductVisibilityTests.swift in Sources */, 0215C6FC2518A3CD005240CD /* ProductFormViewModel+SaveTests.swift in Sources */, 265284092624ACE900F91BA1 /* AddOnCrossreferenceTests.swift in Sources */, @@ -17461,7 +17430,6 @@ DEDA8D972B034C260076BF0F /* ProductSubscriptionPeriodPickerUseCaseTests.swift in Sources */, 02A275C623FE9EFC005C560F /* MockFeatureFlagService.swift in Sources */, DE2004782C05C36900660A72 /* MockInboxEligibilityChecker.swift in Sources */, - 31F635DC273AF0B100E14F10 /* VersionHelpersTests.swift in Sources */, EEADF626281A65A9001B40F1 /* DefaultShippingValueLocalizerTests.swift in Sources */, FE3E427726A8545B00C596CE /* MockRoleEligibilityUseCase.swift in Sources */, 02F67FF525806E0100C3BAD2 /* ShippingLabelTrackingURLGeneratorTests.swift in Sources */, @@ -17510,7 +17478,6 @@ 024A543622BA84DB00F4F38E /* DeveloperEmailCheckerTests.swift in Sources */, DE06D6602D64699D00419FFA /* AuthenticatedWebViewModelTests.swift in Sources */, B541B2132189E7FD008FE7C1 /* ScannerWooTests.swift in Sources */, - CC4B252D27CFE443008D2E6E /* OrderTotalsCalculatorTests.swift in Sources */, DEF8CF1A29AC6E5900800A60 /* AdminRoleRequiredViewModelTests.swift in Sources */, 02EAF5C329FA30FF0058071C /* ProductDescriptionGenerationViewModelTests.swift in Sources */, B57C5C9A21B80E7100FF82B2 /* DataWooTests.swift in Sources */, @@ -17659,6 +17626,7 @@ AEB6903729770B1D00872FE0 /* ProductListViewModelTests.swift in Sources */, 03B9E52B2A1505A7005C77F5 /* TapToPayReconnectionControllerTests.swift in Sources */, 314DC4C1268D28B100444C9E /* CardReaderSettingsKnownReadersStorageTests.swift in Sources */, + 016582E22E787187001DBB6F /* MockOnboardingViewFactoryConfiguration.swift in Sources */, CE2207042CA5C55800E16D9B /* WooShippingCreateLabelsViewModelTests.swift in Sources */, 02D635792B58071C00B1CBF6 /* MockNote.swift in Sources */, 0182C8BE2CE3B11300474355 /* MockReceiptEligibilityUseCase.swift in Sources */, diff --git a/WooCommerce/WooCommerceTests/Mocks/MockConnectivityObserver.swift b/WooCommerce/WooCommerceTests/Mocks/MockConnectivityObserver.swift index 0e95a355fd6..e4b2d377262 100644 --- a/WooCommerce/WooCommerceTests/Mocks/MockConnectivityObserver.swift +++ b/WooCommerce/WooCommerceTests/Mocks/MockConnectivityObserver.swift @@ -1,5 +1,6 @@ import Combine @testable import WooCommerce +import WooFoundation final class MockConnectivityObserver: ConnectivityObserver { @Published private(set) var currentStatus: ConnectivityStatus = .unknown diff --git a/WooCommerce/WooCommerceTests/Mocks/MockFeatureFlagService.swift b/WooCommerce/WooCommerceTests/Mocks/MockFeatureFlagService.swift index 3e40308c598..c222041b00f 100644 --- a/WooCommerce/WooCommerceTests/Mocks/MockFeatureFlagService.swift +++ b/WooCommerce/WooCommerceTests/Mocks/MockFeatureFlagService.swift @@ -1,7 +1,7 @@ @testable import WooCommerce import Experiments -final class MockFeatureFlagService: FeatureFlagService { +final class MockFeatureFlagService: FeatureFlagService, POSFeatureFlagProviding { var isInboxOn: Bool var isShowInboxCTAEnabled: Bool var isUpdateOrderOptimisticallyOn: Bool diff --git a/WooCommerce/WooCommerceTests/POS/Analytics/POSCollectOrderPaymentAnalyticsTests.swift b/WooCommerce/WooCommerceTests/POS/Analytics/POSCollectOrderPaymentAnalyticsTests.swift index 96a0fdebe8a..fd28f3cf7c5 100644 --- a/WooCommerce/WooCommerceTests/POS/Analytics/POSCollectOrderPaymentAnalyticsTests.swift +++ b/WooCommerce/WooCommerceTests/POS/Analytics/POSCollectOrderPaymentAnalyticsTests.swift @@ -5,19 +5,17 @@ import enum WooFoundation.CountryCode import Testing struct POSCollectOrderPaymentAnalyticsTests { - private let analytics: Analytics - private let analyticsProvider: MockAnalyticsProvider + private let analytics: MockPOSAnalytics init() { - analyticsProvider = MockAnalyticsProvider() - analytics = WooAnalytics(analyticsProvider: analyticsProvider) + analytics = MockPOSAnalytics() } @Test func analytics_when_successful_payment_then_tracks_event_and_properties() { // Given let siteID: Int64 = 123 let configuration = CardPresentPaymentsConfiguration(country: .US) - let sut = POSCollectOrderPaymentAnalytics(analytics: analytics, configuration: configuration) + let sut = POSCollectOrderPaymentAnalyticsAdaptor(analytics: analytics, configuration: configuration) let capturedPaymentData = CardPresentCapturedPaymentData(paymentMethod: .cardPresent(details: .fake()), receiptParameters: nil) let expectedEvent = "card_present_collect_payment_success" let expectedProperties = [ @@ -36,9 +34,9 @@ struct POSCollectOrderPaymentAnalyticsTests { sut.trackSuccessfulCardPayment(capturedPaymentData: capturedPaymentData) // Then - #expect(analyticsProvider.receivedEvents.first(where: { $0 == expectedEvent }) != nil) + #expect(analytics.events.first(where: { $0.eventName == expectedEvent }) != nil) #expect(expectedProperties.allSatisfy { key in - analyticsProvider.receivedProperties.contains(where: { $0.keys.contains(key) }) + analytics.events.map(\.properties).contains(where: { $0.keys.contains(key) }) }) } } diff --git a/WooCommerce/WooCommerceTests/POS/Controllers/PointOfSaleCouponsControllerTests.swift b/WooCommerce/WooCommerceTests/POS/Controllers/PointOfSaleCouponsControllerTests.swift index 19a3162b953..f92ffbfbeb3 100644 --- a/WooCommerce/WooCommerceTests/POS/Controllers/PointOfSaleCouponsControllerTests.swift +++ b/WooCommerce/WooCommerceTests/POS/Controllers/PointOfSaleCouponsControllerTests.swift @@ -18,7 +18,9 @@ struct PointOfSaleCouponsControllerTests { // Given let couponProvider = MockPointOfSaleCouponService() couponProvider.shouldReturnZeroItems = true - let sut = PointOfSaleCouponsController(itemProvider: couponProvider, fetchStrategyFactory: fetchStrategyFactory) + let sut = PointOfSaleCouponsController(itemProvider: couponProvider, + fetchStrategyFactory: fetchStrategyFactory, + analyticsProvider: MockPOSAnalytics()) let expectedItemStackState = ItemsStackState(root: .empty, itemStates: [:]) let expectedViewState = ItemsViewState(containerState: .content, itemsStack: expectedItemStackState) @@ -34,7 +36,9 @@ struct PointOfSaleCouponsControllerTests { // Given let couponProvider = MockPointOfSaleCouponService() let expectedCoupons = MockPointOfSaleCouponService.makeInitialCoupons() - let sut = PointOfSaleCouponsController(itemProvider: couponProvider, fetchStrategyFactory: fetchStrategyFactory) + let sut = PointOfSaleCouponsController(itemProvider: couponProvider, + fetchStrategyFactory: fetchStrategyFactory, + analyticsProvider: MockPOSAnalytics()) let expectedItemStackState = ItemsStackState(root: .loaded(expectedCoupons, hasMoreItems: false), itemStates: [:]) let expectedViewState = ItemsViewState(containerState: .content, itemsStack: expectedItemStackState) @@ -50,7 +54,7 @@ struct PointOfSaleCouponsControllerTests { // Given let couponProvider = MockPointOfSaleCouponService() couponProvider.shouldReturnZeroItems = true - let sut = PointOfSaleCouponsController(itemProvider: couponProvider, fetchStrategyFactory: fetchStrategyFactory) + let sut = PointOfSaleCouponsController(itemProvider: couponProvider, fetchStrategyFactory: fetchStrategyFactory, analyticsProvider: MockPOSAnalytics()) let expectedItemStackState = ItemsStackState(root: .empty, itemStates: [:]) let expectedViewState = ItemsViewState(containerState: .content, itemsStack: expectedItemStackState) @@ -67,7 +71,9 @@ struct PointOfSaleCouponsControllerTests { let couponProvider = MockPointOfSaleCouponService() let expectedCoupons = MockPointOfSaleCouponService.makeInitialCoupons() - let sut = PointOfSaleCouponsController(itemProvider: couponProvider, fetchStrategyFactory: fetchStrategyFactory) + let sut = PointOfSaleCouponsController(itemProvider: couponProvider, + fetchStrategyFactory: fetchStrategyFactory, + analyticsProvider: MockPOSAnalytics()) let expectedItemStackState = ItemsStackState(root: .loaded(expectedCoupons, hasMoreItems: false), itemStates: [:]) let expectedViewState = ItemsViewState(containerState: .content, itemsStack: expectedItemStackState) @@ -83,7 +89,9 @@ struct PointOfSaleCouponsControllerTests { // Given let couponProvider = MockPointOfSaleCouponService() couponProvider.shouldReturnZeroItems = true - let sut = PointOfSaleCouponsController(itemProvider: couponProvider, fetchStrategyFactory: fetchStrategyFactory) + let sut = PointOfSaleCouponsController(itemProvider: couponProvider, + fetchStrategyFactory: fetchStrategyFactory, + analyticsProvider: MockPOSAnalytics()) let expectedItemStackState = ItemsStackState(root: .empty, itemStates: [:]) let expectedViewState = ItemsViewState(containerState: .content, itemsStack: expectedItemStackState) @@ -99,7 +107,9 @@ struct PointOfSaleCouponsControllerTests { // Given let couponProvider = MockPointOfSaleCouponService() let expectedCoupons = MockPointOfSaleCouponService.makeInitialCoupons() - let sut = PointOfSaleCouponsController(itemProvider: couponProvider, fetchStrategyFactory: fetchStrategyFactory) + let sut = PointOfSaleCouponsController(itemProvider: couponProvider, + fetchStrategyFactory: fetchStrategyFactory, + analyticsProvider: MockPOSAnalytics()) let expectedItemStackState = ItemsStackState(root: .loaded(expectedCoupons, hasMoreItems: false), itemStates: [:]) let expectedViewState = ItemsViewState(containerState: .content, itemsStack: expectedItemStackState) @@ -116,7 +126,9 @@ struct PointOfSaleCouponsControllerTests { let couponProvider = MockPointOfSaleCouponService() let error = NSError(domain: "test", code: 0) couponProvider.errorToThrow = .couponsLoadingError(underlyingError: error) - let sut = PointOfSaleCouponsController(itemProvider: couponProvider, fetchStrategyFactory: fetchStrategyFactory) + let sut = PointOfSaleCouponsController(itemProvider: couponProvider, + fetchStrategyFactory: fetchStrategyFactory, + analyticsProvider: MockPOSAnalytics()) let expectedItemStackState = ItemsStackState(root: .error(.errorOnLoadingCoupons()), itemStates: [:]) let expectedViewState = ItemsViewState(containerState: .content, itemsStack: expectedItemStackState) @@ -133,7 +145,9 @@ struct PointOfSaleCouponsControllerTests { struct MockError: Error {} let couponProvider = MockPointOfSaleCouponService() couponProvider.errorToThrow = .couponsEnablingError(underlyingError: MockError()) - let sut = PointOfSaleCouponsController(itemProvider: couponProvider, fetchStrategyFactory: fetchStrategyFactory) + let sut = PointOfSaleCouponsController(itemProvider: couponProvider, + fetchStrategyFactory: fetchStrategyFactory, + analyticsProvider: MockPOSAnalytics()) // When await sut.enableCoupons() @@ -148,7 +162,9 @@ struct PointOfSaleCouponsControllerTests { @Test func enableCoupons_loads_items_when_successful() async throws { // Given let couponProvider = MockPointOfSaleCouponService() - let sut = PointOfSaleCouponsController(itemProvider: couponProvider, fetchStrategyFactory: fetchStrategyFactory) + let sut = PointOfSaleCouponsController(itemProvider: couponProvider, + fetchStrategyFactory: fetchStrategyFactory, + analyticsProvider: MockPOSAnalytics()) let expectedCoupons = MockPointOfSaleCouponService.makeInitialCoupons() let expectedItemStackState = ItemsStackState(root: .loaded(expectedCoupons, hasMoreItems: false), itemStates: [:]) let expectedViewState = ItemsViewState(containerState: .content, itemsStack: expectedItemStackState) @@ -163,7 +179,9 @@ struct PointOfSaleCouponsControllerTests { @Test func loadItems_when_fails_then_sets_inlineError_state_and_preserves_items() async throws { // Given let couponProvider = MockPointOfSaleCouponService() - let sut = PointOfSaleCouponsController(itemProvider: couponProvider, fetchStrategyFactory: fetchStrategyFactory) + let sut = PointOfSaleCouponsController(itemProvider: couponProvider, + fetchStrategyFactory: fetchStrategyFactory, + analyticsProvider: MockPOSAnalytics()) await sut.loadItems(base: .root) let currentItems = sut.itemsViewState.itemsStack.root.items let error = NSError(domain: "test", code: 0) @@ -181,7 +199,9 @@ struct PointOfSaleCouponsControllerTests { @Test func loadNextItems_when_loadNextItems_fails_then_sets_inlineError_state_and_preserves_items() async throws { // Given let couponProvider = MockPointOfSaleCouponService() - let sut = PointOfSaleCouponsController(itemProvider: couponProvider, fetchStrategyFactory: fetchStrategyFactory) + let sut = PointOfSaleCouponsController(itemProvider: couponProvider, + fetchStrategyFactory: fetchStrategyFactory, + analyticsProvider: MockPOSAnalytics()) couponProvider.shouldSimulateTwoPages = true await sut.loadItems(base: .root) let currentItems = sut.itemsViewState.itemsStack.root.items @@ -203,7 +223,9 @@ struct PointOfSaleCouponsControllerTests { @Test func loadNextItems_when_loadNextItems_then_loads_second_page() async throws { // Given let couponProvider = MockPointOfSaleCouponService() - let sut = PointOfSaleCouponsController(itemProvider: couponProvider, fetchStrategyFactory: fetchStrategyFactory) + let sut = PointOfSaleCouponsController(itemProvider: couponProvider, + fetchStrategyFactory: fetchStrategyFactory, + analyticsProvider: MockPOSAnalytics()) couponProvider.shouldSimulateTwoPages = true await sut.loadItems(base: .root) @@ -220,7 +242,9 @@ struct PointOfSaleCouponsControllerTests { @Test func loadNextItems_when_loadNextItems_with_more_items_then_sets_hasMoreItems() async throws { // Given let couponProvider = MockPointOfSaleCouponService() - let sut = PointOfSaleCouponsController(itemProvider: couponProvider, fetchStrategyFactory: fetchStrategyFactory) + let sut = PointOfSaleCouponsController(itemProvider: couponProvider, + fetchStrategyFactory: fetchStrategyFactory, + analyticsProvider: MockPOSAnalytics()) couponProvider.shouldSimulateTwoPages = true couponProvider.shouldSimulateMorePages = true await sut.loadItems(base: .root) @@ -239,7 +263,9 @@ struct PointOfSaleCouponsControllerTests { // Given let couponProvider = MockPointOfSaleCouponService() couponProvider.shouldReturnZeroItems = true - let sut = PointOfSaleCouponsController(itemProvider: couponProvider, fetchStrategyFactory: fetchStrategyFactory) + let sut = PointOfSaleCouponsController(itemProvider: couponProvider, + fetchStrategyFactory: fetchStrategyFactory, + analyticsProvider: MockPOSAnalytics()) let expectedItemStackState = ItemsStackState(root: .empty, itemStates: [:]) let expectedViewState = ItemsViewState(containerState: .content, itemsStack: expectedItemStackState) @@ -255,7 +281,9 @@ struct PointOfSaleCouponsControllerTests { // Given let couponProvider = MockPointOfSaleCouponService() let expectedCoupons = MockPointOfSaleCouponService.makeInitialCoupons() - let sut = PointOfSaleCouponsController(itemProvider: couponProvider, fetchStrategyFactory: fetchStrategyFactory) + let sut = PointOfSaleCouponsController(itemProvider: couponProvider, + fetchStrategyFactory: fetchStrategyFactory, + analyticsProvider: MockPOSAnalytics()) let expectedItemStackState = ItemsStackState(root: .loaded(expectedCoupons, hasMoreItems: false), itemStates: [:]) let expectedViewState = ItemsViewState(containerState: .content, itemsStack: expectedItemStackState) @@ -272,7 +300,9 @@ struct PointOfSaleCouponsControllerTests { let couponProvider = MockPointOfSaleCouponService() let error = NSError(domain: "test", code: 0) couponProvider.errorToThrow = .couponsLoadingError(underlyingError: error) - let sut = PointOfSaleCouponsController(itemProvider: couponProvider, fetchStrategyFactory: fetchStrategyFactory) + let sut = PointOfSaleCouponsController(itemProvider: couponProvider, + fetchStrategyFactory: fetchStrategyFactory, + analyticsProvider: MockPOSAnalytics()) let expectedItemStackState = ItemsStackState(root: .error(.errorOnLoadingCoupons()), itemStates: [:]) let expectedViewState = ItemsViewState(containerState: .content, itemsStack: expectedItemStackState) @@ -287,7 +317,9 @@ struct PointOfSaleCouponsControllerTests { @Test func searchItems_when_requestCancelled_then_state_unchanged() async throws { // Given let couponProvider = MockPointOfSaleCouponService() - let sut = PointOfSaleCouponsController(itemProvider: couponProvider, fetchStrategyFactory: fetchStrategyFactory) + let sut = PointOfSaleCouponsController(itemProvider: couponProvider, + fetchStrategyFactory: fetchStrategyFactory, + analyticsProvider: MockPOSAnalytics()) await sut.loadItems(base: .root) let initialState = sut.itemsViewState couponProvider.errorToThrow = .requestCancelled diff --git a/WooCommerce/WooCommerceTests/POS/Controllers/PointOfSaleItemsControllerTests.swift b/WooCommerce/WooCommerceTests/POS/Controllers/PointOfSaleItemsControllerTests.swift index 986bfacbf6a..15dfa6ed1b2 100644 --- a/WooCommerce/WooCommerceTests/POS/Controllers/PointOfSaleItemsControllerTests.swift +++ b/WooCommerce/WooCommerceTests/POS/Controllers/PointOfSaleItemsControllerTests.swift @@ -14,7 +14,8 @@ final class PointOfSaleItemsControllerTests { let itemProvider = MockPointOfSaleItemService() let sut = PointOfSaleItemsController( itemProvider: itemProvider, - itemFetchStrategyFactory: PointOfSaleItemFetchStrategyFactory(siteID: 1, credentials: nil) + itemFetchStrategyFactory: PointOfSaleItemFetchStrategyFactory(siteID: 1, credentials: nil), + analyticsProvider: MockPOSAnalytics() ) try #require(sut.itemsViewState.containerState == .loading) @@ -36,7 +37,8 @@ final class PointOfSaleItemsControllerTests { let itemProvider = MockPointOfSaleItemService() let sut = PointOfSaleItemsController( itemProvider: itemProvider, - itemFetchStrategyFactory: PointOfSaleItemFetchStrategyFactory(siteID: 1, credentials: nil) + itemFetchStrategyFactory: PointOfSaleItemFetchStrategyFactory(siteID: 1, credentials: nil), + analyticsProvider: MockPOSAnalytics() ) let expectedItems = MockPointOfSaleItemService.makeInitialItems() @@ -57,7 +59,8 @@ final class PointOfSaleItemsControllerTests { let itemProvider = MockPointOfSaleItemService() let sut = PointOfSaleItemsController( itemProvider: itemProvider, - itemFetchStrategyFactory: PointOfSaleItemFetchStrategyFactory(siteID: 1, credentials: nil) + itemFetchStrategyFactory: PointOfSaleItemFetchStrategyFactory(siteID: 1, credentials: nil), + analyticsProvider: MockPOSAnalytics() ) let expectedItems = MockPointOfSaleItemService.makeInitialItems() @@ -78,7 +81,8 @@ final class PointOfSaleItemsControllerTests { let itemProvider = MockPointOfSaleItemService() let sut = PointOfSaleItemsController( itemProvider: itemProvider, - itemFetchStrategyFactory: PointOfSaleItemFetchStrategyFactory(siteID: 1, credentials: nil) + itemFetchStrategyFactory: PointOfSaleItemFetchStrategyFactory(siteID: 1, credentials: nil), + analyticsProvider: MockPOSAnalytics() ) try #require(sut.itemsViewState.containerState == .loading) @@ -103,7 +107,8 @@ final class PointOfSaleItemsControllerTests { let itemProvider = MockPointOfSaleItemService() let sut = PointOfSaleItemsController( itemProvider: itemProvider, - itemFetchStrategyFactory: PointOfSaleItemFetchStrategyFactory(siteID: 1, credentials: nil) + itemFetchStrategyFactory: PointOfSaleItemFetchStrategyFactory(siteID: 1, credentials: nil), + analyticsProvider: MockPOSAnalytics() ) // When/Then @@ -115,7 +120,8 @@ final class PointOfSaleItemsControllerTests { let itemProvider = MockPointOfSaleItemService() let sut = PointOfSaleItemsController( itemProvider: itemProvider, - itemFetchStrategyFactory: PointOfSaleItemFetchStrategyFactory(siteID: 1, credentials: nil) + itemFetchStrategyFactory: PointOfSaleItemFetchStrategyFactory(siteID: 1, credentials: nil), + analyticsProvider: MockPOSAnalytics() ) itemProvider.shouldReturnZeroItems = true @@ -135,7 +141,8 @@ final class PointOfSaleItemsControllerTests { let itemProvider = MockPointOfSaleItemService() let sut = PointOfSaleItemsController( itemProvider: itemProvider, - itemFetchStrategyFactory: PointOfSaleItemFetchStrategyFactory(siteID: 1, credentials: nil) + itemFetchStrategyFactory: PointOfSaleItemFetchStrategyFactory(siteID: 1, credentials: nil), + analyticsProvider: MockPOSAnalytics() ) let initialItems = MockPointOfSaleItemService.makeInitialItems() @@ -157,7 +164,8 @@ final class PointOfSaleItemsControllerTests { let itemProvider = MockPointOfSaleItemService() let sut = PointOfSaleItemsController( itemProvider: itemProvider, - itemFetchStrategyFactory: PointOfSaleItemFetchStrategyFactory(siteID: 1, credentials: nil) + itemFetchStrategyFactory: PointOfSaleItemFetchStrategyFactory(siteID: 1, credentials: nil), + analyticsProvider: MockPOSAnalytics() ) itemProvider.shouldSimulateTwoPages = true @@ -179,7 +187,8 @@ final class PointOfSaleItemsControllerTests { let itemProvider = MockPointOfSaleItemService() let sut = PointOfSaleItemsController( itemProvider: itemProvider, - itemFetchStrategyFactory: PointOfSaleItemFetchStrategyFactory(siteID: 1, credentials: nil) + itemFetchStrategyFactory: PointOfSaleItemFetchStrategyFactory(siteID: 1, credentials: nil), + analyticsProvider: MockPOSAnalytics() ) try #require(sut.itemsViewState.containerState == .loading) @@ -198,7 +207,8 @@ final class PointOfSaleItemsControllerTests { let itemProvider = MockPointOfSaleItemService() let sut = PointOfSaleItemsController( itemProvider: itemProvider, - itemFetchStrategyFactory: PointOfSaleItemFetchStrategyFactory(siteID: 1, credentials: nil) + itemFetchStrategyFactory: PointOfSaleItemFetchStrategyFactory(siteID: 1, credentials: nil), + analyticsProvider: MockPOSAnalytics() ) itemProvider.shouldSimulateTwoPages = true @@ -222,7 +232,8 @@ final class PointOfSaleItemsControllerTests { let itemProvider = MockPointOfSaleItemService() let sut = PointOfSaleItemsController( itemProvider: itemProvider, - itemFetchStrategyFactory: PointOfSaleItemFetchStrategyFactory(siteID: 1, credentials: nil) + itemFetchStrategyFactory: PointOfSaleItemFetchStrategyFactory(siteID: 1, credentials: nil), + analyticsProvider: MockPOSAnalytics() ) let parentItem = POSItem.variableParentProduct(POSVariableParentProduct(id: UUID(), @@ -253,7 +264,8 @@ final class PointOfSaleItemsControllerTests { let itemProvider = MockPointOfSaleItemService() let sut = PointOfSaleItemsController( itemProvider: itemProvider, - itemFetchStrategyFactory: PointOfSaleItemFetchStrategyFactory(siteID: 1, credentials: nil) + itemFetchStrategyFactory: PointOfSaleItemFetchStrategyFactory(siteID: 1, credentials: nil), + analyticsProvider: MockPOSAnalytics() ) let parentItem = POSItem.variableParentProduct(POSVariableParentProduct(id: UUID(), @@ -286,7 +298,8 @@ final class PointOfSaleItemsControllerTests { let itemProvider = MockPointOfSaleItemService() let sut = PointOfSaleItemsController( itemProvider: itemProvider, - itemFetchStrategyFactory: PointOfSaleItemFetchStrategyFactory(siteID: 1, credentials: nil) + itemFetchStrategyFactory: PointOfSaleItemFetchStrategyFactory(siteID: 1, credentials: nil), + analyticsProvider: MockPOSAnalytics() ) itemProvider.shouldReturnZeroItems = true @@ -306,7 +319,8 @@ final class PointOfSaleItemsControllerTests { let itemProvider = MockPointOfSaleItemService() let sut = PointOfSaleItemsController( itemProvider: itemProvider, - itemFetchStrategyFactory: PointOfSaleItemFetchStrategyFactory(siteID: 1, credentials: nil) + itemFetchStrategyFactory: PointOfSaleItemFetchStrategyFactory(siteID: 1, credentials: nil), + analyticsProvider: MockPOSAnalytics() ) itemProvider.errorToThrow = MockError.requestFailed @@ -325,7 +339,8 @@ final class PointOfSaleItemsControllerTests { let itemProvider = MockPointOfSaleItemService() let sut = PointOfSaleItemsController( itemProvider: itemProvider, - itemFetchStrategyFactory: PointOfSaleItemFetchStrategyFactory(siteID: 1, credentials: nil) + itemFetchStrategyFactory: PointOfSaleItemFetchStrategyFactory(siteID: 1, credentials: nil), + analyticsProvider: MockPOSAnalytics() ) try #require(sut.itemsViewState.containerState == .loading) @@ -355,7 +370,8 @@ final class PointOfSaleItemsControllerTests { let itemProvider = MockPointOfSaleItemService() let sut = PointOfSaleItemsController( itemProvider: itemProvider, - itemFetchStrategyFactory: PointOfSaleItemFetchStrategyFactory(siteID: 1, credentials: nil) + itemFetchStrategyFactory: PointOfSaleItemFetchStrategyFactory(siteID: 1, credentials: nil), + analyticsProvider: MockPOSAnalytics() ) itemProvider.shouldSimulateTwoPages = true @@ -378,7 +394,8 @@ final class PointOfSaleItemsControllerTests { let itemProvider = MockPointOfSaleItemService() let sut = PointOfSaleItemsController( itemProvider: itemProvider, - itemFetchStrategyFactory: PointOfSaleItemFetchStrategyFactory(siteID: 1, credentials: nil) + itemFetchStrategyFactory: PointOfSaleItemFetchStrategyFactory(siteID: 1, credentials: nil), + analyticsProvider: MockPOSAnalytics() ) try #require(sut.itemsViewState.containerState == .loading) @@ -399,7 +416,8 @@ final class PointOfSaleItemsControllerTests { let itemProvider = MockPointOfSaleItemService() let sut = PointOfSaleItemsController( itemProvider: itemProvider, - itemFetchStrategyFactory: PointOfSaleItemFetchStrategyFactory(siteID: 1, credentials: nil) + itemFetchStrategyFactory: PointOfSaleItemFetchStrategyFactory(siteID: 1, credentials: nil), + analyticsProvider: MockPOSAnalytics() ) let expectedItems = MockPointOfSaleItemService.makeInitialItems() @@ -423,7 +441,8 @@ final class PointOfSaleItemsControllerTests { let itemProvider = MockPointOfSaleItemService() let sut = PointOfSaleItemsController( itemProvider: itemProvider, - itemFetchStrategyFactory: PointOfSaleItemFetchStrategyFactory(siteID: 1, credentials: nil) + itemFetchStrategyFactory: PointOfSaleItemFetchStrategyFactory(siteID: 1, credentials: nil), + analyticsProvider: MockPOSAnalytics() ) await sut.loadItems(base: .root) @@ -442,7 +461,8 @@ final class PointOfSaleItemsControllerTests { let itemProvider = MockPointOfSaleItemService() let sut = PointOfSaleItemsController( itemProvider: itemProvider, - itemFetchStrategyFactory: PointOfSaleItemFetchStrategyFactory(siteID: 1, credentials: nil) + itemFetchStrategyFactory: PointOfSaleItemFetchStrategyFactory(siteID: 1, credentials: nil), + analyticsProvider: MockPOSAnalytics() ) let initialItems = MockPointOfSaleItemService.makeInitialItems() @@ -472,7 +492,8 @@ final class PointOfSaleItemsControllerTests { let itemProvider = MockPointOfSaleItemService() let sut = PointOfSaleItemsController( itemProvider: itemProvider, - itemFetchStrategyFactory: PointOfSaleItemFetchStrategyFactory(siteID: 1, credentials: nil) + itemFetchStrategyFactory: PointOfSaleItemFetchStrategyFactory(siteID: 1, credentials: nil), + analyticsProvider: MockPOSAnalytics() ) let parentItem = POSItem.variableParentProduct(POSVariableParentProduct(id: UUID(), @@ -497,7 +518,8 @@ final class PointOfSaleItemsControllerTests { let itemProvider = MockPointOfSaleItemService() let sut = PointOfSaleItemsController( itemProvider: itemProvider, - itemFetchStrategyFactory: PointOfSaleItemFetchStrategyFactory(siteID: 1, credentials: nil) + itemFetchStrategyFactory: PointOfSaleItemFetchStrategyFactory(siteID: 1, credentials: nil), + analyticsProvider: MockPOSAnalytics() ) let parentItem = POSItem.variableParentProduct(POSVariableParentProduct(id: UUID(), @@ -535,7 +557,8 @@ final class PointOfSaleItemsControllerTests { let itemProvider = MockPointOfSaleItemService() let sut = PointOfSaleItemsController( itemProvider: itemProvider, - itemFetchStrategyFactory: PointOfSaleItemFetchStrategyFactory(siteID: 1, credentials: nil) + itemFetchStrategyFactory: PointOfSaleItemFetchStrategyFactory(siteID: 1, credentials: nil), + analyticsProvider: MockPOSAnalytics() ) // When @@ -551,7 +574,8 @@ final class PointOfSaleItemsControllerTests { let itemProvider = MockPointOfSaleItemService() let sut = PointOfSaleItemsController( itemProvider: itemProvider, - itemFetchStrategyFactory: PointOfSaleItemFetchStrategyFactory(siteID: 1, credentials: nil) + itemFetchStrategyFactory: PointOfSaleItemFetchStrategyFactory(siteID: 1, credentials: nil), + analyticsProvider: MockPOSAnalytics() ) let initialItems = MockPointOfSaleItemService.makeInitialItems() diff --git a/WooCommerce/WooCommerceTests/POS/Controllers/PointOfSaleOrderControllerTests.swift b/WooCommerce/WooCommerceTests/POS/Controllers/PointOfSaleOrderControllerTests.swift index 14d94bc3681..9ffd927fbdd 100644 --- a/WooCommerce/WooCommerceTests/POS/Controllers/PointOfSaleOrderControllerTests.swift +++ b/WooCommerce/WooCommerceTests/POS/Controllers/PointOfSaleOrderControllerTests.swift @@ -21,7 +21,9 @@ struct PointOfSaleOrderControllerTests { @Test func syncOrder_without_items_doesnt_call_orderService() async throws { // Given let sut = PointOfSaleOrderController(orderService: mockOrderService, - receiptSender: mockReceiptSender) + receiptSender: mockReceiptSender, + currencySettingsProvider: MockCurrencySettingsProvider(), + analytics: MockPOSAnalytics()) // When await sut.syncOrder(for: Cart(), retryHandler: {}) @@ -33,7 +35,9 @@ struct PointOfSaleOrderControllerTests { @Test func syncOrder_with_cart_matching_order_doesnt_call_orderService() async throws { // Given let sut = PointOfSaleOrderController(orderService: mockOrderService, - receiptSender: mockReceiptSender) + receiptSender: mockReceiptSender, + currencySettingsProvider: MockCurrencySettingsProvider(), + analytics: MockPOSAnalytics()) let orderItem = OrderItem.fake().copy(quantity: 1) let fakeOrder = Order.fake().copy(items: [orderItem]) let cartItem = makeItem(orderItemsToMatch: [orderItem]) @@ -52,7 +56,9 @@ struct PointOfSaleOrderControllerTests { @Test func syncOrder_when_already_syncing_doesnt_call_orderService() async throws { // Given let sut = PointOfSaleOrderController(orderService: mockOrderService, - receiptSender: mockReceiptSender) + receiptSender: mockReceiptSender, + currencySettingsProvider: MockCurrencySettingsProvider(), + analytics: MockPOSAnalytics()) mockOrderService.simulateSyncing = true Task { await sut.syncOrder(for: Cart(purchasableItems: [makeItem(quantity: 1)]), retryHandler: {}) @@ -78,7 +84,8 @@ struct PointOfSaleOrderControllerTests { numberOfDecimals: 2) let sut = PointOfSaleOrderController(orderService: mockOrderService, receiptSender: mockReceiptSender, - currencySettings: currencySettings) + currencySettingsProvider: MockCurrencySettingsProvider(currencySettings: currencySettings), + analytics: MockPOSAnalytics()) // When await sut.syncOrder(for: Cart(purchasableItems: [makeItem()]), retryHandler: {}) @@ -90,7 +97,9 @@ struct PointOfSaleOrderControllerTests { @Test func syncOrder_with_changes_from_previous_order_calls_orderService() async throws { // Given let sut = PointOfSaleOrderController(orderService: mockOrderService, - receiptSender: mockReceiptSender) + receiptSender: mockReceiptSender, + currencySettingsProvider: MockCurrencySettingsProvider(), + analytics: MockPOSAnalytics()) let cartItem = makeItem(quantity: 1) let orderItem = OrderItem.fake().copy(quantity: 1) let fakeOrder = Order.fake().copy(items: [orderItem]) @@ -110,7 +119,9 @@ struct PointOfSaleOrderControllerTests { @Test func syncOrder_with_no_previous_order_sets_orderState_syncing_then_loaded() async throws { // Given let sut = PointOfSaleOrderController(orderService: mockOrderService, - receiptSender: mockReceiptSender) + receiptSender: mockReceiptSender, + currencySettingsProvider: MockCurrencySettingsProvider(), + analytics: MockPOSAnalytics()) let fakeOrder = Order.fake() mockOrderService.orderToReturn = fakeOrder var orderStates: [PointOfSaleInternalOrderState] = [sut.orderState] @@ -147,7 +158,9 @@ struct PointOfSaleOrderControllerTests { @Test func syncOrder_with_order_sync_failure_sets_orderState_syncing_then_error() async throws { // Given let sut = PointOfSaleOrderController(orderService: mockOrderService, - receiptSender: mockReceiptSender) + receiptSender: mockReceiptSender, + currencySettingsProvider: MockCurrencySettingsProvider(), + analytics: MockPOSAnalytics()) mockOrderService.orderToReturn = nil var orderStates: [PointOfSaleInternalOrderState] = [sut.orderState] @@ -183,7 +196,9 @@ struct PointOfSaleOrderControllerTests { @Test func sendReceipt_when_there_is_no_order_then_throws_noOrder_error() async throws { // Given let sut = PointOfSaleOrderController(orderService: mockOrderService, - receiptSender: mockReceiptSender) + receiptSender: mockReceiptSender, + currencySettingsProvider: MockCurrencySettingsProvider(), + analytics: MockPOSAnalytics()) let email = "test@example.com" // When @@ -199,7 +214,9 @@ struct PointOfSaleOrderControllerTests { @Test func sendReceipt_with_order_delegates_to_receiptSender() async throws { // Given let sut = PointOfSaleOrderController(orderService: mockOrderService, - receiptSender: mockReceiptSender) + receiptSender: mockReceiptSender, + currencySettingsProvider: MockCurrencySettingsProvider(), + analytics: MockPOSAnalytics()) let order = Order.fake() let recipientEmail = "test@fake.com" mockOrderService.orderToReturn = order @@ -221,6 +238,8 @@ struct PointOfSaleOrderControllerTests { // Given/When let sut = PointOfSaleOrderController(orderService: mockOrderService, receiptSender: mockReceiptSender, + currencySettingsProvider: MockCurrencySettingsProvider(), + analytics: MockPOSAnalytics(), celebration: MockPaymentCaptureCelebration()) try await sut.collectCashPayment(changeDueAmount: nil) } catch let error as PointOfSaleOrderController.PointOfSaleOrderControllerError { @@ -235,6 +254,8 @@ struct PointOfSaleOrderControllerTests { let mockPaymentCelebration = MockPaymentCaptureCelebration() let sut = PointOfSaleOrderController(orderService: mockOrderService, receiptSender: mockReceiptSender, + currencySettingsProvider: MockCurrencySettingsProvider(), + analytics: MockPOSAnalytics(), celebration: mockPaymentCelebration) let orderItem = OrderItem.fake() @@ -255,6 +276,8 @@ struct PointOfSaleOrderControllerTests { // Given let sut = PointOfSaleOrderController(orderService: mockOrderService, receiptSender: mockReceiptSender, + currencySettingsProvider: MockCurrencySettingsProvider(), + analytics: MockPOSAnalytics(), celebration: MockPaymentCaptureCelebration()) let orderItem = OrderItem.fake() @@ -274,7 +297,9 @@ struct PointOfSaleOrderControllerTests { @Test func syncOrder_when_successful_returns_newOrder_result() async throws { // Given let sut = PointOfSaleOrderController(orderService: mockOrderService, - receiptSender: mockReceiptSender) + receiptSender: mockReceiptSender, + currencySettingsProvider: MockCurrencySettingsProvider(), + analytics: MockPOSAnalytics()) let fakeOrderItem = OrderItem.fake().copy(quantity: 1) let fakeOrder = Order.fake() let fakeCartItem = makeItem(orderItemsToMatch: [fakeOrderItem]) @@ -294,7 +319,9 @@ struct PointOfSaleOrderControllerTests { @Test func syncOrder_when_updating_existing_order_returns_newOrder_result() async throws { // Given let sut = PointOfSaleOrderController(orderService: mockOrderService, - receiptSender: mockReceiptSender) + receiptSender: mockReceiptSender, + currencySettingsProvider: MockCurrencySettingsProvider(), + analytics: MockPOSAnalytics()) let fakeOrder = Order.fake() mockOrderService.orderToReturn = fakeOrder @@ -316,7 +343,9 @@ struct PointOfSaleOrderControllerTests { @Test func syncOrder_when_cart_matching_order_then_returns_orderNotChanged_result() async throws { // Given let sut = PointOfSaleOrderController(orderService: mockOrderService, - receiptSender: mockReceiptSender) + receiptSender: mockReceiptSender, + currencySettingsProvider: MockCurrencySettingsProvider(), + analytics: MockPOSAnalytics()) let orderItem = OrderItem.fake().copy(quantity: 1) let fakeOrder = Order.fake().copy(items: [orderItem]) let cartItem = makeItem(orderItemsToMatch: [orderItem]) @@ -339,7 +368,9 @@ struct PointOfSaleOrderControllerTests { @Test func syncOrder_when_orderService_fails_then_returns_syncOrderState_failure() async throws { let sut = PointOfSaleOrderController(orderService: mockOrderService, - receiptSender: mockReceiptSender) + receiptSender: mockReceiptSender, + currencySettingsProvider: MockCurrencySettingsProvider(), + analytics: MockPOSAnalytics()) let cartItem = makeItem(quantity: 1) // When @@ -357,7 +388,9 @@ struct PointOfSaleOrderControllerTests { @Test func syncOrder_with_cart_matching_order_and_coupons_doesnt_call_orderService() async throws { // Given let sut = PointOfSaleOrderController(orderService: mockOrderService, - receiptSender: mockReceiptSender) + receiptSender: mockReceiptSender, + currencySettingsProvider: MockCurrencySettingsProvider(), + analytics: MockPOSAnalytics()) let orderItem = OrderItem.fake().copy(quantity: 1) let couponCode = "SAVE10" let coupon = OrderCouponLine.fake().copy(code: couponCode) @@ -380,7 +413,9 @@ struct PointOfSaleOrderControllerTests { @Test func syncOrder_with_matching_items_but_different_coupons_calls_orderService() async throws { // Given let sut = PointOfSaleOrderController(orderService: mockOrderService, - receiptSender: mockReceiptSender) + receiptSender: mockReceiptSender, + currencySettingsProvider: MockCurrencySettingsProvider(), + analytics: MockPOSAnalytics()) let orderItem = OrderItem.fake().copy(quantity: 1) let initialCouponCode = "SAVE10" let initialCoupon = OrderCouponLine.fake().copy(code: initialCouponCode) @@ -403,7 +438,9 @@ struct PointOfSaleOrderControllerTests { @Test func syncOrder_with_matching_items_but_removed_coupon_calls_orderService() async throws { // Given let sut = PointOfSaleOrderController(orderService: mockOrderService, - receiptSender: mockReceiptSender) + receiptSender: mockReceiptSender, + currencySettingsProvider: MockCurrencySettingsProvider(), + analytics: MockPOSAnalytics()) let orderItem = OrderItem.fake().copy(quantity: 1) let couponCode = "SAVE10" let coupon = OrderCouponLine.fake().copy(code: couponCode) @@ -426,7 +463,9 @@ struct PointOfSaleOrderControllerTests { @Test func syncOrder_when_orderService_fails_with_couponsError_then_sets_invalidCoupon_error() async throws { // Given let sut = PointOfSaleOrderController(orderService: mockOrderService, - receiptSender: mockReceiptSender) + receiptSender: mockReceiptSender, + currencySettingsProvider: MockCurrencySettingsProvider(), + analytics: MockPOSAnalytics()) let errorMessage = "Invalid coupon code" mockOrderService.errorToReturn = DotcomError.unknown(code: "woocommerce_rest_invalid_coupon", message: errorMessage) @@ -465,7 +504,9 @@ struct PointOfSaleOrderControllerTests { @Test func syncOrder_when_orderService_fails_with_networkError_containing_couponsError_then_sets_invalidCoupon_error() async throws { // Given let sut = PointOfSaleOrderController(orderService: mockOrderService, - receiptSender: mockReceiptSender) + receiptSender: mockReceiptSender, + currencySettingsProvider: MockCurrencySettingsProvider(), + analytics: MockPOSAnalytics()) let errorMessage = "Coupon INVALID does not exist" let errorJSON = """ { @@ -511,7 +552,9 @@ struct PointOfSaleOrderControllerTests { @Test func syncOrder_when_fails_sets_order_to_nil() async throws { // Given let sut = PointOfSaleOrderController(orderService: mockOrderService, - receiptSender: mockReceiptSender) + receiptSender: mockReceiptSender, + currencySettingsProvider: MockCurrencySettingsProvider(), + analytics: MockPOSAnalytics()) // First create a successful order let orderItem = OrderItem.fake().copy(quantity: 1) @@ -554,20 +597,16 @@ struct PointOfSaleOrderControllerTests { @MainActor struct AnalyticsTests { - private let analytics: WooAnalytics - private let analyticsProvider = MockAnalyticsProvider() + private let analytics = MockPOSAnalytics() private let orderService = MockPOSOrderService() private let receiptSender = MockReceiptService() private let mockReceiptSender = MockPOSReceiptSender() - init() { - analytics = WooAnalytics(analyticsProvider: analyticsProvider) - } - @Test func syncOrder_when_create_order_then_tracks_order_creation_success_event() async throws { // Given let sut = PointOfSaleOrderController(orderService: orderService, receiptSender: mockReceiptSender, + currencySettingsProvider: MockCurrencySettingsProvider(), analytics: analytics) let fakeOrderItem = OrderItem.fake().copy(quantity: 1) let fakeOrder = Order.fake() @@ -578,13 +617,14 @@ struct PointOfSaleOrderControllerTests { await sut.syncOrder(for: Cart(purchasableItems: [fakeCartItem]), retryHandler: { }) // Then - #expect(analyticsProvider.receivedEvents.first(where: { $0 == "order_creation_success" }) != nil) + #expect(analytics.events.first(where: { $0.eventName == "order_creation_success" }) != nil) } @Test func syncOrder_when_create_order_fails_with_order_service_error_then_tracks_order_creation_failure_event() async throws { // Given let sut = PointOfSaleOrderController(orderService: orderService, receiptSender: mockReceiptSender, + currencySettingsProvider: MockCurrencySettingsProvider(), analytics: analytics) orderService.orderToReturn = nil @@ -592,18 +632,16 @@ struct PointOfSaleOrderControllerTests { await sut.syncOrder(for: Cart(purchasableItems: [makeItem()]), retryHandler: {}) // Then - #expect(analyticsProvider.receivedEvents.first(where: { $0 == "order_creation_failed" }) != nil) + #expect(analytics.events.first(where: { $0.eventName == "order_creation_failed" }) != nil) } @MainActor @Test func collectCashPayment_when_failure_tracks_correct_event() async throws { // Given - let mockAnalyticsProvider = MockAnalyticsProvider() - let mockAnalytics = WooAnalytics(analyticsProvider: mockAnalyticsProvider) - let sut = PointOfSaleOrderController(orderService: orderService, receiptSender: mockReceiptSender, - analytics: mockAnalytics, + currencySettingsProvider: MockCurrencySettingsProvider(), + analytics: analytics, celebration: MockPaymentCaptureCelebration()) // In order to test the order controller failure we need to succeed first in creating a successful order: @@ -616,17 +654,14 @@ struct PointOfSaleOrderControllerTests { // When await #expect(performing: { - try await sut.collectCashPayment(changeDueAmount: nil as String?) + try await sut.collectCashPayment(changeDueAmount: nil) }, throws: { _ in return true }) // Then - #expect(mockAnalyticsProvider.receivedEvents.first(where: { $0 == "cash_payment_failed" }) != nil) + #expect(analytics.events.first(where: { $0.eventName == "cash_payment_failed" }) != nil) } - - - } } @@ -642,3 +677,17 @@ private func makeItem(name: String = "", subtitle: nil, quantity: quantity) } + +// MARK: - Mock Currency Settings Provider + +final class MockCurrencySettingsProvider: POSCurrencySettingsProviding { + let currencySettings: CurrencySettings + + init(currencySettings: CurrencySettings = CurrencySettings(currencyCode: .USD, + currencyPosition: .left, + thousandSeparator: ",", + decimalSeparator: ".", + numberOfDecimals: 2)) { + self.currencySettings = currencySettings + } +} diff --git a/WooCommerce/WooCommerceTests/POS/Mocks/MockAnalytics.swift b/WooCommerce/WooCommerceTests/POS/Mocks/MockAnalytics.swift index d796df42a6f..c605b96c6c3 100644 --- a/WooCommerce/WooCommerceTests/POS/Mocks/MockAnalytics.swift +++ b/WooCommerce/WooCommerceTests/POS/Mocks/MockAnalytics.swift @@ -2,21 +2,28 @@ import Foundation import WooFoundation @testable import WooCommerce -final class MockAnalytics: Analytics { +final class MockPOSAnalytics: POSAnalyticsProviding { struct TrackedEvent { let eventName: String let properties: [AnyHashable: Any] let error: Error? } - func initialize() {} - func refreshUserData() {} - func setUserHasOptedOut(_ optedOut: Bool) {} - var userHasOptedIn: Bool = true - var analyticsProvider: AnalyticsProvider { fatalError("Not implemented") } var events: [TrackedEvent] = [] - func track(_ eventName: String, properties: [AnyHashable: Any]?, error: Error?) { - events.append(TrackedEvent(eventName: eventName, properties: properties ?? [:], error: error)) + func track(event: WooAnalyticsEvent) { + events.append(TrackedEvent(eventName: event.statName.rawValue, properties: event.properties, error: event.error)) + } + + func track(_ stat: WooAnalyticsStat, parameters: [String: WooAnalyticsEventPropertyType] = [:], error: Error) { + events.append(TrackedEvent(eventName: stat.rawValue, properties: parameters, error: error)) + } + + func track(_ stat: WooAnalyticsStat, parameters: [String: WooAnalyticsEventPropertyType] = [:]) { + events.append(TrackedEvent(eventName: stat.rawValue, properties: parameters, error: nil)) + } + + func track(_ stat: WooAnalyticsStat) { + events.append(TrackedEvent(eventName: stat.rawValue, properties: [:], error: nil)) } } diff --git a/WooCommerce/WooCommerceTests/POS/Mocks/MockOnboardingViewFactoryConfiguration.swift b/WooCommerce/WooCommerceTests/POS/Mocks/MockOnboardingViewFactoryConfiguration.swift new file mode 100644 index 00000000000..1d82b4de5cd --- /dev/null +++ b/WooCommerce/WooCommerceTests/POS/Mocks/MockOnboardingViewFactoryConfiguration.swift @@ -0,0 +1,9 @@ +import Foundation +import enum Yosemite.CardPresentPaymentOnboardingState +@testable import WooCommerce + +class MockOnboardingViewContainerConfiguration: CardPresentPaymentsOnboardingViewConfiguration { + var showSupport: (() -> Void)? + var showURL: ((URL) -> Void)? + var state: CardPresentPaymentOnboardingState = .loading +} diff --git a/WooCommerce/WooCommerceTests/POS/Mocks/MockPointOfSaleAggregateModel.swift b/WooCommerce/WooCommerceTests/POS/Mocks/MockPointOfSaleAggregateModel.swift index 7cb5259e4a6..9f48d27d292 100644 --- a/WooCommerce/WooCommerceTests/POS/Mocks/MockPointOfSaleAggregateModel.swift +++ b/WooCommerce/WooCommerceTests/POS/Mocks/MockPointOfSaleAggregateModel.swift @@ -17,7 +17,7 @@ final class MockPointOfSaleAggregateModel: PointOfSaleAggregateModelProtocol { var cardPresentPaymentInlineMessage: WooCommerce.PointOfSaleCardPresentPaymentMessageType? - var cardPresentPaymentOnboardingViewModel: WooCommerce.CardPresentPaymentsOnboardingViewModel? + var cardPresentPaymentOnboardingViewContainer: WooCommerce.CardPresentPaymentOnboardingViewContainer? func cancelCardPaymentsOnboarding() { } diff --git a/WooCommerce/WooCommerceTests/POS/Models/PointOfSaleAggregateModelTests.swift b/WooCommerce/WooCommerceTests/POS/Models/PointOfSaleAggregateModelTests.swift index aa19da1792e..8d276e6239b 100644 --- a/WooCommerce/WooCommerceTests/POS/Models/PointOfSaleAggregateModelTests.swift +++ b/WooCommerce/WooCommerceTests/POS/Models/PointOfSaleAggregateModelTests.swift @@ -64,12 +64,10 @@ struct PointOfSaleAggregateModelTests { } struct CartTests { - private let analytics: WooAnalytics! - private let analyticsProvider: MockAnalyticsProvider! + private let analytics: MockPOSAnalytics init() { - analyticsProvider = MockAnalyticsProvider() - analytics = WooAnalytics(analyticsProvider: analyticsProvider) + analytics = MockPOSAnalytics() } @Test func addLoadingItem_adds_loading_item_to_cart() async throws { @@ -709,25 +707,24 @@ struct PointOfSaleAggregateModelTests { } // MARK: Onboarding - @Test func cardPresentPaymentOnboardingViewModel_is_non_nil_when_onboarding_is_required() async throws { + @Test func cardPresentPaymentOnboardingViewContainer_is_non_nil_when_onboarding_is_required() async throws { // Given let itemsController = MockPointOfSaleItemsController() let sut = makePointOfSaleAggregateModel( itemsController: itemsController, cardPresentPaymentService: cardPresentPaymentService, orderController: orderController) - let onboardingViewModel = CardPresentPaymentsOnboardingViewModel( - fixedState: .pluginNotActivated(plugin: .stripe), - useCase: MockCardPresentPaymentsOnboardingUseCase(initial: .pluginNotActivated(plugin: .stripe)) - ) + let configuration = MockOnboardingViewContainerConfiguration() + configuration.state = .pluginNotActivated(plugin: .stripe) + let factory = CardPresentPaymentOnboardingViewContainer.init(configuration: configuration) cardPresentPaymentService.paymentEvent = .idle - try #require(sut.cardPresentPaymentOnboardingViewModel == nil) + try #require(sut.cardPresentPaymentOnboardingViewContainer == nil) // When - cardPresentPaymentService.paymentEvent = .showOnboarding(onboardingViewModel: onboardingViewModel, onCancel: {}) + cardPresentPaymentService.paymentEvent = .showOnboarding(factory: factory, onCancel: {}) // Then - #expect(sut.cardPresentPaymentOnboardingViewModel?.state == .pluginNotActivated(plugin: .stripe)) + #expect(sut.cardPresentPaymentOnboardingViewContainer?.configuration.state == .pluginNotActivated(plugin: .stripe)) } @Test func connectionSuccessAlert_is_filtered_when_waiting_to_start_payment_on_card_reader_connection() async throws { @@ -781,13 +778,12 @@ struct PointOfSaleAggregateModelTests { } struct AnalyticsTests { - private let analyticsProvider = MockAnalyticsProvider() - private let analytics: WooAnalytics + private let analytics: MockPOSAnalytics private let cardPresentPaymentService = MockCardPresentPaymentService() private let orderController = MockPointOfSaleOrderController() init() { - analytics = WooAnalytics(analyticsProvider: analyticsProvider) + analytics = MockPOSAnalytics() orderController.orderState = makeLoadedOrderState() } @@ -802,18 +798,18 @@ struct PointOfSaleAggregateModelTests { sut.addToCart(makePurchasableItem()) - let onboardingViewModel = CardPresentPaymentsOnboardingViewModel( - fixedState: .noConnectionError, - useCase: MockCardPresentPaymentsOnboardingUseCase(initial: .noConnectionError) - ) - cardPresentPaymentService.paymentEvent = .showOnboarding(onboardingViewModel: onboardingViewModel, onCancel: {}) + let configuration = MockOnboardingViewContainerConfiguration() + configuration.state = .noConnectionError + let factory = CardPresentPaymentOnboardingViewContainer.init(configuration: configuration) + + cardPresentPaymentService.paymentEvent = .showOnboarding(factory: factory, onCancel: {}) // When sut.cancelCardPaymentsOnboarding() // Then - #expect(analyticsProvider.receivedEvents.first(where: { $0 == "payments_onboarding_dismissed" }) != nil) - let eventProperties = try #require(analyticsProvider.receivedProperties.first(where: { $0.keys.contains("onboarding_state") + #expect(analytics.events.first(where: { $0.eventName == "payments_onboarding_dismissed" }) != nil) + let eventProperties = try #require(analytics.events.map(\.properties).first(where: { $0.keys.contains("onboarding_state") })) #expect(eventProperties["onboarding_state"] as? String == "no_connection_error") } @@ -833,7 +829,7 @@ struct PointOfSaleAggregateModelTests { sut.trackCardPaymentsOnboardingShown() // Then - #expect(analyticsProvider.receivedEvents.first(where: { $0 == "payments_onboarding_shown" }) != nil) + #expect(analytics.events.first(where: { $0.eventName == "payments_onboarding_shown" }) != nil) } @Test func connectCardReader_when_tapped_then_tracks_event() { @@ -849,7 +845,7 @@ struct PointOfSaleAggregateModelTests { sut.connectCardReader() // Then - #expect(analyticsProvider.receivedEvents.first(where: { $0 == "card_reader_connection_tapped" }) != nil) + #expect(analytics.events.first(where: { $0.eventName == "card_reader_connection_tapped" }) != nil) } @Test func disconnectCardReader_when_tapped_then_tracks_event() { @@ -865,7 +861,7 @@ struct PointOfSaleAggregateModelTests { sut.disconnectCardReader() // Then - #expect(analyticsProvider.receivedEvents.first(where: { $0 == "card_reader_disconnect_tapped" }) != nil) + #expect(analytics.events.first(where: { $0.eventName == "card_reader_disconnect_tapped" }) != nil) } @Test func checkout_when_invoked_then_tracks_trackCheckoutTapped() async throws { @@ -893,20 +889,18 @@ struct PointOfSaleAggregateModelTests { await sut.cancelCashPayment() // Then - #expect(analyticsProvider.receivedEvents.first(where: { $0 == "back_to_checkout_from_cash" }) != nil) + #expect(analytics.events.first(where: { $0.eventName == "back_to_checkout_from_cash" }) != nil) } @Test func startCashPayment_when_invoked_tracks_expected_event() async throws { // Given - let mockAnalyticsProvider = MockAnalyticsProvider() - let mockAnalytics = WooAnalytics(analyticsProvider: mockAnalyticsProvider) - let sut = makePointOfSaleAggregateModel(analytics: mockAnalytics) + let sut = makePointOfSaleAggregateModel(analytics: analytics) // When await sut.startCashPayment() // Then - #expect(mockAnalyticsProvider.receivedEvents.first(where: { $0 == "checkout_cash_payment_tapped" }) != nil) + #expect(analytics.events.first(where: { $0.eventName == "checkout_cash_payment_tapped" }) != nil) } @Test func collectCashPayment_when_invoked_tracks_expected_event() async throws { @@ -972,8 +966,10 @@ private func makeLoadedOrderState(cartTotal: String = "", ) } +@available(iOS 17.0, *) private func makePointOfSaleAggregateModel( - entryPointController: POSEntryPointController = POSEntryPointController(eligibilityChecker: MockPOSEligibilityChecker()), + entryPointController: POSEntryPointController = POSEntryPointController(eligibilityChecker: MockPOSEligibilityChecker(), + featureFlagService: MockFeatureFlagService()), itemsController: PointOfSaleItemsControllerProtocol = MockPointOfSaleItemsController(), purchasableItemsSearchController: PointOfSaleSearchingItemsControllerProtocol = MockPointOfSalePurchasableItemsSearchController(), couponsController: PointOfSaleCouponsControllerProtocol = MockPointOfSaleCouponsController(), @@ -981,7 +977,7 @@ private func makePointOfSaleAggregateModel( cardPresentPaymentService: CardPresentPaymentFacade = MockCardPresentPaymentService(), orderController: PointOfSaleOrderControllerProtocol = MockPointOfSaleOrderController(), settingsController: PointOfSaleSettingsControllerProtocol = MockPointOfSaleSettingsController(), - analytics: Analytics = WooAnalytics(analyticsProvider: MockAnalyticsProvider()), + analytics: POSAnalyticsProviding = MockPOSAnalytics(), collectOrderPaymentAnalyticsTracker: POSCollectOrderPaymentAnalyticsTracking = MockPOSCollectOrderPaymentAnalyticsTracker(), searchHistoryService: POSSearchHistoryProviding = MockPOSSearchHistoryService(), popularPurchasableItemsController: PointOfSaleItemsControllerProtocol = MockPointOfSaleItemsController(), diff --git a/WooCommerce/WooCommerceTests/POS/Presentation/Barcode Scanner Setup/PointOfSaleBarcodeScannerSetupFlowManagerTests.swift b/WooCommerce/WooCommerceTests/POS/Presentation/Barcode Scanner Setup/PointOfSaleBarcodeScannerSetupFlowManagerTests.swift index bdccca4b51e..3cc45f5d256 100644 --- a/WooCommerce/WooCommerceTests/POS/Presentation/Barcode Scanner Setup/PointOfSaleBarcodeScannerSetupFlowManagerTests.swift +++ b/WooCommerce/WooCommerceTests/POS/Presentation/Barcode Scanner Setup/PointOfSaleBarcodeScannerSetupFlowManagerTests.swift @@ -7,7 +7,7 @@ struct PointOfSaleBarcodeScannerSetupFlowManagerTests { @Test func test_flowManager_tracks_scanner_selected_when_selectScanner_called() { // Given a flow manager - let mockAnalytics = MockAnalytics() + let mockAnalytics = MockPOSAnalytics() let sut = PointOfSaleBarcodeScannerSetupFlowManager( isPresented: .constant(true), analytics: mockAnalytics @@ -24,7 +24,7 @@ struct PointOfSaleBarcodeScannerSetupFlowManagerTests { @Test func test_flowManager_tracks_dismissal_when_onDisappear_called_on_non_completion_step() { // Given a flow manager with a setup flow in progress - let mockAnalytics = MockAnalytics() + let mockAnalytics = MockPOSAnalytics() let sut = PointOfSaleBarcodeScannerSetupFlowManager( isPresented: .constant(true), analytics: mockAnalytics @@ -46,7 +46,7 @@ struct PointOfSaleBarcodeScannerSetupFlowManagerTests { @Test func test_flowManager_tracks_dismissal_when_onDisappear_called_on_scanner_selection() { // Given a flow manager on scanner selection screen - let mockAnalytics = MockAnalytics() + let mockAnalytics = MockPOSAnalytics() let sut = PointOfSaleBarcodeScannerSetupFlowManager( isPresented: .constant(true), analytics: mockAnalytics @@ -64,7 +64,7 @@ struct PointOfSaleBarcodeScannerSetupFlowManagerTests { @Test func test_flowManager_tracks_keyboard_connected_when_in_setup_flow() { // Given a flow manager with a setup flow - let mockAnalytics = MockAnalytics() + let mockAnalytics = MockPOSAnalytics() let sut = PointOfSaleBarcodeScannerSetupFlowManager( isPresented: .constant(true), analytics: mockAnalytics @@ -85,7 +85,7 @@ struct PointOfSaleBarcodeScannerSetupFlowManagerTests { @Test func test_flowManager_does_not_track_keyboard_connected_when_on_scanner_selection() { // Given a flow manager on scanner selection - let mockAnalytics = MockAnalytics() + let mockAnalytics = MockPOSAnalytics() let sut = PointOfSaleBarcodeScannerSetupFlowManager( isPresented: .constant(true), analytics: mockAnalytics @@ -100,7 +100,7 @@ struct PointOfSaleBarcodeScannerSetupFlowManagerTests { @Test func test_flowManager_returns_correct_state_after_scanner_selection() { // Given a flow manager - let mockAnalytics = MockAnalytics() + let mockAnalytics = MockPOSAnalytics() let sut = PointOfSaleBarcodeScannerSetupFlowManager( isPresented: .constant(true), analytics: mockAnalytics @@ -125,7 +125,7 @@ struct PointOfSaleBarcodeScannerSetupFlowManagerTests { @Test func test_flowManager_returns_to_scanner_selection_when_goBackToSelection_called() { // Given a flow manager in setup flow - let mockAnalytics = MockAnalytics() + let mockAnalytics = MockPOSAnalytics() let sut = PointOfSaleBarcodeScannerSetupFlowManager( isPresented: .constant(true), analytics: mockAnalytics diff --git a/WooCommerce/WooCommerceTests/POS/Presentation/Barcode Scanning/BarcodeScannerContainerTests.swift b/WooCommerce/WooCommerceTests/POS/Presentation/Barcode Scanning/BarcodeScannerContainerTests.swift index eeb67c8b52a..3b7a46efd33 100644 --- a/WooCommerce/WooCommerceTests/POS/Presentation/Barcode Scanning/BarcodeScannerContainerTests.swift +++ b/WooCommerce/WooCommerceTests/POS/Presentation/Barcode Scanning/BarcodeScannerContainerTests.swift @@ -10,6 +10,7 @@ struct BarcodeScannerContainerTests { let mockProvider = MockVoiceOverStateProvider(isRunning: false) let container = GameControllerBarcodeScannerHostingController( configuration: .default, + analytics: MockPOSAnalytics(), onScan: { _ in }, voiceOverStateProvider: mockProvider ) @@ -25,6 +26,7 @@ struct BarcodeScannerContainerTests { let mockProvider = MockVoiceOverStateProvider(isRunning: true) let container = GameControllerBarcodeScannerHostingController( configuration: .default, + analytics: MockPOSAnalytics(), onScan: { _ in }, voiceOverStateProvider: mockProvider ) @@ -40,6 +42,7 @@ struct BarcodeScannerContainerTests { let mockProvider = MockVoiceOverStateProvider(isRunning: false) let container = GameControllerBarcodeScannerHostingController( configuration: .default, + analytics: MockPOSAnalytics(), onScan: { _ in }, voiceOverStateProvider: mockProvider ) @@ -74,6 +77,7 @@ struct BarcodeScannerContainerTests { let mockProvider = MockVoiceOverStateProvider(isRunning: false) let container = GameControllerBarcodeScannerHostingController( configuration: .default, + analytics: MockPOSAnalytics(), onScan: { _ in }, voiceOverStateProvider: mockProvider ) diff --git a/WooCommerce/WooCommerceTests/POS/Presentation/Barcode Scanning/UIKitBarcodeObserverTests.swift b/WooCommerce/WooCommerceTests/POS/Presentation/Barcode Scanning/UIKitBarcodeObserverTests.swift index 52178f8fdb1..fbaa4b0474d 100644 --- a/WooCommerce/WooCommerceTests/POS/Presentation/Barcode Scanning/UIKitBarcodeObserverTests.swift +++ b/WooCommerce/WooCommerceTests/POS/Presentation/Barcode Scanning/UIKitBarcodeObserverTests.swift @@ -15,6 +15,7 @@ struct UIKitBarcodeObserverTests { let mockTimeProvider = MockTimeProvider() let observer = UIKitBarcodeObserver( configuration: Self.testConfiguration, + analytics: MockPOSAnalytics(), onScan: { results.append($0) }, timeProvider: mockTimeProvider ) @@ -47,6 +48,7 @@ struct UIKitBarcodeObserverTests { let mockTimeProvider = MockTimeProvider() let observer = UIKitBarcodeObserver( configuration: Self.testConfiguration, + analytics: MockPOSAnalytics(), onScan: { results.append($0) }, timeProvider: mockTimeProvider ) @@ -66,6 +68,7 @@ struct UIKitBarcodeObserverTests { let mockTimeProvider = MockTimeProvider() let observer = UIKitBarcodeObserver( configuration: Self.testConfiguration, + analytics: MockPOSAnalytics(), onScan: { results.append($0) }, timeProvider: mockTimeProvider ) @@ -90,6 +93,7 @@ struct UIKitBarcodeObserverTests { let mockTimeProvider = MockTimeProvider() let observer = UIKitBarcodeObserver( configuration: Self.testConfiguration, + analytics: MockPOSAnalytics(), onScan: { results.append($0) }, timeProvider: mockTimeProvider ) @@ -119,6 +123,7 @@ struct UIKitBarcodeObserverTests { let mockTimeProvider = MockTimeProvider() let observer = UIKitBarcodeObserver( configuration: Self.testConfiguration, + analytics: MockPOSAnalytics(), onScan: { results.append($0) }, timeProvider: mockTimeProvider ) @@ -148,6 +153,7 @@ struct UIKitBarcodeObserverTests { let mockTimeProvider = MockTimeProvider() let observer = UIKitBarcodeObserver( configuration: Self.testConfiguration, + analytics: MockPOSAnalytics(), onScan: { results.append($0) }, timeProvider: mockTimeProvider ) @@ -180,6 +186,7 @@ struct UIKitBarcodeObserverTests { let mockTimeProvider = MockTimeProvider() let observer = UIKitBarcodeObserver( configuration: Self.testConfiguration, + analytics: MockPOSAnalytics(), onScan: { results.append($0) }, timeProvider: mockTimeProvider ) @@ -209,9 +216,9 @@ struct UIKitBarcodeObserverTests { func uikit_observer_with_special_characters_when_scanned_produces_correct_barcode() { // Given var results: [Result] = [] - let viewController = UIViewController() let observer = UIKitBarcodeObserver( configuration: Self.testConfiguration, + analytics: MockPOSAnalytics(), onScan: { results.append($0) } @@ -244,6 +251,7 @@ struct UIKitBarcodeObserverTests { let mockTimeProvider = MockTimeProvider() let observer = UIKitBarcodeObserver( configuration: Self.testConfiguration, + analytics: MockPOSAnalytics(), onScan: { results.append($0) }, timeProvider: mockTimeProvider ) diff --git a/WooCommerce/WooCommerceTests/POS/Presentation/POSItemActionHandlerFactoryTests.swift b/WooCommerce/WooCommerceTests/POS/Presentation/POSItemActionHandlerFactoryTests.swift index 09559d7ebe2..1b48d5c31e1 100644 --- a/WooCommerce/WooCommerceTests/POS/Presentation/POSItemActionHandlerFactoryTests.swift +++ b/WooCommerce/WooCommerceTests/POS/Presentation/POSItemActionHandlerFactoryTests.swift @@ -15,7 +15,7 @@ struct POSItemActionHandlerFactoryTests { @Test func products_list_tracks_correct_analytics() async throws { // Given let posModel = MockPointOfSaleAggregateModel() - let mockAnalytics = MockAnalytics() + let mockAnalytics = MockPOSAnalytics() let handler = POSItemActionHandlerFactory.itemActionHandler( itemListType: .products(search: false), searchTerm: "", @@ -39,7 +39,7 @@ struct POSItemActionHandlerFactoryTests { @Test func coupons_list_tracks_correct_analytics() async throws { // Given let posModel = MockPointOfSaleAggregateModel() - let mockAnalytics = MockAnalytics() + let mockAnalytics = MockPOSAnalytics() let handler = POSItemActionHandlerFactory.itemActionHandler( itemListType: .coupons(search: false), searchTerm: "", @@ -63,7 +63,7 @@ struct POSItemActionHandlerFactoryTests { @Test func products_search_tracks_correct_analytics() async throws { // Given let posModel = MockPointOfSaleAggregateModel() - let mockAnalytics = MockAnalytics() + let mockAnalytics = MockPOSAnalytics() let handler = POSItemActionHandlerFactory.itemActionHandler( itemListType: .products(search: true), searchTerm: "shoes", @@ -87,7 +87,7 @@ struct POSItemActionHandlerFactoryTests { @Test func coupons_search_tracks_correct_analytics() async throws { // Given let posModel = MockPointOfSaleAggregateModel() - let mockAnalytics = MockAnalytics() + let mockAnalytics = MockPOSAnalytics() let handler = POSItemActionHandlerFactory.itemActionHandler( itemListType: .coupons(search: true), searchTerm: "discount", @@ -111,7 +111,7 @@ struct POSItemActionHandlerFactoryTests { @Test func variation_list_tracks_correct_analytics() async throws { // Given let posModel = MockPointOfSaleAggregateModel() - let mockAnalytics = MockAnalytics() + let mockAnalytics = MockPOSAnalytics() let handler = POSItemActionHandlerFactory.variationActionHandler( itemListType: .products(search: false), searchTerm: "", @@ -135,7 +135,7 @@ struct POSItemActionHandlerFactoryTests { @Test func variation_search_tracks_correct_analytics() async throws { // Given let posModel = MockPointOfSaleAggregateModel() - let mockAnalytics = MockAnalytics() + let mockAnalytics = MockPOSAnalytics() let handler = POSItemActionHandlerFactory.variationActionHandler( itemListType: .products(search: true), searchTerm: "blue shirt", diff --git a/WooCommerce/WooCommerceTests/POS/Presentation/POSItemActionHandlerTests.swift b/WooCommerce/WooCommerceTests/POS/Presentation/POSItemActionHandlerTests.swift index 956b1049c05..1bed32bafb9 100644 --- a/WooCommerce/WooCommerceTests/POS/Presentation/POSItemActionHandlerTests.swift +++ b/WooCommerce/WooCommerceTests/POS/Presentation/POSItemActionHandlerTests.swift @@ -12,7 +12,8 @@ struct POSItemActionHandlerTests { let sut = StandardPOSItemActionHandler( posModel: aggregateModel, sourceView: .coupon, - sourceViewType: .list + sourceViewType: .list, + analytics: MockPOSAnalytics() ) let coupon = makeCouponItem(code: "DISCOUNT!") @@ -30,7 +31,8 @@ struct POSItemActionHandlerTests { posModel: aggregateModel, searchTerm: "", itemType: .coupon, - sourceView: .coupon + sourceView: .coupon, + analytics: MockPOSAnalytics() ) let coupon = makeCouponItem(code: "DISCOUNT!") @@ -47,7 +49,8 @@ struct POSItemActionHandlerTests { let sut = StandardPOSItemActionHandler( posModel: aggregateModel, sourceView: .product, - sourceViewType: .list + sourceViewType: .list, + analytics: MockPOSAnalytics() ) let product = makeProductItem() @@ -65,7 +68,8 @@ struct POSItemActionHandlerTests { posModel: aggregateModel, searchTerm: "", itemType: .product, - sourceView: .product + sourceView: .product, + analytics: MockPOSAnalytics() ) let product = makeProductItem() @@ -93,8 +97,10 @@ private func makeProductItem() -> POSItem { stockStatusKey: "")) } +@available(iOS 17.0, *) private func makePointOfSaleAggregateModel( - entryPointController: POSEntryPointController = POSEntryPointController(eligibilityChecker: MockPOSEligibilityChecker()), + entryPointController: POSEntryPointController = POSEntryPointController(eligibilityChecker: MockPOSEligibilityChecker(), + featureFlagService: MockFeatureFlagService()), itemsController: PointOfSaleItemsControllerProtocol = MockPointOfSaleItemsController(), purchasableItemsSearchController: PointOfSaleSearchingItemsControllerProtocol = MockPointOfSalePurchasableItemsSearchController(), couponsController: PointOfSaleCouponsControllerProtocol = MockPointOfSaleCouponsController(), @@ -102,6 +108,7 @@ private func makePointOfSaleAggregateModel( cardPresentPaymentService: CardPresentPaymentFacade = MockCardPresentPaymentService(), orderController: PointOfSaleOrderControllerProtocol = MockPointOfSaleOrderController(), settingsController: PointOfSaleSettingsControllerProtocol = MockPointOfSaleSettingsController(), + analytics: POSAnalyticsProviding = MockPOSAnalytics(), collectOrderPaymentAnalyticsTracker: POSCollectOrderPaymentAnalyticsTracking = MockPOSCollectOrderPaymentAnalyticsTracker(), searchHistoryService: POSSearchHistoryProviding = MockPOSSearchHistoryService(), popularPurchasableItemsController: PointOfSaleItemsControllerProtocol = MockPointOfSaleItemsController(), @@ -116,6 +123,7 @@ private func makePointOfSaleAggregateModel( cardPresentPaymentService: cardPresentPaymentService, orderController: orderController, settingsController: settingsController, + analytics: analytics, collectOrderPaymentAnalyticsTracker: collectOrderPaymentAnalyticsTracker, searchHistoryService: searchHistoryService, popularPurchasableItemsController: popularPurchasableItemsController, diff --git a/WooCommerce/WooCommerceTests/POS/Presentation/Payments Onboarding/PointOfSaleCardPresentPaymentOnboardingViewModelTests.swift b/WooCommerce/WooCommerceTests/POS/Presentation/Payments Onboarding/PointOfSaleCardPresentPaymentOnboardingViewModelTests.swift index 80a77f89f46..1bd6623ce3a 100644 --- a/WooCommerce/WooCommerceTests/POS/Presentation/Payments Onboarding/PointOfSaleCardPresentPaymentOnboardingViewModelTests.swift +++ b/WooCommerce/WooCommerceTests/POS/Presentation/Payments Onboarding/PointOfSaleCardPresentPaymentOnboardingViewModelTests.swift @@ -1,11 +1,14 @@ import XCTest @testable import WooCommerce +import SwiftUI final class PointOfSaleCardPresentPaymentOnboardingViewModelTests: XCTestCase { func test_onDismissTap_is_invoked_when_cancelOnboarding_is_called() throws { // Given var isDismissTapInvoked = false - let sut = PointOfSaleCardPresentPaymentOnboardingViewModel(onboardingViewModel: .init(fixedState: .genericError), + let configuration = MockOnboardingViewContainerConfiguration() + let sut = PointOfSaleCardPresentPaymentOnboardingViewModel( + onboardingViewContainer: .init(configuration: configuration), onDismissTap: { isDismissTapInvoked = true }) @@ -19,13 +22,15 @@ final class PointOfSaleCardPresentPaymentOnboardingViewModelTests: XCTestCase { func test_onboardingURL_is_set_when_onboarding_vm_showURL_is_invoked() throws { // Given - let onboardingViewModel = CardPresentPaymentsOnboardingViewModel(fixedState: .noConnectionError) - let sut = PointOfSaleCardPresentPaymentOnboardingViewModel(onboardingViewModel: onboardingViewModel, onDismissTap: nil) + let configuration = MockOnboardingViewContainerConfiguration() + let sut = PointOfSaleCardPresentPaymentOnboardingViewModel( + onboardingViewContainer: .init(configuration: configuration), + onDismissTap: nil) XCTAssertNil(sut.onboardingURL) // When let url = try XCTUnwrap(URL(string: "https://example.com")) - onboardingViewModel.showURL?(url) + configuration.showURL?(url) // Then XCTAssertEqual(sut.onboardingURL, url) diff --git a/WooCommerce/WooCommerceTests/POS/Presentation/PointOfSaleItemListAnalyticsTrackerTests.swift b/WooCommerce/WooCommerceTests/POS/Presentation/PointOfSaleItemListAnalyticsTrackerTests.swift index 74edf69c91c..3ffb87c030a 100644 --- a/WooCommerce/WooCommerceTests/POS/Presentation/PointOfSaleItemListAnalyticsTrackerTests.swift +++ b/WooCommerce/WooCommerceTests/POS/Presentation/PointOfSaleItemListAnalyticsTrackerTests.swift @@ -11,7 +11,7 @@ private enum AnalyticsKeys { struct PointOfSaleItemListAnalyticsTrackerTests { @Test func trackItemListSelected_tracks_correct_event_products_list() async throws { // Given - let mockAnalytics = MockAnalytics() + let mockAnalytics = MockPOSAnalytics() let tracker = PointOfSaleItemListAnalyticsTracker(selectedItemListType: .products(search: false), searchTerm: "", analytics: mockAnalytics) // When @@ -25,7 +25,7 @@ struct PointOfSaleItemListAnalyticsTrackerTests { @Test func trackItemListSelected_tracks_correct_event_products_search() async throws { // Given - let mockAnalytics = MockAnalytics() + let mockAnalytics = MockPOSAnalytics() let tracker = PointOfSaleItemListAnalyticsTracker(selectedItemListType: .products(search: true), searchTerm: "shoes", analytics: mockAnalytics) // When @@ -39,7 +39,7 @@ struct PointOfSaleItemListAnalyticsTrackerTests { @Test func trackItemListSelected_tracks_correct_event_coupons_list() async throws { // Given - let mockAnalytics = MockAnalytics() + let mockAnalytics = MockPOSAnalytics() let tracker = PointOfSaleItemListAnalyticsTracker(selectedItemListType: .coupons(search: false), searchTerm: "", analytics: mockAnalytics) // When @@ -53,7 +53,7 @@ struct PointOfSaleItemListAnalyticsTrackerTests { @Test func trackItemListSelected_tracks_correct_event_coupons_search() async throws { // Given - let mockAnalytics = MockAnalytics() + let mockAnalytics = MockPOSAnalytics() let tracker = PointOfSaleItemListAnalyticsTracker(selectedItemListType: .coupons(search: true), searchTerm: "discount", analytics: mockAnalytics) // When @@ -67,7 +67,7 @@ struct PointOfSaleItemListAnalyticsTrackerTests { @Test func trackNextPageWillLoad_tracks_correct_event_products_list() async throws { // Given - let mockAnalytics = MockAnalytics() + let mockAnalytics = MockPOSAnalytics() let tracker = PointOfSaleItemListAnalyticsTracker(selectedItemListType: .products(search: false), searchTerm: "", analytics: mockAnalytics) // When @@ -83,7 +83,7 @@ struct PointOfSaleItemListAnalyticsTrackerTests { @Test func trackNextPageWillLoad_tracks_correct_event_products_preSearch() async throws { // Given - let mockAnalytics = MockAnalytics() + let mockAnalytics = MockPOSAnalytics() let tracker = PointOfSaleItemListAnalyticsTracker(selectedItemListType: .products(search: true), searchTerm: "", analytics: mockAnalytics) // When @@ -98,7 +98,7 @@ struct PointOfSaleItemListAnalyticsTrackerTests { @Test func trackNextPageWillLoad_tracks_correct_event_products_search() async throws { // Given - let mockAnalytics = MockAnalytics() + let mockAnalytics = MockPOSAnalytics() let tracker = PointOfSaleItemListAnalyticsTracker(selectedItemListType: .products(search: true), searchTerm: "shoes", analytics: mockAnalytics) // When @@ -113,7 +113,7 @@ struct PointOfSaleItemListAnalyticsTrackerTests { @Test func trackNextPageWillLoad_tracks_correct_event_coupons_list() async throws { // Given - let mockAnalytics = MockAnalytics() + let mockAnalytics = MockPOSAnalytics() let tracker = PointOfSaleItemListAnalyticsTracker(selectedItemListType: .coupons(search: false), searchTerm: "", analytics: mockAnalytics) // When @@ -128,7 +128,7 @@ struct PointOfSaleItemListAnalyticsTrackerTests { @Test func trackNextPageWillLoad_tracks_correct_event_coupons_preSearch() async throws { // Given - let mockAnalytics = MockAnalytics() + let mockAnalytics = MockPOSAnalytics() let tracker = PointOfSaleItemListAnalyticsTracker(selectedItemListType: .coupons(search: true), searchTerm: "", analytics: mockAnalytics) // When @@ -143,7 +143,7 @@ struct PointOfSaleItemListAnalyticsTrackerTests { @Test func trackNextPageWillLoad_tracks_correct_event_coupons_search() async throws { // Given - let mockAnalytics = MockAnalytics() + let mockAnalytics = MockPOSAnalytics() let tracker = PointOfSaleItemListAnalyticsTracker(selectedItemListType: .coupons(search: true), searchTerm: "discount", analytics: mockAnalytics) // When @@ -158,7 +158,7 @@ struct PointOfSaleItemListAnalyticsTrackerTests { @Test func trackRefresh_tracks_correct_event_products_list() async throws { // Given - let mockAnalytics = MockAnalytics() + let mockAnalytics = MockPOSAnalytics() let tracker = PointOfSaleItemListAnalyticsTracker(selectedItemListType: .products(search: false), searchTerm: "", analytics: mockAnalytics) // When @@ -173,7 +173,7 @@ struct PointOfSaleItemListAnalyticsTrackerTests { @Test func trackRefresh_tracks_correct_event_products_preSearch() async throws { // Given - let mockAnalytics = MockAnalytics() + let mockAnalytics = MockPOSAnalytics() let tracker = PointOfSaleItemListAnalyticsTracker(selectedItemListType: .products(search: true), searchTerm: "", analytics: mockAnalytics) // When @@ -188,7 +188,7 @@ struct PointOfSaleItemListAnalyticsTrackerTests { @Test func trackRefresh_tracks_correct_event_products_search() async throws { // Given - let mockAnalytics = MockAnalytics() + let mockAnalytics = MockPOSAnalytics() let tracker = PointOfSaleItemListAnalyticsTracker(selectedItemListType: .products(search: true), searchTerm: "shoes", analytics: mockAnalytics) // When @@ -203,7 +203,7 @@ struct PointOfSaleItemListAnalyticsTrackerTests { @Test func trackRefresh_tracks_correct_event_coupons_list() async throws { // Given - let mockAnalytics = MockAnalytics() + let mockAnalytics = MockPOSAnalytics() let tracker = PointOfSaleItemListAnalyticsTracker(selectedItemListType: .coupons(search: false), searchTerm: "", analytics: mockAnalytics) // When @@ -218,7 +218,7 @@ struct PointOfSaleItemListAnalyticsTrackerTests { @Test func trackRefresh_tracks_correct_event_coupons_preSearch() async throws { // Given - let mockAnalytics = MockAnalytics() + let mockAnalytics = MockPOSAnalytics() let tracker = PointOfSaleItemListAnalyticsTracker(selectedItemListType: .coupons(search: true), searchTerm: "", analytics: mockAnalytics) // When @@ -233,7 +233,7 @@ struct PointOfSaleItemListAnalyticsTrackerTests { @Test func trackRefresh_tracks_correct_event_coupons_search() async throws { // Given - let mockAnalytics = MockAnalytics() + let mockAnalytics = MockPOSAnalytics() let tracker = PointOfSaleItemListAnalyticsTracker(selectedItemListType: .coupons(search: true), searchTerm: "discount", analytics: mockAnalytics) // When @@ -248,7 +248,7 @@ struct PointOfSaleItemListAnalyticsTrackerTests { @Test func trackSearchTapped_tracks_correct_event_products_list() async throws { // Given - let mockAnalytics = MockAnalytics() + let mockAnalytics = MockPOSAnalytics() let tracker = PointOfSaleItemListAnalyticsTracker(selectedItemListType: .products(search: false), searchTerm: "", analytics: mockAnalytics) // When @@ -262,7 +262,7 @@ struct PointOfSaleItemListAnalyticsTrackerTests { @Test func trackSearchTapped_tracks_correct_event_products_search() async throws { // Given - let mockAnalytics = MockAnalytics() + let mockAnalytics = MockPOSAnalytics() let tracker = PointOfSaleItemListAnalyticsTracker(selectedItemListType: .products(search: true), searchTerm: "shoes", analytics: mockAnalytics) // When @@ -276,7 +276,7 @@ struct PointOfSaleItemListAnalyticsTrackerTests { @Test func trackSearchTapped_tracks_correct_event_coupons_list() async throws { // Given - let mockAnalytics = MockAnalytics() + let mockAnalytics = MockPOSAnalytics() let tracker = PointOfSaleItemListAnalyticsTracker(selectedItemListType: .coupons(search: false), searchTerm: "", analytics: mockAnalytics) // When @@ -290,7 +290,7 @@ struct PointOfSaleItemListAnalyticsTrackerTests { @Test func trackSearchTapped_tracks_correct_event_coupons_search() async throws { // Given - let mockAnalytics = MockAnalytics() + let mockAnalytics = MockPOSAnalytics() let tracker = PointOfSaleItemListAnalyticsTracker(selectedItemListType: .coupons(search: true), searchTerm: "discount", analytics: mockAnalytics) // When diff --git a/WooCommerce/WooCommerceTests/POS/Tools/POSReceiptSenderTests.swift b/WooCommerce/WooCommerceTests/POS/Tools/POSReceiptSenderTests.swift index 969320fab62..5952c94ebd5 100644 --- a/WooCommerce/WooCommerceTests/POS/Tools/POSReceiptSenderTests.swift +++ b/WooCommerce/WooCommerceTests/POS/Tools/POSReceiptSenderTests.swift @@ -17,11 +17,11 @@ struct POSReceiptSenderTests { init() { self.sut = POSReceiptSender(siteID: 123, - orderService: mockOrderService, - receiptService: mockReceiptService, - analytics: MockAnalytics(), - featureFlagService: mockFeatureFlagService, - pluginsService: mockPluginsService) + orderService: mockOrderService, + receiptService: mockReceiptService, + analytics: MockPOSAnalytics(), + featureFlagService: mockFeatureFlagService, + pluginsService: mockPluginsService) } @Test func sendReceipt_tracks_success_with_eligible_for_pos_receipt() async throws { @@ -76,11 +76,11 @@ struct POSReceiptSenderTests { version: wcPluginVersion, active: true)) let sut = POSReceiptSender(siteID: 123, - orderService: mockOrderService, - receiptService: mockReceiptService, - analytics: MockAnalytics(), - featureFlagService: mockFeatureFlagService, - pluginsService: mockPluginsService) + orderService: mockOrderService, + receiptService: mockReceiptService, + analytics: MockPOSAnalytics(), + featureFlagService: mockFeatureFlagService, + pluginsService: mockPluginsService) let order = Order.fake() // When @@ -107,11 +107,11 @@ struct POSReceiptSenderTests { version: wcPluginVersion, active: true)) let sut = POSReceiptSender(siteID: 123, - orderService: mockOrderService, - receiptService: mockReceiptService, - analytics: MockAnalytics(), - featureFlagService: mockFeatureFlagService, - pluginsService: mockPluginsService) + orderService: mockOrderService, + receiptService: mockReceiptService, + analytics: MockPOSAnalytics(), + featureFlagService: mockFeatureFlagService, + pluginsService: mockPluginsService) let order = Order.fake() // When @@ -134,11 +134,11 @@ struct POSReceiptSenderTests { version: wcPluginVersion, active: true)) let sut = POSReceiptSender(siteID: 123, - orderService: mockOrderService, - receiptService: mockReceiptService, - analytics: MockAnalytics(), - featureFlagService: mockFeatureFlagService, - pluginsService: mockPluginsService) + orderService: mockOrderService, + receiptService: mockReceiptService, + analytics: MockPOSAnalytics(), + featureFlagService: mockFeatureFlagService, + pluginsService: mockPluginsService) let order = Order.fake() // When @@ -162,11 +162,11 @@ struct POSReceiptSenderTests { mockFeatureFlagService.isFeatureFlagEnabledReturnValue[.pointOfSaleReceipts] = true mockPluginsService.setMockPlugin(.wooCommerce, systemPlugin: plugin) let sut = POSReceiptSender(siteID: 123, - orderService: mockOrderService, - receiptService: mockReceiptService, - analytics: MockAnalytics(), - featureFlagService: mockFeatureFlagService, - pluginsService: mockPluginsService) + orderService: mockOrderService, + receiptService: mockReceiptService, + analytics: MockPOSAnalytics(), + featureFlagService: mockFeatureFlagService, + pluginsService: mockPluginsService) let order = Order.fake() // When diff --git a/WooCommerce/WooCommerceTests/POS/ViewHelpers/CollectCashViewHelperTests.swift b/WooCommerce/WooCommerceTests/POS/ViewHelpers/CollectCashViewHelperTests.swift index a61757a81a9..d178d6ef3d5 100644 --- a/WooCommerce/WooCommerceTests/POS/ViewHelpers/CollectCashViewHelperTests.swift +++ b/WooCommerce/WooCommerceTests/POS/ViewHelpers/CollectCashViewHelperTests.swift @@ -1,9 +1,10 @@ import Foundation import Testing @testable import WooCommerce +import class WooFoundation.CurrencySettings struct CollectCashViewHelperTests { - let sut = CollectCashViewHelper() + let sut = CollectCashViewHelper(currencySettings: CurrencySettings()) @Test func updatechangeDueMessage_when_invalid_orderDecimal_then_returns_nil() { // Given