From 2c4480be1cc4755de714b1fce1e7f2daa17630d9 Mon Sep 17 00:00:00 2001 From: Pavlos Vinieratos Date: Thu, 9 Jun 2022 22:36:25 +0100 Subject: [PATCH] =?UTF-8?q?chore:=20new=20app=20shell=20=F0=9F=90=9A=20=20?= =?UTF-8?q?(#6086)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * base deps * some new deps and patches * types * android still works! * tiny * wip * boom * more * old ios works!! * remove asdf patch section for now, causing build issues * move ios folder to main directory * upgrade cli tools * bring some small things from 67 * bring back asdf * merge android * pods * temp * docs * good * nice * mapbox set up * new flag * SWEEEEEEET * start updating entry, return placeholder native modules for now * try returning AndroidApp entry * add placeholder native module, flag check for launch count * segment setup call in app delegate, env not working * placeholder constants from native module * only initialize google sign in on android * load the config in podfile, patch the patch to get correct directory * update todos * common * fonts * fix mainQueue warning for native module * put native tabs behind flag, move flag to function * fix types in echo tests * move icon * secrets * cool * cool * aha * wip * aha * boom * test * cool * aha * ok * try * changes * more * some more * back to bash * rename * fix * remove unused script * Add all native ios code to project, test native view components * Check platform for temporary push crash fix * Add a doc for platform deltas * Add emission and dependencies to podfile * Add all pods + postinstall scripts necessary to compile new project * Remove duplicate and test symbols, specify bridging header * Conditionally import swift header file for app shell * use old project plist and app delegate, google plist * don't use wrapper native view controller when using app shell * use the native modules again on iOS * add prebuild script for setting metro host * tab switching works! * tab switching works, for real this time * update baseline * fix type errors * using the typescript screen presenter module, nav works! * expose city guide as a native view * fix tab access error when presenting cityGuide, scrollView issue with react-native-scrollable-tab-view * update secrets baseline * register new live auction native module with placeholder view * native view manager for live auctions, passing slug down * add guard to prevent crash in live auctions * match more versions in podfile, deployment target * handle modal dismiss in live auctions * New native module for independent native screens, view in room working * move email composer to new module * make media previews work, update platform deltas * add placeholder view module for old admin * navigate to admin menu rather than global component, modals appearing underneath * add the real old admin vc to the component * add a dismiss button to old admin * fix android app registration * remove native webview flag and ts code * fix ios app registration * remove native webview code * update async storage imports after merge * re-add native code references for some reason broke after merge * rename the project to be consistent with old project * some changes to enable shipping betas * point to commit hash to insure no unintended updates * git mv App dir to new ios directory * update paths in scripts, update project settings, compiling again * fix warnings in build phases, remove duplicate proj * main merge * add stickers target to new project * add braze push extension to new project * add widget target to the new project, update baseline * cleanup * cool * add test target to project, dependencies and hacks, tests passing * update the react native config patch to fix var loading * point to correct entitlements file to fix deeplinks * match artsy parent proj settings match artsy parent proj settings add c compiler flags in proj settings * match artsy target general settings, remove unused launch screen * match artsy target custom build settings * match artsy test target build settings * match artsy stickers target build settings * match widget target build settings * match rich push target build settings * match artsy scheme settings * add release build scheme * get rid of app shell checks in the entry point * add live auctions to platform deltas * default to the new app shell way in ts * default to the new app shell way in native * delete old screen presenter and native tabs * remove now unsupported method call from sign out * mark a couple todos done * default to new scripts * move flags todos to done * delete the old project and workspace * prevent landscape mode on phones * add note about admin issue * configure google sign in on iOS, fixes sign out issue * rename AndroidApp -> App, remove now unused main component * call sync native state hook to fix token registration * fix bottom toast spacing * simplify * python and platform-specific * ok * fix(MOPLAT-213): partial revert of #6386, add back auction web view (#6602) * partial revert of #6386, add back auction web view * update auction registration url # Conflicts: # Artsy.xcodeproj/project.pbxproj # Artsy/App/ARScreenPresenterModule.m # ios/Artsy_Tests/View_Controller_Tests/Web_Browsing/ARAuctionWebViewControllerTests.m # ios/Podfile.lock * delete now unused native module func * remove redundant update echo step * update pod install path * update pod cache paths * update paths and vars for ios build * gem updates * fix native test plist path * fix native test plist path * fix plist paths in beta build, add missing keys * cool * fix tab navigator tests * delete now unused native tabs component * rename unsafe_switchtab now that it can be used on both platforms * fix bottom tabs tests * fix artist tests * fix commercial info tests * more consistent switchTab function * fix navigate tests * fix bottom tabs button tests * fix most artwork link tests * fix artwork tests * fix most artist consign button tests * fix artist about tests * update tab mocking in artwork link test * update tab mocking in artist consignment button tests * update native module mocking in hidebackbutton tests * fix import and pod install after merge * update native module mocking in setupJest * fix updated commercial info tests * fix update ArtworkExtraLinks tests * fix bottom tabs nav tests * fix artwork action tests * fix auth model tests * fix casing in store mock * remove unused switch tab global store action * add mapbox creds functions to podfile * fix commercial info tests again * fix stickers plist path * try busting cache for ios build * fix path for test bridging header * fix other test paths * update closed auction snapshot * update mocking in nav tests * remove repeated line in editor config * undo unnecessary ARComponentViewController change * remove workspace file that should be ignored * fix codesigning path * react-native-config * remove outdated TODO * pass path to ios build * mock logOperation so it is not dependent on metaflags * LOL * remove mock, read metaflags in test env * main diffs * rename scheme store, explicit separate signing configs * add missing sticker app icon * add missing sticker device capabilities key * use one index.js file * update lockfile and scheme names * delete todo.txt * Revert "use one index.js file" This reverts commit 48a4ecbbcb6558d7500e5e610845865e514a5dc8. * update rn config again, bad merge * update patch version number * Revert "update patch version number" This reverts commit 15f656c3264f586175468674dc6f16a1aad1101f. * update patch version number take 2 Co-authored-by: brainbicycle Co-authored-by: Brian Beckerle <49686530+brainbicycle@users.noreply.github.com> --- .circleci/config.yml | 37 +- .gitignore | 14 +- .secrets.baseline | 238 +- .tool-versions | 2 +- .../Contents.json | 9 - .../Contents.json | 9 - .../Sticker Pack.stickerpack/Contents.json | 50 - .../Contents.json | 9 - .../Contents.json | 9 - .../Contents.json | 9 - .../Contents.json | 9 - .../Miniature Skeleton.sticker/Contents.json | 9 - .../Contents.json | 9 - .../Contents.json | 9 - .../Contents.json | 9 - .../The Vexed Man.sticker/Contents.json | 9 - .../Contents.json | 9 - .../Contents.json | 9 - .../Contents.json | 67 - Artsy.xcodeproj/project.pbxproj | 4869 ----------------- .../contents.xcworkspacedata | 7 - Artsy/App/ARScreenPresenterModule.h | 20 - Artsy/App/ARScreenPresenterModule.m | 450 -- Artsy/Constants/ARDefaults+SiteFeatures.h | 9 - Artsy/Constants/ARDefaults+SiteFeatures.m | 25 - .../contents.xcworkspacedata | 7 - .../AppIcon.appiconset/Contents.json | 106 - Artsy/View_Controllers/ARNativeTabsManager.h | 5 - Artsy/View_Controllers/ARNativeTabsManager.m | 79 - .../LiveAuctionsAssets.xcassets/Contents.json | 6 - .../Contents.json | 21 - .../Contents.json | 21 - .../Contents.json | 21 - .../Contents.json | 21 - .../LiveAuctionSpinner.imageset/Contents.json | 21 - .../Contents.json | 21 - .../Contents.json | 21 - .../Contents.json | 21 - .../Contents.json | 21 - .../Contents.json | 21 - .../Contents.json | 21 - .../chat_icon.imageset/Contents.json | 21 - .../info_icon.imageset/Contents.json | 21 - .../Contents.json | 21 - .../Contents.json | 21 - .../Contents.json | 21 - .../Contents.json | 21 - .../lot_bidders_info.imageset/Contents.json | 21 - .../lot_lot_info.imageset/Contents.json | 21 - .../lot_time_info.imageset/Contents.json | 21 - .../lot_watchers_info.imageset/Contents.json | 21 - .../lots_icon.imageset/Contents.json | 21 - .../AccentColor.colorset/Contents.json | 11 - .../AppIcon.appiconset/Contents.json | 98 - .../BlackArtsyLogo.imageset/Contents.json | 23 - ArtsyWidget/Assets.xcassets/Contents.json | 6 - .../Contents.json | 23 - .../Contents.json | 23 - .../Contents.json | 23 - .../Contents.json | 23 - .../WhiteArtsyLogo.imageset/Contents.json | 23 - .../WidgetBackground.colorset/Contents.json | 20 - Artsy_Tests/App_Tests/ARAppDelegateSpec.m | 23 - Artsy_Tests/App_Tests/ArtsyEchoTests.m | 23 - .../ARLegacyArtworkViewControllerTests.m | 326 -- .../ARSimpleShowFeedViewControllerSpec.m | 47 - Podfile | 250 - README.md | 5 +- .../main/java/net/artsy/app/MainActivity.java | 2 +- app.json | 1 + docs/fetching_data.md | 1 - .../ARNotificationsManager.h | 1 + .../ARNotificationsManager.m | 7 + fastlane/Fastfile | 14 +- index-common.js | 28 + index.android.js | 29 +- index.ios.js | 25 +- ios/Artsy.xcodeproj/project.pbxproj | 4803 ++++++++++++++++ .../xcschemes/Artsy (Release).xcscheme | 55 +- .../xcshareddata/xcschemes/Artsy.xcscheme | 39 +- .../xcschemes/ArtsyStickers.xcscheme | 34 +- .../xcschemes/ArtsyWidgetExtension.xcscheme | 35 +- .../BrazePushServiceExtension.xcscheme | 96 + .../contents.xcworkspacedata | 0 {Artsy => ios/Artsy}/.swiftlint.yml | 0 .../Artsy}/App/ARAnalyticsConstants.h | 0 .../Artsy}/App/ARAnalyticsConstants.m | 0 .../App/ARAppActivityContinuationDelegate.h | 0 .../App/ARAppActivityContinuationDelegate.m | 0 .../Artsy}/App/ARAppDelegate+Analytics.h | 0 .../Artsy}/App/ARAppDelegate+Analytics.m | 0 {Artsy => ios/Artsy}/App/ARAppDelegate+Echo.h | 0 {Artsy => ios/Artsy}/App/ARAppDelegate+Echo.m | 0 .../Artsy}/App/ARAppDelegate+Emission.h | 3 +- .../Artsy}/App/ARAppDelegate+Emission.m | 10 +- {Artsy => ios/Artsy}/App/ARAppDelegate.h | 0 {Artsy => ios/Artsy}/App/ARAppDelegate.m | 28 +- .../Artsy}/App/ARAppNotificationsDelegate.h | 0 .../Artsy}/App/ARAppNotificationsDelegate.m | 0 {Artsy => ios/Artsy}/App/ARAppStatus.h | 0 {Artsy => ios/Artsy}/App/ARAppStatus.m | 0 .../App/ARApplicationShortcutItemDelegate.h | 0 .../App/ARApplicationShortcutItemDelegate.m | 0 {Artsy => ios/Artsy}/App/ARFonts.h | 0 {Artsy => ios/Artsy}/App/ARMacros.h | 0 .../Artsy}/App/ARModalViewController.h | 0 .../Artsy}/App/ARModalViewController.m | 0 {Artsy => ios/Artsy}/App/AROptions.h | 0 {Artsy => ios/Artsy}/App/AROptions.m | 0 .../Artsy}/App/ARTArtsyNativeModule.h | 0 .../Artsy}/App/ARTArtsyNativeModule.m | 0 {Artsy => ios/Artsy}/App/ARUserActivity.h | 0 {Artsy => ios/Artsy}/App/ARUserActivity.m | 0 {Artsy => ios/Artsy}/App/ArtsyEcho.h | 0 {Artsy => ios/Artsy}/App/ArtsyEcho.m | 0 .../Artsy}/App/SwiftExtensions.swift | 0 {Artsy => ios/Artsy}/App/main.m | 0 .../Artsy}/App_Resources/Artsy-Info.plist | 6 +- .../App_Resources/Artsy.Store.entitlements | 0 .../Artsy}/App_Resources/Artsy.entitlements | 0 .../Artsy}/App_Resources/Launch Screen.xib | 9 +- .../App_Resources/en.lproj/InfoPlist.strings | 0 .../AFHTTPRequestOperation+JSON.h | 0 .../AFHTTPRequestOperation+JSON.m | 0 .../Categories/Apple/Int+Metrification.swift | 0 .../Categories/Apple/NSArray+Additions.h | 0 .../Categories/Apple/NSArray+Additions.m | 0 .../Apple/NSAttributedString+Additions.swift | 0 .../Categories/Apple/NSDate+DateRange.h | 0 .../Categories/Apple/NSDate+DateRange.m | 0 .../Artsy}/Categories/Apple/NSDate+Util.h | 0 .../Artsy}/Categories/Apple/NSDate+Util.m | 0 .../Apple/NSKeyedUnarchiver+ErrorLogging.h | 0 .../Apple/NSKeyedUnarchiver+ErrorLogging.m | 0 .../Apple/NSString+StringBetweenStrings.h | 0 .../Apple/NSString+StringBetweenStrings.m | 0 .../Categories/Apple/UIDevice-Hardware.h | 0 .../Categories/Apple/UIDevice-Hardware.m | 0 .../Categories/Apple/UIImage+ImageFromColor.h | 0 .../Categories/Apple/UIImage+ImageFromColor.m | 0 .../Apple/UIImageView+AsyncImageLoading.h | 0 .../Apple/UIImageView+AsyncImageLoading.m | 0 .../Categories/Apple/UILabel+Styling.swift | 0 .../UITableViewController+Animations.swift | 0 .../Apple/UIView+HitTestExpansion.h | 0 .../Apple/UIView+HitTestExpansion.m | 0 .../Apple/UIView+OldSchoolSnapshots.h | 0 .../Apple/UIView+OldSchoolSnapshots.m | 0 .../Categories/Apple/UIView+ScrollToTop.h | 0 .../Categories/Apple/UIView+ScrollToTop.m | 0 .../Apple/UIViewController+ARUserActivity.h | 0 .../Apple/UIViewController+ARUserActivity.m | 0 .../UIViewController+FullScreenLoading.h | 0 .../UIViewController+FullScreenLoading.m | 0 .../Apple/UIViewController+Popovers.h | 0 .../Apple/UIViewController+Popovers.m | 0 .../Apple/UIViewController+SimpleChildren.h | 0 .../Apple/UIViewController+SimpleChildren.m | 0 .../Apple/UIViewController+Traits.swift | 0 .../Apple/UIViewController+WithLoadedData.h | 0 .../Apple/UIViewController+WithLoadedData.m | 0 .../Categories/Artsy/Interstellar+Artsy.swift | 0 .../Categories/Artsy/ORStackView+ArtsyViews.h | 0 .../Categories/Artsy/ORStackView+ArtsyViews.m | 0 .../PanDirectionGestureRecognizer.swift | 0 .../Artsy}/Constants/ARAppConstants.h | 0 .../Artsy}/Constants/ARAppConstants.m | 0 {Artsy => ios/Artsy}/Constants/ARDefaults.h | 2 + {Artsy => ios/Artsy}/Constants/ARDefaults.m | 1 - .../Artsy}/Eigen.playground/Contents.swift | 0 .../Eigen.playground/contents.xcplayground | 0 .../Eigen.playground/timeline.xctimeline | 0 .../AppIcon.appiconset/AppIcon167.png | Bin .../AppIcon.appiconset/Contents.json | 106 + .../AppIcon.appiconset/Icon-1024.png | Bin .../AppIcon.appiconset/Icon-60@2x.png | Bin .../AppIcon.appiconset/Icon-76.png | Bin .../AppIcon.appiconset/Icon-76@2x.png | Bin .../AppIcon.appiconset/Icon-Small-40.png | Bin .../AppIcon.appiconset/Icon-Small-40@2x-1.png | Bin .../AppIcon.appiconset/Icon-Small-40@2x.png | Bin .../API_Models/Application/SystemTime.h | 0 .../API_Models/Application/SystemTime.m | 0 .../API_Models/Artwork_Metadata/AuctionLot.h | 0 .../API_Models/Artwork_Metadata/AuctionLot.m | 0 .../Models/API_Models/Artwork_Metadata/Gene.h | 0 .../Models/API_Models/Artwork_Metadata/Gene.m | 0 .../API_Models/Artwork_Metadata/Image.h | 0 .../API_Models/Artwork_Metadata/Image.m | 0 .../Artsy}/Models/API_Models/Auctions/Bid.h | 0 .../Artsy}/Models/API_Models/Auctions/Bid.m | 0 .../Models/API_Models/Auctions/Bidder.h | 0 .../Models/API_Models/Auctions/Bidder.m | 0 .../API_Models/Auctions/BidderPosition.h | 0 .../API_Models/Auctions/BidderPosition.m | 0 .../API_Models/Auctions/BuyersPremium.h | 0 .../API_Models/Auctions/BuyersPremium.m | 0 .../Artsy}/Models/API_Models/Auctions/Sale.h | 0 .../Artsy}/Models/API_Models/Auctions/Sale.m | 0 .../Models/API_Models/Auctions/SaleArtwork.h | 0 .../Models/API_Models/Auctions/SaleArtwork.m | 0 .../Artsy}/Models/API_Models/Fair/Fair.h | 0 .../Artsy}/Models/API_Models/Fair/Fair.m | 0 .../Models/API_Models/Fair/FairOrganizer.h | 0 .../Models/API_Models/Fair/FairOrganizer.m | 0 .../Artsy}/Models/API_Models/Fair/Follow.h | 0 .../Artsy}/Models/API_Models/Fair/Follow.m | 0 .../API_Models/Favorites/ARHeartStatus.h | 0 .../API_Models/Live/BidIncrementStrategy.h | 0 .../API_Models/Live/BidIncrementStrategy.m | 0 .../Models/API_Models/Live/LiveBidder.h | 0 .../Models/API_Models/Live/LiveBidder.m | 0 .../Artsy}/Models/API_Models/Live/LiveEvent.h | 0 .../Artsy}/Models/API_Models/Live/LiveEvent.m | 0 .../Artsy}/Models/API_Models/Live/LiveSale.h | 0 .../Artsy}/Models/API_Models/Live/LiveSale.m | 0 .../API_Models/Live/SaleStatusType.swift | 0 .../Artsy}/Models/API_Models/LiveAuctionLot.h | 0 .../Artsy}/Models/API_Models/LiveAuctionLot.m | 0 .../API_Models/Partner_Metadata/Artist.h | 0 .../API_Models/Partner_Metadata/Artist.m | 0 .../API_Models/Partner_Metadata/Artwork.h | 0 .../API_Models/Partner_Metadata/Artwork.m | 0 .../API_Models/Partner_Metadata/Location.h | 0 .../API_Models/Partner_Metadata/Location.m | 0 .../API_Models/Partner_Metadata/Partner.h | 0 .../API_Models/Partner_Metadata/Partner.m | 0 .../API_Models/Partner_Metadata/PartnerShow.h | 0 .../API_Models/Partner_Metadata/PartnerShow.m | 0 .../Artsy}/Models/API_Models/Posts/Article.h | 0 .../Artsy}/Models/API_Models/Posts/Article.m | 0 .../Artsy}/Models/API_Models/Social/Profile.h | 0 .../Artsy}/Models/API_Models/Social/Profile.m | 0 .../Artsy}/Models/API_Models/Social/User.h | 0 .../Artsy}/Models/API_Models/Social/User.m | 0 .../Models/Protocols/ARHasImageBaseURL.h | 0 .../Models/Protocols/ARPostAttachment.h | 0 .../NativeModules/ARTCityGuideViewManager.h | 9 + .../NativeModules/ARTCityGuideViewManager.m | 14 + .../NativeModules/ARTLiveAuctionViewManager.h | 9 + .../NativeModules/ARTLiveAuctionViewManager.m | 19 + .../ARTNativeScreenPresenterModule.h | 13 + .../ARTNativeScreenPresenterModule.m | 177 + .../NativeModules/ARTOldAdminViewManager.h | 9 + .../NativeModules/ARTOldAdminViewManager.m | 14 + ios/Artsy/NativeModules/CityGuideView.swift | 41 + ios/Artsy/NativeModules/LiveAuctionView.swift | 48 + ios/Artsy/NativeModules/OldAdminView.swift | 42 + .../ARDefaultNavigationTransition.h | 0 .../ARDefaultNavigationTransition.m | 0 .../ARNavigationTransition.h | 0 .../ARNavigationTransition.m | 0 .../ARNavigationTransitionController.h | 0 .../ARNavigationTransitionController.m | 0 .../Networking/API_Modules/ARKeychainable.h | 0 .../Networking/API_Modules/ARKeychainable.m | 0 .../Networking/API_Modules/ARUserManager.h | 0 .../Networking/API_Modules/ARUserManager.m | 4 +- .../ArtsyAPI+CurrentUserFunctions.h | 0 .../ArtsyAPI+CurrentUserFunctions.m | 0 .../API_Modules/ArtsyAPI+DeviceTokens.h | 0 .../API_Modules/ArtsyAPI+DeviceTokens.m | 0 .../API_Modules/ArtsyAPI+ErrorHandlers.h | 0 .../API_Modules/ArtsyAPI+ErrorHandlers.m | 0 .../API_Modules/ArtsyAPI+Following.h | 0 .../API_Modules/ArtsyAPI+Following.m | 0 .../Networking/API_Modules/ArtsyAPI+HEAD.h | 0 .../Networking/API_Modules/ArtsyAPI+HEAD.m | 0 .../API_Modules/ArtsyAPI+Notifications.h | 0 .../API_Modules/ArtsyAPI+Notifications.m | 0 .../Networking/API_Modules/ArtsyAPI+Pages.h | 0 .../Networking/API_Modules/ArtsyAPI+Pages.m | 0 .../Networking/API_Modules/ArtsyAPI+Private.h | 0 .../API_Modules/ArtsyAPI+Profiles.h | 0 .../API_Modules/ArtsyAPI+Profiles.m | 0 .../API_Modules/ArtsyAPI+RelatedModels.h | 0 .../API_Modules/ArtsyAPI+RelatedModels.m | 0 .../Networking/API_Modules/ArtsyAPI+Sales.h | 0 .../Networking/API_Modules/ArtsyAPI+Sales.m | 0 .../API_Modules/ArtsyAPI+SystemTime.h | 0 .../API_Modules/ArtsyAPI+SystemTime.m | 0 .../Artsy}/Networking/ARAuthProviders.h | 0 .../Artsy}/Networking/ARAuthProviders.m | 0 .../Artsy}/Networking/ARNetworkConstants.h | 0 .../Artsy}/Networking/ARNetworkConstants.m | 0 .../Artsy}/Networking/ARReactPackagerHost.h | 0 .../Artsy}/Networking/ARRouter+GraphQL.h | 0 .../Artsy}/Networking/ARRouter+GraphQL.m | 0 {Artsy => ios/Artsy}/Networking/ARRouter.h | 0 {Artsy => ios/Artsy}/Networking/ARRouter.m | 0 .../Artsy}/Networking/ARSystemTime.h | 0 .../Artsy}/Networking/ARSystemTime.m | 0 {Artsy => ios/Artsy}/Networking/ArtsyAPI.h | 0 {Artsy => ios/Artsy}/Networking/ArtsyAPI.m | 0 .../LiveAuctionSocketCommunicator.swift | 0 .../Live_Auctions/StarscreamExtensions.swift | 0 .../Mantle_Extensions/MTLModel+Dictionary.h | 0 .../Mantle_Extensions/MTLModel+Dictionary.m | 0 .../Mantle_Extensions/MTLModel+JSON.h | 0 .../Mantle_Extensions/MTLModel+JSON.m | 0 .../Networking/static_sale_data.graphql | 0 .../Artsy}/Protocols/ARFeedHostItem.h | 0 {Artsy => ios/Artsy}/Protocols/ARFollowable.h | 0 .../Artsy}/Protocols/ARShareableObject.h | 0 .../Artsy}/Resources/Artsy-Bridging-Header.h | 8 +- .../Artsy}/Resources/Assets/ARVIRBack@2x.png | Bin .../Artsy}/Resources/Assets/ARVIRBack@3x.png | Bin .../Artsy}/Resources/Assets/ARVIRPhone@2x.png | Bin .../Artsy}/Resources/Assets/ARVIRPhone@3x.png | Bin .../Resources/Assets/ARVIRRefresh@2x.png | Bin .../Resources/Assets/ARVIRRefresh@3x.png | Bin .../Artsy}/Resources/Assets/Artsy_Logo.png | Bin .../Resources/Assets/AttentionIcon@2x.png | Bin .../Resources/Assets/AuctionRefineCheck.png | Bin .../Assets/AuctionRefineCheck@2x.png | Bin .../Assets/BackArrow_Highlighted@2x.png | Bin .../Artsy}/Resources/Assets/BackChevron.png | Bin .../Resources/Assets/BackChevron@2x.png | Bin .../Resources/Assets/BackChevron@3x.png | Bin .../Assets/Chevron_White_Left@2x.png | Bin .../Assets/Chevron_White_Left@3x.png | Bin .../Resources/Assets/CircleCheckGreen.png | Bin .../Resources/Assets/CircleCheckGreen@2x.png | Bin .../Resources/Assets/CircleCheckGreen@3x.png | Bin .../Artsy}/Resources/Assets/CircleXRed.png | Bin .../Artsy}/Resources/Assets/CircleXRed@2x.png | Bin .../Artsy}/Resources/Assets/CircleXRed@3x.png | Bin .../Resources/Assets/CircularCancelButton.png | Bin .../Assets/CircularCancelButton@2x.png | Bin .../Resources/Assets/CircularInfoButton.png | Bin .../Assets/CircularInfoButton@2x.png | Bin .../Resources/Assets/CloseButtonLarge@2x.png | Bin .../Assets/CloseButtonLargeHighlighted@2x.png | Bin .../Resources/Assets/FooterBackground@2x.png | Bin .../Artsy}/Resources/Assets/Hash.png | Bin .../Artsy}/Resources/Assets/Hash@2x.png | Bin .../Artsy}/Resources/Assets/Hash@3x.png | Bin .../Artsy}/Resources/Assets/MoreArrow@2x.png | Bin .../Artsy}/Resources/Assets/Range@2x.png | Bin .../Resources/Assets/RefreshIcon@2x.png | Bin .../Artsy}/Resources/Assets/SearchButton.png | Bin .../Resources/Assets/SearchButton@2x.png | Bin .../Resources/Assets/SearchButton@3x.png | Bin .../Assets/SmallMoreVerticalArrow.png | Bin .../Assets/SmallMoreVerticalArrow@2x.png | Bin .../Artsy}/Resources/Assets/Thumb.png | Bin .../Artsy}/Resources/Assets/Thumb@2x.png | Bin .../Artsy}/Resources/Assets/Track@2x.png | Bin .../Artsy}/Resources/Assets/followButton.png | Bin .../Resources/Assets/followButton@2x.png | Bin .../Resources/Assets/followButton@3x.png | Bin .../Resources/Assets/followButtonChecked.png | Bin .../Assets/followButtonChecked@2x.png | Bin .../Assets/followButtonChecked@3x.png | Bin .../Assets/full_logo_black_large@2x.png | Bin .../Assets/full_logo_black_medium@2x.png | Bin .../Assets/full_logo_black_small@2x.png | Bin .../Assets/full_logo_white_large@2x.png | Bin .../Assets/full_logo_white_medium@2x.png | Bin .../Assets/full_logo_white_small@2x.png | Bin .../navigation_more_arrow_horizontal@2x.png | Bin .../navigation_more_arrow_vertical@2x.png | Bin .../Artsy}/Resources/Assets/paddle.png | Bin .../Artsy}/Resources/Assets/paddle@2x.png | Bin .../Artsy}/Resources/Assets/paddle@3x.png | Bin .../Resources/Assets/serif_modal_close@2x.png | Bin .../MapAnnotation_Artsy@2x.png | Bin .../ViewInRoom/ViewInRoom_Base@2x.png | Bin .../ViewInRoom/ViewInRoom_BaseNoBench@2x.png | Bin .../ViewInRoom/ViewInRoom_Bench@2x.png | Bin .../ViewInRoom/ViewInRoom_Man_3@2x.png | Bin .../ViewInRoom/ViewInRoom_Wall@2x.png | Bin .../ViewInRoom/ViewInRoom_Wall_Right@2x.png | Bin {Artsy => ios/Artsy}/Stringify.swift | 0 .../Artsy}/Tooling/ARDispatchManager.h | 0 .../Artsy}/Tooling/ARDispatchManager.m | 0 .../Artsy}/Tooling/ARWebViewCacheHost.h | 0 .../Artsy}/Tooling/ARWebViewCacheHost.m | 0 .../Generated/StoryboardConstants.swift | 0 .../Tooling/Generated/StoryboardImages.swift | 0 .../ARSerifNavigationViewController.h | 0 .../ARSerifNavigationViewController.m | 0 ...RVIRHorizontalPlaneInteractionController.h | 0 ...RVIRHorizontalPlaneInteractionController.m | 0 .../ARVIR/ARAugmentedRealityConfig.h | 0 .../ARVIR/ARAugmentedRealityConfig.m | 0 .../ARVIR/New Group/ARVIRModalClose.png | Bin .../ARVIR/New Group/ARVIRModalClose@2x.png | Bin .../ARVIR/New Group/ARVIRModalClose@3x.png | Bin .../ARVIR/New Group/ARVIRShadow.png | Bin .../ARVIR/New Group/ARVIRTick.png | Bin .../ARVIR/New Group/ARVIRTick@2x.png | Bin .../ARVIR/New Group/ARVIRTick@3x.png | Bin .../ARVIR/New Group/ar_vir_opening_frame.jpg | Bin .../ARVIR/Nodes/ARSCNWallNode.h | 0 .../ARVIR/Nodes/ARSCNWallNode.m | 0 .../ARVIR/Nodes/SCNArtworkNode.h | 0 .../ARVIR/Nodes/SCNArtworkNode.m | 0 .../ARAugmentedFloorBasedVIRViewController.h | 0 .../ARAugmentedFloorBasedVIRViewController.m | 0 .../VCs/ARAugmentedVIRSetupViewController.h | 0 .../VCs/ARAugmentedVIRSetupViewController.m | 0 .../ARVIR/Views/ARInformationView.h | 0 .../ARVIR/Views/ARInformationView.m | 0 .../Admin/ARAdminSettingsViewController.h | 0 .../Admin/ARAdminSettingsViewController.m | 2 +- .../Admin/ARAdminTableViewController.h | 0 .../Admin/ARAdminTableViewController.m | 0 .../Admin/AREchoContentsViewController.h | 0 .../Admin/AREchoContentsViewController.m | 0 .../Admin/Networking/ARAdminNetworkModel.h | 0 .../Admin/Networking/ARAdminNetworkModel.m | 0 .../Admin/Views/ARAdminTableViewCell.h | 0 .../Admin/Views/ARAdminTableViewCell.m | 0 .../Admin/Views/ARAnimatedTickView.h | 0 .../Admin/Views/ARAnimatedTickView.m | 0 .../Admin/Views/ARTickedTableViewCell.h | 0 .../Admin/Views/ARTickedTableViewCell.m | 0 .../Auction/AuctionBiddersNetworkModel.swift | 0 .../AuctionInformationViewController.swift | 0 .../Auction/AuctionSaleNetworkModel.swift | 0 ...inementOptionsViewController+Private.swift | 0 .../RefinementOptionsViewController.swift | 0 .../Core/ARViewInRoomViewController.h | 0 .../Core/ARViewInRoomViewController.m | 0 .../UIViewController+BlurredStatusView.swift | 0 .../ARNavigationButtonsViewController.h | 0 .../ARNavigationButtonsViewController.m | 0 ...eAuctionCurrentLotCTAPositionManager.swift | 0 ...eAuctionPlainLotCollectionViewLayout.swift | 0 .../LiveActionStateReconciler.swift | 6 +- .../Live_Auctions/LiveAuctionBidButton.swift | 0 .../LiveAuctionBidHistoryViewController.swift | 0 .../LiveAuctionBidViewModel.swift | 0 .../LiveAuctionLoadingView.swift | 0 ...uctionLotBidHistoryGestureController.swift | 0 ...otListStickyCellCollectionViewLayout.swift | 0 .../LiveAuctionLotListViewController.swift | 0 .../LiveAuctionLotSetViewController.swift | 4 +- .../LiveAuctionLotViewController.swift | 2 +- ...LiveAuctionPlaceMaxBidViewController.swift | 0 .../LiveAuctionSaleLotsDataSource.swift | 0 .../LiveAuctionSaleViewController.swift | 0 .../LiveAuctionSalesPerson.swift | 0 .../LiveAuctionStateManager.swift | 0 .../LiveAuctionStateManagerSpec.swift | 0 .../LiveAuctionStaticDataFetcher+Stubs.swift | 0 .../LiveAuctionStaticDataFetcher.swift | 0 .../LiveAuctionViewController.swift | 0 .../LiveAuctionsAdminViewController.swift | 0 .../LotListCollectionViewCell+Private.swift | 0 .../LotListCollectionViewCell.swift | 0 .../Resources/LiveAuctions.storyboard | 0 .../LiveAuctionsAssets.xcassets/Contents.json | 6 + .../Contents.json | 21 + .../LiveAuctionButtonNormalBackground@2x.png | Bin .../Contents.json | 21 + .../LiveAuctionButtonNormalHighlighted.png | Bin .../Contents.json | 21 + .../LiveAuctionMaxBidIcon@2x.png | Bin .../Contents.json | 21 + .../LiveAuctionOutbidWarningIcon@2x.png | Bin .../LiveAuctionSpinner.imageset/Contents.json | 21 + .../LiveAuctionSpinner@2x.png | Bin .../Contents.json | 21 + .../LiveAuctionsDisclosureTriangleDown@2x.png | Bin .../Contents.json | 21 + .../LiveAuctionsDisclosureTriangleLeft@2x.png | Bin .../Contents.json | 21 + ...LiveAuctionsDisclosureTriangleRight@2x.png | Bin .../Contents.json | 21 + .../LiveAuctionsDisclosureTriangleUp@2x.png | Bin .../Contents.json | 21 + .../LiveAuctionsMaxBidMinus@2x.png | Bin .../Contents.json | 21 + .../liveAuctionsMaxBidPlus.png | Bin .../chat_icon.imageset/Chat_Icon.png | Bin .../chat_icon.imageset/Contents.json | 21 + .../info_icon.imageset/Contents.json | 21 + .../info_icon.imageset/Info_Icon.png | Bin .../Contents.json | 21 + .../live_auction_bid_hammer@2x.png | Bin .../Contents.json | 21 + .../live_auction_bid_orangey@2x.png | Bin .../Contents.json | 21 + .../live_auction_bid_warning_yellow@2x.png | Bin .../Contents.json | 21 + .../lot_bidder_hammer_white.png | Bin .../lot_bidders_info.imageset/Contents.json | 21 + .../lot_bidders_info.png | Bin .../lot_lot_info.imageset/Contents.json | 21 + .../lot_lot_info.imageset/lot_lot_info.png | Bin .../lot_time_info.imageset/Contents.json | 21 + .../lot_time_info.imageset/lot_time_info.png | Bin .../lot_watchers_info.imageset/Contents.json | 21 + .../lot_watchers_info.png | Bin .../lots_icon.imageset/Contents.json | 21 + .../lots_icon.imageset/Lots_Icon.png | Bin .../LiveAuctionEventViewModel.swift | 0 .../ViewModels/LiveAuctionLotViewModel.swift | 0 .../ViewModels/LiveAuctionViewModel.swift | 0 .../AuctionLotMetadataStackScrollView.swift | 0 .../Views/LiveAuctionBiddingViewModel.swift | 0 .../Views/LiveAuctionCurrentLotView.swift | 0 ...eAuctionFancyLotCollectionViewLayout.swift | 0 ...veAuctionLotCollectionViewDataSource.swift | 0 ...ionLotCollectionViewLayoutAttributes.swift | 0 ...veAuctionLotCollectionViewLayoutType.swift | 0 ...iveAuctionLotImageCollectionViewCell.swift | 0 .../Views/LiveAuctionToolbarView.swift | 0 .../Views/LiveBidProgressOverlayView.swift | 0 .../Views/SaleOnHoldOverlayView.swift | 0 .../Live_Auctions/Views/SaleStatusView.swift | 0 .../Views/SimpleProgressView.swift | 0 .../ARSignUpActiveUserViewController.xib | 0 .../Map/AREigenMapContainerViewController.h | 0 .../Map/AREigenMapContainerViewController.m | 0 .../SerifModalWebNavigationController.swift | 0 .../View_Controllers/Util/ARBackButton.h | 0 .../View_Controllers/Util/ARBackButton.m | 0 .../View_Controllers/Util/ARFeedImageLoader.h | 0 .../View_Controllers/Util/ARFeedImageLoader.m | 0 .../View_Controllers/Util/ARFileUtils.h | 0 .../View_Controllers/Util/ARFileUtils.m | 0 .../Util/ARMenuAwareViewController.h | 0 .../Util/ARNavigationController.h | 0 .../Util/ARNavigationController.m | 1 - .../Util/ARScrollNavigationChief.h | 0 .../Util/ARScrollNavigationChief.m | 0 .../Util/ARStandardDateFormatter.h | 0 .../Util/ARStandardDateFormatter.m | 0 .../Util/ARTwoWayDictionaryTransformer.h | 0 .../Util/ARTwoWayDictionaryTransformer.m | 0 .../Util/ARValueTransformer.h | 0 .../Util/ARValueTransformer.m | 0 .../Emumerations/UIApplicationStateEnum.h | 0 .../Emumerations/UIApplicationStateEnum.m | 0 .../Util/Errors/ARNetworkErrorManager.h | 0 .../Util/Errors/ARNetworkErrorManager.m | 4 +- .../Logging/ARHTTPRequestOperationLogger.h | 0 .../Logging/ARHTTPRequestOperationLogger.m | 0 .../Util/Logging/ARLogFormatter.h | 0 .../Util/Logging/ARLogFormatter.m | 0 .../View_Controllers/Util/Logging/ARLogger.h | 0 .../View_Controllers/Util/Logging/ARLogger.m | 0 .../Util/Sharing/ARImageItemProvider.h | 0 .../Util/Sharing/ARImageItemProvider.m | 0 .../Util/Sharing/ARMessageItemProvider.h | 0 .../Util/Sharing/ARMessageItemProvider.m | 0 .../Util/Sharing/ARSharingController.h | 0 .../Util/Sharing/ARSharingController.m | 6 +- .../Util/Sharing/ARURLItemProvider.h | 0 .../Util/Sharing/ARURLItemProvider.m | 0 ...iewController+InnermostTopViewController.h | 0 ...iewController+InnermostTopViewController.m | 0 .../ARAuctionWebViewController.h | 0 .../ARAuctionWebViewController.m | 0 .../ARExternalWebBrowserViewController.h | 0 .../ARExternalWebBrowserViewController.m | 4 +- .../ARInternalMobileWebViewController.h | 0 .../ARInternalMobileWebViewController.m | 0 .../Web_Browsing/ARInternalShareValidator.h | 0 .../Web_Browsing/ARInternalShareValidator.m | 0 .../live_auctions_socket.json | 236 +- .../live_auctions_static.json | 0 {Artsy => ios/Artsy}/Views/ARCountdownView.h | 0 {Artsy => ios/Artsy}/Views/ARCountdownView.m | 0 .../Views/Auction/AuctionTitleView.swift | 0 .../Views/Auction/SaleArtworkViewModel.swift | 0 .../Views/Auction/SaleAuctionStatus.swift | 0 .../Artsy}/Views/Auction/SaleViewModel.swift | 0 .../Artsy}/Views/AuctionCircularButtons.swift | 0 .../Artsy}/Views/AuctionColors.swift | 0 .../Artsy}/Views/Core/TextStack.swift | 0 .../Views/Notifications/ARNotificationView.h | 0 .../Views/Notifications/ARNotificationView.m | 0 .../Artsy}/Views/RefinableType.swift | 0 .../Views/Styled_Subclasses/ARTextView.h | 0 .../Views/Styled_Subclasses/ARTextView.m | 0 .../Styled_Subclasses/Buttons/ARBidButton.h | 0 .../Styled_Subclasses/Buttons/ARBidButton.m | 0 .../Buttons/ARNavigationButton.h | 0 .../Buttons/ARNavigationButton.m | 0 .../Buttons/ARNvagiationButton+Swift.swift | 0 .../Styled_Subclasses/StyledSubclasses.h | 0 .../Views/Utilities/ARCustomEigenLabels.h | 0 .../Views/Utilities/ARCustomEigenLabels.m | 0 .../Artsy}/Views/Utilities/AROfflineView.h | 0 .../Artsy}/Views/Utilities/AROfflineView.m | 0 .../Views/Utilities/ARReusableLoadingView.h | 0 .../Views/Utilities/ARReusableLoadingView.m | 0 .../Artsy}/Views/Utilities/ARSeparatorViews.h | 0 .../Artsy}/Views/Utilities/ARSeparatorViews.m | 0 .../Views/Utilities/ARWhitespaceGobbler.h | 0 .../Views/Utilities/ARWhitespaceGobbler.m | 0 ios/Artsy/fonts/.gitkeep | 0 ios/Artsy/fonts/Unica77LL-Italic.otf | Bin 0 -> 62760 bytes ios/Artsy/fonts/Unica77LL-Medium.otf | Bin 0 -> 61080 bytes ios/Artsy/fonts/Unica77LL-MediumItalic.otf | Bin 0 -> 61436 bytes ios/Artsy/fonts/Unica77LL-Regular.otf | Bin 0 -> 62000 bytes .../ArtsyStickers}/Info.plist | 20 +- .../ArtsyStickers}/LICENSE.md | 0 .../Stickers.xcassets/Contents.json | 0 .../Adam from Creation of Adam.png | Bin .../Contents.json | 9 + .../Angel from The Holy Family.png | Bin .../Contents.json | 9 + .../Sticker Pack.stickerpack/Contents.json | 9 + .../Contents.json | 9 + ...rom Still Life with Milk Jug and Fruit.png | Bin .../Contents.json | 9 + .../Girl with a Pearl Earring.png | Bin .../Contents.json | 9 + .../God from Creation of Adam (2).png | Bin .../Contents.json | 9 + .../Jesus from Ecce Homo.png | Bin .../Miniature Skeleton.sticker/Contents.json | 9 + .../Miniature Skeleton.png | Bin .../Contents.json | 9 + ...attle in the Shape of a Recumbent Lion.png | Bin .../Contents.json | 9 + ... from Saint Mary Salome and Her Family.png | Bin .../Contents.json | 9 + ...ed Buddha in the Attitude of Preaching.png | Bin .../The Vexed Man.sticker/Contents.json | 9 + .../The Vexed Man.sticker/The Vexed Man.png | Bin .../Contents.json | 9 + ...rom Wheatstacks, Snow Effect, Morning .png | Bin .../Contents.json | 9 + .../Woman from L'Esperence.png | Bin .../Contents.json | 67 + .../Messages-App-Store-1024x768pt.png | Bin .../Messages-iPad-67x50pt@2x.png | Bin .../Messages-iPad-Pro-74x55pt@2x.png | Bin .../Messages-iPhone-60x45pt@2x.png | Bin .../Messages-iPhone-60x45pt@3x-1.png | Bin .../Messages27x20pt@2x.png | Bin .../Messages27x20pt@3x.png | Bin .../Messages32x24pt@2x.png | Bin .../Messages32x24pt@3x.png | Bin .../ArtsyTests}/.swiftlint.yml | 0 .../ARAppActivityContinuationDelegateTests.m | 0 .../ARAppNotificationsDelegateTests.m | 0 .../App_Tests/ARWebViewCacheHostSpec.m | 0 .../ArtsyWidget/ArtworkTests.swift | 0 .../ArtsyWidget/ScheduleTests.swift | 0 .../Extensions/ARExpectaExtensions.h | 0 .../Extensions/ARExpectaExtensions.m | 0 .../ARTestImageCachingFunctions.swift | 0 .../EXPMatcher+UINavigationController.h | 0 .../EXPMatcher+UINavigationController.m | 0 .../Extensions/MutableNSURLResponse.h | 0 .../Extensions/MutableNSURLResponse.m | 0 .../Extensions/OCMArg+ClassChecker.h | 0 .../Extensions/OCMArg+ClassChecker.m | 0 .../Extensions/UIViewController+Testing.h | 0 .../Extensions/UIViewController+Testing.m | 0 .../Extensions/UIViewController+Tests.swift | 0 .../ArtsyTests}/Model_Tests/ARImageTests.m | 0 .../ArtsyTests}/Model_Tests/ArtworkTests.m | 0 .../Model_Tests/Data/Artwork_v0.data | Bin .../Model_Tests/Data/Artwork_v1.data | Bin .../ArtsyTests}/Model_Tests/Data/User_v0.data | Bin .../ArtsyTests}/Model_Tests/Data/User_v1.data | Bin .../ArtsyTests}/Model_Tests/FairTests.m | 0 .../ArtsyTests}/Model_Tests/PartnerTests.m | 0 .../ArtsyTests}/Model_Tests/ProfileTests.m | 0 .../Model_Tests/SaleArtworkTests.m | 0 .../ArtsyTests}/Model_Tests/SaleTests.m | 0 .../ArtsyTests}/Model_Tests/SystemTimeTests.m | 0 .../ArtsyTests}/Model_Tests/UserTests.m | 0 .../AFHTTPRequestOperationJSONTests.m | 0 .../API_Modules/ARUserManagerTests.m | 0 .../API_Modules/ArtsyAPI+ErrorHandlers.m | 0 .../API_Modules/ArtsyAPI+GraphQLTests.m | 0 .../API_Modules/ArtsyAPI+PrivateTests.m | 0 .../API_Modules/ArtsyAPI+SystemTimeTests.m | 0 .../Networking_Tests/ARRouterTests.m | 0 .../Networking_Tests/ARSystemTimeTests.m | 0 .../LiveAuctionLotViewModelSpecs.swift | 0 .../LiveAuctionSocketCommunicatorSpec.swift | 0 .../LiveAuctionStateReconcilerSpec.swift | 0 .../LiveAuctionStaticDataFetcherSpec.swift | 0 .../ARAnimatedTickViewSpec/deselected@3x.png | Bin .../ARAnimatedTickViewSpec/selected@3x.png | Bin .../defaults_to_showing_info@3x.png | Bin ...ight_info_when_a_wall_is_registered@3x.png | Bin ...ght_info_when_an_artwork_was_placed@3x.png | Bin ...es_priority_over_registered_bidding@3x.png | Bin .../testBiddingClosedState@3x.png | Bin .../testBiddingOpenState@3x.png | Bin .../testBiddingRegistrationClosed@3x.png | Bin .../testBiddingRegistrationPending@3x.png | Bin .../testRegisterForceBidState@3x.png | Bin .../ARBidButtonSpec/testRegisterState@3x.png | Bin .../testRegisteredState@3x.png | Bin ...eight_after_expansion_looks_correct@3x.png | Bin ...ight_before_expansion_looks_correct@3x.png | Bin ...than_collapsed_height_looks_correct@3x.png | Bin .../looks_good_with_a_header@3x.png | Bin .../looks_ok_by_default@3x.png | Bin .../looks_ok_on_a_regular_size_class@3x.png | Bin ...hen_configured_with_a_custom_colour@3x.png | Bin .../ARWarningView_looks_correct@3x.png | Bin ...ew_view_controller_displays_artwork@3x.png | Bin ...t_if_it_sticks_out_50_of_its_height@3x.png | Bin ..._rest_by_more_than_50_of_its_height@3x.png | Bin ...t_if_it_sticks_out_50_of_its_height@3x.png | Bin ..._rest_by_more_than_50_of_its_height@3x.png | Bin .../truncates_long_titles@3x.png | Bin ...rder_really_long_title_and_subtitle@3x.png | Bin ...tton_really_long_title_and_subtitle@3x.png | Bin .../navigationButtonWithTitle@3x.png | Bin ...vigationButtonWithTitleAnd5pxBorder@3x.png | Bin ...avigationButtonWithTitleAndNoBorder@3x.png | Bin ...avigationButtonWithTitleAndSubtitle@3x.png | Bin ...tonWithTitleAndSubtitleAnd5pxBorder@3x.png | Bin ...ttonWithTitleAndSubtitleAndNoBorder@3x.png | Bin .../serifNavigationButtonWithTitle@3x.png | Bin ...avigationButtonWithTitleAndSubtitle@3x.png | Bin ...isuals_should_be_empty_for_a_rootVC@3x.png | Bin ...back_button_with_2_view_controllers@3x.png | Bin .../looks_good_with_compact_cells@3x.png | Bin .../looks_good_with_regular_cells@3x.png | Bin .../_handles_the_back_button_correctly@3x.png | Bin ...e_navigation_close_button_correctly@3x.png | Bin .../looks correct as ipad@3x.png | Bin .../looks correct as iphone@3x.png | Bin ...ooks_right_with_multiple_paragraphs@3x.png | Bin ...osed_sale__shows_the_sale_is_closed@3x.png | Bin .../looks_as_expected_when_small@3x.png | Bin .../looks_right_when_expanded@3x.png | Bin ...th_a_logged_out_registration_status@3x.png | Bin ..._not_registered_registration_status@3x.png | Bin ...th_a_registered_registration_status@3x.png | Bin ...ser_requiring_identity_verification@3x.png | Bin ..._has_already_been_identity_verified@3x.png | Bin ...w__looks_good_without_a_info_button@3x.png | Bin ..._good_without_a_registration_status@3x.png | Bin ...th_a_logged_out_registration_status@3x.png | Bin ..._not_registered_registration_status@3x.png | Bin ...th_a_registered_registration_status@3x.png | Bin ...ser_requiring_identity_verification@3x.png | Bin ..._has_already_been_identity_verified@3x.png | Bin ...w__looks_good_without_a_info_button@3x.png | Bin ..._good_without_a_registration_status@3x.png | Bin ...th_long_names_with_no_sale_artworks@3x.png | Bin ...ming_auctions_with_no_sale_artworks@3x.png | Bin ...ings__looks_good_with_lot_standings@3x.png | Bin ..._changes_before_animation_completes@3x.png | Bin .../has_valid_snapshot_biddable@3x.png | Bin .../has_valid_snapshot_closed@3x.png | Bin .../has_valid_snapshot_failed@3x.png | Bin ...shot_highest_bidder__and_can_re_bid@3x.png | Bin .../has_valid_snapshot_in_progress@3x.png | Bin .../has_valid_snapshot_max_bidder@3x.png | Bin .../has_valid_snapshot_not_max_bidder@3x.png | Bin .../has_valid_snapshot_passed@3x.png | Bin ..._valid_snapshot_registration_closed@3x.png | Bin ...valid_snapshot_registration_pending@3x.png | Bin ...alid_snapshot_registration_required@3x.png | Bin .../has_valid_snapshot_sold@3x.png | Bin .../has_valid_snapshot_upcoming@3x.png | Bin .../has_valid_snapshot_waiting@3x.png | Bin ..._waiting_on_auctioneer_confirmation@3x.png | Bin ...oks_right_for_a_cancelled_floor_bid@3x.png | Bin .../cells__looks_right_for_bid@3x.png | Bin .../cells__looks_right_for_closed@3x.png | Bin ...cells__looks_right_for_closed_state@3x.png | Bin ...cells__looks_right_for_fair_warning@3x.png | Bin .../cells__looks_right_for_final_call@3x.png | Bin .../cells__looks_right_for_floor_bid@3x.png | Bin .../cells__looks_right_for_open@3x.png | Bin .../looks_good_compact@3x.png | Bin .../normal_size__looks_good_by_default@3x.png | Bin ...looks_good_when_scrolled_back_a_bit@3x.png | Bin ...looks_good_when_scrolled_back_a_lot@3x.png | Bin ...ks_good_when_scrolled_forward_a_bit@3x.png | Bin ...ks_good_when_scrolled_forward_a_lot@3x.png | Bin .../looks_good_by_default@3x.png | Bin .../looks_good_by_default@3x.png | Bin ...looks_good_when_stuck_to_the_bottom@3x.png | Bin .../looks_good_when_stuck_to_the_top@3x.png | Bin .../looks_good_by_default@3x.png | Bin .../shows_the_selected_lot@3x.png | Bin ...ions_lot_set__looks_good_by_default@3x.png | Bin ...ions_lot_set__looks_good_by_default@3x.png | Bin ...ions_lot_set__looks_good_by_default@3x.png | Bin ...ll_to_action_when_auction_is_closed@3x.png | Bin ...__handles_updates_to_number_of_bids@3x.png | Bin ...snapshots__looks_good_for_live_lots@3x.png | Bin ...r_lots_with_a__not_yet_met__reserve@3x.png | Bin ...ks_good_for_lots_with_a_met_reserve@3x.png | Bin ...s__looks_good_for_out_of_order_lots@3x.png | Bin ...apshots__looks_good_for_passed_lots@3x.png | Bin ...snapshots__looks_good_for_sold_lots@3x.png | Bin ...shots__looks_good_for_upcoming_lots@3x.png | Bin ...oming_lots_that_the_user_is_winning@3x.png | Bin .../snapshots__looks_good_for_won_lots@3x.png | Bin ...hen_its_lot_becomes_the_current_lot@3x.png | Bin .../handles_splitting_in_an_iPad@3x.png | Bin .../looks_good_by_default@3x.png | Bin ...ected_screen_when_socket_reconnects@3x.png | Bin ...disconnect_screen_when_socket_fails@3x.png | Bin ...error_screen_when_static_data_fails@3x.png | Bin ...ct_screen_when_operator_disconnects@3x.png | Bin ...ted_screen_when_operator_reconnects@3x.png | Bin ...__looks_good_by_default__looks_good@3x.png | Bin ...__looks_good_by_default__looks_good@3x.png | Bin ...et_buttons_when_options_are_changed@3x.png | Bin .../looks_good_by_default@3x.png | Bin ...good_by_when_there_are_no_estimates@3x.png | Bin ...ed_with_options_and_changed_options@3x.png | Bin .../looks_good_when_reset@3x.png | Bin ...ooks_good_with_gene_refine_settings@3x.png | Bin ..._gene_refine_settings_showing_price@3x.png | Bin .../initial_message@3x.png | Bin .../looks_right_by_default_on_iPad@3x.png | Bin .../looks_right_by_default_on_iPhone@3x.png | Bin ...right_with_a_custom_message_on_iPad@3x.png | Bin ...ght_with_a_custom_message_on_iPhone@3x.png | Bin .../updated_message@3x.png | Bin .../looks_like_the_API_spec@3x.png | Bin .../ArtsyTests}/Stubs/ARUserManager+Stubs.h | 0 .../ArtsyTests}/Stubs/ARUserManager+Stubs.m | 0 .../ArtsyTests}/Stubs/ArtsyOHHTTPAPI.h | 0 .../ArtsyTests}/Stubs/ArtsyOHHTTPAPI.m | 0 .../ArtsyTests}/Stubs/Artwork+Extensions.h | 0 .../ArtsyTests}/Stubs/Artwork+Extensions.m | 0 .../ArtsyTests}/Stubs/Bid+Extensions.h | 0 .../ArtsyTests}/Stubs/Bid+Extensions.m | 0 .../ArtsyTests}/Stubs/Extensions.h | 0 .../ArtsyTests}/Stubs/OHHTTPStubs+Artsy.h | 0 .../ArtsyTests}/Stubs/OHHTTPStubs+Artsy.m | 0 .../ArtsyTests}/Stubs/Sale+Extensions.h | 0 .../ArtsyTests}/Stubs/Sale+Extensions.m | 0 .../Stubs/SaleArtwork+Extensions.h | 0 .../Stubs/SaleArtwork+Extensions.m | 0 .../ArtsyTests}/Stubs/Show+Extensions.h | 0 .../ArtsyTests}/Stubs/Show+Extensions.m | 0 .../Supporting_Files/ARTestContext.h | 0 .../Supporting_Files/ARTestContext.m | 0 .../Supporting_Files/ARTestHelper.h | 0 .../Supporting_Files/ARTestHelper.m | 0 .../Artsy-Tests-Bridging-Header.h | 0 .../Supporting_Files/Artsy_Tests-Info.plist | 0 .../Supporting_Files/Artsy_Tests-Prefix.pch | 0 .../en.lproj/InfoPlist.strings | 0 .../ArtsyTests}/Supporting_Files/stub.jpg | Bin .../Supporting_Files/stubbed_image.png | Bin .../ArtsyTests}/Util_Tests/ARDefaultsTests.m | 0 .../UIApplicationStateEnumTests.m | 0 .../Util_Tests/NSDate+RangeTests.m | 0 .../Sharing_Tests/ARImageItemProviderTests.m | 0 .../ARMessageItemProviderTests.m | 0 .../Sharing_Tests/ARSharingControllerTests.m | 0 .../Sharing_Tests/ARURLItemProviderTests.m | 0 ...ontroller_InnermostTopViewControllerSpec.m | 0 .../ARAugmentRealitySetupViewControllerSpec.m | 0 .../ARVIR/ARAugmentedRealityConfigSpec.m | 0 .../ARVIR/ARAugmentedVIRViewControllerSpec.m | 0 .../ARVIR/greyscaleImage.jpg | Bin .../Auction/AuctionBiddersNetworkModel.swift | 0 ...uctionInformationViewControllerTests.swift | 0 .../AuctionSaleNetworkModelTests.swift | 0 .../Auction/SaleArtworkViewModelTests.swift | 0 .../Auction/SaleViewModelTests.swift | 0 ...ctionLotMetadataStackScrollViewTests.swift | 0 .../Auction/Views/TextStackTests.swift | 0 .../ARSerifNavigationViewControllerSpec.m | 0 .../ARNavigationButtonsViewControllerTests.m | 0 ...ionCurrentLotCTAPositionManagerTests.swift | 0 .../Live_Auction/BiddingIncrementSpecs.swift | 0 .../Live_Auction/FakeSalesPerson.swift | 0 .../LiveAuctionBidButtonTests.swift | 0 .../LiveAuctionBidViewControllerTests.swift | 0 .../LiveAuctionBiddingViewModelTests.swift | 0 ...ionFancyLotCollectionViewLayoutTests.swift | 0 .../LiveAuctionLoadingViewSpec.swift | 0 ...nLotBidHistoryGestureControllerTests.swift | 0 ...tStickyCellCollectionViewLayoutTests.swift | 0 ...iveAuctionLotListViewControllerTests.swift | 0 ...LiveAuctionLotSetViewControllerTests.swift | 0 .../LiveAuctionLotViewControllerTests.swift | 0 .../LiveAuctionViewControllerTests.swift | 0 .../Live_Auction/LiveSalesPersonSpecs.swift | 0 .../SaleOnHoldOverlayViewTests.swift | 0 .../Util/ARFileUtilsTests.m | 0 .../Util/ARNavigationControllerTests.m | 0 .../Util/ARValueTransformerTests.m | 0 .../ARAuctionWebViewControllerTests.m | 0 .../ARExternalWebBrowserViewControllerTests.m | 0 .../ARInternalMobileWebViewControllerTests.m | 0 .../ARInternalShareValidatorTests.m | 0 .../View_Tests/ARAnimatedTickViewTest.m | 0 .../View_Tests/ARCustomEigenLabelTests.m | 0 .../ArtsyTests}/View_Tests/ARTextViewTests.m | 0 .../View_Tests/Buttons/ARBidButtonTests.m | 0 .../Buttons/ARNavigationButtonTests.m | 0 .../Buttons/NavigationButtonTests.swift | 0 .../ORStackViewArtsyCategoriesTests.m | 0 .../ArtsyWidget}/ArtsyWidgets.swift | 0 .../AccentColor.colorset/Contents.json | 11 + .../AppIcon.appiconset/Contents.json | 98 + .../BlackArtsyLogo.imageset/Contents.json | 23 + .../android-chrome-512x512-1.png | Bin .../android-chrome-512x512-2.png | Bin .../android-chrome-512x512.png | Bin ios/ArtsyWidget/Assets.xcassets/Contents.json | 6 + .../Contents.json | 0 .../PrimaryArticleImage.imageset/larger-1.jpg | Bin .../PrimaryArticleImage.imageset/larger-2.jpg | Bin .../PrimaryArticleImage.imageset/larger-3.jpg | Bin .../Contents.json | 23 + .../PrimaryArtworkImage.imageset/larger-1.jpg | Bin .../PrimaryArtworkImage.imageset/larger-2.jpg | Bin .../PrimaryArtworkImage.imageset/larger.jpg | Bin .../Contents.json | 0 .../larger-3.jpg | Bin .../larger-4.jpg | Bin .../larger-5.jpg | Bin .../Contents.json | 23 + .../larger-3.jpg | Bin .../larger-4.jpg | Bin .../larger-5.jpg | Bin .../Contents.json | 0 ...YMuMETC0VYbgsJR4g_New+Collector+copy-1.jpg | Bin ...YMuMETC0VYbgsJR4g_New+Collector+copy-2.jpg | Bin ...T0YMuMETC0VYbgsJR4g_New+Collector+copy.jpg | Bin .../Contents.json | 23 + .../larger-1.jpg | Bin .../larger-2.jpg | Bin .../larger-3.jpg | Bin .../Contents.json | 0 .../larger-2.jpg | Bin .../larger-3.jpg | Bin .../larger-4.jpg | Bin .../Contents.json | 23 + .../larger-2.jpg | Bin .../larger-3.jpg | Bin .../larger-4.jpg | Bin .../WhiteArtsyLogo.imageset/Contents.json | 23 + .../white-artsy-logo-1.png | Bin .../white-artsy-logo-2.png | Bin .../white-artsy-logo.png | Bin .../WidgetBackground.colorset/Contents.json | 20 + .../FeaturedArtworks+Entry.swift | 0 .../FeaturedArtworks+LargeView.swift | 0 .../FeaturedArtworks+MediumView.swift | 0 .../FeaturedArtworks+Provider.swift | 0 .../FeaturedArtworks+SmallView.swift | 0 .../FeaturedArtworks+Timeline.swift | 0 .../FeaturedArtworks+View.swift | 0 .../FeaturedArtworks+Widget.swift | 0 .../FeaturedArtworks/FeaturedArtworks.swift | 0 .../ArtsyWidget}/Fixtures.swift | 0 .../FullBleed/FullBleed+Entry.swift | 0 .../FullBleed/FullBleed+Provider.swift | 0 .../FullBleed/FullBleed+Timeline.swift | 0 .../FullBleed/FullBleed+View.swift | 0 .../FullBleed/FullBleed+Widget.swift | 0 .../ArtsyWidget}/FullBleed/FullBleed.swift | 0 {ArtsyWidget => ios/ArtsyWidget}/Info.plist | 4 + .../LatestArticles/LatestArticles+Entry.swift | 0 .../LatestArticles+LargeView.swift | 0 .../LatestArticles+MediumView.swift | 0 .../LatestArticles+Provider.swift | 0 .../LatestArticles+SmallView.swift | 0 .../LatestArticles+Timeline.swift | 0 .../LatestArticles/LatestArticles+View.swift | 0 .../LatestArticles+Widget.swift | 0 .../LatestArticles/LatestArticles.swift | 0 .../ArtsyWidget}/Models/Article.swift | 0 .../ArtsyWidget}/Models/ArticleParser.swift | 0 .../ArtsyWidget}/Models/ArticleStore.swift | 0 .../ArtsyWidget}/Models/Artist.swift | 0 .../ArtsyWidget}/Models/Artwork.swift | 0 .../ArtsyWidget}/Models/ArtworkImage.swift | 0 .../ArtsyWidget}/Models/ArtworkStore.swift | 0 .../ArtsyWidget}/Models/VolleyClient.swift | 0 .../ArtsyWidget}/Models/VolleyMetric.swift | 0 .../ArtsyWidget}/Models/VolleyPayload.swift | 0 .../ArtsyWidget}/Shared/ImageUrl.swift | 0 .../ArtsyWidget}/Shared/PrimaryText.swift | 0 .../ArtsyWidget}/Shared/Schedule.swift | 0 .../ArtsyWidget}/Shared/SecondaryText.swift | 0 .../ArtsyWidget}/Shared/WidgetUrl.swift | 0 .../BrazePushServiceExtension}/Info.plist | 4 + .../NotificationService.swift | 0 ios/Podfile | 203 + Podfile.lock => ios/Podfile.lock | 346 +- package.json | 19 +- patches/react-native-config+1.5.0.patch | 9 +- platform-deltas.txt | 27 + scripts/build-for-tests-ios | 1 - scripts/doctor.js | 10 +- scripts/download-assets | 2 +- scripts/download-fonts | 3 +- scripts/post-pod-install.rb | 2 +- scripts/set_packager_host.sh | 2 +- scripts/setup-distribute-macos | 2 +- scripts/setup-env-for-ci | 1 - scripts/source-for-bash-env | 5 +- scripts/start_packager.sh | 8 - scripts/update-echo | 4 +- src/app/{AndroidApp.tsx => App.tsx} | 20 +- src/app/AppRegistry.tsx | 145 +- .../Artist/ArtistAbout/ArtistAbout.tests.tsx | 19 +- .../Artist/ArtistConsignButton.tests.tsx | 23 +- src/app/Components/NativeTabs.tsx | 17 - src/app/Components/Toast/ToastComponent.tsx | 9 +- .../NativeModules/ARScreenPresenterModule.tsx | 22 +- src/app/NativeModules/Admin.tsx | 21 + src/app/NativeModules/ArtsyNativeModule.tsx | 1 + src/app/NativeModules/CityGuideView.tsx | 9 + src/app/NativeModules/LegacyNativeModules.tsx | 162 +- src/app/NativeModules/LiveAuctionView.tsx | 26 + src/app/NativeModules/presentEmailComposer.ts | 7 +- src/app/Scenes/Artist/Artist.tests.tsx | 5 +- src/app/Scenes/Artwork/Artwork.tests.tsx | 15 +- .../Components/ArtworkActions.tests.tsx | 1 + .../Artwork/Components/ArtworkActions.tsx | 2 +- .../ArtworkExtraLinks/index.tests.tsx | 42 +- .../CommercialInformation.tests.tsx | 55 +- .../Scenes/BottomTabs/BottomTabs.tests.tsx | 5 +- src/app/Scenes/BottomTabs/BottomTabs.tsx | 4 +- .../BottomTabs/BottomTabsButton.tests.tsx | 5 +- src/app/Scenes/BottomTabs/BottomTabsModel.ts | 7 - .../BottomTabs/BottomTabsNavigator.tests.tsx | 43 +- .../Scenes/BottomTabs/BottomTabsNavigator.tsx | 111 +- .../Components/Conversations/Message.tsx | 2 +- .../PrivacyRequest/PrivacyRequest.tests.tsx | 4 +- .../Scenes/ViewingRoom/ViewingRoomArtwork.tsx | 2 +- src/app/navigation/NavStack.tsx | 8 +- src/app/navigation/navigate.tests.tsx | 30 +- src/app/navigation/navigate.ts | 9 +- src/app/store/AuthModel.tests.ts | 2 + src/app/store/GlobalStore.tsx | 10 +- src/app/store/NativeModel.ts | 6 + src/app/store/config/EchoModel.tests.tsx | 1 + src/app/utils/AdminMenuWrapper.tsx | 8 +- src/app/utils/PushNotification.ts | 3 - src/app/utils/jsonFiles.ts | 2 +- src/app/utils/loggers.ts | 16 +- src/app/utils/useInitialNotification.ts | 3 +- src/setupJest.ts | 91 +- src/storybook/index.js | 9 +- storybook.json | 3 - yarn.lock | 83 +- 1049 files changed, 7802 insertions(+), 8396 deletions(-) delete mode 100644 Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Adam from Creation of Adam-1.sticker/Contents.json delete mode 100644 Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Angel from The Holy Family.sticker/Contents.json delete mode 100644 Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Contents.json delete mode 100644 Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Fruit Bowl from Still Life with Milk Jug and Fruit.sticker/Contents.json delete mode 100644 Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Girl with a Pearl Earring.sticker/Contents.json delete mode 100644 Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/God from Creation of Adam.sticker/Contents.json delete mode 100644 Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Jesus from Ecce Homo.sticker/Contents.json delete mode 100644 Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Miniature Skeleton.sticker/Contents.json delete mode 100644 Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Rattle in the Shape of a Recumbent Lion.sticker/Contents.json delete mode 100644 Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Raven from Saint Mary Salome and Her Family.sticker/Contents.json delete mode 100644 Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Seated Buddha in the Attitude of Preaching.sticker/Contents.json delete mode 100644 Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/The Vexed Man.sticker/Contents.json delete mode 100644 Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Wheatstack from Wheatstacks, Snow Effect, Morning .sticker/Contents.json delete mode 100644 Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Woman from L'Esperence.sticker/Contents.json delete mode 100644 Artsy Stickers/Stickers.xcassets/iMessage App Icon.stickersiconset/Contents.json delete mode 100644 Artsy.xcodeproj/project.pbxproj delete mode 100644 Artsy.xcodeproj/project.xcworkspace/contents.xcworkspacedata delete mode 100644 Artsy/App/ARScreenPresenterModule.h delete mode 100644 Artsy/App/ARScreenPresenterModule.m delete mode 100644 Artsy/Constants/ARDefaults+SiteFeatures.h delete mode 100644 Artsy/Constants/ARDefaults+SiteFeatures.m delete mode 100644 Artsy/Eigen.playground/playground.xcworkspace/contents.xcworkspacedata delete mode 100644 Artsy/Resources/Images.xcassets/AppIcon.appiconset/Contents.json delete mode 100644 Artsy/View_Controllers/ARNativeTabsManager.h delete mode 100644 Artsy/View_Controllers/ARNativeTabsManager.m delete mode 100644 Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/Contents.json delete mode 100644 Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionButtonNormalBackground.imageset/Contents.json delete mode 100644 Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionButtonNormalHighlighted.imageset/Contents.json delete mode 100644 Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionMaxBidIcon.imageset/Contents.json delete mode 100644 Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionOutbidWarningIcon.imageset/Contents.json delete mode 100644 Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionSpinner.imageset/Contents.json delete mode 100644 Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsDisclosureTriangleDown.imageset/Contents.json delete mode 100644 Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsDisclosureTriangleLeft.imageset/Contents.json delete mode 100644 Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsDisclosureTriangleRight.imageset/Contents.json delete mode 100644 Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsDisclosureTriangleUp.imageset/Contents.json delete mode 100644 Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsMaxBidMinus.imageset/Contents.json delete mode 100644 Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsMaxBidPlus.imageset/Contents.json delete mode 100644 Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/chat_icon.imageset/Contents.json delete mode 100644 Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/info_icon.imageset/Contents.json delete mode 100644 Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/live_auction_bid_hammer.imageset/Contents.json delete mode 100644 Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/live_auction_bid_warning_orange.imageset/Contents.json delete mode 100644 Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/live_auction_bid_warning_yellow.imageset/Contents.json delete mode 100644 Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lot_bidder_hammer_white.imageset/Contents.json delete mode 100644 Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lot_bidders_info.imageset/Contents.json delete mode 100644 Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lot_lot_info.imageset/Contents.json delete mode 100644 Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lot_time_info.imageset/Contents.json delete mode 100644 Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lot_watchers_info.imageset/Contents.json delete mode 100644 Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lots_icon.imageset/Contents.json delete mode 100644 ArtsyWidget/Assets.xcassets/AccentColor.colorset/Contents.json delete mode 100644 ArtsyWidget/Assets.xcassets/AppIcon.appiconset/Contents.json delete mode 100644 ArtsyWidget/Assets.xcassets/BlackArtsyLogo.imageset/Contents.json delete mode 100644 ArtsyWidget/Assets.xcassets/Contents.json delete mode 100644 ArtsyWidget/Assets.xcassets/PrimaryArtworkImage.imageset/Contents.json delete mode 100644 ArtsyWidget/Assets.xcassets/QuaternaryArtworkImage.imageset/Contents.json delete mode 100644 ArtsyWidget/Assets.xcassets/SecondaryArtworkImage.imageset/Contents.json delete mode 100644 ArtsyWidget/Assets.xcassets/TertiaryArtworkImage.imageset/Contents.json delete mode 100644 ArtsyWidget/Assets.xcassets/WhiteArtsyLogo.imageset/Contents.json delete mode 100644 ArtsyWidget/Assets.xcassets/WidgetBackground.colorset/Contents.json delete mode 100644 Artsy_Tests/App_Tests/ARAppDelegateSpec.m delete mode 100644 Artsy_Tests/App_Tests/ArtsyEchoTests.m delete mode 100644 Artsy_Tests/View_Controller_Tests/Artwork/ARLegacyArtworkViewControllerTests.m delete mode 100644 Artsy_Tests/View_Controller_Tests/Shows/ARSimpleShowFeedViewControllerSpec.m delete mode 100644 Podfile create mode 100644 index-common.js create mode 100644 ios/Artsy.xcodeproj/project.pbxproj rename Artsy.xcodeproj/xcshareddata/xcschemes/Artsy (Release build).xcscheme => ios/Artsy.xcodeproj/xcshareddata/xcschemes/Artsy (Release).xcscheme (65%) rename {Artsy.xcodeproj => ios/Artsy.xcodeproj}/xcshareddata/xcschemes/Artsy.xcscheme (78%) rename Artsy.xcodeproj/xcshareddata/xcschemes/Artsy Stickers.xcscheme => ios/Artsy.xcodeproj/xcshareddata/xcschemes/ArtsyStickers.xcscheme (75%) rename {Artsy.xcodeproj => ios/Artsy.xcodeproj}/xcshareddata/xcschemes/ArtsyWidgetExtension.xcscheme (81%) create mode 100644 ios/Artsy.xcodeproj/xcshareddata/xcschemes/BrazePushServiceExtension.xcscheme rename {Artsy.xcworkspace => ios/Artsy.xcworkspace}/contents.xcworkspacedata (100%) rename {Artsy => ios/Artsy}/.swiftlint.yml (100%) rename {Artsy => ios/Artsy}/App/ARAnalyticsConstants.h (100%) rename {Artsy => ios/Artsy}/App/ARAnalyticsConstants.m (100%) rename {Artsy => ios/Artsy}/App/ARAppActivityContinuationDelegate.h (100%) rename {Artsy => ios/Artsy}/App/ARAppActivityContinuationDelegate.m (100%) rename {Artsy => ios/Artsy}/App/ARAppDelegate+Analytics.h (100%) rename {Artsy => ios/Artsy}/App/ARAppDelegate+Analytics.m (100%) rename {Artsy => ios/Artsy}/App/ARAppDelegate+Echo.h (100%) rename {Artsy => ios/Artsy}/App/ARAppDelegate+Echo.m (100%) rename {Artsy => ios/Artsy}/App/ARAppDelegate+Emission.h (51%) rename {Artsy => ios/Artsy}/App/ARAppDelegate+Emission.m (96%) rename {Artsy => ios/Artsy}/App/ARAppDelegate.h (100%) rename {Artsy => ios/Artsy}/App/ARAppDelegate.m (94%) rename {Artsy => ios/Artsy}/App/ARAppNotificationsDelegate.h (100%) rename {Artsy => ios/Artsy}/App/ARAppNotificationsDelegate.m (100%) rename {Artsy => ios/Artsy}/App/ARAppStatus.h (100%) rename {Artsy => ios/Artsy}/App/ARAppStatus.m (100%) rename {Artsy => ios/Artsy}/App/ARApplicationShortcutItemDelegate.h (100%) rename {Artsy => ios/Artsy}/App/ARApplicationShortcutItemDelegate.m (100%) rename {Artsy => ios/Artsy}/App/ARFonts.h (100%) rename {Artsy => ios/Artsy}/App/ARMacros.h (100%) rename {Artsy => ios/Artsy}/App/ARModalViewController.h (100%) rename {Artsy => ios/Artsy}/App/ARModalViewController.m (100%) rename {Artsy => ios/Artsy}/App/AROptions.h (100%) rename {Artsy => ios/Artsy}/App/AROptions.m (100%) rename {Artsy => ios/Artsy}/App/ARTArtsyNativeModule.h (100%) rename {Artsy => ios/Artsy}/App/ARTArtsyNativeModule.m (100%) rename {Artsy => ios/Artsy}/App/ARUserActivity.h (100%) rename {Artsy => ios/Artsy}/App/ARUserActivity.m (100%) rename {Artsy => ios/Artsy}/App/ArtsyEcho.h (100%) rename {Artsy => ios/Artsy}/App/ArtsyEcho.m (100%) rename {Artsy => ios/Artsy}/App/SwiftExtensions.swift (100%) rename {Artsy => ios/Artsy}/App/main.m (100%) rename {Artsy => ios/Artsy}/App_Resources/Artsy-Info.plist (98%) rename {Artsy => ios/Artsy}/App_Resources/Artsy.Store.entitlements (100%) rename {Artsy => ios/Artsy}/App_Resources/Artsy.entitlements (100%) rename {Artsy => ios/Artsy}/App_Resources/Launch Screen.xib (89%) rename {Artsy => ios/Artsy}/App_Resources/en.lproj/InfoPlist.strings (100%) rename {Artsy => ios/Artsy}/Categories/AFNetworking/AFHTTPRequestOperation+JSON.h (100%) rename {Artsy => ios/Artsy}/Categories/AFNetworking/AFHTTPRequestOperation+JSON.m (100%) rename {Artsy => ios/Artsy}/Categories/Apple/Int+Metrification.swift (100%) rename {Artsy => ios/Artsy}/Categories/Apple/NSArray+Additions.h (100%) rename {Artsy => ios/Artsy}/Categories/Apple/NSArray+Additions.m (100%) rename {Artsy => ios/Artsy}/Categories/Apple/NSAttributedString+Additions.swift (100%) rename {Artsy => ios/Artsy}/Categories/Apple/NSDate+DateRange.h (100%) rename {Artsy => ios/Artsy}/Categories/Apple/NSDate+DateRange.m (100%) rename {Artsy => ios/Artsy}/Categories/Apple/NSDate+Util.h (100%) rename {Artsy => ios/Artsy}/Categories/Apple/NSDate+Util.m (100%) rename {Artsy => ios/Artsy}/Categories/Apple/NSKeyedUnarchiver+ErrorLogging.h (100%) rename {Artsy => ios/Artsy}/Categories/Apple/NSKeyedUnarchiver+ErrorLogging.m (100%) rename {Artsy => ios/Artsy}/Categories/Apple/NSString+StringBetweenStrings.h (100%) rename {Artsy => ios/Artsy}/Categories/Apple/NSString+StringBetweenStrings.m (100%) rename {Artsy => ios/Artsy}/Categories/Apple/UIDevice-Hardware.h (100%) rename {Artsy => ios/Artsy}/Categories/Apple/UIDevice-Hardware.m (100%) rename {Artsy => ios/Artsy}/Categories/Apple/UIImage+ImageFromColor.h (100%) rename {Artsy => ios/Artsy}/Categories/Apple/UIImage+ImageFromColor.m (100%) rename {Artsy => ios/Artsy}/Categories/Apple/UIImageView+AsyncImageLoading.h (100%) rename {Artsy => ios/Artsy}/Categories/Apple/UIImageView+AsyncImageLoading.m (100%) rename {Artsy => ios/Artsy}/Categories/Apple/UILabel+Styling.swift (100%) rename {Artsy => ios/Artsy}/Categories/Apple/UITableViewController+Animations.swift (100%) rename {Artsy => ios/Artsy}/Categories/Apple/UIView+HitTestExpansion.h (100%) rename {Artsy => ios/Artsy}/Categories/Apple/UIView+HitTestExpansion.m (100%) rename {Artsy => ios/Artsy}/Categories/Apple/UIView+OldSchoolSnapshots.h (100%) rename {Artsy => ios/Artsy}/Categories/Apple/UIView+OldSchoolSnapshots.m (100%) rename {Artsy => ios/Artsy}/Categories/Apple/UIView+ScrollToTop.h (100%) rename {Artsy => ios/Artsy}/Categories/Apple/UIView+ScrollToTop.m (100%) rename {Artsy => ios/Artsy}/Categories/Apple/UIViewController+ARUserActivity.h (100%) rename {Artsy => ios/Artsy}/Categories/Apple/UIViewController+ARUserActivity.m (100%) rename {Artsy => ios/Artsy}/Categories/Apple/UIViewController+FullScreenLoading.h (100%) rename {Artsy => ios/Artsy}/Categories/Apple/UIViewController+FullScreenLoading.m (100%) rename {Artsy => ios/Artsy}/Categories/Apple/UIViewController+Popovers.h (100%) rename {Artsy => ios/Artsy}/Categories/Apple/UIViewController+Popovers.m (100%) rename {Artsy => ios/Artsy}/Categories/Apple/UIViewController+SimpleChildren.h (100%) rename {Artsy => ios/Artsy}/Categories/Apple/UIViewController+SimpleChildren.m (100%) rename {Artsy => ios/Artsy}/Categories/Apple/UIViewController+Traits.swift (100%) rename {Artsy => ios/Artsy}/Categories/Apple/UIViewController+WithLoadedData.h (100%) rename {Artsy => ios/Artsy}/Categories/Apple/UIViewController+WithLoadedData.m (100%) rename {Artsy => ios/Artsy}/Categories/Artsy/Interstellar+Artsy.swift (100%) rename {Artsy => ios/Artsy}/Categories/Artsy/ORStackView+ArtsyViews.h (100%) rename {Artsy => ios/Artsy}/Categories/Artsy/ORStackView+ArtsyViews.m (100%) rename {Artsy => ios/Artsy}/Categories/PanDirectionGestureRecognizer.swift (100%) rename {Artsy => ios/Artsy}/Constants/ARAppConstants.h (100%) rename {Artsy => ios/Artsy}/Constants/ARAppConstants.m (100%) rename {Artsy => ios/Artsy}/Constants/ARDefaults.h (97%) rename {Artsy => ios/Artsy}/Constants/ARDefaults.m (98%) rename {Artsy => ios/Artsy}/Eigen.playground/Contents.swift (100%) rename {Artsy => ios/Artsy}/Eigen.playground/contents.xcplayground (100%) rename {Artsy => ios/Artsy}/Eigen.playground/timeline.xctimeline (100%) rename {Artsy/Resources => ios/Artsy}/Images.xcassets/AppIcon.appiconset/AppIcon167.png (100%) create mode 100644 ios/Artsy/Images.xcassets/AppIcon.appiconset/Contents.json rename {Artsy/Resources => ios/Artsy}/Images.xcassets/AppIcon.appiconset/Icon-1024.png (100%) rename {Artsy/Resources => ios/Artsy}/Images.xcassets/AppIcon.appiconset/Icon-60@2x.png (100%) rename {Artsy/Resources => ios/Artsy}/Images.xcassets/AppIcon.appiconset/Icon-76.png (100%) rename {Artsy/Resources => ios/Artsy}/Images.xcassets/AppIcon.appiconset/Icon-76@2x.png (100%) rename {Artsy/Resources => ios/Artsy}/Images.xcassets/AppIcon.appiconset/Icon-Small-40.png (100%) rename {Artsy/Resources => ios/Artsy}/Images.xcassets/AppIcon.appiconset/Icon-Small-40@2x-1.png (100%) rename {Artsy/Resources => ios/Artsy}/Images.xcassets/AppIcon.appiconset/Icon-Small-40@2x.png (100%) rename {Artsy => ios/Artsy}/Models/API_Models/Application/SystemTime.h (100%) rename {Artsy => ios/Artsy}/Models/API_Models/Application/SystemTime.m (100%) rename {Artsy => ios/Artsy}/Models/API_Models/Artwork_Metadata/AuctionLot.h (100%) rename {Artsy => ios/Artsy}/Models/API_Models/Artwork_Metadata/AuctionLot.m (100%) rename {Artsy => ios/Artsy}/Models/API_Models/Artwork_Metadata/Gene.h (100%) rename {Artsy => ios/Artsy}/Models/API_Models/Artwork_Metadata/Gene.m (100%) rename {Artsy => ios/Artsy}/Models/API_Models/Artwork_Metadata/Image.h (100%) rename {Artsy => ios/Artsy}/Models/API_Models/Artwork_Metadata/Image.m (100%) rename {Artsy => ios/Artsy}/Models/API_Models/Auctions/Bid.h (100%) rename {Artsy => ios/Artsy}/Models/API_Models/Auctions/Bid.m (100%) rename {Artsy => ios/Artsy}/Models/API_Models/Auctions/Bidder.h (100%) rename {Artsy => ios/Artsy}/Models/API_Models/Auctions/Bidder.m (100%) rename {Artsy => ios/Artsy}/Models/API_Models/Auctions/BidderPosition.h (100%) rename {Artsy => ios/Artsy}/Models/API_Models/Auctions/BidderPosition.m (100%) rename {Artsy => ios/Artsy}/Models/API_Models/Auctions/BuyersPremium.h (100%) rename {Artsy => ios/Artsy}/Models/API_Models/Auctions/BuyersPremium.m (100%) rename {Artsy => ios/Artsy}/Models/API_Models/Auctions/Sale.h (100%) rename {Artsy => ios/Artsy}/Models/API_Models/Auctions/Sale.m (100%) rename {Artsy => ios/Artsy}/Models/API_Models/Auctions/SaleArtwork.h (100%) rename {Artsy => ios/Artsy}/Models/API_Models/Auctions/SaleArtwork.m (100%) rename {Artsy => ios/Artsy}/Models/API_Models/Fair/Fair.h (100%) rename {Artsy => ios/Artsy}/Models/API_Models/Fair/Fair.m (100%) rename {Artsy => ios/Artsy}/Models/API_Models/Fair/FairOrganizer.h (100%) rename {Artsy => ios/Artsy}/Models/API_Models/Fair/FairOrganizer.m (100%) rename {Artsy => ios/Artsy}/Models/API_Models/Fair/Follow.h (100%) rename {Artsy => ios/Artsy}/Models/API_Models/Fair/Follow.m (100%) rename {Artsy => ios/Artsy}/Models/API_Models/Favorites/ARHeartStatus.h (100%) rename {Artsy => ios/Artsy}/Models/API_Models/Live/BidIncrementStrategy.h (100%) rename {Artsy => ios/Artsy}/Models/API_Models/Live/BidIncrementStrategy.m (100%) rename {Artsy => ios/Artsy}/Models/API_Models/Live/LiveBidder.h (100%) rename {Artsy => ios/Artsy}/Models/API_Models/Live/LiveBidder.m (100%) rename {Artsy => ios/Artsy}/Models/API_Models/Live/LiveEvent.h (100%) rename {Artsy => ios/Artsy}/Models/API_Models/Live/LiveEvent.m (100%) rename {Artsy => ios/Artsy}/Models/API_Models/Live/LiveSale.h (100%) rename {Artsy => ios/Artsy}/Models/API_Models/Live/LiveSale.m (100%) rename {Artsy => ios/Artsy}/Models/API_Models/Live/SaleStatusType.swift (100%) rename {Artsy => ios/Artsy}/Models/API_Models/LiveAuctionLot.h (100%) rename {Artsy => ios/Artsy}/Models/API_Models/LiveAuctionLot.m (100%) rename {Artsy => ios/Artsy}/Models/API_Models/Partner_Metadata/Artist.h (100%) rename {Artsy => ios/Artsy}/Models/API_Models/Partner_Metadata/Artist.m (100%) rename {Artsy => ios/Artsy}/Models/API_Models/Partner_Metadata/Artwork.h (100%) rename {Artsy => ios/Artsy}/Models/API_Models/Partner_Metadata/Artwork.m (100%) rename {Artsy => ios/Artsy}/Models/API_Models/Partner_Metadata/Location.h (100%) rename {Artsy => ios/Artsy}/Models/API_Models/Partner_Metadata/Location.m (100%) rename {Artsy => ios/Artsy}/Models/API_Models/Partner_Metadata/Partner.h (100%) rename {Artsy => ios/Artsy}/Models/API_Models/Partner_Metadata/Partner.m (100%) rename {Artsy => ios/Artsy}/Models/API_Models/Partner_Metadata/PartnerShow.h (100%) rename {Artsy => ios/Artsy}/Models/API_Models/Partner_Metadata/PartnerShow.m (100%) rename {Artsy => ios/Artsy}/Models/API_Models/Posts/Article.h (100%) rename {Artsy => ios/Artsy}/Models/API_Models/Posts/Article.m (100%) rename {Artsy => ios/Artsy}/Models/API_Models/Social/Profile.h (100%) rename {Artsy => ios/Artsy}/Models/API_Models/Social/Profile.m (100%) rename {Artsy => ios/Artsy}/Models/API_Models/Social/User.h (100%) rename {Artsy => ios/Artsy}/Models/API_Models/Social/User.m (100%) rename {Artsy => ios/Artsy}/Models/Protocols/ARHasImageBaseURL.h (100%) rename {Artsy => ios/Artsy}/Models/Protocols/ARPostAttachment.h (100%) create mode 100644 ios/Artsy/NativeModules/ARTCityGuideViewManager.h create mode 100644 ios/Artsy/NativeModules/ARTCityGuideViewManager.m create mode 100644 ios/Artsy/NativeModules/ARTLiveAuctionViewManager.h create mode 100644 ios/Artsy/NativeModules/ARTLiveAuctionViewManager.m create mode 100644 ios/Artsy/NativeModules/ARTNativeScreenPresenterModule.h create mode 100644 ios/Artsy/NativeModules/ARTNativeScreenPresenterModule.m create mode 100644 ios/Artsy/NativeModules/ARTOldAdminViewManager.h create mode 100644 ios/Artsy/NativeModules/ARTOldAdminViewManager.m create mode 100644 ios/Artsy/NativeModules/CityGuideView.swift create mode 100644 ios/Artsy/NativeModules/LiveAuctionView.swift create mode 100644 ios/Artsy/NativeModules/OldAdminView.swift rename {Artsy => ios/Artsy}/Navigation_Transitions/ARDefaultNavigationTransition.h (100%) rename {Artsy => ios/Artsy}/Navigation_Transitions/ARDefaultNavigationTransition.m (100%) rename {Artsy => ios/Artsy}/Navigation_Transitions/ARNavigationTransition.h (100%) rename {Artsy => ios/Artsy}/Navigation_Transitions/ARNavigationTransition.m (100%) rename {Artsy => ios/Artsy}/Navigation_Transitions/ARNavigationTransitionController.h (100%) rename {Artsy => ios/Artsy}/Navigation_Transitions/ARNavigationTransitionController.m (100%) rename {Artsy => ios/Artsy}/Networking/API_Modules/ARKeychainable.h (100%) rename {Artsy => ios/Artsy}/Networking/API_Modules/ARKeychainable.m (100%) rename {Artsy => ios/Artsy}/Networking/API_Modules/ARUserManager.h (100%) rename {Artsy => ios/Artsy}/Networking/API_Modules/ARUserManager.m (98%) rename {Artsy => ios/Artsy}/Networking/API_Modules/ArtsyAPI+CurrentUserFunctions.h (100%) rename {Artsy => ios/Artsy}/Networking/API_Modules/ArtsyAPI+CurrentUserFunctions.m (100%) rename {Artsy => ios/Artsy}/Networking/API_Modules/ArtsyAPI+DeviceTokens.h (100%) rename {Artsy => ios/Artsy}/Networking/API_Modules/ArtsyAPI+DeviceTokens.m (100%) rename {Artsy => ios/Artsy}/Networking/API_Modules/ArtsyAPI+ErrorHandlers.h (100%) rename {Artsy => ios/Artsy}/Networking/API_Modules/ArtsyAPI+ErrorHandlers.m (100%) rename {Artsy => ios/Artsy}/Networking/API_Modules/ArtsyAPI+Following.h (100%) rename {Artsy => ios/Artsy}/Networking/API_Modules/ArtsyAPI+Following.m (100%) rename {Artsy => ios/Artsy}/Networking/API_Modules/ArtsyAPI+HEAD.h (100%) rename {Artsy => ios/Artsy}/Networking/API_Modules/ArtsyAPI+HEAD.m (100%) rename {Artsy => ios/Artsy}/Networking/API_Modules/ArtsyAPI+Notifications.h (100%) rename {Artsy => ios/Artsy}/Networking/API_Modules/ArtsyAPI+Notifications.m (100%) rename {Artsy => ios/Artsy}/Networking/API_Modules/ArtsyAPI+Pages.h (100%) rename {Artsy => ios/Artsy}/Networking/API_Modules/ArtsyAPI+Pages.m (100%) rename {Artsy => ios/Artsy}/Networking/API_Modules/ArtsyAPI+Private.h (100%) rename {Artsy => ios/Artsy}/Networking/API_Modules/ArtsyAPI+Profiles.h (100%) rename {Artsy => ios/Artsy}/Networking/API_Modules/ArtsyAPI+Profiles.m (100%) rename {Artsy => ios/Artsy}/Networking/API_Modules/ArtsyAPI+RelatedModels.h (100%) rename {Artsy => ios/Artsy}/Networking/API_Modules/ArtsyAPI+RelatedModels.m (100%) rename {Artsy => ios/Artsy}/Networking/API_Modules/ArtsyAPI+Sales.h (100%) rename {Artsy => ios/Artsy}/Networking/API_Modules/ArtsyAPI+Sales.m (100%) rename {Artsy => ios/Artsy}/Networking/API_Modules/ArtsyAPI+SystemTime.h (100%) rename {Artsy => ios/Artsy}/Networking/API_Modules/ArtsyAPI+SystemTime.m (100%) rename {Artsy => ios/Artsy}/Networking/ARAuthProviders.h (100%) rename {Artsy => ios/Artsy}/Networking/ARAuthProviders.m (100%) rename {Artsy => ios/Artsy}/Networking/ARNetworkConstants.h (100%) rename {Artsy => ios/Artsy}/Networking/ARNetworkConstants.m (100%) rename {Artsy => ios/Artsy}/Networking/ARReactPackagerHost.h (100%) rename {Artsy => ios/Artsy}/Networking/ARRouter+GraphQL.h (100%) rename {Artsy => ios/Artsy}/Networking/ARRouter+GraphQL.m (100%) rename {Artsy => ios/Artsy}/Networking/ARRouter.h (100%) rename {Artsy => ios/Artsy}/Networking/ARRouter.m (100%) rename {Artsy => ios/Artsy}/Networking/ARSystemTime.h (100%) rename {Artsy => ios/Artsy}/Networking/ARSystemTime.m (100%) rename {Artsy => ios/Artsy}/Networking/ArtsyAPI.h (100%) rename {Artsy => ios/Artsy}/Networking/ArtsyAPI.m (100%) rename {Artsy => ios/Artsy}/Networking/Live_Auctions/LiveAuctionSocketCommunicator.swift (100%) rename {Artsy => ios/Artsy}/Networking/Live_Auctions/StarscreamExtensions.swift (100%) rename {Artsy => ios/Artsy}/Networking/Mantle_Extensions/MTLModel+Dictionary.h (100%) rename {Artsy => ios/Artsy}/Networking/Mantle_Extensions/MTLModel+Dictionary.m (100%) rename {Artsy => ios/Artsy}/Networking/Mantle_Extensions/MTLModel+JSON.h (100%) rename {Artsy => ios/Artsy}/Networking/Mantle_Extensions/MTLModel+JSON.m (100%) rename {Artsy => ios/Artsy}/Networking/static_sale_data.graphql (100%) rename {Artsy => ios/Artsy}/Protocols/ARFeedHostItem.h (100%) rename {Artsy => ios/Artsy}/Protocols/ARFollowable.h (100%) rename {Artsy => ios/Artsy}/Protocols/ARShareableObject.h (100%) rename {Artsy => ios/Artsy}/Resources/Artsy-Bridging-Header.h (95%) rename {Artsy => ios/Artsy}/Resources/Assets/ARVIRBack@2x.png (100%) rename {Artsy => ios/Artsy}/Resources/Assets/ARVIRBack@3x.png (100%) rename {Artsy => ios/Artsy}/Resources/Assets/ARVIRPhone@2x.png (100%) rename {Artsy => ios/Artsy}/Resources/Assets/ARVIRPhone@3x.png (100%) rename {Artsy => ios/Artsy}/Resources/Assets/ARVIRRefresh@2x.png (100%) rename {Artsy => ios/Artsy}/Resources/Assets/ARVIRRefresh@3x.png (100%) rename {Artsy => ios/Artsy}/Resources/Assets/Artsy_Logo.png (100%) rename {Artsy => ios/Artsy}/Resources/Assets/AttentionIcon@2x.png (100%) rename {Artsy => ios/Artsy}/Resources/Assets/AuctionRefineCheck.png (100%) rename {Artsy => ios/Artsy}/Resources/Assets/AuctionRefineCheck@2x.png (100%) rename {Artsy => ios/Artsy}/Resources/Assets/BackArrow_Highlighted@2x.png (100%) rename {Artsy => ios/Artsy}/Resources/Assets/BackChevron.png (100%) rename {Artsy => ios/Artsy}/Resources/Assets/BackChevron@2x.png (100%) rename {Artsy => ios/Artsy}/Resources/Assets/BackChevron@3x.png (100%) rename {Artsy => ios/Artsy}/Resources/Assets/Chevron_White_Left@2x.png (100%) rename {Artsy => ios/Artsy}/Resources/Assets/Chevron_White_Left@3x.png (100%) rename {Artsy => ios/Artsy}/Resources/Assets/CircleCheckGreen.png (100%) rename {Artsy => ios/Artsy}/Resources/Assets/CircleCheckGreen@2x.png (100%) rename {Artsy => ios/Artsy}/Resources/Assets/CircleCheckGreen@3x.png (100%) rename {Artsy => ios/Artsy}/Resources/Assets/CircleXRed.png (100%) rename {Artsy => ios/Artsy}/Resources/Assets/CircleXRed@2x.png (100%) rename {Artsy => ios/Artsy}/Resources/Assets/CircleXRed@3x.png (100%) rename {Artsy => ios/Artsy}/Resources/Assets/CircularCancelButton.png (100%) rename {Artsy => ios/Artsy}/Resources/Assets/CircularCancelButton@2x.png (100%) rename {Artsy => ios/Artsy}/Resources/Assets/CircularInfoButton.png (100%) rename {Artsy => ios/Artsy}/Resources/Assets/CircularInfoButton@2x.png (100%) rename {Artsy => ios/Artsy}/Resources/Assets/CloseButtonLarge@2x.png (100%) rename {Artsy => ios/Artsy}/Resources/Assets/CloseButtonLargeHighlighted@2x.png (100%) rename {Artsy => ios/Artsy}/Resources/Assets/FooterBackground@2x.png (100%) rename {Artsy => ios/Artsy}/Resources/Assets/Hash.png (100%) rename {Artsy => ios/Artsy}/Resources/Assets/Hash@2x.png (100%) rename {Artsy => ios/Artsy}/Resources/Assets/Hash@3x.png (100%) rename {Artsy => ios/Artsy}/Resources/Assets/MoreArrow@2x.png (100%) rename {Artsy => ios/Artsy}/Resources/Assets/Range@2x.png (100%) rename {Artsy => ios/Artsy}/Resources/Assets/RefreshIcon@2x.png (100%) rename {Artsy => ios/Artsy}/Resources/Assets/SearchButton.png (100%) rename {Artsy => ios/Artsy}/Resources/Assets/SearchButton@2x.png (100%) rename {Artsy => ios/Artsy}/Resources/Assets/SearchButton@3x.png (100%) rename {Artsy => ios/Artsy}/Resources/Assets/SmallMoreVerticalArrow.png (100%) rename {Artsy => ios/Artsy}/Resources/Assets/SmallMoreVerticalArrow@2x.png (100%) rename {Artsy => ios/Artsy}/Resources/Assets/Thumb.png (100%) rename {Artsy => ios/Artsy}/Resources/Assets/Thumb@2x.png (100%) rename {Artsy => ios/Artsy}/Resources/Assets/Track@2x.png (100%) rename {Artsy => ios/Artsy}/Resources/Assets/followButton.png (100%) rename {Artsy => ios/Artsy}/Resources/Assets/followButton@2x.png (100%) rename {Artsy => ios/Artsy}/Resources/Assets/followButton@3x.png (100%) rename {Artsy => ios/Artsy}/Resources/Assets/followButtonChecked.png (100%) rename {Artsy => ios/Artsy}/Resources/Assets/followButtonChecked@2x.png (100%) rename {Artsy => ios/Artsy}/Resources/Assets/followButtonChecked@3x.png (100%) rename {Artsy => ios/Artsy}/Resources/Assets/full_logo_black_large@2x.png (100%) rename {Artsy => ios/Artsy}/Resources/Assets/full_logo_black_medium@2x.png (100%) rename {Artsy => ios/Artsy}/Resources/Assets/full_logo_black_small@2x.png (100%) rename {Artsy => ios/Artsy}/Resources/Assets/full_logo_white_large@2x.png (100%) rename {Artsy => ios/Artsy}/Resources/Assets/full_logo_white_medium@2x.png (100%) rename {Artsy => ios/Artsy}/Resources/Assets/full_logo_white_small@2x.png (100%) rename {Artsy => ios/Artsy}/Resources/Assets/navigation_more_arrow_horizontal@2x.png (100%) rename {Artsy => ios/Artsy}/Resources/Assets/navigation_more_arrow_vertical@2x.png (100%) rename {Artsy => ios/Artsy}/Resources/Assets/paddle.png (100%) rename {Artsy => ios/Artsy}/Resources/Assets/paddle@2x.png (100%) rename {Artsy => ios/Artsy}/Resources/Assets/paddle@3x.png (100%) rename {Artsy => ios/Artsy}/Resources/Assets/serif_modal_close@2x.png (100%) rename {Artsy => ios/Artsy}/Resources/Map_Annotations/MapAnnotation_Artsy@2x.png (100%) rename {Artsy => ios/Artsy}/Resources/ViewInRoom/ViewInRoom_Base@2x.png (100%) rename {Artsy => ios/Artsy}/Resources/ViewInRoom/ViewInRoom_BaseNoBench@2x.png (100%) rename {Artsy => ios/Artsy}/Resources/ViewInRoom/ViewInRoom_Bench@2x.png (100%) rename {Artsy => ios/Artsy}/Resources/ViewInRoom/ViewInRoom_Man_3@2x.png (100%) rename {Artsy => ios/Artsy}/Resources/ViewInRoom/ViewInRoom_Wall@2x.png (100%) rename {Artsy => ios/Artsy}/Resources/ViewInRoom/ViewInRoom_Wall_Right@2x.png (100%) rename {Artsy => ios/Artsy}/Stringify.swift (100%) rename {Artsy => ios/Artsy}/Tooling/ARDispatchManager.h (100%) rename {Artsy => ios/Artsy}/Tooling/ARDispatchManager.m (100%) rename {Artsy => ios/Artsy}/Tooling/ARWebViewCacheHost.h (100%) rename {Artsy => ios/Artsy}/Tooling/ARWebViewCacheHost.m (100%) rename {Artsy => ios/Artsy}/Tooling/Generated/StoryboardConstants.swift (100%) rename {Artsy => ios/Artsy}/Tooling/Generated/StoryboardImages.swift (100%) rename {Artsy => ios/Artsy}/View_Controllers/ARSerifNavigationViewController.h (100%) rename {Artsy => ios/Artsy}/View_Controllers/ARSerifNavigationViewController.m (100%) rename {Artsy => ios/Artsy}/View_Controllers/ARVIR/AR/ARVIRHorizontalPlaneInteractionController.h (100%) rename {Artsy => ios/Artsy}/View_Controllers/ARVIR/AR/ARVIRHorizontalPlaneInteractionController.m (100%) rename {Artsy => ios/Artsy}/View_Controllers/ARVIR/ARAugmentedRealityConfig.h (100%) rename {Artsy => ios/Artsy}/View_Controllers/ARVIR/ARAugmentedRealityConfig.m (100%) rename {Artsy => ios/Artsy}/View_Controllers/ARVIR/New Group/ARVIRModalClose.png (100%) rename {Artsy => ios/Artsy}/View_Controllers/ARVIR/New Group/ARVIRModalClose@2x.png (100%) rename {Artsy => ios/Artsy}/View_Controllers/ARVIR/New Group/ARVIRModalClose@3x.png (100%) rename {Artsy => ios/Artsy}/View_Controllers/ARVIR/New Group/ARVIRShadow.png (100%) rename {Artsy => ios/Artsy}/View_Controllers/ARVIR/New Group/ARVIRTick.png (100%) rename {Artsy => ios/Artsy}/View_Controllers/ARVIR/New Group/ARVIRTick@2x.png (100%) rename {Artsy => ios/Artsy}/View_Controllers/ARVIR/New Group/ARVIRTick@3x.png (100%) rename {Artsy => ios/Artsy}/View_Controllers/ARVIR/New Group/ar_vir_opening_frame.jpg (100%) rename {Artsy => ios/Artsy}/View_Controllers/ARVIR/Nodes/ARSCNWallNode.h (100%) rename {Artsy => ios/Artsy}/View_Controllers/ARVIR/Nodes/ARSCNWallNode.m (100%) rename {Artsy => ios/Artsy}/View_Controllers/ARVIR/Nodes/SCNArtworkNode.h (100%) rename {Artsy => ios/Artsy}/View_Controllers/ARVIR/Nodes/SCNArtworkNode.m (100%) rename {Artsy => ios/Artsy}/View_Controllers/ARVIR/VCs/ARAugmentedFloorBasedVIRViewController.h (100%) rename {Artsy => ios/Artsy}/View_Controllers/ARVIR/VCs/ARAugmentedFloorBasedVIRViewController.m (100%) rename {Artsy => ios/Artsy}/View_Controllers/ARVIR/VCs/ARAugmentedVIRSetupViewController.h (100%) rename {Artsy => ios/Artsy}/View_Controllers/ARVIR/VCs/ARAugmentedVIRSetupViewController.m (100%) rename {Artsy => ios/Artsy}/View_Controllers/ARVIR/Views/ARInformationView.h (100%) rename {Artsy => ios/Artsy}/View_Controllers/ARVIR/Views/ARInformationView.m (100%) rename {Artsy => ios/Artsy}/View_Controllers/Admin/ARAdminSettingsViewController.h (100%) rename {Artsy => ios/Artsy}/View_Controllers/Admin/ARAdminSettingsViewController.m (100%) rename {Artsy => ios/Artsy}/View_Controllers/Admin/ARAdminTableViewController.h (100%) rename {Artsy => ios/Artsy}/View_Controllers/Admin/ARAdminTableViewController.m (100%) rename {Artsy => ios/Artsy}/View_Controllers/Admin/AREchoContentsViewController.h (100%) rename {Artsy => ios/Artsy}/View_Controllers/Admin/AREchoContentsViewController.m (100%) rename {Artsy => ios/Artsy}/View_Controllers/Admin/Networking/ARAdminNetworkModel.h (100%) rename {Artsy => ios/Artsy}/View_Controllers/Admin/Networking/ARAdminNetworkModel.m (100%) rename {Artsy => ios/Artsy}/View_Controllers/Admin/Views/ARAdminTableViewCell.h (100%) rename {Artsy => ios/Artsy}/View_Controllers/Admin/Views/ARAdminTableViewCell.m (100%) rename {Artsy => ios/Artsy}/View_Controllers/Admin/Views/ARAnimatedTickView.h (100%) rename {Artsy => ios/Artsy}/View_Controllers/Admin/Views/ARAnimatedTickView.m (100%) rename {Artsy => ios/Artsy}/View_Controllers/Admin/Views/ARTickedTableViewCell.h (100%) rename {Artsy => ios/Artsy}/View_Controllers/Admin/Views/ARTickedTableViewCell.m (100%) rename {Artsy => ios/Artsy}/View_Controllers/Auction/AuctionBiddersNetworkModel.swift (100%) rename {Artsy => ios/Artsy}/View_Controllers/Auction/AuctionInformationViewController.swift (100%) rename {Artsy => ios/Artsy}/View_Controllers/Auction/AuctionSaleNetworkModel.swift (100%) rename {Artsy => ios/Artsy}/View_Controllers/Auction/RefinementOptionsViewController+Private.swift (100%) rename {Artsy => ios/Artsy}/View_Controllers/Auction/RefinementOptionsViewController.swift (100%) rename {Artsy => ios/Artsy}/View_Controllers/Core/ARViewInRoomViewController.h (100%) rename {Artsy => ios/Artsy}/View_Controllers/Core/ARViewInRoomViewController.m (100%) rename {Artsy => ios/Artsy}/View_Controllers/Core/UIViewController+BlurredStatusView.swift (100%) rename {Artsy => ios/Artsy}/View_Controllers/Generics/ARNavigationButtonsViewController.h (100%) rename {Artsy => ios/Artsy}/View_Controllers/Generics/ARNavigationButtonsViewController.m (100%) rename {Artsy => ios/Artsy}/View_Controllers/LiveAuctionCurrentLotCTAPositionManager.swift (100%) rename {Artsy => ios/Artsy}/View_Controllers/LiveAuctionPlainLotCollectionViewLayout.swift (100%) rename {Artsy => ios/Artsy}/View_Controllers/Live_Auctions/LiveActionStateReconciler.swift (96%) rename {Artsy => ios/Artsy}/View_Controllers/Live_Auctions/LiveAuctionBidButton.swift (100%) rename {Artsy => ios/Artsy}/View_Controllers/Live_Auctions/LiveAuctionBidHistoryViewController.swift (100%) rename {Artsy => ios/Artsy}/View_Controllers/Live_Auctions/LiveAuctionBidViewModel.swift (100%) rename {Artsy => ios/Artsy}/View_Controllers/Live_Auctions/LiveAuctionLoadingView.swift (100%) rename {Artsy => ios/Artsy}/View_Controllers/Live_Auctions/LiveAuctionLotBidHistoryGestureController.swift (100%) rename {Artsy => ios/Artsy}/View_Controllers/Live_Auctions/LiveAuctionLotListStickyCellCollectionViewLayout.swift (100%) rename {Artsy => ios/Artsy}/View_Controllers/Live_Auctions/LiveAuctionLotListViewController.swift (100%) rename {Artsy => ios/Artsy}/View_Controllers/Live_Auctions/LiveAuctionLotSetViewController.swift (98%) rename {Artsy => ios/Artsy}/View_Controllers/Live_Auctions/LiveAuctionLotViewController.swift (99%) rename {Artsy => ios/Artsy}/View_Controllers/Live_Auctions/LiveAuctionPlaceMaxBidViewController.swift (100%) rename {Artsy => ios/Artsy}/View_Controllers/Live_Auctions/LiveAuctionSaleLotsDataSource.swift (100%) rename {Artsy => ios/Artsy}/View_Controllers/Live_Auctions/LiveAuctionSaleViewController.swift (100%) rename {Artsy => ios/Artsy}/View_Controllers/Live_Auctions/LiveAuctionSalesPerson.swift (100%) rename {Artsy => ios/Artsy}/View_Controllers/Live_Auctions/LiveAuctionStateManager.swift (100%) rename {Artsy => ios/Artsy}/View_Controllers/Live_Auctions/LiveAuctionStateManagerSpec.swift (100%) rename {Artsy => ios/Artsy}/View_Controllers/Live_Auctions/LiveAuctionStaticDataFetcher+Stubs.swift (100%) rename {Artsy => ios/Artsy}/View_Controllers/Live_Auctions/LiveAuctionStaticDataFetcher.swift (100%) rename {Artsy => ios/Artsy}/View_Controllers/Live_Auctions/LiveAuctionViewController.swift (100%) rename {Artsy => ios/Artsy}/View_Controllers/Live_Auctions/LiveAuctionsAdminViewController.swift (100%) rename {Artsy => ios/Artsy}/View_Controllers/Live_Auctions/LotListCollectionViewCell+Private.swift (100%) rename {Artsy => ios/Artsy}/View_Controllers/Live_Auctions/LotListCollectionViewCell.swift (100%) rename {Artsy => ios/Artsy}/View_Controllers/Live_Auctions/Resources/LiveAuctions.storyboard (100%) create mode 100644 ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/Contents.json create mode 100644 ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionButtonNormalBackground.imageset/Contents.json rename {Artsy => ios/Artsy}/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionButtonNormalBackground.imageset/LiveAuctionButtonNormalBackground@2x.png (100%) create mode 100644 ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionButtonNormalHighlighted.imageset/Contents.json rename {Artsy => ios/Artsy}/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionButtonNormalHighlighted.imageset/LiveAuctionButtonNormalHighlighted.png (100%) create mode 100644 ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionMaxBidIcon.imageset/Contents.json rename {Artsy => ios/Artsy}/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionMaxBidIcon.imageset/LiveAuctionMaxBidIcon@2x.png (100%) create mode 100644 ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionOutbidWarningIcon.imageset/Contents.json rename {Artsy => ios/Artsy}/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionOutbidWarningIcon.imageset/LiveAuctionOutbidWarningIcon@2x.png (100%) create mode 100644 ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionSpinner.imageset/Contents.json rename {Artsy => ios/Artsy}/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionSpinner.imageset/LiveAuctionSpinner@2x.png (100%) create mode 100644 ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsDisclosureTriangleDown.imageset/Contents.json rename {Artsy => ios/Artsy}/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsDisclosureTriangleDown.imageset/LiveAuctionsDisclosureTriangleDown@2x.png (100%) create mode 100644 ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsDisclosureTriangleLeft.imageset/Contents.json rename {Artsy => ios/Artsy}/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsDisclosureTriangleLeft.imageset/LiveAuctionsDisclosureTriangleLeft@2x.png (100%) create mode 100644 ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsDisclosureTriangleRight.imageset/Contents.json rename {Artsy => ios/Artsy}/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsDisclosureTriangleRight.imageset/LiveAuctionsDisclosureTriangleRight@2x.png (100%) create mode 100644 ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsDisclosureTriangleUp.imageset/Contents.json rename {Artsy => ios/Artsy}/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsDisclosureTriangleUp.imageset/LiveAuctionsDisclosureTriangleUp@2x.png (100%) create mode 100644 ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsMaxBidMinus.imageset/Contents.json rename {Artsy => ios/Artsy}/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsMaxBidMinus.imageset/LiveAuctionsMaxBidMinus@2x.png (100%) create mode 100644 ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsMaxBidPlus.imageset/Contents.json rename {Artsy => ios/Artsy}/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsMaxBidPlus.imageset/liveAuctionsMaxBidPlus.png (100%) rename {Artsy => ios/Artsy}/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/chat_icon.imageset/Chat_Icon.png (100%) create mode 100644 ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/chat_icon.imageset/Contents.json create mode 100644 ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/info_icon.imageset/Contents.json rename {Artsy => ios/Artsy}/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/info_icon.imageset/Info_Icon.png (100%) create mode 100644 ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/live_auction_bid_hammer.imageset/Contents.json rename {Artsy => ios/Artsy}/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/live_auction_bid_hammer.imageset/live_auction_bid_hammer@2x.png (100%) create mode 100644 ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/live_auction_bid_warning_orange.imageset/Contents.json rename {Artsy => ios/Artsy}/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/live_auction_bid_warning_orange.imageset/live_auction_bid_orangey@2x.png (100%) create mode 100644 ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/live_auction_bid_warning_yellow.imageset/Contents.json rename {Artsy => ios/Artsy}/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/live_auction_bid_warning_yellow.imageset/live_auction_bid_warning_yellow@2x.png (100%) create mode 100644 ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lot_bidder_hammer_white.imageset/Contents.json rename {Artsy => ios/Artsy}/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lot_bidder_hammer_white.imageset/lot_bidder_hammer_white.png (100%) create mode 100644 ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lot_bidders_info.imageset/Contents.json rename {Artsy => ios/Artsy}/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lot_bidders_info.imageset/lot_bidders_info.png (100%) create mode 100644 ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lot_lot_info.imageset/Contents.json rename {Artsy => ios/Artsy}/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lot_lot_info.imageset/lot_lot_info.png (100%) create mode 100644 ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lot_time_info.imageset/Contents.json rename {Artsy => ios/Artsy}/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lot_time_info.imageset/lot_time_info.png (100%) create mode 100644 ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lot_watchers_info.imageset/Contents.json rename {Artsy => ios/Artsy}/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lot_watchers_info.imageset/lot_watchers_info.png (100%) create mode 100644 ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lots_icon.imageset/Contents.json rename {Artsy => ios/Artsy}/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lots_icon.imageset/Lots_Icon.png (100%) rename {Artsy => ios/Artsy}/View_Controllers/Live_Auctions/ViewModels/LiveAuctionEventViewModel.swift (100%) rename {Artsy => ios/Artsy}/View_Controllers/Live_Auctions/ViewModels/LiveAuctionLotViewModel.swift (100%) rename {Artsy => ios/Artsy}/View_Controllers/Live_Auctions/ViewModels/LiveAuctionViewModel.swift (100%) rename {Artsy => ios/Artsy}/View_Controllers/Live_Auctions/Views/AuctionLotMetadataStackScrollView.swift (100%) rename {Artsy => ios/Artsy}/View_Controllers/Live_Auctions/Views/LiveAuctionBiddingViewModel.swift (100%) rename {Artsy => ios/Artsy}/View_Controllers/Live_Auctions/Views/LiveAuctionCurrentLotView.swift (100%) rename {Artsy => ios/Artsy}/View_Controllers/Live_Auctions/Views/LiveAuctionFancyLotCollectionViewLayout.swift (100%) rename {Artsy => ios/Artsy}/View_Controllers/Live_Auctions/Views/LiveAuctionLotCollectionViewDataSource.swift (100%) rename {Artsy => ios/Artsy}/View_Controllers/Live_Auctions/Views/LiveAuctionLotCollectionViewLayoutAttributes.swift (100%) rename {Artsy => ios/Artsy}/View_Controllers/Live_Auctions/Views/LiveAuctionLotCollectionViewLayoutType.swift (100%) rename {Artsy => ios/Artsy}/View_Controllers/Live_Auctions/Views/LiveAuctionLotImageCollectionViewCell.swift (100%) rename {Artsy => ios/Artsy}/View_Controllers/Live_Auctions/Views/LiveAuctionToolbarView.swift (100%) rename {Artsy => ios/Artsy}/View_Controllers/Live_Auctions/Views/LiveBidProgressOverlayView.swift (100%) rename {Artsy => ios/Artsy}/View_Controllers/Live_Auctions/Views/SaleOnHoldOverlayView.swift (100%) rename {Artsy => ios/Artsy}/View_Controllers/Live_Auctions/Views/SaleStatusView.swift (100%) rename {Artsy => ios/Artsy}/View_Controllers/Live_Auctions/Views/SimpleProgressView.swift (100%) rename {Artsy => ios/Artsy}/View_Controllers/Login_and_Onboarding/Onboarding_stages/2_-_Calls_to_Action/ARSignUpActiveUserViewController.xib (100%) rename {Artsy => ios/Artsy}/View_Controllers/Map/AREigenMapContainerViewController.h (100%) rename {Artsy => ios/Artsy}/View_Controllers/Map/AREigenMapContainerViewController.m (100%) rename {Artsy => ios/Artsy}/View_Controllers/SerifModalWebNavigationController.swift (100%) rename {Artsy => ios/Artsy}/View_Controllers/Util/ARBackButton.h (100%) rename {Artsy => ios/Artsy}/View_Controllers/Util/ARBackButton.m (100%) rename {Artsy => ios/Artsy}/View_Controllers/Util/ARFeedImageLoader.h (100%) rename {Artsy => ios/Artsy}/View_Controllers/Util/ARFeedImageLoader.m (100%) rename {Artsy => ios/Artsy}/View_Controllers/Util/ARFileUtils.h (100%) rename {Artsy => ios/Artsy}/View_Controllers/Util/ARFileUtils.m (100%) rename {Artsy => ios/Artsy}/View_Controllers/Util/ARMenuAwareViewController.h (100%) rename {Artsy => ios/Artsy}/View_Controllers/Util/ARNavigationController.h (100%) rename {Artsy => ios/Artsy}/View_Controllers/Util/ARNavigationController.m (99%) rename {Artsy => ios/Artsy}/View_Controllers/Util/ARScrollNavigationChief.h (100%) rename {Artsy => ios/Artsy}/View_Controllers/Util/ARScrollNavigationChief.m (100%) rename {Artsy => ios/Artsy}/View_Controllers/Util/ARStandardDateFormatter.h (100%) rename {Artsy => ios/Artsy}/View_Controllers/Util/ARStandardDateFormatter.m (100%) rename {Artsy => ios/Artsy}/View_Controllers/Util/ARTwoWayDictionaryTransformer.h (100%) rename {Artsy => ios/Artsy}/View_Controllers/Util/ARTwoWayDictionaryTransformer.m (100%) rename {Artsy => ios/Artsy}/View_Controllers/Util/ARValueTransformer.h (100%) rename {Artsy => ios/Artsy}/View_Controllers/Util/ARValueTransformer.m (100%) rename {Artsy => ios/Artsy}/View_Controllers/Util/Emumerations/UIApplicationStateEnum.h (100%) rename {Artsy => ios/Artsy}/View_Controllers/Util/Emumerations/UIApplicationStateEnum.m (100%) rename {Artsy => ios/Artsy}/View_Controllers/Util/Errors/ARNetworkErrorManager.h (100%) rename {Artsy => ios/Artsy}/View_Controllers/Util/Errors/ARNetworkErrorManager.m (95%) rename {Artsy => ios/Artsy}/View_Controllers/Util/Logging/ARHTTPRequestOperationLogger.h (100%) rename {Artsy => ios/Artsy}/View_Controllers/Util/Logging/ARHTTPRequestOperationLogger.m (100%) rename {Artsy => ios/Artsy}/View_Controllers/Util/Logging/ARLogFormatter.h (100%) rename {Artsy => ios/Artsy}/View_Controllers/Util/Logging/ARLogFormatter.m (100%) rename {Artsy => ios/Artsy}/View_Controllers/Util/Logging/ARLogger.h (100%) rename {Artsy => ios/Artsy}/View_Controllers/Util/Logging/ARLogger.m (100%) rename {Artsy => ios/Artsy}/View_Controllers/Util/Sharing/ARImageItemProvider.h (100%) rename {Artsy => ios/Artsy}/View_Controllers/Util/Sharing/ARImageItemProvider.m (100%) rename {Artsy => ios/Artsy}/View_Controllers/Util/Sharing/ARMessageItemProvider.h (100%) rename {Artsy => ios/Artsy}/View_Controllers/Util/Sharing/ARMessageItemProvider.m (100%) rename {Artsy => ios/Artsy}/View_Controllers/Util/Sharing/ARSharingController.h (100%) rename {Artsy => ios/Artsy}/View_Controllers/Util/Sharing/ARSharingController.m (93%) rename {Artsy => ios/Artsy}/View_Controllers/Util/Sharing/ARURLItemProvider.h (100%) rename {Artsy => ios/Artsy}/View_Controllers/Util/Sharing/ARURLItemProvider.m (100%) rename {Artsy => ios/Artsy}/View_Controllers/Util/UIViewController+InnermostTopViewController.h (100%) rename {Artsy => ios/Artsy}/View_Controllers/Util/UIViewController+InnermostTopViewController.m (100%) rename {Artsy/View_Controllers/Auction_Results => ios/Artsy/View_Controllers/Web_Browsing}/ARAuctionWebViewController.h (100%) rename {Artsy/View_Controllers/Auction_Results => ios/Artsy/View_Controllers/Web_Browsing}/ARAuctionWebViewController.m (100%) rename {Artsy => ios/Artsy}/View_Controllers/Web_Browsing/ARExternalWebBrowserViewController.h (100%) rename {Artsy => ios/Artsy}/View_Controllers/Web_Browsing/ARExternalWebBrowserViewController.m (98%) rename {Artsy => ios/Artsy}/View_Controllers/Web_Browsing/ARInternalMobileWebViewController.h (100%) rename {Artsy => ios/Artsy}/View_Controllers/Web_Browsing/ARInternalMobileWebViewController.m (100%) rename {Artsy => ios/Artsy}/View_Controllers/Web_Browsing/ARInternalShareValidator.h (100%) rename {Artsy => ios/Artsy}/View_Controllers/Web_Browsing/ARInternalShareValidator.m (100%) rename {Artsy => ios/Artsy}/View_Controllers/live_auctions_socket.json (83%) rename {Artsy => ios/Artsy}/View_Controllers/live_auctions_static.json (100%) rename {Artsy => ios/Artsy}/Views/ARCountdownView.h (100%) rename {Artsy => ios/Artsy}/Views/ARCountdownView.m (100%) rename {Artsy => ios/Artsy}/Views/Auction/AuctionTitleView.swift (100%) rename {Artsy => ios/Artsy}/Views/Auction/SaleArtworkViewModel.swift (100%) rename {Artsy => ios/Artsy}/Views/Auction/SaleAuctionStatus.swift (100%) rename {Artsy => ios/Artsy}/Views/Auction/SaleViewModel.swift (100%) rename {Artsy => ios/Artsy}/Views/AuctionCircularButtons.swift (100%) rename {Artsy => ios/Artsy}/Views/AuctionColors.swift (100%) rename {Artsy => ios/Artsy}/Views/Core/TextStack.swift (100%) rename {Artsy => ios/Artsy}/Views/Notifications/ARNotificationView.h (100%) rename {Artsy => ios/Artsy}/Views/Notifications/ARNotificationView.m (100%) rename {Artsy => ios/Artsy}/Views/RefinableType.swift (100%) rename {Artsy => ios/Artsy}/Views/Styled_Subclasses/ARTextView.h (100%) rename {Artsy => ios/Artsy}/Views/Styled_Subclasses/ARTextView.m (100%) rename {Artsy => ios/Artsy}/Views/Styled_Subclasses/Buttons/ARBidButton.h (100%) rename {Artsy => ios/Artsy}/Views/Styled_Subclasses/Buttons/ARBidButton.m (100%) rename {Artsy => ios/Artsy}/Views/Styled_Subclasses/Buttons/ARNavigationButton.h (100%) rename {Artsy => ios/Artsy}/Views/Styled_Subclasses/Buttons/ARNavigationButton.m (100%) rename {Artsy => ios/Artsy}/Views/Styled_Subclasses/Buttons/ARNvagiationButton+Swift.swift (100%) rename {Artsy => ios/Artsy}/Views/Styled_Subclasses/StyledSubclasses.h (100%) rename {Artsy => ios/Artsy}/Views/Utilities/ARCustomEigenLabels.h (100%) rename {Artsy => ios/Artsy}/Views/Utilities/ARCustomEigenLabels.m (100%) rename {Artsy => ios/Artsy}/Views/Utilities/AROfflineView.h (100%) rename {Artsy => ios/Artsy}/Views/Utilities/AROfflineView.m (100%) rename {Artsy => ios/Artsy}/Views/Utilities/ARReusableLoadingView.h (100%) rename {Artsy => ios/Artsy}/Views/Utilities/ARReusableLoadingView.m (100%) rename {Artsy => ios/Artsy}/Views/Utilities/ARSeparatorViews.h (100%) rename {Artsy => ios/Artsy}/Views/Utilities/ARSeparatorViews.m (100%) rename {Artsy => ios/Artsy}/Views/Utilities/ARWhitespaceGobbler.h (100%) rename {Artsy => ios/Artsy}/Views/Utilities/ARWhitespaceGobbler.m (100%) create mode 100644 ios/Artsy/fonts/.gitkeep create mode 100644 ios/Artsy/fonts/Unica77LL-Italic.otf create mode 100644 ios/Artsy/fonts/Unica77LL-Medium.otf create mode 100644 ios/Artsy/fonts/Unica77LL-MediumItalic.otf create mode 100644 ios/Artsy/fonts/Unica77LL-Regular.otf rename {Artsy Stickers => ios/ArtsyStickers}/Info.plist (50%) rename {Artsy Stickers => ios/ArtsyStickers}/LICENSE.md (100%) rename {Artsy Stickers => ios/ArtsyStickers}/Stickers.xcassets/Contents.json (100%) rename {Artsy Stickers => ios/ArtsyStickers}/Stickers.xcassets/Sticker Pack.stickerpack/Adam from Creation of Adam-1.sticker/Adam from Creation of Adam.png (100%) create mode 100644 ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/Adam from Creation of Adam-1.sticker/Contents.json rename {Artsy Stickers => ios/ArtsyStickers}/Stickers.xcassets/Sticker Pack.stickerpack/Angel from The Holy Family.sticker/Angel from The Holy Family.png (100%) create mode 100644 ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/Angel from The Holy Family.sticker/Contents.json create mode 100644 ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/Contents.json create mode 100644 ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/Fruit Bowl from Still Life with Milk Jug and Fruit.sticker/Contents.json rename {Artsy Stickers => ios/ArtsyStickers}/Stickers.xcassets/Sticker Pack.stickerpack/Fruit Bowl from Still Life with Milk Jug and Fruit.sticker/Fruit Bowl from Still Life with Milk Jug and Fruit.png (100%) create mode 100644 ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/Girl with a Pearl Earring.sticker/Contents.json rename {Artsy Stickers => ios/ArtsyStickers}/Stickers.xcassets/Sticker Pack.stickerpack/Girl with a Pearl Earring.sticker/Girl with a Pearl Earring.png (100%) create mode 100644 ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/God from Creation of Adam.sticker/Contents.json rename {Artsy Stickers => ios/ArtsyStickers}/Stickers.xcassets/Sticker Pack.stickerpack/God from Creation of Adam.sticker/God from Creation of Adam (2).png (100%) create mode 100644 ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/Jesus from Ecce Homo.sticker/Contents.json rename {Artsy Stickers => ios/ArtsyStickers}/Stickers.xcassets/Sticker Pack.stickerpack/Jesus from Ecce Homo.sticker/Jesus from Ecce Homo.png (100%) create mode 100644 ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/Miniature Skeleton.sticker/Contents.json rename {Artsy Stickers => ios/ArtsyStickers}/Stickers.xcassets/Sticker Pack.stickerpack/Miniature Skeleton.sticker/Miniature Skeleton.png (100%) create mode 100644 ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/Rattle in the Shape of a Recumbent Lion.sticker/Contents.json rename {Artsy Stickers => ios/ArtsyStickers}/Stickers.xcassets/Sticker Pack.stickerpack/Rattle in the Shape of a Recumbent Lion.sticker/Rattle in the Shape of a Recumbent Lion.png (100%) create mode 100644 ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/Raven from Saint Mary Salome and Her Family.sticker/Contents.json rename {Artsy Stickers => ios/ArtsyStickers}/Stickers.xcassets/Sticker Pack.stickerpack/Raven from Saint Mary Salome and Her Family.sticker/Raven from Saint Mary Salome and Her Family.png (100%) create mode 100644 ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/Seated Buddha in the Attitude of Preaching.sticker/Contents.json rename {Artsy Stickers => ios/ArtsyStickers}/Stickers.xcassets/Sticker Pack.stickerpack/Seated Buddha in the Attitude of Preaching.sticker/Seated Buddha in the Attitude of Preaching.png (100%) create mode 100644 ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/The Vexed Man.sticker/Contents.json rename {Artsy Stickers => ios/ArtsyStickers}/Stickers.xcassets/Sticker Pack.stickerpack/The Vexed Man.sticker/The Vexed Man.png (100%) create mode 100644 ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/Wheatstack from Wheatstacks, Snow Effect, Morning .sticker/Contents.json rename {Artsy Stickers => ios/ArtsyStickers}/Stickers.xcassets/Sticker Pack.stickerpack/Wheatstack from Wheatstacks, Snow Effect, Morning .sticker/Wheatstack from Wheatstacks, Snow Effect, Morning .png (100%) create mode 100644 ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/Woman from L'Esperence.sticker/Contents.json rename {Artsy Stickers => ios/ArtsyStickers}/Stickers.xcassets/Sticker Pack.stickerpack/Woman from L'Esperence.sticker/Woman from L'Esperence.png (100%) create mode 100644 ios/ArtsyStickers/Stickers.xcassets/iMessage App Icon.stickersiconset/Contents.json rename {Artsy Stickers => ios/ArtsyStickers}/Stickers.xcassets/iMessage App Icon.stickersiconset/Messages-App-Store-1024x768pt.png (100%) rename {Artsy Stickers => ios/ArtsyStickers}/Stickers.xcassets/iMessage App Icon.stickersiconset/Messages-iPad-67x50pt@2x.png (100%) rename {Artsy Stickers => ios/ArtsyStickers}/Stickers.xcassets/iMessage App Icon.stickersiconset/Messages-iPad-Pro-74x55pt@2x.png (100%) rename {Artsy Stickers => ios/ArtsyStickers}/Stickers.xcassets/iMessage App Icon.stickersiconset/Messages-iPhone-60x45pt@2x.png (100%) rename {Artsy Stickers => ios/ArtsyStickers}/Stickers.xcassets/iMessage App Icon.stickersiconset/Messages-iPhone-60x45pt@3x-1.png (100%) rename {Artsy Stickers => ios/ArtsyStickers}/Stickers.xcassets/iMessage App Icon.stickersiconset/Messages27x20pt@2x.png (100%) rename {Artsy Stickers => ios/ArtsyStickers}/Stickers.xcassets/iMessage App Icon.stickersiconset/Messages27x20pt@3x.png (100%) rename {Artsy Stickers => ios/ArtsyStickers}/Stickers.xcassets/iMessage App Icon.stickersiconset/Messages32x24pt@2x.png (100%) rename {Artsy Stickers => ios/ArtsyStickers}/Stickers.xcassets/iMessage App Icon.stickersiconset/Messages32x24pt@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/.swiftlint.yml (100%) rename {Artsy_Tests => ios/ArtsyTests}/App_Tests/ARAppActivityContinuationDelegateTests.m (100%) rename {Artsy_Tests => ios/ArtsyTests}/App_Tests/ARAppNotificationsDelegateTests.m (100%) rename {Artsy_Tests => ios/ArtsyTests}/App_Tests/ARWebViewCacheHostSpec.m (100%) rename {Artsy_Tests => ios/ArtsyTests}/ArtsyWidget/ArtworkTests.swift (100%) rename {Artsy_Tests => ios/ArtsyTests}/ArtsyWidget/ScheduleTests.swift (100%) rename {Artsy_Tests => ios/ArtsyTests}/Extensions/ARExpectaExtensions.h (100%) rename {Artsy_Tests => ios/ArtsyTests}/Extensions/ARExpectaExtensions.m (100%) rename {Artsy_Tests => ios/ArtsyTests}/Extensions/ARTestImageCachingFunctions.swift (100%) rename {Artsy_Tests => ios/ArtsyTests}/Extensions/EXPMatcher+UINavigationController.h (100%) rename {Artsy_Tests => ios/ArtsyTests}/Extensions/EXPMatcher+UINavigationController.m (100%) rename {Artsy_Tests => ios/ArtsyTests}/Extensions/MutableNSURLResponse.h (100%) rename {Artsy_Tests => ios/ArtsyTests}/Extensions/MutableNSURLResponse.m (100%) rename {Artsy_Tests => ios/ArtsyTests}/Extensions/OCMArg+ClassChecker.h (100%) rename {Artsy_Tests => ios/ArtsyTests}/Extensions/OCMArg+ClassChecker.m (100%) rename {Artsy_Tests => ios/ArtsyTests}/Extensions/UIViewController+Testing.h (100%) rename {Artsy_Tests => ios/ArtsyTests}/Extensions/UIViewController+Testing.m (100%) rename {Artsy_Tests => ios/ArtsyTests}/Extensions/UIViewController+Tests.swift (100%) rename {Artsy_Tests => ios/ArtsyTests}/Model_Tests/ARImageTests.m (100%) rename {Artsy_Tests => ios/ArtsyTests}/Model_Tests/ArtworkTests.m (100%) rename {Artsy_Tests => ios/ArtsyTests}/Model_Tests/Data/Artwork_v0.data (100%) rename {Artsy_Tests => ios/ArtsyTests}/Model_Tests/Data/Artwork_v1.data (100%) rename {Artsy_Tests => ios/ArtsyTests}/Model_Tests/Data/User_v0.data (100%) rename {Artsy_Tests => ios/ArtsyTests}/Model_Tests/Data/User_v1.data (100%) rename {Artsy_Tests => ios/ArtsyTests}/Model_Tests/FairTests.m (100%) rename {Artsy_Tests => ios/ArtsyTests}/Model_Tests/PartnerTests.m (100%) rename {Artsy_Tests => ios/ArtsyTests}/Model_Tests/ProfileTests.m (100%) rename {Artsy_Tests => ios/ArtsyTests}/Model_Tests/SaleArtworkTests.m (100%) rename {Artsy_Tests => ios/ArtsyTests}/Model_Tests/SaleTests.m (100%) rename {Artsy_Tests => ios/ArtsyTests}/Model_Tests/SystemTimeTests.m (100%) rename {Artsy_Tests => ios/ArtsyTests}/Model_Tests/UserTests.m (100%) rename {Artsy_Tests => ios/ArtsyTests}/Networking_Tests/AFHTTPRequestOperationJSONTests.m (100%) rename {Artsy_Tests => ios/ArtsyTests}/Networking_Tests/API_Modules/ARUserManagerTests.m (100%) rename {Artsy_Tests => ios/ArtsyTests}/Networking_Tests/API_Modules/ArtsyAPI+ErrorHandlers.m (100%) rename {Artsy_Tests => ios/ArtsyTests}/Networking_Tests/API_Modules/ArtsyAPI+GraphQLTests.m (100%) rename {Artsy_Tests => ios/ArtsyTests}/Networking_Tests/API_Modules/ArtsyAPI+PrivateTests.m (100%) rename {Artsy_Tests => ios/ArtsyTests}/Networking_Tests/API_Modules/ArtsyAPI+SystemTimeTests.m (100%) rename {Artsy_Tests => ios/ArtsyTests}/Networking_Tests/ARRouterTests.m (100%) rename {Artsy_Tests => ios/ArtsyTests}/Networking_Tests/ARSystemTimeTests.m (100%) rename {Artsy_Tests => ios/ArtsyTests}/Networking_Tests/LiveAuctionLotViewModelSpecs.swift (100%) rename {Artsy_Tests => ios/ArtsyTests}/Networking_Tests/Live_Auctions/LiveAuctionSocketCommunicatorSpec.swift (100%) rename {Artsy_Tests => ios/ArtsyTests}/Networking_Tests/Live_Auctions/LiveAuctionStateReconcilerSpec.swift (100%) rename {Artsy_Tests => ios/ArtsyTests}/Networking_Tests/Live_Auctions/LiveAuctionStaticDataFetcherSpec.swift (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/ARAnimatedTickViewSpec/deselected@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/ARAnimatedTickViewSpec/selected@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/ARAugmentedVIRViewControllerSpec/defaults_to_showing_info@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/ARAugmentedVIRViewControllerSpec/shows_the_right_info_when_a_wall_is_registered@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/ARAugmentedVIRViewControllerSpec/shows_the_right_info_when_an_artwork_was_placed@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/ARBidButtonSpec/an_open_aution_takes_priority_over_registered_bidding@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/ARBidButtonSpec/testBiddingClosedState@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/ARBidButtonSpec/testBiddingOpenState@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/ARBidButtonSpec/testBiddingRegistrationClosed@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/ARBidButtonSpec/testBiddingRegistrationPending@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/ARBidButtonSpec/testRegisterForceBidState@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/ARBidButtonSpec/testRegisterState@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/ARBidButtonSpec/testRegisteredState@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/ARCollapsableTextViewSpec/text_is_taller_than_collapsed_height_after_expansion_looks_correct@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/ARCollapsableTextViewSpec/text_is_taller_than_collapsed_height_before_expansion_looks_correct@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/ARCollapsableTextViewSpec/when_text_is_shorter_than_collapsed_height_looks_correct@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/ARCountdownViewSpec/looks_good_with_a_header@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/ARCountdownViewSpec/looks_ok_by_default@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/ARCountdownViewSpec/looks_ok_on_a_regular_size_class@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/ARCountdownViewSpec/looks_ok_when_configured_with_a_custom_colour@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/ARCustomEigenLabelsSpec/ARWarningView_looks_correct@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/AREmbeddedModelPreviewViewControllerSpec/iPhone_peek_preview_view_controller_displays_artwork@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/AREmbeddedModelsViewControllerSpec/masonry_layout_with_horizontal_rows_allows_a_trailing_entry_to_the_right_to_stick_out_if_it_sticks_out_50_of_its_height@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/AREmbeddedModelsViewControllerSpec/masonry_layout_with_horizontal_rows_moves_a_trailing_entry_to_the_left_if_it_would_normally_be_at_the_right_and_stick_out_from_the_rest_by_more_than_50_of_its_height@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/AREmbeddedModelsViewControllerSpec/masonry_layout_with_vertical_columns_allows_a_trailing_entry_to_the_right_to_stick_out_if_it_sticks_out_50_of_its_height@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/AREmbeddedModelsViewControllerSpec/masonry_layout_with_vertical_columns_moves_a_trailing_entry_to_the_left_if_it_would_normally_be_at_the_right_and_stick_out_from_the_rest_by_more_than_50_of_its_height@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/AREmbeddedModelsViewControllerSpec/truncates_long_titles@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/ARNavigationButtonSpecSpec/ARNavigationButton_default_border_really_long_title_and_subtitle@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/ARNavigationButtonSpecSpec/ARSerifNavigationButton_really_long_title_and_subtitle@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/ARNavigationButtonSpecSpec/navigationButtonWithTitle@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/ARNavigationButtonSpecSpec/navigationButtonWithTitleAnd5pxBorder@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/ARNavigationButtonSpecSpec/navigationButtonWithTitleAndNoBorder@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/ARNavigationButtonSpecSpec/navigationButtonWithTitleAndSubtitle@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/ARNavigationButtonSpecSpec/navigationButtonWithTitleAndSubtitleAnd5pxBorder@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/ARNavigationButtonSpecSpec/navigationButtonWithTitleAndSubtitleAndNoBorder@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/ARNavigationButtonSpecSpec/serifNavigationButtonWithTitle@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/ARNavigationButtonSpecSpec/serifNavigationButtonWithTitleAndSubtitle@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/ARNavigationControllerSpec/visuals_should_be_empty_for_a_rootVC@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/ARNavigationControllerSpec/visuals_should_be_show_a_back_button_with_2_view_controllers@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/ARSaleArtworkFlowCollectionViewCellSpec/looks_good_with_compact_cells@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/ARSaleArtworkFlowCollectionViewCellSpec/looks_good_with_regular_cells@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/ARSerifNavigationViewControllerSpec/_handles_the_back_button_correctly@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/ARSerifNavigationViewControllerSpec/_handles_the_fake_navigation_close_button_correctly@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/ARSignUpSplashViewControllerSpec/looks correct as ipad@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/ARSignUpSplashViewControllerSpec/looks correct as iphone@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/ARTextViewSpec/with_HTML_looks_right_with_multiple_paragraphs@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/AuctionInformationViewControllerTests/a_closed_sale__shows_the_sale_is_closed@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/AuctionLotMetadataStackScrollViewTests/looks_as_expected_when_small@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/AuctionLotMetadataStackScrollViewTests/looks_right_when_expanded@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/AuctionTitleViewTests/with_the_registration_button_having_side_insets__title_view__looks_good_with_a_logged_out_registration_status@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/AuctionTitleViewTests/with_the_registration_button_having_side_insets__title_view__looks_good_with_a_not_registered_registration_status@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/AuctionTitleViewTests/with_the_registration_button_having_side_insets__title_view__looks_good_with_a_registered_registration_status@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/AuctionTitleViewTests/with_the_registration_button_having_side_insets__title_view__looks_good_with_a_sale_and_user_requiring_identity_verification@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/AuctionTitleViewTests/with_the_registration_button_having_side_insets__title_view__looks_good_with_a_sale_and_user_who_has_already_been_identity_verified@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/AuctionTitleViewTests/with_the_registration_button_having_side_insets__title_view__looks_good_without_a_info_button@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/AuctionTitleViewTests/with_the_registration_button_having_side_insets__title_view__looks_good_without_a_registration_status@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/AuctionTitleViewTests/with_the_registration_button_spanning_the_full_width__title_view__looks_good_with_a_logged_out_registration_status@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/AuctionTitleViewTests/with_the_registration_button_spanning_the_full_width__title_view__looks_good_with_a_not_registered_registration_status@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/AuctionTitleViewTests/with_the_registration_button_spanning_the_full_width__title_view__looks_good_with_a_registered_registration_status@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/AuctionTitleViewTests/with_the_registration_button_spanning_the_full_width__title_view__looks_good_with_a_sale_and_user_requiring_identity_verification@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/AuctionTitleViewTests/with_the_registration_button_spanning_the_full_width__title_view__looks_good_with_a_sale_and_user_who_has_already_been_identity_verified@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/AuctionTitleViewTests/with_the_registration_button_spanning_the_full_width__title_view__looks_good_without_a_info_button@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/AuctionTitleViewTests/with_the_registration_button_spanning_the_full_width__title_view__looks_good_without_a_registration_status@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/AuctionViewControllerTests/handles_showing_information_for_upcoming_auctions_with_long_names_with_no_sale_artworks@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/AuctionViewControllerTests/handles_showing_information_for_upcoming_auctions_with_no_sale_artworks@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/AuctionViewControllerTests/lot_standings__looks_good_with_lot_standings@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/LiveAuctionBidButtonTests/handles_getting_outbid_with_lot_state_changes_before_animation_completes@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_biddable@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_closed@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_failed@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_highest_bidder__and_can_re_bid@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_in_progress@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_max_bidder@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_not_max_bidder@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_passed@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_registration_closed@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_registration_pending@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_registration_required@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_sold@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_upcoming@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_waiting@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_waiting_on_auctioneer_confirmation@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/LiveAuctionBidHistoryViewControllerTests/cells__looks_right_for_a_cancelled_floor_bid@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/LiveAuctionBidHistoryViewControllerTests/cells__looks_right_for_bid@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/LiveAuctionBidHistoryViewControllerTests/cells__looks_right_for_closed@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/LiveAuctionBidHistoryViewControllerTests/cells__looks_right_for_closed_state@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/LiveAuctionBidHistoryViewControllerTests/cells__looks_right_for_fair_warning@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/LiveAuctionBidHistoryViewControllerTests/cells__looks_right_for_final_call@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/LiveAuctionBidHistoryViewControllerTests/cells__looks_right_for_floor_bid@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/LiveAuctionBidHistoryViewControllerTests/cells__looks_right_for_open@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/LiveAuctionFancyLotCollectionViewLayoutTests/looks_good_compact@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/LiveAuctionFancyLotCollectionViewLayoutTests/normal_size__looks_good_by_default@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/LiveAuctionFancyLotCollectionViewLayoutTests/normal_size__looks_good_when_scrolled_back_a_bit@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/LiveAuctionFancyLotCollectionViewLayoutTests/normal_size__looks_good_when_scrolled_back_a_lot@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/LiveAuctionFancyLotCollectionViewLayoutTests/normal_size__looks_good_when_scrolled_forward_a_bit@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/LiveAuctionFancyLotCollectionViewLayoutTests/normal_size__looks_good_when_scrolled_forward_a_lot@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/LiveAuctionLoadingViewSpec/looks_good_by_default@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/LiveAuctionLotListStickyCellCollectionViewLayoutTests/looks_good_by_default@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/LiveAuctionLotListStickyCellCollectionViewLayoutTests/looks_good_when_stuck_to_the_bottom@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/LiveAuctionLotListStickyCellCollectionViewLayoutTests/looks_good_when_stuck_to_the_top@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/LiveAuctionLotListViewControllerTests/looks_good_by_default@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/LiveAuctionLotListViewControllerTests/shows_the_selected_lot@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/LiveAuctionLotSetViewControllerTests/compact_horizontal_size_class__live_auctions_lot_set__looks_good_by_default@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/LiveAuctionLotSetViewControllerTests/really_compact_horizontal_size_class__live_auctions_lot_set__looks_good_by_default@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/LiveAuctionLotSetViewControllerTests/regular_horizontal_size_class___live_auctions_lot_set__looks_good_by_default@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/LiveAuctionLotViewControllerTests/snapshots__doesnt_show_a_live_auction_call_to_action_when_auction_is_closed@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/LiveAuctionLotViewControllerTests/snapshots__handles_updates_to_number_of_bids@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/LiveAuctionLotViewControllerTests/snapshots__looks_good_for_live_lots@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/LiveAuctionLotViewControllerTests/snapshots__looks_good_for_lots_with_a__not_yet_met__reserve@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/LiveAuctionLotViewControllerTests/snapshots__looks_good_for_lots_with_a_met_reserve@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/LiveAuctionLotViewControllerTests/snapshots__looks_good_for_out_of_order_lots@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/LiveAuctionLotViewControllerTests/snapshots__looks_good_for_passed_lots@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/LiveAuctionLotViewControllerTests/snapshots__looks_good_for_sold_lots@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/LiveAuctionLotViewControllerTests/snapshots__looks_good_for_upcoming_lots@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/LiveAuctionLotViewControllerTests/snapshots__looks_good_for_upcoming_lots_that_the_user_is_winning@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/LiveAuctionLotViewControllerTests/snapshots__looks_good_for_won_lots@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/LiveAuctionLotViewControllerTests/snapshots__looks_good_when_its_lot_becomes_the_current_lot@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/LiveAuctionViewControllerTests/handles_splitting_in_an_iPad@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/LiveAuctionViewControllerTests/looks_good_by_default@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/LiveAuctionViewControllerTests/shows_a_removes_disconnected_screen_when_socket_reconnects@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/LiveAuctionViewControllerTests/shows_a_socket_disconnect_screen_when_socket_fails@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/LiveAuctionViewControllerTests/shows_an_error_screen_when_static_data_fails@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/LiveAuctionViewControllerTests/shows_an_operator_disconnect_screen_when_operator_disconnects@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/LiveAuctionViewControllerTests/shows_an_operator_disconnected_screen_when_operator_reconnects@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/LotStandingsViewTests/iPad__looks_good_by_default__looks_good@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/LotStandingsViewTests/iPhone__looks_good_by_default__looks_good@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/RefinementOptionsViewControllerTests/enables_apply_reset_buttons_when_options_are_changed@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/RefinementOptionsViewControllerTests/looks_good_by_default@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/RefinementOptionsViewControllerTests/looks_good_by_when_there_are_no_estimates@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/RefinementOptionsViewControllerTests/looks_good_when_configured_with_options_and_changed_options@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/RefinementOptionsViewControllerTests/looks_good_when_reset@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/RefinementOptionsViewControllerTests/looks_good_with_gene_refine_settings@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/RefinementOptionsViewControllerTests/looks_good_with_gene_refine_settings_showing_price@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/SaleOnHoldOverlayViewTests/initial_message@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/SaleOnHoldOverlayViewTests/looks_right_by_default_on_iPad@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/SaleOnHoldOverlayViewTests/looks_right_by_default_on_iPhone@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/SaleOnHoldOverlayViewTests/looks_right_with_a_custom_message_on_iPad@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/SaleOnHoldOverlayViewTests/looks_right_with_a_custom_message_on_iPhone@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/SaleOnHoldOverlayViewTests/updated_message@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/ReferenceImages/TextStackTests/looks_like_the_API_spec@3x.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/Stubs/ARUserManager+Stubs.h (100%) rename {Artsy_Tests => ios/ArtsyTests}/Stubs/ARUserManager+Stubs.m (100%) rename {Artsy_Tests => ios/ArtsyTests}/Stubs/ArtsyOHHTTPAPI.h (100%) rename {Artsy_Tests => ios/ArtsyTests}/Stubs/ArtsyOHHTTPAPI.m (100%) rename {Artsy_Tests => ios/ArtsyTests}/Stubs/Artwork+Extensions.h (100%) rename {Artsy_Tests => ios/ArtsyTests}/Stubs/Artwork+Extensions.m (100%) rename {Artsy_Tests => ios/ArtsyTests}/Stubs/Bid+Extensions.h (100%) rename {Artsy_Tests => ios/ArtsyTests}/Stubs/Bid+Extensions.m (100%) rename {Artsy_Tests => ios/ArtsyTests}/Stubs/Extensions.h (100%) rename {Artsy_Tests => ios/ArtsyTests}/Stubs/OHHTTPStubs+Artsy.h (100%) rename {Artsy_Tests => ios/ArtsyTests}/Stubs/OHHTTPStubs+Artsy.m (100%) rename {Artsy_Tests => ios/ArtsyTests}/Stubs/Sale+Extensions.h (100%) rename {Artsy_Tests => ios/ArtsyTests}/Stubs/Sale+Extensions.m (100%) rename {Artsy_Tests => ios/ArtsyTests}/Stubs/SaleArtwork+Extensions.h (100%) rename {Artsy_Tests => ios/ArtsyTests}/Stubs/SaleArtwork+Extensions.m (100%) rename {Artsy_Tests => ios/ArtsyTests}/Stubs/Show+Extensions.h (100%) rename {Artsy_Tests => ios/ArtsyTests}/Stubs/Show+Extensions.m (100%) rename {Artsy_Tests => ios/ArtsyTests}/Supporting_Files/ARTestContext.h (100%) rename {Artsy_Tests => ios/ArtsyTests}/Supporting_Files/ARTestContext.m (100%) rename {Artsy_Tests => ios/ArtsyTests}/Supporting_Files/ARTestHelper.h (100%) rename {Artsy_Tests => ios/ArtsyTests}/Supporting_Files/ARTestHelper.m (100%) rename {Artsy_Tests => ios/ArtsyTests}/Supporting_Files/Artsy-Tests-Bridging-Header.h (100%) rename {Artsy_Tests => ios/ArtsyTests}/Supporting_Files/Artsy_Tests-Info.plist (100%) rename {Artsy_Tests => ios/ArtsyTests}/Supporting_Files/Artsy_Tests-Prefix.pch (100%) rename {Artsy_Tests => ios/ArtsyTests}/Supporting_Files/en.lproj/InfoPlist.strings (100%) rename {Artsy_Tests => ios/ArtsyTests}/Supporting_Files/stub.jpg (100%) rename {Artsy_Tests => ios/ArtsyTests}/Supporting_Files/stubbed_image.png (100%) rename {Artsy_Tests => ios/ArtsyTests}/Util_Tests/ARDefaultsTests.m (100%) rename {Artsy_Tests => ios/ArtsyTests}/Util_Tests/Enumerations/UIApplicationStateEnumTests.m (100%) rename {Artsy_Tests => ios/ArtsyTests}/Util_Tests/NSDate+RangeTests.m (100%) rename {Artsy_Tests => ios/ArtsyTests}/Util_Tests/Sharing_Tests/ARImageItemProviderTests.m (100%) rename {Artsy_Tests => ios/ArtsyTests}/Util_Tests/Sharing_Tests/ARMessageItemProviderTests.m (100%) rename {Artsy_Tests => ios/ArtsyTests}/Util_Tests/Sharing_Tests/ARSharingControllerTests.m (100%) rename {Artsy_Tests => ios/ArtsyTests}/Util_Tests/Sharing_Tests/ARURLItemProviderTests.m (100%) rename {Artsy_Tests => ios/ArtsyTests}/Util_Tests/UINavigationController_InnermostTopViewControllerSpec.m (100%) rename {Artsy_Tests => ios/ArtsyTests}/View_Controller_Tests/ARVIR/ARAugmentRealitySetupViewControllerSpec.m (100%) rename {Artsy_Tests => ios/ArtsyTests}/View_Controller_Tests/ARVIR/ARAugmentedRealityConfigSpec.m (100%) rename {Artsy_Tests => ios/ArtsyTests}/View_Controller_Tests/ARVIR/ARAugmentedVIRViewControllerSpec.m (100%) rename {Artsy_Tests => ios/ArtsyTests}/View_Controller_Tests/ARVIR/greyscaleImage.jpg (100%) rename {Artsy_Tests => ios/ArtsyTests}/View_Controller_Tests/Auction/AuctionBiddersNetworkModel.swift (100%) rename {Artsy_Tests => ios/ArtsyTests}/View_Controller_Tests/Auction/AuctionInformationViewControllerTests.swift (100%) rename {Artsy_Tests => ios/ArtsyTests}/View_Controller_Tests/Auction/AuctionSaleNetworkModelTests.swift (100%) rename {Artsy_Tests => ios/ArtsyTests}/View_Controller_Tests/Auction/SaleArtworkViewModelTests.swift (100%) rename {Artsy_Tests => ios/ArtsyTests}/View_Controller_Tests/Auction/SaleViewModelTests.swift (100%) rename {Artsy_Tests => ios/ArtsyTests}/View_Controller_Tests/Auction/Views/AuctionLotMetadataStackScrollViewTests.swift (100%) rename {Artsy_Tests => ios/ArtsyTests}/View_Controller_Tests/Auction/Views/TextStackTests.swift (100%) rename {Artsy_Tests => ios/ArtsyTests}/View_Controller_Tests/Components/ARSerifNavigationViewControllerSpec.m (100%) rename {Artsy_Tests => ios/ArtsyTests}/View_Controller_Tests/Embedded/ARNavigationButtonsViewControllerTests.m (100%) rename {Artsy_Tests => ios/ArtsyTests}/View_Controller_Tests/LiveAuctionCurrentLotCTAPositionManagerTests.swift (100%) rename {Artsy_Tests => ios/ArtsyTests}/View_Controller_Tests/Live_Auction/BiddingIncrementSpecs.swift (100%) rename {Artsy_Tests => ios/ArtsyTests}/View_Controller_Tests/Live_Auction/FakeSalesPerson.swift (100%) rename {Artsy_Tests => ios/ArtsyTests}/View_Controller_Tests/Live_Auction/LiveAuctionBidButtonTests.swift (100%) rename {Artsy_Tests => ios/ArtsyTests}/View_Controller_Tests/Live_Auction/LiveAuctionBidViewControllerTests.swift (100%) rename {Artsy_Tests => ios/ArtsyTests}/View_Controller_Tests/Live_Auction/LiveAuctionBiddingViewModelTests.swift (100%) rename {Artsy_Tests => ios/ArtsyTests}/View_Controller_Tests/Live_Auction/LiveAuctionFancyLotCollectionViewLayoutTests.swift (100%) rename {Artsy_Tests => ios/ArtsyTests}/View_Controller_Tests/Live_Auction/LiveAuctionLoadingViewSpec.swift (100%) rename {Artsy_Tests => ios/ArtsyTests}/View_Controller_Tests/Live_Auction/LiveAuctionLotBidHistoryGestureControllerTests.swift (100%) rename {Artsy_Tests => ios/ArtsyTests}/View_Controller_Tests/Live_Auction/LiveAuctionLotListStickyCellCollectionViewLayoutTests.swift (100%) rename {Artsy_Tests => ios/ArtsyTests}/View_Controller_Tests/Live_Auction/LiveAuctionLotListViewControllerTests.swift (100%) rename {Artsy_Tests => ios/ArtsyTests}/View_Controller_Tests/Live_Auction/LiveAuctionLotSetViewControllerTests.swift (100%) rename {Artsy_Tests => ios/ArtsyTests}/View_Controller_Tests/Live_Auction/LiveAuctionLotViewControllerTests.swift (100%) rename {Artsy_Tests => ios/ArtsyTests}/View_Controller_Tests/Live_Auction/LiveAuctionViewControllerTests.swift (100%) rename {Artsy_Tests => ios/ArtsyTests}/View_Controller_Tests/Live_Auction/LiveSalesPersonSpecs.swift (100%) rename {Artsy_Tests => ios/ArtsyTests}/View_Controller_Tests/SaleOnHoldOverlayViewTests.swift (100%) rename {Artsy_Tests => ios/ArtsyTests}/View_Controller_Tests/Util/ARFileUtilsTests.m (100%) rename {Artsy_Tests => ios/ArtsyTests}/View_Controller_Tests/Util/ARNavigationControllerTests.m (100%) rename {Artsy_Tests => ios/ArtsyTests}/View_Controller_Tests/Util/ARValueTransformerTests.m (100%) rename {Artsy_Tests => ios/ArtsyTests}/View_Controller_Tests/Web_Browsing/ARAuctionWebViewControllerTests.m (100%) rename {Artsy_Tests => ios/ArtsyTests}/View_Controller_Tests/Web_Browsing/ARExternalWebBrowserViewControllerTests.m (100%) rename {Artsy_Tests => ios/ArtsyTests}/View_Controller_Tests/Web_Browsing/ARInternalMobileWebViewControllerTests.m (100%) rename {Artsy_Tests => ios/ArtsyTests}/View_Controller_Tests/Web_Browsing/ARInternalShareValidatorTests.m (100%) rename {Artsy_Tests => ios/ArtsyTests}/View_Tests/ARAnimatedTickViewTest.m (100%) rename {Artsy_Tests => ios/ArtsyTests}/View_Tests/ARCustomEigenLabelTests.m (100%) rename {Artsy_Tests => ios/ArtsyTests}/View_Tests/ARTextViewTests.m (100%) rename {Artsy_Tests => ios/ArtsyTests}/View_Tests/Buttons/ARBidButtonTests.m (100%) rename {Artsy_Tests => ios/ArtsyTests}/View_Tests/Buttons/ARNavigationButtonTests.m (100%) rename {Artsy_Tests => ios/ArtsyTests}/View_Tests/Buttons/NavigationButtonTests.swift (100%) rename {Artsy_Tests => ios/ArtsyTests}/View_Tests/ORStackViewArtsyCategoriesTests.m (100%) rename {ArtsyWidget => ios/ArtsyWidget}/ArtsyWidgets.swift (100%) create mode 100644 ios/ArtsyWidget/Assets.xcassets/AccentColor.colorset/Contents.json create mode 100644 ios/ArtsyWidget/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 ios/ArtsyWidget/Assets.xcassets/BlackArtsyLogo.imageset/Contents.json rename {ArtsyWidget => ios/ArtsyWidget}/Assets.xcassets/BlackArtsyLogo.imageset/android-chrome-512x512-1.png (100%) rename {ArtsyWidget => ios/ArtsyWidget}/Assets.xcassets/BlackArtsyLogo.imageset/android-chrome-512x512-2.png (100%) rename {ArtsyWidget => ios/ArtsyWidget}/Assets.xcassets/BlackArtsyLogo.imageset/android-chrome-512x512.png (100%) create mode 100644 ios/ArtsyWidget/Assets.xcassets/Contents.json rename {ArtsyWidget => ios/ArtsyWidget}/Assets.xcassets/PrimaryArticleImage.imageset/Contents.json (100%) rename {ArtsyWidget => ios/ArtsyWidget}/Assets.xcassets/PrimaryArticleImage.imageset/larger-1.jpg (100%) rename {ArtsyWidget => ios/ArtsyWidget}/Assets.xcassets/PrimaryArticleImage.imageset/larger-2.jpg (100%) rename {ArtsyWidget => ios/ArtsyWidget}/Assets.xcassets/PrimaryArticleImage.imageset/larger-3.jpg (100%) create mode 100644 ios/ArtsyWidget/Assets.xcassets/PrimaryArtworkImage.imageset/Contents.json rename {ArtsyWidget => ios/ArtsyWidget}/Assets.xcassets/PrimaryArtworkImage.imageset/larger-1.jpg (100%) rename {ArtsyWidget => ios/ArtsyWidget}/Assets.xcassets/PrimaryArtworkImage.imageset/larger-2.jpg (100%) rename {ArtsyWidget => ios/ArtsyWidget}/Assets.xcassets/PrimaryArtworkImage.imageset/larger.jpg (100%) rename {ArtsyWidget => ios/ArtsyWidget}/Assets.xcassets/QuaternaryArticleImage.imageset/Contents.json (100%) rename {ArtsyWidget => ios/ArtsyWidget}/Assets.xcassets/QuaternaryArticleImage.imageset/larger-3.jpg (100%) rename {ArtsyWidget => ios/ArtsyWidget}/Assets.xcassets/QuaternaryArticleImage.imageset/larger-4.jpg (100%) rename {ArtsyWidget => ios/ArtsyWidget}/Assets.xcassets/QuaternaryArticleImage.imageset/larger-5.jpg (100%) create mode 100644 ios/ArtsyWidget/Assets.xcassets/QuaternaryArtworkImage.imageset/Contents.json rename {ArtsyWidget => ios/ArtsyWidget}/Assets.xcassets/QuaternaryArtworkImage.imageset/larger-3.jpg (100%) rename {ArtsyWidget => ios/ArtsyWidget}/Assets.xcassets/QuaternaryArtworkImage.imageset/larger-4.jpg (100%) rename {ArtsyWidget => ios/ArtsyWidget}/Assets.xcassets/QuaternaryArtworkImage.imageset/larger-5.jpg (100%) rename {ArtsyWidget => ios/ArtsyWidget}/Assets.xcassets/SecondaryArticleImage.imageset/Contents.json (100%) rename {ArtsyWidget => ios/ArtsyWidget}/Assets.xcassets/SecondaryArticleImage.imageset/LlvT0YMuMETC0VYbgsJR4g_New+Collector+copy-1.jpg (100%) rename {ArtsyWidget => ios/ArtsyWidget}/Assets.xcassets/SecondaryArticleImage.imageset/LlvT0YMuMETC0VYbgsJR4g_New+Collector+copy-2.jpg (100%) rename {ArtsyWidget => ios/ArtsyWidget}/Assets.xcassets/SecondaryArticleImage.imageset/LlvT0YMuMETC0VYbgsJR4g_New+Collector+copy.jpg (100%) create mode 100644 ios/ArtsyWidget/Assets.xcassets/SecondaryArtworkImage.imageset/Contents.json rename {ArtsyWidget => ios/ArtsyWidget}/Assets.xcassets/SecondaryArtworkImage.imageset/larger-1.jpg (100%) rename {ArtsyWidget => ios/ArtsyWidget}/Assets.xcassets/SecondaryArtworkImage.imageset/larger-2.jpg (100%) rename {ArtsyWidget => ios/ArtsyWidget}/Assets.xcassets/SecondaryArtworkImage.imageset/larger-3.jpg (100%) rename {ArtsyWidget => ios/ArtsyWidget}/Assets.xcassets/TertiaryArticleImage.imageset/Contents.json (100%) rename {ArtsyWidget => ios/ArtsyWidget}/Assets.xcassets/TertiaryArticleImage.imageset/larger-2.jpg (100%) rename {ArtsyWidget => ios/ArtsyWidget}/Assets.xcassets/TertiaryArticleImage.imageset/larger-3.jpg (100%) rename {ArtsyWidget => ios/ArtsyWidget}/Assets.xcassets/TertiaryArticleImage.imageset/larger-4.jpg (100%) create mode 100644 ios/ArtsyWidget/Assets.xcassets/TertiaryArtworkImage.imageset/Contents.json rename {ArtsyWidget => ios/ArtsyWidget}/Assets.xcassets/TertiaryArtworkImage.imageset/larger-2.jpg (100%) rename {ArtsyWidget => ios/ArtsyWidget}/Assets.xcassets/TertiaryArtworkImage.imageset/larger-3.jpg (100%) rename {ArtsyWidget => ios/ArtsyWidget}/Assets.xcassets/TertiaryArtworkImage.imageset/larger-4.jpg (100%) create mode 100644 ios/ArtsyWidget/Assets.xcassets/WhiteArtsyLogo.imageset/Contents.json rename {ArtsyWidget => ios/ArtsyWidget}/Assets.xcassets/WhiteArtsyLogo.imageset/white-artsy-logo-1.png (100%) rename {ArtsyWidget => ios/ArtsyWidget}/Assets.xcassets/WhiteArtsyLogo.imageset/white-artsy-logo-2.png (100%) rename {ArtsyWidget => ios/ArtsyWidget}/Assets.xcassets/WhiteArtsyLogo.imageset/white-artsy-logo.png (100%) create mode 100644 ios/ArtsyWidget/Assets.xcassets/WidgetBackground.colorset/Contents.json rename {ArtsyWidget => ios/ArtsyWidget}/FeaturedArtworks/FeaturedArtworks+Entry.swift (100%) rename {ArtsyWidget => ios/ArtsyWidget}/FeaturedArtworks/FeaturedArtworks+LargeView.swift (100%) rename {ArtsyWidget => ios/ArtsyWidget}/FeaturedArtworks/FeaturedArtworks+MediumView.swift (100%) rename {ArtsyWidget => ios/ArtsyWidget}/FeaturedArtworks/FeaturedArtworks+Provider.swift (100%) rename {ArtsyWidget => ios/ArtsyWidget}/FeaturedArtworks/FeaturedArtworks+SmallView.swift (100%) rename {ArtsyWidget => ios/ArtsyWidget}/FeaturedArtworks/FeaturedArtworks+Timeline.swift (100%) rename {ArtsyWidget => ios/ArtsyWidget}/FeaturedArtworks/FeaturedArtworks+View.swift (100%) rename {ArtsyWidget => ios/ArtsyWidget}/FeaturedArtworks/FeaturedArtworks+Widget.swift (100%) rename {ArtsyWidget => ios/ArtsyWidget}/FeaturedArtworks/FeaturedArtworks.swift (100%) rename {ArtsyWidget => ios/ArtsyWidget}/Fixtures.swift (100%) rename {ArtsyWidget => ios/ArtsyWidget}/FullBleed/FullBleed+Entry.swift (100%) rename {ArtsyWidget => ios/ArtsyWidget}/FullBleed/FullBleed+Provider.swift (100%) rename {ArtsyWidget => ios/ArtsyWidget}/FullBleed/FullBleed+Timeline.swift (100%) rename {ArtsyWidget => ios/ArtsyWidget}/FullBleed/FullBleed+View.swift (100%) rename {ArtsyWidget => ios/ArtsyWidget}/FullBleed/FullBleed+Widget.swift (100%) rename {ArtsyWidget => ios/ArtsyWidget}/FullBleed/FullBleed.swift (100%) rename {ArtsyWidget => ios/ArtsyWidget}/Info.plist (72%) rename {ArtsyWidget => ios/ArtsyWidget}/LatestArticles/LatestArticles+Entry.swift (100%) rename {ArtsyWidget => ios/ArtsyWidget}/LatestArticles/LatestArticles+LargeView.swift (100%) rename {ArtsyWidget => ios/ArtsyWidget}/LatestArticles/LatestArticles+MediumView.swift (100%) rename {ArtsyWidget => ios/ArtsyWidget}/LatestArticles/LatestArticles+Provider.swift (100%) rename {ArtsyWidget => ios/ArtsyWidget}/LatestArticles/LatestArticles+SmallView.swift (100%) rename {ArtsyWidget => ios/ArtsyWidget}/LatestArticles/LatestArticles+Timeline.swift (100%) rename {ArtsyWidget => ios/ArtsyWidget}/LatestArticles/LatestArticles+View.swift (100%) rename {ArtsyWidget => ios/ArtsyWidget}/LatestArticles/LatestArticles+Widget.swift (100%) rename {ArtsyWidget => ios/ArtsyWidget}/LatestArticles/LatestArticles.swift (100%) rename {ArtsyWidget => ios/ArtsyWidget}/Models/Article.swift (100%) rename {ArtsyWidget => ios/ArtsyWidget}/Models/ArticleParser.swift (100%) rename {ArtsyWidget => ios/ArtsyWidget}/Models/ArticleStore.swift (100%) rename {ArtsyWidget => ios/ArtsyWidget}/Models/Artist.swift (100%) rename {ArtsyWidget => ios/ArtsyWidget}/Models/Artwork.swift (100%) rename {ArtsyWidget => ios/ArtsyWidget}/Models/ArtworkImage.swift (100%) rename {ArtsyWidget => ios/ArtsyWidget}/Models/ArtworkStore.swift (100%) rename {ArtsyWidget => ios/ArtsyWidget}/Models/VolleyClient.swift (100%) rename {ArtsyWidget => ios/ArtsyWidget}/Models/VolleyMetric.swift (100%) rename {ArtsyWidget => ios/ArtsyWidget}/Models/VolleyPayload.swift (100%) rename {ArtsyWidget => ios/ArtsyWidget}/Shared/ImageUrl.swift (100%) rename {ArtsyWidget => ios/ArtsyWidget}/Shared/PrimaryText.swift (100%) rename {ArtsyWidget => ios/ArtsyWidget}/Shared/Schedule.swift (100%) rename {ArtsyWidget => ios/ArtsyWidget}/Shared/SecondaryText.swift (100%) rename {ArtsyWidget => ios/ArtsyWidget}/Shared/WidgetUrl.swift (100%) rename {BrazePushServiceExtension => ios/BrazePushServiceExtension}/Info.plist (77%) rename {BrazePushServiceExtension => ios/BrazePushServiceExtension}/NotificationService.swift (100%) create mode 100644 ios/Podfile rename Podfile.lock => ios/Podfile.lock (77%) create mode 100644 platform-deltas.txt delete mode 100755 scripts/start_packager.sh rename src/app/{AndroidApp.tsx => App.tsx} (88%) delete mode 100644 src/app/Components/NativeTabs.tsx create mode 100644 src/app/NativeModules/Admin.tsx create mode 100644 src/app/NativeModules/CityGuideView.tsx create mode 100644 src/app/NativeModules/LiveAuctionView.tsx delete mode 100644 storybook.json diff --git a/.circleci/config.yml b/.circleci/config.yml index 586da9e893c..0b1da66e766 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -135,7 +135,7 @@ commands: - save_cache: key: v4-gems-{{ checksum "Gemfile.lock" }}-{{ arch }} paths: - - vendor/bundle + - .vendor install-cocoapods: steps: - restore_cache: @@ -143,27 +143,24 @@ commands: - v9-pods-{{ checksum ".manifests/cocoapods" }} - run: name: Install Pods - command: bundle exec pod check --ignore-dev-pods || bundle exec pod install - - run: - name: Update echo - command: ls Artsy/App/EchoNew.json || ./scripts/update-echo + command: cd ios; bundle exec pod check --ignore-dev-pods || bundle exec pod install; cd ..; - save_cache: key: v9-pods-{{ checksum ".manifests/cocoapods" }} paths: - - Pods - # this changes after pod install because we don't instal dev tools on CI + - ios/Pods + # this changes after pod install because we don't install dev tools on CI # so we save it to the cache to avoid comparison errors with Pods/Manifest.lock - - Podfile.lock + - ios/Podfile.lock build-app-ios: steps: - restore_cache: keys: - - v5-app_build_ios-{{ checksum ".manifests/app_build" }} + - v6-app_build_ios-{{ checksum ".manifests/app_build" }} - run: name: Build App command: ./scripts/ci-ios - save_cache: - key: v5-app_build_ios-{{ checksum ".manifests/app_build" }} + key: v6-app_build_ios-{{ checksum ".manifests/app_build" }} paths: - derived_data - node_modules/react-native-config @@ -225,7 +222,7 @@ jobs: deploy-nightly-beta: environment: - BUNDLE_PATH: vendor/bundle # path to install gems and use for caching + BUNDLE_PATH: .vendor # path to install gems and use for caching macos: xcode: 13.2.1 @@ -269,7 +266,7 @@ jobs: check-flags: environment: - BUNDLE_PATH: vendor/bundle # path to install gems and use for caching + BUNDLE_PATH: .vendor # path to install gems and use for caching macos: xcode: 13.2.1 @@ -285,7 +282,7 @@ jobs: check-if-app-has-been-approved-for-release: environment: - BUNDLE_PATH: vendor/bundle # path to install gems and use for caching + BUNDLE_PATH: .vendor # path to install gems and use for caching macos: xcode: 13.2.1 @@ -366,7 +363,7 @@ jobs: build-test-app-ios: environment: - BUNDLE_PATH: vendor/bundle # path to install gems and use for caching + BUNDLE_PATH: .vendor # path to install gems and use for caching macos: xcode: 13.2.1 @@ -376,7 +373,7 @@ jobs: at: ../workspace - restore_cache: keys: - - v6-test-success-{{ checksum "../workspace/.manifests/native_code" }} + - v7-test-success-{{ checksum "../workspace/.manifests/native_code" }} # we can quit the macos build early if there were no native code changes # and we're not on the beta branch - run: @@ -413,7 +410,7 @@ jobs: name: Run tests if native code has changed command: ls xcode_test_raw.log || ./scripts/ci-test-ios - save_cache: - key: v6-test-success-{{ checksum ".manifests/native_code" }} + key: v7-test-success-{{ checksum ".manifests/native_code" }} paths: - xcode_test_raw.log @@ -438,7 +435,7 @@ jobs: build-test-app-android: environment: - BUNDLE_PATH: vendor/bundle # path to install gems and use for caching + BUNDLE_PATH: .vendor # path to install gems and use for caching docker: - image: circleci/android:api-29-node resource_class: large @@ -465,7 +462,7 @@ jobs: promote-beta-to-app-store: environment: - BUNDLE_PATH: vendor/bundle # path to install gems and use for caching + BUNDLE_PATH: .vendor # path to install gems and use for caching macos: xcode: 13.2.1 steps: @@ -479,7 +476,7 @@ jobs: promote-beta-to-play-store: environment: - BUNDLE_PATH: vendor/bundle # path to install gems and use for caching + BUNDLE_PATH: .vendor # path to install gems and use for caching docker: - image: circleci/android:api-29-node @@ -512,7 +509,7 @@ jobs: path: .manifests release-ios-app: environment: - BUNDLE_PATH: vendor/bundle # path to install gems and use for caching + BUNDLE_PATH: .vendor # path to install gems and use for caching macos: xcode: 13.2.1 steps: diff --git a/.gitignore b/.gitignore index 978a3b2ec82..dc02a225088 100644 --- a/.gitignore +++ b/.gitignore @@ -22,8 +22,7 @@ tmtags tmtagsHistory config/releasenotes.txt Podfile.local -chairs/ -Artsy.xcodeproj/project.xcworkspace/xcshareddata/ +ios/Artsy.xcodeproj/project.xcworkspace/xcshareddata/ .vendor/ compiler_commands.json .swiftpm @@ -33,8 +32,8 @@ net.artsy.artsy.dev.pem .clang-format # See note in Podfile -Artsy/App/Echo.json -Artsy/App/EchoNew.json +ios/Artsy/App/Echo.json +ios/Artsy/App/EchoNew.json # Fastlane Preview.html @@ -42,6 +41,10 @@ fastlane/report.xml fastlane/Preview.html .vscode/.browse.VC.db +<<<<<<< HEAD +ios/Artsy.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +======= +>>>>>>> origin/main .vendor @@ -50,7 +53,7 @@ Pods # build artefacts derived_data -Artsy/Networking/ARReactPackagerHost.m +ios/Artsy/Networking/ARReactPackagerHost.m # COPIED FROM EMISSION @@ -132,6 +135,7 @@ android-secret.json # Fonts android/app/src/main/assets/fonts/* +ios/eigen/fonts/* # Firebase files diff --git a/.secrets.baseline b/.secrets.baseline index 089cb8b2abf..bfb68644cfb 100644 --- a/.secrets.baseline +++ b/.secrets.baseline @@ -66,10 +66,6 @@ { "path": "detect_secrets.filters.allowlist.is_line_allowlisted" }, - { - "path": "detect_secrets.filters.common.is_baseline_file", - "filename": ".secrets.baseline" - }, { "path": "detect_secrets.filters.common.is_ignored_due_to_verification_policies", "min_level": 2 @@ -114,304 +110,320 @@ } ], "results": { - "Artsy.xcodeproj/xcshareddata/xcschemes/Artsy (Release build).xcscheme": [ + "android/app/build.gradle": [ { "type": "Hex High Entropy String", - "filename": "Artsy.xcodeproj/xcshareddata/xcschemes/Artsy (Release build).xcscheme", - "hashed_secret": "15a5431bd32fc0fb1dd2bac526fb16d1494753be", + "filename": "android/app/build.gradle", + "hashed_secret": "91f71e355c66ef5ff819b35c867d4d28b9a8c469", + "is_verified": false, + "line_number": 153 + } + ], + "ios/Artsy.xcodeproj/xcshareddata/xcschemes/Artsy (Release).xcscheme": [ + { + "type": "Hex High Entropy String", + "filename": "ios/Artsy.xcodeproj/xcshareddata/xcschemes/Artsy (Release).xcscheme", + "hashed_secret": "6760dd79e63f3070b115309c8e3f331873583739", "is_verified": false, "line_number": 17 } ], - "Artsy.xcodeproj/xcshareddata/xcschemes/Artsy Stickers.xcscheme": [ + "ios/Artsy.xcodeproj/xcshareddata/xcschemes/Artsy.xcscheme": [ { "type": "Hex High Entropy String", - "filename": "Artsy.xcodeproj/xcshareddata/xcschemes/Artsy Stickers.xcscheme", - "hashed_secret": "6aabb8b02d2915e10a5e6335cfc9af08a6f3f708", + "filename": "ios/Artsy.xcodeproj/xcshareddata/xcschemes/Artsy.xcscheme", + "hashed_secret": "6760dd79e63f3070b115309c8e3f331873583739", + "is_verified": false, + "line_number": 17 + }, + { + "type": "Hex High Entropy String", + "filename": "ios/Artsy.xcodeproj/xcshareddata/xcschemes/Artsy.xcscheme", + "hashed_secret": "413d9fce7ba73a33498cd56d00de37a94f9a5dcc", + "is_verified": false, + "line_number": 66 + } + ], + "ios/Artsy.xcodeproj/xcshareddata/xcschemes/ArtsyStickers.xcscheme": [ + { + "type": "Hex High Entropy String", + "filename": "ios/Artsy.xcodeproj/xcshareddata/xcschemes/ArtsyStickers.xcscheme", + "hashed_secret": "f2da6516b69b8481bd41d2f1999c27528476a884", "is_verified": false, "line_number": 18 }, { "type": "Hex High Entropy String", - "filename": "Artsy.xcodeproj/xcshareddata/xcschemes/Artsy Stickers.xcscheme", - "hashed_secret": "15a5431bd32fc0fb1dd2bac526fb16d1494753be", + "filename": "ios/Artsy.xcodeproj/xcshareddata/xcschemes/ArtsyStickers.xcscheme", + "hashed_secret": "6760dd79e63f3070b115309c8e3f331873583739", "is_verified": false, "line_number": 32 } ], - "Artsy.xcodeproj/xcshareddata/xcschemes/Artsy.xcscheme": [ + "ios/Artsy.xcodeproj/xcshareddata/xcschemes/ArtsyWidgetExtension.xcscheme": [ { "type": "Hex High Entropy String", - "filename": "Artsy.xcodeproj/xcshareddata/xcschemes/Artsy.xcscheme", - "hashed_secret": "15a5431bd32fc0fb1dd2bac526fb16d1494753be", + "filename": "ios/Artsy.xcodeproj/xcshareddata/xcschemes/ArtsyWidgetExtension.xcscheme", + "hashed_secret": "2255720efaddbe53eb12ca90f0305e5366176dee", "is_verified": false, - "line_number": 17 + "line_number": 18 }, { "type": "Hex High Entropy String", - "filename": "Artsy.xcodeproj/xcshareddata/xcschemes/Artsy.xcscheme", - "hashed_secret": "f87e1924bd54ea6e4be7644acd24c98f01d2b6b1", + "filename": "ios/Artsy.xcodeproj/xcshareddata/xcschemes/ArtsyWidgetExtension.xcscheme", + "hashed_secret": "6760dd79e63f3070b115309c8e3f331873583739", "is_verified": false, - "line_number": 75 + "line_number": 32 } ], - "Artsy.xcodeproj/xcshareddata/xcschemes/ArtsyWidgetExtension.xcscheme": [ + "ios/Artsy.xcodeproj/xcshareddata/xcschemes/BrazePushServiceExtension.xcscheme": [ { "type": "Hex High Entropy String", - "filename": "Artsy.xcodeproj/xcshareddata/xcschemes/ArtsyWidgetExtension.xcscheme", - "hashed_secret": "13d6a129a5a32f1ca827175ad94f372ae4a4029f", + "filename": "ios/Artsy.xcodeproj/xcshareddata/xcschemes/BrazePushServiceExtension.xcscheme", + "hashed_secret": "caba76e37ddbef7c0c23916896fe82170bc370c7", "is_verified": false, "line_number": 18 }, { "type": "Hex High Entropy String", - "filename": "Artsy.xcodeproj/xcshareddata/xcschemes/ArtsyWidgetExtension.xcscheme", - "hashed_secret": "15a5431bd32fc0fb1dd2bac526fb16d1494753be", + "filename": "ios/Artsy.xcodeproj/xcshareddata/xcschemes/BrazePushServiceExtension.xcscheme", + "hashed_secret": "6760dd79e63f3070b115309c8e3f331873583739", "is_verified": false, "line_number": 32 } ], - "Artsy/Constants/ARAppConstants.m": [ + "ios/Artsy/Constants/ARAppConstants.m": [ { "type": "Secret Keyword", - "filename": "Artsy/Constants/ARAppConstants.m", + "filename": "ios/Artsy/Constants/ARAppConstants.m", "hashed_secret": "ffec45c8cc883aa1a0c0d3acd75cc97a3aa509ae", "is_verified": false, "line_number": 6 } ], - "Artsy/View_Controllers/live_auctions_socket.json": [ + "ios/Artsy/View_Controllers/live_auctions_socket.json": [ { "type": "Hex High Entropy String", - "filename": "Artsy/View_Controllers/live_auctions_socket.json", + "filename": "ios/Artsy/View_Controllers/live_auctions_socket.json", "hashed_secret": "8c33911cc724f80a2448f86385843e8e5fbc2deb", "is_verified": false, "line_number": 4 }, { "type": "Hex High Entropy String", - "filename": "Artsy/View_Controllers/live_auctions_socket.json", + "filename": "ios/Artsy/View_Controllers/live_auctions_socket.json", "hashed_secret": "1197074fe5b1688d89854feea51cdb81a82b0163", "is_verified": false, - "line_number": 26 + "line_number": 24 }, { "type": "Hex High Entropy String", - "filename": "Artsy/View_Controllers/live_auctions_socket.json", + "filename": "ios/Artsy/View_Controllers/live_auctions_socket.json", "hashed_secret": "546a28e2fb097ecf73f202e4d76d23fae06664e6", "is_verified": false, - "line_number": 48 + "line_number": 44 }, { "type": "Hex High Entropy String", - "filename": "Artsy/View_Controllers/live_auctions_socket.json", + "filename": "ios/Artsy/View_Controllers/live_auctions_socket.json", "hashed_secret": "cf2c190b800ef74fc211f29f5bde9d11b04513e9", "is_verified": false, - "line_number": 70 + "line_number": 64 }, { "type": "Hex High Entropy String", - "filename": "Artsy/View_Controllers/live_auctions_socket.json", + "filename": "ios/Artsy/View_Controllers/live_auctions_socket.json", "hashed_secret": "5fa1aaa871c4398160078e9a69bc182fe8459d20", "is_verified": false, - "line_number": 92 + "line_number": 84 }, { "type": "Hex High Entropy String", - "filename": "Artsy/View_Controllers/live_auctions_socket.json", + "filename": "ios/Artsy/View_Controllers/live_auctions_socket.json", "hashed_secret": "f56be5ff1f0fcb442ab5552de01ed4a0f33a6197", "is_verified": false, - "line_number": 114 + "line_number": 104 }, { "type": "Hex High Entropy String", - "filename": "Artsy/View_Controllers/live_auctions_socket.json", + "filename": "ios/Artsy/View_Controllers/live_auctions_socket.json", "hashed_secret": "70202e4a31db4efda93ac5da4467aee15955e757", "is_verified": false, - "line_number": 136 + "line_number": 124 }, { "type": "Hex High Entropy String", - "filename": "Artsy/View_Controllers/live_auctions_socket.json", + "filename": "ios/Artsy/View_Controllers/live_auctions_socket.json", "hashed_secret": "441a1efbb2f5fb389482a6e9714bbb1156940fb5", "is_verified": false, - "line_number": 158 + "line_number": 144 }, { "type": "Hex High Entropy String", - "filename": "Artsy/View_Controllers/live_auctions_socket.json", + "filename": "ios/Artsy/View_Controllers/live_auctions_socket.json", "hashed_secret": "2bb9e6a9d15129a5fa4906884daab855b574d14e", "is_verified": false, - "line_number": 180 + "line_number": 164 }, { "type": "Hex High Entropy String", - "filename": "Artsy/View_Controllers/live_auctions_socket.json", + "filename": "ios/Artsy/View_Controllers/live_auctions_socket.json", "hashed_secret": "2fb6535d257d8b802e76567e0b2d1e70a6c992d5", "is_verified": false, - "line_number": 202 + "line_number": 184 }, { "type": "Hex High Entropy String", - "filename": "Artsy/View_Controllers/live_auctions_socket.json", + "filename": "ios/Artsy/View_Controllers/live_auctions_socket.json", "hashed_secret": "2bbe2040d1b3cc7e668020597d24cca4ff1c9c94", "is_verified": false, - "line_number": 234 + "line_number": 218 }, { "type": "Hex High Entropy String", - "filename": "Artsy/View_Controllers/live_auctions_socket.json", + "filename": "ios/Artsy/View_Controllers/live_auctions_socket.json", "hashed_secret": "5413f91d254d6035fdd778aefe3ed908dfdc3f51", "is_verified": false, - "line_number": 385 + "line_number": 387 }, { "type": "Hex High Entropy String", - "filename": "Artsy/View_Controllers/live_auctions_socket.json", + "filename": "ios/Artsy/View_Controllers/live_auctions_socket.json", "hashed_secret": "84494ababe4e8e8616748bb5e63d94b8cabfb02e", "is_verified": false, "line_number": 407 }, { "type": "Hex High Entropy String", - "filename": "Artsy/View_Controllers/live_auctions_socket.json", + "filename": "ios/Artsy/View_Controllers/live_auctions_socket.json", "hashed_secret": "33b79b577ef868edd8c22430c399b8952baaf1ef", "is_verified": false, - "line_number": 429 + "line_number": 427 }, { "type": "Hex High Entropy String", - "filename": "Artsy/View_Controllers/live_auctions_socket.json", + "filename": "ios/Artsy/View_Controllers/live_auctions_socket.json", "hashed_secret": "8e1dd297b57bbd9d31c0248274fca83ca7a37c20", "is_verified": false, - "line_number": 451 + "line_number": 447 }, { "type": "Hex High Entropy String", - "filename": "Artsy/View_Controllers/live_auctions_socket.json", + "filename": "ios/Artsy/View_Controllers/live_auctions_socket.json", "hashed_secret": "6db41c8b237d299690cc2e0a4f7e8262a5db86d7", "is_verified": false, - "line_number": 473 + "line_number": 467 }, { "type": "Hex High Entropy String", - "filename": "Artsy/View_Controllers/live_auctions_socket.json", + "filename": "ios/Artsy/View_Controllers/live_auctions_socket.json", "hashed_secret": "6c3d2a4ac9e1d85285af7bc1dd78c006296f17a4", "is_verified": false, - "line_number": 495 + "line_number": 487 }, { "type": "Hex High Entropy String", - "filename": "Artsy/View_Controllers/live_auctions_socket.json", + "filename": "ios/Artsy/View_Controllers/live_auctions_socket.json", "hashed_secret": "081249a9ea03533a59b18bdc677c9c5916d5c751", "is_verified": false, - "line_number": 517 + "line_number": 507 }, { "type": "Hex High Entropy String", - "filename": "Artsy/View_Controllers/live_auctions_socket.json", + "filename": "ios/Artsy/View_Controllers/live_auctions_socket.json", "hashed_secret": "65ce5f5dd82e1879cfaf2f9b7c77574ed8cbb811", "is_verified": false, - "line_number": 539 + "line_number": 527 }, { "type": "Hex High Entropy String", - "filename": "Artsy/View_Controllers/live_auctions_socket.json", + "filename": "ios/Artsy/View_Controllers/live_auctions_socket.json", "hashed_secret": "cfc760c8009779fd188ee5858206ea49552a9878", "is_verified": false, - "line_number": 561 + "line_number": 547 }, { "type": "Hex High Entropy String", - "filename": "Artsy/View_Controllers/live_auctions_socket.json", + "filename": "ios/Artsy/View_Controllers/live_auctions_socket.json", "hashed_secret": "b695bb92e86201d04c75ef5c71337934a7c9a63e", "is_verified": false, - "line_number": 583 + "line_number": 567 }, { "type": "Hex High Entropy String", - "filename": "Artsy/View_Controllers/live_auctions_socket.json", + "filename": "ios/Artsy/View_Controllers/live_auctions_socket.json", "hashed_secret": "05743cb98cadf74cce41f74650b7a32e655b6212", "is_verified": false, - "line_number": 605 + "line_number": 587 }, { "type": "Hex High Entropy String", - "filename": "Artsy/View_Controllers/live_auctions_socket.json", + "filename": "ios/Artsy/View_Controllers/live_auctions_socket.json", "hashed_secret": "a675752cd43399fa57679f18e0f96df6e19dfd47", "is_verified": false, - "line_number": 627 + "line_number": 607 }, { "type": "Hex High Entropy String", - "filename": "Artsy/View_Controllers/live_auctions_socket.json", + "filename": "ios/Artsy/View_Controllers/live_auctions_socket.json", "hashed_secret": "2ad401dfee2508f7293eda83bd7ca9fe993ad7aa", "is_verified": false, - "line_number": 649 + "line_number": 627 + } + ], + "ios/ArtsyTests/View_Controller_Tests/Live_Auction/FakeSalesPerson.swift": [ + { + "type": "JSON Web Token", + "filename": "ios/ArtsyTests/View_Controller_Tests/Live_Auction/FakeSalesPerson.swift", + "hashed_secret": "54731282ed8341e2fd396060413d4bb168b5f99c", + "is_verified": false, + "line_number": 78 + }, + { + "type": "JSON Web Token", + "filename": "ios/ArtsyTests/View_Controller_Tests/Live_Auction/FakeSalesPerson.swift", + "hashed_secret": "a5bb30a4f5e2458b4bab509514010ff3fefdac96", + "is_verified": false, + "line_number": 82 + }, + { + "type": "JSON Web Token", + "filename": "ios/ArtsyTests/View_Controller_Tests/Live_Auction/FakeSalesPerson.swift", + "hashed_secret": "29777f87b742bd09a3923f11c84417fda0d07e94", + "is_verified": false, + "line_number": 86 } ], - "ArtsyWidget/Fixtures.swift": [ + "ios/ArtsyWidget/Fixtures.swift": [ { "type": "Hex High Entropy String", - "filename": "ArtsyWidget/Fixtures.swift", + "filename": "ios/ArtsyWidget/Fixtures.swift", "hashed_secret": "82c71809ac7630dec40d356c729955b7f4f0a23c", "is_verified": false, "line_number": 5 }, { "type": "Hex High Entropy String", - "filename": "ArtsyWidget/Fixtures.swift", + "filename": "ios/ArtsyWidget/Fixtures.swift", "hashed_secret": "2e529c680f8ffeed9cba698fe2539a42e6a1e7fa", "is_verified": false, "line_number": 12 }, { "type": "Hex High Entropy String", - "filename": "ArtsyWidget/Fixtures.swift", + "filename": "ios/ArtsyWidget/Fixtures.swift", "hashed_secret": "79c7825718a30565467f7ddd1075ba61c86e3374", "is_verified": false, "line_number": 19 }, { "type": "Hex High Entropy String", - "filename": "ArtsyWidget/Fixtures.swift", + "filename": "ios/ArtsyWidget/Fixtures.swift", "hashed_secret": "98d980009dbf0506036553c0a3957171c321f33a", "is_verified": false, "line_number": 26 } ], - "Artsy_Tests/View_Controller_Tests/Live_Auction/FakeSalesPerson.swift": [ - { - "type": "JSON Web Token", - "filename": "Artsy_Tests/View_Controller_Tests/Live_Auction/FakeSalesPerson.swift", - "hashed_secret": "54731282ed8341e2fd396060413d4bb168b5f99c", - "is_verified": false, - "line_number": 78 - }, - { - "type": "JSON Web Token", - "filename": "Artsy_Tests/View_Controller_Tests/Live_Auction/FakeSalesPerson.swift", - "hashed_secret": "a5bb30a4f5e2458b4bab509514010ff3fefdac96", - "is_verified": false, - "line_number": 82 - }, - { - "type": "JSON Web Token", - "filename": "Artsy_Tests/View_Controller_Tests/Live_Auction/FakeSalesPerson.swift", - "hashed_secret": "29777f87b742bd09a3923f11c84417fda0d07e94", - "is_verified": false, - "line_number": 86 - } - ], - "android/app/build.gradle": [ - { - "type": "Hex High Entropy String", - "filename": "android/app/build.gradle", - "hashed_secret": "91f71e355c66ef5ff819b35c867d4d28b9a8c469", - "is_verified": false, - "line_number": 153 - } - ], "src/app/Scenes/MyCollection/Screens/ArtworkForm/MyCollectionArtworkForm.tests.tsx": [ { "type": "Hex High Entropy String", @@ -443,21 +455,21 @@ "filename": "src/app/store/AuthModel.tests.ts", "hashed_secret": "f3bbbd66a63d4bf1747940578ec3d0103530e21d", "is_verified": false, - "line_number": 142 + "line_number": 144 }, { "type": "Secret Keyword", "filename": "src/app/store/AuthModel.tests.ts", "hashed_secret": "54e9af600f3bcfd1153b00430b345fcb68c8efc2", "is_verified": false, - "line_number": 154 + "line_number": 156 }, { "type": "Secret Keyword", "filename": "src/app/store/AuthModel.tests.ts", "hashed_secret": "bb21216b09d3be2d9e40beab38ae57af2b11d081", "is_verified": false, - "line_number": 298 + "line_number": 300 } ], "src/app/utils/PushNotification.tests.ts": [ diff --git a/.tool-versions b/.tool-versions index 1a28c5e184a..b2dab10c2dc 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1,3 +1,3 @@ -nodejs 14.17.1 +nodejs 14.17.6 ruby 2.7.4 java adoptopenjdk-11.0.14+101 diff --git a/Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Adam from Creation of Adam-1.sticker/Contents.json b/Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Adam from Creation of Adam-1.sticker/Contents.json deleted file mode 100644 index 41a305789fb..00000000000 --- a/Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Adam from Creation of Adam-1.sticker/Contents.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "info" : { - "version" : 1, - "author" : "xcode" - }, - "properties" : { - "filename" : "Adam from Creation of Adam.png" - } -} \ No newline at end of file diff --git a/Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Angel from The Holy Family.sticker/Contents.json b/Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Angel from The Holy Family.sticker/Contents.json deleted file mode 100644 index 385c1b43850..00000000000 --- a/Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Angel from The Holy Family.sticker/Contents.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "info" : { - "version" : 1, - "author" : "xcode" - }, - "properties" : { - "filename" : "Angel from The Holy Family.png" - } -} \ No newline at end of file diff --git a/Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Contents.json b/Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Contents.json deleted file mode 100644 index a3726ae249d..00000000000 --- a/Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Contents.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "info": { - "author": "xcode", - "version": 1 - }, - "properties": { - "grid-size": "regular" - }, - "stickers": [ - { - "filename": "Adam from Creation of Adam-1.sticker" - }, - { - "filename": "Angel from The Holy Family.sticker" - }, - { - "filename": "Fruit Bowl from Still Life with Milk Jug and Fruit.sticker" - }, - { - "filename": "Girl with a Pearl Earring.sticker" - }, - { - "filename": "God from Creation of Adam.sticker" - }, - { - "filename": "Jesus from Ecce Homo.sticker" - }, - { - "filename": "Miniature Skeleton.sticker" - }, - { - "filename": "Rattle in the Shape of a Recumbent Lion.sticker" - }, - { - "filename": "Raven from Saint Mary Salome and Her Family.sticker" - }, - { - "filename": "Seated Buddha in the Attitude of Preaching.sticker" - }, - { - "filename": "The Vexed Man.sticker" - }, - { - "filename": "Wheatstack from Wheatstacks, Snow Effect, Morning .sticker" - }, - { - "filename": "Woman from L'Esperence.sticker" - } - ] -} diff --git a/Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Fruit Bowl from Still Life with Milk Jug and Fruit.sticker/Contents.json b/Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Fruit Bowl from Still Life with Milk Jug and Fruit.sticker/Contents.json deleted file mode 100644 index 13f10070f22..00000000000 --- a/Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Fruit Bowl from Still Life with Milk Jug and Fruit.sticker/Contents.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "info" : { - "version" : 1, - "author" : "xcode" - }, - "properties" : { - "filename" : "Fruit Bowl from Still Life with Milk Jug and Fruit.png" - } -} \ No newline at end of file diff --git a/Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Girl with a Pearl Earring.sticker/Contents.json b/Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Girl with a Pearl Earring.sticker/Contents.json deleted file mode 100644 index 35e295626d8..00000000000 --- a/Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Girl with a Pearl Earring.sticker/Contents.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "info" : { - "version" : 1, - "author" : "xcode" - }, - "properties" : { - "filename" : "Girl with a Pearl Earring.png" - } -} \ No newline at end of file diff --git a/Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/God from Creation of Adam.sticker/Contents.json b/Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/God from Creation of Adam.sticker/Contents.json deleted file mode 100644 index 8efe88c122b..00000000000 --- a/Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/God from Creation of Adam.sticker/Contents.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "info" : { - "version" : 1, - "author" : "xcode" - }, - "properties" : { - "filename" : "God from Creation of Adam (2).png" - } -} \ No newline at end of file diff --git a/Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Jesus from Ecce Homo.sticker/Contents.json b/Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Jesus from Ecce Homo.sticker/Contents.json deleted file mode 100644 index 131f2d236ee..00000000000 --- a/Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Jesus from Ecce Homo.sticker/Contents.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "info" : { - "version" : 1, - "author" : "xcode" - }, - "properties" : { - "filename" : "Jesus from Ecce Homo.png" - } -} \ No newline at end of file diff --git a/Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Miniature Skeleton.sticker/Contents.json b/Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Miniature Skeleton.sticker/Contents.json deleted file mode 100644 index 4e1826a3664..00000000000 --- a/Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Miniature Skeleton.sticker/Contents.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "info" : { - "version" : 1, - "author" : "xcode" - }, - "properties" : { - "filename" : "Miniature Skeleton.png" - } -} \ No newline at end of file diff --git a/Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Rattle in the Shape of a Recumbent Lion.sticker/Contents.json b/Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Rattle in the Shape of a Recumbent Lion.sticker/Contents.json deleted file mode 100644 index c76b9bd8510..00000000000 --- a/Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Rattle in the Shape of a Recumbent Lion.sticker/Contents.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "info" : { - "version" : 1, - "author" : "xcode" - }, - "properties" : { - "filename" : "Rattle in the Shape of a Recumbent Lion.png" - } -} \ No newline at end of file diff --git a/Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Raven from Saint Mary Salome and Her Family.sticker/Contents.json b/Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Raven from Saint Mary Salome and Her Family.sticker/Contents.json deleted file mode 100644 index 6ff1d6b9410..00000000000 --- a/Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Raven from Saint Mary Salome and Her Family.sticker/Contents.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "info" : { - "version" : 1, - "author" : "xcode" - }, - "properties" : { - "filename" : "Raven from Saint Mary Salome and Her Family.png" - } -} \ No newline at end of file diff --git a/Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Seated Buddha in the Attitude of Preaching.sticker/Contents.json b/Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Seated Buddha in the Attitude of Preaching.sticker/Contents.json deleted file mode 100644 index de63aca6ff2..00000000000 --- a/Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Seated Buddha in the Attitude of Preaching.sticker/Contents.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "info" : { - "version" : 1, - "author" : "xcode" - }, - "properties" : { - "filename" : "Seated Buddha in the Attitude of Preaching.png" - } -} \ No newline at end of file diff --git a/Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/The Vexed Man.sticker/Contents.json b/Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/The Vexed Man.sticker/Contents.json deleted file mode 100644 index 6439cf1dc56..00000000000 --- a/Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/The Vexed Man.sticker/Contents.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "info" : { - "version" : 1, - "author" : "xcode" - }, - "properties" : { - "filename" : "The Vexed Man.png" - } -} \ No newline at end of file diff --git a/Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Wheatstack from Wheatstacks, Snow Effect, Morning .sticker/Contents.json b/Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Wheatstack from Wheatstacks, Snow Effect, Morning .sticker/Contents.json deleted file mode 100644 index 1692e118e0c..00000000000 --- a/Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Wheatstack from Wheatstacks, Snow Effect, Morning .sticker/Contents.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "info" : { - "version" : 1, - "author" : "xcode" - }, - "properties" : { - "filename" : "Wheatstack from Wheatstacks, Snow Effect, Morning .png" - } -} \ No newline at end of file diff --git a/Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Woman from L'Esperence.sticker/Contents.json b/Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Woman from L'Esperence.sticker/Contents.json deleted file mode 100644 index d2467c89f8b..00000000000 --- a/Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Woman from L'Esperence.sticker/Contents.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "info" : { - "version" : 1, - "author" : "xcode" - }, - "properties" : { - "filename" : "Woman from L'Esperence.png" - } -} \ No newline at end of file diff --git a/Artsy Stickers/Stickers.xcassets/iMessage App Icon.stickersiconset/Contents.json b/Artsy Stickers/Stickers.xcassets/iMessage App Icon.stickersiconset/Contents.json deleted file mode 100644 index ccc7db3cb16..00000000000 --- a/Artsy Stickers/Stickers.xcassets/iMessage App Icon.stickersiconset/Contents.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "images" : [ - { - "size" : "60x45", - "idiom" : "iphone", - "filename" : "Messages-iPhone-60x45pt@2x.png", - "scale" : "2x" - }, - { - "size" : "60x45", - "idiom" : "iphone", - "filename" : "Messages-iPhone-60x45pt@3x-1.png", - "scale" : "3x" - }, - { - "size" : "67x50", - "idiom" : "ipad", - "filename" : "Messages-iPad-67x50pt@2x.png", - "scale" : "2x" - }, - { - "size" : "74x55", - "idiom" : "ipad", - "filename" : "Messages-iPad-Pro-74x55pt@2x.png", - "scale" : "2x" - }, - { - "size" : "27x20", - "idiom" : "universal", - "filename" : "Messages27x20pt@2x.png", - "scale" : "2x", - "platform" : "ios" - }, - { - "size" : "27x20", - "idiom" : "universal", - "filename" : "Messages27x20pt@3x.png", - "scale" : "3x", - "platform" : "ios" - }, - { - "size" : "32x24", - "idiom" : "universal", - "filename" : "Messages32x24pt@2x.png", - "scale" : "2x", - "platform" : "ios" - }, - { - "size" : "32x24", - "idiom" : "universal", - "filename" : "Messages32x24pt@3x.png", - "scale" : "3x", - "platform" : "ios" - }, - { - "size" : "1024x768", - "idiom" : "ios-marketing", - "filename" : "Messages-App-Store-1024x768pt.png", - "scale" : "1x", - "platform" : "ios" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Artsy.xcodeproj/project.pbxproj b/Artsy.xcodeproj/project.pbxproj deleted file mode 100644 index 1158b1f053e..00000000000 --- a/Artsy.xcodeproj/project.pbxproj +++ /dev/null @@ -1,4869 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 46; - objects = { - -/* Begin PBXBuildFile section */ - 0C93322A1BA1FA6B00F3CE95 /* ARUserActivity.m in Sources */ = {isa = PBXBuildFile; fileRef = 0C9332291BA1FA6B00F3CE95 /* ARUserActivity.m */; }; - 0CE3C4361B8BB3630092A24F /* EXPMatcher+UINavigationController.m in Sources */ = {isa = PBXBuildFile; fileRef = 0CE3C4341B8BB35C0092A24F /* EXPMatcher+UINavigationController.m */; }; - 1A0517C42746D93000248353 /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1A0517C32746D93000248353 /* CoreServices.framework */; }; - 1A0517C72746DC9100248353 /* ARNativeTabsManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 1A0517C62746DC9100248353 /* ARNativeTabsManager.m */; }; - 1A248BDB265C282400E41409 /* ARTArtsyNativeModule.m in Sources */ = {isa = PBXBuildFile; fileRef = 1A248BDA265C282400E41409 /* ARTArtsyNativeModule.m */; }; - 1AC79210251A42D000F50228 /* EchoNew.json in Resources */ = {isa = PBXBuildFile; fileRef = 1AC7920F251A42CF00F50228 /* EchoNew.json */; }; - 1AD4F89E25FBBA89007FDB71 /* Stickers.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 1AD4F89D25FBBA89007FDB71 /* Stickers.xcassets */; }; - 1AD4F8A225FBBA89007FDB71 /* Artsy Stickers.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = 1AD4F89B25FBBA85007FDB71 /* Artsy Stickers.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; - 1C02A20A1CADA80D008B4F6C /* full_logo_white_medium@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 1C02A2091CADA80D008B4F6C /* full_logo_white_medium@2x.png */; }; - 1C5AAEB51CD87D9B00515B73 /* SearchButton.png in Resources */ = {isa = PBXBuildFile; fileRef = 1C5AAEB21CD87D9B00515B73 /* SearchButton.png */; }; - 1C5AAEB61CD87D9B00515B73 /* SearchButton@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 1C5AAEB31CD87D9B00515B73 /* SearchButton@2x.png */; }; - 1C5AAEB71CD87D9B00515B73 /* SearchButton@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 1C5AAEB41CD87D9B00515B73 /* SearchButton@3x.png */; }; - 1CC9EBA11CC76CDD00A74E3C /* followButton.png in Resources */ = {isa = PBXBuildFile; fileRef = 1CC9EB9B1CC76CDD00A74E3C /* followButton.png */; }; - 1CC9EBA21CC76CDD00A74E3C /* followButton@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 1CC9EB9C1CC76CDD00A74E3C /* followButton@2x.png */; }; - 1CC9EBA31CC76CDD00A74E3C /* followButton@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 1CC9EB9D1CC76CDD00A74E3C /* followButton@3x.png */; }; - 1CC9EBA41CC76CDD00A74E3C /* followButtonChecked.png in Resources */ = {isa = PBXBuildFile; fileRef = 1CC9EB9E1CC76CDD00A74E3C /* followButtonChecked.png */; }; - 1CC9EBA51CC76CDD00A74E3C /* followButtonChecked@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 1CC9EB9F1CC76CDD00A74E3C /* followButtonChecked@2x.png */; }; - 1CC9EBA61CC76CDD00A74E3C /* followButtonChecked@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 1CC9EBA01CC76CDD00A74E3C /* followButtonChecked@3x.png */; }; - 1CFA4EB61E5C4B6B00D44A5A /* full_logo_black_large@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 1CFA4EB31E5C4B6B00D44A5A /* full_logo_black_large@2x.png */; }; - 1CFA4EB71E5C4B6B00D44A5A /* full_logo_black_medium@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 1CFA4EB41E5C4B6B00D44A5A /* full_logo_black_medium@2x.png */; }; - 1CFA4EB81E5C4B6B00D44A5A /* full_logo_black_small@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 1CFA4EB51E5C4B6B00D44A5A /* full_logo_black_small@2x.png */; }; - 219967EC267B4B1C00ECA8E1 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 219967EB267B4B1C00ECA8E1 /* GoogleService-Info.plist */; }; - 229364D31EC65CDC00D2045E /* SaleStatusView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 229364D21EC65CDC00D2045E /* SaleStatusView.swift */; }; - 342F902302C1CF0FD342AB93 /* NSDate+Util.m in Sources */ = {isa = PBXBuildFile; fileRef = 342F97C153D8524B132D0927 /* NSDate+Util.m */; }; - 342F9061CC93426E7F8579A2 /* ARFeedImageLoader.m in Sources */ = {isa = PBXBuildFile; fileRef = 342F966C989CF0BE97711FB6 /* ARFeedImageLoader.m */; }; - 342F906FD605E75158D32876 /* ARSharingController.m in Sources */ = {isa = PBXBuildFile; fileRef = 342F9DC4018D17E7378DA607 /* ARSharingController.m */; settings = {COMPILER_FLAGS = "-Wno-deprecated-declarations"; }; }; - 342F91B952D170DCF5A0CDA4 /* UIImageView+AsyncImageLoading.m in Sources */ = {isa = PBXBuildFile; fileRef = 342F9DA91638895F6A6A432C /* UIImageView+AsyncImageLoading.m */; }; - 342F94077E27A45531E7A76F /* ARBidButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 342F9629B03A1BEB6888BD4B /* ARBidButton.m */; }; - 342F949383329F78F589BE53 /* MTLModel+Dictionary.m in Sources */ = {isa = PBXBuildFile; fileRef = 342F98950528061D8AE370EA /* MTLModel+Dictionary.m */; }; - 342F95D6D6422286C9F5A33A /* ARStandardDateFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 342F9F3E8A0C15DD0DB437D1 /* ARStandardDateFormatter.m */; }; - 342F961978DD1D771928472A /* UIDevice-Hardware.m in Sources */ = {isa = PBXBuildFile; fileRef = 342F97B49335330C4FD569B4 /* UIDevice-Hardware.m */; }; - 342F96505F255C0F443B5EAA /* UIViewController+SimpleChildren.m in Sources */ = {isa = PBXBuildFile; fileRef = 342F9331632309600346BD90 /* UIViewController+SimpleChildren.m */; }; - 342F9667FC693B47498549FE /* UIApplicationStateEnum.m in Sources */ = {isa = PBXBuildFile; fileRef = 342F9CDCE3E3D1674CA080AD /* UIApplicationStateEnum.m */; }; - 342F9715E899AC7D24E70734 /* ORStackViewArtsyCategoriesTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 342F9316E861BD2C6EBFA31A /* ORStackViewArtsyCategoriesTests.m */; }; - 342F97971D28FDC703392765 /* MTLModel+JSON.m in Sources */ = {isa = PBXBuildFile; fileRef = 342F92D1AEEE18F719695548 /* MTLModel+JSON.m */; }; - 342F979DA15866BB8A70CC23 /* ORStackView+ArtsyViews.m in Sources */ = {isa = PBXBuildFile; fileRef = 342F9F32AB53EF2503473315 /* ORStackView+ArtsyViews.m */; }; - 342F9841DEB316C8E4E3C68B /* ARValueTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = 342F90BFE6268BEBC0E7BB2E /* ARValueTransformer.m */; }; - 342F995E23C13C290DEFF23D /* ARScrollNavigationChief.m in Sources */ = {isa = PBXBuildFile; fileRef = 342F98A73E2E1162514B5A24 /* ARScrollNavigationChief.m */; }; - 342F996B2CF23951168534AD /* Follow.m in Sources */ = {isa = PBXBuildFile; fileRef = 342F92FE487AC8FCA43F5C74 /* Follow.m */; }; - 342F9A43E9B4295EF2CE07E2 /* UIViewController+FullScreenLoading.m in Sources */ = {isa = PBXBuildFile; fileRef = 342F924737155CB0C5A439F9 /* UIViewController+FullScreenLoading.m */; }; - 342F9A60D7F0C30310535232 /* UIImage+ImageFromColor.m in Sources */ = {isa = PBXBuildFile; fileRef = 342F987C1CACE95AAD292717 /* UIImage+ImageFromColor.m */; }; - 342F9BDEE699AB7F9EA34E9F /* ARFileUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 342F9FEFF4A1B56EE307467B /* ARFileUtils.m */; }; - 342F9CB876CC63CF8E8C656F /* ARTextView.m in Sources */ = {isa = PBXBuildFile; fileRef = 342F969D222D3AAD67B93FCE /* ARTextView.m */; }; - 342F9CDD0CDC753B394F3CFC /* Fair.m in Sources */ = {isa = PBXBuildFile; fileRef = 342F9860A7DDF0C11DC56572 /* Fair.m */; }; - 342F9D1673764FE7442062AC /* ARNetworkErrorManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 342F97A9F6D9D371703C2B19 /* ARNetworkErrorManager.m */; }; - 342F9D3F000632CC30AC5260 /* ARNavigationButtonsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 342F9C3811C6F12C261F04D4 /* ARNavigationButtonsViewController.m */; }; - 342F9D9296B47F66184FA760 /* NSDate+DateRange.m in Sources */ = {isa = PBXBuildFile; fileRef = 342F9175329F0389E644C194 /* NSDate+DateRange.m */; }; - 342F9E0892E99A2F66657964 /* Artwork+Extensions.m in Sources */ = {isa = PBXBuildFile; fileRef = 342F93309D1B60C53E2E0732 /* Artwork+Extensions.m */; }; - 342F9F54666BFDFF200E31AE /* UIView+HitTestExpansion.m in Sources */ = {isa = PBXBuildFile; fileRef = 342F9F4385F10D19BC94E456 /* UIView+HitTestExpansion.m */; }; - 342F9FBB86D02FABC8AA9339 /* ARNavigationButtonsViewControllerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 342F965F76AA25C6C700FE1C /* ARNavigationButtonsViewControllerTests.m */; }; - 3A6EBA7F22358DE60052D0C0 /* Emission.podspec.json in Resources */ = {isa = PBXBuildFile; fileRef = 3A6EBA7E22358DE60052D0C0 /* Emission.podspec.json */; }; - 3C205B59189000A5004280E0 /* ARAppNotificationsDelegateTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C205B58189000A5004280E0 /* ARAppNotificationsDelegateTests.m */; }; - 3C22227418C6487C00B7CE3A /* User_v0.data in Resources */ = {isa = PBXBuildFile; fileRef = 3C22227318C6487C00B7CE3A /* User_v0.data */; }; - 3C22227618C64B4A00B7CE3A /* User_v1.data in Resources */ = {isa = PBXBuildFile; fileRef = 3C22227518C64B4A00B7CE3A /* User_v1.data */; }; - 3C28D3DB18BE180B00C846EA /* ARNavigationButtonTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C28D3DA18BE180B00C846EA /* ARNavigationButtonTests.m */; }; - 3C2E6C5C192262A3009DAB28 /* ARRouterTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C2E6C5B192262A3009DAB28 /* ARRouterTests.m */; }; - 3C3FEA8E1884346D00E1A16F /* ARUserManager+Stubs.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C3FEA8D1884346D00E1A16F /* ARUserManager+Stubs.m */; }; - 3C48E2101965AC640077A80B /* ARCustomEigenLabels.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C48E20F1965AC640077A80B /* ARCustomEigenLabels.m */; }; - 3C4AE97C19094DAA009C0E8B /* MapAnnotation_Artsy@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3C4AE96D19094DAA009C0E8B /* MapAnnotation_Artsy@2x.png */; }; - 3C4AE99219094F96009C0E8B /* ViewInRoom_Base@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3C4AE98C19094F96009C0E8B /* ViewInRoom_Base@2x.png */; }; - 3C4AE99319094F96009C0E8B /* ViewInRoom_BaseNoBench@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3C4AE98D19094F96009C0E8B /* ViewInRoom_BaseNoBench@2x.png */; }; - 3C4AE99419094F96009C0E8B /* ViewInRoom_Bench@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3C4AE98E19094F96009C0E8B /* ViewInRoom_Bench@2x.png */; }; - 3C4AE99519094F96009C0E8B /* ViewInRoom_Man_3@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3C4AE98F19094F96009C0E8B /* ViewInRoom_Man_3@2x.png */; }; - 3C4AE99619094F96009C0E8B /* ViewInRoom_Wall_Right@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3C4AE99019094F96009C0E8B /* ViewInRoom_Wall_Right@2x.png */; }; - 3C4AE99719094F96009C0E8B /* ViewInRoom_Wall@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3C4AE99119094F96009C0E8B /* ViewInRoom_Wall@2x.png */; }; - 3C5C7E4018970E8B003823BB /* UIApplicationStateEnumTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C5C7E3F18970E8B003823BB /* UIApplicationStateEnumTests.m */; }; - 3C6AA7CB1885F38D00501F07 /* SaleArtwork+Extensions.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C6AA7CA1885F38D00501F07 /* SaleArtwork+Extensions.m */; }; - 3C6AEE27188F228600DD98FC /* ARInternalMobileWebViewControllerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C6AEE26188F228600DD98FC /* ARInternalMobileWebViewControllerTests.m */; }; - 3C6BDCBD18E0AEF60028EF5D /* ArtsyAPI+PrivateTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C6BDCBC18E0AEF60028EF5D /* ArtsyAPI+PrivateTests.m */; }; - 3C6BDCC018E0B3E40028EF5D /* MutableNSURLResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C6BDCBF18E0B3E40028EF5D /* MutableNSURLResponse.m */; }; - 3C6CB60518ABC7BB008DFE3B /* UserTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C6CB60418ABC7BB008DFE3B /* UserTests.m */; }; - 3C7880BC18B9081C00595E30 /* ARNotificationView.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C7880BB18B9081C00595E30 /* ARNotificationView.m */; }; - 3C7A7FA718C6EDAB00E8D336 /* ArtworkTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C7A7FA618C6EDAB00E8D336 /* ArtworkTests.m */; }; - 3CA1E820188465F0003C622D /* Sale+Extensions.m in Sources */ = {isa = PBXBuildFile; fileRef = 3CA1E81F188465F0003C622D /* Sale+Extensions.m */; }; - 3CA1E8231884663E003C622D /* Bid+Extensions.m in Sources */ = {isa = PBXBuildFile; fileRef = 3CA1E8221884663E003C622D /* Bid+Extensions.m */; }; - 3CA1E82518846B3A003C622D /* SaleTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 3CA1E82418846B3A003C622D /* SaleTests.m */; }; - 3CAA412F18D88F2E000EE867 /* UIViewController+InnermostTopViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 3CAA412E18D88F2E000EE867 /* UIViewController+InnermostTopViewController.m */; }; - 3CAED17C188026AC00840608 /* ARUserManagerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 3CAED17B188026AC00840608 /* ARUserManagerTests.m */; }; - 3CB37D97192246B500089A1D /* ArtsyAPI+ErrorHandlers.m in Sources */ = {isa = PBXBuildFile; fileRef = 3CB37D96192246B500089A1D /* ArtsyAPI+ErrorHandlers.m */; }; - 3CB37D991922483100089A1D /* ArtsyAPI+ErrorHandlers.m in Sources */ = {isa = PBXBuildFile; fileRef = 3CB37D981922483100089A1D /* ArtsyAPI+ErrorHandlers.m */; }; - 3CCCC89D18997948008015DD /* FairTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 3CCCC89C18997948008015DD /* FairTests.m */; }; - 3CCCC8A51899B6F9008015DD /* FairOrganizer.m in Sources */ = {isa = PBXBuildFile; fileRef = 3CCCC8A41899B6F9008015DD /* FairOrganizer.m */; }; - 3CE0DA3218A13604000E537A /* OHHTTPStubs+Artsy.m in Sources */ = {isa = PBXBuildFile; fileRef = 3CE0DA3118A13604000E537A /* OHHTTPStubs+Artsy.m */; }; - 3CE75A0B18B6367F00885355 /* ARValueTransformerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 3CE75A0A18B6367F00885355 /* ARValueTransformerTests.m */; }; - 3CEE0B5F18A16EA200FEA6E6 /* ArtsyAPI+Profiles.m in Sources */ = {isa = PBXBuildFile; fileRef = 3CEE0B5E18A16EA200FEA6E6 /* ArtsyAPI+Profiles.m */; }; - 3CEE0B6A18A18CDA00FEA6E6 /* ProfileTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 3CEE0B6918A18CDA00FEA6E6 /* ProfileTests.m */; }; - 3CF144A718E45F6C00B1A764 /* SystemTime.m in Sources */ = {isa = PBXBuildFile; fileRef = 3CF144A618E45F6C00B1A764 /* SystemTime.m */; }; - 3CF144A918E4607900B1A764 /* SystemTimeTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 3CF144A818E4607900B1A764 /* SystemTimeTests.m */; }; - 3CF144AB18E460BE00B1A764 /* ArtsyAPI+SystemTimeTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 3CF144AA18E460BE00B1A764 /* ArtsyAPI+SystemTimeTests.m */; }; - 3CF144AE18E460EF00B1A764 /* ArtsyAPI+SystemTime.m in Sources */ = {isa = PBXBuildFile; fileRef = 3CF144AD18E460EF00B1A764 /* ArtsyAPI+SystemTime.m */; }; - 3CF144B418E47F9F00B1A764 /* ARSystemTime.m in Sources */ = {isa = PBXBuildFile; fileRef = 3CF144B318E47F9F00B1A764 /* ARSystemTime.m */; }; - 3CF144B618E4802400B1A764 /* ARSystemTimeTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 3CF144B518E4802400B1A764 /* ARSystemTimeTests.m */; }; - 3CFBE33618C5848900C781D0 /* ARFileUtilsTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 3CFBE33518C5848900C781D0 /* ARFileUtilsTests.m */; }; - 491A4DE2168E4343003B2246 /* Gene.m in Sources */ = {isa = PBXBuildFile; fileRef = 491A4DE1168E4343003B2246 /* Gene.m */; }; - 4953E8321668021D00A09726 /* Image.m in Sources */ = {isa = PBXBuildFile; fileRef = 4953E8311668021D00A09726 /* Image.m */; }; - 499A588E16658CAA004B0E2F /* Partner.m in Sources */ = {isa = PBXBuildFile; fileRef = 499A588D16658CAA004B0E2F /* Partner.m */; }; - 499A5894166683AC004B0E2F /* Artist.m in Sources */ = {isa = PBXBuildFile; fileRef = 499A5893166683AB004B0E2F /* Artist.m */; }; - 49BA7E0E1655ABE600C06572 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 49BA7E0C1655ABE600C06572 /* InfoPlist.strings */; }; - 49BA7E141655ABE600C06572 /* ARAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 49BA7E131655ABE600C06572 /* ARAppDelegate.m */; }; - 49EC62181778AF100020D648 /* PartnerShow.m in Sources */ = {isa = PBXBuildFile; fileRef = 49EC62171778AF100020D648 /* PartnerShow.m */; }; - 49EF164716C568EA00460BD7 /* Profile.m in Sources */ = {isa = PBXBuildFile; fileRef = 49EF164616C568EA00460BD7 /* Profile.m */; }; - 5102616F1BBE8324002AB8BB /* ARAuctionWebViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5102616E1BBE8324002AB8BB /* ARAuctionWebViewController.m */; }; - 510261711BBE96BE002AB8BB /* ARAuctionWebViewControllerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 510261701BBE96BE002AB8BB /* ARAuctionWebViewControllerTests.m */; }; - 5108A7BC1BA1AB2C0011CD72 /* ARAppActivityContinuationDelegateTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 5108A7BB1BA1AB2C0011CD72 /* ARAppActivityContinuationDelegateTests.m */; }; - 512AB35B1BD7C7A100F92B9A /* CoreSpotlight.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 512AB35A1BD7C7A100F92B9A /* CoreSpotlight.framework */; settings = {ATTRIBUTES = (Weak, ); }; }; - 512AB35C1BD7C82F00F92B9A /* MessageUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 06E44EB8170235D8001B2EBF /* MessageUI.framework */; }; - 514E56491BA0BABA008A0DF6 /* ARAppActivityContinuationDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 514E56481BA0BABA008A0DF6 /* ARAppActivityContinuationDelegate.m */; }; - 516CDA691BB55B54001C02B2 /* UIViewController+WithLoadedData.m in Sources */ = {isa = PBXBuildFile; fileRef = 516CDA681BB55B54001C02B2 /* UIViewController+WithLoadedData.m */; }; - 516CDA6C1BB56611001C02B2 /* UIViewController+ARUserActivity.m in Sources */ = {isa = PBXBuildFile; fileRef = 516CDA6B1BB56611001C02B2 /* UIViewController+ARUserActivity.m */; }; - 518B421E1B57CF7100210A02 /* AttentionIcon@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 518B421D1B57CF7100210A02 /* AttentionIcon@2x.png */; }; - 51B4BA451C6A24490014A394 /* AuctionInformationViewControllerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51B4BA441C6A24490014A394 /* AuctionInformationViewControllerTests.swift */; }; - 51B4BA481C6A2B7B0014A394 /* AuctionSaleNetworkModelTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 517201C51C6A239E007148B7 /* AuctionSaleNetworkModelTests.swift */; }; - 51B4BA491C6A2B7F0014A394 /* AuctionBiddersNetworkModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 517201C31C6A239E007148B7 /* AuctionBiddersNetworkModel.swift */; }; - 51D141B71AF0F14B000091CF /* ARTestHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 51D141B61AF0F14B000091CF /* ARTestHelper.m */; }; - 51DA12251B596035001B6F2A /* RefreshIcon@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 51DA12241B596035001B6F2A /* RefreshIcon@2x.png */; }; - 51DCC6C81C60E26800455309 /* AuctionInformationViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51DCC6C71C60E26800455309 /* AuctionInformationViewController.swift */; }; - 51E576091BFFA16C00A146C1 /* Artsy.Store.entitlements in Resources */ = {isa = PBXBuildFile; fileRef = 51E576081BFFA16C00A146C1 /* Artsy.Store.entitlements */; }; - 51F2C5F41CEE8A7700B881BE /* ARAppDelegate+Emission.m in Sources */ = {isa = PBXBuildFile; fileRef = 51F2C5F31CEE8A7700B881BE /* ARAppDelegate+Emission.m */; }; - 51F6960C1C6E55EA002B2E35 /* SaleViewModelTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51F696081C6E55E0002B2E35 /* SaleViewModelTests.swift */; }; - 54289FEE18AA7F4E00681E49 /* UINavigationController_InnermostTopViewControllerSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 54289FED18AA7F4E00681E49 /* UINavigationController_InnermostTopViewControllerSpec.m */; }; - 5435192E18A8E9420060F31E /* UIView+OldSchoolSnapshots.m in Sources */ = {isa = PBXBuildFile; fileRef = 5435192D18A8E9420060F31E /* UIView+OldSchoolSnapshots.m */; }; - 5E088DAE1C58072B00C448D7 /* RefinementOptionsViewController+Private.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E088DAD1C58072B00C448D7 /* RefinementOptionsViewController+Private.swift */; }; - 5E088DB11C58145600C448D7 /* UIViewController+Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E088DAF1C58141D00C448D7 /* UIViewController+Tests.swift */; }; - 5E0AD37624BE453600FD54A0 /* ARAugmentedRealityConfigSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 5E0AD37524BE453600FD54A0 /* ARAugmentedRealityConfigSpec.m */; }; - 5E0AD37824BE455C00FD54A0 /* greyscaleImage.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 5E0AD37724BE455C00FD54A0 /* greyscaleImage.jpg */; }; - 5E0DD14B1C9764420037F9E4 /* LiveAuctionStateManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E0DD14A1C9764420037F9E4 /* LiveAuctionStateManager.swift */; }; - 5E174F5C1CADB35800657743 /* LiveAuctionStateReconcilerSpec.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E174F5B1CADB35800657743 /* LiveAuctionStateReconcilerSpec.swift */; }; - 5E1A3AA01C93760A0047329E /* LiveAuctionSocketCommunicatorSpec.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E1A3A9F1C93760A0047329E /* LiveAuctionSocketCommunicatorSpec.swift */; }; - 5E1BF7461EEB0B2900A9ED63 /* SaleOnHoldOverlayView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E1BF7451EEB0B2900A9ED63 /* SaleOnHoldOverlayView.swift */; }; - 5E1BF7491EEB239800A9ED63 /* SaleOnHoldOverlayViewTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E1BF7471EEB236E00A9ED63 /* SaleOnHoldOverlayViewTests.swift */; }; - 5E1DDF191CE22C0700DFEE2A /* SimpleProgressView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E1DDF181CE22C0700DFEE2A /* SimpleProgressView.swift */; }; - 5E1DDF1B1CE2340900DFEE2A /* LiveAuctionCurrentLotView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E1DDF1A1CE2340900DFEE2A /* LiveAuctionCurrentLotView.swift */; }; - 5E1DDF1D1CE24FBF00DFEE2A /* LiveAuctionBiddingViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E1DDF1C1CE24FBF00DFEE2A /* LiveAuctionBiddingViewModel.swift */; }; - 5E1DDF1F1CE2698B00DFEE2A /* LiveAuctionBiddingViewModelTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E1DDF1E1CE2698B00DFEE2A /* LiveAuctionBiddingViewModelTests.swift */; }; - 5E20BB651C62BF8300C6D781 /* AuctionColors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E20BB641C62BF8300C6D781 /* AuctionColors.swift */; }; - 5E20BB671C62C00D00C6D781 /* AuctionCircularButtons.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E20BB661C62C00D00C6D781 /* AuctionCircularButtons.swift */; }; - 5E20BB6A1C62C81600C6D781 /* CircularInfoButton@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 5E20BB681C62C81600C6D781 /* CircularInfoButton@2x.png */; }; - 5E20BB6B1C62C81600C6D781 /* CircularInfoButton.png in Resources */ = {isa = PBXBuildFile; fileRef = 5E20BB691C62C81600C6D781 /* CircularInfoButton.png */; }; - 5E257E331ECDEB6600C62008 /* UIViewController+Popovers.m in Sources */ = {isa = PBXBuildFile; fileRef = 5E257E321ECDEB6600C62008 /* UIViewController+Popovers.m */; }; - 5E26AF801CE66A7E00C67B7C /* Stringify.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E26AF7F1CE66A7E00C67B7C /* Stringify.swift */; }; - 5E288EA91CC0219A00A974AA /* LotListCollectionViewCell+Private.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E288EA81CC0219A00A974AA /* LotListCollectionViewCell+Private.swift */; }; - 5E31524F1C90C97300C544D5 /* LiveAuctionSocketCommunicator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E31524E1C90C97300C544D5 /* LiveAuctionSocketCommunicator.swift */; }; - 5E3816F61CBECEA500477B17 /* LiveAuctionLotListViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E3816F51CBECEA500477B17 /* LiveAuctionLotListViewController.swift */; }; - 5E3816F81CBED2E100477B17 /* LiveAuctionLotListStickyCellCollectionViewLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E3816F71CBED2E100477B17 /* LiveAuctionLotListStickyCellCollectionViewLayout.swift */; }; - 5E3816FA1CBEDDF900477B17 /* LotListCollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E3816F91CBEDDF900477B17 /* LotListCollectionViewCell.swift */; }; - 5E3816FF1CC1570A00477B17 /* LiveAuctionLotListViewControllerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E3816FE1CC1570A00477B17 /* LiveAuctionLotListViewControllerTests.swift */; }; - 5E3817011CC1572100477B17 /* LiveAuctionLotListStickyCellCollectionViewLayoutTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E3817001CC1572100477B17 /* LiveAuctionLotListStickyCellCollectionViewLayoutTests.swift */; }; - 5E407DF71DF7390B00999533 /* AREchoContentsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5E407DF61DF7390B00999533 /* AREchoContentsViewController.m */; }; - 5E4386181D0764ED0034E671 /* SerifModalWebNavigationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E4386171D0764ED0034E671 /* SerifModalWebNavigationController.swift */; }; - 5E47F3561C4435C100EC0751 /* AuctionTitleView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E47F3551C4435C100EC0751 /* AuctionTitleView.swift */; }; - 5E47F35B1C4444A900EC0751 /* SaleViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E47F35A1C4444A900EC0751 /* SaleViewModel.swift */; }; - 5E4962441CA1C7E800E77DD5 /* NSAttributedString+Additions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E4962431CA1C7E800E77DD5 /* NSAttributedString+Additions.swift */; }; - 5E4E32AD1E53884E00C7F724 /* paddle.png in Resources */ = {isa = PBXBuildFile; fileRef = 5E4E32AA1E53884E00C7F724 /* paddle.png */; }; - 5E4E32AE1E53884E00C7F724 /* paddle@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 5E4E32AB1E53884E00C7F724 /* paddle@2x.png */; }; - 5E4E32AF1E53884E00C7F724 /* paddle@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 5E4E32AC1E53884E00C7F724 /* paddle@3x.png */; }; - 5E4F17481CD80FD800AEB6BD /* LiveBidder.m in Sources */ = {isa = PBXBuildFile; fileRef = 5E4F17471CD80FD800AEB6BD /* LiveBidder.m */; }; - 5E50987D18F82FCF001AC704 /* AROfflineView.m in Sources */ = {isa = PBXBuildFile; fileRef = 5E50987C18F82FCF001AC704 /* AROfflineView.m */; }; - 5E55295D1F1FC7A500455F8F /* ARRouter+GraphQL.m in Sources */ = {isa = PBXBuildFile; fileRef = 5E55295C1F1FC7A500455F8F /* ARRouter+GraphQL.m */; }; - 5E55CAB31D9D8014005D0D73 /* LiveAuctionLotBidHistoryGestureController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E55CAB21D9D8014005D0D73 /* LiveAuctionLotBidHistoryGestureController.swift */; }; - 5E5F495E1D00BC7700E7CD6E /* LiveAuctionLotCollectionViewLayoutType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E5F495D1D00BC7700E7CD6E /* LiveAuctionLotCollectionViewLayoutType.swift */; }; - 5E5F49601D00BF3D00E7CD6E /* LiveAuctionPlainLotCollectionViewLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E5F495F1D00BF3D00E7CD6E /* LiveAuctionPlainLotCollectionViewLayout.swift */; }; - 5E6A16931C98A914004DB29B /* LiveAuctionStateManagerSpec.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E6A16921C98A914004DB29B /* LiveAuctionStateManagerSpec.swift */; }; - 5E6BA6E91C56B5D700B942C1 /* CircularCancelButton@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 5E6BA6E71C56B5D700B942C1 /* CircularCancelButton@2x.png */; }; - 5E6BA6EA1C56B5D700B942C1 /* CircularCancelButton.png in Resources */ = {isa = PBXBuildFile; fileRef = 5E6BA6E81C56B5D700B942C1 /* CircularCancelButton.png */; }; - 5E70AA8E1DF5C7B1002847E9 /* LiveAuctionCurrentLotCTAPositionManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E70AA8D1DF5C7B1002847E9 /* LiveAuctionCurrentLotCTAPositionManager.swift */; }; - 5E70AA911DF5D506002847E9 /* LiveAuctionCurrentLotCTAPositionManagerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E70AA8F1DF5D4FE002847E9 /* LiveAuctionCurrentLotCTAPositionManagerTests.swift */; }; - 5E7598061D9D92F60084AAEC /* LiveAuctionLotBidHistoryGestureControllerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E7598041D9D92F20084AAEC /* LiveAuctionLotBidHistoryGestureControllerTests.swift */; }; - 5E79FCB11C7612D8003D5D65 /* Int+Metrification.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E79FCB01C7612D8003D5D65 /* Int+Metrification.swift */; }; - 5E79FCBA1C768108003D5D65 /* ARNvagiationButton+Swift.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E79FCB91C768108003D5D65 /* ARNvagiationButton+Swift.swift */; }; - 5E79FCBC1C76856C003D5D65 /* NavigationButtonTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E79FCBB1C76856C003D5D65 /* NavigationButtonTests.swift */; }; - 5E80CA822093C29500BCFD82 /* CircleCheckGreen@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 5E80CA7C2093C29300BCFD82 /* CircleCheckGreen@3x.png */; }; - 5E80CA832093C29500BCFD82 /* CircleXRed.png in Resources */ = {isa = PBXBuildFile; fileRef = 5E80CA7D2093C29300BCFD82 /* CircleXRed.png */; }; - 5E80CA842093C29500BCFD82 /* CircleXRed@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 5E80CA7E2093C29300BCFD82 /* CircleXRed@3x.png */; }; - 5E80CA852093C29500BCFD82 /* CircleCheckGreen.png in Resources */ = {isa = PBXBuildFile; fileRef = 5E80CA7F2093C29400BCFD82 /* CircleCheckGreen.png */; }; - 5E80CA862093C29500BCFD82 /* CircleXRed@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 5E80CA802093C29400BCFD82 /* CircleXRed@2x.png */; }; - 5E80CA872093C29500BCFD82 /* CircleCheckGreen@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 5E80CA812093C29500BCFD82 /* CircleCheckGreen@2x.png */; }; - 5E830A521E969B1800A56C75 /* ArtsyEcho.m in Sources */ = {isa = PBXBuildFile; fileRef = 5E830A511E969B1800A56C75 /* ArtsyEcho.m */; }; - 5E8585F71CF61E8F00B2B487 /* PanDirectionGestureRecognizer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E8585F61CF61E8F00B2B487 /* PanDirectionGestureRecognizer.swift */; }; - 5E8585F91CF743D800B2B487 /* LiveAuctionSaleLotsDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E8585F81CF743D800B2B487 /* LiveAuctionSaleLotsDataSource.swift */; }; - 5E86A6171F73183B00D00302 /* AFHTTPRequestOperationJSONTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 5E86A6161F73183B00D00302 /* AFHTTPRequestOperationJSONTests.m */; }; - 5E88414E1CB3445A00A33BCE /* LiveAuctionStaticDataFetcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E88414D1CB3445A00A33BCE /* LiveAuctionStaticDataFetcher.swift */; }; - 5E8841501CB3462100A33BCE /* LiveAuctionStaticDataFetcherSpec.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E88414F1CB3462100A33BCE /* LiveAuctionStaticDataFetcherSpec.swift */; }; - 5E8A03B51C52B60900EAF18B /* RefinementOptionsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E8A03B41C52B60900EAF18B /* RefinementOptionsViewController.swift */; }; - 5E925EAC1E68823C00A504D6 /* LiveAuctionSaleViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E925EAB1E68823C00A504D6 /* LiveAuctionSaleViewController.swift */; }; - 5E925EAE1E6882D400A504D6 /* LiveAuctionStaticDataFetcher+Stubs.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E925EAD1E6882D400A504D6 /* LiveAuctionStaticDataFetcher+Stubs.swift */; }; - 5E956E571CD24700005C2332 /* StarscreamExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E956E561CD24700005C2332 /* StarscreamExtensions.swift */; }; - 5E956E591CD2AD6E005C2332 /* live_auctions_socket.json in Resources */ = {isa = PBXBuildFile; fileRef = 5E956E581CD2AD6E005C2332 /* live_auctions_socket.json */; }; - 5E9A78231906BA3D00734E1B /* OCMArg+ClassChecker.m in Sources */ = {isa = PBXBuildFile; fileRef = 5E9A78221906BA3D00734E1B /* OCMArg+ClassChecker.m */; }; - 5EA012891CAC3B0C009D9AFE /* LiveAuctionLotViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5EA012881CAC3B0C009D9AFE /* LiveAuctionLotViewController.swift */; }; - 5EA0128B1CAC3B55009D9AFE /* LiveAuctionBidHistoryViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5EA0128A1CAC3B55009D9AFE /* LiveAuctionBidHistoryViewController.swift */; }; - 5EA0E74C1DCA3DD200CE9203 /* Interstellar+Artsy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5EA0E74B1DCA3DD200CE9203 /* Interstellar+Artsy.swift */; }; - 5EA250661C4EE95B001E4950 /* NSArray+Additions.m in Sources */ = {isa = PBXBuildFile; fileRef = 5EA250651C4EE95B001E4950 /* NSArray+Additions.m */; }; - 5EA7BC291C600144009C52C9 /* AuctionSaleNetworkModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5EA7BC281C600144009C52C9 /* AuctionSaleNetworkModel.swift */; }; - 5EA7BC391C612454009C52C9 /* AuctionBiddersNetworkModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5EA7BC301C612454009C52C9 /* AuctionBiddersNetworkModel.swift */; }; - 5EACFAC91C750E2F004112FF /* SaleArtworkViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5EACFAC81C750E2F004112FF /* SaleArtworkViewModel.swift */; }; - 5EACFACB1C752771004112FF /* SaleArtworkViewModelTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5EACFACA1C752771004112FF /* SaleArtworkViewModelTests.swift */; }; - 5EAD265A1D09E038003826C9 /* SaleAuctionStatus.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5EAD26591D09E038003826C9 /* SaleAuctionStatus.swift */; }; - 5EB7734E259148B900E5CE94 /* ArtsyAPI+Pages.m in Sources */ = {isa = PBXBuildFile; fileRef = 5EB7734D259148B900E5CE94 /* ArtsyAPI+Pages.m */; }; - 5EBA3E831DFF4CCB005B4BEE /* ARTwoWayDictionaryTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = 5EBA3E821DFF4CCB005B4BEE /* ARTwoWayDictionaryTransformer.m */; }; - 5EBD44E01D07325300C60F9F /* UITableViewController+Animations.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5EBD44DF1D07325300C60F9F /* UITableViewController+Animations.swift */; }; - 5EBD44E21D074A7300C60F9F /* UILabel+Styling.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5EBD44E11D074A7300C60F9F /* UILabel+Styling.swift */; }; - 5EBDC94E19792C3A0082C514 /* ARNavigationControllerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 5EBDC94D19792C3A0082C514 /* ARNavigationControllerTests.m */; }; - 5EC27DCC1F6AFBC000D2A794 /* ArtsyAPI+GraphQLTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 5EC27DCB1F6AFBC000D2A794 /* ArtsyAPI+GraphQLTests.m */; }; - 5EC8C6801CA5C5FC00571B21 /* LiveActionStateReconciler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5EC8C67F1CA5C5FC00571B21 /* LiveActionStateReconciler.swift */; }; - 5EC929891C5FEAD10015133E /* UIViewController+Traits.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5EC929881C5FEAD10015133E /* UIViewController+Traits.swift */; }; - 5ED9EC021C458E9500C979A6 /* SwiftExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5ED9EC011C458E9500C979A6 /* SwiftExtensions.swift */; }; - 5EE9A3DD1D11F6810014A3C9 /* BidIncrementStrategy.m in Sources */ = {isa = PBXBuildFile; fileRef = 5EE9A3DC1D11F6810014A3C9 /* BidIncrementStrategy.m */; }; - 5EE9A3DF1D11F9F20014A3C9 /* LiveAuctionBidViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5EE9A3DE1D11F9F20014A3C9 /* LiveAuctionBidViewModel.swift */; }; - 5EE9A3E11D1211230014A3C9 /* BiddingIncrementSpecs.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5EE9A3E01D1211230014A3C9 /* BiddingIncrementSpecs.swift */; }; - 5EE9A3E31D1213D60014A3C9 /* LiveSalesPersonSpecs.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5EE9A3E21D1213D60014A3C9 /* LiveSalesPersonSpecs.swift */; }; - 5EE9A3E51D131F6C0014A3C9 /* LiveAuctionLoadingView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5EE9A3E41D131F6C0014A3C9 /* LiveAuctionLoadingView.swift */; }; - 5EE9A3E71D132DBC0014A3C9 /* LiveAuctionLoadingViewSpec.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5EE9A3E61D132DBC0014A3C9 /* LiveAuctionLoadingViewSpec.swift */; }; - 5EF8407A1CEB7DAA006248D7 /* LiveAuctionLotImageCollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5EF840791CEB7DAA006248D7 /* LiveAuctionLotImageCollectionViewCell.swift */; }; - 5EF8407E1CECDFFD006248D7 /* LiveAuctionLotCollectionViewLayoutAttributes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5EF8407D1CECDFFD006248D7 /* LiveAuctionLotCollectionViewLayoutAttributes.swift */; }; - 5EF840801CED0C5F006248D7 /* LiveAuctionFancyLotCollectionViewLayoutTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5EF8407F1CED0C5F006248D7 /* LiveAuctionFancyLotCollectionViewLayoutTests.swift */; }; - 5EF9E1171C56D0B900CD80DB /* AuctionRefineCheck.png in Resources */ = {isa = PBXBuildFile; fileRef = 5EF9E1151C56D0B900CD80DB /* AuctionRefineCheck.png */; }; - 5EF9E1181C56D0B900CD80DB /* AuctionRefineCheck@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 5EF9E1161C56D0B900CD80DB /* AuctionRefineCheck@2x.png */; }; - 5EFB45741F22831000328A6B /* static_sale_data.graphql in Resources */ = {isa = PBXBuildFile; fileRef = 5EFB45731F22830F00328A6B /* static_sale_data.graphql */; }; - 5EFE2BE41910FC81003B5EEA /* ARAppDelegate+Analytics.m in Sources */ = {isa = PBXBuildFile; fileRef = 5EFE2BE31910FC81003B5EEA /* ARAppDelegate+Analytics.m */; }; - 5EFEF1C61CEB6CC000E3AAB2 /* LiveAuctionFancyLotCollectionViewLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5EFEF1C51CEB6CC000E3AAB2 /* LiveAuctionFancyLotCollectionViewLayout.swift */; }; - 5EFEF1C81CEB7C5800E3AAB2 /* LiveAuctionLotCollectionViewDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5EFEF1C71CEB7C5800E3AAB2 /* LiveAuctionLotCollectionViewDataSource.swift */; }; - 60026AF21BDE3EFB0040257C /* ARWebViewCacheHost.m in Sources */ = {isa = PBXBuildFile; fileRef = 60026AF11BDE3EFB0040257C /* ARWebViewCacheHost.m */; }; - 600415C917C4ECE2003C7974 /* ArtsyAPI+RelatedModels.m in Sources */ = {isa = PBXBuildFile; fileRef = 600415C817C4ECE2003C7974 /* ArtsyAPI+RelatedModels.m */; }; - 600A734317DE3F3F00E21233 /* ArtsyAPI+DeviceTokens.m in Sources */ = {isa = PBXBuildFile; fileRef = 600A734217DE3F3F00E21233 /* ArtsyAPI+DeviceTokens.m */; }; - 600EE29E16B3003F002E9F9A /* ARNavigationButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 600EE29C16B3003F002E9F9A /* ARNavigationButton.m */; }; - 60107F161CC7DC1D002F772E /* ARTestImageCachingFunctions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60107F151CC7DC1D002F772E /* ARTestImageCachingFunctions.swift */; }; - 6016120420B7446800FD54B0 /* ARVIRModalClose.png in Resources */ = {isa = PBXBuildFile; fileRef = 6016120120B7446700FD54B0 /* ARVIRModalClose.png */; }; - 6016120520B7446800FD54B0 /* ARVIRModalClose@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 6016120220B7446800FD54B0 /* ARVIRModalClose@2x.png */; }; - 6016120620B7446800FD54B0 /* ARVIRModalClose@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 6016120320B7446800FD54B0 /* ARVIRModalClose@3x.png */; }; - 6019A9061C7E64B700E292FA /* LiveAuctionLotSetViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6019A9051C7E64B700E292FA /* LiveAuctionLotSetViewController.swift */; }; - 6019A9081C7E76EF00E292FA /* LiveAuctionsAssets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 6019A9071C7E76EF00E292FA /* LiveAuctionsAssets.xcassets */; }; - 6019A90D1C7F9EF600E292FA /* LiveAuctionLotSetViewControllerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6019A90C1C7F9EF600E292FA /* LiveAuctionLotSetViewControllerTests.swift */; }; - 601C317816582BA30013E061 /* ARRouter.m in Sources */ = {isa = PBXBuildFile; fileRef = 601C317716582BA30013E061 /* ARRouter.m */; }; - 601E31AB1C80A55F00D09F73 /* live_auctions_static.json in Resources */ = {isa = PBXBuildFile; fileRef = 601E31AA1C80A55F00D09F73 /* live_auctions_static.json */; }; - 601E31B01C80E35600D09F73 /* LiveAuctionLot.m in Sources */ = {isa = PBXBuildFile; fileRef = 601E31AF1C80E35600D09F73 /* LiveAuctionLot.m */; }; - 601EC3291FAA6C6E00DD0CC4 /* ARAdminTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 601EC3281FAA6C6E00DD0CC4 /* ARAdminTableViewController.m */; }; - 6021D1B81CB7C6F800C475C1 /* TextStack.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6021D1B71CB7C6F800C475C1 /* TextStack.swift */; }; - 6021D1BA1CB7D2E800C475C1 /* AuctionLotMetadataStackScrollView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6021D1B91CB7D2E800C475C1 /* AuctionLotMetadataStackScrollView.swift */; }; - 6022F5AE1BDFAC3800D975F0 /* ARWebViewCacheHostSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 6022F5AD1BDFAC3800D975F0 /* ARWebViewCacheHostSpec.m */; }; - 60289229176BE98C00512977 /* ARViewInRoomViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 60289228176BE98C00512977 /* ARViewInRoomViewController.m */; }; - 602BC089168E0C0E00069FDB /* ARReusableLoadingView.m in Sources */ = {isa = PBXBuildFile; fileRef = 602BC088168E0C0D00069FDB /* ARReusableLoadingView.m */; }; - 602C09BA1B5E5CE6003681D3 /* AFHTTPRequestOperation+JSON.m in Sources */ = {isa = PBXBuildFile; fileRef = 602C09B91B5E5CE6003681D3 /* AFHTTPRequestOperation+JSON.m */; }; - 602F03471CB2912D008A999D /* LiveAuctions.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 602F03461CB2912D008A999D /* LiveAuctions.storyboard */; }; - 602F034B1CB291EC008A999D /* StoryboardConstants.swift in Sources */ = {isa = PBXBuildFile; fileRef = 602F03491CB291EC008A999D /* StoryboardConstants.swift */; }; - 602F034C1CB291EC008A999D /* StoryboardImages.swift in Sources */ = {isa = PBXBuildFile; fileRef = 602F034A1CB291EC008A999D /* StoryboardImages.swift */; }; - 6030253E1CBBB7B500B93583 /* AuctionLotMetadataStackScrollViewTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6030253D1CBBB7B500B93583 /* AuctionLotMetadataStackScrollViewTests.swift */; }; - 60327DCD1987AD240075B399 /* ARDispatchManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 60327DCC1987AD240075B399 /* ARDispatchManager.m */; }; - 6036B1DE20337EC700763E10 /* ARAugmentedVIRSetupViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6036B1DD20337EC700763E10 /* ARAugmentedVIRSetupViewController.m */; }; - 6036B1E1203384DD00763E10 /* ARAugmentRealitySetupViewControllerSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 6036B1E0203384DC00763E10 /* ARAugmentRealitySetupViewControllerSpec.m */; }; - 6037340420CF1BFF0017A4D9 /* ARVIRShadow.png in Resources */ = {isa = PBXBuildFile; fileRef = 6037340320CF1BFF0017A4D9 /* ARVIRShadow.png */; }; - 603B3AEB1774A25700BA5BD3 /* ARNavigationController.m in Sources */ = {isa = PBXBuildFile; fileRef = 603B3AEA1774A0FA00BA5BD3 /* ARNavigationController.m */; }; - 604151E51A7998E300D5F9CA /* NSDate+RangeTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 604151E41A7998E300D5F9CA /* NSDate+RangeTests.m */; }; - 604166B116C1D47100CFBD2F /* ArtsyAPI+CurrentUserFunctions.m in Sources */ = {isa = PBXBuildFile; fileRef = 604166B016C1D47000CFBD2F /* ArtsyAPI+CurrentUserFunctions.m */; }; - 60431FB818042A1E000118D7 /* ARAppNotificationsDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 60431FB718042A1E000118D7 /* ARAppNotificationsDelegate.m */; }; - 60476F4C1AD87DB200670502 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 60476F4B1AD87DB200670502 /* UIKit.framework */; }; - 604E081B2051C5B700785717 /* ARVIRBack@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 604E08172051C5B200785717 /* ARVIRBack@2x.png */; }; - 604E081C2051C5B700785717 /* ARVIRBack@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 604E08182051C5B200785717 /* ARVIRBack@3x.png */; }; - 604E081D2051C5B700785717 /* ARVIRRefresh@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 604E08192051C5B300785717 /* ARVIRRefresh@2x.png */; }; - 604E081E2051C5B700785717 /* ARVIRRefresh@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 604E081A2051C5B400785717 /* ARVIRRefresh@3x.png */; }; - 604E08202051DDF700785717 /* ARAugmentedVIRViewControllerSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 604E081F2051DDF700785717 /* ARAugmentedVIRViewControllerSpec.m */; }; - 604E08232051E9E000785717 /* ARVIRPhone@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 604E08212051E9DF00785717 /* ARVIRPhone@2x.png */; }; - 604E08242051E9E000785717 /* ARVIRPhone@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 604E08222051E9E000785717 /* ARVIRPhone@3x.png */; }; - 605002E917D9F5DC00C090B8 /* SmallMoreVerticalArrow.png in Resources */ = {isa = PBXBuildFile; fileRef = 605002E717D9F5DC00C090B8 /* SmallMoreVerticalArrow.png */; }; - 605002EA17D9F5DC00C090B8 /* SmallMoreVerticalArrow@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 605002E817D9F5DC00C090B8 /* SmallMoreVerticalArrow@2x.png */; }; - 605191931C7525AF0002E11A /* serif_modal_close@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 605191921C7525AF0002E11A /* serif_modal_close@2x.png */; }; - 605191951C7525D50002E11A /* navigation_more_arrow_horizontal@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 605191941C7525D50002E11A /* navigation_more_arrow_horizontal@2x.png */; }; - 605191971C7526200002E11A /* navigation_more_arrow_vertical@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 605191961C7526200002E11A /* navigation_more_arrow_vertical@2x.png */; }; - 60647C671A8BB9AE00A45247 /* BuyersPremium.m in Sources */ = {isa = PBXBuildFile; fileRef = 60647C661A8BB9AE00A45247 /* BuyersPremium.m */; }; - 6065B32A2097598D004215DA /* ARVIRHorizontalPlaneInteractionController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6065B3292097598D004215DA /* ARVIRHorizontalPlaneInteractionController.m */; }; - 6065B32D209776EA004215DA /* ARSCNWallNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 6065B32C209776EA004215DA /* ARSCNWallNode.m */; }; - 60745DEA165802D9006CE156 /* ARUserManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 60745DE9165802D9006CE156 /* ARUserManager.m */; }; - 60794B9C1D0112ED0062C3F8 /* LiveAuctionsAdminViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60794B9B1D0112ED0062C3F8 /* LiveAuctionsAdminViewController.swift */; }; - 607BF5AB1C2413810034B519 /* ARAppStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = 607BF5AA1C2413810034B519 /* ARAppStatus.m */; }; - 607D754A17C239E700CA1D41 /* ArtsyAPI+Following.m in Sources */ = {isa = PBXBuildFile; fileRef = 607D754917C239E700CA1D41 /* ArtsyAPI+Following.m */; }; - 6082B2051B46ADDE00953BC8 /* stubbed_image.png in Resources */ = {isa = PBXBuildFile; fileRef = 6082B2041B46ADDE00953BC8 /* stubbed_image.png */; }; - 6082C5B42044A90C00F00635 /* Chevron_White_Left@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 6082C5B22044A90B00F00635 /* Chevron_White_Left@2x.png */; }; - 6082C5B52044A90C00F00635 /* Chevron_White_Left@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 6082C5B32044A90C00F00635 /* Chevron_White_Left@3x.png */; }; - 60863E471D0B49AE0053B51C /* ArtsyAPI+HEAD.m in Sources */ = {isa = PBXBuildFile; fileRef = 60863E461D0B49AE0053B51C /* ArtsyAPI+HEAD.m */; }; - 6088B75417D1DBAC00E4BB67 /* ARAnalyticsConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = 6088B75317D1DBAC00E4BB67 /* ARAnalyticsConstants.m */; }; - 608AABDC1B3884C600855A1C /* ARKeychainable.m in Sources */ = {isa = PBXBuildFile; fileRef = 608AABDB1B3884C600855A1C /* ARKeychainable.m */; }; - 608AFFF11CB681AD00534754 /* LiveBidProgressOverlayView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 608AFFF01CB681AD00534754 /* LiveBidProgressOverlayView.swift */; }; - 608B2F5E1657D0500046956C /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 608B2F5D1657D0500046956C /* main.m */; }; - 608B2F621657D1500046956C /* ARDefaults.m in Sources */ = {isa = PBXBuildFile; fileRef = 608B2F611657D1500046956C /* ARDefaults.m */; }; - 608B2F6F1657D1D10046956C /* User.m in Sources */ = {isa = PBXBuildFile; fileRef = 608B2F6E1657D1D10046956C /* User.m */; }; - 608B707017D4A1C80088A56C /* BackArrow_Highlighted@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 608B703E17D4A1C70088A56C /* BackArrow_Highlighted@2x.png */; }; - 608B707B17D4A1C80088A56C /* FooterBackground@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 608B704917D4A1C70088A56C /* FooterBackground@2x.png */; }; - 608B708317D4A1C80088A56C /* MoreArrow@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 608B705117D4A1C70088A56C /* MoreArrow@2x.png */; }; - 608B709417D4A1C80088A56C /* CloseButtonLarge@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 608B706217D4A1C80088A56C /* CloseButtonLarge@2x.png */; }; - 608EE3DB19954CEB001F4FE0 /* UIViewController+Testing.m in Sources */ = {isa = PBXBuildFile; fileRef = 608EE3DA19954CEB001F4FE0 /* UIViewController+Testing.m */; }; - 60903CC4175CE21A002AB800 /* AROptions.m in Sources */ = {isa = PBXBuildFile; fileRef = 60903CC3175CE21A002AB800 /* AROptions.m */; }; - 60903CCB175CE766002AB800 /* ARAdminSettingsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 60903CCA175CE766002AB800 /* ARAdminSettingsViewController.m */; }; - 60903CD2175CF095002AB800 /* ARAnimatedTickView.m in Sources */ = {isa = PBXBuildFile; fileRef = 60903CD1175CF095002AB800 /* ARAnimatedTickView.m */; }; - 60903CD5175CF23F002AB800 /* ARTickedTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 60903CD4175CF23F002AB800 /* ARTickedTableViewCell.m */; }; - 60903CD8175CF27D002AB800 /* ARAdminTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 60903CD7175CF27D002AB800 /* ARAdminTableViewCell.m */; }; - 60935A461A69CFEE00129CE1 /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 60935A451A69CFEE00129CE1 /* WebKit.framework */; settings = {ATTRIBUTES = (Weak, ); }; }; - 609624C91CEF3304002F3F33 /* ARTextViewTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 609624C81CEF3304002F3F33 /* ARTextViewTests.m */; }; - 6099F907178F24750004EF04 /* ARDefaultNavigationTransition.m in Sources */ = {isa = PBXBuildFile; fileRef = 6099F906178F24750004EF04 /* ARDefaultNavigationTransition.m */; }; - 609A42BC20C1D3F200B1B933 /* ARVIRTick.png in Resources */ = {isa = PBXBuildFile; fileRef = 609A42B920C1D3F000B1B933 /* ARVIRTick.png */; }; - 609A42BD20C1D3F200B1B933 /* ARVIRTick@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 609A42BA20C1D3F100B1B933 /* ARVIRTick@2x.png */; }; - 609A42BE20C1D3F200B1B933 /* ARVIRTick@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 609A42BB20C1D3F100B1B933 /* ARVIRTick@3x.png */; }; - 609A82F017A10C5C00AFDF13 /* ARNavigationTransitionController.m in Sources */ = {isa = PBXBuildFile; fileRef = 609A82EF17A10C5C00AFDF13 /* ARNavigationTransitionController.m */; }; - 609A82FB17A1147800AFDF13 /* ARNavigationTransition.m in Sources */ = {isa = PBXBuildFile; fileRef = 609A82FA17A1147800AFDF13 /* ARNavigationTransition.m */; }; - 609E394F1CA01FBC0035C6FC /* LiveAuctionsAssets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 6019A9071C7E76EF00E292FA /* LiveAuctionsAssets.xcassets */; }; - 60A168CF20647965008A086C /* ar_vir_opening_frame.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 60A168CE20647965008A086C /* ar_vir_opening_frame.jpg */; }; - 60A22B251FF308C300443BC3 /* ARKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 60A22B241FF308C000443BC3 /* ARKit.framework */; }; - 60A309A21AC98BF3000783C1 /* Article.m in Sources */ = {isa = PBXBuildFile; fileRef = 60A309A11AC98BF3000783C1 /* Article.m */; }; - 60A309A81AC999DE000783C1 /* ARInternalShareValidator.m in Sources */ = {isa = PBXBuildFile; fileRef = 60A309A71AC999DE000783C1 /* ARInternalShareValidator.m */; }; - 60A309AA1AC99B47000783C1 /* ARInternalShareValidatorTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 60A309A91AC99B47000783C1 /* ARInternalShareValidatorTests.m */; }; - 60A309AD1AC9A7C8000783C1 /* NSString+StringBetweenStrings.m in Sources */ = {isa = PBXBuildFile; fileRef = 60A309AC1AC9A7C8000783C1 /* NSString+StringBetweenStrings.m */; }; - 60A49F601676559300B9B95D /* ARNetworkConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = 60A49F5F1676559300B9B95D /* ARNetworkConstants.m */; }; - 60A4A63E1D05C924005946EF /* UIViewController+BlurredStatusView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60A4A63D1D05C924005946EF /* UIViewController+BlurredStatusView.swift */; }; - 60AF60C91CB2D8BD0041B430 /* LiveAuctionPlaceMaxBidViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60AF60C81CB2D8BD0041B430 /* LiveAuctionPlaceMaxBidViewController.swift */; }; - 60AF60CB1CB395600041B430 /* LiveAuctionBidButtonTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60AF60CA1CB395600041B430 /* LiveAuctionBidButtonTests.swift */; }; - 60AFD9A820AC9FA50013D74B /* ARInformationView.m in Sources */ = {isa = PBXBuildFile; fileRef = 60AFD9A720AC9FA50013D74B /* ARInformationView.m */; }; - 60B6E5981C88BEF3003B1D46 /* LiveSale.m in Sources */ = {isa = PBXBuildFile; fileRef = 60B6E5971C88BEF3003B1D46 /* LiveSale.m */; }; - 60B6F0F21662AADF007C9587 /* ARAppConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = 60B6F0F11662AADF007C9587 /* ARAppConstants.m */; }; - 60B6F13916638785007C9587 /* ArtsyAPI.m in Sources */ = {isa = PBXBuildFile; fileRef = 60B6F13816638785007C9587 /* ArtsyAPI.m */; }; - 60B6F13E16638815007C9587 /* Artwork.m in Sources */ = {isa = PBXBuildFile; fileRef = 60B6F13D16638815007C9587 /* Artwork.m */; }; - 60B8D1241CBB7C1D006C3E42 /* TextStackTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60B8D1231CBB7C1D006C3E42 /* TextStackTests.swift */; }; - 60BC92F31BBEC89B00D13E56 /* ARApplicationShortcutItemDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 60BC92F21BBEC89B00D13E56 /* ARApplicationShortcutItemDelegate.m */; }; - 60BCE10F1FF2B8A500071AA6 /* ARAugmentedRealityConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = 60BCE10C1FF2B8A500071AA6 /* ARAugmentedRealityConfig.m */; }; - 60BCE1101FF2B8A500071AA6 /* ARAugmentedFloorBasedVIRViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 60BCE10E1FF2B8A500071AA6 /* ARAugmentedFloorBasedVIRViewController.m */; }; - 60BF0C4F204737110017D9BA /* SCNArtworkNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 60BF0C4E204737110017D9BA /* SCNArtworkNode.m */; }; - 60C1C3181C5FA34400EC98EE /* ARSerifNavigationViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 60C1C3171C5FA34400EC98EE /* ARSerifNavigationViewController.m */; }; - 60C2CBEF1CC11433009B30CA /* LiveAuctionToolbarView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60C2CBEE1CC11433009B30CA /* LiveAuctionToolbarView.swift */; }; - 60CB547C1CC8F3CC0094DCE5 /* LiveAuctionViewControllerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60CB547B1CC8F3CC0094DCE5 /* LiveAuctionViewControllerTests.swift */; }; - 60CE3CAB1B46F3EE00CA2B75 /* ArtsyOHHTTPAPI.m in Sources */ = {isa = PBXBuildFile; fileRef = 60CE3CAA1B46F3EE00CA2B75 /* ArtsyOHHTTPAPI.m */; }; - 60D312471EA6CFD000B13E59 /* ReplayKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 60D312461EA6CFD000B13E59 /* ReplayKit.framework */; }; - 60D70DE41D01F420008888D1 /* LiveAuctionLotViewModelSpecs.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60D70DE31D01F420008888D1 /* LiveAuctionLotViewModelSpecs.swift */; }; - 60D90A0817C2182F0073D5B9 /* ARExternalWebBrowserViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 60D90A0717C2182F0073D5B9 /* ARExternalWebBrowserViewController.m */; }; - 60D90A0B17C218930073D5B9 /* ARInternalMobileWebViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 60D90A0A17C218930073D5B9 /* ARInternalMobileWebViewController.m */; }; - 60DCDAD71C6533DF00BB61D7 /* ARSerifNavigationViewControllerSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 60DCDAD51C6533A900BB61D7 /* ARSerifNavigationViewControllerSpec.m */; }; - 60E719FE1B4C6032008948FA /* Launch Screen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 60E719FD1B4C6032008948FA /* Launch Screen.xib */; }; - 60E71A011B4C60AC008948FA /* Artsy_Logo.png in Resources */ = {isa = PBXBuildFile; fileRef = 60E71A001B4C60AC008948FA /* Artsy_Logo.png */; }; - 60ED311F1C8F73450071DD89 /* LiveAuctionLotViewControllerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60ED311E1C8F73450071DD89 /* LiveAuctionLotViewControllerTests.swift */; }; - 60ED31221C8F746A0071DD89 /* FakeSalesPerson.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60ED31201C8F74670071DD89 /* FakeSalesPerson.swift */; }; - 60ED31251C8F76800071DD89 /* LiveAuctionLotViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60ED31241C8F76800071DD89 /* LiveAuctionLotViewModel.swift */; }; - 60ED31271C8F76AB0071DD89 /* LiveAuctionEventViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60ED31261C8F76AB0071DD89 /* LiveAuctionEventViewModel.swift */; }; - 60ED312B1C8F76CB0071DD89 /* LiveAuctionViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60ED312A1C8F76CB0071DD89 /* LiveAuctionViewModel.swift */; }; - 60ED312D1C8F776B0071DD89 /* LiveAuctionSalesPerson.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60ED312C1C8F776B0071DD89 /* LiveAuctionSalesPerson.swift */; }; - 60F242F21CB3AA7300387AA1 /* LiveAuctionBidButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60F242F11CB3AA7300387AA1 /* LiveAuctionBidButton.swift */; }; - 60F242FC1CB3F32F00387AA1 /* LiveAuctionBidViewControllerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60F242FB1CB3F32F00387AA1 /* LiveAuctionBidViewControllerTests.swift */; }; - 60F9B08F1D83255800DBAC8C /* ARAdminNetworkModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 60F9B08E1D83255800DBAC8C /* ARAdminNetworkModel.m */; }; - 60FBAA511CC688F7005ED890 /* LiveAuctionViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60FBAA501CC688F7005ED890 /* LiveAuctionViewController.swift */; }; - 60FC2CBB1C8DF29900ACD78F /* LiveEvent.m in Sources */ = {isa = PBXBuildFile; fileRef = 60FC2CBA1C8DF29900ACD78F /* LiveEvent.m */; }; - 60FC2CBD1C8F677700ACD78F /* live_auctions_static.json in Resources */ = {isa = PBXBuildFile; fileRef = 601E31AA1C80A55F00D09F73 /* live_auctions_static.json */; }; - 60FC2CBF1C8F704D00ACD78F /* SaleStatusType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60FC2CBE1C8F704D00ACD78F /* SaleStatusType.swift */; }; - 66A43C671CE470C400FFD6ED /* Hash.png in Resources */ = {isa = PBXBuildFile; fileRef = 66A43C641CE470C400FFD6ED /* Hash.png */; }; - 66A43C681CE470C400FFD6ED /* Hash@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 66A43C651CE470C400FFD6ED /* Hash@2x.png */; }; - 66A43C691CE470C400FFD6ED /* Hash@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 66A43C661CE470C400FFD6ED /* Hash@3x.png */; }; - 68AE3912711D80B0018CCC9D /* libPods-Artsy Tests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 482115D14BD4E126B81B3A2B /* libPods-Artsy Tests.a */; }; - 7F9C7EF22221FE2900F6967E /* AREigenMapContainerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7F9C7EF12221FE2900F6967E /* AREigenMapContainerViewController.m */; }; - 837CEC841C876B7C00A7E0E1 /* ArtsyAPI+Notifications.m in Sources */ = {isa = PBXBuildFile; fileRef = 837CEC831C876B7C00A7E0E1 /* ArtsyAPI+Notifications.m */; }; - 83F9D5801AD6FDE0000BCC77 /* Location.m in Sources */ = {isa = PBXBuildFile; fileRef = 83F9D57F1AD6FDE0000BCC77 /* Location.m */; }; - 83FF73B41CB87A74002B53FA /* RefinableType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 83FF73B31CB87A74002B53FA /* RefinableType.swift */; }; - 9D50B9522450CF6800A6DCD0 /* ARBackButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 9D50B9512450CF6800A6DCD0 /* ARBackButton.m */; }; - 9D50B9562450CFB600A6DCD0 /* BackChevron@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 9D50B9532450CFB500A6DCD0 /* BackChevron@3x.png */; }; - 9D50B9572450CFB600A6DCD0 /* BackChevron.png in Resources */ = {isa = PBXBuildFile; fileRef = 9D50B9542450CFB600A6DCD0 /* BackChevron.png */; }; - 9D50B9582450CFB600A6DCD0 /* BackChevron@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 9D50B9552450CFB600A6DCD0 /* BackChevron@2x.png */; }; - A18CE1A9E25D2EE10D482D6C /* libPods-Artsy.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DA8D5507586C1A8D7D25B02D /* libPods-Artsy.a */; }; - B30FEF5A181EEA47009E4EAD /* ARBidButtonTests.m in Sources */ = {isa = PBXBuildFile; fileRef = B30FEF59181EEA47009E4EAD /* ARBidButtonTests.m */; }; - B316E2F418170DF40086CCDB /* SaleArtwork.m in Sources */ = {isa = PBXBuildFile; fileRef = B316E2F318170DF40086CCDB /* SaleArtwork.m */; }; - B316E2F7181713110086CCDB /* Bidder.m in Sources */ = {isa = PBXBuildFile; fileRef = B316E2F6181713110086CCDB /* Bidder.m */; }; - B375E5F418121EEA005FC680 /* Sale.m in Sources */ = {isa = PBXBuildFile; fileRef = B375E5F318121EEA005FC680 /* Sale.m */; }; - B375E5F71812207D005FC680 /* ArtsyAPI+Sales.m in Sources */ = {isa = PBXBuildFile; fileRef = B375E5F61812207D005FC680 /* ArtsyAPI+Sales.m */; }; - B3ECE8291819D1E6009F5C5B /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 49BA7E051655ABE600C06572 /* Foundation.framework */; }; - B3ECE8301819D1E6009F5C5B /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = B3ECE82E1819D1E6009F5C5B /* InfoPlist.strings */; }; - B3ECE83C1819D1FD009F5C5B /* SaleArtworkTests.m in Sources */ = {isa = PBXBuildFile; fileRef = B3ECE83B1819D1FD009F5C5B /* SaleArtworkTests.m */; }; - B3EFC6391815B41C00F23540 /* BidderPosition.m in Sources */ = {isa = PBXBuildFile; fileRef = B3EFC6381815B41C00F23540 /* BidderPosition.m */; }; - B91C4D8E24F6893F00F5F177 /* ARScreenPresenterModule.m in Sources */ = {isa = PBXBuildFile; fileRef = B91C4D8D24F6893F00F5F177 /* ARScreenPresenterModule.m */; }; - B9A039462553FE47002E010D /* ARModalViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B9A039452553FE47002E010D /* ARModalViewController.m */; }; - B9A0395C25540810002E010D /* UIView+ScrollToTop.m in Sources */ = {isa = PBXBuildFile; fileRef = B9A0395B25540810002E010D /* UIView+ScrollToTop.m */; }; - B9A29FE023EB27BD006EE2EC /* ARReactPackagerHost.m in Sources */ = {isa = PBXBuildFile; fileRef = B9A29FDF23EB27BD006EE2EC /* ARReactPackagerHost.m */; }; - B9A29FE123EB27BD006EE2EC /* ARReactPackagerHost.m in Sources */ = {isa = PBXBuildFile; fileRef = B9A29FDF23EB27BD006EE2EC /* ARReactPackagerHost.m */; }; - CB42B64F181092480069A801 /* ARCountdownView.m in Sources */ = {isa = PBXBuildFile; fileRef = CB42B64E181092480069A801 /* ARCountdownView.m */; }; - CB6AFF2E2793654E00D7DC82 /* NotificationService.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB6AFF2D2793654E00D7DC82 /* NotificationService.swift */; }; - CB6AFF322793654E00D7DC82 /* BrazePushServiceExtension.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = CB6AFF2B2793654E00D7DC82 /* BrazePushServiceExtension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; - CB6CE8EF24F9684400ED2843 /* Thumb@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CB6CE8EB24F9684400ED2843 /* Thumb@2x.png */; }; - CB6CE8F024F9684400ED2843 /* Range@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CB6CE8EC24F9684400ED2843 /* Range@2x.png */; }; - CB6CE8F124F9684400ED2843 /* Thumb.png in Resources */ = {isa = PBXBuildFile; fileRef = CB6CE8ED24F9684400ED2843 /* Thumb.png */; }; - CB6CE8F224F9684400ED2843 /* Track@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CB6CE8EE24F9684400ED2843 /* Track@2x.png */; }; - CB879D0C180746C900E2D8EC /* AuctionLot.m in Sources */ = {isa = PBXBuildFile; fileRef = CB879D0B180746C900E2D8EC /* AuctionLot.m */; }; - CB8FF7C226C45CFC00022DA3 /* AdSupport.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 49473F2C17BEDE1F004BF082 /* AdSupport.framework */; }; - CB8FF7C426C45CFC00022DA3 /* AdServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CB8FF7C326C45CFC00022DA3 /* AdServices.framework */; settings = {ATTRIBUTES = (Weak, ); }; }; - CB8FF7C526C45D0B00022DA3 /* iAd.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 49473F2E17BEDFFD004BF082 /* iAd.framework */; }; - CB8FF7C726C45D2200022DA3 /* StoreKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CB8FF7C626C45D2100022DA3 /* StoreKit.framework */; }; - CB8FF7C926C45D3400022DA3 /* AppTrackingTransparency.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CB8FF7C826C45D3400022DA3 /* AppTrackingTransparency.framework */; settings = {ATTRIBUTES = (Weak, ); }; }; - CB9E244117CBC36F00773A9A /* ARAuthProviders.m in Sources */ = {isa = PBXBuildFile; fileRef = CB9E244017CBC36F00773A9A /* ARAuthProviders.m */; }; - CBB469D0181F1F1200B5692B /* Bid.m in Sources */ = {isa = PBXBuildFile; fileRef = CBB469CF181F1F1200B5692B /* Bid.m */; }; - CBF74085250ACDC5004048D3 /* ARAppDelegate+Echo.m in Sources */ = {isa = PBXBuildFile; fileRef = CBF74084250ACDC5004048D3 /* ARAppDelegate+Echo.m */; }; - D35D9D5C1ACB4FF800E67A1D /* ARCustomEigenLabelTests.m in Sources */ = {isa = PBXBuildFile; fileRef = D35D9D5B1ACB4FF800E67A1D /* ARCustomEigenLabelTests.m */; }; - D3ACE5391AEEF47C0053E0CE /* ARExternalWebBrowserViewControllerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = D3ACE5381AEEF47C0053E0CE /* ARExternalWebBrowserViewControllerTests.m */; }; - D3C8C2061B66D2FF004CAD7F /* ARImageTests.m in Sources */ = {isa = PBXBuildFile; fileRef = D3C8C2051B66D2FF004CAD7F /* ARImageTests.m */; }; - D3F69A4A1AC1F7CB007C65C9 /* ARDefaultsTests.m in Sources */ = {isa = PBXBuildFile; fileRef = D3F69A491AC1F7CB007C65C9 /* ARDefaultsTests.m */; }; - E60673B319BE4E8C00EF05EB /* full_logo_white_small@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = E60673B119BE4E8C00EF05EB /* full_logo_white_small@2x.png */; }; - E611847018D78068000FE4C9 /* ARMessageItemProviderTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E611846F18D78068000FE4C9 /* ARMessageItemProviderTests.m */; }; - E611847218D7B4C4000FE4C9 /* ARSharingControllerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E611847118D7B4C4000FE4C9 /* ARSharingControllerTests.m */; }; - E61E772619A5477300C55E14 /* ARExpectaExtensions.m in Sources */ = {isa = PBXBuildFile; fileRef = E61E772519A5477300C55E14 /* ARExpectaExtensions.m */; }; - E620C74819C746530064A0FF /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = E620C74719C746530064A0FF /* Images.xcassets */; }; - E649708918D7762F009DB0C4 /* ARImageItemProviderTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E649708818D7762F009DB0C4 /* ARImageItemProviderTests.m */; }; - E667F12218EC825D00503F50 /* ARHTTPRequestOperationLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = E667F12118EC825D00503F50 /* ARHTTPRequestOperationLogger.m */; }; - E667F12918EC82AB00503F50 /* ARLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = E667F12718EC82AB00503F50 /* ARLogger.m */; }; - E667F12C18EC889F00503F50 /* ARLogFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = E667F12B18EC889F00503F50 /* ARLogFormatter.m */; }; - E66A0A8319C2125400ECEB1A /* full_logo_white_large@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = E66A0A8219C2125400ECEB1A /* full_logo_white_large@2x.png */; }; - E6718316194A595F001A5566 /* ARTestContext.m in Sources */ = {isa = PBXBuildFile; fileRef = E6718315194A595F001A5566 /* ARTestContext.m */; }; - E67655261900660500F9A704 /* ARWhitespaceGobbler.m in Sources */ = {isa = PBXBuildFile; fileRef = E67655251900660500F9A704 /* ARWhitespaceGobbler.m */; }; - E676A62518EF5F6E00B9AF2C /* Artwork_v0.data in Resources */ = {isa = PBXBuildFile; fileRef = E676A62418EF5F6E00B9AF2C /* Artwork_v0.data */; }; - E676A62B18F3421600B9AF2C /* ARSeparatorViews.m in Sources */ = {isa = PBXBuildFile; fileRef = E676A62A18F3421600B9AF2C /* ARSeparatorViews.m */; }; - E676B2EB18D0CC330057B4E1 /* ARURLItemProvider.m in Sources */ = {isa = PBXBuildFile; fileRef = E676B2EA18D0CC330057B4E1 /* ARURLItemProvider.m */; }; - E676B2EE18D11A9B0057B4E1 /* ARImageItemProvider.m in Sources */ = {isa = PBXBuildFile; fileRef = E676B2ED18D11A9B0057B4E1 /* ARImageItemProvider.m */; }; - E676B2F218D224000057B4E1 /* ARMessageItemProvider.m in Sources */ = {isa = PBXBuildFile; fileRef = E676B2F118D224000057B4E1 /* ARMessageItemProvider.m */; }; - E676B2F518D230A00057B4E1 /* ARURLItemProviderTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E676B2F418D230A00057B4E1 /* ARURLItemProviderTests.m */; }; - E67E1DB219475642004252E0 /* ARAnimatedTickViewTest.m in Sources */ = {isa = PBXBuildFile; fileRef = E67E1DB119475642004252E0 /* ARAnimatedTickViewTest.m */; }; - E6A3500518AAEBFF0075398F /* NSKeyedUnarchiver+ErrorLogging.m in Sources */ = {isa = PBXBuildFile; fileRef = E6A3500418AAEBFF0075398F /* NSKeyedUnarchiver+ErrorLogging.m */; }; - E6B9FA7B18A97C0A00E961F9 /* stub.jpg in Resources */ = {isa = PBXBuildFile; fileRef = E6B9FA7A18A97C0A00E961F9 /* stub.jpg */; }; - E6EC246118F7069300C89192 /* PartnerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E6EC246018F7069300C89192 /* PartnerTests.m */; }; - E6F466E818EF52A800A09AFA /* Artwork_v1.data in Resources */ = {isa = PBXBuildFile; fileRef = E6F466E718EF52A800A09AFA /* Artwork_v1.data */; }; - E6F84CFF1A0A920600BF99A3 /* CloseButtonLargeHighlighted@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = E6F84CFE1A0A920600BF99A3 /* CloseButtonLargeHighlighted@2x.png */; }; - E6F84D001A0A920600BF99A3 /* CloseButtonLargeHighlighted@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = E6F84CFE1A0A920600BF99A3 /* CloseButtonLargeHighlighted@2x.png */; }; - FC073424275E8F6E008B29B9 /* Article.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC9DDB10274D8FFF005DEE85 /* Article.swift */; }; - FC10F3782760FC15006CDAB5 /* WidgetUrl.swift in Sources */ = {isa = PBXBuildFile; fileRef = FCB45B4A2746F81F00232337 /* WidgetUrl.swift */; }; - FC592EF52798A8B4001A4FD6 /* ImageUrl.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC592EF42798A8B4001A4FD6 /* ImageUrl.swift */; }; - FC61189E2746FE2300612581 /* ArtworkStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC61189D2746FE2300612581 /* ArtworkStore.swift */; }; - FC6118A02747001B00612581 /* ArtworkImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC61189F2747001B00612581 /* ArtworkImage.swift */; }; - FC6118A2274704FA00612581 /* Schedule.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC6118A1274704FA00612581 /* Schedule.swift */; }; - FC6118A42747068300612581 /* FullBleed+Timeline.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC6118A32747068300612581 /* FullBleed+Timeline.swift */; }; - FC6118A82747091500612581 /* VolleyClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC6118A52747091400612581 /* VolleyClient.swift */; }; - FC6118A92747091500612581 /* VolleyPayload.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC6118A62747091400612581 /* VolleyPayload.swift */; }; - FC6118AA2747091500612581 /* VolleyMetric.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC6118A72747091500612581 /* VolleyMetric.swift */; }; - FC89B2A0274C3ADB005F3F58 /* FeaturedArtworks.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC89B29F274C3ADB005F3F58 /* FeaturedArtworks.swift */; }; - FC89B2A2274C3AF7005F3F58 /* FeaturedArtworks+Entry.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC89B2A1274C3AF7005F3F58 /* FeaturedArtworks+Entry.swift */; }; - FC89B2A4274C3B03005F3F58 /* FeaturedArtworks+Provider.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC89B2A3274C3B03005F3F58 /* FeaturedArtworks+Provider.swift */; }; - FC89B2A6274C3B12005F3F58 /* FeaturedArtworks+Timeline.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC89B2A5274C3B12005F3F58 /* FeaturedArtworks+Timeline.swift */; }; - FC89B2A8274C3B24005F3F58 /* FeaturedArtworks+View.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC89B2A7274C3B24005F3F58 /* FeaturedArtworks+View.swift */; }; - FC89B2AA274C3B30005F3F58 /* FeaturedArtworks+Widget.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC89B2A9274C3B30005F3F58 /* FeaturedArtworks+Widget.swift */; }; - FC89B2AC274C44C9005F3F58 /* FeaturedArtworks+SmallView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC89B2AB274C44C9005F3F58 /* FeaturedArtworks+SmallView.swift */; }; - FC89B2AE274C4695005F3F58 /* FeaturedArtworks+MediumView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC89B2AD274C4695005F3F58 /* FeaturedArtworks+MediumView.swift */; }; - FC89B2B0274C47E7005F3F58 /* FeaturedArtworks+LargeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC89B2AF274C47E7005F3F58 /* FeaturedArtworks+LargeView.swift */; }; - FC9DDAF5274D63ED005DEE85 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = FCB45B2A2746EF3900232337 /* Assets.xcassets */; }; - FC9DDAF6274D64B1005DEE85 /* Fixtures.swift in Sources */ = {isa = PBXBuildFile; fileRef = FCD1340A27483ED90065074D /* Fixtures.swift */; }; - FC9DDAFF274D8F41005DEE85 /* LatestArticles.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC9DDAFE274D8F41005DEE85 /* LatestArticles.swift */; }; - FC9DDB01274D8F4E005DEE85 /* LatestArticles+Entry.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC9DDB00274D8F4E005DEE85 /* LatestArticles+Entry.swift */; }; - FC9DDB03274D8F5A005DEE85 /* LatestArticles+MediumView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC9DDB02274D8F5A005DEE85 /* LatestArticles+MediumView.swift */; }; - FC9DDB05274D8F7E005DEE85 /* LatestArticles+Provider.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC9DDB04274D8F7E005DEE85 /* LatestArticles+Provider.swift */; }; - FC9DDB07274D8F8C005DEE85 /* LatestArticles+SmallView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC9DDB06274D8F8C005DEE85 /* LatestArticles+SmallView.swift */; }; - FC9DDB09274D8F96005DEE85 /* LatestArticles+Timeline.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC9DDB08274D8F96005DEE85 /* LatestArticles+Timeline.swift */; }; - FC9DDB0B274D8FA1005DEE85 /* LatestArticles+View.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC9DDB0A274D8FA1005DEE85 /* LatestArticles+View.swift */; }; - FC9DDB0D274D8FAE005DEE85 /* LatestArticles+Widget.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC9DDB0C274D8FAE005DEE85 /* LatestArticles+Widget.swift */; }; - FC9DDB0F274D8FBB005DEE85 /* LatestArticles+LargeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC9DDB0E274D8FBB005DEE85 /* LatestArticles+LargeView.swift */; }; - FC9DDB11274D8FFF005DEE85 /* Article.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC9DDB10274D8FFF005DEE85 /* Article.swift */; }; - FC9DDB13274D9A32005DEE85 /* ArticleStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC9DDB12274D9A32005DEE85 /* ArticleStore.swift */; }; - FC9DDB15274D9C1F005DEE85 /* ArticleParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC9DDB14274D9C1F005DEE85 /* ArticleParser.swift */; }; - FCB45B242746EF3700232337 /* WidgetKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FCB45B232746EF3700232337 /* WidgetKit.framework */; }; - FCB45B262746EF3700232337 /* SwiftUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FCB45B252746EF3700232337 /* SwiftUI.framework */; }; - FCB45B292746EF3700232337 /* ArtsyWidgets.swift in Sources */ = {isa = PBXBuildFile; fileRef = FCB45B282746EF3700232337 /* ArtsyWidgets.swift */; }; - FCB45B2B2746EF3900232337 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = FCB45B2A2746EF3900232337 /* Assets.xcassets */; }; - FCB45B2F2746EF3900232337 /* ArtsyWidgetExtension.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = FCB45B222746EF3700232337 /* ArtsyWidgetExtension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; - FCB45B372746F0A500232337 /* FullBleed+View.swift in Sources */ = {isa = PBXBuildFile; fileRef = FCB45B362746F0A500232337 /* FullBleed+View.swift */; }; - FCB45B392746F0B800232337 /* FullBleed+Provider.swift in Sources */ = {isa = PBXBuildFile; fileRef = FCB45B382746F0B800232337 /* FullBleed+Provider.swift */; }; - FCB45B3B2746F0CC00232337 /* FullBleed+Entry.swift in Sources */ = {isa = PBXBuildFile; fileRef = FCB45B3A2746F0CC00232337 /* FullBleed+Entry.swift */; }; - FCB45B3D2746F0F100232337 /* FullBleed.swift in Sources */ = {isa = PBXBuildFile; fileRef = FCB45B3C2746F0F100232337 /* FullBleed.swift */; }; - FCB45B402746F26E00232337 /* Artwork.swift in Sources */ = {isa = PBXBuildFile; fileRef = FCB45B3F2746F26E00232337 /* Artwork.swift */; }; - FCB45B422746F28700232337 /* Artist.swift in Sources */ = {isa = PBXBuildFile; fileRef = FCB45B412746F28700232337 /* Artist.swift */; }; - FCB45B442746F42800232337 /* FullBleed+Widget.swift in Sources */ = {isa = PBXBuildFile; fileRef = FCB45B432746F42800232337 /* FullBleed+Widget.swift */; }; - FCB45B472746F6FD00232337 /* PrimaryText.swift in Sources */ = {isa = PBXBuildFile; fileRef = FCB45B462746F6FD00232337 /* PrimaryText.swift */; }; - FCB45B492746F72800232337 /* SecondaryText.swift in Sources */ = {isa = PBXBuildFile; fileRef = FCB45B482746F72800232337 /* SecondaryText.swift */; }; - FCB45B4B2746F81F00232337 /* WidgetUrl.swift in Sources */ = {isa = PBXBuildFile; fileRef = FCB45B4A2746F81F00232337 /* WidgetUrl.swift */; }; - FCD1340B27483ED90065074D /* Fixtures.swift in Sources */ = {isa = PBXBuildFile; fileRef = FCD1340A27483ED90065074D /* Fixtures.swift */; }; - FCD47BD8274833EF003F27B8 /* ScheduleTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = FCD47BD6274833EF003F27B8 /* ScheduleTests.swift */; }; - FCD47BD9274833EF003F27B8 /* ArtworkTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = FCD47BD7274833EF003F27B8 /* ArtworkTests.swift */; }; - FCD47BDA274833FF003F27B8 /* Schedule.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC6118A1274704FA00612581 /* Schedule.swift */; }; - FCD47BDB27483407003F27B8 /* Artwork.swift in Sources */ = {isa = PBXBuildFile; fileRef = FCB45B3F2746F26E00232337 /* Artwork.swift */; }; - FCD47BDC2748347F003F27B8 /* Artist.swift in Sources */ = {isa = PBXBuildFile; fileRef = FCB45B412746F28700232337 /* Artist.swift */; }; - FCD47BDD27483482003F27B8 /* ArtworkImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC61189F2747001B00612581 /* ArtworkImage.swift */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 1AD4F8A025FBBA89007FDB71 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 49BA7DF61655ABE600C06572 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 1AD4F89A25FBBA85007FDB71; - remoteInfo = "Artsy Stickers"; - }; - B3ECE8341819D1E7009F5C5B /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 49BA7DF61655ABE600C06572 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 49BA7DFE1655ABE600C06572; - remoteInfo = Artsy; - }; - CB6AFF302793654E00D7DC82 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 49BA7DF61655ABE600C06572 /* Project object */; - proxyType = 1; - remoteGlobalIDString = CB6AFF2A2793654E00D7DC82; - remoteInfo = BrazePushServiceExtension; - }; - FCB45B2D2746EF3900232337 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 49BA7DF61655ABE600C06572 /* Project object */; - proxyType = 1; - remoteGlobalIDString = FCB45B212746EF3700232337; - remoteInfo = ArtsyWidgetExtension; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXCopyFilesBuildPhase section */ - 1AD4F8A325FBBA89007FDB71 /* Embed App Extensions */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 13; - files = ( - CB6AFF322793654E00D7DC82 /* BrazePushServiceExtension.appex in Embed App Extensions */, - FCB45B2F2746EF3900232337 /* ArtsyWidgetExtension.appex in Embed App Extensions */, - 1AD4F8A225FBBA89007FDB71 /* Artsy Stickers.appex in Embed App Extensions */, - ); - name = "Embed App Extensions"; - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 06E44EB8170235D8001B2EBF /* MessageUI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MessageUI.framework; path = System/Library/Frameworks/MessageUI.framework; sourceTree = SDKROOT; }; - 0C9332281BA1FA6B00F3CE95 /* ARUserActivity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARUserActivity.h; sourceTree = ""; }; - 0C9332291BA1FA6B00F3CE95 /* ARUserActivity.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARUserActivity.m; sourceTree = ""; }; - 0CE3C4331B8BB35C0092A24F /* EXPMatcher+UINavigationController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "EXPMatcher+UINavigationController.h"; sourceTree = ""; }; - 0CE3C4341B8BB35C0092A24F /* EXPMatcher+UINavigationController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "EXPMatcher+UINavigationController.m"; sourceTree = ""; }; - 1A0517C32746D93000248353 /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = System/Library/Frameworks/CoreServices.framework; sourceTree = SDKROOT; }; - 1A0517C52746DC9100248353 /* ARNativeTabsManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ARNativeTabsManager.h; sourceTree = ""; }; - 1A0517C62746DC9100248353 /* ARNativeTabsManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ARNativeTabsManager.m; sourceTree = ""; }; - 1A248BD9265C282400E41409 /* ARTArtsyNativeModule.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ARTArtsyNativeModule.h; sourceTree = ""; }; - 1A248BDA265C282400E41409 /* ARTArtsyNativeModule.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ARTArtsyNativeModule.m; sourceTree = ""; }; - 1AC7920F251A42CF00F50228 /* EchoNew.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = EchoNew.json; sourceTree = ""; }; - 1AD4F89B25FBBA85007FDB71 /* Artsy Stickers.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = "Artsy Stickers.appex"; sourceTree = BUILT_PRODUCTS_DIR; }; - 1AD4F89D25FBBA89007FDB71 /* Stickers.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Stickers.xcassets; sourceTree = ""; }; - 1AD4F89F25FBBA89007FDB71 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 1C02A2091CADA80D008B4F6C /* full_logo_white_medium@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "full_logo_white_medium@2x.png"; sourceTree = ""; }; - 1C5AAEB21CD87D9B00515B73 /* SearchButton.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = SearchButton.png; sourceTree = ""; }; - 1C5AAEB31CD87D9B00515B73 /* SearchButton@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "SearchButton@2x.png"; sourceTree = ""; }; - 1C5AAEB41CD87D9B00515B73 /* SearchButton@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "SearchButton@3x.png"; sourceTree = ""; }; - 1CC9EB9B1CC76CDD00A74E3C /* followButton.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = followButton.png; sourceTree = ""; }; - 1CC9EB9C1CC76CDD00A74E3C /* followButton@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "followButton@2x.png"; sourceTree = ""; }; - 1CC9EB9D1CC76CDD00A74E3C /* followButton@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "followButton@3x.png"; sourceTree = ""; }; - 1CC9EB9E1CC76CDD00A74E3C /* followButtonChecked.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = followButtonChecked.png; sourceTree = ""; }; - 1CC9EB9F1CC76CDD00A74E3C /* followButtonChecked@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "followButtonChecked@2x.png"; sourceTree = ""; }; - 1CC9EBA01CC76CDD00A74E3C /* followButtonChecked@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "followButtonChecked@3x.png"; sourceTree = ""; }; - 1CFA4EB31E5C4B6B00D44A5A /* full_logo_black_large@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "full_logo_black_large@2x.png"; sourceTree = ""; }; - 1CFA4EB41E5C4B6B00D44A5A /* full_logo_black_medium@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "full_logo_black_medium@2x.png"; sourceTree = ""; }; - 1CFA4EB51E5C4B6B00D44A5A /* full_logo_black_small@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "full_logo_black_small@2x.png"; sourceTree = ""; }; - 219967EB267B4B1C00ECA8E1 /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = ""; }; - 229364D21EC65CDC00D2045E /* SaleStatusView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SaleStatusView.swift; path = Live_Auctions/Views/SaleStatusView.swift; sourceTree = ""; }; - 29773A6F17B9749800FC89B3 /* ARHasImageBaseURL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARHasImageBaseURL.h; sourceTree = ""; }; - 342F9036F798770D9E0CC66C /* UIImageView+AsyncImageLoading.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIImageView+AsyncImageLoading.h"; sourceTree = ""; }; - 342F90BFE6268BEBC0E7BB2E /* ARValueTransformer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARValueTransformer.m; sourceTree = ""; }; - 342F9175329F0389E644C194 /* NSDate+DateRange.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSDate+DateRange.m"; sourceTree = ""; }; - 342F918CC4304843C82ED43C /* ARBidButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARBidButton.h; sourceTree = ""; }; - 342F91AA54E8417472868A61 /* UIViewController+FullScreenLoading.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIViewController+FullScreenLoading.h"; sourceTree = ""; }; - 342F924737155CB0C5A439F9 /* UIViewController+FullScreenLoading.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIViewController+FullScreenLoading.m"; sourceTree = ""; }; - 342F92B72CCFA5F1E35F0067 /* UIApplicationStateEnum.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIApplicationStateEnum.h; sourceTree = ""; }; - 342F92D1AEEE18F719695548 /* MTLModel+JSON.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "MTLModel+JSON.m"; sourceTree = ""; }; - 342F92FE487AC8FCA43F5C74 /* Follow.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Follow.m; sourceTree = ""; }; - 342F9316E861BD2C6EBFA31A /* ORStackViewArtsyCategoriesTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ORStackViewArtsyCategoriesTests.m; sourceTree = ""; }; - 342F93309D1B60C53E2E0732 /* Artwork+Extensions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "Artwork+Extensions.m"; sourceTree = ""; }; - 342F9331632309600346BD90 /* UIViewController+SimpleChildren.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIViewController+SimpleChildren.m"; sourceTree = ""; }; - 342F94A8E1109ABC367CB751 /* ARStandardDateFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARStandardDateFormatter.h; sourceTree = ""; }; - 342F94AB8EA7914F64F117AD /* UIDevice-Hardware.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIDevice-Hardware.h"; sourceTree = ""; }; - 342F94F249E33303787DC61E /* MTLModel+JSON.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "MTLModel+JSON.h"; sourceTree = ""; }; - 342F954D3ABCF82AAC1640D9 /* ARSharingController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARSharingController.h; sourceTree = ""; }; - 342F955C47585DAE288DCC7F /* ARScrollNavigationChief.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARScrollNavigationChief.h; sourceTree = ""; }; - 342F95F94C5759B9CA05AB59 /* Artwork+Extensions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Artwork+Extensions.h"; sourceTree = ""; }; - 342F96255EEC90B05A4FF213 /* ARFeedImageLoader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARFeedImageLoader.h; sourceTree = ""; }; - 342F9629B03A1BEB6888BD4B /* ARBidButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARBidButton.m; sourceTree = ""; }; - 342F965F76AA25C6C700FE1C /* ARNavigationButtonsViewControllerTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARNavigationButtonsViewControllerTests.m; sourceTree = ""; }; - 342F966C989CF0BE97711FB6 /* ARFeedImageLoader.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARFeedImageLoader.m; sourceTree = ""; }; - 342F969D222D3AAD67B93FCE /* ARTextView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARTextView.m; sourceTree = ""; }; - 342F96AD6F2466A26A3152F8 /* ORStackView+ArtsyViews.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "ORStackView+ArtsyViews.h"; sourceTree = ""; }; - 342F96B30465B8B7722DBD1D /* UIImage+ImageFromColor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIImage+ImageFromColor.h"; sourceTree = ""; }; - 342F9737E2E62CEC8B68D181 /* ARFileUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARFileUtils.h; sourceTree = ""; }; - 342F97A9F6D9D371703C2B19 /* ARNetworkErrorManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARNetworkErrorManager.m; sourceTree = ""; }; - 342F97B49335330C4FD569B4 /* UIDevice-Hardware.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIDevice-Hardware.m"; sourceTree = ""; }; - 342F97C153D8524B132D0927 /* NSDate+Util.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSDate+Util.m"; sourceTree = ""; }; - 342F97E1E35CFFE9767F07CD /* NSDate+DateRange.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSDate+DateRange.h"; sourceTree = ""; }; - 342F984DED67FEAABB90AFC3 /* MTLModel+Dictionary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "MTLModel+Dictionary.h"; sourceTree = ""; }; - 342F9860A7DDF0C11DC56572 /* Fair.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Fair.m; sourceTree = ""; }; - 342F987C1CACE95AAD292717 /* UIImage+ImageFromColor.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIImage+ImageFromColor.m"; sourceTree = ""; }; - 342F98950528061D8AE370EA /* MTLModel+Dictionary.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "MTLModel+Dictionary.m"; sourceTree = ""; }; - 342F98A73E2E1162514B5A24 /* ARScrollNavigationChief.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARScrollNavigationChief.m; sourceTree = ""; }; - 342F9983D46712773FC71FC3 /* Fair.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Fair.h; sourceTree = ""; }; - 342F9A069BB0267F7BF6F260 /* UIView+HitTestExpansion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIView+HitTestExpansion.h"; sourceTree = ""; }; - 342F9AC158B5157E968BE7BE /* Follow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Follow.h; sourceTree = ""; }; - 342F9B2379536051BE35B6D4 /* ARValueTransformer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARValueTransformer.h; sourceTree = ""; }; - 342F9C3811C6F12C261F04D4 /* ARNavigationButtonsViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARNavigationButtonsViewController.m; sourceTree = ""; }; - 342F9C3F2A3A8DD09B29D803 /* ARTextView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARTextView.h; sourceTree = ""; }; - 342F9CDCE3E3D1674CA080AD /* UIApplicationStateEnum.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIApplicationStateEnum.m; sourceTree = ""; }; - 342F9D994FE5E37F23DB781A /* ARNetworkErrorManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARNetworkErrorManager.h; sourceTree = ""; }; - 342F9DA91638895F6A6A432C /* UIImageView+AsyncImageLoading.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIImageView+AsyncImageLoading.m"; sourceTree = ""; }; - 342F9DC4018D17E7378DA607 /* ARSharingController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; path = ARSharingController.m; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objc; }; - 342F9DE76CE6DE0D374BC703 /* UIViewController+SimpleChildren.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIViewController+SimpleChildren.h"; sourceTree = ""; }; - 342F9DFFC4EBE280F4BDF6E8 /* NSDate+Util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSDate+Util.h"; sourceTree = ""; }; - 342F9E3AC3A1AD2AF62F353C /* ARNavigationButtonsViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARNavigationButtonsViewController.h; sourceTree = ""; }; - 342F9F32AB53EF2503473315 /* ORStackView+ArtsyViews.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "ORStackView+ArtsyViews.m"; sourceTree = ""; }; - 342F9F3E8A0C15DD0DB437D1 /* ARStandardDateFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARStandardDateFormatter.m; sourceTree = ""; }; - 342F9F4385F10D19BC94E456 /* UIView+HitTestExpansion.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIView+HitTestExpansion.m"; sourceTree = ""; }; - 342F9F752C66B13A43FD55DC /* StyledSubclasses.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StyledSubclasses.h; sourceTree = ""; }; - 342F9FEFF4A1B56EE307467B /* ARFileUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARFileUtils.m; sourceTree = ""; }; - 3A6EBA7E22358DE60052D0C0 /* Emission.podspec.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; name = Emission.podspec.json; path = "Pods/Local Podspecs/Emission.podspec.json"; sourceTree = ""; }; - 3C205B58189000A5004280E0 /* ARAppNotificationsDelegateTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARAppNotificationsDelegateTests.m; sourceTree = ""; }; - 3C22227318C6487C00B7CE3A /* User_v0.data */ = {isa = PBXFileReference; lastKnownFileType = file.bplist; path = User_v0.data; sourceTree = ""; }; - 3C22227518C64B4A00B7CE3A /* User_v1.data */ = {isa = PBXFileReference; lastKnownFileType = file.bplist; path = User_v1.data; sourceTree = ""; }; - 3C28D3DA18BE180B00C846EA /* ARNavigationButtonTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARNavigationButtonTests.m; sourceTree = ""; }; - 3C2E6C5B192262A3009DAB28 /* ARRouterTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARRouterTests.m; sourceTree = ""; }; - 3C3FEA8C188433F200E1A16F /* ARUserManager+Stubs.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "ARUserManager+Stubs.h"; sourceTree = ""; }; - 3C3FEA8D1884346D00E1A16F /* ARUserManager+Stubs.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "ARUserManager+Stubs.m"; sourceTree = ""; }; - 3C48E20E1965AC640077A80B /* ARCustomEigenLabels.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARCustomEigenLabels.h; sourceTree = ""; }; - 3C48E20F1965AC640077A80B /* ARCustomEigenLabels.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARCustomEigenLabels.m; sourceTree = ""; }; - 3C4AE96D19094DAA009C0E8B /* MapAnnotation_Artsy@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "MapAnnotation_Artsy@2x.png"; sourceTree = ""; }; - 3C4AE98C19094F96009C0E8B /* ViewInRoom_Base@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ViewInRoom_Base@2x.png"; sourceTree = ""; }; - 3C4AE98D19094F96009C0E8B /* ViewInRoom_BaseNoBench@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ViewInRoom_BaseNoBench@2x.png"; sourceTree = ""; }; - 3C4AE98E19094F96009C0E8B /* ViewInRoom_Bench@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ViewInRoom_Bench@2x.png"; sourceTree = ""; }; - 3C4AE98F19094F96009C0E8B /* ViewInRoom_Man_3@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ViewInRoom_Man_3@2x.png"; sourceTree = ""; }; - 3C4AE99019094F96009C0E8B /* ViewInRoom_Wall_Right@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ViewInRoom_Wall_Right@2x.png"; sourceTree = ""; }; - 3C4AE99119094F96009C0E8B /* ViewInRoom_Wall@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ViewInRoom_Wall@2x.png"; sourceTree = ""; }; - 3C5C7E3F18970E8B003823BB /* UIApplicationStateEnumTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIApplicationStateEnumTests.m; sourceTree = ""; }; - 3C6AA7C91885F38D00501F07 /* SaleArtwork+Extensions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "SaleArtwork+Extensions.h"; sourceTree = ""; }; - 3C6AA7CA1885F38D00501F07 /* SaleArtwork+Extensions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "SaleArtwork+Extensions.m"; sourceTree = ""; }; - 3C6AEE26188F228600DD98FC /* ARInternalMobileWebViewControllerTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARInternalMobileWebViewControllerTests.m; sourceTree = ""; }; - 3C6BDCBC18E0AEF60028EF5D /* ArtsyAPI+PrivateTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "ArtsyAPI+PrivateTests.m"; sourceTree = ""; }; - 3C6BDCBE18E0B3E40028EF5D /* MutableNSURLResponse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MutableNSURLResponse.h; sourceTree = ""; }; - 3C6BDCBF18E0B3E40028EF5D /* MutableNSURLResponse.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MutableNSURLResponse.m; sourceTree = ""; }; - 3C6CB60418ABC7BB008DFE3B /* UserTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UserTests.m; sourceTree = ""; }; - 3C7880BA18B9081C00595E30 /* ARNotificationView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARNotificationView.h; sourceTree = ""; }; - 3C7880BB18B9081C00595E30 /* ARNotificationView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARNotificationView.m; sourceTree = ""; }; - 3C7A7FA618C6EDAB00E8D336 /* ArtworkTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ArtworkTests.m; sourceTree = ""; }; - 3C7ECF72189010CA004BC877 /* Extensions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Extensions.h; sourceTree = ""; }; - 3CA1E81E188465F0003C622D /* Sale+Extensions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Sale+Extensions.h"; sourceTree = ""; }; - 3CA1E81F188465F0003C622D /* Sale+Extensions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "Sale+Extensions.m"; sourceTree = ""; }; - 3CA1E8211884663E003C622D /* Bid+Extensions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Bid+Extensions.h"; sourceTree = ""; }; - 3CA1E8221884663E003C622D /* Bid+Extensions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "Bid+Extensions.m"; sourceTree = ""; }; - 3CA1E82418846B3A003C622D /* SaleTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SaleTests.m; sourceTree = ""; }; - 3CA37E791910072C00B06E81 /* ARHeartStatus.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ARHeartStatus.h; sourceTree = ""; }; - 3CAA412D18D88F2E000EE867 /* UIViewController+InnermostTopViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIViewController+InnermostTopViewController.h"; sourceTree = ""; }; - 3CAA412E18D88F2E000EE867 /* UIViewController+InnermostTopViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIViewController+InnermostTopViewController.m"; sourceTree = ""; }; - 3CAED17B188026AC00840608 /* ARUserManagerTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARUserManagerTests.m; sourceTree = ""; }; - 3CB37D95192246B500089A1D /* ArtsyAPI+ErrorHandlers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "ArtsyAPI+ErrorHandlers.h"; sourceTree = ""; }; - 3CB37D96192246B500089A1D /* ArtsyAPI+ErrorHandlers.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "ArtsyAPI+ErrorHandlers.m"; sourceTree = ""; }; - 3CB37D981922483100089A1D /* ArtsyAPI+ErrorHandlers.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "ArtsyAPI+ErrorHandlers.m"; sourceTree = ""; }; - 3CCCC89C18997948008015DD /* FairTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FairTests.m; sourceTree = ""; }; - 3CCCC8A31899B6F9008015DD /* FairOrganizer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FairOrganizer.h; sourceTree = ""; }; - 3CCCC8A41899B6F9008015DD /* FairOrganizer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FairOrganizer.m; sourceTree = ""; }; - 3CE0DA3018A13604000E537A /* OHHTTPStubs+Artsy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "OHHTTPStubs+Artsy.h"; sourceTree = ""; }; - 3CE0DA3118A13604000E537A /* OHHTTPStubs+Artsy.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "OHHTTPStubs+Artsy.m"; sourceTree = ""; }; - 3CE75A0A18B6367F00885355 /* ARValueTransformerTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARValueTransformerTests.m; sourceTree = ""; }; - 3CEE0B5D18A16EA200FEA6E6 /* ArtsyAPI+Profiles.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "ArtsyAPI+Profiles.h"; sourceTree = ""; }; - 3CEE0B5E18A16EA200FEA6E6 /* ArtsyAPI+Profiles.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "ArtsyAPI+Profiles.m"; sourceTree = ""; }; - 3CEE0B6918A18CDA00FEA6E6 /* ProfileTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ProfileTests.m; sourceTree = ""; }; - 3CF144A518E45F6C00B1A764 /* SystemTime.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SystemTime.h; sourceTree = ""; }; - 3CF144A618E45F6C00B1A764 /* SystemTime.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SystemTime.m; sourceTree = ""; }; - 3CF144A818E4607900B1A764 /* SystemTimeTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SystemTimeTests.m; sourceTree = ""; }; - 3CF144AA18E460BE00B1A764 /* ArtsyAPI+SystemTimeTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "ArtsyAPI+SystemTimeTests.m"; sourceTree = ""; }; - 3CF144AC18E460EF00B1A764 /* ArtsyAPI+SystemTime.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "ArtsyAPI+SystemTime.h"; sourceTree = ""; }; - 3CF144AD18E460EF00B1A764 /* ArtsyAPI+SystemTime.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "ArtsyAPI+SystemTime.m"; sourceTree = ""; }; - 3CF144B218E47F9F00B1A764 /* ARSystemTime.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARSystemTime.h; sourceTree = ""; }; - 3CF144B318E47F9F00B1A764 /* ARSystemTime.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARSystemTime.m; sourceTree = ""; }; - 3CF144B518E4802400B1A764 /* ARSystemTimeTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARSystemTimeTests.m; sourceTree = ""; }; - 3CFBE33518C5848900C781D0 /* ARFileUtilsTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARFileUtilsTests.m; sourceTree = ""; }; - 482115D14BD4E126B81B3A2B /* libPods-Artsy Tests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Artsy Tests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 491A4DE0168E4343003B2246 /* Gene.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Gene.h; sourceTree = ""; }; - 491A4DE1168E4343003B2246 /* Gene.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Gene.m; sourceTree = ""; }; - 4943331A166947A3005AB483 /* CoreText.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreText.framework; path = System/Library/Frameworks/CoreText.framework; sourceTree = SDKROOT; }; - 49473F2A17BEDDA4004BF082 /* Social.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Social.framework; path = System/Library/Frameworks/Social.framework; sourceTree = SDKROOT; }; - 49473F2C17BEDE1F004BF082 /* AdSupport.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AdSupport.framework; path = System/Library/Frameworks/AdSupport.framework; sourceTree = SDKROOT; }; - 49473F2E17BEDFFD004BF082 /* iAd.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = iAd.framework; path = System/Library/Frameworks/iAd.framework; sourceTree = SDKROOT; }; - 494F16BC17BEDA8E00204F1D /* Accounts.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accounts.framework; path = System/Library/Frameworks/Accounts.framework; sourceTree = SDKROOT; }; - 4953E8301668021D00A09726 /* Image.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Image.h; sourceTree = ""; }; - 4953E8311668021D00A09726 /* Image.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Image.m; sourceTree = ""; }; - 4953E8351668026000A09726 /* ARPostAttachment.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARPostAttachment.h; sourceTree = ""; }; - 4981FB46169F6A16004D9CDD /* CoreImage.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreImage.framework; path = System/Library/Frameworks/CoreImage.framework; sourceTree = SDKROOT; }; - 499A588C16658CA9004B0E2F /* Partner.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Partner.h; sourceTree = ""; }; - 499A588D16658CAA004B0E2F /* Partner.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Partner.m; sourceTree = ""; }; - 499A5892166683AB004B0E2F /* Artist.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Artist.h; sourceTree = ""; }; - 499A5893166683AB004B0E2F /* Artist.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Artist.m; sourceTree = ""; }; - 499C8CEB1694D28700039D32 /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; }; - 499C8CEE1694D28C00039D32 /* CoreMedia.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMedia.framework; path = System/Library/Frameworks/CoreMedia.framework; sourceTree = SDKROOT; }; - 499C8CF01694D29100039D32 /* CoreVideo.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreVideo.framework; path = System/Library/Frameworks/CoreVideo.framework; sourceTree = SDKROOT; }; - 499C8CF21694D29900039D32 /* OpenGLES.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = System/Library/Frameworks/OpenGLES.framework; sourceTree = SDKROOT; }; - 499C8CF41694D2D100039D32 /* AssetsLibrary.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AssetsLibrary.framework; path = System/Library/Frameworks/AssetsLibrary.framework; sourceTree = SDKROOT; }; - 49BA7DFF1655ABE600C06572 /* Artsy.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Artsy.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 49BA7E031655ABE600C06572 /* UIKit.framework */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; - 49BA7E051655ABE600C06572 /* Foundation.framework */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; - 49BA7E071655ABE600C06572 /* CoreGraphics.framework */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; - 49BA7E0B1655ABE600C06572 /* Artsy-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Artsy-Info.plist"; sourceTree = ""; }; - 49BA7E0D1655ABE600C06572 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; - 49BA7E121655ABE600C06572 /* ARAppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ARAppDelegate.h; sourceTree = ""; }; - 49BA7E131655ABE600C06572 /* ARAppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ARAppDelegate.m; sourceTree = ""; }; - 49EC62161778AF100020D648 /* PartnerShow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PartnerShow.h; sourceTree = ""; }; - 49EC62171778AF100020D648 /* PartnerShow.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PartnerShow.m; sourceTree = ""; }; - 49EF164516C568EA00460BD7 /* Profile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Profile.h; sourceTree = ""; }; - 49EF164616C568EA00460BD7 /* Profile.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Profile.m; sourceTree = ""; }; - 5102616D1BBE8324002AB8BB /* ARAuctionWebViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ARAuctionWebViewController.h; path = Auction_Results/ARAuctionWebViewController.h; sourceTree = ""; }; - 5102616E1BBE8324002AB8BB /* ARAuctionWebViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ARAuctionWebViewController.m; path = Auction_Results/ARAuctionWebViewController.m; sourceTree = ""; }; - 510261701BBE96BE002AB8BB /* ARAuctionWebViewControllerTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARAuctionWebViewControllerTests.m; sourceTree = ""; }; - 5108A7BB1BA1AB2C0011CD72 /* ARAppActivityContinuationDelegateTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARAppActivityContinuationDelegateTests.m; sourceTree = ""; }; - 512AB35A1BD7C7A100F92B9A /* CoreSpotlight.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreSpotlight.framework; path = System/Library/Frameworks/CoreSpotlight.framework; sourceTree = SDKROOT; }; - 514E56471BA0BABA008A0DF6 /* ARAppActivityContinuationDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARAppActivityContinuationDelegate.h; sourceTree = ""; }; - 514E56481BA0BABA008A0DF6 /* ARAppActivityContinuationDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARAppActivityContinuationDelegate.m; sourceTree = ""; }; - 516CDA671BB55B54001C02B2 /* UIViewController+WithLoadedData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIViewController+WithLoadedData.h"; sourceTree = ""; }; - 516CDA681BB55B54001C02B2 /* UIViewController+WithLoadedData.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIViewController+WithLoadedData.m"; sourceTree = ""; }; - 516CDA6A1BB56611001C02B2 /* UIViewController+ARUserActivity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIViewController+ARUserActivity.h"; sourceTree = ""; }; - 516CDA6B1BB56611001C02B2 /* UIViewController+ARUserActivity.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIViewController+ARUserActivity.m"; sourceTree = ""; }; - 5170C50B1BBAC1090043E601 /* ARMacros.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ARMacros.h; sourceTree = ""; }; - 517201C31C6A239E007148B7 /* AuctionBiddersNetworkModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AuctionBiddersNetworkModel.swift; sourceTree = ""; }; - 517201C51C6A239E007148B7 /* AuctionSaleNetworkModelTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AuctionSaleNetworkModelTests.swift; sourceTree = ""; }; - 518B421D1B57CF7100210A02 /* AttentionIcon@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "AttentionIcon@2x.png"; sourceTree = ""; }; - 51B4BA441C6A24490014A394 /* AuctionInformationViewControllerTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AuctionInformationViewControllerTests.swift; sourceTree = ""; }; - 51D141B51AF0F14B000091CF /* ARTestHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARTestHelper.h; sourceTree = ""; }; - 51D141B61AF0F14B000091CF /* ARTestHelper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARTestHelper.m; sourceTree = ""; }; - 51DA12241B596035001B6F2A /* RefreshIcon@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "RefreshIcon@2x.png"; sourceTree = ""; }; - 51DCC6C41C5F924500455309 /* ARFonts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARFonts.h; sourceTree = ""; }; - 51DCC6C71C60E26800455309 /* AuctionInformationViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = AuctionInformationViewController.swift; path = Auction/AuctionInformationViewController.swift; sourceTree = ""; }; - 51E576081BFFA16C00A146C1 /* Artsy.Store.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = Artsy.Store.entitlements; sourceTree = ""; }; - 51F2C5F21CEE8A7700B881BE /* ARAppDelegate+Emission.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "ARAppDelegate+Emission.h"; sourceTree = ""; }; - 51F2C5F31CEE8A7700B881BE /* ARAppDelegate+Emission.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "ARAppDelegate+Emission.m"; sourceTree = ""; }; - 51F696081C6E55E0002B2E35 /* SaleViewModelTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SaleViewModelTests.swift; sourceTree = ""; }; - 54289FED18AA7F4E00681E49 /* UINavigationController_InnermostTopViewControllerSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UINavigationController_InnermostTopViewControllerSpec.m; sourceTree = ""; }; - 5435192C18A8E9420060F31E /* UIView+OldSchoolSnapshots.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIView+OldSchoolSnapshots.h"; sourceTree = ""; }; - 5435192D18A8E9420060F31E /* UIView+OldSchoolSnapshots.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIView+OldSchoolSnapshots.m"; sourceTree = ""; }; - 54AD031F18A4FCCE0055F2D2 /* ARMenuAwareViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ARMenuAwareViewController.h; sourceTree = ""; }; - 5E088DAD1C58072B00C448D7 /* RefinementOptionsViewController+Private.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = "RefinementOptionsViewController+Private.swift"; path = "Auction/RefinementOptionsViewController+Private.swift"; sourceTree = ""; }; - 5E088DAF1C58141D00C448D7 /* UIViewController+Tests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIViewController+Tests.swift"; sourceTree = ""; }; - 5E0AD37524BE453600FD54A0 /* ARAugmentedRealityConfigSpec.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ARAugmentedRealityConfigSpec.m; sourceTree = ""; }; - 5E0AD37724BE455C00FD54A0 /* greyscaleImage.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = greyscaleImage.jpg; sourceTree = ""; }; - 5E0DD14A1C9764420037F9E4 /* LiveAuctionStateManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LiveAuctionStateManager.swift; path = Live_Auctions/LiveAuctionStateManager.swift; sourceTree = ""; }; - 5E174F5B1CADB35800657743 /* LiveAuctionStateReconcilerSpec.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LiveAuctionStateReconcilerSpec.swift; path = Live_Auctions/LiveAuctionStateReconcilerSpec.swift; sourceTree = ""; }; - 5E1A3A9F1C93760A0047329E /* LiveAuctionSocketCommunicatorSpec.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LiveAuctionSocketCommunicatorSpec.swift; path = Live_Auctions/LiveAuctionSocketCommunicatorSpec.swift; sourceTree = ""; }; - 5E1BF7451EEB0B2900A9ED63 /* SaleOnHoldOverlayView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SaleOnHoldOverlayView.swift; path = Live_Auctions/Views/SaleOnHoldOverlayView.swift; sourceTree = ""; }; - 5E1BF7471EEB236E00A9ED63 /* SaleOnHoldOverlayViewTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SaleOnHoldOverlayViewTests.swift; sourceTree = ""; }; - 5E1DDF181CE22C0700DFEE2A /* SimpleProgressView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SimpleProgressView.swift; path = Live_Auctions/Views/SimpleProgressView.swift; sourceTree = ""; }; - 5E1DDF1A1CE2340900DFEE2A /* LiveAuctionCurrentLotView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LiveAuctionCurrentLotView.swift; path = Live_Auctions/Views/LiveAuctionCurrentLotView.swift; sourceTree = ""; }; - 5E1DDF1C1CE24FBF00DFEE2A /* LiveAuctionBiddingViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LiveAuctionBiddingViewModel.swift; path = Live_Auctions/Views/LiveAuctionBiddingViewModel.swift; sourceTree = ""; }; - 5E1DDF1E1CE2698B00DFEE2A /* LiveAuctionBiddingViewModelTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LiveAuctionBiddingViewModelTests.swift; path = Live_Auction/LiveAuctionBiddingViewModelTests.swift; sourceTree = ""; }; - 5E20BB641C62BF8300C6D781 /* AuctionColors.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AuctionColors.swift; sourceTree = ""; }; - 5E20BB661C62C00D00C6D781 /* AuctionCircularButtons.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AuctionCircularButtons.swift; sourceTree = ""; }; - 5E20BB681C62C81600C6D781 /* CircularInfoButton@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "CircularInfoButton@2x.png"; sourceTree = ""; }; - 5E20BB691C62C81600C6D781 /* CircularInfoButton.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = CircularInfoButton.png; sourceTree = ""; }; - 5E20BB721C6557F400C6D781 /* Artsy-Tests-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Artsy-Tests-Bridging-Header.h"; sourceTree = ""; }; - 5E257E311ECDEB3900C62008 /* UIViewController+Popovers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIViewController+Popovers.h"; sourceTree = ""; }; - 5E257E321ECDEB6600C62008 /* UIViewController+Popovers.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIViewController+Popovers.m"; sourceTree = ""; }; - 5E26AF7F1CE66A7E00C67B7C /* Stringify.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Stringify.swift; path = Artsy/Stringify.swift; sourceTree = SOURCE_ROOT; }; - 5E288EA81CC0219A00A974AA /* LotListCollectionViewCell+Private.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = "LotListCollectionViewCell+Private.swift"; path = "Live_Auctions/LotListCollectionViewCell+Private.swift"; sourceTree = ""; }; - 5E31524E1C90C97300C544D5 /* LiveAuctionSocketCommunicator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LiveAuctionSocketCommunicator.swift; path = Live_Auctions/LiveAuctionSocketCommunicator.swift; sourceTree = ""; }; - 5E3816F51CBECEA500477B17 /* LiveAuctionLotListViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LiveAuctionLotListViewController.swift; path = Live_Auctions/LiveAuctionLotListViewController.swift; sourceTree = ""; }; - 5E3816F71CBED2E100477B17 /* LiveAuctionLotListStickyCellCollectionViewLayout.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LiveAuctionLotListStickyCellCollectionViewLayout.swift; path = Live_Auctions/LiveAuctionLotListStickyCellCollectionViewLayout.swift; sourceTree = ""; }; - 5E3816F91CBEDDF900477B17 /* LotListCollectionViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LotListCollectionViewCell.swift; path = Live_Auctions/LotListCollectionViewCell.swift; sourceTree = ""; }; - 5E3816FE1CC1570A00477B17 /* LiveAuctionLotListViewControllerTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LiveAuctionLotListViewControllerTests.swift; path = Live_Auction/LiveAuctionLotListViewControllerTests.swift; sourceTree = ""; }; - 5E3817001CC1572100477B17 /* LiveAuctionLotListStickyCellCollectionViewLayoutTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LiveAuctionLotListStickyCellCollectionViewLayoutTests.swift; path = Live_Auction/LiveAuctionLotListStickyCellCollectionViewLayoutTests.swift; sourceTree = ""; }; - 5E407DF51DF7390B00999533 /* AREchoContentsViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AREchoContentsViewController.h; sourceTree = ""; }; - 5E407DF61DF7390B00999533 /* AREchoContentsViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AREchoContentsViewController.m; sourceTree = ""; }; - 5E4386171D0764ED0034E671 /* SerifModalWebNavigationController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SerifModalWebNavigationController.swift; sourceTree = ""; }; - 5E47F34C1C3ECAA500EC0751 /* Artsy-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "Artsy-Bridging-Header.h"; path = "../Resources/Artsy-Bridging-Header.h"; sourceTree = ""; }; - 5E47F3551C4435C100EC0751 /* AuctionTitleView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = AuctionTitleView.swift; path = Auction/AuctionTitleView.swift; sourceTree = ""; }; - 5E47F35A1C4444A900EC0751 /* SaleViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SaleViewModel.swift; path = Auction/SaleViewModel.swift; sourceTree = ""; }; - 5E4962431CA1C7E800E77DD5 /* NSAttributedString+Additions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NSAttributedString+Additions.swift"; sourceTree = ""; }; - 5E4E32AA1E53884E00C7F724 /* paddle.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = paddle.png; sourceTree = ""; }; - 5E4E32AB1E53884E00C7F724 /* paddle@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "paddle@2x.png"; sourceTree = ""; }; - 5E4E32AC1E53884E00C7F724 /* paddle@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "paddle@3x.png"; sourceTree = ""; }; - 5E4F17461CD80FD800AEB6BD /* LiveBidder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LiveBidder.h; path = Live/LiveBidder.h; sourceTree = ""; }; - 5E4F17471CD80FD800AEB6BD /* LiveBidder.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = LiveBidder.m; path = Live/LiveBidder.m; sourceTree = ""; }; - 5E50987B18F82FCF001AC704 /* AROfflineView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AROfflineView.h; sourceTree = ""; }; - 5E50987C18F82FCF001AC704 /* AROfflineView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AROfflineView.m; sourceTree = ""; }; - 5E55295B1F1FC7A500455F8F /* ARRouter+GraphQL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "ARRouter+GraphQL.h"; sourceTree = ""; }; - 5E55295C1F1FC7A500455F8F /* ARRouter+GraphQL.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "ARRouter+GraphQL.m"; sourceTree = ""; }; - 5E55CAB21D9D8014005D0D73 /* LiveAuctionLotBidHistoryGestureController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LiveAuctionLotBidHistoryGestureController.swift; path = Live_Auctions/LiveAuctionLotBidHistoryGestureController.swift; sourceTree = ""; }; - 5E5F495D1D00BC7700E7CD6E /* LiveAuctionLotCollectionViewLayoutType.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LiveAuctionLotCollectionViewLayoutType.swift; path = Live_Auctions/Views/LiveAuctionLotCollectionViewLayoutType.swift; sourceTree = ""; }; - 5E5F495F1D00BF3D00E7CD6E /* LiveAuctionPlainLotCollectionViewLayout.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LiveAuctionPlainLotCollectionViewLayout.swift; sourceTree = ""; }; - 5E6A16921C98A914004DB29B /* LiveAuctionStateManagerSpec.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LiveAuctionStateManagerSpec.swift; path = ../../Artsy/View_Controllers/Live_Auctions/LiveAuctionStateManagerSpec.swift; sourceTree = ""; }; - 5E6BA6E71C56B5D700B942C1 /* CircularCancelButton@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "CircularCancelButton@2x.png"; sourceTree = ""; }; - 5E6BA6E81C56B5D700B942C1 /* CircularCancelButton.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = CircularCancelButton.png; sourceTree = ""; }; - 5E6C92F936EA71609C245323 /* Pods-Artsy Tests.store.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Artsy Tests.store.xcconfig"; path = "Pods/Target Support Files/Pods-Artsy Tests/Pods-Artsy Tests.store.xcconfig"; sourceTree = ""; }; - 5E70AA8D1DF5C7B1002847E9 /* LiveAuctionCurrentLotCTAPositionManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LiveAuctionCurrentLotCTAPositionManager.swift; sourceTree = ""; }; - 5E70AA8F1DF5D4FE002847E9 /* LiveAuctionCurrentLotCTAPositionManagerTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LiveAuctionCurrentLotCTAPositionManagerTests.swift; sourceTree = ""; }; - 5E7598041D9D92F20084AAEC /* LiveAuctionLotBidHistoryGestureControllerTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LiveAuctionLotBidHistoryGestureControllerTests.swift; path = Live_Auction/LiveAuctionLotBidHistoryGestureControllerTests.swift; sourceTree = ""; }; - 5E79FCB01C7612D8003D5D65 /* Int+Metrification.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Int+Metrification.swift"; sourceTree = ""; }; - 5E79FCB91C768108003D5D65 /* ARNvagiationButton+Swift.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "ARNvagiationButton+Swift.swift"; sourceTree = ""; }; - 5E79FCBB1C76856C003D5D65 /* NavigationButtonTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NavigationButtonTests.swift; sourceTree = ""; }; - 5E80CA7C2093C29300BCFD82 /* CircleCheckGreen@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "CircleCheckGreen@3x.png"; sourceTree = ""; }; - 5E80CA7D2093C29300BCFD82 /* CircleXRed.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = CircleXRed.png; sourceTree = ""; }; - 5E80CA7E2093C29300BCFD82 /* CircleXRed@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "CircleXRed@3x.png"; sourceTree = ""; }; - 5E80CA7F2093C29400BCFD82 /* CircleCheckGreen.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = CircleCheckGreen.png; sourceTree = ""; }; - 5E80CA802093C29400BCFD82 /* CircleXRed@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "CircleXRed@2x.png"; sourceTree = ""; }; - 5E80CA812093C29500BCFD82 /* CircleCheckGreen@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "CircleCheckGreen@2x.png"; sourceTree = ""; }; - 5E830A501E969B1800A56C75 /* ArtsyEcho.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ArtsyEcho.h; sourceTree = ""; }; - 5E830A511E969B1800A56C75 /* ArtsyEcho.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ArtsyEcho.m; sourceTree = ""; }; - 5E8585F61CF61E8F00B2B487 /* PanDirectionGestureRecognizer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PanDirectionGestureRecognizer.swift; sourceTree = ""; }; - 5E8585F81CF743D800B2B487 /* LiveAuctionSaleLotsDataSource.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LiveAuctionSaleLotsDataSource.swift; path = Live_Auctions/LiveAuctionSaleLotsDataSource.swift; sourceTree = ""; }; - 5E86A6161F73183B00D00302 /* AFHTTPRequestOperationJSONTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AFHTTPRequestOperationJSONTests.m; sourceTree = ""; }; - 5E88414D1CB3445A00A33BCE /* LiveAuctionStaticDataFetcher.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LiveAuctionStaticDataFetcher.swift; path = Live_Auctions/LiveAuctionStaticDataFetcher.swift; sourceTree = ""; }; - 5E88414F1CB3462100A33BCE /* LiveAuctionStaticDataFetcherSpec.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LiveAuctionStaticDataFetcherSpec.swift; path = Live_Auctions/LiveAuctionStaticDataFetcherSpec.swift; sourceTree = ""; }; - 5E8A03B41C52B60900EAF18B /* RefinementOptionsViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = RefinementOptionsViewController.swift; path = Auction/RefinementOptionsViewController.swift; sourceTree = ""; }; - 5E925EAB1E68823C00A504D6 /* LiveAuctionSaleViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LiveAuctionSaleViewController.swift; path = Live_Auctions/LiveAuctionSaleViewController.swift; sourceTree = ""; }; - 5E925EAD1E6882D400A504D6 /* LiveAuctionStaticDataFetcher+Stubs.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = "LiveAuctionStaticDataFetcher+Stubs.swift"; path = "Live_Auctions/LiveAuctionStaticDataFetcher+Stubs.swift"; sourceTree = ""; }; - 5E956E561CD24700005C2332 /* StarscreamExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = StarscreamExtensions.swift; path = Live_Auctions/StarscreamExtensions.swift; sourceTree = ""; }; - 5E956E581CD2AD6E005C2332 /* live_auctions_socket.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = live_auctions_socket.json; sourceTree = ""; }; - 5E9A78211906BA3D00734E1B /* OCMArg+ClassChecker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "OCMArg+ClassChecker.h"; sourceTree = ""; }; - 5E9A78221906BA3D00734E1B /* OCMArg+ClassChecker.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "OCMArg+ClassChecker.m"; sourceTree = ""; }; - 5EA012881CAC3B0C009D9AFE /* LiveAuctionLotViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LiveAuctionLotViewController.swift; path = Live_Auctions/LiveAuctionLotViewController.swift; sourceTree = ""; }; - 5EA0128A1CAC3B55009D9AFE /* LiveAuctionBidHistoryViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LiveAuctionBidHistoryViewController.swift; path = Live_Auctions/LiveAuctionBidHistoryViewController.swift; sourceTree = ""; }; - 5EA0E74B1DCA3DD200CE9203 /* Interstellar+Artsy.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Interstellar+Artsy.swift"; sourceTree = ""; }; - 5EA250641C4EE95B001E4950 /* NSArray+Additions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSArray+Additions.h"; sourceTree = ""; }; - 5EA250651C4EE95B001E4950 /* NSArray+Additions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSArray+Additions.m"; sourceTree = ""; }; - 5EA7BC281C600144009C52C9 /* AuctionSaleNetworkModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = AuctionSaleNetworkModel.swift; path = Auction/AuctionSaleNetworkModel.swift; sourceTree = ""; }; - 5EA7BC301C612454009C52C9 /* AuctionBiddersNetworkModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = AuctionBiddersNetworkModel.swift; path = Auction/AuctionBiddersNetworkModel.swift; sourceTree = ""; }; - 5EACFAC81C750E2F004112FF /* SaleArtworkViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SaleArtworkViewModel.swift; path = Auction/SaleArtworkViewModel.swift; sourceTree = ""; }; - 5EACFACA1C752771004112FF /* SaleArtworkViewModelTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SaleArtworkViewModelTests.swift; sourceTree = ""; }; - 5EAD26591D09E038003826C9 /* SaleAuctionStatus.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SaleAuctionStatus.swift; path = Auction/SaleAuctionStatus.swift; sourceTree = ""; }; - 5EB7734C259148B900E5CE94 /* ArtsyAPI+Pages.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "ArtsyAPI+Pages.h"; sourceTree = ""; }; - 5EB7734D259148B900E5CE94 /* ArtsyAPI+Pages.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "ArtsyAPI+Pages.m"; sourceTree = ""; }; - 5EBA3E811DFF4CCB005B4BEE /* ARTwoWayDictionaryTransformer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARTwoWayDictionaryTransformer.h; sourceTree = ""; }; - 5EBA3E821DFF4CCB005B4BEE /* ARTwoWayDictionaryTransformer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARTwoWayDictionaryTransformer.m; sourceTree = ""; }; - 5EBD44DF1D07325300C60F9F /* UITableViewController+Animations.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UITableViewController+Animations.swift"; sourceTree = ""; }; - 5EBD44E11D074A7300C60F9F /* UILabel+Styling.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UILabel+Styling.swift"; sourceTree = ""; }; - 5EBDC94D19792C3A0082C514 /* ARNavigationControllerTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARNavigationControllerTests.m; sourceTree = ""; }; - 5EC27DCB1F6AFBC000D2A794 /* ArtsyAPI+GraphQLTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "ArtsyAPI+GraphQLTests.m"; sourceTree = ""; }; - 5EC8C67F1CA5C5FC00571B21 /* LiveActionStateReconciler.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LiveActionStateReconciler.swift; path = Live_Auctions/LiveActionStateReconciler.swift; sourceTree = ""; }; - 5EC929881C5FEAD10015133E /* UIViewController+Traits.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIViewController+Traits.swift"; sourceTree = ""; }; - 5ED9EC011C458E9500C979A6 /* SwiftExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SwiftExtensions.swift; path = ../../App/SwiftExtensions.swift; sourceTree = ""; }; - 5EE9A3DB1D11F6810014A3C9 /* BidIncrementStrategy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BidIncrementStrategy.h; path = Live/BidIncrementStrategy.h; sourceTree = ""; }; - 5EE9A3DC1D11F6810014A3C9 /* BidIncrementStrategy.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = BidIncrementStrategy.m; path = Live/BidIncrementStrategy.m; sourceTree = ""; }; - 5EE9A3DE1D11F9F20014A3C9 /* LiveAuctionBidViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LiveAuctionBidViewModel.swift; path = Live_Auctions/LiveAuctionBidViewModel.swift; sourceTree = ""; }; - 5EE9A3E01D1211230014A3C9 /* BiddingIncrementSpecs.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = BiddingIncrementSpecs.swift; path = Live_Auction/BiddingIncrementSpecs.swift; sourceTree = ""; }; - 5EE9A3E21D1213D60014A3C9 /* LiveSalesPersonSpecs.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LiveSalesPersonSpecs.swift; path = Live_Auction/LiveSalesPersonSpecs.swift; sourceTree = ""; }; - 5EE9A3E41D131F6C0014A3C9 /* LiveAuctionLoadingView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LiveAuctionLoadingView.swift; path = Live_Auctions/LiveAuctionLoadingView.swift; sourceTree = ""; }; - 5EE9A3E61D132DBC0014A3C9 /* LiveAuctionLoadingViewSpec.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LiveAuctionLoadingViewSpec.swift; path = Live_Auction/LiveAuctionLoadingViewSpec.swift; sourceTree = ""; }; - 5EF840791CEB7DAA006248D7 /* LiveAuctionLotImageCollectionViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LiveAuctionLotImageCollectionViewCell.swift; path = Live_Auctions/Views/LiveAuctionLotImageCollectionViewCell.swift; sourceTree = ""; }; - 5EF8407D1CECDFFD006248D7 /* LiveAuctionLotCollectionViewLayoutAttributes.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LiveAuctionLotCollectionViewLayoutAttributes.swift; path = Live_Auctions/Views/LiveAuctionLotCollectionViewLayoutAttributes.swift; sourceTree = ""; }; - 5EF8407F1CED0C5F006248D7 /* LiveAuctionFancyLotCollectionViewLayoutTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LiveAuctionFancyLotCollectionViewLayoutTests.swift; path = Live_Auction/LiveAuctionFancyLotCollectionViewLayoutTests.swift; sourceTree = ""; }; - 5EF9E1151C56D0B900CD80DB /* AuctionRefineCheck.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = AuctionRefineCheck.png; sourceTree = ""; }; - 5EF9E1161C56D0B900CD80DB /* AuctionRefineCheck@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "AuctionRefineCheck@2x.png"; sourceTree = ""; }; - 5EFB45731F22830F00328A6B /* static_sale_data.graphql */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = static_sale_data.graphql; sourceTree = ""; }; - 5EFE2BE21910FC81003B5EEA /* ARAppDelegate+Analytics.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "ARAppDelegate+Analytics.h"; sourceTree = ""; }; - 5EFE2BE31910FC81003B5EEA /* ARAppDelegate+Analytics.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "ARAppDelegate+Analytics.m"; sourceTree = ""; }; - 5EFEF1C51CEB6CC000E3AAB2 /* LiveAuctionFancyLotCollectionViewLayout.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LiveAuctionFancyLotCollectionViewLayout.swift; path = Live_Auctions/Views/LiveAuctionFancyLotCollectionViewLayout.swift; sourceTree = ""; }; - 5EFEF1C71CEB7C5800E3AAB2 /* LiveAuctionLotCollectionViewDataSource.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LiveAuctionLotCollectionViewDataSource.swift; path = Live_Auctions/Views/LiveAuctionLotCollectionViewDataSource.swift; sourceTree = ""; }; - 60026AF01BDE3EFB0040257C /* ARWebViewCacheHost.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARWebViewCacheHost.h; sourceTree = ""; }; - 60026AF11BDE3EFB0040257C /* ARWebViewCacheHost.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARWebViewCacheHost.m; sourceTree = ""; }; - 600415C717C4ECE2003C7974 /* ArtsyAPI+RelatedModels.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "ArtsyAPI+RelatedModels.h"; sourceTree = ""; }; - 600415C817C4ECE2003C7974 /* ArtsyAPI+RelatedModels.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "ArtsyAPI+RelatedModels.m"; sourceTree = ""; }; - 600A734117DE3F3F00E21233 /* ArtsyAPI+DeviceTokens.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "ArtsyAPI+DeviceTokens.h"; sourceTree = ""; }; - 600A734217DE3F3F00E21233 /* ArtsyAPI+DeviceTokens.m */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.objc; path = "ArtsyAPI+DeviceTokens.m"; sourceTree = ""; tabWidth = 4; }; - 600B8B3C1C4FCEE000776F84 /* push_notifications.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = push_notifications.md; sourceTree = ""; }; - 600B8B3D1C4FCEE000776F84 /* welcome_to_eigen_beta.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = welcome_to_eigen_beta.md; sourceTree = ""; }; - 600B8B3F1C4FCEE000776F84 /* thanks.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = thanks.md; sourceTree = ""; }; - 600B8B441C4FCEEC00776F84 /* CHANGELOG.yml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CHANGELOG.yml; sourceTree = SOURCE_ROOT; }; - 600EE29C16B3003F002E9F9A /* ARNavigationButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARNavigationButton.m; sourceTree = ""; }; - 600EE29D16B3003F002E9F9A /* ARNavigationButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARNavigationButton.h; sourceTree = ""; }; - 60107F151CC7DC1D002F772E /* ARTestImageCachingFunctions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ARTestImageCachingFunctions.swift; sourceTree = ""; }; - 6016120120B7446700FD54B0 /* ARVIRModalClose.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ARVIRModalClose.png; sourceTree = ""; }; - 6016120220B7446800FD54B0 /* ARVIRModalClose@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ARVIRModalClose@2x.png"; sourceTree = ""; }; - 6016120320B7446800FD54B0 /* ARVIRModalClose@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ARVIRModalClose@3x.png"; sourceTree = ""; }; - 6019A9051C7E64B700E292FA /* LiveAuctionLotSetViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LiveAuctionLotSetViewController.swift; path = Live_Auctions/LiveAuctionLotSetViewController.swift; sourceTree = ""; }; - 6019A9071C7E76EF00E292FA /* LiveAuctionsAssets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = LiveAuctionsAssets.xcassets; path = Live_Auctions/Resources/LiveAuctionsAssets.xcassets; sourceTree = ""; }; - 6019A90C1C7F9EF600E292FA /* LiveAuctionLotSetViewControllerTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LiveAuctionLotSetViewControllerTests.swift; path = Live_Auction/LiveAuctionLotSetViewControllerTests.swift; sourceTree = ""; }; - 601C317616582BA30013E061 /* ARRouter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARRouter.h; sourceTree = ""; }; - 601C317716582BA30013E061 /* ARRouter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARRouter.m; sourceTree = ""; }; - 601C3183165838590013E061 /* MobileCoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MobileCoreServices.framework; path = System/Library/Frameworks/MobileCoreServices.framework; sourceTree = SDKROOT; }; - 601C3185165838630013E061 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; }; - 601E31AA1C80A55F00D09F73 /* live_auctions_static.json */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = text.json; path = live_auctions_static.json; sourceTree = ""; tabWidth = 2; }; - 601E31AE1C80E35600D09F73 /* LiveAuctionLot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LiveAuctionLot.h; sourceTree = ""; }; - 601E31AF1C80E35600D09F73 /* LiveAuctionLot.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LiveAuctionLot.m; sourceTree = ""; }; - 601EC3271FAA6C6E00DD0CC4 /* ARAdminTableViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ARAdminTableViewController.h; sourceTree = ""; }; - 601EC3281FAA6C6E00DD0CC4 /* ARAdminTableViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ARAdminTableViewController.m; sourceTree = ""; }; - 6021D1B71CB7C6F800C475C1 /* TextStack.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = TextStack.swift; path = Core/TextStack.swift; sourceTree = ""; }; - 6021D1B91CB7D2E800C475C1 /* AuctionLotMetadataStackScrollView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = AuctionLotMetadataStackScrollView.swift; path = Live_Auctions/Views/AuctionLotMetadataStackScrollView.swift; sourceTree = ""; }; - 6022F5AD1BDFAC3800D975F0 /* ARWebViewCacheHostSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARWebViewCacheHostSpec.m; sourceTree = ""; }; - 6025B42E1655FACA00845975 /* SenTestingKit.framework */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = wrapper.framework; name = SenTestingKit.framework; path = Library/Frameworks/SenTestingKit.framework; sourceTree = DEVELOPER_DIR; }; - 6025B4481655FBA900845975 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; - 60289227176BE98C00512977 /* ARViewInRoomViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARViewInRoomViewController.h; sourceTree = ""; }; - 60289228176BE98C00512977 /* ARViewInRoomViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARViewInRoomViewController.m; sourceTree = ""; }; - 602BC087168E0C0D00069FDB /* ARReusableLoadingView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARReusableLoadingView.h; sourceTree = ""; }; - 602BC088168E0C0D00069FDB /* ARReusableLoadingView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARReusableLoadingView.m; sourceTree = ""; }; - 602C09B81B5E5CE5003681D3 /* AFHTTPRequestOperation+JSON.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "AFHTTPRequestOperation+JSON.h"; path = "AFNetworking/AFHTTPRequestOperation+JSON.h"; sourceTree = ""; }; - 602C09B91B5E5CE6003681D3 /* AFHTTPRequestOperation+JSON.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "AFHTTPRequestOperation+JSON.m"; path = "AFNetworking/AFHTTPRequestOperation+JSON.m"; sourceTree = ""; }; - 602DCDAB16C6B6C1009EB10D /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = System/Library/Frameworks/CoreFoundation.framework; sourceTree = SDKROOT; }; - 602DCDAD16C6B74D009EB10D /* CFNetwork.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CFNetwork.framework; path = System/Library/Frameworks/CFNetwork.framework; sourceTree = SDKROOT; }; - 602DCDAF16C6B752009EB10D /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; }; - 602DCDB116C6B75D009EB10D /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = System/Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; }; - 602DCDB316C6B7A5009EB10D /* libicucore.A.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libicucore.A.dylib; path = usr/lib/libicucore.A.dylib; sourceTree = SDKROOT; }; - 602F03461CB2912D008A999D /* LiveAuctions.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LiveAuctions.storyboard; path = Live_Auctions/Resources/LiveAuctions.storyboard; sourceTree = ""; }; - 602F03491CB291EC008A999D /* StoryboardConstants.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = StoryboardConstants.swift; path = Generated/StoryboardConstants.swift; sourceTree = ""; }; - 602F034A1CB291EC008A999D /* StoryboardImages.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = StoryboardImages.swift; path = Generated/StoryboardImages.swift; sourceTree = ""; }; - 6030253D1CBBB7B500B93583 /* AuctionLotMetadataStackScrollViewTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = AuctionLotMetadataStackScrollViewTests.swift; path = Auction/Views/AuctionLotMetadataStackScrollViewTests.swift; sourceTree = ""; }; - 60327DCB1987AD240075B399 /* ARDispatchManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARDispatchManager.h; sourceTree = ""; }; - 60327DCC1987AD240075B399 /* ARDispatchManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARDispatchManager.m; sourceTree = ""; }; - 6036B1DC20337EC700763E10 /* ARAugmentedVIRSetupViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ARAugmentedVIRSetupViewController.h; sourceTree = ""; }; - 6036B1DD20337EC700763E10 /* ARAugmentedVIRSetupViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ARAugmentedVIRSetupViewController.m; sourceTree = ""; }; - 6036B1E0203384DC00763E10 /* ARAugmentRealitySetupViewControllerSpec.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ARAugmentRealitySetupViewControllerSpec.m; sourceTree = ""; }; - 6037340320CF1BFF0017A4D9 /* ARVIRShadow.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ARVIRShadow.png; sourceTree = ""; }; - 603B3AE91774A0FA00BA5BD3 /* ARNavigationController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ARNavigationController.h; sourceTree = ""; }; - 603B3AEA1774A0FA00BA5BD3 /* ARNavigationController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ARNavigationController.m; sourceTree = ""; }; - 604151E41A7998E300D5F9CA /* NSDate+RangeTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSDate+RangeTests.m"; sourceTree = ""; }; - 604166AF16C1D46F00CFBD2F /* ArtsyAPI+CurrentUserFunctions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "ArtsyAPI+CurrentUserFunctions.h"; sourceTree = ""; }; - 604166B016C1D47000CFBD2F /* ArtsyAPI+CurrentUserFunctions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "ArtsyAPI+CurrentUserFunctions.m"; sourceTree = ""; }; - 604166B316C1D55000CFBD2F /* ArtsyAPI+Private.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "ArtsyAPI+Private.h"; sourceTree = ""; }; - 60431FB618042A1E000118D7 /* ARAppNotificationsDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARAppNotificationsDelegate.h; sourceTree = ""; }; - 60431FB718042A1E000118D7 /* ARAppNotificationsDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARAppNotificationsDelegate.m; sourceTree = ""; }; - 60476F4B1AD87DB200670502 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.3.sdk/System/Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; }; - 604E08172051C5B200785717 /* ARVIRBack@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ARVIRBack@2x.png"; sourceTree = ""; }; - 604E08182051C5B200785717 /* ARVIRBack@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ARVIRBack@3x.png"; sourceTree = ""; }; - 604E08192051C5B300785717 /* ARVIRRefresh@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ARVIRRefresh@2x.png"; sourceTree = ""; }; - 604E081A2051C5B400785717 /* ARVIRRefresh@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ARVIRRefresh@3x.png"; sourceTree = ""; }; - 604E081F2051DDF700785717 /* ARAugmentedVIRViewControllerSpec.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ARAugmentedVIRViewControllerSpec.m; sourceTree = ""; }; - 604E08212051E9DF00785717 /* ARVIRPhone@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ARVIRPhone@2x.png"; sourceTree = ""; }; - 604E08222051E9E000785717 /* ARVIRPhone@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ARVIRPhone@3x.png"; sourceTree = ""; }; - 605002E717D9F5DC00C090B8 /* SmallMoreVerticalArrow.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = SmallMoreVerticalArrow.png; sourceTree = ""; }; - 605002E817D9F5DC00C090B8 /* SmallMoreVerticalArrow@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "SmallMoreVerticalArrow@2x.png"; sourceTree = ""; }; - 605191921C7525AF0002E11A /* serif_modal_close@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "serif_modal_close@2x.png"; sourceTree = ""; }; - 605191941C7525D50002E11A /* navigation_more_arrow_horizontal@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "navigation_more_arrow_horizontal@2x.png"; sourceTree = ""; }; - 605191961C7526200002E11A /* navigation_more_arrow_vertical@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "navigation_more_arrow_vertical@2x.png"; sourceTree = ""; }; - 60647C651A8BB9AE00A45247 /* BuyersPremium.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BuyersPremium.h; sourceTree = ""; }; - 60647C661A8BB9AE00A45247 /* BuyersPremium.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BuyersPremium.m; sourceTree = ""; }; - 6065B3282097598D004215DA /* ARVIRHorizontalPlaneInteractionController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ARVIRHorizontalPlaneInteractionController.h; sourceTree = ""; }; - 6065B3292097598D004215DA /* ARVIRHorizontalPlaneInteractionController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ARVIRHorizontalPlaneInteractionController.m; sourceTree = ""; }; - 6065B32B209776EA004215DA /* ARSCNWallNode.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ARSCNWallNode.h; sourceTree = ""; }; - 6065B32C209776EA004215DA /* ARSCNWallNode.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ARSCNWallNode.m; sourceTree = ""; }; - 60745DE8165802D9006CE156 /* ARUserManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARUserManager.h; sourceTree = ""; }; - 60745DE9165802D9006CE156 /* ARUserManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARUserManager.m; sourceTree = ""; }; - 60794B9B1D0112ED0062C3F8 /* LiveAuctionsAdminViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LiveAuctionsAdminViewController.swift; path = Live_Auctions/LiveAuctionsAdminViewController.swift; sourceTree = ""; }; - 607BF5A91C2413810034B519 /* ARAppStatus.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARAppStatus.h; sourceTree = ""; }; - 607BF5AA1C2413810034B519 /* ARAppStatus.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARAppStatus.m; sourceTree = ""; }; - 607D754817C239E700CA1D41 /* ArtsyAPI+Following.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "ArtsyAPI+Following.h"; sourceTree = ""; }; - 607D754917C239E700CA1D41 /* ArtsyAPI+Following.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "ArtsyAPI+Following.m"; sourceTree = ""; }; - 6082B2041B46ADDE00953BC8 /* stubbed_image.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = stubbed_image.png; sourceTree = ""; }; - 6082C5B22044A90B00F00635 /* Chevron_White_Left@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Chevron_White_Left@2x.png"; sourceTree = ""; }; - 6082C5B32044A90C00F00635 /* Chevron_White_Left@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Chevron_White_Left@3x.png"; sourceTree = ""; }; - 60863E451D0B49AE0053B51C /* ArtsyAPI+HEAD.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "ArtsyAPI+HEAD.h"; path = "API_Modules/ArtsyAPI+HEAD.h"; sourceTree = ""; }; - 60863E461D0B49AE0053B51C /* ArtsyAPI+HEAD.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "ArtsyAPI+HEAD.m"; path = "API_Modules/ArtsyAPI+HEAD.m"; sourceTree = ""; }; - 6088B75217D1DBAC00E4BB67 /* ARAnalyticsConstants.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARAnalyticsConstants.h; sourceTree = ""; }; - 6088B75317D1DBAC00E4BB67 /* ARAnalyticsConstants.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARAnalyticsConstants.m; sourceTree = ""; }; - 60892CEC16B9A849004C1B47 /* Accelerate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; }; - 60892CEE16B9A871004C1B47 /* ImageIO.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ImageIO.framework; path = System/Library/Frameworks/ImageIO.framework; sourceTree = SDKROOT; }; - 608AABDA1B3884C600855A1C /* ARKeychainable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARKeychainable.h; sourceTree = ""; }; - 608AABDB1B3884C600855A1C /* ARKeychainable.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARKeychainable.m; sourceTree = ""; }; - 608AFFF01CB681AD00534754 /* LiveBidProgressOverlayView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LiveBidProgressOverlayView.swift; path = Live_Auctions/Views/LiveBidProgressOverlayView.swift; sourceTree = ""; }; - 608B2F5D1657D0500046956C /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; - 608B2F601657D1500046956C /* ARDefaults.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARDefaults.h; sourceTree = ""; }; - 608B2F611657D1500046956C /* ARDefaults.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARDefaults.m; sourceTree = ""; }; - 608B2F6D1657D1D10046956C /* User.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = User.h; sourceTree = ""; }; - 608B2F6E1657D1D10046956C /* User.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = User.m; sourceTree = ""; }; - 608B703E17D4A1C70088A56C /* BackArrow_Highlighted@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "BackArrow_Highlighted@2x.png"; sourceTree = ""; }; - 608B704917D4A1C70088A56C /* FooterBackground@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "FooterBackground@2x.png"; sourceTree = ""; }; - 608B705117D4A1C70088A56C /* MoreArrow@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "MoreArrow@2x.png"; sourceTree = ""; }; - 608B706217D4A1C80088A56C /* CloseButtonLarge@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "CloseButtonLarge@2x.png"; sourceTree = ""; }; - 608EE3D919954CEB001F4FE0 /* UIViewController+Testing.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIViewController+Testing.h"; sourceTree = ""; }; - 608EE3DA19954CEB001F4FE0 /* UIViewController+Testing.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIViewController+Testing.m"; sourceTree = ""; }; - 60903CC2175CE21A002AB800 /* AROptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AROptions.h; sourceTree = ""; }; - 60903CC3175CE21A002AB800 /* AROptions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AROptions.m; sourceTree = ""; }; - 60903CC9175CE766002AB800 /* ARAdminSettingsViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARAdminSettingsViewController.h; sourceTree = ""; }; - 60903CCA175CE766002AB800 /* ARAdminSettingsViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARAdminSettingsViewController.m; sourceTree = ""; }; - 60903CD0175CF095002AB800 /* ARAnimatedTickView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARAnimatedTickView.h; sourceTree = ""; }; - 60903CD1175CF095002AB800 /* ARAnimatedTickView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARAnimatedTickView.m; sourceTree = ""; }; - 60903CD3175CF23F002AB800 /* ARTickedTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARTickedTableViewCell.h; sourceTree = ""; }; - 60903CD4175CF23F002AB800 /* ARTickedTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARTickedTableViewCell.m; sourceTree = ""; }; - 60903CD6175CF27D002AB800 /* ARAdminTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARAdminTableViewCell.h; sourceTree = ""; }; - 60903CD7175CF27D002AB800 /* ARAdminTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARAdminTableViewCell.m; sourceTree = ""; }; - 60935A451A69CFEE00129CE1 /* WebKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; }; - 609624C81CEF3304002F3F33 /* ARTextViewTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARTextViewTests.m; sourceTree = ""; }; - 6099F905178F24750004EF04 /* ARDefaultNavigationTransition.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARDefaultNavigationTransition.h; sourceTree = ""; }; - 6099F906178F24750004EF04 /* ARDefaultNavigationTransition.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARDefaultNavigationTransition.m; sourceTree = ""; }; - 609A42B920C1D3F000B1B933 /* ARVIRTick.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ARVIRTick.png; sourceTree = ""; }; - 609A42BA20C1D3F100B1B933 /* ARVIRTick@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ARVIRTick@2x.png"; sourceTree = ""; }; - 609A42BB20C1D3F100B1B933 /* ARVIRTick@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ARVIRTick@3x.png"; sourceTree = ""; }; - 609A82EE17A10C5C00AFDF13 /* ARNavigationTransitionController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARNavigationTransitionController.h; sourceTree = ""; }; - 609A82EF17A10C5C00AFDF13 /* ARNavigationTransitionController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARNavigationTransitionController.m; sourceTree = ""; }; - 609A82F917A1147800AFDF13 /* ARNavigationTransition.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARNavigationTransition.h; sourceTree = ""; }; - 609A82FA17A1147800AFDF13 /* ARNavigationTransition.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARNavigationTransition.m; sourceTree = ""; }; - 60A168CE20647965008A086C /* ar_vir_opening_frame.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = ar_vir_opening_frame.jpg; sourceTree = ""; }; - 60A22B241FF308C000443BC3 /* ARKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ARKit.framework; path = System/Library/Frameworks/ARKit.framework; sourceTree = SDKROOT; }; - 60A3099C1AC8AD6A000783C1 /* Artsy.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = Artsy.entitlements; sourceTree = ""; }; - 60A309A01AC98BF3000783C1 /* Article.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Article.h; sourceTree = ""; }; - 60A309A11AC98BF3000783C1 /* Article.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Article.m; sourceTree = ""; }; - 60A309A61AC999DE000783C1 /* ARInternalShareValidator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARInternalShareValidator.h; sourceTree = ""; }; - 60A309A71AC999DE000783C1 /* ARInternalShareValidator.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARInternalShareValidator.m; sourceTree = ""; }; - 60A309A91AC99B47000783C1 /* ARInternalShareValidatorTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARInternalShareValidatorTests.m; sourceTree = ""; }; - 60A309AB1AC9A7C8000783C1 /* NSString+StringBetweenStrings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSString+StringBetweenStrings.h"; sourceTree = ""; }; - 60A309AC1AC9A7C8000783C1 /* NSString+StringBetweenStrings.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSString+StringBetweenStrings.m"; sourceTree = ""; }; - 60A49F5E1676559200B9B95D /* ARNetworkConstants.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARNetworkConstants.h; sourceTree = ""; }; - 60A49F5F1676559300B9B95D /* ARNetworkConstants.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARNetworkConstants.m; sourceTree = ""; }; - 60A4A63D1D05C924005946EF /* UIViewController+BlurredStatusView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIViewController+BlurredStatusView.swift"; sourceTree = ""; }; - 60A612B918969307008FC19D /* overview.md */ = {isa = PBXFileReference; lastKnownFileType = text; path = overview.md; sourceTree = ""; }; - 60A7B1B017B26DCD003DC094 /* ARFeedHostItem.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ARFeedHostItem.h; sourceTree = ""; }; - 60AF60C81CB2D8BD0041B430 /* LiveAuctionPlaceMaxBidViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LiveAuctionPlaceMaxBidViewController.swift; path = Live_Auctions/LiveAuctionPlaceMaxBidViewController.swift; sourceTree = ""; }; - 60AF60CA1CB395600041B430 /* LiveAuctionBidButtonTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LiveAuctionBidButtonTests.swift; path = Live_Auction/LiveAuctionBidButtonTests.swift; sourceTree = ""; }; - 60AFD9A620AC9FA50013D74B /* ARInformationView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ARInformationView.h; sourceTree = ""; }; - 60AFD9A720AC9FA50013D74B /* ARInformationView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ARInformationView.m; sourceTree = ""; }; - 60B6E5961C88BEF3003B1D46 /* LiveSale.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LiveSale.h; path = Live/LiveSale.h; sourceTree = ""; }; - 60B6E5971C88BEF3003B1D46 /* LiveSale.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = LiveSale.m; path = Live/LiveSale.m; sourceTree = ""; }; - 60B6F0F01662AADF007C9587 /* ARAppConstants.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARAppConstants.h; sourceTree = ""; }; - 60B6F0F11662AADF007C9587 /* ARAppConstants.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARAppConstants.m; sourceTree = ""; }; - 60B6F13716638785007C9587 /* ArtsyAPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ArtsyAPI.h; sourceTree = ""; }; - 60B6F13816638785007C9587 /* ArtsyAPI.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ArtsyAPI.m; sourceTree = ""; }; - 60B6F13C16638815007C9587 /* Artwork.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Artwork.h; sourceTree = ""; }; - 60B6F13D16638815007C9587 /* Artwork.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Artwork.m; sourceTree = ""; }; - 60B8D1231CBB7C1D006C3E42 /* TextStackTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = TextStackTests.swift; path = Auction/Views/TextStackTests.swift; sourceTree = ""; }; - 60BC390718182227003F34E7 /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; }; - 60BC92F11BBEC89B00D13E56 /* ARApplicationShortcutItemDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARApplicationShortcutItemDelegate.h; sourceTree = ""; }; - 60BC92F21BBEC89B00D13E56 /* ARApplicationShortcutItemDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARApplicationShortcutItemDelegate.m; sourceTree = ""; }; - 60BCE10B1FF2B8A500071AA6 /* ARAugmentedRealityConfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARAugmentedRealityConfig.h; sourceTree = ""; }; - 60BCE10C1FF2B8A500071AA6 /* ARAugmentedRealityConfig.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARAugmentedRealityConfig.m; sourceTree = ""; }; - 60BCE10D1FF2B8A500071AA6 /* ARAugmentedFloorBasedVIRViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARAugmentedFloorBasedVIRViewController.h; sourceTree = ""; }; - 60BCE10E1FF2B8A500071AA6 /* ARAugmentedFloorBasedVIRViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARAugmentedFloorBasedVIRViewController.m; sourceTree = ""; }; - 60BF0C4D204737110017D9BA /* SCNArtworkNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SCNArtworkNode.h; sourceTree = ""; }; - 60BF0C4E204737110017D9BA /* SCNArtworkNode.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SCNArtworkNode.m; sourceTree = ""; }; - 60C1C3161C5FA34400EC98EE /* ARSerifNavigationViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARSerifNavigationViewController.h; sourceTree = ""; }; - 60C1C3171C5FA34400EC98EE /* ARSerifNavigationViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARSerifNavigationViewController.m; sourceTree = ""; }; - 60C2CBEE1CC11433009B30CA /* LiveAuctionToolbarView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LiveAuctionToolbarView.swift; path = Live_Auctions/Views/LiveAuctionToolbarView.swift; sourceTree = ""; }; - 60CB547B1CC8F3CC0094DCE5 /* LiveAuctionViewControllerTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LiveAuctionViewControllerTests.swift; path = Live_Auction/LiveAuctionViewControllerTests.swift; sourceTree = ""; }; - 60CE3CA91B46F3EE00CA2B75 /* ArtsyOHHTTPAPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ArtsyOHHTTPAPI.h; sourceTree = ""; }; - 60CE3CAA1B46F3EE00CA2B75 /* ArtsyOHHTTPAPI.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ArtsyOHHTTPAPI.m; sourceTree = ""; }; - 60D312461EA6CFD000B13E59 /* ReplayKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ReplayKit.framework; path = System/Library/Frameworks/ReplayKit.framework; sourceTree = SDKROOT; }; - 60D70DE31D01F420008888D1 /* LiveAuctionLotViewModelSpecs.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LiveAuctionLotViewModelSpecs.swift; sourceTree = ""; }; - 60D90A0617C2182F0073D5B9 /* ARExternalWebBrowserViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARExternalWebBrowserViewController.h; sourceTree = ""; }; - 60D90A0717C2182F0073D5B9 /* ARExternalWebBrowserViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARExternalWebBrowserViewController.m; sourceTree = ""; }; - 60D90A0917C218930073D5B9 /* ARInternalMobileWebViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARInternalMobileWebViewController.h; sourceTree = ""; }; - 60D90A0A17C218930073D5B9 /* ARInternalMobileWebViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARInternalMobileWebViewController.m; sourceTree = ""; }; - 60DCDAD51C6533A900BB61D7 /* ARSerifNavigationViewControllerSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ARSerifNavigationViewControllerSpec.m; path = Components/ARSerifNavigationViewControllerSpec.m; sourceTree = ""; }; - 60E719FD1B4C6032008948FA /* Launch Screen.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = "Launch Screen.xib"; sourceTree = ""; }; - 60E71A001B4C60AC008948FA /* Artsy_Logo.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Artsy_Logo.png; sourceTree = ""; }; - 60ED311E1C8F73450071DD89 /* LiveAuctionLotViewControllerTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LiveAuctionLotViewControllerTests.swift; path = Live_Auction/LiveAuctionLotViewControllerTests.swift; sourceTree = ""; }; - 60ED31201C8F74670071DD89 /* FakeSalesPerson.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = FakeSalesPerson.swift; path = Live_Auction/FakeSalesPerson.swift; sourceTree = ""; }; - 60ED31241C8F76800071DD89 /* LiveAuctionLotViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LiveAuctionLotViewModel.swift; path = Live_Auctions/ViewModels/LiveAuctionLotViewModel.swift; sourceTree = ""; }; - 60ED31261C8F76AB0071DD89 /* LiveAuctionEventViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LiveAuctionEventViewModel.swift; path = Live_Auctions/ViewModels/LiveAuctionEventViewModel.swift; sourceTree = ""; }; - 60ED312A1C8F76CB0071DD89 /* LiveAuctionViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LiveAuctionViewModel.swift; path = Live_Auctions/ViewModels/LiveAuctionViewModel.swift; sourceTree = ""; }; - 60ED312C1C8F776B0071DD89 /* LiveAuctionSalesPerson.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LiveAuctionSalesPerson.swift; path = Live_Auctions/LiveAuctionSalesPerson.swift; sourceTree = ""; }; - 60F242F11CB3AA7300387AA1 /* LiveAuctionBidButton.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LiveAuctionBidButton.swift; path = Live_Auctions/LiveAuctionBidButton.swift; sourceTree = ""; }; - 60F242FB1CB3F32F00387AA1 /* LiveAuctionBidViewControllerTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LiveAuctionBidViewControllerTests.swift; path = Live_Auction/LiveAuctionBidViewControllerTests.swift; sourceTree = ""; }; - 60F9B08D1D83255800DBAC8C /* ARAdminNetworkModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARAdminNetworkModel.h; sourceTree = ""; }; - 60F9B08E1D83255800DBAC8C /* ARAdminNetworkModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARAdminNetworkModel.m; sourceTree = ""; }; - 60FBAA501CC688F7005ED890 /* LiveAuctionViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LiveAuctionViewController.swift; path = Live_Auctions/LiveAuctionViewController.swift; sourceTree = ""; }; - 60FC2CB91C8DF29900ACD78F /* LiveEvent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LiveEvent.h; path = Live/LiveEvent.h; sourceTree = ""; }; - 60FC2CBA1C8DF29900ACD78F /* LiveEvent.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = LiveEvent.m; path = Live/LiveEvent.m; sourceTree = ""; }; - 60FC2CBE1C8F704D00ACD78F /* SaleStatusType.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SaleStatusType.swift; path = Live/SaleStatusType.swift; sourceTree = ""; }; - 60FFE3D6188E91C50012B485 /* certs.md */ = {isa = PBXFileReference; lastKnownFileType = text; path = certs.md; sourceTree = ""; }; - 60FFE3D7188E91C50012B485 /* deploy_to_app_store.md */ = {isa = PBXFileReference; lastKnownFileType = text; path = deploy_to_app_store.md; sourceTree = ""; }; - 60FFE3D8188E91C50012B485 /* deploy_to_beta.md */ = {isa = PBXFileReference; lastKnownFileType = text; path = deploy_to_beta.md; sourceTree = ""; }; - 60FFE3D9188E91C50012B485 /* getting_started.md */ = {isa = PBXFileReference; lastKnownFileType = text; path = getting_started.md; sourceTree = ""; }; - 60FFE3DA188E91C50012B485 /* README.md */ = {isa = PBXFileReference; lastKnownFileType = text; path = README.md; sourceTree = ""; }; - 66A43C641CE470C400FFD6ED /* Hash.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Hash.png; sourceTree = ""; }; - 66A43C651CE470C400FFD6ED /* Hash@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Hash@2x.png"; sourceTree = ""; }; - 66A43C661CE470C400FFD6ED /* Hash@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Hash@3x.png"; sourceTree = ""; }; - 7F9C7EF02221FE2900F6967E /* AREigenMapContainerViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AREigenMapContainerViewController.h; sourceTree = ""; }; - 7F9C7EF12221FE2900F6967E /* AREigenMapContainerViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AREigenMapContainerViewController.m; sourceTree = ""; }; - 837CEC821C876B7C00A7E0E1 /* ArtsyAPI+Notifications.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "ArtsyAPI+Notifications.h"; sourceTree = ""; }; - 837CEC831C876B7C00A7E0E1 /* ArtsyAPI+Notifications.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "ArtsyAPI+Notifications.m"; sourceTree = ""; }; - 83F9D57E1AD6FDE0000BCC77 /* Location.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Location.h; sourceTree = ""; }; - 83F9D57F1AD6FDE0000BCC77 /* Location.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Location.m; sourceTree = ""; }; - 83FF73B31CB87A74002B53FA /* RefinableType.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = RefinableType.swift; path = ../Views/RefinableType.swift; sourceTree = ""; }; - 9434A9843098609F9F092F0D /* Pods.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 97983D93644ACC6409190A08 /* Pods-Artsy.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Artsy.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Artsy/Pods-Artsy.debug.xcconfig"; sourceTree = ""; }; - 9D50B9502450CF6800A6DCD0 /* ARBackButton.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ARBackButton.h; sourceTree = ""; }; - 9D50B9512450CF6800A6DCD0 /* ARBackButton.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ARBackButton.m; sourceTree = ""; }; - 9D50B9532450CFB500A6DCD0 /* BackChevron@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "BackChevron@3x.png"; sourceTree = ""; }; - 9D50B9542450CFB600A6DCD0 /* BackChevron.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = BackChevron.png; sourceTree = ""; }; - 9D50B9552450CFB600A6DCD0 /* BackChevron@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "BackChevron@2x.png"; sourceTree = ""; }; - B30FEF59181EEA47009E4EAD /* ARBidButtonTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARBidButtonTests.m; sourceTree = ""; }; - B316E2F218170DF40086CCDB /* SaleArtwork.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SaleArtwork.h; sourceTree = ""; }; - B316E2F318170DF40086CCDB /* SaleArtwork.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SaleArtwork.m; sourceTree = ""; }; - B316E2F5181713110086CCDB /* Bidder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Bidder.h; sourceTree = ""; }; - B316E2F6181713110086CCDB /* Bidder.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Bidder.m; sourceTree = ""; }; - B375E5F218121EEA005FC680 /* Sale.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Sale.h; sourceTree = ""; }; - B375E5F318121EEA005FC680 /* Sale.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Sale.m; sourceTree = ""; }; - B375E5F51812207D005FC680 /* ArtsyAPI+Sales.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "ArtsyAPI+Sales.h"; sourceTree = ""; }; - B375E5F61812207D005FC680 /* ArtsyAPI+Sales.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "ArtsyAPI+Sales.m"; sourceTree = ""; }; - B3ECE8261819D1E6009F5C5B /* Artsy Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Artsy Tests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; - B3ECE8271819D1E6009F5C5B /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; - B3ECE82D1819D1E6009F5C5B /* Artsy_Tests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Artsy_Tests-Info.plist"; sourceTree = ""; }; - B3ECE82F1819D1E6009F5C5B /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; - B3ECE8331819D1E6009F5C5B /* Artsy_Tests-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Artsy_Tests-Prefix.pch"; sourceTree = ""; }; - B3ECE83B1819D1FD009F5C5B /* SaleArtworkTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SaleArtworkTests.m; sourceTree = ""; }; - B3EFC6371815B41C00F23540 /* BidderPosition.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BidderPosition.h; sourceTree = ""; }; - B3EFC6381815B41C00F23540 /* BidderPosition.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BidderPosition.m; sourceTree = ""; }; - B91C4D8C24F6893F00F5F177 /* ARScreenPresenterModule.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ARScreenPresenterModule.h; sourceTree = ""; }; - B91C4D8D24F6893F00F5F177 /* ARScreenPresenterModule.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ARScreenPresenterModule.m; sourceTree = ""; }; - B9A039442553FE47002E010D /* ARModalViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ARModalViewController.h; sourceTree = ""; }; - B9A039452553FE47002E010D /* ARModalViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ARModalViewController.m; sourceTree = ""; }; - B9A0395A25540810002E010D /* UIView+ScrollToTop.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "UIView+ScrollToTop.h"; sourceTree = ""; }; - B9A0395B25540810002E010D /* UIView+ScrollToTop.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "UIView+ScrollToTop.m"; sourceTree = ""; }; - B9A29FDE23EB2680006EE2EC /* ARReactPackagerHost.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARReactPackagerHost.h; sourceTree = ""; }; - B9A29FDF23EB27BD006EE2EC /* ARReactPackagerHost.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARReactPackagerHost.m; sourceTree = ""; }; - C1D5D316AD887B0D764B2DFF /* Pods-Artsy.demo.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Artsy.demo.xcconfig"; path = "Pods/Target Support Files/Pods-Artsy/Pods-Artsy.demo.xcconfig"; sourceTree = ""; }; - C92C422D2B7B26F1D784B7A5 /* Pods-Artsy Tests.demo.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Artsy Tests.demo.xcconfig"; path = "Pods/Target Support Files/Pods-Artsy Tests/Pods-Artsy Tests.demo.xcconfig"; sourceTree = ""; }; - CB355E8217CAB0B3002A798D /* ARFollowable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARFollowable.h; sourceTree = ""; }; - CB42B64D181092480069A801 /* ARCountdownView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARCountdownView.h; sourceTree = ""; }; - CB42B64E181092480069A801 /* ARCountdownView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARCountdownView.m; sourceTree = ""; }; - CB6AFF2B2793654E00D7DC82 /* BrazePushServiceExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = BrazePushServiceExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; }; - CB6AFF2D2793654E00D7DC82 /* NotificationService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationService.swift; sourceTree = ""; }; - CB6AFF2F2793654E00D7DC82 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - CB6CE8EB24F9684400ED2843 /* Thumb@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Thumb@2x.png"; sourceTree = ""; }; - CB6CE8EC24F9684400ED2843 /* Range@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Range@2x.png"; sourceTree = ""; }; - CB6CE8ED24F9684400ED2843 /* Thumb.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Thumb.png; sourceTree = ""; }; - CB6CE8EE24F9684400ED2843 /* Track@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Track@2x.png"; sourceTree = ""; }; - CB879D0A180746C900E2D8EC /* AuctionLot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AuctionLot.h; sourceTree = ""; }; - CB879D0B180746C900E2D8EC /* AuctionLot.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AuctionLot.m; sourceTree = ""; }; - CB8FF7C326C45CFC00022DA3 /* AdServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AdServices.framework; path = System/Library/Frameworks/AdServices.framework; sourceTree = SDKROOT; }; - CB8FF7C626C45D2100022DA3 /* StoreKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = StoreKit.framework; path = System/Library/Frameworks/StoreKit.framework; sourceTree = SDKROOT; }; - CB8FF7C826C45D3400022DA3 /* AppTrackingTransparency.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppTrackingTransparency.framework; path = System/Library/Frameworks/AppTrackingTransparency.framework; sourceTree = SDKROOT; }; - CB9E243F17CBC36F00773A9A /* ARAuthProviders.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARAuthProviders.h; sourceTree = ""; }; - CB9E244017CBC36F00773A9A /* ARAuthProviders.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARAuthProviders.m; sourceTree = ""; }; - CBB469CE181F1F1200B5692B /* Bid.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Bid.h; sourceTree = ""; }; - CBB469CF181F1F1200B5692B /* Bid.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Bid.m; sourceTree = ""; }; - CBF74083250ACDC5004048D3 /* ARAppDelegate+Echo.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "ARAppDelegate+Echo.h"; sourceTree = ""; }; - CBF74084250ACDC5004048D3 /* ARAppDelegate+Echo.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "ARAppDelegate+Echo.m"; sourceTree = ""; }; - D35D9D5B1ACB4FF800E67A1D /* ARCustomEigenLabelTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARCustomEigenLabelTests.m; sourceTree = ""; }; - D3ACE5381AEEF47C0053E0CE /* ARExternalWebBrowserViewControllerTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARExternalWebBrowserViewControllerTests.m; sourceTree = ""; }; - D3C8C2051B66D2FF004CAD7F /* ARImageTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARImageTests.m; sourceTree = ""; }; - D3F69A491AC1F7CB007C65C9 /* ARDefaultsTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARDefaultsTests.m; sourceTree = ""; }; - DA8D5507586C1A8D7D25B02D /* libPods-Artsy.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Artsy.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - E46CDB9EB7EB81BF77D63EF5 /* Pods-Artsy.store.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Artsy.store.xcconfig"; path = "Pods/Target Support Files/Pods-Artsy/Pods-Artsy.store.xcconfig"; sourceTree = ""; }; - E60673B119BE4E8C00EF05EB /* full_logo_white_small@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "full_logo_white_small@2x.png"; sourceTree = ""; }; - E611846F18D78068000FE4C9 /* ARMessageItemProviderTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARMessageItemProviderTests.m; sourceTree = ""; }; - E611847118D7B4C4000FE4C9 /* ARSharingControllerTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARSharingControllerTests.m; sourceTree = ""; }; - E61E772419A5477300C55E14 /* ARExpectaExtensions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARExpectaExtensions.h; sourceTree = ""; }; - E61E772519A5477300C55E14 /* ARExpectaExtensions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARExpectaExtensions.m; sourceTree = ""; }; - E620C74719C746530064A0FF /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; - E649708818D7762F009DB0C4 /* ARImageItemProviderTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARImageItemProviderTests.m; sourceTree = ""; }; - E667F12018EC825D00503F50 /* ARHTTPRequestOperationLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARHTTPRequestOperationLogger.h; sourceTree = ""; }; - E667F12118EC825D00503F50 /* ARHTTPRequestOperationLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARHTTPRequestOperationLogger.m; sourceTree = ""; }; - E667F12618EC82AB00503F50 /* ARLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARLogger.h; sourceTree = ""; }; - E667F12718EC82AB00503F50 /* ARLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARLogger.m; sourceTree = ""; }; - E667F12A18EC889F00503F50 /* ARLogFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARLogFormatter.h; sourceTree = ""; }; - E667F12B18EC889F00503F50 /* ARLogFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARLogFormatter.m; sourceTree = ""; }; - E66A0A8219C2125400ECEB1A /* full_logo_white_large@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "full_logo_white_large@2x.png"; sourceTree = ""; }; - E6718314194A595F001A5566 /* ARTestContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARTestContext.h; sourceTree = ""; }; - E6718315194A595F001A5566 /* ARTestContext.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARTestContext.m; sourceTree = ""; }; - E67655241900660500F9A704 /* ARWhitespaceGobbler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARWhitespaceGobbler.h; sourceTree = ""; }; - E67655251900660500F9A704 /* ARWhitespaceGobbler.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARWhitespaceGobbler.m; sourceTree = ""; }; - E676A62418EF5F6E00B9AF2C /* Artwork_v0.data */ = {isa = PBXFileReference; lastKnownFileType = file.bplist; path = Artwork_v0.data; sourceTree = ""; }; - E676A62918F3421600B9AF2C /* ARSeparatorViews.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARSeparatorViews.h; sourceTree = ""; }; - E676A62A18F3421600B9AF2C /* ARSeparatorViews.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARSeparatorViews.m; sourceTree = ""; }; - E676B2E918D0CC330057B4E1 /* ARURLItemProvider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARURLItemProvider.h; sourceTree = ""; }; - E676B2EA18D0CC330057B4E1 /* ARURLItemProvider.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARURLItemProvider.m; sourceTree = ""; }; - E676B2EC18D11A9B0057B4E1 /* ARImageItemProvider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARImageItemProvider.h; sourceTree = ""; }; - E676B2ED18D11A9B0057B4E1 /* ARImageItemProvider.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARImageItemProvider.m; sourceTree = ""; }; - E676B2EF18D207910057B4E1 /* ARShareableObject.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ARShareableObject.h; sourceTree = ""; }; - E676B2F018D224000057B4E1 /* ARMessageItemProvider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARMessageItemProvider.h; sourceTree = ""; }; - E676B2F118D224000057B4E1 /* ARMessageItemProvider.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARMessageItemProvider.m; sourceTree = ""; }; - E676B2F418D230A00057B4E1 /* ARURLItemProviderTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARURLItemProviderTests.m; sourceTree = ""; }; - E67E1DB119475642004252E0 /* ARAnimatedTickViewTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARAnimatedTickViewTest.m; sourceTree = ""; }; - E6A3500318AAEBFF0075398F /* NSKeyedUnarchiver+ErrorLogging.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSKeyedUnarchiver+ErrorLogging.h"; sourceTree = ""; }; - E6A3500418AAEBFF0075398F /* NSKeyedUnarchiver+ErrorLogging.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSKeyedUnarchiver+ErrorLogging.m"; sourceTree = ""; }; - E6B9FA7A18A97C0A00E961F9 /* stub.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = stub.jpg; sourceTree = ""; }; - E6EC246018F7069300C89192 /* PartnerTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PartnerTests.m; sourceTree = ""; }; - E6F466E718EF52A800A09AFA /* Artwork_v1.data */ = {isa = PBXFileReference; lastKnownFileType = file.bplist; path = Artwork_v1.data; sourceTree = ""; }; - E6F84CFE1A0A920600BF99A3 /* CloseButtonLargeHighlighted@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "CloseButtonLargeHighlighted@2x.png"; sourceTree = ""; }; - F5228136EBA7C3D968C3D845 /* Pods-Artsy Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Artsy Tests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Artsy Tests/Pods-Artsy Tests.debug.xcconfig"; sourceTree = ""; }; - FC592EF42798A8B4001A4FD6 /* ImageUrl.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImageUrl.swift; sourceTree = ""; }; - FC61189D2746FE2300612581 /* ArtworkStore.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ArtworkStore.swift; sourceTree = ""; }; - FC61189F2747001B00612581 /* ArtworkImage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArtworkImage.swift; sourceTree = ""; }; - FC6118A1274704FA00612581 /* Schedule.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Schedule.swift; sourceTree = ""; }; - FC6118A32747068300612581 /* FullBleed+Timeline.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "FullBleed+Timeline.swift"; sourceTree = ""; }; - FC6118A52747091400612581 /* VolleyClient.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VolleyClient.swift; sourceTree = ""; }; - FC6118A62747091400612581 /* VolleyPayload.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VolleyPayload.swift; sourceTree = ""; }; - FC6118A72747091500612581 /* VolleyMetric.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VolleyMetric.swift; sourceTree = ""; }; - FC89B29F274C3ADB005F3F58 /* FeaturedArtworks.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FeaturedArtworks.swift; sourceTree = ""; }; - FC89B2A1274C3AF7005F3F58 /* FeaturedArtworks+Entry.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "FeaturedArtworks+Entry.swift"; sourceTree = ""; }; - FC89B2A3274C3B03005F3F58 /* FeaturedArtworks+Provider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "FeaturedArtworks+Provider.swift"; sourceTree = ""; }; - FC89B2A5274C3B12005F3F58 /* FeaturedArtworks+Timeline.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "FeaturedArtworks+Timeline.swift"; sourceTree = ""; }; - FC89B2A7274C3B24005F3F58 /* FeaturedArtworks+View.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "FeaturedArtworks+View.swift"; sourceTree = ""; }; - FC89B2A9274C3B30005F3F58 /* FeaturedArtworks+Widget.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "FeaturedArtworks+Widget.swift"; sourceTree = ""; }; - FC89B2AB274C44C9005F3F58 /* FeaturedArtworks+SmallView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "FeaturedArtworks+SmallView.swift"; sourceTree = ""; }; - FC89B2AD274C4695005F3F58 /* FeaturedArtworks+MediumView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "FeaturedArtworks+MediumView.swift"; sourceTree = ""; }; - FC89B2AF274C47E7005F3F58 /* FeaturedArtworks+LargeView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "FeaturedArtworks+LargeView.swift"; sourceTree = ""; }; - FC9DDAFE274D8F41005DEE85 /* LatestArticles.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LatestArticles.swift; sourceTree = ""; }; - FC9DDB00274D8F4E005DEE85 /* LatestArticles+Entry.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "LatestArticles+Entry.swift"; sourceTree = ""; }; - FC9DDB02274D8F5A005DEE85 /* LatestArticles+MediumView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "LatestArticles+MediumView.swift"; sourceTree = ""; }; - FC9DDB04274D8F7E005DEE85 /* LatestArticles+Provider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "LatestArticles+Provider.swift"; sourceTree = ""; }; - FC9DDB06274D8F8C005DEE85 /* LatestArticles+SmallView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "LatestArticles+SmallView.swift"; sourceTree = ""; }; - FC9DDB08274D8F96005DEE85 /* LatestArticles+Timeline.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "LatestArticles+Timeline.swift"; sourceTree = ""; }; - FC9DDB0A274D8FA1005DEE85 /* LatestArticles+View.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "LatestArticles+View.swift"; sourceTree = ""; }; - FC9DDB0C274D8FAE005DEE85 /* LatestArticles+Widget.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "LatestArticles+Widget.swift"; sourceTree = ""; }; - FC9DDB0E274D8FBB005DEE85 /* LatestArticles+LargeView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "LatestArticles+LargeView.swift"; sourceTree = ""; }; - FC9DDB10274D8FFF005DEE85 /* Article.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Article.swift; sourceTree = ""; }; - FC9DDB12274D9A32005DEE85 /* ArticleStore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArticleStore.swift; sourceTree = ""; }; - FC9DDB14274D9C1F005DEE85 /* ArticleParser.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArticleParser.swift; sourceTree = ""; }; - FCB45B222746EF3700232337 /* ArtsyWidgetExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = ArtsyWidgetExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; }; - FCB45B232746EF3700232337 /* WidgetKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WidgetKit.framework; path = System/Library/Frameworks/WidgetKit.framework; sourceTree = SDKROOT; }; - FCB45B252746EF3700232337 /* SwiftUI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SwiftUI.framework; path = System/Library/Frameworks/SwiftUI.framework; sourceTree = SDKROOT; }; - FCB45B282746EF3700232337 /* ArtsyWidgets.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArtsyWidgets.swift; sourceTree = ""; }; - FCB45B2A2746EF3900232337 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - FCB45B2C2746EF3900232337 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - FCB45B362746F0A500232337 /* FullBleed+View.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "FullBleed+View.swift"; sourceTree = ""; }; - FCB45B382746F0B800232337 /* FullBleed+Provider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "FullBleed+Provider.swift"; sourceTree = ""; }; - FCB45B3A2746F0CC00232337 /* FullBleed+Entry.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "FullBleed+Entry.swift"; sourceTree = ""; }; - FCB45B3C2746F0F100232337 /* FullBleed.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FullBleed.swift; sourceTree = ""; }; - FCB45B3F2746F26E00232337 /* Artwork.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Artwork.swift; sourceTree = ""; }; - FCB45B412746F28700232337 /* Artist.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Artist.swift; sourceTree = ""; }; - FCB45B432746F42800232337 /* FullBleed+Widget.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "FullBleed+Widget.swift"; sourceTree = ""; }; - FCB45B462746F6FD00232337 /* PrimaryText.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PrimaryText.swift; sourceTree = ""; }; - FCB45B482746F72800232337 /* SecondaryText.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SecondaryText.swift; sourceTree = ""; }; - FCB45B4A2746F81F00232337 /* WidgetUrl.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WidgetUrl.swift; sourceTree = ""; }; - FCD1340A27483ED90065074D /* Fixtures.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Fixtures.swift; sourceTree = ""; }; - FCD47BD6274833EF003F27B8 /* ScheduleTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ScheduleTests.swift; sourceTree = ""; }; - FCD47BD7274833EF003F27B8 /* ArtworkTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ArtworkTests.swift; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 27C58CCF38FF0D3E62C41E10 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 49BA7DFC1655ABE600C06572 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 60A22B251FF308C300443BC3 /* ARKit.framework in Frameworks */, - CB8FF7C526C45D0B00022DA3 /* iAd.framework in Frameworks */, - CB8FF7C226C45CFC00022DA3 /* AdSupport.framework in Frameworks */, - 60D312471EA6CFD000B13E59 /* ReplayKit.framework in Frameworks */, - 512AB35C1BD7C82F00F92B9A /* MessageUI.framework in Frameworks */, - 512AB35B1BD7C7A100F92B9A /* CoreSpotlight.framework in Frameworks */, - 60935A461A69CFEE00129CE1 /* WebKit.framework in Frameworks */, - 1A0517C42746D93000248353 /* CoreServices.framework in Frameworks */, - A18CE1A9E25D2EE10D482D6C /* libPods-Artsy.a in Frameworks */, - CB8FF7C926C45D3400022DA3 /* AppTrackingTransparency.framework in Frameworks */, - CB8FF7C426C45CFC00022DA3 /* AdServices.framework in Frameworks */, - CB8FF7C726C45D2200022DA3 /* StoreKit.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - B3ECE8231819D1E6009F5C5B /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 60476F4C1AD87DB200670502 /* UIKit.framework in Frameworks */, - B3ECE8291819D1E6009F5C5B /* Foundation.framework in Frameworks */, - 68AE3912711D80B0018CCC9D /* libPods-Artsy Tests.a in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CB6AFF282793654E00D7DC82 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - FCB45B1F2746EF3700232337 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - FCB45B262746EF3700232337 /* SwiftUI.framework in Frameworks */, - FCB45B242746EF3700232337 /* WidgetKit.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 0CE0FE251B8E29CC00A921FD /* Stubs */ = { - isa = PBXGroup; - children = ( - 3C7ECF72189010CA004BC877 /* Extensions.h */, - 60CE3CA91B46F3EE00CA2B75 /* ArtsyOHHTTPAPI.h */, - 60CE3CAA1B46F3EE00CA2B75 /* ArtsyOHHTTPAPI.m */, - 3C3FEA8C188433F200E1A16F /* ARUserManager+Stubs.h */, - 3C3FEA8D1884346D00E1A16F /* ARUserManager+Stubs.m */, - 3CA1E81E188465F0003C622D /* Sale+Extensions.h */, - 3CA1E81F188465F0003C622D /* Sale+Extensions.m */, - 3CA1E8211884663E003C622D /* Bid+Extensions.h */, - 3CA1E8221884663E003C622D /* Bid+Extensions.m */, - 3C6AA7C91885F38D00501F07 /* SaleArtwork+Extensions.h */, - 3C6AA7CA1885F38D00501F07 /* SaleArtwork+Extensions.m */, - 342F93309D1B60C53E2E0732 /* Artwork+Extensions.m */, - 342F95F94C5759B9CA05AB59 /* Artwork+Extensions.h */, - 3CE0DA3018A13604000E537A /* OHHTTPStubs+Artsy.h */, - 3CE0DA3118A13604000E537A /* OHHTTPStubs+Artsy.m */, - ); - path = Stubs; - sourceTree = ""; - }; - 1AD4F89C25FBBA85007FDB71 /* Artsy Stickers */ = { - isa = PBXGroup; - children = ( - 1AD4F89D25FBBA89007FDB71 /* Stickers.xcassets */, - 1AD4F89F25FBBA89007FDB71 /* Info.plist */, - ); - path = "Artsy Stickers"; - sourceTree = ""; - }; - 33C6886033769A61A3E99B18 /* Pods */ = { - isa = PBXGroup; - children = ( - 3A6EBA7E22358DE60052D0C0 /* Emission.podspec.json */, - 97983D93644ACC6409190A08 /* Pods-Artsy.debug.xcconfig */, - E46CDB9EB7EB81BF77D63EF5 /* Pods-Artsy.store.xcconfig */, - C1D5D316AD887B0D764B2DFF /* Pods-Artsy.demo.xcconfig */, - F5228136EBA7C3D968C3D845 /* Pods-Artsy Tests.debug.xcconfig */, - 5E6C92F936EA71609C245323 /* Pods-Artsy Tests.store.xcconfig */, - C92C422D2B7B26F1D784B7A5 /* Pods-Artsy Tests.demo.xcconfig */, - ); - name = Pods; - sourceTree = ""; - }; - 342F90A2E677A86747A25FD8 /* Artsy */ = { - isa = PBXGroup; - children = ( - 5ED9EC011C458E9500C979A6 /* SwiftExtensions.swift */, - 5EA0E74B1DCA3DD200CE9203 /* Interstellar+Artsy.swift */, - 5E26AF7F1CE66A7E00C67B7C /* Stringify.swift */, - 342F9F32AB53EF2503473315 /* ORStackView+ArtsyViews.m */, - 342F96AD6F2466A26A3152F8 /* ORStackView+ArtsyViews.h */, - ); - path = Artsy; - sourceTree = ""; - }; - 342F91DD9B57A51A8352877C /* Util */ = { - isa = PBXGroup; - children = ( - 3C12144A18FD6AA9003CDC74 /* Sharing */, - E667F12318EC827B00503F50 /* Logging */, - 3CAA412D18D88F2E000EE867 /* UIViewController+InnermostTopViewController.h */, - 3CAA412E18D88F2E000EE867 /* UIViewController+InnermostTopViewController.m */, - 603B3AE91774A0FA00BA5BD3 /* ARNavigationController.h */, - 603B3AEA1774A0FA00BA5BD3 /* ARNavigationController.m */, - 54AD031F18A4FCCE0055F2D2 /* ARMenuAwareViewController.h */, - 342F9D63C266DC8B9A46A4F5 /* Emumerations */, - 342F949FC80594AFFBBE1017 /* Errors */, - 342F955C47585DAE288DCC7F /* ARScrollNavigationChief.h */, - 342F98A73E2E1162514B5A24 /* ARScrollNavigationChief.m */, - 342F9737E2E62CEC8B68D181 /* ARFileUtils.h */, - 342F9FEFF4A1B56EE307467B /* ARFileUtils.m */, - 342F9B2379536051BE35B6D4 /* ARValueTransformer.h */, - 342F90BFE6268BEBC0E7BB2E /* ARValueTransformer.m */, - 342F94A8E1109ABC367CB751 /* ARStandardDateFormatter.h */, - 342F9F3E8A0C15DD0DB437D1 /* ARStandardDateFormatter.m */, - 5EBA3E811DFF4CCB005B4BEE /* ARTwoWayDictionaryTransformer.h */, - 5EBA3E821DFF4CCB005B4BEE /* ARTwoWayDictionaryTransformer.m */, - 342F96255EEC90B05A4FF213 /* ARFeedImageLoader.h */, - 342F966C989CF0BE97711FB6 /* ARFeedImageLoader.m */, - 9D50B9502450CF6800A6DCD0 /* ARBackButton.h */, - 9D50B9512450CF6800A6DCD0 /* ARBackButton.m */, - ); - path = Util; - sourceTree = ""; - }; - 342F93BE04F58F4AD75A8FDD /* Mantle_Extensions */ = { - isa = PBXGroup; - children = ( - 342F92D1AEEE18F719695548 /* MTLModel+JSON.m */, - 342F94F249E33303787DC61E /* MTLModel+JSON.h */, - 342F984DED67FEAABB90AFC3 /* MTLModel+Dictionary.h */, - 342F98950528061D8AE370EA /* MTLModel+Dictionary.m */, - ); - path = Mantle_Extensions; - sourceTree = ""; - }; - 342F9453C931C592D4F8A2AA /* Fair */ = { - isa = PBXGroup; - children = ( - 342F9983D46712773FC71FC3 /* Fair.h */, - 342F9860A7DDF0C11DC56572 /* Fair.m */, - 3CCCC8A31899B6F9008015DD /* FairOrganizer.h */, - 3CCCC8A41899B6F9008015DD /* FairOrganizer.m */, - 342F92FE487AC8FCA43F5C74 /* Follow.m */, - 342F9AC158B5157E968BE7BE /* Follow.h */, - ); - path = Fair; - sourceTree = ""; - }; - 342F949FC80594AFFBBE1017 /* Errors */ = { - isa = PBXGroup; - children = ( - 342F9D994FE5E37F23DB781A /* ARNetworkErrorManager.h */, - 342F97A9F6D9D371703C2B19 /* ARNetworkErrorManager.m */, - ); - path = Errors; - sourceTree = ""; - }; - 342F9C2C3D87889B79459CED /* Apple */ = { - isa = PBXGroup; - children = ( - 60A309AB1AC9A7C8000783C1 /* NSString+StringBetweenStrings.h */, - 60A309AC1AC9A7C8000783C1 /* NSString+StringBetweenStrings.m */, - 342F97E1E35CFFE9767F07CD /* NSDate+DateRange.h */, - 342F9175329F0389E644C194 /* NSDate+DateRange.m */, - 342F9DFFC4EBE280F4BDF6E8 /* NSDate+Util.h */, - 342F97C153D8524B132D0927 /* NSDate+Util.m */, - 342F9A069BB0267F7BF6F260 /* UIView+HitTestExpansion.h */, - 342F9F4385F10D19BC94E456 /* UIView+HitTestExpansion.m */, - 342F94AB8EA7914F64F117AD /* UIDevice-Hardware.h */, - 342F97B49335330C4FD569B4 /* UIDevice-Hardware.m */, - 342F96B30465B8B7722DBD1D /* UIImage+ImageFromColor.h */, - 342F987C1CACE95AAD292717 /* UIImage+ImageFromColor.m */, - 342F9036F798770D9E0CC66C /* UIImageView+AsyncImageLoading.h */, - 342F9DA91638895F6A6A432C /* UIImageView+AsyncImageLoading.m */, - 5435192C18A8E9420060F31E /* UIView+OldSchoolSnapshots.h */, - 5435192D18A8E9420060F31E /* UIView+OldSchoolSnapshots.m */, - B9A0395A25540810002E010D /* UIView+ScrollToTop.h */, - B9A0395B25540810002E010D /* UIView+ScrollToTop.m */, - 342F91AA54E8417472868A61 /* UIViewController+FullScreenLoading.h */, - 342F924737155CB0C5A439F9 /* UIViewController+FullScreenLoading.m */, - 342F9DE76CE6DE0D374BC703 /* UIViewController+SimpleChildren.h */, - 342F9331632309600346BD90 /* UIViewController+SimpleChildren.m */, - E6A3500318AAEBFF0075398F /* NSKeyedUnarchiver+ErrorLogging.h */, - E6A3500418AAEBFF0075398F /* NSKeyedUnarchiver+ErrorLogging.m */, - 5EC929881C5FEAD10015133E /* UIViewController+Traits.swift */, - 5EBD44DF1D07325300C60F9F /* UITableViewController+Animations.swift */, - 5EBD44E11D074A7300C60F9F /* UILabel+Styling.swift */, - 516CDA671BB55B54001C02B2 /* UIViewController+WithLoadedData.h */, - 516CDA681BB55B54001C02B2 /* UIViewController+WithLoadedData.m */, - 516CDA6A1BB56611001C02B2 /* UIViewController+ARUserActivity.h */, - 516CDA6B1BB56611001C02B2 /* UIViewController+ARUserActivity.m */, - 5EA250641C4EE95B001E4950 /* NSArray+Additions.h */, - 5EA250651C4EE95B001E4950 /* NSArray+Additions.m */, - 5E79FCB01C7612D8003D5D65 /* Int+Metrification.swift */, - 5E4962431CA1C7E800E77DD5 /* NSAttributedString+Additions.swift */, - 5E257E311ECDEB3900C62008 /* UIViewController+Popovers.h */, - 5E257E321ECDEB6600C62008 /* UIViewController+Popovers.m */, - ); - path = Apple; - sourceTree = ""; - }; - 342F9D35D55EDEA5EA203296 /* Styled Subclasses */ = { - isa = PBXGroup; - children = ( - E6B71BA11A129DA700BBD2E2 /* Buttons */, - 342F9F752C66B13A43FD55DC /* StyledSubclasses.h */, - 342F9C3F2A3A8DD09B29D803 /* ARTextView.h */, - 342F969D222D3AAD67B93FCE /* ARTextView.m */, - ); - name = "Styled Subclasses"; - path = Styled_Subclasses; - sourceTree = ""; - }; - 342F9D63C266DC8B9A46A4F5 /* Emumerations */ = { - isa = PBXGroup; - children = ( - 342F92B72CCFA5F1E35F0067 /* UIApplicationStateEnum.h */, - 342F9CDCE3E3D1674CA080AD /* UIApplicationStateEnum.m */, - ); - path = Emumerations; - sourceTree = ""; - }; - 342F9FE0B50F629107FA5E5A /* Generics */ = { - isa = PBXGroup; - children = ( - 342F9C3811C6F12C261F04D4 /* ARNavigationButtonsViewController.m */, - 342F9E3AC3A1AD2AF62F353C /* ARNavigationButtonsViewController.h */, - ); - path = Generics; - sourceTree = ""; - }; - 3C12144A18FD6AA9003CDC74 /* Sharing */ = { - isa = PBXGroup; - children = ( - E676B2F018D224000057B4E1 /* ARMessageItemProvider.h */, - E676B2F118D224000057B4E1 /* ARMessageItemProvider.m */, - E676B2E918D0CC330057B4E1 /* ARURLItemProvider.h */, - E676B2EA18D0CC330057B4E1 /* ARURLItemProvider.m */, - E676B2EC18D11A9B0057B4E1 /* ARImageItemProvider.h */, - E676B2ED18D11A9B0057B4E1 /* ARImageItemProvider.m */, - 342F954D3ABCF82AAC1640D9 /* ARSharingController.h */, - 342F9DC4018D17E7378DA607 /* ARSharingController.m */, - ); - path = Sharing; - sourceTree = ""; - }; - 3C205B5718900091004280E0 /* App Tests */ = { - isa = PBXGroup; - children = ( - 3C205B58189000A5004280E0 /* ARAppNotificationsDelegateTests.m */, - 5108A7BB1BA1AB2C0011CD72 /* ARAppActivityContinuationDelegateTests.m */, - 6022F5AD1BDFAC3800D975F0 /* ARWebViewCacheHostSpec.m */, - ); - name = "App Tests"; - path = App_Tests; - sourceTree = ""; - }; - 3C22227018C647CC00B7CE3A /* Data */ = { - isa = PBXGroup; - children = ( - 3C22227518C64B4A00B7CE3A /* User_v1.data */, - 3C22227318C6487C00B7CE3A /* User_v0.data */, - E676A62418EF5F6E00B9AF2C /* Artwork_v0.data */, - E6F466E718EF52A800A09AFA /* Artwork_v1.data */, - ); - path = Data; - sourceTree = ""; - }; - 3C3FEA8B188433CB00E1A16F /* Extensions */ = { - isa = PBXGroup; - children = ( - 5E9A78211906BA3D00734E1B /* OCMArg+ClassChecker.h */, - 5E9A78221906BA3D00734E1B /* OCMArg+ClassChecker.m */, - 3C6BDCBE18E0B3E40028EF5D /* MutableNSURLResponse.h */, - 3C6BDCBF18E0B3E40028EF5D /* MutableNSURLResponse.m */, - 608EE3D919954CEB001F4FE0 /* UIViewController+Testing.h */, - 608EE3DA19954CEB001F4FE0 /* UIViewController+Testing.m */, - E61E772419A5477300C55E14 /* ARExpectaExtensions.h */, - E61E772519A5477300C55E14 /* ARExpectaExtensions.m */, - 0CE3C4331B8BB35C0092A24F /* EXPMatcher+UINavigationController.h */, - 0CE3C4341B8BB35C0092A24F /* EXPMatcher+UINavigationController.m */, - 5E088DAF1C58141D00C448D7 /* UIViewController+Tests.swift */, - 60107F151CC7DC1D002F772E /* ARTestImageCachingFunctions.swift */, - ); - path = Extensions; - sourceTree = ""; - }; - 3C4AE96C19094D8F009C0E8B /* Map Annotations */ = { - isa = PBXGroup; - children = ( - 3C4AE96D19094DAA009C0E8B /* MapAnnotation_Artsy@2x.png */, - ); - name = "Map Annotations"; - path = Map_Annotations; - sourceTree = ""; - }; - 3C4AE98B19094F74009C0E8B /* ViewInRoom */ = { - isa = PBXGroup; - children = ( - 3C4AE98C19094F96009C0E8B /* ViewInRoom_Base@2x.png */, - 3C4AE98D19094F96009C0E8B /* ViewInRoom_BaseNoBench@2x.png */, - 3C4AE98E19094F96009C0E8B /* ViewInRoom_Bench@2x.png */, - 3C4AE98F19094F96009C0E8B /* ViewInRoom_Man_3@2x.png */, - 3C4AE99019094F96009C0E8B /* ViewInRoom_Wall_Right@2x.png */, - 3C4AE99119094F96009C0E8B /* ViewInRoom_Wall@2x.png */, - ); - path = ViewInRoom; - sourceTree = ""; - }; - 3C5C7E3D18970E73003823BB /* Util Tests */ = { - isa = PBXGroup; - children = ( - 6002C2611CC512B700E249B2 /* Categories */, - E676B2F318D2307D0057B4E1 /* Sharing Tests */, - 3C5C7E3E18970E78003823BB /* Enumerations */, - 604151E41A7998E300D5F9CA /* NSDate+RangeTests.m */, - D3F69A491AC1F7CB007C65C9 /* ARDefaultsTests.m */, - ); - name = "Util Tests"; - path = Util_Tests; - sourceTree = ""; - }; - 3C5C7E3E18970E78003823BB /* Enumerations */ = { - isa = PBXGroup; - children = ( - 3C5C7E3F18970E8B003823BB /* UIApplicationStateEnumTests.m */, - ); - path = Enumerations; - sourceTree = ""; - }; - 3C7880B918B9080B00595E30 /* Notifications */ = { - isa = PBXGroup; - children = ( - 3C7880BA18B9081C00595E30 /* ARNotificationView.h */, - 3C7880BB18B9081C00595E30 /* ARNotificationView.m */, - ); - path = Notifications; - sourceTree = ""; - }; - 3CA37E781910070600B06E81 /* Favorites */ = { - isa = PBXGroup; - children = ( - 3CA37E791910072C00B06E81 /* ARHeartStatus.h */, - ); - path = Favorites; - sourceTree = ""; - }; - 3CAED1791880268E00840608 /* Networking Tests */ = { - isa = PBXGroup; - children = ( - 5E1A3AA11C93760E0047329E /* Live Auctions */, - 3CAED17A1880269E00840608 /* API Modules */, - 3CF144B518E4802400B1A764 /* ARSystemTimeTests.m */, - 3C2E6C5B192262A3009DAB28 /* ARRouterTests.m */, - 5E86A6161F73183B00D00302 /* AFHTTPRequestOperationJSONTests.m */, - ); - name = "Networking Tests"; - path = Networking_Tests; - sourceTree = ""; - }; - 3CAED17A1880269E00840608 /* API Modules */ = { - isa = PBXGroup; - children = ( - 3CAED17B188026AC00840608 /* ARUserManagerTests.m */, - 3C6BDCBC18E0AEF60028EF5D /* ArtsyAPI+PrivateTests.m */, - 3CF144AA18E460BE00B1A764 /* ArtsyAPI+SystemTimeTests.m */, - 3CB37D981922483100089A1D /* ArtsyAPI+ErrorHandlers.m */, - 5EC27DCB1F6AFBC000D2A794 /* ArtsyAPI+GraphQLTests.m */, - ); - name = "API Modules"; - path = API_Modules; - sourceTree = ""; - }; - 3CB97D8D18870979008C44FE /* View Controller Tests */ = { - isa = PBXGroup; - children = ( - 6036B1DF2033843900763E10 /* ARVIR */, - 6019A90B1C7F9D9C00E292FA /* Live Auction */, - 517201C01C6A239E007148B7 /* Auction */, - 60DCDAD41C65339600BB61D7 /* Components */, - 3CE75A0918B6366F00885355 /* Util */, - 3CCCC8921899673C008015DD /* Embedded */, - 3CCCC8911899672E008015DD /* Web Browsing */, - ); - name = "View Controller Tests"; - path = View_Controller_Tests; - sourceTree = ""; - }; - 3CCCC8911899672E008015DD /* Web Browsing */ = { - isa = PBXGroup; - children = ( - 3C6AEE26188F228600DD98FC /* ARInternalMobileWebViewControllerTests.m */, - 60A309A91AC99B47000783C1 /* ARInternalShareValidatorTests.m */, - D3ACE5381AEEF47C0053E0CE /* ARExternalWebBrowserViewControllerTests.m */, - 510261701BBE96BE002AB8BB /* ARAuctionWebViewControllerTests.m */, - ); - name = "Web Browsing"; - path = Web_Browsing; - sourceTree = ""; - }; - 3CCCC8921899673C008015DD /* Embedded */ = { - isa = PBXGroup; - children = ( - 342F965F76AA25C6C700FE1C /* ARNavigationButtonsViewControllerTests.m */, - ); - path = Embedded; - sourceTree = ""; - }; - 3CCCC89818996DC5008015DD /* Posts */ = { - isa = PBXGroup; - children = ( - 60A309A01AC98BF3000783C1 /* Article.h */, - 60A309A11AC98BF3000783C1 /* Article.m */, - ); - path = Posts; - sourceTree = ""; - }; - 3CE75A0918B6366F00885355 /* Util */ = { - isa = PBXGroup; - children = ( - 3CE75A0A18B6367F00885355 /* ARValueTransformerTests.m */, - 3CFBE33518C5848900C781D0 /* ARFileUtilsTests.m */, - 5EBDC94D19792C3A0082C514 /* ARNavigationControllerTests.m */, - ); - path = Util; - sourceTree = ""; - }; - 4953E8341668022E00A09726 /* Protocols */ = { - isa = PBXGroup; - children = ( - 4953E8351668026000A09726 /* ARPostAttachment.h */, - 29773A6F17B9749800FC89B3 /* ARHasImageBaseURL.h */, - ); - path = Protocols; - sourceTree = ""; - }; - 49A7723E165ADBF700BC6FD3 /* App */ = { - isa = PBXGroup; - children = ( - 5E47F34C1C3ECAA500EC0751 /* Artsy-Bridging-Header.h */, - 49BA7E121655ABE600C06572 /* ARAppDelegate.h */, - 49BA7E131655ABE600C06572 /* ARAppDelegate.m */, - 1A248BD9265C282400E41409 /* ARTArtsyNativeModule.h */, - 1A248BDA265C282400E41409 /* ARTArtsyNativeModule.m */, - 60A0E9FF1C5107DB002754A8 /* Routing */, - 60A0E9FE1C5107B2002754A8 /* Setup */, - 60A0E9FD1C510758002754A8 /* Force Touch */, - 60A0E9FB1C51070F002754A8 /* Analytics */, - 60A0E9FA1C5106EB002754A8 /* App UIActivities + Search */, - 60A0E9F91C5106CC002754A8 /* App Delegate Responsibilities */, - ); - path = App; - sourceTree = ""; - }; - 49BA7DF41655ABE600C06572 = { - isa = PBXGroup; - children = ( - 219967EB267B4B1C00ECA8E1 /* GoogleService-Info.plist */, - 60FFE3D5188E916C0012B485 /* Documentation */, - 49BA7E091655ABE600C06572 /* Artsy */, - B3ECE82B1819D1E6009F5C5B /* Artsy Tests */, - 1AD4F89C25FBBA85007FDB71 /* Artsy Stickers */, - FCB45B272746EF3700232337 /* ArtsyWidget */, - CB6AFF2C2793654E00D7DC82 /* BrazePushServiceExtension */, - 49BA7E021655ABE600C06572 /* Frameworks */, - 49BA7E001655ABE600C06572 /* Products */, - 33C6886033769A61A3E99B18 /* Pods */, - ); - sourceTree = ""; - }; - 49BA7E001655ABE600C06572 /* Products */ = { - isa = PBXGroup; - children = ( - 49BA7DFF1655ABE600C06572 /* Artsy.app */, - B3ECE8261819D1E6009F5C5B /* Artsy Tests.xctest */, - 1AD4F89B25FBBA85007FDB71 /* Artsy Stickers.appex */, - FCB45B222746EF3700232337 /* ArtsyWidgetExtension.appex */, - CB6AFF2B2793654E00D7DC82 /* BrazePushServiceExtension.appex */, - ); - name = Products; - sourceTree = ""; - }; - 49BA7E021655ABE600C06572 /* Frameworks */ = { - isa = PBXGroup; - children = ( - 1A0517C32746D93000248353 /* CoreServices.framework */, - CB8FF7C826C45D3400022DA3 /* AppTrackingTransparency.framework */, - CB8FF7C626C45D2100022DA3 /* StoreKit.framework */, - CB8FF7C326C45CFC00022DA3 /* AdServices.framework */, - 60A22B241FF308C000443BC3 /* ARKit.framework */, - 60D312461EA6CFD000B13E59 /* ReplayKit.framework */, - 512AB35A1BD7C7A100F92B9A /* CoreSpotlight.framework */, - 60476F4B1AD87DB200670502 /* UIKit.framework */, - 60935A451A69CFEE00129CE1 /* WebKit.framework */, - 60892CEC16B9A849004C1B47 /* Accelerate.framework */, - 494F16BC17BEDA8E00204F1D /* Accounts.framework */, - 49473F2C17BEDE1F004BF082 /* AdSupport.framework */, - 499C8CF41694D2D100039D32 /* AssetsLibrary.framework */, - 499C8CEB1694D28700039D32 /* AVFoundation.framework */, - 602DCDAD16C6B74D009EB10D /* CFNetwork.framework */, - 602DCDB116C6B75D009EB10D /* CoreData.framework */, - 602DCDAB16C6B6C1009EB10D /* CoreFoundation.framework */, - 49BA7E071655ABE600C06572 /* CoreGraphics.framework */, - 4981FB46169F6A16004D9CDD /* CoreImage.framework */, - 499C8CEE1694D28C00039D32 /* CoreMedia.framework */, - 4943331A166947A3005AB483 /* CoreText.framework */, - 499C8CF01694D29100039D32 /* CoreVideo.framework */, - 49BA7E051655ABE600C06572 /* Foundation.framework */, - 49473F2E17BEDFFD004BF082 /* iAd.framework */, - 60892CEE16B9A871004C1B47 /* ImageIO.framework */, - 60BC390718182227003F34E7 /* JavaScriptCore.framework */, - 602DCDB316C6B7A5009EB10D /* libicucore.A.dylib */, - 06E44EB8170235D8001B2EBF /* MessageUI.framework */, - 601C3183165838590013E061 /* MobileCoreServices.framework */, - 499C8CF21694D29900039D32 /* OpenGLES.framework */, - 6025B4481655FBA900845975 /* QuartzCore.framework */, - 602DCDAF16C6B752009EB10D /* Security.framework */, - 6025B42E1655FACA00845975 /* SenTestingKit.framework */, - 49473F2A17BEDDA4004BF082 /* Social.framework */, - 601C3185165838630013E061 /* SystemConfiguration.framework */, - 49BA7E031655ABE600C06572 /* UIKit.framework */, - B3ECE8271819D1E6009F5C5B /* XCTest.framework */, - 9434A9843098609F9F092F0D /* Pods.framework */, - DA8D5507586C1A8D7D25B02D /* libPods-Artsy.a */, - 482115D14BD4E126B81B3A2B /* libPods-Artsy Tests.a */, - FCB45B232746EF3700232337 /* WidgetKit.framework */, - FCB45B252746EF3700232337 /* SwiftUI.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; - 49BA7E091655ABE600C06572 /* Artsy */ = { - isa = PBXGroup; - children = ( - 49A7723E165ADBF700BC6FD3 /* App */, - 608B2F5B1657CF600046956C /* App Resources */, - 608B2F7E1657D3B40046956C /* Categories */, - 608B2F5F1657D11F0046956C /* Constants */, - 608B2F6B1657D1A00046956C /* Models */, - 60838EB2177351DD00869F6E /* Navigation Transitions */, - 60F82FC21657FBEE0076AEAE /* Networking */, - 60438F801782E9A300C1B63B /* Protocols */, - 608B2F751657D3220046956C /* Resources */, - 60327DCA1987AD140075B399 /* Tooling */, - 608B2F5A1657CED10046956C /* View Controllers */, - 608B2F821657D4780046956C /* Views */, - ); - path = Artsy; - sourceTree = ""; - }; - 517201C01C6A239E007148B7 /* Auction */ = { - isa = PBXGroup; - children = ( - 51F696081C6E55E0002B2E35 /* SaleViewModelTests.swift */, - 5EACFACA1C752771004112FF /* SaleArtworkViewModelTests.swift */, - 517201C31C6A239E007148B7 /* AuctionBiddersNetworkModel.swift */, - 517201C51C6A239E007148B7 /* AuctionSaleNetworkModelTests.swift */, - 51B4BA441C6A24490014A394 /* AuctionInformationViewControllerTests.swift */, - ); - path = Auction; - sourceTree = ""; - }; - 5E1A3AA11C93760E0047329E /* Live Auctions */ = { - isa = PBXGroup; - children = ( - 5E1A3A9F1C93760A0047329E /* LiveAuctionSocketCommunicatorSpec.swift */, - 5E6A16921C98A914004DB29B /* LiveAuctionStateManagerSpec.swift */, - 5E174F5B1CADB35800657743 /* LiveAuctionStateReconcilerSpec.swift */, - 5E88414F1CB3462100A33BCE /* LiveAuctionStaticDataFetcherSpec.swift */, - 60D70DE31D01F420008888D1 /* LiveAuctionLotViewModelSpecs.swift */, - ); - name = "Live Auctions"; - sourceTree = ""; - }; - 5E31524D1C90C8FD00C544D5 /* Live Auctions */ = { - isa = PBXGroup; - children = ( - 5E31524E1C90C97300C544D5 /* LiveAuctionSocketCommunicator.swift */, - 5E956E561CD24700005C2332 /* StarscreamExtensions.swift */, - ); - name = "Live Auctions"; - sourceTree = ""; - }; - 5E3816FD1CBEEF7100477B17 /* Lot List */ = { - isa = PBXGroup; - children = ( - 5E3816F51CBECEA500477B17 /* LiveAuctionLotListViewController.swift */, - 5E3816F71CBED2E100477B17 /* LiveAuctionLotListStickyCellCollectionViewLayout.swift */, - 5E3816F91CBEDDF900477B17 /* LotListCollectionViewCell.swift */, - 5E288EA81CC0219A00A974AA /* LotListCollectionViewCell+Private.swift */, - ); - name = "Lot List"; - sourceTree = ""; - }; - 5E47F34B1C3EC98200EC0751 /* Auction */ = { - isa = PBXGroup; - children = ( - 5102616D1BBE8324002AB8BB /* ARAuctionWebViewController.h */, - 5102616E1BBE8324002AB8BB /* ARAuctionWebViewController.m */, - 5EA7BC2A1C60024D009C52C9 /* Networking */, - 60C1C3111C5F9C6500EC98EE /* Auction Presentation */, - 51DCC6C71C60E26800455309 /* AuctionInformationViewController.swift */, - ); - name = Auction; - sourceTree = ""; - }; - 5E47F3521C4433BF00EC0751 /* Auction */ = { - isa = PBXGroup; - children = ( - CB42B64D181092480069A801 /* ARCountdownView.h */, - CB42B64E181092480069A801 /* ARCountdownView.m */, - 5E47F3551C4435C100EC0751 /* AuctionTitleView.swift */, - 5E47F35A1C4444A900EC0751 /* SaleViewModel.swift */, - 5EAD26591D09E038003826C9 /* SaleAuctionStatus.swift */, - 5EACFAC81C750E2F004112FF /* SaleArtworkViewModel.swift */, - 5E20BB641C62BF8300C6D781 /* AuctionColors.swift */, - 5E20BB661C62C00D00C6D781 /* AuctionCircularButtons.swift */, - ); - name = Auction; - sourceTree = ""; - }; - 5EA7BC2A1C60024D009C52C9 /* Networking */ = { - isa = PBXGroup; - children = ( - 5EA7BC281C600144009C52C9 /* AuctionSaleNetworkModel.swift */, - 5EA7BC301C612454009C52C9 /* AuctionBiddersNetworkModel.swift */, - ); - name = Networking; - sourceTree = ""; - }; - 5EFB45701F2280B000328A6B /* Queries */ = { - isa = PBXGroup; - children = ( - 5EFB45731F22830F00328A6B /* static_sale_data.graphql */, - ); - name = Queries; - sourceTree = ""; - }; - 600249F0166CFCCE007E6E9A /* Core */ = { - isa = PBXGroup; - children = ( - 60A4A63D1D05C924005946EF /* UIViewController+BlurredStatusView.swift */, - 60289227176BE98C00512977 /* ARViewInRoomViewController.h */, - 60289228176BE98C00512977 /* ARViewInRoomViewController.m */, - ); - path = Core; - sourceTree = ""; - }; - 60026AEF1BDE3ED60040257C /* Webview Caching */ = { - isa = PBXGroup; - children = ( - 60026AF01BDE3EFB0040257C /* ARWebViewCacheHost.h */, - 60026AF11BDE3EFB0040257C /* ARWebViewCacheHost.m */, - ); - name = "Webview Caching"; - sourceTree = ""; - }; - 6002C2611CC512B700E249B2 /* Categories */ = { - isa = PBXGroup; - children = ( - 54289FED18AA7F4E00681E49 /* UINavigationController_InnermostTopViewControllerSpec.m */, - ); - name = Categories; - sourceTree = ""; - }; - 6008A58F16D8155C007E8E26 /* Utilities */ = { - isa = PBXGroup; - children = ( - 3C48E20E1965AC640077A80B /* ARCustomEigenLabels.h */, - 3C48E20F1965AC640077A80B /* ARCustomEigenLabels.m */, - 5E50987B18F82FCF001AC704 /* AROfflineView.h */, - 5E50987C18F82FCF001AC704 /* AROfflineView.m */, - 602BC087168E0C0D00069FDB /* ARReusableLoadingView.h */, - 602BC088168E0C0D00069FDB /* ARReusableLoadingView.m */, - E676A62918F3421600B9AF2C /* ARSeparatorViews.h */, - E676A62A18F3421600B9AF2C /* ARSeparatorViews.m */, - E67655241900660500F9A704 /* ARWhitespaceGobbler.h */, - E67655251900660500F9A704 /* ARWhitespaceGobbler.m */, - ); - path = Utilities; - sourceTree = ""; - }; - 6019A9041C7E648700E292FA /* Live Auctions */ = { - isa = PBXGroup; - children = ( - 6021A4D91CEB6761007760C6 /* Storyboards */, - 60ED31231C8F76550071DD89 /* View Models */, - 601E31A91C80A53400D09F73 /* Resources */, - 6019A90A1C7F976700E292FA /* Communications */, - 6019A9091C7F975F00E292FA /* Views */, - 5E3816FD1CBEEF7100477B17 /* Lot List */, - 60FBAA501CC688F7005ED890 /* LiveAuctionViewController.swift */, - 5E925EAB1E68823C00A504D6 /* LiveAuctionSaleViewController.swift */, - 5EE9A3E41D131F6C0014A3C9 /* LiveAuctionLoadingView.swift */, - 6019A9051C7E64B700E292FA /* LiveAuctionLotSetViewController.swift */, - 5E70AA8D1DF5C7B1002847E9 /* LiveAuctionCurrentLotCTAPositionManager.swift */, - 5EA012881CAC3B0C009D9AFE /* LiveAuctionLotViewController.swift */, - 5E55CAB21D9D8014005D0D73 /* LiveAuctionLotBidHistoryGestureController.swift */, - 5E8585F81CF743D800B2B487 /* LiveAuctionSaleLotsDataSource.swift */, - 60AF60C81CB2D8BD0041B430 /* LiveAuctionPlaceMaxBidViewController.swift */, - 5EA0128A1CAC3B55009D9AFE /* LiveAuctionBidHistoryViewController.swift */, - 60794B9B1D0112ED0062C3F8 /* LiveAuctionsAdminViewController.swift */, - ); - name = "Live Auctions"; - sourceTree = ""; - }; - 6019A9091C7F975F00E292FA /* Views */ = { - isa = PBXGroup; - children = ( - 60F242F11CB3AA7300387AA1 /* LiveAuctionBidButton.swift */, - 608AFFF01CB681AD00534754 /* LiveBidProgressOverlayView.swift */, - 6021D1B91CB7D2E800C475C1 /* AuctionLotMetadataStackScrollView.swift */, - 60C2CBEE1CC11433009B30CA /* LiveAuctionToolbarView.swift */, - 5E1DDF181CE22C0700DFEE2A /* SimpleProgressView.swift */, - 229364D21EC65CDC00D2045E /* SaleStatusView.swift */, - 5E1DDF1A1CE2340900DFEE2A /* LiveAuctionCurrentLotView.swift */, - 5E5F495D1D00BC7700E7CD6E /* LiveAuctionLotCollectionViewLayoutType.swift */, - 5EFEF1C51CEB6CC000E3AAB2 /* LiveAuctionFancyLotCollectionViewLayout.swift */, - 5E5F495F1D00BF3D00E7CD6E /* LiveAuctionPlainLotCollectionViewLayout.swift */, - 5EF8407D1CECDFFD006248D7 /* LiveAuctionLotCollectionViewLayoutAttributes.swift */, - 5EFEF1C71CEB7C5800E3AAB2 /* LiveAuctionLotCollectionViewDataSource.swift */, - 5EF840791CEB7DAA006248D7 /* LiveAuctionLotImageCollectionViewCell.swift */, - 5E1BF7451EEB0B2900A9ED63 /* SaleOnHoldOverlayView.swift */, - ); - name = Views; - sourceTree = ""; - }; - 6019A90A1C7F976700E292FA /* Communications */ = { - isa = PBXGroup; - children = ( - 60ED312C1C8F776B0071DD89 /* LiveAuctionSalesPerson.swift */, - 5E0DD14A1C9764420037F9E4 /* LiveAuctionStateManager.swift */, - 5EC8C67F1CA5C5FC00571B21 /* LiveActionStateReconciler.swift */, - 5E88414D1CB3445A00A33BCE /* LiveAuctionStaticDataFetcher.swift */, - 5E925EAD1E6882D400A504D6 /* LiveAuctionStaticDataFetcher+Stubs.swift */, - ); - name = Communications; - sourceTree = ""; - }; - 6019A90B1C7F9D9C00E292FA /* Live Auction */ = { - isa = PBXGroup; - children = ( - 60B8D1221CBB7BEA006C3E42 /* Views */, - 5E3816FE1CC1570A00477B17 /* LiveAuctionLotListViewControllerTests.swift */, - 60CB547B1CC8F3CC0094DCE5 /* LiveAuctionViewControllerTests.swift */, - 5E1BF7471EEB236E00A9ED63 /* SaleOnHoldOverlayViewTests.swift */, - 6019A90C1C7F9EF600E292FA /* LiveAuctionLotSetViewControllerTests.swift */, - 5E70AA8F1DF5D4FE002847E9 /* LiveAuctionCurrentLotCTAPositionManagerTests.swift */, - 5E3817001CC1572100477B17 /* LiveAuctionLotListStickyCellCollectionViewLayoutTests.swift */, - 60ED311E1C8F73450071DD89 /* LiveAuctionLotViewControllerTests.swift */, - 5E7598041D9D92F20084AAEC /* LiveAuctionLotBidHistoryGestureControllerTests.swift */, - 60ED31201C8F74670071DD89 /* FakeSalesPerson.swift */, - 60AF60CA1CB395600041B430 /* LiveAuctionBidButtonTests.swift */, - 60F242FB1CB3F32F00387AA1 /* LiveAuctionBidViewControllerTests.swift */, - 5E1DDF1E1CE2698B00DFEE2A /* LiveAuctionBiddingViewModelTests.swift */, - 5EE9A3E01D1211230014A3C9 /* BiddingIncrementSpecs.swift */, - 5EE9A3E21D1213D60014A3C9 /* LiveSalesPersonSpecs.swift */, - ); - name = "Live Auction"; - sourceTree = ""; - }; - 601AE261205D6E7D003DEAB1 /* Views */ = { - isa = PBXGroup; - children = ( - 60AFD9A620AC9FA50013D74B /* ARInformationView.h */, - 60AFD9A720AC9FA50013D74B /* ARInformationView.m */, - ); - path = Views; - sourceTree = ""; - }; - 601AE262205D6E92003DEAB1 /* AR */ = { - isa = PBXGroup; - children = ( - 6065B3282097598D004215DA /* ARVIRHorizontalPlaneInteractionController.h */, - 6065B3292097598D004215DA /* ARVIRHorizontalPlaneInteractionController.m */, - ); - path = AR; - sourceTree = ""; - }; - 601AE263205D6EAE003DEAB1 /* VCs */ = { - isa = PBXGroup; - children = ( - 60BCE10D1FF2B8A500071AA6 /* ARAugmentedFloorBasedVIRViewController.h */, - 60BCE10E1FF2B8A500071AA6 /* ARAugmentedFloorBasedVIRViewController.m */, - 6036B1DC20337EC700763E10 /* ARAugmentedVIRSetupViewController.h */, - 6036B1DD20337EC700763E10 /* ARAugmentedVIRSetupViewController.m */, - ); - path = VCs; - sourceTree = ""; - }; - 601E31A91C80A53400D09F73 /* Resources */ = { - isa = PBXGroup; - children = ( - 601E31AA1C80A55F00D09F73 /* live_auctions_static.json */, - 5E956E581CD2AD6E005C2332 /* live_auctions_socket.json */, - 6019A9071C7E76EF00E292FA /* LiveAuctionsAssets.xcassets */, - ); - name = Resources; - sourceTree = ""; - }; - 601E31AD1C80E32B00D09F73 /* Models */ = { - isa = PBXGroup; - children = ( - 601E31AE1C80E35600D09F73 /* LiveAuctionLot.h */, - 601E31AF1C80E35600D09F73 /* LiveAuctionLot.m */, - 5EE9A3DB1D11F6810014A3C9 /* BidIncrementStrategy.h */, - 5EE9A3DC1D11F6810014A3C9 /* BidIncrementStrategy.m */, - 60B6E5961C88BEF3003B1D46 /* LiveSale.h */, - 60B6E5971C88BEF3003B1D46 /* LiveSale.m */, - 60FC2CB91C8DF29900ACD78F /* LiveEvent.h */, - 60FC2CBA1C8DF29900ACD78F /* LiveEvent.m */, - 5E4F17461CD80FD800AEB6BD /* LiveBidder.h */, - 5E4F17471CD80FD800AEB6BD /* LiveBidder.m */, - 60FC2CBE1C8F704D00ACD78F /* SaleStatusType.swift */, - ); - name = Models; - path = ../Models/API_Models; - sourceTree = ""; - }; - 601EC32A1FAA764F00DD0CC4 /* Views */ = { - isa = PBXGroup; - children = ( - 60903CD6175CF27D002AB800 /* ARAdminTableViewCell.h */, - 60903CD7175CF27D002AB800 /* ARAdminTableViewCell.m */, - 60903CD3175CF23F002AB800 /* ARTickedTableViewCell.h */, - 60903CD4175CF23F002AB800 /* ARTickedTableViewCell.m */, - 60903CD0175CF095002AB800 /* ARAnimatedTickView.h */, - 60903CD1175CF095002AB800 /* ARAnimatedTickView.m */, - ); - path = Views; - sourceTree = ""; - }; - 601EC32B1FAA765C00DD0CC4 /* Networking */ = { - isa = PBXGroup; - children = ( - 60F9B08D1D83255800DBAC8C /* ARAdminNetworkModel.h */, - 60F9B08E1D83255800DBAC8C /* ARAdminNetworkModel.m */, - ); - path = Networking; - sourceTree = ""; - }; - 6021A4D91CEB6761007760C6 /* Storyboards */ = { - isa = PBXGroup; - children = ( - 601E31AD1C80E32B00D09F73 /* Models */, - 602F03461CB2912D008A999D /* LiveAuctions.storyboard */, - ); - name = Storyboards; - sourceTree = ""; - }; - 6021D1B61CB7C6CF00C475C1 /* Core */ = { - isa = PBXGroup; - children = ( - 6021D1B71CB7C6F800C475C1 /* TextStack.swift */, - ); - name = Core; - sourceTree = ""; - }; - 602C09B71B5E5CBE003681D3 /* AFNetworking */ = { - isa = PBXGroup; - children = ( - 602C09B81B5E5CE5003681D3 /* AFHTTPRequestOperation+JSON.h */, - 602C09B91B5E5CE6003681D3 /* AFHTTPRequestOperation+JSON.m */, - ); - name = AFNetworking; - sourceTree = ""; - }; - 602F03481CB291E0008A999D /* Tooling */ = { - isa = PBXGroup; - children = ( - 602F03491CB291EC008A999D /* StoryboardConstants.swift */, - 602F034A1CB291EC008A999D /* StoryboardImages.swift */, - ); - name = Tooling; - sourceTree = ""; - }; - 60327DCA1987AD140075B399 /* Tooling */ = { - isa = PBXGroup; - children = ( - 602F03481CB291E0008A999D /* Tooling */, - 60026AEF1BDE3ED60040257C /* Webview Caching */, - 60327DCB1987AD240075B399 /* ARDispatchManager.h */, - 60327DCC1987AD240075B399 /* ARDispatchManager.m */, - ); - path = Tooling; - sourceTree = ""; - }; - 6036B1DF2033843900763E10 /* ARVIR */ = { - isa = PBXGroup; - children = ( - 5E0AD37724BE455C00FD54A0 /* greyscaleImage.jpg */, - 6036B1E0203384DC00763E10 /* ARAugmentRealitySetupViewControllerSpec.m */, - 604E081F2051DDF700785717 /* ARAugmentedVIRViewControllerSpec.m */, - 5E0AD37524BE453600FD54A0 /* ARAugmentedRealityConfigSpec.m */, - ); - path = ARVIR; - sourceTree = ""; - }; - 60438F801782E9A300C1B63B /* Protocols */ = { - isa = PBXGroup; - children = ( - 60A7B1B017B26DCD003DC094 /* ARFeedHostItem.h */, - CB355E8217CAB0B3002A798D /* ARFollowable.h */, - E676B2EF18D207910057B4E1 /* ARShareableObject.h */, - ); - path = Protocols; - sourceTree = ""; - }; - 60438F811782ED4A00C1B63B /* Social */ = { - isa = PBXGroup; - children = ( - 49EF164516C568EA00460BD7 /* Profile.h */, - 49EF164616C568EA00460BD7 /* Profile.m */, - 608B2F6D1657D1D10046956C /* User.h */, - 608B2F6E1657D1D10046956C /* User.m */, - ); - path = Social; - sourceTree = ""; - }; - 60438F821782ED6000C1B63B /* Artwork Metadata */ = { - isa = PBXGroup; - children = ( - 491A4DE0168E4343003B2246 /* Gene.h */, - CB879D0A180746C900E2D8EC /* AuctionLot.h */, - CB879D0B180746C900E2D8EC /* AuctionLot.m */, - 491A4DE1168E4343003B2246 /* Gene.m */, - 4953E8301668021D00A09726 /* Image.h */, - 4953E8311668021D00A09726 /* Image.m */, - ); - name = "Artwork Metadata"; - path = Artwork_Metadata; - sourceTree = ""; - }; - 60438F831782ED6A00C1B63B /* Application */ = { - isa = PBXGroup; - children = ( - 3CF144A518E45F6C00B1A764 /* SystemTime.h */, - 3CF144A618E45F6C00B1A764 /* SystemTime.m */, - ); - path = Application; - sourceTree = ""; - }; - 60438F841782ED8600C1B63B /* Partner Metadata */ = { - isa = PBXGroup; - children = ( - 499A588C16658CA9004B0E2F /* Partner.h */, - 499A588D16658CAA004B0E2F /* Partner.m */, - 49EC62161778AF100020D648 /* PartnerShow.h */, - 49EC62171778AF100020D648 /* PartnerShow.m */, - 499A5892166683AB004B0E2F /* Artist.h */, - 499A5893166683AB004B0E2F /* Artist.m */, - 60B6F13C16638815007C9587 /* Artwork.h */, - 60B6F13D16638815007C9587 /* Artwork.m */, - 83F9D57E1AD6FDE0000BCC77 /* Location.h */, - 83F9D57F1AD6FDE0000BCC77 /* Location.m */, - ); - name = "Partner Metadata"; - path = Partner_Metadata; - sourceTree = ""; - }; - 605191911C7525A50002E11A /* Serif Nav */ = { - isa = PBXGroup; - children = ( - 605191961C7526200002E11A /* navigation_more_arrow_vertical@2x.png */, - 605191921C7525AF0002E11A /* serif_modal_close@2x.png */, - 605191941C7525D50002E11A /* navigation_more_arrow_horizontal@2x.png */, - ); - name = "Serif Nav"; - sourceTree = ""; - }; - 60838EB2177351DD00869F6E /* Navigation Transitions */ = { - isa = PBXGroup; - children = ( - 609A82EE17A10C5C00AFDF13 /* ARNavigationTransitionController.h */, - 609A82EF17A10C5C00AFDF13 /* ARNavigationTransitionController.m */, - 609A82F917A1147800AFDF13 /* ARNavigationTransition.h */, - 609A82FA17A1147800AFDF13 /* ARNavigationTransition.m */, - 6099F905178F24750004EF04 /* ARDefaultNavigationTransition.h */, - 6099F906178F24750004EF04 /* ARDefaultNavigationTransition.m */, - ); - name = "Navigation Transitions"; - path = Navigation_Transitions; - sourceTree = ""; - }; - 608B2F5A1657CED10046956C /* View Controllers */ = { - isa = PBXGroup; - children = ( - 7F9C7EEF2221FE0700F6967E /* Map */, - 60BCE10A1FF2B24800071AA6 /* ARViewInRoom */, - 83FF73BA1CB87D64002B53FA /* RefinementOptions */, - 342F91DD9B57A51A8352877C /* Util */, - 5E47F34B1C3EC98200EC0751 /* Auction */, - 6019A9041C7E648700E292FA /* Live Auctions */, - 342F9FE0B50F629107FA5E5A /* Generics */, - 60903CC5175CE588002AB800 /* Admin */, - 60B9D00F17834A35006E498A /* Web Browsing */, - 600249F0166CFCCE007E6E9A /* Core */, - 5E4386171D0764ED0034E671 /* SerifModalWebNavigationController.swift */, - 1A0517C52746DC9100248353 /* ARNativeTabsManager.h */, - 1A0517C62746DC9100248353 /* ARNativeTabsManager.m */, - ); - name = "View Controllers"; - path = View_Controllers; - sourceTree = ""; - }; - 608B2F5B1657CF600046956C /* App Resources */ = { - isa = PBXGroup; - children = ( - 60A3099C1AC8AD6A000783C1 /* Artsy.entitlements */, - 51E576081BFFA16C00A146C1 /* Artsy.Store.entitlements */, - 49BA7E0B1655ABE600C06572 /* Artsy-Info.plist */, - 49BA7E0C1655ABE600C06572 /* InfoPlist.strings */, - 60E719FD1B4C6032008948FA /* Launch Screen.xib */, - ); - name = "App Resources"; - path = App_Resources; - sourceTree = ""; - }; - 608B2F5F1657D11F0046956C /* Constants */ = { - isa = PBXGroup; - children = ( - 608B2F601657D1500046956C /* ARDefaults.h */, - 608B2F611657D1500046956C /* ARDefaults.m */, - 60B6F0F01662AADF007C9587 /* ARAppConstants.h */, - 60B6F0F11662AADF007C9587 /* ARAppConstants.m */, - ); - path = Constants; - sourceTree = ""; - }; - 608B2F6B1657D1A00046956C /* Models */ = { - isa = PBXGroup; - children = ( - 60B6F14E16639607007C9587 /* API Models */, - 4953E8341668022E00A09726 /* Protocols */, - ); - path = Models; - sourceTree = ""; - }; - 608B2F751657D3220046956C /* Resources */ = { - isa = PBXGroup; - children = ( - E620C74719C746530064A0FF /* Images.xcassets */, - 3C4AE98B19094F74009C0E8B /* ViewInRoom */, - 3C4AE96C19094D8F009C0E8B /* Map Annotations */, - 608B703017D4A10F0088A56C /* Assets */, - ); - path = Resources; - sourceTree = ""; - }; - 608B2F7E1657D3B40046956C /* Categories */ = { - isa = PBXGroup; - children = ( - 602C09B71B5E5CBE003681D3 /* AFNetworking */, - 342F9C2C3D87889B79459CED /* Apple */, - 342F90A2E677A86747A25FD8 /* Artsy */, - 5E8585F61CF61E8F00B2B487 /* PanDirectionGestureRecognizer.swift */, - ); - path = Categories; - sourceTree = ""; - }; - 608B2F821657D4780046956C /* Views */ = { - isa = PBXGroup; - children = ( - 6021D1B61CB7C6CF00C475C1 /* Core */, - 3C7880B918B9080B00595E30 /* Notifications */, - 5E47F3521C4433BF00EC0751 /* Auction */, - 342F9D35D55EDEA5EA203296 /* Styled Subclasses */, - 6008A58F16D8155C007E8E26 /* Utilities */, - ); - path = Views; - sourceTree = ""; - }; - 608B703017D4A10F0088A56C /* Assets */ = { - isa = PBXGroup; - children = ( - CB6CE8EC24F9684400ED2843 /* Range@2x.png */, - CB6CE8ED24F9684400ED2843 /* Thumb.png */, - CB6CE8EB24F9684400ED2843 /* Thumb@2x.png */, - CB6CE8EE24F9684400ED2843 /* Track@2x.png */, - 604E08172051C5B200785717 /* ARVIRBack@2x.png */, - 604E08182051C5B200785717 /* ARVIRBack@3x.png */, - 604E08212051E9DF00785717 /* ARVIRPhone@2x.png */, - 604E08222051E9E000785717 /* ARVIRPhone@3x.png */, - 604E08192051C5B300785717 /* ARVIRRefresh@2x.png */, - 604E081A2051C5B400785717 /* ARVIRRefresh@3x.png */, - 518B421D1B57CF7100210A02 /* AttentionIcon@2x.png */, - 5EF9E1151C56D0B900CD80DB /* AuctionRefineCheck.png */, - 5EF9E1161C56D0B900CD80DB /* AuctionRefineCheck@2x.png */, - 608B703E17D4A1C70088A56C /* BackArrow_Highlighted@2x.png */, - 9D50B9542450CFB600A6DCD0 /* BackChevron.png */, - 9D50B9552450CFB600A6DCD0 /* BackChevron@2x.png */, - 9D50B9532450CFB500A6DCD0 /* BackChevron@3x.png */, - 6082C5B22044A90B00F00635 /* Chevron_White_Left@2x.png */, - 6082C5B32044A90C00F00635 /* Chevron_White_Left@3x.png */, - 5E80CA7F2093C29400BCFD82 /* CircleCheckGreen.png */, - 5E80CA812093C29500BCFD82 /* CircleCheckGreen@2x.png */, - 5E80CA7C2093C29300BCFD82 /* CircleCheckGreen@3x.png */, - 5E80CA7D2093C29300BCFD82 /* CircleXRed.png */, - 5E80CA802093C29400BCFD82 /* CircleXRed@2x.png */, - 5E80CA7E2093C29300BCFD82 /* CircleXRed@3x.png */, - 5E6BA6E81C56B5D700B942C1 /* CircularCancelButton.png */, - 5E6BA6E71C56B5D700B942C1 /* CircularCancelButton@2x.png */, - 5E20BB691C62C81600C6D781 /* CircularInfoButton.png */, - 5E20BB681C62C81600C6D781 /* CircularInfoButton@2x.png */, - 608B706217D4A1C80088A56C /* CloseButtonLarge@2x.png */, - E6F84CFE1A0A920600BF99A3 /* CloseButtonLargeHighlighted@2x.png */, - 1CC9EB9B1CC76CDD00A74E3C /* followButton.png */, - 1CC9EB9C1CC76CDD00A74E3C /* followButton@2x.png */, - 1CC9EB9D1CC76CDD00A74E3C /* followButton@3x.png */, - 1CC9EB9E1CC76CDD00A74E3C /* followButtonChecked.png */, - 1CC9EB9F1CC76CDD00A74E3C /* followButtonChecked@2x.png */, - 1CC9EBA01CC76CDD00A74E3C /* followButtonChecked@3x.png */, - 608B704917D4A1C70088A56C /* FooterBackground@2x.png */, - 1CFA4EB31E5C4B6B00D44A5A /* full_logo_black_large@2x.png */, - 1CFA4EB41E5C4B6B00D44A5A /* full_logo_black_medium@2x.png */, - 1CFA4EB51E5C4B6B00D44A5A /* full_logo_black_small@2x.png */, - E66A0A8219C2125400ECEB1A /* full_logo_white_large@2x.png */, - 1C02A2091CADA80D008B4F6C /* full_logo_white_medium@2x.png */, - E60673B119BE4E8C00EF05EB /* full_logo_white_small@2x.png */, - 66A43C641CE470C400FFD6ED /* Hash.png */, - 66A43C651CE470C400FFD6ED /* Hash@2x.png */, - 66A43C661CE470C400FFD6ED /* Hash@3x.png */, - 608B705117D4A1C70088A56C /* MoreArrow@2x.png */, - 5E4E32AA1E53884E00C7F724 /* paddle.png */, - 5E4E32AB1E53884E00C7F724 /* paddle@2x.png */, - 5E4E32AC1E53884E00C7F724 /* paddle@3x.png */, - 51DA12241B596035001B6F2A /* RefreshIcon@2x.png */, - 1C5AAEB21CD87D9B00515B73 /* SearchButton.png */, - 1C5AAEB31CD87D9B00515B73 /* SearchButton@2x.png */, - 1C5AAEB41CD87D9B00515B73 /* SearchButton@3x.png */, - 605002E717D9F5DC00C090B8 /* SmallMoreVerticalArrow.png */, - 605002E817D9F5DC00C090B8 /* SmallMoreVerticalArrow@2x.png */, - 60E719FF1B4C60A0008948FA /* Launch */, - 605191911C7525A50002E11A /* Serif Nav */, - ); - path = Assets; - sourceTree = ""; - }; - 60903CC5175CE588002AB800 /* Admin */ = { - isa = PBXGroup; - children = ( - 601EC32B1FAA765C00DD0CC4 /* Networking */, - 601EC32A1FAA764F00DD0CC4 /* Views */, - 60903CC9175CE766002AB800 /* ARAdminSettingsViewController.h */, - 60903CCA175CE766002AB800 /* ARAdminSettingsViewController.m */, - 5E407DF51DF7390B00999533 /* AREchoContentsViewController.h */, - 5E407DF61DF7390B00999533 /* AREchoContentsViewController.m */, - 601EC3271FAA6C6E00DD0CC4 /* ARAdminTableViewController.h */, - 601EC3281FAA6C6E00DD0CC4 /* ARAdminTableViewController.m */, - ); - path = Admin; - sourceTree = ""; - }; - 60A0E9F91C5106CC002754A8 /* App Delegate Responsibilities */ = { - isa = PBXGroup; - children = ( - 60431FB618042A1E000118D7 /* ARAppNotificationsDelegate.h */, - 60431FB718042A1E000118D7 /* ARAppNotificationsDelegate.m */, - ); - name = "App Delegate Responsibilities"; - sourceTree = ""; - }; - 60A0E9FA1C5106EB002754A8 /* App UIActivities + Search */ = { - isa = PBXGroup; - children = ( - 0C9332281BA1FA6B00F3CE95 /* ARUserActivity.h */, - 0C9332291BA1FA6B00F3CE95 /* ARUserActivity.m */, - 514E56471BA0BABA008A0DF6 /* ARAppActivityContinuationDelegate.h */, - 514E56481BA0BABA008A0DF6 /* ARAppActivityContinuationDelegate.m */, - ); - name = "App UIActivities + Search"; - sourceTree = ""; - }; - 60A0E9FB1C51070F002754A8 /* Analytics */ = { - isa = PBXGroup; - children = ( - 5EFE2BE21910FC81003B5EEA /* ARAppDelegate+Analytics.h */, - 5EFE2BE31910FC81003B5EEA /* ARAppDelegate+Analytics.m */, - 6088B75217D1DBAC00E4BB67 /* ARAnalyticsConstants.h */, - 6088B75317D1DBAC00E4BB67 /* ARAnalyticsConstants.m */, - ); - name = Analytics; - sourceTree = ""; - }; - 60A0E9FD1C510758002754A8 /* Force Touch */ = { - isa = PBXGroup; - children = ( - 60BC92F11BBEC89B00D13E56 /* ARApplicationShortcutItemDelegate.h */, - 60BC92F21BBEC89B00D13E56 /* ARApplicationShortcutItemDelegate.m */, - ); - name = "Force Touch"; - sourceTree = ""; - }; - 60A0E9FE1C5107B2002754A8 /* Setup */ = { - isa = PBXGroup; - children = ( - 51DCC6C41C5F924500455309 /* ARFonts.h */, - 608B2F5D1657D0500046956C /* main.m */, - 5170C50B1BBAC1090043E601 /* ARMacros.h */, - 60903CC2175CE21A002AB800 /* AROptions.h */, - 60903CC3175CE21A002AB800 /* AROptions.m */, - 607BF5A91C2413810034B519 /* ARAppStatus.h */, - 607BF5AA1C2413810034B519 /* ARAppStatus.m */, - 51F2C5F21CEE8A7700B881BE /* ARAppDelegate+Emission.h */, - 51F2C5F31CEE8A7700B881BE /* ARAppDelegate+Emission.m */, - CBF74083250ACDC5004048D3 /* ARAppDelegate+Echo.h */, - CBF74084250ACDC5004048D3 /* ARAppDelegate+Echo.m */, - ); - name = Setup; - sourceTree = ""; - }; - 60A0E9FF1C5107DB002754A8 /* Routing */ = { - isa = PBXGroup; - children = ( - B91C4D8C24F6893F00F5F177 /* ARScreenPresenterModule.h */, - B91C4D8D24F6893F00F5F177 /* ARScreenPresenterModule.m */, - B9A039442553FE47002E010D /* ARModalViewController.h */, - B9A039452553FE47002E010D /* ARModalViewController.m */, - 5E830A501E969B1800A56C75 /* ArtsyEcho.h */, - 5E830A511E969B1800A56C75 /* ArtsyEcho.m */, - 1AC7920F251A42CF00F50228 /* EchoNew.json */, - ); - name = Routing; - sourceTree = ""; - }; - 60A168CD20647951008A086C /* Resources */ = { - isa = PBXGroup; - children = ( - 6037340320CF1BFF0017A4D9 /* ARVIRShadow.png */, - 6016120120B7446700FD54B0 /* ARVIRModalClose.png */, - 6016120220B7446800FD54B0 /* ARVIRModalClose@2x.png */, - 6016120320B7446800FD54B0 /* ARVIRModalClose@3x.png */, - 609A42B920C1D3F000B1B933 /* ARVIRTick.png */, - 609A42BA20C1D3F100B1B933 /* ARVIRTick@2x.png */, - 609A42BB20C1D3F100B1B933 /* ARVIRTick@3x.png */, - 60A168CE20647965008A086C /* ar_vir_opening_frame.jpg */, - ); - name = Resources; - path = "New Group"; - sourceTree = ""; - }; - 60B6F13B16638797007C9587 /* API Modules */ = { - isa = PBXGroup; - children = ( - 604166B316C1D55000CFBD2F /* ArtsyAPI+Private.h */, - 60745DE8165802D9006CE156 /* ARUserManager.h */, - 60745DE9165802D9006CE156 /* ARUserManager.m */, - 604166AF16C1D46F00CFBD2F /* ArtsyAPI+CurrentUserFunctions.h */, - 604166B016C1D47000CFBD2F /* ArtsyAPI+CurrentUserFunctions.m */, - 607D754817C239E700CA1D41 /* ArtsyAPI+Following.h */, - 607D754917C239E700CA1D41 /* ArtsyAPI+Following.m */, - 837CEC821C876B7C00A7E0E1 /* ArtsyAPI+Notifications.h */, - 837CEC831C876B7C00A7E0E1 /* ArtsyAPI+Notifications.m */, - 600415C717C4ECE2003C7974 /* ArtsyAPI+RelatedModels.h */, - 600415C817C4ECE2003C7974 /* ArtsyAPI+RelatedModels.m */, - 600A734117DE3F3F00E21233 /* ArtsyAPI+DeviceTokens.h */, - 600A734217DE3F3F00E21233 /* ArtsyAPI+DeviceTokens.m */, - B375E5F51812207D005FC680 /* ArtsyAPI+Sales.h */, - B375E5F61812207D005FC680 /* ArtsyAPI+Sales.m */, - 5EB7734C259148B900E5CE94 /* ArtsyAPI+Pages.h */, - 5EB7734D259148B900E5CE94 /* ArtsyAPI+Pages.m */, - 3CEE0B5D18A16EA200FEA6E6 /* ArtsyAPI+Profiles.h */, - 3CEE0B5E18A16EA200FEA6E6 /* ArtsyAPI+Profiles.m */, - 3CF144AC18E460EF00B1A764 /* ArtsyAPI+SystemTime.h */, - 3CF144AD18E460EF00B1A764 /* ArtsyAPI+SystemTime.m */, - 3CB37D95192246B500089A1D /* ArtsyAPI+ErrorHandlers.h */, - 3CB37D96192246B500089A1D /* ArtsyAPI+ErrorHandlers.m */, - 608AABDA1B3884C600855A1C /* ARKeychainable.h */, - 608AABDB1B3884C600855A1C /* ARKeychainable.m */, - ); - name = "API Modules"; - path = API_Modules; - sourceTree = ""; - }; - 60B6F14E16639607007C9587 /* API Models */ = { - isa = PBXGroup; - children = ( - 3CA37E781910070600B06E81 /* Favorites */, - 3CCCC89818996DC5008015DD /* Posts */, - CBB469CD181F1EED00B5692B /* Auctions */, - 60438F841782ED8600C1B63B /* Partner Metadata */, - 60438F831782ED6A00C1B63B /* Application */, - 60438F821782ED6000C1B63B /* Artwork Metadata */, - 60438F811782ED4A00C1B63B /* Social */, - 342F9453C931C592D4F8A2AA /* Fair */, - ); - name = "API Models"; - path = API_Models; - sourceTree = ""; - }; - 60B8D1221CBB7BEA006C3E42 /* Views */ = { - isa = PBXGroup; - children = ( - 60B8D1231CBB7C1D006C3E42 /* TextStackTests.swift */, - 6030253D1CBBB7B500B93583 /* AuctionLotMetadataStackScrollViewTests.swift */, - 5EF8407F1CED0C5F006248D7 /* LiveAuctionFancyLotCollectionViewLayoutTests.swift */, - 5EE9A3E61D132DBC0014A3C9 /* LiveAuctionLoadingViewSpec.swift */, - ); - name = Views; - sourceTree = ""; - }; - 60B9D00F17834A35006E498A /* Web Browsing */ = { - isa = PBXGroup; - children = ( - 60D90A0617C2182F0073D5B9 /* ARExternalWebBrowserViewController.h */, - 60D90A0717C2182F0073D5B9 /* ARExternalWebBrowserViewController.m */, - 60D90A0917C218930073D5B9 /* ARInternalMobileWebViewController.h */, - 60D90A0A17C218930073D5B9 /* ARInternalMobileWebViewController.m */, - 60A309A61AC999DE000783C1 /* ARInternalShareValidator.h */, - 60A309A71AC999DE000783C1 /* ARInternalShareValidator.m */, - ); - name = "Web Browsing"; - path = Web_Browsing; - sourceTree = ""; - }; - 60BCE10A1FF2B24800071AA6 /* ARViewInRoom */ = { - isa = PBXGroup; - children = ( - 60A168CD20647951008A086C /* Resources */, - 60BCE10B1FF2B8A500071AA6 /* ARAugmentedRealityConfig.h */, - 60BCE10C1FF2B8A500071AA6 /* ARAugmentedRealityConfig.m */, - 601AE262205D6E92003DEAB1 /* AR */, - 601AE261205D6E7D003DEAB1 /* Views */, - 601AE263205D6EAE003DEAB1 /* VCs */, - 60BF0C4C204736FE0017D9BA /* Nodes */, - ); - name = ARViewInRoom; - path = ARVIR; - sourceTree = ""; - }; - 60BF0C4C204736FE0017D9BA /* Nodes */ = { - isa = PBXGroup; - children = ( - 60BF0C4D204737110017D9BA /* SCNArtworkNode.h */, - 60BF0C4E204737110017D9BA /* SCNArtworkNode.m */, - 6065B32B209776EA004215DA /* ARSCNWallNode.h */, - 6065B32C209776EA004215DA /* ARSCNWallNode.m */, - ); - path = Nodes; - sourceTree = ""; - }; - 60C1C3111C5F9C6500EC98EE /* Auction Presentation */ = { - isa = PBXGroup; - children = ( - 60C1C3161C5FA34400EC98EE /* ARSerifNavigationViewController.h */, - 60C1C3171C5FA34400EC98EE /* ARSerifNavigationViewController.m */, - ); - name = "Auction Presentation"; - sourceTree = ""; - }; - 60DCDAD41C65339600BB61D7 /* Components */ = { - isa = PBXGroup; - children = ( - 60DCDAD51C6533A900BB61D7 /* ARSerifNavigationViewControllerSpec.m */, - ); - name = Components; - sourceTree = ""; - }; - 60E719FF1B4C60A0008948FA /* Launch */ = { - isa = PBXGroup; - children = ( - 60E71A001B4C60AC008948FA /* Artsy_Logo.png */, - ); - name = Launch; - sourceTree = ""; - }; - 60E738721C64AC7C00AC381B /* Analytics Tests */ = { - isa = PBXGroup; - children = ( - ); - name = "Analytics Tests"; - sourceTree = ""; - }; - 60ED31231C8F76550071DD89 /* View Models */ = { - isa = PBXGroup; - children = ( - 5E1DDF1C1CE24FBF00DFEE2A /* LiveAuctionBiddingViewModel.swift */, - 60ED31241C8F76800071DD89 /* LiveAuctionLotViewModel.swift */, - 60ED31261C8F76AB0071DD89 /* LiveAuctionEventViewModel.swift */, - 60ED312A1C8F76CB0071DD89 /* LiveAuctionViewModel.swift */, - 5EE9A3DE1D11F9F20014A3C9 /* LiveAuctionBidViewModel.swift */, - ); - name = "View Models"; - sourceTree = ""; - }; - 60F82FC21657FBEE0076AEAE /* Networking */ = { - isa = PBXGroup; - children = ( - 5EFB45701F2280B000328A6B /* Queries */, - 5E31524D1C90C8FD00C544D5 /* Live Auctions */, - 60A49F5E1676559200B9B95D /* ARNetworkConstants.h */, - 60A49F5F1676559300B9B95D /* ARNetworkConstants.m */, - 601C317616582BA30013E061 /* ARRouter.h */, - B9A29FDE23EB2680006EE2EC /* ARReactPackagerHost.h */, - B9A29FDF23EB27BD006EE2EC /* ARReactPackagerHost.m */, - 601C317716582BA30013E061 /* ARRouter.m */, - 5E55295B1F1FC7A500455F8F /* ARRouter+GraphQL.h */, - 5E55295C1F1FC7A500455F8F /* ARRouter+GraphQL.m */, - 60B6F13716638785007C9587 /* ArtsyAPI.h */, - CB9E243F17CBC36F00773A9A /* ARAuthProviders.h */, - CB9E244017CBC36F00773A9A /* ARAuthProviders.m */, - 60B6F13816638785007C9587 /* ArtsyAPI.m */, - 60B6F13B16638797007C9587 /* API Modules */, - 342F93BE04F58F4AD75A8FDD /* Mantle_Extensions */, - 3CF144B218E47F9F00B1A764 /* ARSystemTime.h */, - 3CF144B318E47F9F00B1A764 /* ARSystemTime.m */, - 60863E451D0B49AE0053B51C /* ArtsyAPI+HEAD.h */, - 60863E461D0B49AE0053B51C /* ArtsyAPI+HEAD.m */, - ); - path = Networking; - sourceTree = ""; - }; - 60FFE3D5188E916C0012B485 /* Documentation */ = { - isa = PBXGroup; - children = ( - 600B8B441C4FCEEC00776F84 /* CHANGELOG.yml */, - 600B8B3C1C4FCEE000776F84 /* push_notifications.md */, - 600B8B3D1C4FCEE000776F84 /* welcome_to_eigen_beta.md */, - 600B8B3F1C4FCEE000776F84 /* thanks.md */, - 60FFE3D6188E91C50012B485 /* certs.md */, - 60FFE3D7188E91C50012B485 /* deploy_to_app_store.md */, - 60FFE3D8188E91C50012B485 /* deploy_to_beta.md */, - 60FFE3D9188E91C50012B485 /* getting_started.md */, - 60FFE3DA188E91C50012B485 /* README.md */, - 60A612B918969307008FC19D /* overview.md */, - ); - name = Documentation; - path = docs; - sourceTree = ""; - }; - 7F9C7EEF2221FE0700F6967E /* Map */ = { - isa = PBXGroup; - children = ( - 7F9C7EF02221FE2900F6967E /* AREigenMapContainerViewController.h */, - 7F9C7EF12221FE2900F6967E /* AREigenMapContainerViewController.m */, - ); - path = Map; - sourceTree = ""; - }; - 83FF73BA1CB87D64002B53FA /* RefinementOptions */ = { - isa = PBXGroup; - children = ( - 5E8A03B41C52B60900EAF18B /* RefinementOptionsViewController.swift */, - 5E088DAD1C58072B00C448D7 /* RefinementOptionsViewController+Private.swift */, - 83FF73B31CB87A74002B53FA /* RefinableType.swift */, - ); - name = RefinementOptions; - sourceTree = ""; - }; - B31BBE0F181EF9F7001C623C /* View Tests */ = { - isa = PBXGroup; - children = ( - E6B71BA21A129F1C00BBD2E2 /* Buttons */, - E67E1DB119475642004252E0 /* ARAnimatedTickViewTest.m */, - 342F9316E861BD2C6EBFA31A /* ORStackViewArtsyCategoriesTests.m */, - D35D9D5B1ACB4FF800E67A1D /* ARCustomEigenLabelTests.m */, - 609624C81CEF3304002F3F33 /* ARTextViewTests.m */, - ); - name = "View Tests"; - path = View_Tests; - sourceTree = ""; - }; - B31BBE10181EFA08001C623C /* Model Tests */ = { - isa = PBXGroup; - children = ( - 3C22227018C647CC00B7CE3A /* Data */, - 3C7A7FA618C6EDAB00E8D336 /* ArtworkTests.m */, - 3CCCC89C18997948008015DD /* FairTests.m */, - 3CEE0B6918A18CDA00FEA6E6 /* ProfileTests.m */, - B3ECE83B1819D1FD009F5C5B /* SaleArtworkTests.m */, - 3CA1E82418846B3A003C622D /* SaleTests.m */, - 3CF144A818E4607900B1A764 /* SystemTimeTests.m */, - D3C8C2051B66D2FF004CAD7F /* ARImageTests.m */, - 3C6CB60418ABC7BB008DFE3B /* UserTests.m */, - E6EC246018F7069300C89192 /* PartnerTests.m */, - ); - name = "Model Tests"; - path = Model_Tests; - sourceTree = ""; - }; - B3ECE82B1819D1E6009F5C5B /* Artsy Tests */ = { - isa = PBXGroup; - children = ( - 60E738721C64AC7C00AC381B /* Analytics Tests */, - 3C205B5718900091004280E0 /* App Tests */, - FCD47BD5274833CB003F27B8 /* ArtsyWidget */, - 3C3FEA8B188433CB00E1A16F /* Extensions */, - B31BBE10181EFA08001C623C /* Model Tests */, - 3CAED1791880268E00840608 /* Networking Tests */, - 0CE0FE251B8E29CC00A921FD /* Stubs */, - B3ECE82C1819D1E6009F5C5B /* Supporting Files */, - 3C5C7E3D18970E73003823BB /* Util Tests */, - 3CB97D8D18870979008C44FE /* View Controller Tests */, - B31BBE0F181EF9F7001C623C /* View Tests */, - ); - name = "Artsy Tests"; - path = Artsy_Tests; - sourceTree = ""; - }; - B3ECE82C1819D1E6009F5C5B /* Supporting Files */ = { - isa = PBXGroup; - children = ( - 6082B2041B46ADDE00953BC8 /* stubbed_image.png */, - E6718314194A595F001A5566 /* ARTestContext.h */, - E6718315194A595F001A5566 /* ARTestContext.m */, - E6B9FA7A18A97C0A00E961F9 /* stub.jpg */, - B3ECE82D1819D1E6009F5C5B /* Artsy_Tests-Info.plist */, - B3ECE82E1819D1E6009F5C5B /* InfoPlist.strings */, - B3ECE8331819D1E6009F5C5B /* Artsy_Tests-Prefix.pch */, - 51D141B51AF0F14B000091CF /* ARTestHelper.h */, - 51D141B61AF0F14B000091CF /* ARTestHelper.m */, - 5E20BB721C6557F400C6D781 /* Artsy-Tests-Bridging-Header.h */, - ); - name = "Supporting Files"; - path = Supporting_Files; - sourceTree = ""; - }; - CB6AFF2C2793654E00D7DC82 /* BrazePushServiceExtension */ = { - isa = PBXGroup; - children = ( - CB6AFF2D2793654E00D7DC82 /* NotificationService.swift */, - CB6AFF2F2793654E00D7DC82 /* Info.plist */, - ); - path = BrazePushServiceExtension; - sourceTree = ""; - }; - CBB469CD181F1EED00B5692B /* Auctions */ = { - isa = PBXGroup; - children = ( - B375E5F218121EEA005FC680 /* Sale.h */, - B375E5F318121EEA005FC680 /* Sale.m */, - B3EFC6371815B41C00F23540 /* BidderPosition.h */, - B3EFC6381815B41C00F23540 /* BidderPosition.m */, - CBB469CE181F1F1200B5692B /* Bid.h */, - CBB469CF181F1F1200B5692B /* Bid.m */, - B316E2F218170DF40086CCDB /* SaleArtwork.h */, - B316E2F318170DF40086CCDB /* SaleArtwork.m */, - B316E2F5181713110086CCDB /* Bidder.h */, - B316E2F6181713110086CCDB /* Bidder.m */, - 60647C651A8BB9AE00A45247 /* BuyersPremium.h */, - 60647C661A8BB9AE00A45247 /* BuyersPremium.m */, - ); - path = Auctions; - sourceTree = ""; - }; - E667F12318EC827B00503F50 /* Logging */ = { - isa = PBXGroup; - children = ( - E667F12618EC82AB00503F50 /* ARLogger.h */, - E667F12718EC82AB00503F50 /* ARLogger.m */, - E667F12018EC825D00503F50 /* ARHTTPRequestOperationLogger.h */, - E667F12118EC825D00503F50 /* ARHTTPRequestOperationLogger.m */, - E667F12A18EC889F00503F50 /* ARLogFormatter.h */, - E667F12B18EC889F00503F50 /* ARLogFormatter.m */, - ); - path = Logging; - sourceTree = ""; - }; - E676B2F318D2307D0057B4E1 /* Sharing Tests */ = { - isa = PBXGroup; - children = ( - E676B2F418D230A00057B4E1 /* ARURLItemProviderTests.m */, - E649708818D7762F009DB0C4 /* ARImageItemProviderTests.m */, - E611846F18D78068000FE4C9 /* ARMessageItemProviderTests.m */, - E611847118D7B4C4000FE4C9 /* ARSharingControllerTests.m */, - ); - name = "Sharing Tests"; - path = Sharing_Tests; - sourceTree = ""; - }; - E6B71BA11A129DA700BBD2E2 /* Buttons */ = { - isa = PBXGroup; - children = ( - 342F918CC4304843C82ED43C /* ARBidButton.h */, - 342F9629B03A1BEB6888BD4B /* ARBidButton.m */, - 600EE29C16B3003F002E9F9A /* ARNavigationButton.m */, - 600EE29D16B3003F002E9F9A /* ARNavigationButton.h */, - 5E79FCB91C768108003D5D65 /* ARNvagiationButton+Swift.swift */, - ); - path = Buttons; - sourceTree = ""; - }; - E6B71BA21A129F1C00BBD2E2 /* Buttons */ = { - isa = PBXGroup; - children = ( - B30FEF59181EEA47009E4EAD /* ARBidButtonTests.m */, - 3C28D3DA18BE180B00C846EA /* ARNavigationButtonTests.m */, - 5E79FCBB1C76856C003D5D65 /* NavigationButtonTests.swift */, - ); - path = Buttons; - sourceTree = ""; - }; - FC89B29E274C3AC5005F3F58 /* FeaturedArtworks */ = { - isa = PBXGroup; - children = ( - FC89B29F274C3ADB005F3F58 /* FeaturedArtworks.swift */, - FC89B2A1274C3AF7005F3F58 /* FeaturedArtworks+Entry.swift */, - FC89B2AF274C47E7005F3F58 /* FeaturedArtworks+LargeView.swift */, - FC89B2AD274C4695005F3F58 /* FeaturedArtworks+MediumView.swift */, - FC89B2A3274C3B03005F3F58 /* FeaturedArtworks+Provider.swift */, - FC89B2AB274C44C9005F3F58 /* FeaturedArtworks+SmallView.swift */, - FC89B2A5274C3B12005F3F58 /* FeaturedArtworks+Timeline.swift */, - FC89B2A7274C3B24005F3F58 /* FeaturedArtworks+View.swift */, - FC89B2A9274C3B30005F3F58 /* FeaturedArtworks+Widget.swift */, - ); - path = FeaturedArtworks; - sourceTree = ""; - }; - FC9DDAFD274D8F22005DEE85 /* LatestArticles */ = { - isa = PBXGroup; - children = ( - FC9DDAFE274D8F41005DEE85 /* LatestArticles.swift */, - FC9DDB00274D8F4E005DEE85 /* LatestArticles+Entry.swift */, - FC9DDB0E274D8FBB005DEE85 /* LatestArticles+LargeView.swift */, - FC9DDB02274D8F5A005DEE85 /* LatestArticles+MediumView.swift */, - FC9DDB04274D8F7E005DEE85 /* LatestArticles+Provider.swift */, - FC9DDB06274D8F8C005DEE85 /* LatestArticles+SmallView.swift */, - FC9DDB08274D8F96005DEE85 /* LatestArticles+Timeline.swift */, - FC9DDB0A274D8FA1005DEE85 /* LatestArticles+View.swift */, - FC9DDB0C274D8FAE005DEE85 /* LatestArticles+Widget.swift */, - ); - path = LatestArticles; - sourceTree = ""; - }; - FCB45B272746EF3700232337 /* ArtsyWidget */ = { - isa = PBXGroup; - children = ( - FCB45B282746EF3700232337 /* ArtsyWidgets.swift */, - FCB45B2A2746EF3900232337 /* Assets.xcassets */, - FC89B29E274C3AC5005F3F58 /* FeaturedArtworks */, - FCD1340A27483ED90065074D /* Fixtures.swift */, - FCB45B352746F02C00232337 /* FullBleed */, - FCB45B2C2746EF3900232337 /* Info.plist */, - FC9DDAFD274D8F22005DEE85 /* LatestArticles */, - FCB45B3E2746F25C00232337 /* Models */, - FCB45B452746F6ED00232337 /* Shared */, - ); - path = ArtsyWidget; - sourceTree = ""; - }; - FCB45B352746F02C00232337 /* FullBleed */ = { - isa = PBXGroup; - children = ( - FCB45B3C2746F0F100232337 /* FullBleed.swift */, - FCB45B3A2746F0CC00232337 /* FullBleed+Entry.swift */, - FCB45B382746F0B800232337 /* FullBleed+Provider.swift */, - FC6118A32747068300612581 /* FullBleed+Timeline.swift */, - FCB45B362746F0A500232337 /* FullBleed+View.swift */, - FCB45B432746F42800232337 /* FullBleed+Widget.swift */, - ); - path = FullBleed; - sourceTree = ""; - }; - FCB45B3E2746F25C00232337 /* Models */ = { - isa = PBXGroup; - children = ( - FC9DDB10274D8FFF005DEE85 /* Article.swift */, - FC9DDB14274D9C1F005DEE85 /* ArticleParser.swift */, - FC9DDB12274D9A32005DEE85 /* ArticleStore.swift */, - FCB45B412746F28700232337 /* Artist.swift */, - FCB45B3F2746F26E00232337 /* Artwork.swift */, - FC61189F2747001B00612581 /* ArtworkImage.swift */, - FC61189D2746FE2300612581 /* ArtworkStore.swift */, - FC6118A52747091400612581 /* VolleyClient.swift */, - FC6118A72747091500612581 /* VolleyMetric.swift */, - FC6118A62747091400612581 /* VolleyPayload.swift */, - ); - path = Models; - sourceTree = ""; - }; - FCB45B452746F6ED00232337 /* Shared */ = { - isa = PBXGroup; - children = ( - FCB45B462746F6FD00232337 /* PrimaryText.swift */, - FC6118A1274704FA00612581 /* Schedule.swift */, - FCB45B482746F72800232337 /* SecondaryText.swift */, - FCB45B4A2746F81F00232337 /* WidgetUrl.swift */, - FC592EF42798A8B4001A4FD6 /* ImageUrl.swift */, - ); - path = Shared; - sourceTree = ""; - }; - FCD47BD5274833CB003F27B8 /* ArtsyWidget */ = { - isa = PBXGroup; - children = ( - FCD47BD7274833EF003F27B8 /* ArtworkTests.swift */, - FCD47BD6274833EF003F27B8 /* ScheduleTests.swift */, - ); - path = ArtsyWidget; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 1AD4F89A25FBBA85007FDB71 /* Artsy Stickers */ = { - isa = PBXNativeTarget; - buildConfigurationList = 1AD4F8A725FBBA89007FDB71 /* Build configuration list for PBXNativeTarget "Artsy Stickers" */; - buildPhases = ( - 1AD4F89925FBBA85007FDB71 /* Resources */, - 27C58CCF38FF0D3E62C41E10 /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "Artsy Stickers"; - productName = "Artsy Stickers"; - productReference = 1AD4F89B25FBBA85007FDB71 /* Artsy Stickers.appex */; - productType = "com.apple.product-type.app-extension.messages-sticker-pack"; - }; - 49BA7DFE1655ABE600C06572 /* Artsy */ = { - isa = PBXNativeTarget; - buildConfigurationList = 49BA7E231655ABE600C06572 /* Build configuration list for PBXNativeTarget "Artsy" */; - buildPhases = ( - 271FD00586DDEF4925626060 /* [CP] Check Pods Manifest.lock */, - 49BA7DFB1655ABE600C06572 /* Sources */, - 49BA7DFC1655ABE600C06572 /* Frameworks */, - 5150685F1BCC176300018352 /* Generate Compilation DB */, - 49BA7DFD1655ABE600C06572 /* Resources */, - 5A71C447DFCD4F537CFB14BA /* [CP] Embed Pods Frameworks */, - 3DC40A4868886E7A205B706E /* [CP] Copy Pods Resources */, - 1AD4F8A325FBBA89007FDB71 /* Embed App Extensions */, - ); - buildRules = ( - ); - dependencies = ( - 1AD4F8A125FBBA89007FDB71 /* PBXTargetDependency */, - FCB45B2E2746EF3900232337 /* PBXTargetDependency */, - CB6AFF312793654E00D7DC82 /* PBXTargetDependency */, - ); - name = Artsy; - productName = Artsy; - productReference = 49BA7DFF1655ABE600C06572 /* Artsy.app */; - productType = "com.apple.product-type.application"; - }; - B3ECE8251819D1E6009F5C5B /* Artsy Tests */ = { - isa = PBXNativeTarget; - buildConfigurationList = B3ECE8361819D1E7009F5C5B /* Build configuration list for PBXNativeTarget "Artsy Tests" */; - buildPhases = ( - 98CDFEECF1F38475EE807C06 /* [CP] Check Pods Manifest.lock */, - B3ECE8221819D1E6009F5C5B /* Sources */, - B3ECE8231819D1E6009F5C5B /* Frameworks */, - B3ECE8241819D1E6009F5C5B /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - B3ECE8351819D1E7009F5C5B /* PBXTargetDependency */, - ); - name = "Artsy Tests"; - productName = "Artsy Tests"; - productReference = B3ECE8261819D1E6009F5C5B /* Artsy Tests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; - CB6AFF2A2793654E00D7DC82 /* BrazePushServiceExtension */ = { - isa = PBXNativeTarget; - buildConfigurationList = CB6AFF362793654E00D7DC82 /* Build configuration list for PBXNativeTarget "BrazePushServiceExtension" */; - buildPhases = ( - CB6AFF272793654E00D7DC82 /* Sources */, - CB6AFF282793654E00D7DC82 /* Frameworks */, - CB6AFF292793654E00D7DC82 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = BrazePushServiceExtension; - productName = BrazePushServiceExtension; - productReference = CB6AFF2B2793654E00D7DC82 /* BrazePushServiceExtension.appex */; - productType = "com.apple.product-type.app-extension"; - }; - FCB45B212746EF3700232337 /* ArtsyWidgetExtension */ = { - isa = PBXNativeTarget; - buildConfigurationList = FCB45B332746EF3A00232337 /* Build configuration list for PBXNativeTarget "ArtsyWidgetExtension" */; - buildPhases = ( - FCB45B1E2746EF3700232337 /* Sources */, - FCB45B1F2746EF3700232337 /* Frameworks */, - FCB45B202746EF3700232337 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = ArtsyWidgetExtension; - productName = ArtsyWidgetExtension; - productReference = FCB45B222746EF3700232337 /* ArtsyWidgetExtension.appex */; - productType = "com.apple.product-type.app-extension"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 49BA7DF61655ABE600C06572 /* Project object */ = { - isa = PBXProject; - attributes = { - CLASSPREFIX = AR; - LastSwiftUpdateCheck = 1320; - LastUpgradeCheck = 1210; - ORGANIZATIONNAME = Artsy; - TargetAttributes = { - 1AD4F89A25FBBA85007FDB71 = { - CreatedOnToolsVersion = 12.4; - DevelopmentTeam = 23KMWZ572J; - ProvisioningStyle = Automatic; - }; - 49BA7DFE1655ABE600C06572 = { - DevelopmentTeam = 23KMWZ572J; - LastSwiftMigration = 1100; - ProvisioningStyle = Automatic; - SystemCapabilities = { - com.apple.BackgroundModes = { - enabled = 1; - }; - com.apple.InterAppAudio = { - enabled = 0; - }; - com.apple.Keychain = { - enabled = 1; - }; - com.apple.Push = { - enabled = 1; - }; - com.apple.SafariKeychain = { - enabled = 1; - }; - com.apple.iCloud = { - enabled = 0; - }; - }; - }; - B3ECE8251819D1E6009F5C5B = { - DevelopmentTeam = 23KMWZ572J; - LastSwiftMigration = 1100; - TestTargetID = 49BA7DFE1655ABE600C06572; - }; - CB6AFF2A2793654E00D7DC82 = { - CreatedOnToolsVersion = 13.2.1; - DevelopmentTeam = 23KMWZ572J; - ProvisioningStyle = Automatic; - }; - FCB45B212746EF3700232337 = { - CreatedOnToolsVersion = 13.1; - DevelopmentTeam = 23KMWZ572J; - ProvisioningStyle = Automatic; - }; - }; - }; - buildConfigurationList = 49BA7DF91655ABE600C06572 /* Build configuration list for PBXProject "Artsy" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = 49BA7DF41655ABE600C06572; - productRefGroup = 49BA7E001655ABE600C06572 /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 49BA7DFE1655ABE600C06572 /* Artsy */, - B3ECE8251819D1E6009F5C5B /* Artsy Tests */, - 1AD4F89A25FBBA85007FDB71 /* Artsy Stickers */, - FCB45B212746EF3700232337 /* ArtsyWidgetExtension */, - CB6AFF2A2793654E00D7DC82 /* BrazePushServiceExtension */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 1AD4F89925FBBA85007FDB71 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 1AD4F89E25FBBA89007FDB71 /* Stickers.xcassets in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 49BA7DFD1655ABE600C06572 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 5E80CA822093C29500BCFD82 /* CircleCheckGreen@3x.png in Resources */, - 604E08232051E9E000785717 /* ARVIRPhone@2x.png in Resources */, - CB6CE8F024F9684400ED2843 /* Range@2x.png in Resources */, - 1CC9EBA61CC76CDD00A74E3C /* followButtonChecked@3x.png in Resources */, - 608B707B17D4A1C80088A56C /* FooterBackground@2x.png in Resources */, - 3C4AE99319094F96009C0E8B /* ViewInRoom_BaseNoBench@2x.png in Resources */, - 9D50B9572450CFB600A6DCD0 /* BackChevron.png in Resources */, - 5E80CA872093C29500BCFD82 /* CircleCheckGreen@2x.png in Resources */, - CB6CE8F124F9684400ED2843 /* Thumb.png in Resources */, - 6082C5B42044A90C00F00635 /* Chevron_White_Left@2x.png in Resources */, - 1CC9EBA41CC76CDD00A74E3C /* followButtonChecked.png in Resources */, - 1CFA4EB71E5C4B6B00D44A5A /* full_logo_black_medium@2x.png in Resources */, - 1CFA4EB61E5C4B6B00D44A5A /* full_logo_black_large@2x.png in Resources */, - E6F84CFF1A0A920600BF99A3 /* CloseButtonLargeHighlighted@2x.png in Resources */, - 604E081B2051C5B700785717 /* ARVIRBack@2x.png in Resources */, - 3C4AE97C19094DAA009C0E8B /* MapAnnotation_Artsy@2x.png in Resources */, - 1AC79210251A42D000F50228 /* EchoNew.json in Resources */, - 6082C5B52044A90C00F00635 /* Chevron_White_Left@3x.png in Resources */, - 601E31AB1C80A55F00D09F73 /* live_auctions_static.json in Resources */, - FC9DDAF5274D63ED005DEE85 /* Assets.xcassets in Resources */, - 5E4E32AE1E53884E00C7F724 /* paddle@2x.png in Resources */, - 60E71A011B4C60AC008948FA /* Artsy_Logo.png in Resources */, - 5E80CA832093C29500BCFD82 /* CircleXRed.png in Resources */, - E66A0A8319C2125400ECEB1A /* full_logo_white_large@2x.png in Resources */, - 9D50B9562450CFB600A6DCD0 /* BackChevron@3x.png in Resources */, - 60E719FE1B4C6032008948FA /* Launch Screen.xib in Resources */, - 1C5AAEB71CD87D9B00515B73 /* SearchButton@3x.png in Resources */, - 5E20BB6B1C62C81600C6D781 /* CircularInfoButton.png in Resources */, - 602F03471CB2912D008A999D /* LiveAuctions.storyboard in Resources */, - 604E08242051E9E000785717 /* ARVIRPhone@3x.png in Resources */, - 5E6BA6EA1C56B5D700B942C1 /* CircularCancelButton.png in Resources */, - 49BA7E0E1655ABE600C06572 /* InfoPlist.strings in Resources */, - 3C4AE99419094F96009C0E8B /* ViewInRoom_Bench@2x.png in Resources */, - 3C4AE99219094F96009C0E8B /* ViewInRoom_Base@2x.png in Resources */, - 609A42BD20C1D3F200B1B933 /* ARVIRTick@2x.png in Resources */, - 219967EC267B4B1C00ECA8E1 /* GoogleService-Info.plist in Resources */, - 609A42BC20C1D3F200B1B933 /* ARVIRTick.png in Resources */, - 66A43C691CE470C400FFD6ED /* Hash@3x.png in Resources */, - 605191931C7525AF0002E11A /* serif_modal_close@2x.png in Resources */, - 1C5AAEB61CD87D9B00515B73 /* SearchButton@2x.png in Resources */, - 1C5AAEB51CD87D9B00515B73 /* SearchButton.png in Resources */, - E60673B319BE4E8C00EF05EB /* full_logo_white_small@2x.png in Resources */, - 1CC9EBA21CC76CDD00A74E3C /* followButton@2x.png in Resources */, - 608B707017D4A1C80088A56C /* BackArrow_Highlighted@2x.png in Resources */, - 5E4E32AD1E53884E00C7F724 /* paddle.png in Resources */, - 3A6EBA7F22358DE60052D0C0 /* Emission.podspec.json in Resources */, - E620C74819C746530064A0FF /* Images.xcassets in Resources */, - 6016120420B7446800FD54B0 /* ARVIRModalClose.png in Resources */, - 1CFA4EB81E5C4B6B00D44A5A /* full_logo_black_small@2x.png in Resources */, - 5EF9E1181C56D0B900CD80DB /* AuctionRefineCheck@2x.png in Resources */, - 6019A9081C7E76EF00E292FA /* LiveAuctionsAssets.xcassets in Resources */, - 518B421E1B57CF7100210A02 /* AttentionIcon@2x.png in Resources */, - 6016120620B7446800FD54B0 /* ARVIRModalClose@3x.png in Resources */, - 1CC9EBA11CC76CDD00A74E3C /* followButton.png in Resources */, - 3C4AE99719094F96009C0E8B /* ViewInRoom_Wall@2x.png in Resources */, - 51E576091BFFA16C00A146C1 /* Artsy.Store.entitlements in Resources */, - 604E081C2051C5B700785717 /* ARVIRBack@3x.png in Resources */, - 3C4AE99519094F96009C0E8B /* ViewInRoom_Man_3@2x.png in Resources */, - 5E80CA852093C29500BCFD82 /* CircleCheckGreen.png in Resources */, - 605191971C7526200002E11A /* navigation_more_arrow_vertical@2x.png in Resources */, - 605191951C7525D50002E11A /* navigation_more_arrow_horizontal@2x.png in Resources */, - 5EF9E1171C56D0B900CD80DB /* AuctionRefineCheck.png in Resources */, - 51DA12251B596035001B6F2A /* RefreshIcon@2x.png in Resources */, - 6016120520B7446800FD54B0 /* ARVIRModalClose@2x.png in Resources */, - 9D50B9582450CFB600A6DCD0 /* BackChevron@2x.png in Resources */, - 5E20BB6A1C62C81600C6D781 /* CircularInfoButton@2x.png in Resources */, - 5E4E32AF1E53884E00C7F724 /* paddle@3x.png in Resources */, - 605002E917D9F5DC00C090B8 /* SmallMoreVerticalArrow.png in Resources */, - 605002EA17D9F5DC00C090B8 /* SmallMoreVerticalArrow@2x.png in Resources */, - 1C02A20A1CADA80D008B4F6C /* full_logo_white_medium@2x.png in Resources */, - 5EFB45741F22831000328A6B /* static_sale_data.graphql in Resources */, - 1CC9EBA51CC76CDD00A74E3C /* followButtonChecked@2x.png in Resources */, - CB6CE8EF24F9684400ED2843 /* Thumb@2x.png in Resources */, - 3C4AE99619094F96009C0E8B /* ViewInRoom_Wall_Right@2x.png in Resources */, - 6037340420CF1BFF0017A4D9 /* ARVIRShadow.png in Resources */, - 1CC9EBA31CC76CDD00A74E3C /* followButton@3x.png in Resources */, - CB6CE8F224F9684400ED2843 /* Track@2x.png in Resources */, - 608B709417D4A1C80088A56C /* CloseButtonLarge@2x.png in Resources */, - 5E6BA6E91C56B5D700B942C1 /* CircularCancelButton@2x.png in Resources */, - 66A43C671CE470C400FFD6ED /* Hash.png in Resources */, - 608B708317D4A1C80088A56C /* MoreArrow@2x.png in Resources */, - 604E081E2051C5B700785717 /* ARVIRRefresh@3x.png in Resources */, - 5E956E591CD2AD6E005C2332 /* live_auctions_socket.json in Resources */, - 609A42BE20C1D3F200B1B933 /* ARVIRTick@3x.png in Resources */, - 60A168CF20647965008A086C /* ar_vir_opening_frame.jpg in Resources */, - 5E80CA862093C29500BCFD82 /* CircleXRed@2x.png in Resources */, - 5E80CA842093C29500BCFD82 /* CircleXRed@3x.png in Resources */, - 66A43C681CE470C400FFD6ED /* Hash@2x.png in Resources */, - 604E081D2051C5B700785717 /* ARVIRRefresh@2x.png in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - B3ECE8241819D1E6009F5C5B /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 609E394F1CA01FBC0035C6FC /* LiveAuctionsAssets.xcassets in Resources */, - E6F84D001A0A920600BF99A3 /* CloseButtonLargeHighlighted@2x.png in Resources */, - 3C22227418C6487C00B7CE3A /* User_v0.data in Resources */, - 5E0AD37824BE455C00FD54A0 /* greyscaleImage.jpg in Resources */, - 3C22227618C64B4A00B7CE3A /* User_v1.data in Resources */, - 60FC2CBD1C8F677700ACD78F /* live_auctions_static.json in Resources */, - E676A62518EF5F6E00B9AF2C /* Artwork_v0.data in Resources */, - B3ECE8301819D1E6009F5C5B /* InfoPlist.strings in Resources */, - E6B9FA7B18A97C0A00E961F9 /* stub.jpg in Resources */, - E6F466E818EF52A800A09AFA /* Artwork_v1.data in Resources */, - 6082B2051B46ADDE00953BC8 /* stubbed_image.png in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CB6AFF292793654E00D7DC82 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - FCB45B202746EF3700232337 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - FCB45B2B2746EF3900232337 /* Assets.xcassets in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - 271FD00586DDEF4925626060 /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Artsy-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; - 3DC40A4868886E7A205B706E /* [CP] Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Artsy/Pods-Artsy-resources.sh", - "${PODS_CONFIGURATION_BUILD_DIR}/Appboy-iOS-SDK/AppboyUI.ContentCards.bundle", - "${PODS_CONFIGURATION_BUILD_DIR}/Appboy-iOS-SDK/Appboy.bundle", - "${PODS_CONFIGURATION_BUILD_DIR}/Appboy-iOS-SDK/AppboyUI.InAppMessage.bundle", - "${PODS_CONFIGURATION_BUILD_DIR}/Appboy-iOS-SDK/AppboyUI.NewsFeed.bundle", - "${PODS_ROOT}/Artsy+UIFonts/Pod/Assets/AGaramondPro-Bold.otf", - "${PODS_ROOT}/Artsy+UIFonts/Pod/Assets/AGaramondPro-BoldItalic.otf", - "${PODS_ROOT}/Artsy+UIFonts/Pod/Assets/AGaramondPro-Italic.otf", - "${PODS_ROOT}/Artsy+UIFonts/Pod/Assets/AGaramondPro-Regular.otf", - "${PODS_ROOT}/Artsy+UIFonts/Pod/Assets/AGaramondPro-Semibold.otf", - "${PODS_ROOT}/Artsy+UIFonts/Pod/Assets/AVG65lig.otf", - "${PODS_ROOT}/Artsy+UIFonts/Pod/Assets/ReactNativeAGaramondPro-Italic.otf", - "${PODS_ROOT}/Artsy+UIFonts/Pod/Assets/ReactNativeAGaramondPro-Regular.otf", - "${PODS_ROOT}/Artsy+UIFonts/Pod/Assets/ReactNativeAGaramondPro-Semibold.otf", - "${PODS_ROOT}/Artsy+UIFonts/Pod/Assets/Unica77LL-Italic.otf", - "${PODS_ROOT}/Artsy+UIFonts/Pod/Assets/Unica77LL-Medium.otf", - "${PODS_ROOT}/Artsy+UIFonts/Pod/Assets/Unica77LL-MediumItalic.otf", - "${PODS_ROOT}/Artsy+UIFonts/Pod/Assets/Unica77LL-Regular.otf", - "${PODS_ROOT}/Artsy+UILabels/Pod/Assets/Chevron_Black.png", - "${PODS_ROOT}/Artsy+UILabels/Pod/Assets/Chevron_Black@2x.png", - "${PODS_ROOT}/Extraction/Extraction/Assets/ARLoadFailureRetryIcon@2x.png", - "${PODS_CONFIGURATION_BUILD_DIR}/FBSDKCoreKit/FacebookSDKStrings.bundle", - "${PODS_ROOT}/GoogleSignIn/Resources/GoogleSignIn.bundle", - "${PODS_CONFIGURATION_BUILD_DIR}/MARKRangeSlider/MARKRangeSlider.bundle", - "${PODS_CONFIGURATION_BUILD_DIR}/NPKeyboardLayoutGuide/NPKeyboardLayoutGuide.bundle", - "${PODS_CONFIGURATION_BUILD_DIR}/RNImageCropPicker/QBImagePicker.bundle", - "${PODS_CONFIGURATION_BUILD_DIR}/React-Core/AccessibilityResources.bundle", - "${PODS_CONFIGURATION_BUILD_DIR}/Stripe/Stripe.bundle", - "${PODS_CONFIGURATION_BUILD_DIR}/TOCropViewController/TOCropViewControllerBundle.bundle", - ); - name = "[CP] Copy Pods Resources"; - outputPaths = ( - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AppboyUI.ContentCards.bundle", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Appboy.bundle", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AppboyUI.InAppMessage.bundle", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AppboyUI.NewsFeed.bundle", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AGaramondPro-Bold.otf", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AGaramondPro-BoldItalic.otf", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AGaramondPro-Italic.otf", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AGaramondPro-Regular.otf", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AGaramondPro-Semibold.otf", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AVG65lig.otf", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/ReactNativeAGaramondPro-Italic.otf", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/ReactNativeAGaramondPro-Regular.otf", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/ReactNativeAGaramondPro-Semibold.otf", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Unica77LL-Italic.otf", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Unica77LL-Medium.otf", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Unica77LL-MediumItalic.otf", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Unica77LL-Regular.otf", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Chevron_Black.png", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Chevron_Black@2x.png", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/ARLoadFailureRetryIcon@2x.png", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/FacebookSDKStrings.bundle", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/GoogleSignIn.bundle", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/MARKRangeSlider.bundle", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/NPKeyboardLayoutGuide.bundle", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/QBImagePicker.bundle", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AccessibilityResources.bundle", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Stripe.bundle", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/TOCropViewControllerBundle.bundle", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Artsy/Pods-Artsy-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; - 5150685F1BCC176300018352 /* Generate Compilation DB */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Generate Compilation DB"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "if type -p clang-compilation-database-tool > /dev/null 2>&1; then\n clang-compilation-database-tool collect \"${OBJECT_FILE_DIR_normal}\" > \"${SRCROOT}/compiler_commands.json\"\nfi"; - showEnvVarsInLog = 0; - }; - 5A71C447DFCD4F537CFB14BA /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Artsy/Pods-Artsy-frameworks.sh", - "${PODS_ROOT}/Mapbox-iOS-SDK/dynamic/Mapbox.framework", - "${BUILT_PRODUCTS_DIR}/MapboxMobileEvents/MapboxMobileEvents.framework", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/Flipper-DoubleConversion/double-conversion.framework/double-conversion", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/OpenSSL-Universal/OpenSSL.framework/OpenSSL", - ); - name = "[CP] Embed Pods Frameworks"; - outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Mapbox.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MapboxMobileEvents.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/double-conversion.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OpenSSL.framework", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Artsy/Pods-Artsy-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; - 98CDFEECF1F38475EE807C06 /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Artsy Tests-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 49BA7DFB1655ABE600C06572 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 5E88414E1CB3445A00A33BCE /* LiveAuctionStaticDataFetcher.swift in Sources */, - 51F2C5F41CEE8A7700B881BE /* ARAppDelegate+Emission.m in Sources */, - B3EFC6391815B41C00F23540 /* BidderPosition.m in Sources */, - 49BA7E141655ABE600C06572 /* ARAppDelegate.m in Sources */, - 1A0517C72746DC9100248353 /* ARNativeTabsManager.m in Sources */, - B375E5F418121EEA005FC680 /* Sale.m in Sources */, - 608B2F5E1657D0500046956C /* main.m in Sources */, - 608AABDC1B3884C600855A1C /* ARKeychainable.m in Sources */, - 608B2F621657D1500046956C /* ARDefaults.m in Sources */, - 600415C917C4ECE2003C7974 /* ArtsyAPI+RelatedModels.m in Sources */, - 3CF144A718E45F6C00B1A764 /* SystemTime.m in Sources */, - 608B2F6F1657D1D10046956C /* User.m in Sources */, - B9A0395C25540810002E010D /* UIView+ScrollToTop.m in Sources */, - 5EC929891C5FEAD10015133E /* UIViewController+Traits.swift in Sources */, - 516CDA6C1BB56611001C02B2 /* UIViewController+ARUserActivity.m in Sources */, - 60745DEA165802D9006CE156 /* ARUserManager.m in Sources */, - 5EE9A3DD1D11F6810014A3C9 /* BidIncrementStrategy.m in Sources */, - B375E5F71812207D005FC680 /* ArtsyAPI+Sales.m in Sources */, - 601C317816582BA30013E061 /* ARRouter.m in Sources */, - 6088B75417D1DBAC00E4BB67 /* ARAnalyticsConstants.m in Sources */, - 3CF144AE18E460EF00B1A764 /* ArtsyAPI+SystemTime.m in Sources */, - 83F9D5801AD6FDE0000BCC77 /* Location.m in Sources */, - 60ED312B1C8F76CB0071DD89 /* LiveAuctionViewModel.swift in Sources */, - 229364D31EC65CDC00D2045E /* SaleStatusView.swift in Sources */, - 0C93322A1BA1FA6B00F3CE95 /* ARUserActivity.m in Sources */, - 602F034C1CB291EC008A999D /* StoryboardImages.swift in Sources */, - 60A4A63E1D05C924005946EF /* UIViewController+BlurredStatusView.swift in Sources */, - 60A309AD1AC9A7C8000783C1 /* NSString+StringBetweenStrings.m in Sources */, - 3C7880BC18B9081C00595E30 /* ARNotificationView.m in Sources */, - 60863E471D0B49AE0053B51C /* ArtsyAPI+HEAD.m in Sources */, - 5EBA3E831DFF4CCB005B4BEE /* ARTwoWayDictionaryTransformer.m in Sources */, - B9A29FE023EB27BD006EE2EC /* ARReactPackagerHost.m in Sources */, - 60B6F0F21662AADF007C9587 /* ARAppConstants.m in Sources */, - 60C2CBEF1CC11433009B30CA /* LiveAuctionToolbarView.swift in Sources */, - 5EF8407E1CECDFFD006248D7 /* LiveAuctionLotCollectionViewLayoutAttributes.swift in Sources */, - 5EA0E74C1DCA3DD200CE9203 /* Interstellar+Artsy.swift in Sources */, - 49EC62181778AF100020D648 /* PartnerShow.m in Sources */, - 51DCC6C81C60E26800455309 /* AuctionInformationViewController.swift in Sources */, - 5E257E331ECDEB6600C62008 /* UIViewController+Popovers.m in Sources */, - 60B6F13916638785007C9587 /* ArtsyAPI.m in Sources */, - B91C4D8E24F6893F00F5F177 /* ARScreenPresenterModule.m in Sources */, - 60B6F13E16638815007C9587 /* Artwork.m in Sources */, - 5E1DDF191CE22C0700DFEE2A /* SimpleProgressView.swift in Sources */, - 60B6E5981C88BEF3003B1D46 /* LiveSale.m in Sources */, - 5E407DF71DF7390B00999533 /* AREchoContentsViewController.m in Sources */, - 60647C671A8BB9AE00A45247 /* BuyersPremium.m in Sources */, - 3CCCC8A51899B6F9008015DD /* FairOrganizer.m in Sources */, - 60D90A0817C2182F0073D5B9 /* ARExternalWebBrowserViewController.m in Sources */, - 5EC8C6801CA5C5FC00571B21 /* LiveActionStateReconciler.swift in Sources */, - 5E4962441CA1C7E800E77DD5 /* NSAttributedString+Additions.swift in Sources */, - CB879D0C180746C900E2D8EC /* AuctionLot.m in Sources */, - 499A588E16658CAA004B0E2F /* Partner.m in Sources */, - 5EFE2BE41910FC81003B5EEA /* ARAppDelegate+Analytics.m in Sources */, - 5E4386181D0764ED0034E671 /* SerifModalWebNavigationController.swift in Sources */, - 499A5894166683AC004B0E2F /* Artist.m in Sources */, - E667F12218EC825D00503F50 /* ARHTTPRequestOperationLogger.m in Sources */, - CBB469D0181F1F1200B5692B /* Bid.m in Sources */, - 5E925EAC1E68823C00A504D6 /* LiveAuctionSaleViewController.swift in Sources */, - 607BF5AB1C2413810034B519 /* ARAppStatus.m in Sources */, - 3CAA412F18D88F2E000EE867 /* UIViewController+InnermostTopViewController.m in Sources */, - 4953E8321668021D00A09726 /* Image.m in Sources */, - 5E3816F61CBECEA500477B17 /* LiveAuctionLotListViewController.swift in Sources */, - 5EA7BC391C612454009C52C9 /* AuctionBiddersNetworkModel.swift in Sources */, - CB42B64F181092480069A801 /* ARCountdownView.m in Sources */, - 5E8585F91CF743D800B2B487 /* LiveAuctionSaleLotsDataSource.swift in Sources */, - E676B2EB18D0CC330057B4E1 /* ARURLItemProvider.m in Sources */, - 5E288EA91CC0219A00A974AA /* LotListCollectionViewCell+Private.swift in Sources */, - 60A49F601676559300B9B95D /* ARNetworkConstants.m in Sources */, - 60431FB818042A1E000118D7 /* ARAppNotificationsDelegate.m in Sources */, - E676A62B18F3421600B9AF2C /* ARSeparatorViews.m in Sources */, - 5E20BB671C62C00D00C6D781 /* AuctionCircularButtons.swift in Sources */, - 600A734317DE3F3F00E21233 /* ArtsyAPI+DeviceTokens.m in Sources */, - 5435192E18A8E9420060F31E /* UIView+OldSchoolSnapshots.m in Sources */, - 60BCE10F1FF2B8A500071AA6 /* ARAugmentedRealityConfig.m in Sources */, - 5EB7734E259148B900E5CE94 /* ArtsyAPI+Pages.m in Sources */, - 5E3816FA1CBEDDF900477B17 /* LotListCollectionViewCell.swift in Sources */, - 491A4DE2168E4343003B2246 /* Gene.m in Sources */, - 602BC089168E0C0E00069FDB /* ARReusableLoadingView.m in Sources */, - 5E830A521E969B1800A56C75 /* ArtsyEcho.m in Sources */, - 6099F907178F24750004EF04 /* ARDefaultNavigationTransition.m in Sources */, - 60ED31251C8F76800071DD89 /* LiveAuctionLotViewModel.swift in Sources */, - 3CB37D97192246B500089A1D /* ArtsyAPI+ErrorHandlers.m in Sources */, - 5E26AF801CE66A7E00C67B7C /* Stringify.swift in Sources */, - E676B2EE18D11A9B0057B4E1 /* ARImageItemProvider.m in Sources */, - 5E4F17481CD80FD800AEB6BD /* LiveBidder.m in Sources */, - 5ED9EC021C458E9500C979A6 /* SwiftExtensions.swift in Sources */, - 607D754A17C239E700CA1D41 /* ArtsyAPI+Following.m in Sources */, - E67655261900660500F9A704 /* ARWhitespaceGobbler.m in Sources */, - CB9E244117CBC36F00773A9A /* ARAuthProviders.m in Sources */, - 5E956E571CD24700005C2332 /* StarscreamExtensions.swift in Sources */, - 601EC3291FAA6C6E00DD0CC4 /* ARAdminTableViewController.m in Sources */, - 609A82FB17A1147800AFDF13 /* ARNavigationTransition.m in Sources */, - 5E79FCBA1C768108003D5D65 /* ARNvagiationButton+Swift.swift in Sources */, - 600EE29E16B3003F002E9F9A /* ARNavigationButton.m in Sources */, - B9A039462553FE47002E010D /* ARModalViewController.m in Sources */, - 60F242F21CB3AA7300387AA1 /* LiveAuctionBidButton.swift in Sources */, - 3CF144B418E47F9F00B1A764 /* ARSystemTime.m in Sources */, - 5EFEF1C61CEB6CC000E3AAB2 /* LiveAuctionFancyLotCollectionViewLayout.swift in Sources */, - 5E8A03B51C52B60900EAF18B /* RefinementOptionsViewController.swift in Sources */, - 604166B116C1D47100CFBD2F /* ArtsyAPI+CurrentUserFunctions.m in Sources */, - 5E55CAB31D9D8014005D0D73 /* LiveAuctionLotBidHistoryGestureController.swift in Sources */, - 603B3AEB1774A25700BA5BD3 /* ARNavigationController.m in Sources */, - 49EF164716C568EA00460BD7 /* Profile.m in Sources */, - 5E8585F71CF61E8F00B2B487 /* PanDirectionGestureRecognizer.swift in Sources */, - 516CDA691BB55B54001C02B2 /* UIViewController+WithLoadedData.m in Sources */, - 60A309A81AC999DE000783C1 /* ARInternalShareValidator.m in Sources */, - B316E2F418170DF40086CCDB /* SaleArtwork.m in Sources */, - 60BCE1101FF2B8A500071AA6 /* ARAugmentedFloorBasedVIRViewController.m in Sources */, - 60BF0C4F204737110017D9BA /* SCNArtworkNode.m in Sources */, - 5EAD265A1D09E038003826C9 /* SaleAuctionStatus.swift in Sources */, - 5E3816F81CBED2E100477B17 /* LiveAuctionLotListStickyCellCollectionViewLayout.swift in Sources */, - E6A3500518AAEBFF0075398F /* NSKeyedUnarchiver+ErrorLogging.m in Sources */, - CBF74085250ACDC5004048D3 /* ARAppDelegate+Echo.m in Sources */, - 5E20BB651C62BF8300C6D781 /* AuctionColors.swift in Sources */, - 5EA0128B1CAC3B55009D9AFE /* LiveAuctionBidHistoryViewController.swift in Sources */, - 3C48E2101965AC640077A80B /* ARCustomEigenLabels.m in Sources */, - 5E1BF7461EEB0B2900A9ED63 /* SaleOnHoldOverlayView.swift in Sources */, - 60327DCD1987AD240075B399 /* ARDispatchManager.m in Sources */, - 60FC2CBB1C8DF29900ACD78F /* LiveEvent.m in Sources */, - 60D90A0B17C218930073D5B9 /* ARInternalMobileWebViewController.m in Sources */, - 609A82F017A10C5C00AFDF13 /* ARNavigationTransitionController.m in Sources */, - 5EA012891CAC3B0C009D9AFE /* LiveAuctionLotViewController.swift in Sources */, - 5E5F49601D00BF3D00E7CD6E /* LiveAuctionPlainLotCollectionViewLayout.swift in Sources */, - 60FBAA511CC688F7005ED890 /* LiveAuctionViewController.swift in Sources */, - 6019A9061C7E64B700E292FA /* LiveAuctionLotSetViewController.swift in Sources */, - 3CEE0B5F18A16EA200FEA6E6 /* ArtsyAPI+Profiles.m in Sources */, - 5102616F1BBE8324002AB8BB /* ARAuctionWebViewController.m in Sources */, - 5EBD44E01D07325300C60F9F /* UITableViewController+Animations.swift in Sources */, - 5E1DDF1D1CE24FBF00DFEE2A /* LiveAuctionBiddingViewModel.swift in Sources */, - 5EA250661C4EE95B001E4950 /* NSArray+Additions.m in Sources */, - 5EE9A3E51D131F6C0014A3C9 /* LiveAuctionLoadingView.swift in Sources */, - 1A248BDB265C282400E41409 /* ARTArtsyNativeModule.m in Sources */, - 5E1DDF1B1CE2340900DFEE2A /* LiveAuctionCurrentLotView.swift in Sources */, - 7F9C7EF22221FE2900F6967E /* AREigenMapContainerViewController.m in Sources */, - 60903CC4175CE21A002AB800 /* AROptions.m in Sources */, - 60903CCB175CE766002AB800 /* ARAdminSettingsViewController.m in Sources */, - 5E47F3561C4435C100EC0751 /* AuctionTitleView.swift in Sources */, - 5EA7BC291C600144009C52C9 /* AuctionSaleNetworkModel.swift in Sources */, - 5E55295D1F1FC7A500455F8F /* ARRouter+GraphQL.m in Sources */, - 608AFFF11CB681AD00534754 /* LiveBidProgressOverlayView.swift in Sources */, - 60903CD2175CF095002AB800 /* ARAnimatedTickView.m in Sources */, - 5E50987D18F82FCF001AC704 /* AROfflineView.m in Sources */, - 5EF8407A1CEB7DAA006248D7 /* LiveAuctionLotImageCollectionViewCell.swift in Sources */, - 5EE9A3DF1D11F9F20014A3C9 /* LiveAuctionBidViewModel.swift in Sources */, - 6065B32A2097598D004215DA /* ARVIRHorizontalPlaneInteractionController.m in Sources */, - 6021D1BA1CB7D2E800C475C1 /* AuctionLotMetadataStackScrollView.swift in Sources */, - 60903CD5175CF23F002AB800 /* ARTickedTableViewCell.m in Sources */, - 60903CD8175CF27D002AB800 /* ARAdminTableViewCell.m in Sources */, - 60289229176BE98C00512977 /* ARViewInRoomViewController.m in Sources */, - 5E0DD14B1C9764420037F9E4 /* LiveAuctionStateManager.swift in Sources */, - B316E2F7181713110086CCDB /* Bidder.m in Sources */, - 60ED31271C8F76AB0071DD89 /* LiveAuctionEventViewModel.swift in Sources */, - 83FF73B41CB87A74002B53FA /* RefinableType.swift in Sources */, - 602C09BA1B5E5CE6003681D3 /* AFHTTPRequestOperation+JSON.m in Sources */, - 5E5F495E1D00BC7700E7CD6E /* LiveAuctionLotCollectionViewLayoutType.swift in Sources */, - 5EBD44E21D074A7300C60F9F /* UILabel+Styling.swift in Sources */, - 6021D1B81CB7C6F800C475C1 /* TextStack.swift in Sources */, - 60026AF21BDE3EFB0040257C /* ARWebViewCacheHost.m in Sources */, - 60ED312D1C8F776B0071DD89 /* LiveAuctionSalesPerson.swift in Sources */, - 9D50B9522450CF6800A6DCD0 /* ARBackButton.m in Sources */, - 5EACFAC91C750E2F004112FF /* SaleArtworkViewModel.swift in Sources */, - 342F9CDD0CDC753B394F3CFC /* Fair.m in Sources */, - 601E31B01C80E35600D09F73 /* LiveAuctionLot.m in Sources */, - 342F9D3F000632CC30AC5260 /* ARNavigationButtonsViewController.m in Sources */, - 6036B1DE20337EC700763E10 /* ARAugmentedVIRSetupViewController.m in Sources */, - 60C1C3181C5FA34400EC98EE /* ARSerifNavigationViewController.m in Sources */, - 5EFEF1C81CEB7C5800E3AAB2 /* LiveAuctionLotCollectionViewDataSource.swift in Sources */, - 60F9B08F1D83255800DBAC8C /* ARAdminNetworkModel.m in Sources */, - 342F9D9296B47F66184FA760 /* NSDate+DateRange.m in Sources */, - 5E47F35B1C4444A900EC0751 /* SaleViewModel.swift in Sources */, - 60BC92F31BBEC89B00D13E56 /* ARApplicationShortcutItemDelegate.m in Sources */, - E667F12C18EC889F00503F50 /* ARLogFormatter.m in Sources */, - 342F961978DD1D771928472A /* UIDevice-Hardware.m in Sources */, - 5E79FCB11C7612D8003D5D65 /* Int+Metrification.swift in Sources */, - 6065B32D209776EA004215DA /* ARSCNWallNode.m in Sources */, - 837CEC841C876B7C00A7E0E1 /* ArtsyAPI+Notifications.m in Sources */, - 5E70AA8E1DF5C7B1002847E9 /* LiveAuctionCurrentLotCTAPositionManager.swift in Sources */, - 342F96505F255C0F443B5EAA /* UIViewController+SimpleChildren.m in Sources */, - 342F902302C1CF0FD342AB93 /* NSDate+Util.m in Sources */, - 342F9A60D7F0C30310535232 /* UIImage+ImageFromColor.m in Sources */, - 342F9A43E9B4295EF2CE07E2 /* UIViewController+FullScreenLoading.m in Sources */, - 342F91B952D170DCF5A0CDA4 /* UIImageView+AsyncImageLoading.m in Sources */, - E667F12918EC82AB00503F50 /* ARLogger.m in Sources */, - 60A309A21AC98BF3000783C1 /* Article.m in Sources */, - 342F9F54666BFDFF200E31AE /* UIView+HitTestExpansion.m in Sources */, - 514E56491BA0BABA008A0DF6 /* ARAppActivityContinuationDelegate.m in Sources */, - 5E31524F1C90C97300C544D5 /* LiveAuctionSocketCommunicator.swift in Sources */, - 342F979DA15866BB8A70CC23 /* ORStackView+ArtsyViews.m in Sources */, - 342F9667FC693B47498549FE /* UIApplicationStateEnum.m in Sources */, - 342F9D1673764FE7442062AC /* ARNetworkErrorManager.m in Sources */, - 342F995E23C13C290DEFF23D /* ARScrollNavigationChief.m in Sources */, - 342F9BDEE699AB7F9EA34E9F /* ARFileUtils.m in Sources */, - 342F9841DEB316C8E4E3C68B /* ARValueTransformer.m in Sources */, - E676B2F218D224000057B4E1 /* ARMessageItemProvider.m in Sources */, - 342F95D6D6422286C9F5A33A /* ARStandardDateFormatter.m in Sources */, - 342F9061CC93426E7F8579A2 /* ARFeedImageLoader.m in Sources */, - 342F906FD605E75158D32876 /* ARSharingController.m in Sources */, - 602F034B1CB291EC008A999D /* StoryboardConstants.swift in Sources */, - 60FC2CBF1C8F704D00ACD78F /* SaleStatusType.swift in Sources */, - 60794B9C1D0112ED0062C3F8 /* LiveAuctionsAdminViewController.swift in Sources */, - 60AFD9A820AC9FA50013D74B /* ARInformationView.m in Sources */, - 342F94077E27A45531E7A76F /* ARBidButton.m in Sources */, - 5E925EAE1E6882D400A504D6 /* LiveAuctionStaticDataFetcher+Stubs.swift in Sources */, - 342F9CB876CC63CF8E8C656F /* ARTextView.m in Sources */, - 342F97971D28FDC703392765 /* MTLModel+JSON.m in Sources */, - 342F949383329F78F589BE53 /* MTLModel+Dictionary.m in Sources */, - 60AF60C91CB2D8BD0041B430 /* LiveAuctionPlaceMaxBidViewController.swift in Sources */, - 5E088DAE1C58072B00C448D7 /* RefinementOptionsViewController+Private.swift in Sources */, - 342F996B2CF23951168534AD /* Follow.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - B3ECE8221819D1E6009F5C5B /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 5E0AD37624BE453600FD54A0 /* ARAugmentedRealityConfigSpec.m in Sources */, - 3C6AA7CB1885F38D00501F07 /* SaleArtwork+Extensions.m in Sources */, - 60AF60CB1CB395600041B430 /* LiveAuctionBidButtonTests.swift in Sources */, - D3ACE5391AEEF47C0053E0CE /* ARExternalWebBrowserViewControllerTests.m in Sources */, - 51B4BA491C6A2B7F0014A394 /* AuctionBiddersNetworkModel.swift in Sources */, - FC073424275E8F6E008B29B9 /* Article.swift in Sources */, - 3CCCC89D18997948008015DD /* FairTests.m in Sources */, - 3CF144A918E4607900B1A764 /* SystemTimeTests.m in Sources */, - E649708918D7762F009DB0C4 /* ARImageItemProviderTests.m in Sources */, - E61E772619A5477300C55E14 /* ARExpectaExtensions.m in Sources */, - 5EF840801CED0C5F006248D7 /* LiveAuctionFancyLotCollectionViewLayoutTests.swift in Sources */, - 3C3FEA8E1884346D00E1A16F /* ARUserManager+Stubs.m in Sources */, - B30FEF5A181EEA47009E4EAD /* ARBidButtonTests.m in Sources */, - 60D70DE41D01F420008888D1 /* LiveAuctionLotViewModelSpecs.swift in Sources */, - 5E86A6171F73183B00D00302 /* AFHTTPRequestOperationJSONTests.m in Sources */, - FCD47BD8274833EF003F27B8 /* ScheduleTests.swift in Sources */, - 609624C91CEF3304002F3F33 /* ARTextViewTests.m in Sources */, - FCD47BDD27483482003F27B8 /* ArtworkImage.swift in Sources */, - 6019A90D1C7F9EF600E292FA /* LiveAuctionLotSetViewControllerTests.swift in Sources */, - 60B8D1241CBB7C1D006C3E42 /* TextStackTests.swift in Sources */, - 5E174F5C1CADB35800657743 /* LiveAuctionStateReconcilerSpec.swift in Sources */, - 51B4BA451C6A24490014A394 /* AuctionInformationViewControllerTests.swift in Sources */, - 6022F5AE1BDFAC3800D975F0 /* ARWebViewCacheHostSpec.m in Sources */, - 3C205B59189000A5004280E0 /* ARAppNotificationsDelegateTests.m in Sources */, - FC9DDAF6274D64B1005DEE85 /* Fixtures.swift in Sources */, - 60F242FC1CB3F32F00387AA1 /* LiveAuctionBidViewControllerTests.swift in Sources */, - 5E6A16931C98A914004DB29B /* LiveAuctionStateManagerSpec.swift in Sources */, - 510261711BBE96BE002AB8BB /* ARAuctionWebViewControllerTests.m in Sources */, - 3C6BDCBD18E0AEF60028EF5D /* ArtsyAPI+PrivateTests.m in Sources */, - 3CB37D991922483100089A1D /* ArtsyAPI+ErrorHandlers.m in Sources */, - 60CE3CAB1B46F3EE00CA2B75 /* ArtsyOHHTTPAPI.m in Sources */, - 3CF144AB18E460BE00B1A764 /* ArtsyAPI+SystemTimeTests.m in Sources */, - 3C28D3DB18BE180B00C846EA /* ARNavigationButtonTests.m in Sources */, - 3C6AEE27188F228600DD98FC /* ARInternalMobileWebViewControllerTests.m in Sources */, - E6718316194A595F001A5566 /* ARTestContext.m in Sources */, - 3CE0DA3218A13604000E537A /* OHHTTPStubs+Artsy.m in Sources */, - 5EACFACB1C752771004112FF /* SaleArtworkViewModelTests.swift in Sources */, - FCD47BDB27483407003F27B8 /* Artwork.swift in Sources */, - 3CEE0B6A18A18CDA00FEA6E6 /* ProfileTests.m in Sources */, - 60A309AA1AC99B47000783C1 /* ARInternalShareValidatorTests.m in Sources */, - 51D141B71AF0F14B000091CF /* ARTestHelper.m in Sources */, - 604E08202051DDF700785717 /* ARAugmentedVIRViewControllerSpec.m in Sources */, - 5E9A78231906BA3D00734E1B /* OCMArg+ClassChecker.m in Sources */, - 5E088DB11C58145600C448D7 /* UIViewController+Tests.swift in Sources */, - D3C8C2061B66D2FF004CAD7F /* ARImageTests.m in Sources */, - 3CE75A0B18B6367F00885355 /* ARValueTransformerTests.m in Sources */, - 3CA1E820188465F0003C622D /* Sale+Extensions.m in Sources */, - 5E1BF7491EEB239800A9ED63 /* SaleOnHoldOverlayViewTests.swift in Sources */, - E611847018D78068000FE4C9 /* ARMessageItemProviderTests.m in Sources */, - 5EE9A3E31D1213D60014A3C9 /* LiveSalesPersonSpecs.swift in Sources */, - B3ECE83C1819D1FD009F5C5B /* SaleArtworkTests.m in Sources */, - 3C2E6C5C192262A3009DAB28 /* ARRouterTests.m in Sources */, - 3C6BDCC018E0B3E40028EF5D /* MutableNSURLResponse.m in Sources */, - 51F6960C1C6E55EA002B2E35 /* SaleViewModelTests.swift in Sources */, - 5E70AA911DF5D506002847E9 /* LiveAuctionCurrentLotCTAPositionManagerTests.swift in Sources */, - 5E1DDF1F1CE2698B00DFEE2A /* LiveAuctionBiddingViewModelTests.swift in Sources */, - 0CE3C4361B8BB3630092A24F /* EXPMatcher+UINavigationController.m in Sources */, - 3CA1E82518846B3A003C622D /* SaleTests.m in Sources */, - E6EC246118F7069300C89192 /* PartnerTests.m in Sources */, - 6036B1E1203384DD00763E10 /* ARAugmentRealitySetupViewControllerSpec.m in Sources */, - 3C6CB60518ABC7BB008DFE3B /* UserTests.m in Sources */, - D3F69A4A1AC1F7CB007C65C9 /* ARDefaultsTests.m in Sources */, - 3CA1E8231884663E003C622D /* Bid+Extensions.m in Sources */, - 51B4BA481C6A2B7B0014A394 /* AuctionSaleNetworkModelTests.swift in Sources */, - 5EE9A3E71D132DBC0014A3C9 /* LiveAuctionLoadingViewSpec.swift in Sources */, - 60ED31221C8F746A0071DD89 /* FakeSalesPerson.swift in Sources */, - 3CAED17C188026AC00840608 /* ARUserManagerTests.m in Sources */, - 3C5C7E4018970E8B003823BB /* UIApplicationStateEnumTests.m in Sources */, - B9A29FE123EB27BD006EE2EC /* ARReactPackagerHost.m in Sources */, - D35D9D5C1ACB4FF800E67A1D /* ARCustomEigenLabelTests.m in Sources */, - 5EBDC94E19792C3A0082C514 /* ARNavigationControllerTests.m in Sources */, - 5EC27DCC1F6AFBC000D2A794 /* ArtsyAPI+GraphQLTests.m in Sources */, - FCD47BDA274833FF003F27B8 /* Schedule.swift in Sources */, - 60ED311F1C8F73450071DD89 /* LiveAuctionLotViewControllerTests.swift in Sources */, - 5E3817011CC1572100477B17 /* LiveAuctionLotListStickyCellCollectionViewLayoutTests.swift in Sources */, - 60107F161CC7DC1D002F772E /* ARTestImageCachingFunctions.swift in Sources */, - 3CFBE33618C5848900C781D0 /* ARFileUtilsTests.m in Sources */, - 5E3816FF1CC1570A00477B17 /* LiveAuctionLotListViewControllerTests.swift in Sources */, - 3CF144B618E4802400B1A764 /* ARSystemTimeTests.m in Sources */, - 5E7598061D9D92F60084AAEC /* LiveAuctionLotBidHistoryGestureControllerTests.swift in Sources */, - 3C7A7FA718C6EDAB00E8D336 /* ArtworkTests.m in Sources */, - 5EE9A3E11D1211230014A3C9 /* BiddingIncrementSpecs.swift in Sources */, - FCD47BD9274833EF003F27B8 /* ArtworkTests.swift in Sources */, - E67E1DB219475642004252E0 /* ARAnimatedTickViewTest.m in Sources */, - 604151E51A7998E300D5F9CA /* NSDate+RangeTests.m in Sources */, - 5108A7BC1BA1AB2C0011CD72 /* ARAppActivityContinuationDelegateTests.m in Sources */, - E676B2F518D230A00057B4E1 /* ARURLItemProviderTests.m in Sources */, - FC10F3782760FC15006CDAB5 /* WidgetUrl.swift in Sources */, - 6030253E1CBBB7B500B93583 /* AuctionLotMetadataStackScrollViewTests.swift in Sources */, - 342F9FBB86D02FABC8AA9339 /* ARNavigationButtonsViewControllerTests.m in Sources */, - 5E8841501CB3462100A33BCE /* LiveAuctionStaticDataFetcherSpec.swift in Sources */, - 54289FEE18AA7F4E00681E49 /* UINavigationController_InnermostTopViewControllerSpec.m in Sources */, - 60CB547C1CC8F3CC0094DCE5 /* LiveAuctionViewControllerTests.swift in Sources */, - 5E79FCBC1C76856C003D5D65 /* NavigationButtonTests.swift in Sources */, - E611847218D7B4C4000FE4C9 /* ARSharingControllerTests.m in Sources */, - 5E1A3AA01C93760A0047329E /* LiveAuctionSocketCommunicatorSpec.swift in Sources */, - 608EE3DB19954CEB001F4FE0 /* UIViewController+Testing.m in Sources */, - 342F9E0892E99A2F66657964 /* Artwork+Extensions.m in Sources */, - 60DCDAD71C6533DF00BB61D7 /* ARSerifNavigationViewControllerSpec.m in Sources */, - FCD47BDC2748347F003F27B8 /* Artist.swift in Sources */, - 342F9715E899AC7D24E70734 /* ORStackViewArtsyCategoriesTests.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CB6AFF272793654E00D7DC82 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - CB6AFF2E2793654E00D7DC82 /* NotificationService.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - FCB45B1E2746EF3700232337 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - FC9DDB09274D8F96005DEE85 /* LatestArticles+Timeline.swift in Sources */, - FC61189E2746FE2300612581 /* ArtworkStore.swift in Sources */, - FCD1340B27483ED90065074D /* Fixtures.swift in Sources */, - FC9DDB01274D8F4E005DEE85 /* LatestArticles+Entry.swift in Sources */, - FC9DDB13274D9A32005DEE85 /* ArticleStore.swift in Sources */, - FC89B2B0274C47E7005F3F58 /* FeaturedArtworks+LargeView.swift in Sources */, - FC89B2A0274C3ADB005F3F58 /* FeaturedArtworks.swift in Sources */, - FC9DDAFF274D8F41005DEE85 /* LatestArticles.swift in Sources */, - FCB45B372746F0A500232337 /* FullBleed+View.swift in Sources */, - FCB45B292746EF3700232337 /* ArtsyWidgets.swift in Sources */, - FC9DDB0B274D8FA1005DEE85 /* LatestArticles+View.swift in Sources */, - FCB45B4B2746F81F00232337 /* WidgetUrl.swift in Sources */, - FC592EF52798A8B4001A4FD6 /* ImageUrl.swift in Sources */, - FC6118A92747091500612581 /* VolleyPayload.swift in Sources */, - FCB45B3D2746F0F100232337 /* FullBleed.swift in Sources */, - FCB45B442746F42800232337 /* FullBleed+Widget.swift in Sources */, - FC6118A02747001B00612581 /* ArtworkImage.swift in Sources */, - FC6118A82747091500612581 /* VolleyClient.swift in Sources */, - FCB45B3B2746F0CC00232337 /* FullBleed+Entry.swift in Sources */, - FC89B2AC274C44C9005F3F58 /* FeaturedArtworks+SmallView.swift in Sources */, - FC89B2AE274C4695005F3F58 /* FeaturedArtworks+MediumView.swift in Sources */, - FCB45B472746F6FD00232337 /* PrimaryText.swift in Sources */, - FC9DDB05274D8F7E005DEE85 /* LatestArticles+Provider.swift in Sources */, - FC6118A42747068300612581 /* FullBleed+Timeline.swift in Sources */, - FC9DDB07274D8F8C005DEE85 /* LatestArticles+SmallView.swift in Sources */, - FC6118AA2747091500612581 /* VolleyMetric.swift in Sources */, - FC9DDB03274D8F5A005DEE85 /* LatestArticles+MediumView.swift in Sources */, - FC89B2A6274C3B12005F3F58 /* FeaturedArtworks+Timeline.swift in Sources */, - FCB45B402746F26E00232337 /* Artwork.swift in Sources */, - FC9DDB0F274D8FBB005DEE85 /* LatestArticles+LargeView.swift in Sources */, - FC89B2A8274C3B24005F3F58 /* FeaturedArtworks+View.swift in Sources */, - FCB45B392746F0B800232337 /* FullBleed+Provider.swift in Sources */, - FC9DDB15274D9C1F005DEE85 /* ArticleParser.swift in Sources */, - FC9DDB11274D8FFF005DEE85 /* Article.swift in Sources */, - FC9DDB0D274D8FAE005DEE85 /* LatestArticles+Widget.swift in Sources */, - FC89B2AA274C3B30005F3F58 /* FeaturedArtworks+Widget.swift in Sources */, - FCB45B422746F28700232337 /* Artist.swift in Sources */, - FC89B2A2274C3AF7005F3F58 /* FeaturedArtworks+Entry.swift in Sources */, - FC89B2A4274C3B03005F3F58 /* FeaturedArtworks+Provider.swift in Sources */, - FC6118A2274704FA00612581 /* Schedule.swift in Sources */, - FCB45B492746F72800232337 /* SecondaryText.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 1AD4F8A125FBBA89007FDB71 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 1AD4F89A25FBBA85007FDB71 /* Artsy Stickers */; - targetProxy = 1AD4F8A025FBBA89007FDB71 /* PBXContainerItemProxy */; - }; - B3ECE8351819D1E7009F5C5B /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 49BA7DFE1655ABE600C06572 /* Artsy */; - targetProxy = B3ECE8341819D1E7009F5C5B /* PBXContainerItemProxy */; - }; - CB6AFF312793654E00D7DC82 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = CB6AFF2A2793654E00D7DC82 /* BrazePushServiceExtension */; - targetProxy = CB6AFF302793654E00D7DC82 /* PBXContainerItemProxy */; - }; - FCB45B2E2746EF3900232337 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = FCB45B212746EF3700232337 /* ArtsyWidgetExtension */; - targetProxy = FCB45B2D2746EF3900232337 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin PBXVariantGroup section */ - 49BA7E0C1655ABE600C06572 /* InfoPlist.strings */ = { - isa = PBXVariantGroup; - children = ( - 49BA7E0D1655ABE600C06572 /* en */, - ); - name = InfoPlist.strings; - path = .; - sourceTree = ""; - }; - B3ECE82E1819D1E6009F5C5B /* InfoPlist.strings */ = { - isa = PBXVariantGroup; - children = ( - B3ECE82F1819D1E6009F5C5B /* en */, - ); - name = InfoPlist.strings; - path = .; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 1AD4F8A425FBBA89007FDB71 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = "iMessage App Icon"; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = 23KMWZ572J; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - INFOPLIST_FILE = "Artsy Stickers/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 12.1; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = "net.artsy.artsy.Artsy-Stickers"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 1AD4F8A525FBBA89007FDB71 /* Store */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - ASSETCATALOG_COMPILER_APPICON_NAME = "iMessage App Icon"; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_STYLE = Automatic; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = 23KMWZ572J; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - INFOPLIST_FILE = "Artsy Stickers/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 12.1; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = "net.artsy.artsy.Artsy-Stickers"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Store; - }; - 1AD4F8A625FBBA89007FDB71 /* Demo */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - ASSETCATALOG_COMPILER_APPICON_NAME = "iMessage App Icon"; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_STYLE = Automatic; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = 23KMWZ572J; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - INFOPLIST_FILE = "Artsy Stickers/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 12.1; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = "net.artsy.artsy.Artsy-Stickers"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Demo; - }; - 49BA7E211655ABE600C06572 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - APPLICATION_BUNDLE_IDENTIFIER = net.artsy.artsy; - CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(inherited)", - "DEBUG=1", - ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 12.1; - ONLY_ACTIVE_ARCH = YES; - OTHER_CFLAGS = ( - "-DAR_SHOW_ALL_DEBUG=1", - "-Werror=nonnull", - "-Werror=return-type", - ); - RUN_CLANG_STATIC_ANALYZER = NO; - SDKROOT = iphoneos; - }; - name = Debug; - }; - 49BA7E241655ABE600C06572 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 97983D93644ACC6409190A08 /* Pods-Artsy.debug.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_WARNINGS = NO; - CLANG_ANALYZER_SECURITY_INSECUREAPI_RAND = YES; - CLANG_ENABLE_MODULES = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_ATOMIC_PROPERTIES = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_REPEATED_USE_OF_WEAK = NO; - CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = NO; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_ENTITLEMENTS = Artsy/App_Resources/Artsy.entitlements; - DEVELOPMENT_TEAM = 23KMWZ572J; - ENABLE_BITCODE = NO; - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(inherited)", - "COCOAPODS=1", - ); - GCC_TREAT_INCOMPATIBLE_POINTER_TYPE_WARNINGS_AS_ERRORS = YES; - GCC_TREAT_WARNINGS_AS_ERRORS = NO; - GCC_WARN_ABOUT_MISSING_NEWLINE = NO; - GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; - GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES; - GCC_WARN_MULTIPLE_DEFINITION_TYPES_FOR_SELECTOR = NO; - GCC_WARN_PEDANTIC = NO; - GCC_WARN_SHADOW = NO; - GCC_WARN_STRICT_SELECTOR_MATCH = NO; - GCC_WARN_UNDECLARED_SELECTOR = NO; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_LABEL = YES; - GCC_WARN_UNUSED_PARAMETER = NO; - INFOPLIST_FILE = "Artsy/App_Resources/Artsy-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 12.1; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "$(APPLICATION_BUNDLE_IDENTIFIER)"; - PRODUCT_NAME = Artsy; - RUN_CLANG_STATIC_ANALYZER = YES; - SDKROOT = iphoneos; - SPRINGBOARD_DISPLAY_NAME = "Δrtsy"; - SWIFT_OBJC_BRIDGING_HEADER = "Artsy/Resources/Artsy-Bridging-Header.h"; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_SWIFT3_OBJC_INFERENCE = Off; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - WARNING_CFLAGS = ( - "-Wobjc-missing-super-calls", - "-Wno-unknown-warning-option", - ); - WRAPPER_EXTENSION = app; - }; - name = Debug; - }; - 60AF3D0218D33C80008F3CC0 /* Demo */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - APPLICATION_BUNDLE_IDENTIFIER = net.artsy.artsy.demo; - CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = YES; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_PREPROCESSOR_DEFINITIONS = "${inherited}"; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 12.1; - OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; - RUN_CLANG_STATIC_ANALYZER = NO; - SDKROOT = iphoneos; - VALIDATE_PRODUCT = YES; - }; - name = Demo; - }; - 60AF3D0318D33C80008F3CC0 /* Demo */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = C1D5D316AD887B0D764B2DFF /* Pods-Artsy.demo.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_WARNINGS = NO; - CLANG_ANALYZER_SECURITY_INSECUREAPI_RAND = YES; - CLANG_ENABLE_MODULES = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_ATOMIC_PROPERTIES = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_REPEATED_USE_OF_WEAK = NO; - CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = NO; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_ENTITLEMENTS = Artsy/App_Resources/Artsy.Store.entitlements; - DEVELOPMENT_TEAM = 23KMWZ572J; - ENABLE_BITCODE = NO; - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(inherited)", - "COCOAPODS=1", - "STORE=1", - ); - GCC_TREAT_INCOMPATIBLE_POINTER_TYPE_WARNINGS_AS_ERRORS = YES; - GCC_TREAT_WARNINGS_AS_ERRORS = NO; - GCC_WARN_ABOUT_MISSING_NEWLINE = NO; - GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; - GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES; - GCC_WARN_MULTIPLE_DEFINITION_TYPES_FOR_SELECTOR = NO; - GCC_WARN_PEDANTIC = NO; - GCC_WARN_SHADOW = NO; - GCC_WARN_STRICT_SELECTOR_MATCH = NO; - GCC_WARN_UNDECLARED_SELECTOR = NO; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_LABEL = YES; - GCC_WARN_UNUSED_PARAMETER = NO; - INFOPLIST_FILE = "Artsy/App_Resources/Artsy-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 12.1; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "$(APPLICATION_BUNDLE_IDENTIFIER)"; - PRODUCT_NAME = Artsy; - RUN_CLANG_STATIC_ANALYZER = YES; - SDKROOT = iphoneos; - SPRINGBOARD_DISPLAY_NAME = Artsy; - SWIFT_OBJC_BRIDGING_HEADER = "Artsy/Resources/Artsy-Bridging-Header.h"; - SWIFT_SWIFT3_OBJC_INFERENCE = Off; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - WARNING_CFLAGS = ( - "-Wobjc-missing-super-calls", - "-Wno-unknown-warning-option", - ); - WRAPPER_EXTENSION = app; - }; - name = Demo; - }; - 60AF3D0418D33C80008F3CC0 /* Demo */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = C92C422D2B7B26F1D784B7A5 /* Pods-Artsy Tests.demo.xcconfig */; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = YES; - ENABLE_NS_ASSERTIONS = NO; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "Artsy_Tests/Supporting_Files/Artsy_Tests-Prefix.pch"; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = ( - "\"$(TARGET_TEMP_DIR)/../$(PROJECT_NAME).build/DerivedSources\"", - "$(inherited)", - ); - INFOPLIST_FILE = "Artsy_Tests/Supporting_files/Artsy_Tests-Info.plist"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "$(APPLICATION_BUNDLE_IDENTIFIER)"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - SWIFT_OBJC_BRIDGING_HEADER = "Artsy_Tests/Supporting_Files/Artsy-Tests-Bridging-Header.h"; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_SWIFT3_OBJC_INFERENCE = Default; - SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Artsy.app/Artsy"; - VALIDATE_PRODUCT = NO; - WRAPPER_EXTENSION = xctest; - }; - name = Demo; - }; - B34D39FE17DFD99600308CAB /* Store */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - APPLICATION_BUNDLE_IDENTIFIER = net.artsy.artsy; - CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution"; - COPY_PHASE_STRIP = YES; - DEVELOPMENT_TEAM = 23KMWZ572J; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_PREPROCESSOR_DEFINITIONS = "${inherited}"; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 12.1; - OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; - RUN_CLANG_STATIC_ANALYZER = NO; - SDKROOT = iphoneos; - VALIDATE_PRODUCT = YES; - }; - name = Store; - }; - B34D39FF17DFD99600308CAB /* Store */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = E46CDB9EB7EB81BF77D63EF5 /* Pods-Artsy.store.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_WARNINGS = NO; - CLANG_ANALYZER_SECURITY_INSECUREAPI_RAND = YES; - CLANG_ENABLE_MODULES = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_ATOMIC_PROPERTIES = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_REPEATED_USE_OF_WEAK = NO; - CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = NO; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_ENTITLEMENTS = Artsy/App_Resources/Artsy.Store.entitlements; - DEVELOPMENT_TEAM = 23KMWZ572J; - ENABLE_BITCODE = NO; - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(inherited)", - "COCOAPODS=1", - "STORE=1", - ); - GCC_TREAT_INCOMPATIBLE_POINTER_TYPE_WARNINGS_AS_ERRORS = YES; - GCC_TREAT_WARNINGS_AS_ERRORS = NO; - GCC_WARN_ABOUT_MISSING_NEWLINE = NO; - GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; - GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES; - GCC_WARN_MULTIPLE_DEFINITION_TYPES_FOR_SELECTOR = NO; - GCC_WARN_PEDANTIC = NO; - GCC_WARN_SHADOW = NO; - GCC_WARN_STRICT_SELECTOR_MATCH = NO; - GCC_WARN_UNDECLARED_SELECTOR = NO; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_LABEL = YES; - GCC_WARN_UNUSED_PARAMETER = NO; - INFOPLIST_FILE = "Artsy/App_Resources/Artsy-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 12.1; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "$(APPLICATION_BUNDLE_IDENTIFIER)"; - PRODUCT_NAME = Artsy; - RUN_CLANG_STATIC_ANALYZER = YES; - SDKROOT = iphoneos; - SPRINGBOARD_DISPLAY_NAME = Artsy; - SWIFT_OBJC_BRIDGING_HEADER = "Artsy/Resources/Artsy-Bridging-Header.h"; - SWIFT_SWIFT3_OBJC_INFERENCE = Off; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - WARNING_CFLAGS = ( - "-Wobjc-missing-super-calls", - "-Wno-unknown-warning-option", - ); - WRAPPER_EXTENSION = app; - }; - name = Store; - }; - B3ECE8371819D1E7009F5C5B /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = F5228136EBA7C3D968C3D845 /* Pods-Artsy Tests.debug.xcconfig */; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - CLANG_ENABLE_MODULES = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "Artsy_Tests/Supporting_Files/Artsy_Tests-Prefix.pch"; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - "FB_REFERENCE_IMAGE_DIR=\"\\\"$(SOURCE_ROOT)/Artsy\\ Tests/ReferenceImages\\\"\"", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNUSED_FUNCTION = YES; - HEADER_SEARCH_PATHS = ( - "\"$(TARGET_TEMP_DIR)/../$(PROJECT_NAME).build/DerivedSources\"", - "$(inherited)", - ); - INFOPLIST_FILE = "Artsy_Tests/Supporting_files/Artsy_Tests-Info.plist"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "$(APPLICATION_BUNDLE_IDENTIFIER)"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - SWIFT_OBJC_BRIDGING_HEADER = "Artsy_Tests/Supporting_Files/Artsy-Tests-Bridging-Header.h"; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_SWIFT3_OBJC_INFERENCE = Default; - SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Artsy.app/Artsy"; - WRAPPER_EXTENSION = xctest; - }; - name = Debug; - }; - B3ECE83A1819D1E7009F5C5B /* Store */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 5E6C92F936EA71609C245323 /* Pods-Artsy Tests.store.xcconfig */; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = YES; - ENABLE_NS_ASSERTIONS = NO; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "Artsy_Tests/Supporting_Files/Artsy_Tests-Prefix.pch"; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = ( - "\"$(TARGET_TEMP_DIR)/../$(PROJECT_NAME).build/DerivedSources\"", - "$(inherited)", - ); - INFOPLIST_FILE = "Artsy_Tests/Supporting_files/Artsy_Tests-Info.plist"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "$(APPLICATION_BUNDLE_IDENTIFIER)"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - SWIFT_OBJC_BRIDGING_HEADER = "Artsy_Tests/Supporting_Files/Artsy-Tests-Bridging-Header.h"; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_SWIFT3_OBJC_INFERENCE = Default; - SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Artsy.app/Artsy"; - VALIDATE_PRODUCT = NO; - WRAPPER_EXTENSION = xctest; - }; - name = Store; - }; - CB6AFF332793654E00D7DC82 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++17"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_TEAM = 23KMWZ572J; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_FILE = BrazePushServiceExtension/Info.plist; - INFOPLIST_KEY_CFBundleDisplayName = BrazePushServiceExtension; - INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2022 Artsy. All rights reserved."; - IPHONEOS_DEPLOYMENT_TARGET = 15.2; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; - MARKETING_VERSION = 1.0; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = net.artsy.artsy.BrazePushServiceExtension; - PRODUCT_NAME = "$(TARGET_NAME)"; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_EMIT_LOC_STRINGS = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - CB6AFF342793654E00D7DC82 /* Store */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++17"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_STYLE = Automatic; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = 23KMWZ572J; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_FILE = BrazePushServiceExtension/Info.plist; - INFOPLIST_KEY_CFBundleDisplayName = BrazePushServiceExtension; - INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2022 Artsy. All rights reserved."; - IPHONEOS_DEPLOYMENT_TARGET = 15.2; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; - MARKETING_VERSION = 1.0; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = net.artsy.artsy.BrazePushServiceExtension; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_EMIT_LOC_STRINGS = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Store; - }; - CB6AFF352793654E00D7DC82 /* Demo */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++17"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_STYLE = Automatic; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = 23KMWZ572J; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_FILE = BrazePushServiceExtension/Info.plist; - INFOPLIST_KEY_CFBundleDisplayName = BrazePushServiceExtension; - INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2022 Artsy. All rights reserved."; - IPHONEOS_DEPLOYMENT_TARGET = 15.2; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; - MARKETING_VERSION = 1.0; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = net.artsy.artsy.BrazePushServiceExtension; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_EMIT_LOC_STRINGS = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Demo; - }; - FCB45B302746EF3A00232337 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - ASSETCATALOG_COMPILER_WIDGET_BACKGROUND_COLOR_NAME = WidgetBackground; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++17"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_TEAM = 23KMWZ572J; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_FILE = ArtsyWidget/Info.plist; - INFOPLIST_KEY_CFBundleDisplayName = ArtsyWidget; - INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2021 Artsy. All rights reserved."; - IPHONEOS_DEPLOYMENT_TARGET = 14.5; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; - MARKETING_VERSION = 1.0; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = net.artsy.artsy.ArtsyWidget; - PRODUCT_NAME = "$(TARGET_NAME)"; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_EMIT_LOC_STRINGS = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - FCB45B312746EF3A00232337 /* Store */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - ASSETCATALOG_COMPILER_WIDGET_BACKGROUND_COLOR_NAME = WidgetBackground; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++17"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_STYLE = Automatic; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = 23KMWZ572J; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_FILE = ArtsyWidget/Info.plist; - INFOPLIST_KEY_CFBundleDisplayName = ArtsyWidget; - INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2021 Artsy. All rights reserved."; - IPHONEOS_DEPLOYMENT_TARGET = 14.5; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; - MARKETING_VERSION = 1.0; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = net.artsy.artsy.ArtsyWidget; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_EMIT_LOC_STRINGS = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Store; - }; - FCB45B322746EF3A00232337 /* Demo */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - ASSETCATALOG_COMPILER_WIDGET_BACKGROUND_COLOR_NAME = WidgetBackground; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++17"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_STYLE = Automatic; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = 23KMWZ572J; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_FILE = ArtsyWidget/Info.plist; - INFOPLIST_KEY_CFBundleDisplayName = ArtsyWidget; - INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2021 Artsy. All rights reserved."; - IPHONEOS_DEPLOYMENT_TARGET = 14.5; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; - MARKETING_VERSION = 1.0; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = net.artsy.artsy.ArtsyWidget; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_EMIT_LOC_STRINGS = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Demo; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 1AD4F8A725FBBA89007FDB71 /* Build configuration list for PBXNativeTarget "Artsy Stickers" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 1AD4F8A425FBBA89007FDB71 /* Debug */, - 1AD4F8A525FBBA89007FDB71 /* Store */, - 1AD4F8A625FBBA89007FDB71 /* Demo */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; - }; - 49BA7DF91655ABE600C06572 /* Build configuration list for PBXProject "Artsy" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 49BA7E211655ABE600C06572 /* Debug */, - B34D39FE17DFD99600308CAB /* Store */, - 60AF3D0218D33C80008F3CC0 /* Demo */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; - }; - 49BA7E231655ABE600C06572 /* Build configuration list for PBXNativeTarget "Artsy" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 49BA7E241655ABE600C06572 /* Debug */, - B34D39FF17DFD99600308CAB /* Store */, - 60AF3D0318D33C80008F3CC0 /* Demo */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; - }; - B3ECE8361819D1E7009F5C5B /* Build configuration list for PBXNativeTarget "Artsy Tests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - B3ECE8371819D1E7009F5C5B /* Debug */, - B3ECE83A1819D1E7009F5C5B /* Store */, - 60AF3D0418D33C80008F3CC0 /* Demo */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; - }; - CB6AFF362793654E00D7DC82 /* Build configuration list for PBXNativeTarget "BrazePushServiceExtension" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - CB6AFF332793654E00D7DC82 /* Debug */, - CB6AFF342793654E00D7DC82 /* Store */, - CB6AFF352793654E00D7DC82 /* Demo */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; - }; - FCB45B332746EF3A00232337 /* Build configuration list for PBXNativeTarget "ArtsyWidgetExtension" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - FCB45B302746EF3A00232337 /* Debug */, - FCB45B312746EF3A00232337 /* Store */, - FCB45B322746EF3A00232337 /* Demo */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; - }; -/* End XCConfigurationList section */ - }; - rootObject = 49BA7DF61655ABE600C06572 /* Project object */; -} diff --git a/Artsy.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Artsy.xcodeproj/project.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index a7cf77502ce..00000000000 --- a/Artsy.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/Artsy/App/ARScreenPresenterModule.h b/Artsy/App/ARScreenPresenterModule.h deleted file mode 100644 index 5f9e746ebba..00000000000 --- a/Artsy/App/ARScreenPresenterModule.h +++ /dev/null @@ -1,20 +0,0 @@ -#import -#import -#import -#import "ARNavigationController.h" - - -NS_ASSUME_NONNULL_BEGIN - -@interface ARScreenPresenterModule : NSObject - -+ (UIViewController *)loadWebViewAuctionRegistrationWithID:(NSString *)auctionID; -+ (ARNavigationController *)getNavigationStack:(NSString *)stackID; -+ (ARNavigationController *)createNavigationStack:(NSString *)stackID rootViewController:(UIViewController *)rootViewController; -+ (void)removeNavigationStack:(NSString *)stackID; -+ (UIViewController *)currentlyPresentedVC; -+ (void)clearCachedNavigationStacks; - -@end - -NS_ASSUME_NONNULL_END diff --git a/Artsy/App/ARScreenPresenterModule.m b/Artsy/App/ARScreenPresenterModule.m deleted file mode 100644 index db21de017bd..00000000000 --- a/Artsy/App/ARScreenPresenterModule.m +++ /dev/null @@ -1,450 +0,0 @@ -#import "ARScreenPresenterModule.h" -#import -#import "UIDevice-Hardware.h" -#import "ARAdminSettingsViewController.h" -#import "AROptions.h" -#import "ARSerifNavigationViewController.h" -#import "ARInternalMobileWebViewController.h" -#import "Artsy-Swift.h" -#import "AREigenMapContainerViewController.h" -#import "ARAuctionWebViewController.h" -#import "ArtsyEcho.h" -#import "ARAppDelegate+Echo.h" -#import "ARRouter.h" -#import -#import - -#import -#import -#import - -#import "ARAugmentedVIRSetupViewController.h" -#import "ARAugmentedRealityConfig.h" -#import "ARAugmentedFloorBasedVIRViewController.h" -#import "ARSerifNavigationViewController.h" -#import "ARModalViewController.h" - -#import "UIView+ScrollToTop.h" - -@interface ARScreenPresenterModule () -@end - -static NSMutableDictionary *_cachedNavigationStacks = nil; - -@implementation ARScreenPresenterModule -RCT_EXPORT_MODULE() - -@synthesize bridge = _bridge; - -- (dispatch_queue_t)methodQueue; -{ - return dispatch_get_main_queue(); -} - -RCT_EXPORT_METHOD(pushView:(nonnull NSString *)currentTabStackID viewDescriptor:(nonnull NSDictionary *)viewDescriptor) -{ - UIViewController *vc = [self getViewControllerForViewDescriptor:viewDescriptor]; - UINavigationController *stack = nil; - ARModalViewController *currentlyPresentedVC = (id)[self.class currentlyPresentedVC]; - if ([currentlyPresentedVC isKindOfClass:ARModalViewController.class]) { - // we're showing a modal with a view stack, push it there instead - stack = currentlyPresentedVC.stack; - } else { - stack = [self.class getNavigationStack:currentTabStackID]; - } - - if (!stack && [self.class cachedNavigationStacks].count == 0) { - // to handle deep links that open the app we need to wait a while for the first nav stack to be instantiated - deepLinkVC = vc; - return; - } - - if ([vc isKindOfClass:ARComponentViewController.class]) { - ARComponentViewController *reactVC = (ARComponentViewController *)vc; - // if we're in a modal, get the modal id from the stack map - NSString *stackID = currentTabStackID; - if ([currentlyPresentedVC isKindOfClass:ARModalViewController.class]) { - for(id key in [self.class cachedNavigationStacks]) { - // if the nav stack with id `key` is the same instance as the one we're about to push to, then `key` is the stackID we want to set. - if ([self.class cachedNavigationStacks][key] == stack) { - stackID = key; - break; - } - } - } - [reactVC setProperty:stackID forKey:@"navStackID"]; - } - - [stack pushViewController:vc animated:YES]; -} - -RCT_EXPORT_METHOD(presentModal:(nonnull NSDictionary *)viewDescriptor resolve:(RCTPromiseResolveBlock)resolve - reject:(RCTPromiseRejectBlock)reject) -{ - UIModalPresentationStyle modalPresentationStyle = [self getModalPresentationStyle:viewDescriptor[@"modalPresentationStyle"]]; - UIViewController *vc = [self getViewControllerForViewDescriptor:viewDescriptor]; - - if ([vc isKindOfClass:ARComponentViewController.class]) { - [((ARComponentViewController *)vc) setProperty:@(YES) forKey:@"isPresentedModally"]; - } - - // TODO: Should this be [viewDescriptor[@"hasOwnModalCloseButton" boolValue] as below? - BOOL hasOwnModalCloseButton = viewDescriptor[@"hasOwnModalCloseButton"]; - - - NSString *stackID = [[NSUUID UUID] UUIDString]; - - UINavigationController *stack = nil; - - if ([vc isKindOfClass:UINavigationController.class]) { - stack = (id)vc; - [self.class cachedNavigationStacks][stackID] = stack; - } else { - stack = [self.class createModalNavigationStack:stackID rootViewController:vc withBackButton:!hasOwnModalCloseButton]; - } - - ARModalViewController *modal = [[ARModalViewController alloc] initWithStack:stack]; - modal.modalPresentationStyle = modalPresentationStyle; - - UIViewController *topVC = [self.class currentlyPresentedVC]; - UIViewController *parentVC = [topVC presentingViewController]; - - BOOL shouldReplaceTopVC = [viewDescriptor[@"replace"] boolValue]; - - if (shouldReplaceTopVC) { - [parentVC dismissViewControllerAnimated:NO completion:^{ - [parentVC presentViewController:modal animated:YES completion:^{ - resolve(stackID); - }]; - }]; - } else { - [topVC presentViewController:modal animated:YES completion:^ { - resolve(stackID); - }]; - } -} - -- (UIModalPresentationStyle)getModalPresentationStyle:(NSString *)string { - if (!string) { - return UIModalPresentationPageSheet; - } else if ([string isEqualToString:@"fullScreen"]) { - return UIModalPresentationFullScreen; - } else if ([string isEqualToString:@"formSheet"]) { - return UIModalPresentationFormSheet; - } - return UIModalPresentationPageSheet; -} - -- (UIViewController *)getViewControllerForViewDescriptor:(NSDictionary *)viewDescriptor -{ - UIViewController *vc = nil; - NSString *type = viewDescriptor[@"type"]; - NSString *moduleName = viewDescriptor[@"moduleName"]; - NSDictionary *props = viewDescriptor[@"props"]; - BOOL hidesBackButton = viewDescriptor[@"hidesBackButton"]; - - if ([type isEqualToString:@"react"]) { - vc = [ARComponentViewController module:moduleName withProps:props]; - if (hidesBackButton) { - ((ARComponentViewController *)vc).hidesBackButton = true; - } - } else if ([moduleName isEqualToString:@"Admin"]) { - vc = [[ARAdminSettingsViewController alloc] initWithStyle:UITableViewStyleGrouped]; - } else if ([moduleName isEqualToString:@"LiveAuction"]) { - if ([AROptions boolForOption:AROptionsDisableNativeLiveAuctions] || [self.class requiresUpdateForWebSocketVersionUpdate]) { - NSString *slug = props[@"slug"]; - NSURL *liveAuctionsURL = [[AREmission sharedInstance] liveAuctionsURL]; - NSURL *auctionURL = [NSURL URLWithString:slug relativeToURL:liveAuctionsURL]; - ARInternalMobileWebViewController *webVC = [[ARInternalMobileWebViewController alloc] initWithURL:auctionURL]; - vc = [[ARSerifNavigationViewController alloc] initWithRootViewController:webVC]; - } else { - NSString *slug = props[@"slug"]; - vc = [[LiveAuctionViewController alloc] initWithSaleSlugOrID:slug]; - } - } else if ([moduleName isEqualToString:@"LocalDiscovery"]) { - vc = [[AREigenMapContainerViewController alloc] init]; - } else if ([moduleName isEqualToString:@"WebView"]) { - vc = [[ARInternalMobileWebViewController alloc] initWithURL:[NSURL URLWithString:props[@"url"]]]; - } else { - NSAssert(false, @"Unrecognized native module name", moduleName); - } - - return vc; -} - -+ (UIViewController *)currentlyPresentedVC -{ - UIViewController *vc = [[ARAppDelegate sharedInstance] window].rootViewController; - - while ([vc presentedViewController] && [[vc presentedViewController] isKindOfClass:ARModalViewController.class]) { - vc = [vc presentedViewController]; - } - - return vc; -} - -RCT_EXPORT_METHOD(dismissModal) -{ - [[[self.class currentlyPresentedVC] presentingViewController] dismissViewControllerAnimated:YES completion:nil]; -} - -RCT_EXPORT_METHOD(goBack:(nonnull NSString *)currentTabStackID) -{ - UINavigationController *vc = (id)[self.class currentlyPresentedVC]; - if ([vc presentingViewController] && [vc isKindOfClass:ARModalViewController.class]) { - // it's a modal - if ([vc isKindOfClass:ARModalViewController.class] && ((ARModalViewController *)vc).stack.viewControllers.count > 1) { - [((ARModalViewController *)vc).stack popViewControllerAnimated:YES]; - } else { - [self dismissModal]; - } - } else { - // we're in a root tab stack - vc = [self.class getNavigationStack:currentTabStackID]; - [vc popViewControllerAnimated:YES]; - } -} - -RCT_EXPORT_METHOD(popStack:(nonnull NSString *)stackID) -{ - [[self.class getNavigationStack:stackID] popViewControllerAnimated:YES]; -} - -RCT_EXPORT_METHOD(popToRootOrScrollToTop:(nonnull NSString *)stackID) -{ - UINavigationController *stack = [self.class getNavigationStack:stackID]; - if (stack.viewControllers.count > 1) { - [stack popToRootViewControllerAnimated:YES]; - } else { - [stack.viewControllers[0].view ar_scrollToTopAnimated:YES]; - } -} - -RCT_EXPORT_METHOD(popToRootAndScrollToTop:(nonnull NSString *)stackID - resolve:(RCTPromiseResolveBlock)resolve - reject:(RCTPromiseRejectBlock)reject) -{ - UINavigationController *stack = [self.class getNavigationStack:stackID]; - [stack popToRootViewControllerAnimated:YES]; - [stack.viewControllers[0].view ar_scrollToTopAnimated:YES]; - resolve(nil); -} - -+ (UIViewController *)loadWebViewAuctionRegistrationWithID:(NSString *)auctionID -{ - NSString *path = [NSString stringWithFormat:@"/auction/%@/register", auctionID]; - NSURL *URL = [ARRouter resolveRelativeUrl:path]; - return [[ARAuctionWebViewController alloc] initWithURL:URL auctionID:auctionID artworkID:nil]; -} - -/// To be kept in lock-step with the corresponding echo value, and updated when there is a breaking causality change. -NSInteger const ARLiveAuctionsCurrentWebSocketVersionCompatibility = 4; - -+ (BOOL)requiresUpdateForWebSocketVersionUpdate -{ - Message *webSocketVersion = ARAppDelegate.sharedInstance.echo.messages[@"LiveAuctionsCurrentWebSocketVersion"]; - return webSocketVersion.content.integerValue > ARLiveAuctionsCurrentWebSocketVersionCompatibility; -} - -RCT_EXPORT_METHOD(presentMediaPreviewController:(nonnull NSNumber *)reactTag route:(nonnull NSURL *)route mimeType:(nonnull NSString *)mimeType cacheKey:(nullable NSString *)cacheKey) -{ - UIView *originatingView = [self.bridge.uiManager viewForReactTag:reactTag]; - [[ARMediaPreviewController mediaPreviewControllerWithRemoteURL:route - mimeType:mimeType - cacheKey:cacheKey - hostViewController:[self.class currentlyPresentedVC] - originatingView:originatingView] presentPreview]; - -} - -/** - We want an optional body parameter but are getting errors in debug mode when not passing, to get around this instead have two - methods one with body param and one without and choose which to use based on params passed in js - */ -RCT_EXPORT_METHOD(presentEmailComposerWithBody:(NSString *)body subject:(NSString *)subject toAddress:(NSString *)toAddress) -{ - [self presentNativeEmailComposer:toAddress subject:subject body:body]; -} - -RCT_EXPORT_METHOD(presentEmailComposerWithSubject:(NSString *)subject toAddress:(NSString *)toAddress) -{ - [self presentNativeEmailComposer:toAddress subject:subject body:nil]; -} - -- (void)presentNativeEmailComposer:(nonnull NSString *)toAddress subject:(nonnull NSString *)subject body:(nullable NSString *)body { - UIViewController *fromViewController = [self.class currentlyPresentedVC]; - if ([MFMailComposeViewController canSendMail]) { - MFMailComposeViewController *composer = [[MFMailComposeViewController alloc] init]; - composer.mailComposeDelegate = self; - [composer setToRecipients:@[toAddress]]; - [composer setSubject:subject]; - if (body) { - [composer setMessageBody:body isHTML:NO]; - } - [fromViewController presentViewController:composer animated:YES completion:nil]; - } else { - UIAlertController *alert = [UIAlertController - alertControllerWithTitle:@"No email configured" - message:[NSString stringWithFormat:@"You don't appear to have any email configured on your device. Please email %@ from another device.", toAddress] - preferredStyle:UIAlertControllerStyleAlert]; - [alert addAction:[UIAlertAction actionWithTitle:@"Ok" style:UIAlertActionStyleCancel handler:nil]]; - [fromViewController presentViewController:alert animated:YES completion:nil]; - } -} - -RCT_EXPORT_METHOD(presentAugmentedRealityVIR:(NSString *)imgUrl width:(CGFloat)widthIn height:(CGFloat)heightIn artworkSlug:(NSString *)artworkSlug artworkId:(NSString *)artworkId) -{ - BOOL supportsARVIR = [ARAugmentedVIRSetupViewController canOpenARView]; - if (!supportsARVIR) { - // we don't expect emission to call this when there's no AR support - return; - } - // A bit weird, eh? Normally CGSize stores width+height in terms of pixels, but this one is stored in inches instead. - CGSize size = CGSizeMake(widthIn, heightIn); - NSURL *url = [NSURL URLWithString:imgUrl]; - - [ARAugmentedVIRSetupViewController canSkipARSetup:[NSUserDefaults standardUserDefaults] callback:^(bool allowedAccess) { - // The image can come from either the SDWebImage cache or from the internet. - // In either case, this block gets called with that image. - void (^gotImageBlock)(UIImage *image) = ^void(UIImage *image) { - ARAugmentedRealityConfig *config = [[ARAugmentedRealityConfig alloc] initWithImage:image size:size]; - config.artworkID = artworkId; - config.artworkSlug = artworkSlug; - config.floorBasedVIR = YES; - config.debugMode = [AROptions boolForOption:AROptionsDebugARVIR]; - - if (allowedAccess) { - ARAugmentedFloorBasedVIRViewController *viewInRoomVC = [[ARAugmentedFloorBasedVIRViewController alloc] initWithConfig:config]; - viewInRoomVC.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; - [[self.class currentlyPresentedVC] presentViewController:viewInRoomVC animated:YES completion:nil]; - } else { - ArtsyEcho *echo = [[ArtsyEcho alloc] init]; - [echo setup]; - - Message *setupURL = echo.messages[@"ARVIRVideo"]; - - NSURL *movieURL = setupURL.content.length ? [NSURL URLWithString:setupURL.content] : nil; - ARAugmentedVIRSetupViewController *setupVC = [[ARAugmentedVIRSetupViewController alloc] initWithMovieURL:movieURL config:config]; - setupVC.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; - [[self.class currentlyPresentedVC] presentViewController:setupVC animated:YES completion:nil]; - } - }; - - // Try to get a cached image from SDWebImage. This will succeed under normal runtime conditions. - // But in case there is severe RAM or disk pressure, the image might already be evicted from the cache. - // In the rare occurence that a cache lookup fails, download the image into the cache first. - SDWebImageManager *manager = [SDWebImageManager sharedManager]; - NSString *key = [manager cacheKeyForURL:url]; - [manager.imageCache containsImageForKey:key cacheType:SDImageCacheTypeAll completion:^(SDImageCacheType containsCacheType) { - if (containsCacheType != SDImageCacheTypeNone) { - [manager.imageCache queryImageForKey:key options:0 context:nil cacheType:containsCacheType completion:^(UIImage * _Nullable image, NSData * _Nullable data, SDImageCacheType cacheType) { - // TODO: Verify that this _does_ actually get a cache hit most often. - gotImageBlock(image); - }]; - } else { - [manager loadImageWithURL:url options:SDWebImageHighPriority progress:nil completed:^(UIImage * _Nullable image, NSData * _Nullable data, NSError * _Nullable error, SDImageCacheType cacheType, BOOL finished, NSURL * _Nullable imageURL) { - if (finished && !error) { - gotImageBlock(image); - } else { - // Errors are unlikely to happen, but we should handle them just in case. - // This represents both an image cache-miss _and_ a failure to - // download the image on its own. Very unlikely. - NSLog(@"[ARAppDelegate+Emission] Couldn't download image for AR VIR (%@, %@): %@", artworkSlug, imageURL, error); - UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"Failed to Load Image" message:@"We could not download the image to present in View-in-Room." preferredStyle:UIAlertControllerStyleAlert]; - UIAlertAction *defaultAction = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:nil]; - [alert addAction:defaultAction]; - [[self.class currentlyPresentedVC] presentViewController:alert animated:YES completion:nil]; - } - }]; - } - }]; - }]; -} - -#pragma mark - MFMailComposeViewControllerDelegate - -- (void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(nullable NSError *)error -{ - [controller.presentingViewController dismissViewControllerAnimated:YES completion:nil]; -} - -RCT_EXPORT_METHOD(updateShouldHideBackButton:(BOOL)shouldHide currentTabStackID:(NSString *)currentTabStackID) -{ - ARModalViewController *vc = (id)[self.class currentlyPresentedVC]; - ARNavigationController *stack = nil; - - if ([vc isKindOfClass:ARModalViewController.class]) { - // we're presenting a modal, update its back button - stack = (id)vc.stack; - } else { - stack = (id)[self.class getNavigationStack:currentTabStackID]; - } - - if ([stack isKindOfClass:ARNavigationController.class]) { - [stack showBackButton:!shouldHide animated:YES]; - } -} - -#pragma mark - Nav stacks - -static UIViewController *deepLinkVC = nil; - -+ (NSMutableDictionary *)cachedNavigationStacks -{ - if (_cachedNavigationStacks == nil) { - _cachedNavigationStacks = [[NSMutableDictionary alloc] init]; - } - return _cachedNavigationStacks; -} - -+ (void)clearCachedNavigationStacks -{ - @synchronized (self) { - _cachedNavigationStacks = [[NSMutableDictionary alloc] init]; - } -} - -+ (ARNavigationController *)getNavigationStack:(NSString *)stackID -{ - return (ARNavigationController *)[self cachedNavigationStacks][stackID]; -} - -+ (ARNavigationController *)createNavigationStack:(NSString *)stackID rootViewController:(UIViewController *)rootViewController -{ - @synchronized (self) { - if ([rootViewController isKindOfClass:ARComponentViewController.class]) { - ARComponentViewController *reactVC = (ARComponentViewController *)rootViewController; - [reactVC setProperty:stackID forKey:@"navStackID"]; - } - - ARNavigationController *stack = [[ARNavigationController alloc] initWithRootViewController:rootViewController]; - [self cachedNavigationStacks][stackID] = stack; - if (deepLinkVC) { - [stack pushViewController:deepLinkVC animated:NO]; - deepLinkVC = nil; - } - return stack; - } -} - -+ (UINavigationController *)createModalNavigationStack:(NSString *)stackID rootViewController:(UIViewController *)rootViewController withBackButton:(BOOL)withBackButton -{ - @synchronized (self) { - if (!withBackButton) { - return [self createNavigationStack:stackID rootViewController:rootViewController]; - } - - ARSerifNavigationViewController *stack = [[ARSerifNavigationViewController alloc] initWithRootViewController:rootViewController]; - [self cachedNavigationStacks][stackID] = stack; - return stack; - } -} - -+ (void)removeNavigationStack:(NSString *)stackID -{ - @synchronized (self) { - [[self cachedNavigationStacks] removeObjectForKey:stackID]; - } -} - -@end diff --git a/Artsy/Constants/ARDefaults+SiteFeatures.h b/Artsy/Constants/ARDefaults+SiteFeatures.h deleted file mode 100644 index d812300678e..00000000000 --- a/Artsy/Constants/ARDefaults+SiteFeatures.h +++ /dev/null @@ -1,9 +0,0 @@ -#import -#import "ARDefaults.h" - - -@interface ARDefaults (SiteFeatures) - -+ (void)setOnboardingDefaults:(NSArray *)features; - -@end diff --git a/Artsy/Constants/ARDefaults+SiteFeatures.m b/Artsy/Constants/ARDefaults+SiteFeatures.m deleted file mode 100644 index 2d675f4588b..00000000000 --- a/Artsy/Constants/ARDefaults+SiteFeatures.m +++ /dev/null @@ -1,25 +0,0 @@ -#import "ARDefaults+SiteFeatures.h" - -#import "SiteFeature.h" - - -@implementation ARDefaults (SiteFeatures) - -+ (void)setOnboardingDefaults:(NSArray *)features -{ - NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; - NSArray *booleans = @[ - - ]; - - for (SiteFeature *feature in features) { - if ([booleans containsObject:feature.siteFeatureID]) { - [defaults setObject:feature.enabled forKey:feature.siteFeatureID]; - - } - } - [defaults synchronize]; -} - - -@end diff --git a/Artsy/Eigen.playground/playground.xcworkspace/contents.xcworkspacedata b/Artsy/Eigen.playground/playground.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 919434a6254..00000000000 --- a/Artsy/Eigen.playground/playground.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/Artsy/Resources/Images.xcassets/AppIcon.appiconset/Contents.json b/Artsy/Resources/Images.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100644 index 60b8bf1e37b..00000000000 --- a/Artsy/Resources/Images.xcassets/AppIcon.appiconset/Contents.json +++ /dev/null @@ -1,106 +0,0 @@ -{ - "images" : [ - { - "idiom" : "iphone", - "size" : "20x20", - "scale" : "2x" - }, - { - "idiom" : "iphone", - "size" : "20x20", - "scale" : "3x" - }, - { - "idiom" : "iphone", - "size" : "29x29", - "scale" : "2x" - }, - { - "idiom" : "iphone", - "size" : "29x29", - "scale" : "3x" - }, - { - "size" : "40x40", - "idiom" : "iphone", - "filename" : "Icon-Small-40@2x-1.png", - "scale" : "2x" - }, - { - "idiom" : "iphone", - "size" : "40x40", - "scale" : "3x" - }, - { - "size" : "60x60", - "idiom" : "iphone", - "filename" : "Icon-60@2x.png", - "scale" : "2x" - }, - { - "idiom" : "iphone", - "size" : "60x60", - "scale" : "3x" - }, - { - "idiom" : "ipad", - "size" : "20x20", - "scale" : "1x" - }, - { - "idiom" : "ipad", - "size" : "20x20", - "scale" : "2x" - }, - { - "idiom" : "ipad", - "size" : "29x29", - "scale" : "1x" - }, - { - "idiom" : "ipad", - "size" : "29x29", - "scale" : "2x" - }, - { - "size" : "40x40", - "idiom" : "ipad", - "filename" : "Icon-Small-40.png", - "scale" : "1x" - }, - { - "size" : "40x40", - "idiom" : "ipad", - "filename" : "Icon-Small-40@2x.png", - "scale" : "2x" - }, - { - "size" : "76x76", - "idiom" : "ipad", - "filename" : "Icon-76.png", - "scale" : "1x" - }, - { - "size" : "76x76", - "idiom" : "ipad", - "filename" : "Icon-76@2x.png", - "scale" : "2x" - }, - { - "size" : "83.5x83.5", - "idiom" : "ipad", - "filename" : "AppIcon167.png", - "scale" : "2x" - }, - { - "size" : "1024x1024", - "idiom" : "ios-marketing", - "filename" : "Icon-1024.png", - "scale" : "1x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Artsy/View_Controllers/ARNativeTabsManager.h b/Artsy/View_Controllers/ARNativeTabsManager.h deleted file mode 100644 index de15e3081f3..00000000000 --- a/Artsy/View_Controllers/ARNativeTabsManager.h +++ /dev/null @@ -1,5 +0,0 @@ -#import - -@interface ARNativeTabsManager : RCTViewManager - -@end diff --git a/Artsy/View_Controllers/ARNativeTabsManager.m b/Artsy/View_Controllers/ARNativeTabsManager.m deleted file mode 100644 index e0a40d3590f..00000000000 --- a/Artsy/View_Controllers/ARNativeTabsManager.m +++ /dev/null @@ -1,79 +0,0 @@ -#import "ARNativeTabsManager.h" -#import "UIDevice-Hardware.h" -#import -#import -#import "ARScreenPresenterModule.h" - - -@interface ARNativeViewControllerWrapperView : UIView - -@property (strong, nonatomic) UIViewController* wrappedViewController; - -- (UIViewController *)myParentViewController; - -@property (nonatomic, readwrite) NSDictionary* viewProps; - -@end - - -@implementation ARNativeViewControllerWrapperView - -- (void)layoutSubviews { - [super layoutSubviews]; - - if (!self.wrappedViewController) { - _wrappedViewController = [self getWrappedViewController]; - UIViewController *parentVC = self.myParentViewController; - if (!parentVC) { - return; - } - [parentVC addChildViewController:self.wrappedViewController]; - self.wrappedViewController.view.frame = self.bounds; - [self addSubview:self.wrappedViewController.view]; - [self.wrappedViewController didMoveToParentViewController:parentVC]; - } - self.wrappedViewController.view.frame = self.bounds; -} - -- (UIViewController *)getWrappedViewController { - NSString *tabName = self.viewProps[@"tabName"]; - NSString *moduleName = self.viewProps[@"rootModuleName"]; - if (!moduleName || !tabName) { - NSAssert(NO, @"ARNativeViewControllerManager->TabNavigationStack requires both tabName and moduleName"); - return nil; - } - return [self getOrCreateNavStackForModule:tabName module:moduleName withProps:@{}]; -} - -- (ARNavigationController *)getOrCreateNavStackForModule:(NSString *)tabName module:(NSString *)moduleName withProps:(NSDictionary *)props -{ - return [ARScreenPresenterModule getNavigationStack:tabName] ?: [ARScreenPresenterModule createNavigationStack:tabName rootViewController:[ARComponentViewController module:moduleName withProps:props]]; -} - -- (UIViewController *)myParentViewController { - UIResponder *parentResponder = self; - - while (parentResponder != nil) { - parentResponder = parentResponder.nextResponder; - if ([parentResponder isKindOfClass:UIViewController.class]) { - return (UIViewController *)parentResponder; - } - } - return nil; -} - -@end - - -@implementation ARNativeTabsManager - -RCT_EXPORT_MODULE() - -RCT_EXPORT_VIEW_PROPERTY(viewProps, NSDictionary*) - -- (UIView *)view -{ - return [[ARNativeViewControllerWrapperView alloc] init]; -} - -@end diff --git a/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/Contents.json b/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/Contents.json deleted file mode 100644 index da4a164c918..00000000000 --- a/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/Contents.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionButtonNormalBackground.imageset/Contents.json b/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionButtonNormalBackground.imageset/Contents.json deleted file mode 100644 index 9b64259fccb..00000000000 --- a/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionButtonNormalBackground.imageset/Contents.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "scale" : "1x" - }, - { - "idiom" : "universal", - "filename" : "LiveAuctionButtonNormalBackground@2x.png", - "scale" : "2x" - }, - { - "idiom" : "universal", - "scale" : "3x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionButtonNormalHighlighted.imageset/Contents.json b/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionButtonNormalHighlighted.imageset/Contents.json deleted file mode 100644 index 933daba6147..00000000000 --- a/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionButtonNormalHighlighted.imageset/Contents.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "scale" : "1x" - }, - { - "idiom" : "universal", - "filename" : "LiveAuctionButtonNormalHighlighted.png", - "scale" : "2x" - }, - { - "idiom" : "universal", - "scale" : "3x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionMaxBidIcon.imageset/Contents.json b/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionMaxBidIcon.imageset/Contents.json deleted file mode 100644 index 3ef670060d3..00000000000 --- a/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionMaxBidIcon.imageset/Contents.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "scale" : "1x" - }, - { - "idiom" : "universal", - "filename" : "LiveAuctionMaxBidIcon@2x.png", - "scale" : "2x" - }, - { - "idiom" : "universal", - "scale" : "3x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionOutbidWarningIcon.imageset/Contents.json b/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionOutbidWarningIcon.imageset/Contents.json deleted file mode 100644 index 5a8d9b51d6d..00000000000 --- a/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionOutbidWarningIcon.imageset/Contents.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "scale" : "1x" - }, - { - "idiom" : "universal", - "filename" : "LiveAuctionOutbidWarningIcon@2x.png", - "scale" : "2x" - }, - { - "idiom" : "universal", - "scale" : "3x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionSpinner.imageset/Contents.json b/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionSpinner.imageset/Contents.json deleted file mode 100644 index a44230a2a20..00000000000 --- a/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionSpinner.imageset/Contents.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "scale" : "1x" - }, - { - "idiom" : "universal", - "filename" : "LiveAuctionSpinner@2x.png", - "scale" : "2x" - }, - { - "idiom" : "universal", - "scale" : "3x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsDisclosureTriangleDown.imageset/Contents.json b/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsDisclosureTriangleDown.imageset/Contents.json deleted file mode 100644 index 1fe8f62bb4b..00000000000 --- a/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsDisclosureTriangleDown.imageset/Contents.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "scale" : "1x" - }, - { - "idiom" : "universal", - "filename" : "LiveAuctionsDisclosureTriangleDown@2x.png", - "scale" : "2x" - }, - { - "idiom" : "universal", - "scale" : "3x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsDisclosureTriangleLeft.imageset/Contents.json b/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsDisclosureTriangleLeft.imageset/Contents.json deleted file mode 100644 index 9aad4fb43eb..00000000000 --- a/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsDisclosureTriangleLeft.imageset/Contents.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "scale" : "1x" - }, - { - "idiom" : "universal", - "filename" : "LiveAuctionsDisclosureTriangleLeft@2x.png", - "scale" : "2x" - }, - { - "idiom" : "universal", - "scale" : "3x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsDisclosureTriangleRight.imageset/Contents.json b/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsDisclosureTriangleRight.imageset/Contents.json deleted file mode 100644 index 39bf9c65461..00000000000 --- a/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsDisclosureTriangleRight.imageset/Contents.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "scale" : "1x" - }, - { - "idiom" : "universal", - "filename" : "LiveAuctionsDisclosureTriangleRight@2x.png", - "scale" : "2x" - }, - { - "idiom" : "universal", - "scale" : "3x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsDisclosureTriangleUp.imageset/Contents.json b/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsDisclosureTriangleUp.imageset/Contents.json deleted file mode 100644 index 4ae8f68d02a..00000000000 --- a/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsDisclosureTriangleUp.imageset/Contents.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "scale" : "1x" - }, - { - "idiom" : "universal", - "filename" : "LiveAuctionsDisclosureTriangleUp@2x.png", - "scale" : "2x" - }, - { - "idiom" : "universal", - "scale" : "3x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsMaxBidMinus.imageset/Contents.json b/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsMaxBidMinus.imageset/Contents.json deleted file mode 100644 index e6790dde2f8..00000000000 --- a/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsMaxBidMinus.imageset/Contents.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "scale" : "1x" - }, - { - "idiom" : "universal", - "filename" : "LiveAuctionsMaxBidMinus@2x.png", - "scale" : "2x" - }, - { - "idiom" : "universal", - "scale" : "3x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsMaxBidPlus.imageset/Contents.json b/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsMaxBidPlus.imageset/Contents.json deleted file mode 100644 index 6799767272e..00000000000 --- a/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsMaxBidPlus.imageset/Contents.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "scale" : "1x" - }, - { - "idiom" : "universal", - "filename" : "liveAuctionsMaxBidPlus.png", - "scale" : "2x" - }, - { - "idiom" : "universal", - "scale" : "3x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/chat_icon.imageset/Contents.json b/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/chat_icon.imageset/Contents.json deleted file mode 100644 index ebd48165277..00000000000 --- a/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/chat_icon.imageset/Contents.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "scale" : "1x" - }, - { - "idiom" : "universal", - "filename" : "Chat_Icon.png", - "scale" : "2x" - }, - { - "idiom" : "universal", - "scale" : "3x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/info_icon.imageset/Contents.json b/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/info_icon.imageset/Contents.json deleted file mode 100644 index 6ac7c736192..00000000000 --- a/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/info_icon.imageset/Contents.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "scale" : "1x" - }, - { - "idiom" : "universal", - "filename" : "Info_Icon.png", - "scale" : "2x" - }, - { - "idiom" : "universal", - "scale" : "3x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/live_auction_bid_hammer.imageset/Contents.json b/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/live_auction_bid_hammer.imageset/Contents.json deleted file mode 100644 index e98bbcfa65f..00000000000 --- a/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/live_auction_bid_hammer.imageset/Contents.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "scale" : "1x" - }, - { - "idiom" : "universal", - "filename" : "live_auction_bid_hammer@2x.png", - "scale" : "2x" - }, - { - "idiom" : "universal", - "scale" : "3x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/live_auction_bid_warning_orange.imageset/Contents.json b/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/live_auction_bid_warning_orange.imageset/Contents.json deleted file mode 100644 index 4822767bddb..00000000000 --- a/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/live_auction_bid_warning_orange.imageset/Contents.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "scale" : "1x" - }, - { - "idiom" : "universal", - "filename" : "live_auction_bid_orangey@2x.png", - "scale" : "2x" - }, - { - "idiom" : "universal", - "scale" : "3x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/live_auction_bid_warning_yellow.imageset/Contents.json b/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/live_auction_bid_warning_yellow.imageset/Contents.json deleted file mode 100644 index 056aff66353..00000000000 --- a/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/live_auction_bid_warning_yellow.imageset/Contents.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "scale" : "1x" - }, - { - "idiom" : "universal", - "filename" : "live_auction_bid_warning_yellow@2x.png", - "scale" : "2x" - }, - { - "idiom" : "universal", - "scale" : "3x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lot_bidder_hammer_white.imageset/Contents.json b/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lot_bidder_hammer_white.imageset/Contents.json deleted file mode 100644 index 45fb30ffd7e..00000000000 --- a/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lot_bidder_hammer_white.imageset/Contents.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "scale" : "1x" - }, - { - "idiom" : "universal", - "filename" : "lot_bidder_hammer_white.png", - "scale" : "2x" - }, - { - "idiom" : "universal", - "scale" : "3x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lot_bidders_info.imageset/Contents.json b/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lot_bidders_info.imageset/Contents.json deleted file mode 100644 index 2ad6b227fad..00000000000 --- a/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lot_bidders_info.imageset/Contents.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "scale" : "1x" - }, - { - "idiom" : "universal", - "filename" : "lot_bidders_info.png", - "scale" : "2x" - }, - { - "idiom" : "universal", - "scale" : "3x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lot_lot_info.imageset/Contents.json b/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lot_lot_info.imageset/Contents.json deleted file mode 100644 index 274fbbc077c..00000000000 --- a/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lot_lot_info.imageset/Contents.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "scale" : "1x" - }, - { - "idiom" : "universal", - "filename" : "lot_lot_info.png", - "scale" : "2x" - }, - { - "idiom" : "universal", - "scale" : "3x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lot_time_info.imageset/Contents.json b/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lot_time_info.imageset/Contents.json deleted file mode 100644 index 2bcc7b6bc7f..00000000000 --- a/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lot_time_info.imageset/Contents.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "scale" : "1x" - }, - { - "idiom" : "universal", - "filename" : "lot_time_info.png", - "scale" : "2x" - }, - { - "idiom" : "universal", - "scale" : "3x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lot_watchers_info.imageset/Contents.json b/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lot_watchers_info.imageset/Contents.json deleted file mode 100644 index 7a4a061e682..00000000000 --- a/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lot_watchers_info.imageset/Contents.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "scale" : "1x" - }, - { - "idiom" : "universal", - "filename" : "lot_watchers_info.png", - "scale" : "2x" - }, - { - "idiom" : "universal", - "scale" : "3x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lots_icon.imageset/Contents.json b/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lots_icon.imageset/Contents.json deleted file mode 100644 index 5f56064b28e..00000000000 --- a/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lots_icon.imageset/Contents.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "scale" : "1x" - }, - { - "idiom" : "universal", - "filename" : "Lots_Icon.png", - "scale" : "2x" - }, - { - "idiom" : "universal", - "scale" : "3x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/ArtsyWidget/Assets.xcassets/AccentColor.colorset/Contents.json b/ArtsyWidget/Assets.xcassets/AccentColor.colorset/Contents.json deleted file mode 100644 index eb878970081..00000000000 --- a/ArtsyWidget/Assets.xcassets/AccentColor.colorset/Contents.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "colors" : [ - { - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/ArtsyWidget/Assets.xcassets/AppIcon.appiconset/Contents.json b/ArtsyWidget/Assets.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100644 index 9221b9bb1a3..00000000000 --- a/ArtsyWidget/Assets.xcassets/AppIcon.appiconset/Contents.json +++ /dev/null @@ -1,98 +0,0 @@ -{ - "images" : [ - { - "idiom" : "iphone", - "scale" : "2x", - "size" : "20x20" - }, - { - "idiom" : "iphone", - "scale" : "3x", - "size" : "20x20" - }, - { - "idiom" : "iphone", - "scale" : "2x", - "size" : "29x29" - }, - { - "idiom" : "iphone", - "scale" : "3x", - "size" : "29x29" - }, - { - "idiom" : "iphone", - "scale" : "2x", - "size" : "40x40" - }, - { - "idiom" : "iphone", - "scale" : "3x", - "size" : "40x40" - }, - { - "idiom" : "iphone", - "scale" : "2x", - "size" : "60x60" - }, - { - "idiom" : "iphone", - "scale" : "3x", - "size" : "60x60" - }, - { - "idiom" : "ipad", - "scale" : "1x", - "size" : "20x20" - }, - { - "idiom" : "ipad", - "scale" : "2x", - "size" : "20x20" - }, - { - "idiom" : "ipad", - "scale" : "1x", - "size" : "29x29" - }, - { - "idiom" : "ipad", - "scale" : "2x", - "size" : "29x29" - }, - { - "idiom" : "ipad", - "scale" : "1x", - "size" : "40x40" - }, - { - "idiom" : "ipad", - "scale" : "2x", - "size" : "40x40" - }, - { - "idiom" : "ipad", - "scale" : "1x", - "size" : "76x76" - }, - { - "idiom" : "ipad", - "scale" : "2x", - "size" : "76x76" - }, - { - "idiom" : "ipad", - "scale" : "2x", - "size" : "83.5x83.5" - }, - { - "idiom" : "ios-marketing", - "scale" : "1x", - "size" : "1024x1024" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/ArtsyWidget/Assets.xcassets/BlackArtsyLogo.imageset/Contents.json b/ArtsyWidget/Assets.xcassets/BlackArtsyLogo.imageset/Contents.json deleted file mode 100644 index 4f06c88f886..00000000000 --- a/ArtsyWidget/Assets.xcassets/BlackArtsyLogo.imageset/Contents.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "images" : [ - { - "filename" : "android-chrome-512x512.png", - "idiom" : "universal", - "scale" : "1x" - }, - { - "filename" : "android-chrome-512x512-1.png", - "idiom" : "universal", - "scale" : "2x" - }, - { - "filename" : "android-chrome-512x512-2.png", - "idiom" : "universal", - "scale" : "3x" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/ArtsyWidget/Assets.xcassets/Contents.json b/ArtsyWidget/Assets.xcassets/Contents.json deleted file mode 100644 index 73c00596a7f..00000000000 --- a/ArtsyWidget/Assets.xcassets/Contents.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/ArtsyWidget/Assets.xcassets/PrimaryArtworkImage.imageset/Contents.json b/ArtsyWidget/Assets.xcassets/PrimaryArtworkImage.imageset/Contents.json deleted file mode 100644 index 2e5646d47b5..00000000000 --- a/ArtsyWidget/Assets.xcassets/PrimaryArtworkImage.imageset/Contents.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "images" : [ - { - "filename" : "larger.jpg", - "idiom" : "universal", - "scale" : "1x" - }, - { - "filename" : "larger-1.jpg", - "idiom" : "universal", - "scale" : "2x" - }, - { - "filename" : "larger-2.jpg", - "idiom" : "universal", - "scale" : "3x" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/ArtsyWidget/Assets.xcassets/QuaternaryArtworkImage.imageset/Contents.json b/ArtsyWidget/Assets.xcassets/QuaternaryArtworkImage.imageset/Contents.json deleted file mode 100644 index 67728309896..00000000000 --- a/ArtsyWidget/Assets.xcassets/QuaternaryArtworkImage.imageset/Contents.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "images" : [ - { - "filename" : "larger-3.jpg", - "idiom" : "universal", - "scale" : "1x" - }, - { - "filename" : "larger-4.jpg", - "idiom" : "universal", - "scale" : "2x" - }, - { - "filename" : "larger-5.jpg", - "idiom" : "universal", - "scale" : "3x" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/ArtsyWidget/Assets.xcassets/SecondaryArtworkImage.imageset/Contents.json b/ArtsyWidget/Assets.xcassets/SecondaryArtworkImage.imageset/Contents.json deleted file mode 100644 index fe560bdf1db..00000000000 --- a/ArtsyWidget/Assets.xcassets/SecondaryArtworkImage.imageset/Contents.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "images" : [ - { - "filename" : "larger-1.jpg", - "idiom" : "universal", - "scale" : "1x" - }, - { - "filename" : "larger-2.jpg", - "idiom" : "universal", - "scale" : "2x" - }, - { - "filename" : "larger-3.jpg", - "idiom" : "universal", - "scale" : "3x" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/ArtsyWidget/Assets.xcassets/TertiaryArtworkImage.imageset/Contents.json b/ArtsyWidget/Assets.xcassets/TertiaryArtworkImage.imageset/Contents.json deleted file mode 100644 index 6ee05cee381..00000000000 --- a/ArtsyWidget/Assets.xcassets/TertiaryArtworkImage.imageset/Contents.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "images" : [ - { - "filename" : "larger-2.jpg", - "idiom" : "universal", - "scale" : "1x" - }, - { - "filename" : "larger-3.jpg", - "idiom" : "universal", - "scale" : "2x" - }, - { - "filename" : "larger-4.jpg", - "idiom" : "universal", - "scale" : "3x" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/ArtsyWidget/Assets.xcassets/WhiteArtsyLogo.imageset/Contents.json b/ArtsyWidget/Assets.xcassets/WhiteArtsyLogo.imageset/Contents.json deleted file mode 100644 index fbf20794d50..00000000000 --- a/ArtsyWidget/Assets.xcassets/WhiteArtsyLogo.imageset/Contents.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "images" : [ - { - "filename" : "white-artsy-logo.png", - "idiom" : "universal", - "scale" : "1x" - }, - { - "filename" : "white-artsy-logo-1.png", - "idiom" : "universal", - "scale" : "2x" - }, - { - "filename" : "white-artsy-logo-2.png", - "idiom" : "universal", - "scale" : "3x" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/ArtsyWidget/Assets.xcassets/WidgetBackground.colorset/Contents.json b/ArtsyWidget/Assets.xcassets/WidgetBackground.colorset/Contents.json deleted file mode 100644 index c716cfb38b0..00000000000 --- a/ArtsyWidget/Assets.xcassets/WidgetBackground.colorset/Contents.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "colors" : [ - { - "color" : { - "color-space" : "display-p3", - "components" : { - "alpha" : "1.000", - "blue" : "0.000", - "green" : "0.000", - "red" : "0.000" - } - }, - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/Artsy_Tests/App_Tests/ARAppDelegateSpec.m b/Artsy_Tests/App_Tests/ARAppDelegateSpec.m deleted file mode 100644 index 115cfd6fc23..00000000000 --- a/Artsy_Tests/App_Tests/ARAppDelegateSpec.m +++ /dev/null @@ -1,23 +0,0 @@ -#import "ARAppDelegate.h" - -SpecBegin(ARAppDelegate); - -__block ARAppDelegate *sut; - -it(@"doesn't setup a UI during will/did launch process", ^{ - sut = [[ARAppDelegate alloc] init]; - UIApplication *app = (id)[[NSObject alloc] init]; - - // not currently set up, but here for future proofing - if ([sut respondsToSelector:@selector(application:willFinishLaunchingWithOptions:)]){ - [sut application:app willFinishLaunchingWithOptions:@{}]; - } - - if ([sut respondsToSelector:@selector(application:didFinishLaunchingWithOptions:)]){ - [sut application:app didFinishLaunchingWithOptions:@{}]; - } - - expect(sut.window).to.beFalsy(); -}); - -SpecEnd diff --git a/Artsy_Tests/App_Tests/ArtsyEchoTests.m b/Artsy_Tests/App_Tests/ArtsyEchoTests.m deleted file mode 100644 index ebb9f634546..00000000000 --- a/Artsy_Tests/App_Tests/ArtsyEchoTests.m +++ /dev/null @@ -1,23 +0,0 @@ -#import "ArtsyEcho.h" - -@interface ArtsyEcho(Testing) - -- (BOOL)isLocalDiscoCompatible; - -@end - -SpecBegin(ArtsyEcho) - -__block ArtsyEcho *subject; - -describe(@"an empty Echo object", ^{ - beforeEach(^{ - subject = [[ArtsyEcho alloc] init]; - subject.features = @{}; - subject.messages = @{}; - }); - - pending(@"add any future useful tests here"); -}); - -SpecEnd diff --git a/Artsy_Tests/View_Controller_Tests/Artwork/ARLegacyArtworkViewControllerTests.m b/Artsy_Tests/View_Controller_Tests/Artwork/ARLegacyArtworkViewControllerTests.m deleted file mode 100644 index ba66e4486bd..00000000000 --- a/Artsy_Tests/View_Controller_Tests/Artwork/ARLegacyArtworkViewControllerTests.m +++ /dev/null @@ -1,326 +0,0 @@ -#import "ARLegacyArtworkViewController.h" -#import "ARArtworkView.h" -#import "ArtsyAPI+Artworks.h" - -void stubEmptyBidderPositions(void); -void stubSaleArtwork(void); -void stubBidder(BOOL requiresApproval); - -@interface ARLegacyArtworkViewController () -@property (nonatomic, strong) NSTimer *updateInterfaceWhenAuctionChangesTimer; -@end - -SpecBegin(ARLegacyArtworkViewController); - -__block ARLegacyArtworkViewController *vc; - -beforeEach(^{ - [OHHTTPStubs stubJSONResponseAtPath:@"/oauth2/access_token" withResponse:@{ @"access_token" : @"token", @"expires_in" : @"2034-11-11" }]; - [OHHTTPStubs stubJSONResponseAtPath:@"/api/v1/related/posts" withResponse:@[]]; - [OHHTTPStubs stubJSONResponseAtPath:@"/api/v1/related/fairs" withResponse:@[]]; - [OHHTTPStubs stubJSONResponseAtPath:@"/api/v1/related/sales" withResponse:@[]]; - [OHHTTPStubs stubJSONResponseAtPath:@"/api/v1/related/shows" withResponse:@[]]; - [OHHTTPStubs stubJSONResponseAtPath:@"/api/v1/collection/saved-artwork/artworks" withResponse:@[]]; - [OHHTTPStubs stubJSONResponseAtPath:@"/api/v1/related/layer/synthetic/main/artworks" withResponse:@[]]; - - // This is the mutation to say "we have seen this artwork" - [OHHTTPStubs stubJSONResponseForHost:@"metaphysics-staging.artsy.net" withResponse:@{ }]; - // ? - [OHHTTPStubs stubJSONResponseForHost:@"metaphysics-staging.artsy.net" withResponse:@{ }]; - - // This is the artwork request - [OHHTTPStubs stubJSONResponseForHost:@"metaphysics-staging.artsy.net" withResponse:@{ @"data": @{ @"artwork" : @{ @"id": @"some-artwork", @"title": @"Some Title" } } }]; -}); - -describe(@"no related data", ^{ - - it(@"shows artwork on iPhone", ^{ - [ARTestContext useDevice:ARDeviceTypePhone6 :^{ - - vc = [[ARLegacyArtworkViewController alloc] initWithArtworkID:@"some-artwork" fair:nil]; - [vc ar_presentWithFrame:[[UIScreen mainScreen] bounds]]; - [vc setHasFinishedScrolling]; - [vc.view snapshotViewAfterScreenUpdates:YES]; - - expect(vc.view).to.haveValidSnapshot(); - }]; - }); - - it(@"shows artwork on iPad", ^{ - [ARTestContext useDevice:ARDeviceTypePad :^{ - - vc = [[ARLegacyArtworkViewController alloc] initWithArtworkID:@"some-artwork" fair:nil]; - [vc ar_presentWithFrame:[[UIScreen mainScreen] bounds]]; - [vc setHasFinishedScrolling]; - [vc.view snapshotViewAfterScreenUpdates:YES]; - - expect(vc.view).to.haveValidSnapshot(); - }]; - }); -}); - -describe(@"with related artworks", ^{ - - it(@"shows the price when applicable", ^{ - - [OHHTTPStubs stubJSONResponseAtPath:@"/api/v1/related/layer/synthetic/main/artworks" - withParams:@{@"artwork[]": @"some-artwork"} - withResponse:@[ - @{ @"id": @"one", @"title": @"One", @"sale_message": @"$10" }, - @{ @"id": @"two", @"title": @"Two", @"sale_message": @"Sold" }, - @{ @"id": @"three", @"title": @"Three", @"sale_message": @"Not For Sale" }, - @{ @"id": @"four", @"title": @"Four" } - ]]; - - - [ARTestContext useDevice:ARDeviceTypePhone6 :^{ - - vc = [[ARLegacyArtworkViewController alloc] initWithArtworkID:@"some-artwork" fair:nil]; - [vc ar_presentWithFrame:[[UIScreen mainScreen] bounds]]; - [vc setHasFinishedScrolling]; - [vc.view snapshotViewAfterScreenUpdates:YES]; - - expect([(ARArtworkView *)vc.view relatedArtworksView]).to.haveValidSnapshot(); - }]; - }); - - describe(@"iPhone", ^{ - it(@"related artworks view looks correct", ^{ - - [OHHTTPStubs stubJSONResponseAtPath:@"/api/v1/related/layer/synthetic/main/artworks" - withParams:@{@"artwork[]": @"some-artwork"} - withResponse:@[ @{ @"id": @"one", @"title": @"One" }, @{ @"id": @"two", @"title": @"Two" } ]]; - - - [ARTestContext useDevice:ARDeviceTypePhone6 :^{ - - vc = [[ARLegacyArtworkViewController alloc] initWithArtworkID:@"some-artwork" fair:nil]; - [vc ar_presentWithFrame:[[UIScreen mainScreen] bounds]]; - [vc setHasFinishedScrolling]; - [vc.view snapshotViewAfterScreenUpdates:YES]; - - expect([(ARArtworkView *)vc.view relatedArtworksView]).to.haveValidSnapshot(); - }]; - - }); - }); - - describe(@"iPad", ^{ - - it(@"related artworks view looks correct", ^{ - [OHHTTPStubs stubJSONResponseAtPath:@"/api/v1/related/layer/synthetic/main/artworks" - withParams:@{@"artwork[]": @"some-artwork"} - withResponse:@[ - @{ @"id": @"one", @"title": @"One" }, @{ @"id": @"two", @"title": @"Two" }, - @{ @"id": @"three", @"title": @"Three" }, @{ @"id": @"four", @"title": @"Four" }, - @{ @"id": @"five", @"title": @"Five" }, @{ @"id": @"six", @"title": @"Six" }, - ]]; - - [ARTestContext useDevice:ARDeviceTypePad :^{ - - vc = [[ARLegacyArtworkViewController alloc] initWithArtworkID:@"some-artwork" fair:nil]; - [vc ar_presentWithFrame:[[UIScreen mainScreen] bounds]]; - [vc setHasFinishedScrolling]; - [vc.view snapshotViewAfterScreenUpdates:YES]; - - expect([(ARArtworkView *)vc.view relatedArtworksView]).to.haveValidSnapshot(); - }]; - }); - }); -}); - -it(@"shows an upublished banner", ^{ - - NSDictionary *artworkDict = @{ - @"id" : @"artwork-id", - @"title" : @"Artwork Title", - @"published" : @NO, - }; - - [OHHTTPStubs stubJSONResponseForHost:@"metaphysics-staging.artsy.net" withResponse:@{ @"data": @{ @"artwork" : artworkDict } }]; - - Artwork *artwork = [Artwork modelWithJSON:artworkDict]; - CGRect frame = [[UIScreen mainScreen] bounds]; - vc = [[ARLegacyArtworkViewController alloc] initWithArtwork:artwork fair:nil]; - [vc ar_presentWithFrame:frame]; - - // The callbacks we're interested in are registered on view heriarchy things - UIView *view = [[UIView alloc] initWithFrame:frame]; - [view addSubview:vc.view]; - - [vc setHasFinishedScrolling]; - - expect(vc.view).to.haveValidSnapshot(); -}); - - -describe(@"at a closed auction", ^{ - before(^{ - [OHHTTPStubs stubJSONResponseAtPath:@"/api/v1/related/sales" withResponse:@[@{ - @"id": @"some-auction", - @"name": @"Some Auction", - @"is_auction": @YES, - @"start_at": @"2000-04-07T16:00:00.000+00:00", - @"end_at": @"2014-04-17T03:59:00.000+00:00", - @"auction_state": @"closed", - @"published": @YES - }]]; - [OHHTTPStubs stubJSONResponseAtPath:@"/api/v1/me/bidders" withResponse:@[]]; - [OHHTTPStubs stubJSONResponseAtPath:@"/api/v1/related/layer/synthetic/main/artworks" withResponse:@[]]; - stubEmptyBidderPositions(); - stubSaleArtwork(); - }); - - it(@"displays artwork on iPhone", ^{ - [ARTestContext useDevice:ARDeviceTypePhone6 :^{ - - vc = [[ARLegacyArtworkViewController alloc] initWithArtworkID:@"some-artwork" fair:nil]; - [vc ar_presentWithFrame:[[UIScreen mainScreen] bounds]]; - [vc setHasFinishedScrolling]; - - [vc.view snapshotViewAfterScreenUpdates:YES]; - expect(vc.view).to.haveValidSnapshot(); - }]; - }); - - it(@"displays artwork on iPad", ^{ - [ARTestContext useDevice:ARDeviceTypePad :^{ - - vc = [[ARLegacyArtworkViewController alloc] initWithArtworkID:@"some-artwork" fair:nil]; - [vc ar_presentWithFrame:[[UIScreen mainScreen] bounds]]; - [vc setHasFinishedScrolling]; - [vc.view snapshotViewAfterScreenUpdates:YES]; - - - expect(vc.view).to.haveValidSnapshot(); - - }]; - }); - - it(@"does not set up a timer", ^{ - [ARTestContext useDevice:ARDeviceTypePad :^{ - vc = [[ARLegacyArtworkViewController alloc] initWithArtworkID:@"some-artwork" fair:nil]; - [vc ar_presentWithFrame:[[UIScreen mainScreen] bounds]]; - [vc setHasFinishedScrolling]; - - expect(vc.updateInterfaceWhenAuctionChangesTimer).to.beNil(); - }]; - }); -}); - - -describe(@"at an auction requireing registration", ^{ - before(^{ - [OHHTTPStubs stubJSONResponseAtPath:@"/api/v1/related/sales" withResponse:@[@{ - @"id": @"some-auction", - @"name": @"Some Auction", - @"is_auction": @YES, - @"start_at": @"2000-04-07T16:00:00.000+00:00", - @"end_at": @"2020-04-17T03:59:00.000+00:00", - @"auction_state": @"open", - @"published": @YES, - }]]; - - [OHHTTPStubs stubJSONResponseAtPath:@"/api/v1/related/layer/synthetic/main/artworks" withResponse:@[]]; - - stubEmptyBidderPositions(); - stubBidder(YES); - stubSaleArtwork(); - }); - - // This class is about to be removed, and the test is failing because - // the [NSSDate dte] isn't stubbed. Oh well. See: MX-50. - pending(@"displays artwork on iPhone", ^{ - vc = [[ARLegacyArtworkViewController alloc] initWithArtworkID:@"some-artwork" fair:nil]; - [vc ar_presentWithFrame:[[UIScreen mainScreen] bounds]]; - [vc setHasFinishedScrolling]; - - [vc.view snapshotViewAfterScreenUpdates:YES]; - expect(vc.view).to.haveValidSnapshot(); - }); -}); - -describe(@"before a live auction", ^{ - before(^{ - [OHHTTPStubs stubJSONResponseAtPath:@"/api/v1/related/sales" withResponse:@[ - @{ - @"id": @"some-auction", - @"name": @"Some Auction", - @"is_auction": @YES, - @"start_at": @"2000-04-07T16:00:00.000+00:00", - @"live_start_at": @"2020-04-17T03:59:00.000+00:00", - @"auction_state": @"open", - @"published": @YES, - }]]; - [OHHTTPStubs stubJSONResponseAtPath:@"/api/v1/sale/some-auction/sale_artworks" withResponse:@[]]; - [OHHTTPStubs stubJSONResponseAtPath:@"/api/v1/related/layer/synthetic/main/artworks" withResponse:@[]]; - stubEmptyBidderPositions(); - stubBidder(NO); - stubSaleArtwork(); - }); - - it(@"sets up an internal timer", ^{ - vc = [[ARLegacyArtworkViewController alloc] initWithArtworkID:@"some-artwork" fair:nil]; - [vc ar_presentWithFrame:[[UIScreen mainScreen] bounds]]; - [vc setHasFinishedScrolling]; - - expect(vc.updateInterfaceWhenAuctionChangesTimer).toNot.beNil(); - }); -}); - -it(@"creates an NSUserActivity", ^{ - vc = [[ARLegacyArtworkViewController alloc] initWithArtworkID:@"some-artwork" fair:nil]; - [vc ar_presentWithFrame:[[UIScreen mainScreen] bounds]]; - [vc setHasFinishedScrolling]; - [vc.view snapshotViewAfterScreenUpdates:YES]; - - expect(vc.userActivity).notTo.beNil(); - expect(vc.userActivity.title).to.equal(@"Some Title"); -}); - -it(@"calls recordViewingOfArtwork within viewDidLoad", ^{ - ARLegacyArtworkViewController *vc = [[ARLegacyArtworkViewController alloc] initWithArtworkID:@"some-artwork" fair:nil]; - id apiMock = [OCMockObject niceMockForClass:ArtsyAPI.class]; - - [[apiMock expect] recordViewingOfArtwork:@"some-artwork" success:nil failure:nil]; - - [vc viewWillAppear:NO]; - [apiMock verify]; -}); - - - -pending(@"at a fair"); - -SpecEnd; - -void stubEmptyBidderPositions() { - [OHHTTPStubs stubJSONResponseAtPath:@"/api/v1/me/bidder_positions" withParams:@{ - @"artwork_id":@"some-artwork", - @"sale_id":@"some-auction" - } withResponse:@[]]; -} - -void stubSaleArtwork() { - [OHHTTPStubs stubJSONResponseAtPath:@"/api/v1/sale/some-auction/sale_artwork/some-artwork" withResponse:@{ - @"id": @"some-artwork", - @"sale_id": @"some-auction", - @"bidder_positions_count": @(1), - @"opening_bid_cents": @(1700000), - @"highest_bid_amount_cents": @(2200000), - @"minimum_next_bid_cents": @(2400000), - @"highest_bid": @{ - @"id": @"highest-bid-id", - @"amount_cents": @(2200000), - } - }]; -} - -void stubBidder(BOOL requiresApproval) { - [OHHTTPStubs stubJSONResponseAtPath:@"/api/v1/me/bidders" withResponse:@[ - @{ - @"qualified_for_bidding": @(!requiresApproval), - @"id":@"asdada", - @"sale": @{ @"id" : @"some-auction", @"require_bidder_approval": @(requiresApproval) }, - }]]; -} diff --git a/Artsy_Tests/View_Controller_Tests/Shows/ARSimpleShowFeedViewControllerSpec.m b/Artsy_Tests/View_Controller_Tests/Shows/ARSimpleShowFeedViewControllerSpec.m deleted file mode 100644 index a1775db8585..00000000000 --- a/Artsy_Tests/View_Controller_Tests/Shows/ARSimpleShowFeedViewControllerSpec.m +++ /dev/null @@ -1,47 +0,0 @@ -#import "ARSimpleShowFeedViewController.h" -#import "ARTopTapThroughTableView.h" -#import "ARFeedTimeline.h" -#import "ARShowFeedNetworkStatusModel.h" - - -@interface ARSimpleShowFeedViewController () -@property (nonatomic, strong) ARSectionData *section; -@property (nonatomic, strong) ORStackView *headerStackView; -@property (nonatomic, strong) ARFeedTimeline *feedTimeline; -@property (nonatomic, strong) ARShowFeedNetworkStatusModel *networkStatus; -@end - -SpecBegin(ARSimpleShowFeedViewController); - -__block ARSimpleShowFeedViewController *sut; - -describe(@"intial setup", ^{ - before(^{ - [OHHTTPStubs stubJSONResponseAtPath:@"/api/v1/sets" withResponse:@{}]; - [OHHTTPStubs stubJSONResponseAtPath:@"/api/v1/shows/feed" withResponse:@{ - @"next" : @"some cursor", - @"results" : @[ @{ @"id": @"show-id", @"name": @"Show Title", @"_type" : @"PartnerShow" } ] - }]; - - ARFeedTimeline *timeline = [[ARFeedTimeline alloc] initWithFeed:[[ARShowFeed alloc] init]]; - sut = [[ARSimpleShowFeedViewController alloc] initWithFeedTimeline:timeline]; - }); - - - it(@"uses a ARTopTapThroughTableView so that users can can tap hero units", ^{ - expect([sut classForTableView]).to.equal(ARTopTapThroughTableView.class); - }); - - it(@"looks right when loading", ^{ - expect(sut).to.haveValidSnapshot(); - }); - - it(@"looks right when offline", ^{ - [sut ar_presentWithFrame:[UIScreen mainScreen].bounds]; - [sut.networkStatus showOfflineView]; - expect(sut).to.haveValidSnapshot(); - }); -}); - - -SpecEnd diff --git a/Podfile b/Podfile deleted file mode 100644 index 776fa8f54ac..00000000000 --- a/Podfile +++ /dev/null @@ -1,250 +0,0 @@ -# frozen_string_literal: true - -using_bundler = defined? Bundler -unless using_bundler - puts "\nPlease re-run using:".red - puts " yarn pod-install\n\n" - exit(1) -end - - -require 'dotenv' -Dotenv.load('.env.shared') - - -source 'https://github.com/artsy/Specs.git' -source 'https://cdn.cocoapods.org/' - - -require_relative './node_modules/react-native/scripts/react_native_pods' -require_relative './node_modules/@react-native-community/cli-platform-ios/native_modules' - -platform :ios, '12.1' -inhibit_all_warnings! - -require 'down' -require 'json' -require 'fileutils' - - -$ReactNativeMapboxGLIOSVersion = '~> 6.4' - -def check_for_existing_netrc_file - if !ENV['MAPBOX_DOWNLOAD_TOKEN'] - raise "You need a MAPBOX_DOWNLOAD_TOKEN in your .env.shared file.\nIf you work at artsy, check 1password.\nOtherwise create your own in the mapbox dashboard. https://docs.mapbox.com/ios/maps/guides/install" - end - # mapbox needs credentials in `~/.netrc`, so we put them there and then remove them in post-pod-install.rb - $netrc_path = File.expand_path('~/.netrc') - user_already_had_a_netrc_file = File.exists?($netrc_path) - if user_already_had_a_netrc_file - system("touch .i-had-a-netrc-file") - else - system("rm -rf .i-had-a-netrc-file") - end -end - -def add_mapbox_creds - File.open($netrc_path, 'a+', 0600) { |f| - f.write("""machine api.mapbox.com -login mapbox -password #{ENV['MAPBOX_DOWNLOAD_TOKEN']} -""") - } -end - -check_for_existing_netrc_file -add_mapbox_creds - - -pre_install do |installer| - $RNMBGL.pre_install(installer) -end - -target 'Artsy' do - if ENV['CI'] - config = use_native_modules!(packages_to_skip: ['react-native-flipper']) - else - config = use_native_modules! - end - use_react_native!( - :path => './node_modules/react-native', - :production => ENV['CIRCLE_BUILD_NUM'], - ) - - # Networking - pod 'AFNetworking', '2.7.0', subspecs: %w[Reachability Serialization Security NSURLSession NSURLConnection] - pod 'AFOAuth1Client', git: 'https://github.com/artsy/AFOAuth1Client.git', tag: '0.4.0-subspec-fix' - pod 'AFNetworkActivityLogger' - pod 'SDWebImage', '5.8.3' - - # Core - pod 'ARGenericTableViewController', git: 'https://github.com/artsy/ARGenericTableViewController.git' - pod 'CocoaLumberjack', '3.7.2' - pod 'FLKAutoLayout', git: 'https://github.com/artsy/FLKAutoLayout.git', branch: 'v1' - pod 'FXBlurView', '1.6.4' - pod 'ISO8601DateFormatter', git: 'https://github.com/artsy/iso-8601-date-formatter' - pod 'JLRoutes', git: 'https://github.com/artsy/JLRoutes.git' - pod 'JSDecoupledAppDelegate' - pod 'Mantle', '1.5.6' - pod 'MMMarkdown', '0.4' - pod 'NPKeyboardLayoutGuide' - pod 'UICKeyChainStore' - pod 'MARKRangeSlider' - pod 'EDColor', '1.0.1' - - # Core owned by Artsy - pod 'ORStackView', '2.0.3' - pod 'UIView+BooleanAnimations' - pod 'Aerodramus', '2.0.0' - - # Language Enhancements - pod 'MultiDelegate' - pod 'ObjectiveSugar' - - # Artsy Spec repo stuff - pod 'Artsy+UIFonts', '3.3.4' - pod 'Artsy-UIButtons' - pod 'Artsy+UIColors' - pod 'Artsy+UILabels' - pod 'Extraction' - - pod 'Emission', path: './emission', :inhibit_warnings => false - - # For Stripe integration with Emission. Using a fork for this issue: https://github.com/tipsi/tipsi-stripe/issues/408 - pod 'Pulley', git: 'https://github.com/artsy/Pulley.git', branch: 'master' - - # Facebook - pod 'FBSDKCoreKit', '9.3.0' - pod 'FBSDKLoginKit', '9.3.0' - pod 'FBSDKShareKit', '9.3.0' - - # Google & Firebase - pod 'GoogleSignIn', '5.0.2' - pod 'Firebase/Auth', '8.1.1' - - # Analytics - pod 'Segment-Appboy' - pod 'Segment-Adjust' - - # Developer Pods - pod 'DHCShakeNotifier', '0.2.0' - pod 'ORKeyboardReactingApplication', '0.5.3' - - # Swift pods 🎉 - pod 'Then', '2.3.0' - pod 'Interstellar/Core', git: 'https://github.com/artsy/Interstellar.git', branch: 'observable-unsubscribe' - pod 'Starscream', '3.0.4' - pod 'SwiftyJSON', '4.0.0' - - # Used in Live Auctions to hold user-state - pod 'JWTDecode', '2.0.0' - - target 'Artsy Tests' do - inherit! :search_paths - - pod 'OHHTTPStubs' - pod 'XCTest+OHHTTPStubSuiteCleanUp' - pod 'Specta' - pod 'Expecta', '1.0.6' - pod 'Expecta+Snapshots', '3.1.1' - pod 'OCMock' - pod 'Forgeries/Mocks' - - # Swift pods 🎉 - pod 'Quick', '2.0.0' - pod 'Nimble', '7.3.4' - pod 'Nimble-Snapshots', '6.3.0' - end -end - - -# Enables Flipper but not for CI. -# Note that if you have use_frameworks! enabled, Flipper will not work and -# you should disable these next few lines. -if !ENV['CI'] - use_flipper!({ 'Flipper' => '0.87.0', 'Flipper-Folly' => '2.5.3', 'Flipper-RSocket' => '1.3.1' }) -end - -post_install do |installer| - -if !ENV['CI'] - flipper_post_install(installer) -end - - $RNMBGL.post_install(installer) - - # So we can show some of this stuff in the Admin panel - emission_podspec_json = installer.pod_targets.find { |f| f.name == 'Emission' }.specs[0].to_json - File.write('Pods/Local Podspecs/Emission.podspec.json', emission_podspec_json) - - # Disable bitcode for now. Specifically needed for HockeySDK and ARAnalytics. - installer.pods_project.targets.each do |target| - target.build_configurations.each do |config| - config.build_settings['ENABLE_BITCODE'] = 'NO' - end - end - - # Forces the minimum to be 9.0 as that's our last deployment target, and new xcode build tools - # give an error in Xcode 10 - installer.pods_project.targets.each do |target| - target.build_configurations.each do |config| - if config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'].to_f < 9.0 - config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '9.0' - end - end - end - - # CI was having trouble shipping signed builds - # https://github.com/CocoaPods/CocoaPods/issues/4011 - installer.pods_project.targets.each do |target| - target.build_configurations.each do |config| - config.build_settings['EXPANDED_CODE_SIGN_IDENTITY'] = '' - config.build_settings['CODE_SIGNING_REQUIRED'] = 'NO' - config.build_settings['CODE_SIGNING_ALLOWED'] = 'NO' - end - end - - # For now Nimble Snapshots needs to stay at Swift 4.0 - swift4 = ['Nimble-Snapshots'] - installer.pods_project.targets.each do |target| - target.build_configurations.each do |config| - config.build_settings['SWIFT_VERSION'] = '4.0' if swift4.include?(target.name) - end - end - - # Support toggling the RCT_Dev build flag so that we can have it in dev, but not in prod - react = installer.pods_project.targets.find { |target| target.name == 'React' } - react.build_configurations.each do |config| - allow_react_native_debugging = config.name == 'Debug' ? '1' : '0' - config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] = '$(inherited) RCT_DEV=' + allow_react_native_debugging - end - - # TODO: - # * ORStackView: Move Laura's changes into master and update - # * Send PRs for the rest - %w[ - Pods/ORStackView/Classes/ios/ORStackView.h - ].flat_map { |x| Dir.glob(x) }.each do |header| - system("chmod +w #{header}") - addition = "#import \n" - contents = File.read(header) - next if contents.include?(addition) - - File.open(header, 'w') do |file| - file.puts addition - file.puts contents - end - end - - # TODO: Might be nice to have a `cocoapods-patch` plugin that applies patches like `patch-package` does for npm. - %w[ - Pods/Nimble/Sources/NimbleObjectiveC - Pods/Nimble-Snapshots - Pods/Quick/Sources/QuickObjectiveC - ].flat_map { |x| Dir.glob(File.join(x, '**/*.{h,m}')) }.each do |header| - system("chmod +w #{header}") - contents = File.read(header) - patched = contents.sub(%r{["<]\w+/(\w+-Swift\.h)[">]}, '"\1"') - File.write(header, patched) if Regexp.last_match - end -end diff --git a/README.md b/README.md index 13ec7120d02..9a0bfb5d8b8 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,5 @@ - ### Meta - **State:** Production @@ -9,10 +8,9 @@ ### Intro -Don't know what Artsy is? +Don't know what Artsy is? Check out [this overview](https://github.com/artsy/README/blob/main/culture/what-is-artsy.md#artsy-in-a-nutshell) or read our objc.io on [team culture](https://www.objc.io/issues/22-scale/artsy). - [Artsy](https://github.com/artsy) is an Open Source project. Feel free to check the [Artsy readme](https://github.com/artsy/README) for an overview as well as [Practices](https://github.com/artsy/README/tree/main/practices) and [Playbooks](https://github.com/artsy/README/tree/main/playbooks). Eigen is Artsy's mobile app repository. @@ -21,7 +19,6 @@ Want to know more about Eigen? Read the [mobile](http://artsy.github.io/blog/cat Other mobile projects are [Energy](https://github.com/artsy/energy) and [Eidolon](https://github.com/artsy/eidolon), with the retired [Emission](https://github.com/artsy/emission) and [Emergence](https://github.com/artsy/emergence). - ### Getting Started - Get set up [here](docs/getting_started.md). diff --git a/android/app/src/main/java/net/artsy/app/MainActivity.java b/android/app/src/main/java/net/artsy/app/MainActivity.java index 768d5b4f436..104fb5bb728 100644 --- a/android/app/src/main/java/net/artsy/app/MainActivity.java +++ b/android/app/src/main/java/net/artsy/app/MainActivity.java @@ -31,7 +31,7 @@ public class MainActivity extends ReactActivity { */ @Override protected String getMainComponentName() { - return "Artsy"; + return "eigen"; } @Override diff --git a/app.json b/app.json index 5d1bd85f697..c525f4ee744 100644 --- a/app.json +++ b/app.json @@ -1,4 +1,5 @@ { + "appName": "eigen", "version": "7.3.9", "isAndroidBeta": false } diff --git a/docs/fetching_data.md b/docs/fetching_data.md index 200d6c97d24..76ca21d3679 100644 --- a/docs/fetching_data.md +++ b/docs/fetching_data.md @@ -14,7 +14,6 @@ and replace `` with the value of `Metaphysics INTROSPECT_TOKEN` in 1Pass ## Example request - Screen Shot 2022-05-24 at 18 33 10 note that in some of the requests you may need to use something like `(first: $some-number-here)` (or last) but some requests work without it as well. diff --git a/emission/Pod/Classes/EigenCommunications/ARNotificationsManager.h b/emission/Pod/Classes/EigenCommunications/ARNotificationsManager.h index b19c43d92b2..436ec94abe7 100644 --- a/emission/Pod/Classes/EigenCommunications/ARNotificationsManager.h +++ b/emission/Pod/Classes/EigenCommunications/ARNotificationsManager.h @@ -41,6 +41,7 @@ - (void)requestNavigation:(NSString *)route; - (void)requestNavigation:(NSString *)route withProps:(NSDictionary *)props; +- (void)requestModalDismiss; - (void)afterBootstrap:(void (^)(void))completion; @end diff --git a/emission/Pod/Classes/EigenCommunications/ARNotificationsManager.m b/emission/Pod/Classes/EigenCommunications/ARNotificationsManager.m index 003c871b406..b44b0004a3e 100644 --- a/emission/Pod/Classes/EigenCommunications/ARNotificationsManager.m +++ b/emission/Pod/Classes/EigenCommunications/ARNotificationsManager.m @@ -48,10 +48,12 @@ @interface ARNotificationsManager () static NSString *stateChanged = @"STATE_CHANGED"; static NSString *reactStateChanged = @"STATE_CHANGED"; static NSString *requestNavigation = @"REQUEST_NAVIGATION"; +static NSString *requestModalDismiss = @"REQUEST_MODAL_DISMISS"; static NSString *eventTracking = @"EVENT_TRACKING"; static NSString *identifyTracking = @"IDENTIFY_TRACKING"; + @implementation ARNotificationsManager RCT_EXPORT_MODULE(); @@ -157,6 +159,11 @@ - (void)requestNavigation:(NSString *)route withProps:(NSDictionary *)props [self dispatchAfterBootstrap:requestNavigation data:@{@"route": route, @"props": props}]; } +- (void)requestModalDismiss +{ + [self dispatchAfterBootstrap:requestModalDismiss data:@{}]; +} + // Will be called when this module's first listener is added. - (void)startObserving { diff --git a/fastlane/Fastfile b/fastlane/Fastfile index 5c4b1aa61fc..b3ab77d5743 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -19,13 +19,13 @@ end app_json_path = "../app.json" app_json = JSON.parse(File.read(app_json_path)) -app_plist = '../Artsy/App_Resources/Artsy-Info.plist' +app_plist = '../ios/Artsy/App_Resources/Artsy-Info.plist' ios_targets = { 'net.artsy.artsy' => { :name => 'Artsy', :plist_path => app_plist }, - 'net.artsy.artsy.Artsy-Stickers' => { :name => 'Artsy Stickers', :plist_path => '../Artsy Stickers/Info.plist' }, - 'net.artsy.artsy.ArtsyWidget' => { :name => 'ArtsyWidgetExtension', :plist_path => '../ArtsyWidget/Info.plist' }, - 'net.artsy.artsy.BrazePushServiceExtension' => { :name => 'BrazePushServiceExtension', :plist_path => '../BrazePushServiceExtension/Info.plist' } + 'net.artsy.artsy.Artsy-Stickers' => { :name => 'ArtsyStickers', :plist_path => '../ios/ArtsyStickers/Info.plist' }, + 'net.artsy.artsy.ArtsyWidget' => { :name => 'ArtsyWidgetExtension', :plist_path => '../ios/ArtsyWidget/Info.plist' }, + 'net.artsy.artsy.BrazePushServiceExtension' => { :name => 'BrazePushServiceExtension', :plist_path => '../ios/BrazePushServiceExtension/Info.plist' } } lane :ship_beta_ios do @@ -50,7 +50,7 @@ lane :ship_beta_ios do ios_targets.each do |id, meta| disable_automatic_code_signing( - path: 'Artsy.xcodeproj', + path: 'ios/Artsy.xcodeproj', team_id: '23KMWZ572J', targets: [meta[:name]], profile_name: "match AppStore #{id}" @@ -58,14 +58,14 @@ lane :ship_beta_ios do end root = File.expand_path('..', __dir__) - bundle_version = `/usr/libexec/PlistBuddy -c "print CFBundleVersion" #{File.join(root, 'Artsy/App_Resources/Artsy-Info.plist')}`.strip + bundle_version = `/usr/libexec/PlistBuddy -c "print CFBundleVersion" #{File.join(root, 'ios/Artsy/App_Resources/Artsy-Info.plist')}`.strip tag_and_push(tag: "ios-#{latest_version}-#{bundle_version}") # important! this much match the release version specified # in Eigen in order for sourcemaps to work correctly sentry_release_name = "ios-#{latest_version}-#{bundle_version}" - build_ios_app(configuration: 'Store', silent: true) + build_ios_app(workspace: 'ios/Artsy.xcworkspace', configuration: 'Store', silent: true) upload_sentry_artifacts(sentry_release_name: sentry_release_name, dist_version: bundle_version, platform: "ios") diff --git a/index-common.js b/index-common.js new file mode 100644 index 00000000000..eb06932b6e6 --- /dev/null +++ b/index-common.js @@ -0,0 +1,28 @@ +global.__TEST__ = false +global.__STORYBOOK__ = false + +// for more info about metaflags, look [here](/docs/metaflags.md) +let metaflags = { + startStorybook: false, +} + +if (__DEV__) { + try { + const fileContents = require("./metaflags.json") + metaflags = { ...metaflags, ...fileContents } + } catch {} +} + +require("./src/app/errorReporting/sentrySetup").setupSentry({ environment: "bootstrap" }) + +if (metaflags.startStorybook) { + global.__STORYBOOK__ = true + require("./src/storybook") +} else { + const appName = require("./app.json").appName + require("react-native-gesture-handler") + require("react-native-screens").enableScreens() + const { AppRegistry } = require("react-native") + const { App } = require("./src/app/App") + AppRegistry.registerComponent(appName, () => App) +} diff --git a/index.android.js b/index.android.js index 90ab72942f4..25d9812958b 100644 --- a/index.android.js +++ b/index.android.js @@ -1,27 +1,2 @@ -global.__TEST__ = false -global.__STORYBOOK__ = false - -// for more info about metaflags, look [here](/docs/metaflags.md) -let metaflags = { - startStorybook: false, -} -if (__DEV__) { - try { - const fileContents = require("./metaflags.json") - metaflags = { ...metaflags, ...fileContents } - } catch {} -} - -require("./src/app/errorReporting/sentrySetup").setupSentry({ environment: "bootstrap" }) - -if (metaflags.startStorybook) { - global.__STORYBOOK__ = true - require("./src/storybook") -} else { - require("react-native-gesture-handler") - require("react-native-screens").enableScreens() - require("./src/app/utils/PushNotification").configure() - const { AppRegistry } = require("react-native") - const { App } = require("./src/app/AndroidApp") - AppRegistry.registerComponent("Artsy", () => App) -} +require("./src/app/utils/PushNotification").configure() +require("./index-common") diff --git a/index.ios.js b/index.ios.js index 80557712ef5..e31c47237c9 100644 --- a/index.ios.js +++ b/index.ios.js @@ -1,24 +1 @@ -global.__TEST__ = false -global.__STORYBOOK__ = false - -// for more info about metaflags, look [here](/docs/metaflags.md) -let metaflags = { - startStorybook: false, -} -if (__DEV__) { - try { - const fileContents = require("./metaflags.json") - metaflags = { ...metaflags, ...fileContents } - } catch {} -} - -require("./src/app/errorReporting/sentrySetup").setupSentry({ environment: "bootstrap" }) - -if (metaflags.startStorybook) { - global.__STORYBOOK__ = true - require("./src/storybook") -} else { - require("react-native-gesture-handler") - require("react-native-screens").enableScreens() - require("./src/app/AppRegistry") -} +require("./index-common") \ No newline at end of file diff --git a/ios/Artsy.xcodeproj/project.pbxproj b/ios/Artsy.xcodeproj/project.pbxproj new file mode 100644 index 00000000000..674a2ab7ed6 --- /dev/null +++ b/ios/Artsy.xcodeproj/project.pbxproj @@ -0,0 +1,4803 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 54; + objects = { + +/* Begin PBXBuildFile section */ + 1A550F0E282AE4D300126D22 /* ARAuctionWebViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 1A550F0D282AE4D200126D22 /* ARAuctionWebViewController.m */; }; + 50E313674D9D51E2749A13E7 /* libPods-ArtsyTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4E68A5AE2269760F44D9E0B7 /* libPods-ArtsyTests.a */; }; + 91DE2877BFB369D1F40E8172 /* libPods-Artsy.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 41B4CDDC19345D9AFB1E708B /* libPods-Artsy.a */; }; + CB43266627E8F39B00B29DD6 /* Stickers.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = CB43266527E8F39B00B29DD6 /* Stickers.xcassets */; }; + CB43266A27E8F39B00B29DD6 /* ArtsyStickers.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = CB43266327E8F39900B29DD6 /* ArtsyStickers.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; + CB43267627E8F6F900B29DD6 /* NotificationService.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB43267527E8F6F900B29DD6 /* NotificationService.swift */; }; + CB43267A27E8F6F900B29DD6 /* BrazePushServiceExtension.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = CB43267327E8F6F900B29DD6 /* BrazePushServiceExtension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; + CB43268427E8FA6900B29DD6 /* WidgetKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CB43268327E8FA6900B29DD6 /* WidgetKit.framework */; }; + CB43268627E8FA6900B29DD6 /* SwiftUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CB43268527E8FA6900B29DD6 /* SwiftUI.framework */; }; + CB43268C27E8FA6B00B29DD6 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = CB43268B27E8FA6B00B29DD6 /* Assets.xcassets */; }; + CB43269227E8FA6B00B29DD6 /* ArtsyWidgetExtension.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = CB43268227E8FA6900B29DD6 /* ArtsyWidgetExtension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; + CB4326EF27E8FBEF00B29DD6 /* ArtsyWidgets.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB4326B927E8FAD900B29DD6 /* ArtsyWidgets.swift */; }; + CB4326F027E8FC0200B29DD6 /* FeaturedArtworks+View.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB4326A327E8FAD900B29DD6 /* FeaturedArtworks+View.swift */; }; + CB4326F127E8FC0200B29DD6 /* FeaturedArtworks+Provider.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB4326A227E8FAD900B29DD6 /* FeaturedArtworks+Provider.swift */; }; + CB4326F227E8FC0200B29DD6 /* FeaturedArtworks.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB4326A427E8FAD900B29DD6 /* FeaturedArtworks.swift */; }; + CB4326F327E8FC0200B29DD6 /* FeaturedArtworks+Widget.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB4326A127E8FAD900B29DD6 /* FeaturedArtworks+Widget.swift */; }; + CB4326F427E8FC0200B29DD6 /* FeaturedArtworks+Entry.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB43269E27E8FAD900B29DD6 /* FeaturedArtworks+Entry.swift */; }; + CB4326F527E8FC0200B29DD6 /* FeaturedArtworks+SmallView.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB43269F27E8FAD900B29DD6 /* FeaturedArtworks+SmallView.swift */; }; + CB4326F627E8FC0200B29DD6 /* FeaturedArtworks+Timeline.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB4326A027E8FAD900B29DD6 /* FeaturedArtworks+Timeline.swift */; }; + CB4326F727E8FC0200B29DD6 /* FeaturedArtworks+LargeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB4326A527E8FAD900B29DD6 /* FeaturedArtworks+LargeView.swift */; }; + CB4326F827E8FC0200B29DD6 /* FeaturedArtworks+MediumView.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB4326A627E8FAD900B29DD6 /* FeaturedArtworks+MediumView.swift */; }; + CB4326F927E8FC0600B29DD6 /* Fixtures.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB4326AE27E8FAD900B29DD6 /* Fixtures.swift */; }; + CB4326FA27E8FC0D00B29DD6 /* FullBleed+Entry.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB43269727E8FAD900B29DD6 /* FullBleed+Entry.swift */; }; + CB4326FB27E8FC0D00B29DD6 /* FullBleed+Widget.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB43269C27E8FAD900B29DD6 /* FullBleed+Widget.swift */; }; + CB4326FC27E8FC0D00B29DD6 /* FullBleed.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB43269A27E8FAD900B29DD6 /* FullBleed.swift */; }; + CB4326FD27E8FC0D00B29DD6 /* FullBleed+View.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB43269B27E8FAD900B29DD6 /* FullBleed+View.swift */; }; + CB4326FE27E8FC0D00B29DD6 /* FullBleed+Timeline.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB43269927E8FAD900B29DD6 /* FullBleed+Timeline.swift */; }; + CB4326FF27E8FC0D00B29DD6 /* FullBleed+Provider.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB43269827E8FAD900B29DD6 /* FullBleed+Provider.swift */; }; + CB43270027E8FC1600B29DD6 /* LatestArticles+MediumView.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB4326B327E8FAD900B29DD6 /* LatestArticles+MediumView.swift */; }; + CB43270127E8FC1600B29DD6 /* LatestArticles+View.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB4326B027E8FAD900B29DD6 /* LatestArticles+View.swift */; }; + CB43270227E8FC1600B29DD6 /* LatestArticles+Timeline.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB4326B427E8FAD900B29DD6 /* LatestArticles+Timeline.swift */; }; + CB43270327E8FC1600B29DD6 /* LatestArticles+SmallView.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB4326B727E8FAD900B29DD6 /* LatestArticles+SmallView.swift */; }; + CB43270427E8FC1600B29DD6 /* LatestArticles.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB4326B827E8FAD900B29DD6 /* LatestArticles.swift */; }; + CB43270527E8FC1600B29DD6 /* LatestArticles+Entry.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB4326B127E8FAD900B29DD6 /* LatestArticles+Entry.swift */; }; + CB43270627E8FC1600B29DD6 /* LatestArticles+LargeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB4326B527E8FAD900B29DD6 /* LatestArticles+LargeView.swift */; }; + CB43270727E8FC1600B29DD6 /* LatestArticles+Provider.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB4326B627E8FAD900B29DD6 /* LatestArticles+Provider.swift */; }; + CB43270827E8FC1600B29DD6 /* LatestArticles+Widget.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB4326B227E8FAD900B29DD6 /* LatestArticles+Widget.swift */; }; + CB43270927E8FC1F00B29DD6 /* ArticleParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB4326C427E8FAD900B29DD6 /* ArticleParser.swift */; }; + CB43270A27E8FC1F00B29DD6 /* VolleyClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB4326BC27E8FAD900B29DD6 /* VolleyClient.swift */; }; + CB43270B27E8FC1F00B29DD6 /* VolleyPayload.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB4326BD27E8FAD900B29DD6 /* VolleyPayload.swift */; }; + CB43270C27E8FC1F00B29DD6 /* Artwork.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB4326C227E8FAD900B29DD6 /* Artwork.swift */; }; + CB43270D27E8FC1F00B29DD6 /* ArticleStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB4326BB27E8FAD900B29DD6 /* ArticleStore.swift */; }; + CB43270E27E8FC1F00B29DD6 /* ArtworkImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB4326BE27E8FAD900B29DD6 /* ArtworkImage.swift */; }; + CB43270F27E8FC1F00B29DD6 /* VolleyMetric.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB4326C127E8FAD900B29DD6 /* VolleyMetric.swift */; }; + CB43271027E8FC1F00B29DD6 /* Article.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB4326C327E8FAD900B29DD6 /* Article.swift */; }; + CB43271127E8FC1F00B29DD6 /* Artist.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB4326BF27E8FAD900B29DD6 /* Artist.swift */; }; + CB43271227E8FC1F00B29DD6 /* ArtworkStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB4326C027E8FAD900B29DD6 /* ArtworkStore.swift */; }; + CB43271327E8FC2900B29DD6 /* WidgetUrl.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB4326AB27E8FAD900B29DD6 /* WidgetUrl.swift */; }; + CB43271427E8FC2900B29DD6 /* SecondaryText.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB4326AC27E8FAD900B29DD6 /* SecondaryText.swift */; }; + CB43271527E8FC2900B29DD6 /* ImageUrl.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB4326A927E8FAD900B29DD6 /* ImageUrl.swift */; }; + CB43271627E8FC2900B29DD6 /* Schedule.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB4326AA27E8FAD900B29DD6 /* Schedule.swift */; }; + CB43271727E8FC2900B29DD6 /* PrimaryText.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB4326A827E8FAD900B29DD6 /* PrimaryText.swift */; }; + CB43286727E8FEE500B29DD6 /* ARInternalMobileWebViewControllerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CB43272727E8FEE300B29DD6 /* ARInternalMobileWebViewControllerTests.m */; }; + CB43286827E8FEE500B29DD6 /* ARInternalShareValidatorTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CB43272827E8FEE300B29DD6 /* ARInternalShareValidatorTests.m */; }; + CB43286927E8FEE500B29DD6 /* ARExternalWebBrowserViewControllerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CB43272927E8FEE300B29DD6 /* ARExternalWebBrowserViewControllerTests.m */; }; + CB43286A27E8FEE500B29DD6 /* AuctionBiddersNetworkModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB43272B27E8FEE300B29DD6 /* AuctionBiddersNetworkModel.swift */; }; + CB43286B27E8FEE500B29DD6 /* AuctionInformationViewControllerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB43272C27E8FEE300B29DD6 /* AuctionInformationViewControllerTests.swift */; }; + CB43286C27E8FEE500B29DD6 /* SaleViewModelTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB43272D27E8FEE300B29DD6 /* SaleViewModelTests.swift */; }; + CB43286D27E8FEE500B29DD6 /* SaleArtworkViewModelTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB43272E27E8FEE300B29DD6 /* SaleArtworkViewModelTests.swift */; }; + CB43286E27E8FEE500B29DD6 /* TextStackTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB43273027E8FEE300B29DD6 /* TextStackTests.swift */; }; + CB43286F27E8FEE500B29DD6 /* AuctionLotMetadataStackScrollViewTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB43273127E8FEE300B29DD6 /* AuctionLotMetadataStackScrollViewTests.swift */; }; + CB43287027E8FEE500B29DD6 /* AuctionSaleNetworkModelTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB43273227E8FEE300B29DD6 /* AuctionSaleNetworkModelTests.swift */; }; + CB43287227E8FEE500B29DD6 /* ARNavigationControllerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CB43273627E8FEE300B29DD6 /* ARNavigationControllerTests.m */; }; + CB43287327E8FEE500B29DD6 /* ARValueTransformerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CB43273727E8FEE300B29DD6 /* ARValueTransformerTests.m */; }; + CB43287427E8FEE500B29DD6 /* ARFileUtilsTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CB43273827E8FEE300B29DD6 /* ARFileUtilsTests.m */; }; + CB43287527E8FEE500B29DD6 /* ARAugmentedVIRViewControllerSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = CB43273A27E8FEE300B29DD6 /* ARAugmentedVIRViewControllerSpec.m */; }; + CB43287627E8FEE500B29DD6 /* ARAugmentRealitySetupViewControllerSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = CB43273B27E8FEE300B29DD6 /* ARAugmentRealitySetupViewControllerSpec.m */; }; + CB43287727E8FEE500B29DD6 /* ARAugmentedRealityConfigSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = CB43273C27E8FEE300B29DD6 /* ARAugmentedRealityConfigSpec.m */; }; + CB43287927E8FEE500B29DD6 /* ARSerifNavigationViewControllerSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = CB43273F27E8FEE300B29DD6 /* ARSerifNavigationViewControllerSpec.m */; }; + CB43287A27E8FEE500B29DD6 /* LiveAuctionCurrentLotCTAPositionManagerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB43274027E8FEE300B29DD6 /* LiveAuctionCurrentLotCTAPositionManagerTests.swift */; }; + CB43287B27E8FEE500B29DD6 /* SaleOnHoldOverlayViewTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB43274127E8FEE300B29DD6 /* SaleOnHoldOverlayViewTests.swift */; }; + CB43287C27E8FEE500B29DD6 /* LiveAuctionLotBidHistoryGestureControllerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB43274327E8FEE300B29DD6 /* LiveAuctionLotBidHistoryGestureControllerTests.swift */; }; + CB43287D27E8FEE500B29DD6 /* LiveAuctionBidButtonTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB43274427E8FEE300B29DD6 /* LiveAuctionBidButtonTests.swift */; }; + CB43287E27E8FEE500B29DD6 /* LiveAuctionBiddingViewModelTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB43274527E8FEE300B29DD6 /* LiveAuctionBiddingViewModelTests.swift */; }; + CB43287F27E8FEE500B29DD6 /* LiveAuctionFancyLotCollectionViewLayoutTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB43274627E8FEE300B29DD6 /* LiveAuctionFancyLotCollectionViewLayoutTests.swift */; }; + CB43288027E8FEE500B29DD6 /* BiddingIncrementSpecs.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB43274727E8FEE300B29DD6 /* BiddingIncrementSpecs.swift */; }; + CB43288127E8FEE500B29DD6 /* LiveAuctionLotListStickyCellCollectionViewLayoutTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB43274827E8FEE300B29DD6 /* LiveAuctionLotListStickyCellCollectionViewLayoutTests.swift */; }; + CB43288227E8FEE500B29DD6 /* FakeSalesPerson.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB43274927E8FEE300B29DD6 /* FakeSalesPerson.swift */; }; + CB43288327E8FEE500B29DD6 /* LiveAuctionLoadingViewSpec.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB43274A27E8FEE300B29DD6 /* LiveAuctionLoadingViewSpec.swift */; }; + CB43288427E8FEE500B29DD6 /* LiveAuctionViewControllerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB43274B27E8FEE300B29DD6 /* LiveAuctionViewControllerTests.swift */; }; + CB43288527E8FEE500B29DD6 /* LiveAuctionBidViewControllerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB43274C27E8FEE300B29DD6 /* LiveAuctionBidViewControllerTests.swift */; }; + CB43288627E8FEE500B29DD6 /* LiveAuctionLotSetViewControllerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB43274D27E8FEE300B29DD6 /* LiveAuctionLotSetViewControllerTests.swift */; }; + CB43288727E8FEE500B29DD6 /* LiveAuctionLotListViewControllerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB43274E27E8FEE300B29DD6 /* LiveAuctionLotListViewControllerTests.swift */; }; + CB43288827E8FEE500B29DD6 /* LiveAuctionLotViewControllerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB43274F27E8FEE300B29DD6 /* LiveAuctionLotViewControllerTests.swift */; }; + CB43288927E8FEE500B29DD6 /* LiveSalesPersonSpecs.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB43275027E8FEE300B29DD6 /* LiveSalesPersonSpecs.swift */; }; + CB43288B27E8FEE500B29DD6 /* ARNavigationButtonsViewControllerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CB43275427E8FEE300B29DD6 /* ARNavigationButtonsViewControllerTests.m */; }; + CB43288C27E8FEE500B29DD6 /* ARNavigationButtonTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CB43275727E8FEE300B29DD6 /* ARNavigationButtonTests.m */; }; + CB43288D27E8FEE500B29DD6 /* NavigationButtonTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB43275827E8FEE300B29DD6 /* NavigationButtonTests.swift */; }; + CB43288E27E8FEE500B29DD6 /* ARBidButtonTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CB43275927E8FEE300B29DD6 /* ARBidButtonTests.m */; }; + CB43288F27E8FEE500B29DD6 /* ORStackViewArtsyCategoriesTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CB43275A27E8FEE300B29DD6 /* ORStackViewArtsyCategoriesTests.m */; }; + CB43289027E8FEE500B29DD6 /* ARTextViewTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CB43275B27E8FEE300B29DD6 /* ARTextViewTests.m */; }; + CB43289127E8FEE500B29DD6 /* ARCustomEigenLabelTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CB43275C27E8FEE300B29DD6 /* ARCustomEigenLabelTests.m */; }; + CB43289227E8FEE500B29DD6 /* ARAnimatedTickViewTest.m in Sources */ = {isa = PBXBuildFile; fileRef = CB43275D27E8FEE300B29DD6 /* ARAnimatedTickViewTest.m */; }; + CB43289427E8FEE500B29DD6 /* ARAppActivityContinuationDelegateTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CB43276027E8FEE300B29DD6 /* ARAppActivityContinuationDelegateTests.m */; }; + CB43289527E8FEE500B29DD6 /* ARAppNotificationsDelegateTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CB43276127E8FEE300B29DD6 /* ARAppNotificationsDelegateTests.m */; }; + CB43289627E8FEE500B29DD6 /* ARWebViewCacheHostSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = CB43276227E8FEE300B29DD6 /* ARWebViewCacheHostSpec.m */; }; + CB43289827E8FEE500B29DD6 /* ProfileTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CB43276527E8FEE400B29DD6 /* ProfileTests.m */; }; + CB43289927E8FEE500B29DD6 /* SaleTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CB43276627E8FEE400B29DD6 /* SaleTests.m */; }; + CB43289A27E8FEE500B29DD6 /* ArtworkTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CB43276727E8FEE400B29DD6 /* ArtworkTests.m */; }; + CB43289B27E8FEE500B29DD6 /* SaleArtworkTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CB43276827E8FEE400B29DD6 /* SaleArtworkTests.m */; }; + CB43289C27E8FEE500B29DD6 /* PartnerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CB43276927E8FEE400B29DD6 /* PartnerTests.m */; }; + CB43289D27E8FEE500B29DD6 /* FairTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CB43276A27E8FEE400B29DD6 /* FairTests.m */; }; + CB43289E27E8FEE500B29DD6 /* ARImageTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CB43276B27E8FEE400B29DD6 /* ARImageTests.m */; }; + CB4328A327E8FEE500B29DD6 /* SystemTimeTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CB43277127E8FEE400B29DD6 /* SystemTimeTests.m */; }; + CB4328A427E8FEE500B29DD6 /* UserTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CB43277227E8FEE400B29DD6 /* UserTests.m */; }; + CB4328A527E8FEE500B29DD6 /* ScheduleTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB43277427E8FEE400B29DD6 /* ScheduleTests.swift */; }; + CB4328A627E8FEE500B29DD6 /* ArtworkTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB43277527E8FEE400B29DD6 /* ArtworkTests.swift */; }; + CB4328A727E8FEE500B29DD6 /* ARTestImageCachingFunctions.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB43277727E8FEE400B29DD6 /* ARTestImageCachingFunctions.swift */; }; + CB4328A827E8FEE500B29DD6 /* MutableNSURLResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = CB43277827E8FEE400B29DD6 /* MutableNSURLResponse.m */; }; + CB4328A927E8FEE500B29DD6 /* OCMArg+ClassChecker.m in Sources */ = {isa = PBXBuildFile; fileRef = CB43277927E8FEE400B29DD6 /* OCMArg+ClassChecker.m */; }; + CB4328AA27E8FEE500B29DD6 /* UIViewController+Testing.m in Sources */ = {isa = PBXBuildFile; fileRef = CB43277A27E8FEE400B29DD6 /* UIViewController+Testing.m */; }; + CB4328AB27E8FEE500B29DD6 /* ARExpectaExtensions.m in Sources */ = {isa = PBXBuildFile; fileRef = CB43277B27E8FEE400B29DD6 /* ARExpectaExtensions.m */; }; + CB4328AC27E8FEE500B29DD6 /* EXPMatcher+UINavigationController.m in Sources */ = {isa = PBXBuildFile; fileRef = CB43277C27E8FEE400B29DD6 /* EXPMatcher+UINavigationController.m */; }; + CB4328AD27E8FEE500B29DD6 /* UIViewController+Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB43277E27E8FEE400B29DD6 /* UIViewController+Tests.swift */; }; + CB4328B027E8FEE500B29DD6 /* ARTestHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = CB43278B27E8FEE400B29DD6 /* ARTestHelper.m */; }; + CB4328B327E8FEE500B29DD6 /* ARTestContext.m in Sources */ = {isa = PBXBuildFile; fileRef = CB43278E27E8FEE400B29DD6 /* ARTestContext.m */; }; + CB4328B427E8FEE500B29DD6 /* LiveAuctionSocketCommunicatorSpec.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB43279127E8FEE400B29DD6 /* LiveAuctionSocketCommunicatorSpec.swift */; }; + CB4328B527E8FEE500B29DD6 /* LiveAuctionStaticDataFetcherSpec.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB43279227E8FEE400B29DD6 /* LiveAuctionStaticDataFetcherSpec.swift */; }; + CB4328B627E8FEE500B29DD6 /* LiveAuctionStateReconcilerSpec.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB43279327E8FEE400B29DD6 /* LiveAuctionStateReconcilerSpec.swift */; }; + CB4328B727E8FEE500B29DD6 /* ARSystemTimeTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CB43279427E8FEE400B29DD6 /* ARSystemTimeTests.m */; }; + CB4328B827E8FEE500B29DD6 /* ARUserManagerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CB43279627E8FEE400B29DD6 /* ARUserManagerTests.m */; }; + CB4328B927E8FEE500B29DD6 /* ArtsyAPI+ErrorHandlers.m in Sources */ = {isa = PBXBuildFile; fileRef = CB43279727E8FEE400B29DD6 /* ArtsyAPI+ErrorHandlers.m */; }; + CB4328BA27E8FEE500B29DD6 /* ArtsyAPI+GraphQLTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CB43279827E8FEE400B29DD6 /* ArtsyAPI+GraphQLTests.m */; }; + CB4328BB27E8FEE500B29DD6 /* ArtsyAPI+PrivateTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CB43279927E8FEE400B29DD6 /* ArtsyAPI+PrivateTests.m */; }; + CB4328BC27E8FEE500B29DD6 /* ArtsyAPI+SystemTimeTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CB43279A27E8FEE400B29DD6 /* ArtsyAPI+SystemTimeTests.m */; }; + CB4328BD27E8FEE500B29DD6 /* LiveAuctionLotViewModelSpecs.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB43279B27E8FEE400B29DD6 /* LiveAuctionLotViewModelSpecs.swift */; }; + CB4328BE27E8FEE500B29DD6 /* ARRouterTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CB43279C27E8FEE400B29DD6 /* ARRouterTests.m */; }; + CB4328BF27E8FEE500B29DD6 /* AFHTTPRequestOperationJSONTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CB43279D27E8FEE400B29DD6 /* AFHTTPRequestOperationJSONTests.m */; }; + CB43294C27E8FEE600B29DD6 /* ARImageItemProviderTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CB43284C27E8FEE400B29DD6 /* ARImageItemProviderTests.m */; }; + CB43294D27E8FEE600B29DD6 /* ARMessageItemProviderTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CB43284D27E8FEE400B29DD6 /* ARMessageItemProviderTests.m */; }; + CB43294E27E8FEE600B29DD6 /* ARSharingControllerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CB43284E27E8FEE400B29DD6 /* ARSharingControllerTests.m */; }; + CB43294F27E8FEE600B29DD6 /* ARURLItemProviderTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CB43284F27E8FEE400B29DD6 /* ARURLItemProviderTests.m */; }; + CB43295027E8FEE600B29DD6 /* UIApplicationStateEnumTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CB43285127E8FEE400B29DD6 /* UIApplicationStateEnumTests.m */; }; + CB43295127E8FEE600B29DD6 /* ARDefaultsTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CB43285227E8FEE400B29DD6 /* ARDefaultsTests.m */; }; + CB43295227E8FEE600B29DD6 /* UINavigationController_InnermostTopViewControllerSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = CB43285327E8FEE400B29DD6 /* UINavigationController_InnermostTopViewControllerSpec.m */; }; + CB43295327E8FEE600B29DD6 /* NSDate+RangeTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CB43285427E8FEE400B29DD6 /* NSDate+RangeTests.m */; }; + CB43295427E8FEE600B29DD6 /* ARUserManager+Stubs.m in Sources */ = {isa = PBXBuildFile; fileRef = CB43285927E8FEE500B29DD6 /* ARUserManager+Stubs.m */; }; + CB43295527E8FEE600B29DD6 /* Bid+Extensions.m in Sources */ = {isa = PBXBuildFile; fileRef = CB43285A27E8FEE500B29DD6 /* Bid+Extensions.m */; }; + CB43295627E8FEE600B29DD6 /* SaleArtwork+Extensions.m in Sources */ = {isa = PBXBuildFile; fileRef = CB43285C27E8FEE500B29DD6 /* SaleArtwork+Extensions.m */; }; + CB43295727E8FEE600B29DD6 /* Show+Extensions.m in Sources */ = {isa = PBXBuildFile; fileRef = CB43285E27E8FEE500B29DD6 /* Show+Extensions.m */; }; + CB43295827E8FEE600B29DD6 /* OHHTTPStubs+Artsy.m in Sources */ = {isa = PBXBuildFile; fileRef = CB43286027E8FEE500B29DD6 /* OHHTTPStubs+Artsy.m */; }; + CB43295927E8FEE600B29DD6 /* ArtsyOHHTTPAPI.m in Sources */ = {isa = PBXBuildFile; fileRef = CB43286127E8FEE500B29DD6 /* ArtsyOHHTTPAPI.m */; }; + CB43295A27E8FEE600B29DD6 /* Artwork+Extensions.m in Sources */ = {isa = PBXBuildFile; fileRef = CB43286327E8FEE500B29DD6 /* Artwork+Extensions.m */; }; + CB43295B27E8FEE600B29DD6 /* Sale+Extensions.m in Sources */ = {isa = PBXBuildFile; fileRef = CB43286427E8FEE500B29DD6 /* Sale+Extensions.m */; }; + CB43295C27E90BD000B29DD6 /* Schedule.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB4326AA27E8FAD900B29DD6 /* Schedule.swift */; }; + CB43295D27E90E1300B29DD6 /* ArtworkImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB4326BE27E8FAD900B29DD6 /* ArtworkImage.swift */; }; + CB43295E27E90F7500B29DD6 /* Artist.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB4326BF27E8FAD900B29DD6 /* Artist.swift */; }; + CB43295F27E90FA200B29DD6 /* Artwork.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB4326C227E8FAD900B29DD6 /* Artwork.swift */; }; + CB43296027E90FD900B29DD6 /* Fixtures.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB4326AE27E8FAD900B29DD6 /* Fixtures.swift */; }; + CB43296227E90FF300B29DD6 /* WidgetUrl.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB4326AB27E8FAD900B29DD6 /* WidgetUrl.swift */; }; + CB43296327E9104E00B29DD6 /* Article.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB4326C327E8FAD900B29DD6 /* Article.swift */; }; + CB43296427E91DFE00B29DD6 /* stub.jpg in Resources */ = {isa = PBXBuildFile; fileRef = CB43278C27E8FEE400B29DD6 /* stub.jpg */; }; + CB43296527E91EAD00B29DD6 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = CB4326AD27E8FAD900B29DD6 /* Assets.xcassets */; }; + CB43296627EA275700B29DD6 /* greyscaleImage.jpg in Resources */ = {isa = PBXBuildFile; fileRef = CB43273D27E8FEE300B29DD6 /* greyscaleImage.jpg */; }; + CB43296727EA27AD00B29DD6 /* Artwork_v1.data in Resources */ = {isa = PBXBuildFile; fileRef = CB43277027E8FEE400B29DD6 /* Artwork_v1.data */; }; + CB43296827EA27C400B29DD6 /* Artwork_v0.data in Resources */ = {isa = PBXBuildFile; fileRef = CB43276F27E8FEE400B29DD6 /* Artwork_v0.data */; }; + CB43296927EA27FA00B29DD6 /* live_auctions_static.json in Resources */ = {isa = PBXBuildFile; fileRef = CBE324F727E275A100395A93 /* live_auctions_static.json */; }; + CB43296A27EA285800B29DD6 /* User_v1.data in Resources */ = {isa = PBXBuildFile; fileRef = CB43276D27E8FEE400B29DD6 /* User_v1.data */; }; + CB43296B27EA285800B29DD6 /* User_v0.data in Resources */ = {isa = PBXBuildFile; fileRef = CB43276E27E8FEE400B29DD6 /* User_v0.data */; }; + CB43296C27EA28DE00B29DD6 /* LiveAuctionsAssets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = CBE324DA27E275A100395A93 /* LiveAuctionsAssets.xcassets */; }; + CB43298627FDFDF800B29DD6 /* AdServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CB43298527FDFDF800B29DD6 /* AdServices.framework */; }; + CB43298827FDFE0000B29DD6 /* AdSupport.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CB43298727FDFE0000B29DD6 /* AdSupport.framework */; }; + CB43298A27FDFE0A00B29DD6 /* AppTrackingTransparency.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CB43298927FDFE0A00B29DD6 /* AppTrackingTransparency.framework */; }; + CB43298C27FDFE1700B29DD6 /* ARKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CB43298B27FDFE1700B29DD6 /* ARKit.framework */; }; + CB43298E27FDFE2700B29DD6 /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CB43298D27FDFE2700B29DD6 /* CoreServices.framework */; }; + CB43299027FDFE3F00B29DD6 /* CoreSpotlight.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CB43298F27FDFE3E00B29DD6 /* CoreSpotlight.framework */; }; + CB43299227FDFE4700B29DD6 /* iAd.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CB43299127FDFE4700B29DD6 /* iAd.framework */; }; + CB43299427FDFE5300B29DD6 /* MessageUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CB43299327FDFE5300B29DD6 /* MessageUI.framework */; }; + CB43299627FDFE5C00B29DD6 /* ReplayKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CB43299527FDFE5C00B29DD6 /* ReplayKit.framework */; }; + CB43299827FDFE6400B29DD6 /* StoreKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CB43299727FDFE6400B29DD6 /* StoreKit.framework */; }; + CB43299A27FDFE6B00B29DD6 /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CB43299927FDFE6B00B29DD6 /* WebKit.framework */; }; + CB43299C27FE0D7F00B29DD6 /* stubbed_image.png in Resources */ = {isa = PBXBuildFile; fileRef = CB43278D27E8FEE400B29DD6 /* stubbed_image.png */; }; + CB43299D27FE0D9000B29DD6 /* CloseButtonLargeHighlighted@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE325DD27E275A200395A93 /* CloseButtonLargeHighlighted@2x.png */; }; + CB43299E27FE0DB100B29DD6 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = CB43278427E8FEE400B29DD6 /* InfoPlist.strings */; }; + CB61B85427B585F00007922D /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = CB61B85327B585F00007922D /* GoogleService-Info.plist */; }; + CBE3211C27D9615000395A93 /* OldAdminView.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE3210827D9615000395A93 /* OldAdminView.swift */; }; + CBE3211D27D9615000395A93 /* ARTCityGuideViewManager.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3210927D9615000395A93 /* ARTCityGuideViewManager.m */; }; + CBE3211E27D9615000395A93 /* ARTLiveAuctionViewManager.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3210C27D9615000395A93 /* ARTLiveAuctionViewManager.m */; }; + CBE3211F27D9615000395A93 /* LiveAuctionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE3210D27D9615000395A93 /* LiveAuctionView.swift */; }; + CBE3212027D9615000395A93 /* ARTOldAdminViewManager.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3210E27D9615000395A93 /* ARTOldAdminViewManager.m */; }; + CBE3266F27E275A300395A93 /* ARAppConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3245D27E275A100395A93 /* ARAppConstants.m */; }; + CBE3267027E275A300395A93 /* ARDefaults.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3245E27E275A100395A93 /* ARDefaults.m */; }; + CBE3267127E275A300395A93 /* UITableViewController+Animations.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE3246127E275A100395A93 /* UITableViewController+Animations.swift */; }; + CBE3267227E275A300395A93 /* NSString+StringBetweenStrings.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3246527E275A100395A93 /* NSString+StringBetweenStrings.m */; }; + CBE3267327E275A300395A93 /* Int+Metrification.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE3246627E275A100395A93 /* Int+Metrification.swift */; }; + CBE3267427E275A300395A93 /* UIDevice-Hardware.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3246727E275A100395A93 /* UIDevice-Hardware.m */; }; + CBE3267527E275A300395A93 /* UIView+HitTestExpansion.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3246827E275A100395A93 /* UIView+HitTestExpansion.m */; }; + CBE3267627E275A300395A93 /* NSAttributedString+Additions.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE3246C27E275A100395A93 /* NSAttributedString+Additions.swift */; }; + CBE3267727E275A300395A93 /* UIImageView+AsyncImageLoading.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3246E27E275A100395A93 /* UIImageView+AsyncImageLoading.m */; }; + CBE3267827E275A300395A93 /* UIView+ScrollToTop.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3246F27E275A100395A93 /* UIView+ScrollToTop.m */; }; + CBE3267927E275A300395A93 /* NSDate+Util.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3247127E275A100395A93 /* NSDate+Util.m */; }; + CBE3267A27E275A300395A93 /* UILabel+Styling.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE3247427E275A100395A93 /* UILabel+Styling.swift */; }; + CBE3267B27E275A300395A93 /* UIViewController+ARUserActivity.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3247527E275A100395A93 /* UIViewController+ARUserActivity.m */; }; + CBE3267C27E275A300395A93 /* UIImage+ImageFromColor.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3247627E275A100395A93 /* UIImage+ImageFromColor.m */; }; + CBE3267D27E275A300395A93 /* UIViewController+Popovers.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3247727E275A100395A93 /* UIViewController+Popovers.m */; }; + CBE3267E27E275A300395A93 /* NSArray+Additions.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3247927E275A100395A93 /* NSArray+Additions.m */; }; + CBE3267F27E275A300395A93 /* UIViewController+Traits.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE3247E27E275A100395A93 /* UIViewController+Traits.swift */; }; + CBE3268027E275A300395A93 /* NSKeyedUnarchiver+ErrorLogging.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3247F27E275A100395A93 /* NSKeyedUnarchiver+ErrorLogging.m */; }; + CBE3268127E275A300395A93 /* UIViewController+SimpleChildren.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3248027E275A100395A93 /* UIViewController+SimpleChildren.m */; }; + CBE3268227E275A300395A93 /* NSDate+DateRange.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3248127E275A100395A93 /* NSDate+DateRange.m */; }; + CBE3268327E275A300395A93 /* UIViewController+WithLoadedData.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3248227E275A100395A93 /* UIViewController+WithLoadedData.m */; }; + CBE3268427E275A300395A93 /* UIView+OldSchoolSnapshots.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3248327E275A100395A93 /* UIView+OldSchoolSnapshots.m */; }; + CBE3268527E275A300395A93 /* UIViewController+FullScreenLoading.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3248527E275A100395A93 /* UIViewController+FullScreenLoading.m */; }; + CBE3268627E275A300395A93 /* PanDirectionGestureRecognizer.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE3248627E275A100395A93 /* PanDirectionGestureRecognizer.swift */; }; + CBE3268727E275A300395A93 /* ORStackView+ArtsyViews.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3248927E275A100395A93 /* ORStackView+ArtsyViews.m */; }; + CBE3268827E275A300395A93 /* Interstellar+Artsy.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE3248A27E275A100395A93 /* Interstellar+Artsy.swift */; }; + CBE3268927E275A300395A93 /* AFHTTPRequestOperation+JSON.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3248C27E275A100395A93 /* AFHTTPRequestOperation+JSON.m */; }; + CBE3269027E275A300395A93 /* ARAppDelegate+Analytics.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3249627E275A100395A93 /* ARAppDelegate+Analytics.m */; }; + CBE3269127E275A300395A93 /* ARAppActivityContinuationDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3249727E275A100395A93 /* ARAppActivityContinuationDelegate.m */; }; + CBE3269227E275A300395A93 /* ARAppNotificationsDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3249827E275A100395A93 /* ARAppNotificationsDelegate.m */; }; + CBE3269327E275A300395A93 /* ARAppStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3249A27E275A100395A93 /* ARAppStatus.m */; }; + CBE3269427E275A300395A93 /* ARAnalyticsConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3249B27E275A100395A93 /* ARAnalyticsConstants.m */; }; + CBE3269527E275A300395A93 /* ARModalViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3249D27E275A100395A93 /* ARModalViewController.m */; }; + CBE3269627E275A300395A93 /* ArtsyEcho.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3249F27E275A100395A93 /* ArtsyEcho.m */; }; + CBE3269727E275A300395A93 /* ARApplicationShortcutItemDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE324A127E275A100395A93 /* ARApplicationShortcutItemDelegate.m */; }; + CBE3269827E275A300395A93 /* ARAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE324A227E275A100395A93 /* ARAppDelegate.m */; }; + CBE3269927E275A300395A93 /* SwiftExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE324A327E275A100395A93 /* SwiftExtensions.swift */; }; + CBE3269A27E275A300395A93 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE324A927E275A100395A93 /* main.m */; }; + CBE3269B27E275A300395A93 /* ARAppDelegate+Echo.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE324AC27E275A100395A93 /* ARAppDelegate+Echo.m */; }; + CBE3269C27E275A300395A93 /* ARTArtsyNativeModule.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE324AE27E275A100395A93 /* ARTArtsyNativeModule.m */; }; + CBE3269D27E275A300395A93 /* ARAppDelegate+Emission.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE324B027E275A100395A93 /* ARAppDelegate+Emission.m */; }; + CBE3269E27E275A300395A93 /* AROptions.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE324B227E275A100395A93 /* AROptions.m */; }; + CBE3269F27E275A300395A93 /* EchoNew.json in Resources */ = {isa = PBXBuildFile; fileRef = CBE324B527E275A100395A93 /* EchoNew.json */; }; + CBE326A027E275A300395A93 /* ARUserActivity.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE324B627E275A100395A93 /* ARUserActivity.m */; }; + CBE326A127E275A300395A93 /* ARDefaultNavigationTransition.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE324B927E275A100395A93 /* ARDefaultNavigationTransition.m */; }; + CBE326A227E275A300395A93 /* ARNavigationTransitionController.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE324BA27E275A100395A93 /* ARNavigationTransitionController.m */; }; + CBE326A327E275A300395A93 /* ARNavigationTransition.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE324BB27E275A100395A93 /* ARNavigationTransition.m */; }; + CBE326A427E275A300395A93 /* ARNavigationButtonsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE324C227E275A100395A93 /* ARNavigationButtonsViewController.m */; }; + CBE326A527E275A300395A93 /* ARExternalWebBrowserViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE324C727E275A100395A93 /* ARExternalWebBrowserViewController.m */; }; + CBE326A627E275A300395A93 /* ARInternalMobileWebViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE324C827E275A100395A93 /* ARInternalMobileWebViewController.m */; }; + CBE326A727E275A300395A93 /* ARInternalShareValidator.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE324C927E275A100395A93 /* ARInternalShareValidator.m */; }; + CBE326A827E275A300395A93 /* LiveAuctionSaleLotsDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE324CB27E275A100395A93 /* LiveAuctionSaleLotsDataSource.swift */; }; + CBE326A927E275A300395A93 /* LiveAuctionViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE324CD27E275A100395A93 /* LiveAuctionViewModel.swift */; }; + CBE326AA27E275A300395A93 /* LiveAuctionEventViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE324CE27E275A100395A93 /* LiveAuctionEventViewModel.swift */; }; + CBE326AB27E275A300395A93 /* LiveAuctionLotViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE324CF27E275A100395A93 /* LiveAuctionLotViewModel.swift */; }; + CBE326AC27E275A300395A93 /* LiveAuctionSalesPerson.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE324D027E275A100395A93 /* LiveAuctionSalesPerson.swift */; }; + CBE326AD27E275A300395A93 /* LiveAuctionLotViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE324D127E275A100395A93 /* LiveAuctionLotViewController.swift */; }; + CBE326AE27E275A300395A93 /* LiveAuctionLotListViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE324D227E275A100395A93 /* LiveAuctionLotListViewController.swift */; }; + CBE326AF27E275A300395A93 /* LiveAuctionLoadingView.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE324D327E275A100395A93 /* LiveAuctionLoadingView.swift */; }; + CBE326B027E275A300395A93 /* LiveAuctionStaticDataFetcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE324D427E275A100395A93 /* LiveAuctionStaticDataFetcher.swift */; }; + CBE326B127E275A300395A93 /* LiveAuctionViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE324D527E275A100395A93 /* LiveAuctionViewController.swift */; }; + CBE326B227E275A300395A93 /* LiveAuctionLotSetViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE324D627E275A100395A93 /* LiveAuctionLotSetViewController.swift */; }; + CBE326B327E275A300395A93 /* LotListCollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE324D727E275A100395A93 /* LotListCollectionViewCell.swift */; }; + CBE326B427E275A300395A93 /* LiveAuctionStaticDataFetcher+Stubs.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE324D827E275A100395A93 /* LiveAuctionStaticDataFetcher+Stubs.swift */; }; + CBE326B527E275A300395A93 /* LiveAuctionsAssets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = CBE324DA27E275A100395A93 /* LiveAuctionsAssets.xcassets */; }; + CBE326B627E275A300395A93 /* LiveAuctions.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = CBE324DB27E275A100395A93 /* LiveAuctions.storyboard */; }; + CBE326B827E275A300395A93 /* LiveAuctionSaleViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE324DD27E275A100395A93 /* LiveAuctionSaleViewController.swift */; }; + CBE326B927E275A300395A93 /* LiveAuctionStateManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE324DE27E275A100395A93 /* LiveAuctionStateManager.swift */; }; + CBE326BA27E275A300395A93 /* LiveAuctionBidViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE324DF27E275A100395A93 /* LiveAuctionBidViewModel.swift */; }; + CBE326BB27E275A300395A93 /* LiveActionStateReconciler.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE324E027E275A100395A93 /* LiveActionStateReconciler.swift */; }; + CBE326BC27E275A300395A93 /* LotListCollectionViewCell+Private.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE324E127E275A100395A93 /* LotListCollectionViewCell+Private.swift */; }; + CBE326BD27E275A300395A93 /* LiveAuctionBidHistoryViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE324E227E275A100395A93 /* LiveAuctionBidHistoryViewController.swift */; }; + CBE326BE27E275A300395A93 /* LiveAuctionLotBidHistoryGestureController.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE324E327E275A100395A93 /* LiveAuctionLotBidHistoryGestureController.swift */; }; + CBE326BF27E275A300395A93 /* LiveAuctionLotListStickyCellCollectionViewLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE324E427E275A100395A93 /* LiveAuctionLotListStickyCellCollectionViewLayout.swift */; }; + CBE326C027E275A300395A93 /* LiveAuctionsAdminViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE324E527E275A100395A93 /* LiveAuctionsAdminViewController.swift */; }; + CBE326C127E275A300395A93 /* AuctionLotMetadataStackScrollView.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE324E727E275A100395A93 /* AuctionLotMetadataStackScrollView.swift */; }; + CBE326C227E275A300395A93 /* LiveAuctionLotCollectionViewDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE324E827E275A100395A93 /* LiveAuctionLotCollectionViewDataSource.swift */; }; + CBE326C327E275A300395A93 /* LiveAuctionCurrentLotView.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE324E927E275A100395A93 /* LiveAuctionCurrentLotView.swift */; }; + CBE326C427E275A300395A93 /* LiveAuctionFancyLotCollectionViewLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE324EA27E275A100395A93 /* LiveAuctionFancyLotCollectionViewLayout.swift */; }; + CBE326C527E275A300395A93 /* LiveBidProgressOverlayView.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE324EB27E275A100395A93 /* LiveBidProgressOverlayView.swift */; }; + CBE326C627E275A300395A93 /* LiveAuctionLotCollectionViewLayoutType.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE324EC27E275A100395A93 /* LiveAuctionLotCollectionViewLayoutType.swift */; }; + CBE326C727E275A300395A93 /* SimpleProgressView.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE324ED27E275A100395A93 /* SimpleProgressView.swift */; }; + CBE326C827E275A300395A93 /* LiveAuctionBiddingViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE324EE27E275A100395A93 /* LiveAuctionBiddingViewModel.swift */; }; + CBE326C927E275A300395A93 /* LiveAuctionLotCollectionViewLayoutAttributes.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE324EF27E275A100395A93 /* LiveAuctionLotCollectionViewLayoutAttributes.swift */; }; + CBE326CA27E275A300395A93 /* SaleOnHoldOverlayView.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE324F027E275A100395A93 /* SaleOnHoldOverlayView.swift */; }; + CBE326CB27E275A300395A93 /* LiveAuctionToolbarView.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE324F127E275A100395A93 /* LiveAuctionToolbarView.swift */; }; + CBE326CC27E275A300395A93 /* SaleStatusView.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE324F227E275A100395A93 /* SaleStatusView.swift */; }; + CBE326CD27E275A300395A93 /* LiveAuctionLotImageCollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE324F327E275A100395A93 /* LiveAuctionLotImageCollectionViewCell.swift */; }; + CBE326CE27E275A300395A93 /* LiveAuctionBidButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE324F427E275A100395A93 /* LiveAuctionBidButton.swift */; }; + CBE326CF27E275A300395A93 /* LiveAuctionPlaceMaxBidViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE324F527E275A100395A93 /* LiveAuctionPlaceMaxBidViewController.swift */; }; + CBE326D027E275A300395A93 /* SerifModalWebNavigationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE324F627E275A100395A93 /* SerifModalWebNavigationController.swift */; }; + CBE326D127E275A300395A93 /* live_auctions_static.json in Resources */ = {isa = PBXBuildFile; fileRef = CBE324F727E275A100395A93 /* live_auctions_static.json */; }; + CBE326D227E275A300395A93 /* AuctionBiddersNetworkModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE324F927E275A100395A93 /* AuctionBiddersNetworkModel.swift */; }; + CBE326D327E275A300395A93 /* AuctionInformationViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE324FA27E275A100395A93 /* AuctionInformationViewController.swift */; }; + CBE326D427E275A300395A93 /* RefinementOptionsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE324FB27E275A100395A93 /* RefinementOptionsViewController.swift */; }; + CBE326D527E275A300395A93 /* RefinementOptionsViewController+Private.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE324FC27E275A100395A93 /* RefinementOptionsViewController+Private.swift */; }; + CBE326D627E275A300395A93 /* AuctionSaleNetworkModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE324FD27E275A100395A93 /* AuctionSaleNetworkModel.swift */; }; + CBE326D727E275A300395A93 /* ARViewInRoomViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3250027E275A100395A93 /* ARViewInRoomViewController.m */; }; + CBE326D827E275A300395A93 /* UIViewController+BlurredStatusView.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE3250127E275A100395A93 /* UIViewController+BlurredStatusView.swift */; }; + CBE326D927E275A300395A93 /* ARScrollNavigationChief.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3250327E275A100395A93 /* ARScrollNavigationChief.m */; }; + CBE326DA27E275A300395A93 /* ARMessageItemProvider.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3250627E275A100395A93 /* ARMessageItemProvider.m */; }; + CBE326DB27E275A300395A93 /* ARSharingController.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3250727E275A100395A93 /* ARSharingController.m */; }; + CBE326DC27E275A300395A93 /* ARImageItemProvider.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3250827E275A100395A93 /* ARImageItemProvider.m */; }; + CBE326DD27E275A300395A93 /* ARURLItemProvider.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3250927E275A100395A93 /* ARURLItemProvider.m */; }; + CBE326DE27E275A300395A93 /* UIViewController+InnermostTopViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3250E27E275A100395A93 /* UIViewController+InnermostTopViewController.m */; }; + CBE326DF27E275A300395A93 /* ARStandardDateFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3250F27E275A100395A93 /* ARStandardDateFormatter.m */; }; + CBE326E027E275A300395A93 /* ARBackButton.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3251127E275A100395A93 /* ARBackButton.m */; }; + CBE326E127E275A300395A93 /* ARFileUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3251627E275A100395A93 /* ARFileUtils.m */; }; + CBE326E227E275A300395A93 /* ARNavigationController.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3251827E275A100395A93 /* ARNavigationController.m */; }; + CBE326E327E275A300395A93 /* ARValueTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3251B27E275A100395A93 /* ARValueTransformer.m */; }; + CBE326E427E275A300395A93 /* ARNetworkErrorManager.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3251E27E275A100395A93 /* ARNetworkErrorManager.m */; }; + CBE326E527E275A300395A93 /* ARFeedImageLoader.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3251F27E275A100395A93 /* ARFeedImageLoader.m */; }; + CBE326E627E275A300395A93 /* UIApplicationStateEnum.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3252327E275A100395A93 /* UIApplicationStateEnum.m */; }; + CBE326E727E275A300395A93 /* ARHTTPRequestOperationLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3252727E275A100395A93 /* ARHTTPRequestOperationLogger.m */; }; + CBE326E827E275A300395A93 /* ARLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3252827E275A100395A93 /* ARLogger.m */; }; + CBE326E927E275A300395A93 /* ARLogFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3252927E275A100395A93 /* ARLogFormatter.m */; }; + CBE326EA27E275A300395A93 /* ARTwoWayDictionaryTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3252B27E275A100395A93 /* ARTwoWayDictionaryTransformer.m */; }; + CBE326EB27E275A300395A93 /* ARSignUpActiveUserViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = CBE3252F27E275A100395A93 /* ARSignUpActiveUserViewController.xib */; }; + CBE326EC27E275A300395A93 /* ARSCNWallNode.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3253327E275A100395A93 /* ARSCNWallNode.m */; }; + CBE326ED27E275A300395A93 /* SCNArtworkNode.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3253427E275A100395A93 /* SCNArtworkNode.m */; }; + CBE326EE27E275A300395A93 /* ARAugmentedFloorBasedVIRViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3253B27E275A100395A93 /* ARAugmentedFloorBasedVIRViewController.m */; }; + CBE326EF27E275A300395A93 /* ARAugmentedVIRSetupViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3253C27E275A100395A93 /* ARAugmentedVIRSetupViewController.m */; }; + CBE326F027E275A300395A93 /* ARVIRHorizontalPlaneInteractionController.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3253F27E275A100395A93 /* ARVIRHorizontalPlaneInteractionController.m */; }; + CBE326F127E275A300395A93 /* ARVIRModalClose.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE3254127E275A100395A93 /* ARVIRModalClose.png */; }; + CBE326F227E275A300395A93 /* ARVIRTick.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE3254227E275A100395A93 /* ARVIRTick.png */; }; + CBE326F327E275A300395A93 /* ARVIRModalClose@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE3254327E275A100395A93 /* ARVIRModalClose@3x.png */; }; + CBE326F427E275A300395A93 /* ARVIRTick@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE3254427E275A100395A93 /* ARVIRTick@2x.png */; }; + CBE326F527E275A300395A93 /* ARVIRTick@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE3254527E275A100395A93 /* ARVIRTick@3x.png */; }; + CBE326F627E275A300395A93 /* ARVIRModalClose@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE3254627E275A100395A93 /* ARVIRModalClose@2x.png */; }; + CBE326F727E275A300395A93 /* ARVIRShadow.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE3254727E275A100395A93 /* ARVIRShadow.png */; }; + CBE326F827E275A300395A93 /* ar_vir_opening_frame.jpg in Resources */ = {isa = PBXBuildFile; fileRef = CBE3254827E275A100395A93 /* ar_vir_opening_frame.jpg */; }; + CBE326F927E275A300395A93 /* ARAugmentedRealityConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3254927E275A100395A93 /* ARAugmentedRealityConfig.m */; }; + CBE326FA27E275A300395A93 /* ARInformationView.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3254C27E275A100395A93 /* ARInformationView.m */; }; + CBE326FB27E275A300395A93 /* live_auctions_socket.json in Resources */ = {isa = PBXBuildFile; fileRef = CBE3254D27E275A100395A93 /* live_auctions_socket.json */; }; + CBE326FC27E275A300395A93 /* AREchoContentsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3254F27E275A100395A93 /* AREchoContentsViewController.m */; }; + CBE326FD27E275A300395A93 /* ARAdminSettingsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3255027E275A100395A93 /* ARAdminSettingsViewController.m */; }; + CBE326FE27E275A300395A93 /* ARAdminNetworkModel.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3255327E275A100395A93 /* ARAdminNetworkModel.m */; }; + CBE326FF27E275A300395A93 /* ARAdminTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3255427E275A100395A93 /* ARAdminTableViewController.m */; }; + CBE3270027E275A300395A93 /* ARAdminTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3255827E275A100395A93 /* ARAdminTableViewCell.m */; }; + CBE3270127E275A300395A93 /* ARTickedTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3255927E275A100395A93 /* ARTickedTableViewCell.m */; }; + CBE3270227E275A300395A93 /* ARAnimatedTickView.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3255A27E275A100395A93 /* ARAnimatedTickView.m */; }; + CBE3270427E275A300395A93 /* LiveAuctionCurrentLotCTAPositionManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE3256027E275A100395A93 /* LiveAuctionCurrentLotCTAPositionManager.swift */; }; + CBE3270527E275A300395A93 /* LiveAuctionPlainLotCollectionViewLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE3256127E275A100395A93 /* LiveAuctionPlainLotCollectionViewLayout.swift */; }; + CBE3270627E275A300395A93 /* AREigenMapContainerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3256427E275A100395A93 /* AREigenMapContainerViewController.m */; }; + CBE3270727E275A300395A93 /* ARSerifNavigationViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3256527E275A100395A93 /* ARSerifNavigationViewController.m */; }; + CBE3270827E275A300395A93 /* StoryboardConstants.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE3256927E275A100395A93 /* StoryboardConstants.swift */; }; + CBE3270927E275A300395A93 /* StoryboardImages.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE3256A27E275A100395A93 /* StoryboardImages.swift */; }; + CBE3270A27E275A300395A93 /* ARDispatchManager.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3256B27E275A100395A93 /* ARDispatchManager.m */; }; + CBE3270B27E275A300395A93 /* ARWebViewCacheHost.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3256E27E275A100395A93 /* ARWebViewCacheHost.m */; }; + CBE3270C27E275A300395A93 /* ARCountdownView.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3257027E275A100395A93 /* ARCountdownView.m */; }; + CBE3270D27E275A300395A93 /* SaleViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE3257227E275A100395A93 /* SaleViewModel.swift */; }; + CBE3270E27E275A300395A93 /* AuctionTitleView.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE3257327E275A100395A93 /* AuctionTitleView.swift */; }; + CBE3270F27E275A300395A93 /* SaleAuctionStatus.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE3257427E275A100395A93 /* SaleAuctionStatus.swift */; }; + CBE3271027E275A300395A93 /* SaleArtworkViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE3257527E275A100395A93 /* SaleArtworkViewModel.swift */; }; + CBE3271127E275A300395A93 /* TextStack.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE3257727E275A100395A93 /* TextStack.swift */; }; + CBE3271227E275A300395A93 /* AuctionColors.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE3257827E275A100395A93 /* AuctionColors.swift */; }; + CBE3271327E275A300395A93 /* ARReusableLoadingView.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3257A27E275A100395A93 /* ARReusableLoadingView.m */; }; + CBE3271427E275A300395A93 /* ARCustomEigenLabels.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3257B27E275A100395A93 /* ARCustomEigenLabels.m */; }; + CBE3271527E275A300395A93 /* ARSeparatorViews.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3257C27E275A100395A93 /* ARSeparatorViews.m */; }; + CBE3271627E275A300395A93 /* ARWhitespaceGobbler.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3258227E275A100395A93 /* ARWhitespaceGobbler.m */; }; + CBE3271727E275A300395A93 /* AROfflineView.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3258327E275A100395A93 /* AROfflineView.m */; }; + CBE3271827E275A300395A93 /* ARBidButton.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3258727E275A100395A93 /* ARBidButton.m */; }; + CBE3271927E275A300395A93 /* ARNvagiationButton+Swift.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE3258827E275A100395A93 /* ARNvagiationButton+Swift.swift */; }; + CBE3271A27E275A300395A93 /* ARNavigationButton.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3258B27E275A100395A93 /* ARNavigationButton.m */; }; + CBE3271B27E275A300395A93 /* ARTextView.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3258E27E275A100395A93 /* ARTextView.m */; }; + CBE3271C27E275A300395A93 /* RefinableType.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE3258F27E275A100395A93 /* RefinableType.swift */; }; + CBE3271D27E275A300395A93 /* ARNotificationView.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3259127E275A100395A93 /* ARNotificationView.m */; }; + CBE3271E27E275A300395A93 /* AuctionCircularButtons.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE3259327E275A100395A93 /* AuctionCircularButtons.swift */; }; + CBE3271F27E275A300395A93 /* Stringify.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE3259427E275A200395A93 /* Stringify.swift */; }; + CBE3272527E275A400395A93 /* ARTNativeScreenPresenterModule.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3259E27E275A200395A93 /* ARTNativeScreenPresenterModule.m */; }; + CBE3272627E275A400395A93 /* CityGuideView.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE3259F27E275A200395A93 /* CityGuideView.swift */; }; + CBE3272727E275A400395A93 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = CBE325A227E275A200395A93 /* Images.xcassets */; }; + CBE3272827E275A400395A93 /* MapAnnotation_Artsy@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE325A527E275A200395A93 /* MapAnnotation_Artsy@2x.png */; }; + CBE3272927E275A400395A93 /* ViewInRoom_Wall@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE325A827E275A200395A93 /* ViewInRoom_Wall@2x.png */; }; + CBE3272A27E275A400395A93 /* ViewInRoom_Man_3@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE325A927E275A200395A93 /* ViewInRoom_Man_3@2x.png */; }; + CBE3272B27E275A400395A93 /* ViewInRoom_Wall_Right@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE325AA27E275A200395A93 /* ViewInRoom_Wall_Right@2x.png */; }; + CBE3272C27E275A400395A93 /* ViewInRoom_Base@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE325AB27E275A200395A93 /* ViewInRoom_Base@2x.png */; }; + CBE3272D27E275A400395A93 /* ViewInRoom_Bench@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE325AC27E275A200395A93 /* ViewInRoom_Bench@2x.png */; }; + CBE3272E27E275A400395A93 /* ViewInRoom_BaseNoBench@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE325AD27E275A200395A93 /* ViewInRoom_BaseNoBench@2x.png */; }; + CBE3272F27E275A400395A93 /* followButton@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE325AF27E275A200395A93 /* followButton@3x.png */; }; + CBE3273027E275A400395A93 /* SmallMoreVerticalArrow.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE325B027E275A200395A93 /* SmallMoreVerticalArrow.png */; }; + CBE3273127E275A400395A93 /* SmallMoreVerticalArrow@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE325B127E275A200395A93 /* SmallMoreVerticalArrow@2x.png */; }; + CBE3273227E275A400395A93 /* SearchButton@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE325B227E275A200395A93 /* SearchButton@3x.png */; }; + CBE3273327E275A400395A93 /* Hash@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE325B327E275A200395A93 /* Hash@3x.png */; }; + CBE3273427E275A400395A93 /* MoreArrow@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE325B427E275A200395A93 /* MoreArrow@2x.png */; }; + CBE3273527E275A400395A93 /* ARVIRBack@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE325B527E275A200395A93 /* ARVIRBack@3x.png */; }; + CBE3273627E275A400395A93 /* Hash.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE325B627E275A200395A93 /* Hash.png */; }; + CBE3273727E275A400395A93 /* navigation_more_arrow_vertical@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE325B727E275A200395A93 /* navigation_more_arrow_vertical@2x.png */; }; + CBE3273827E275A400395A93 /* followButtonChecked@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE325B827E275A200395A93 /* followButtonChecked@3x.png */; }; + CBE3273927E275A400395A93 /* followButtonChecked@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE325B927E275A200395A93 /* followButtonChecked@2x.png */; }; + CBE3273A27E275A400395A93 /* AuctionRefineCheck.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE325BA27E275A200395A93 /* AuctionRefineCheck.png */; }; + CBE3273B27E275A400395A93 /* ARVIRBack@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE325BB27E275A200395A93 /* ARVIRBack@2x.png */; }; + CBE3273C27E275A400395A93 /* AttentionIcon@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE325BC27E275A200395A93 /* AttentionIcon@2x.png */; }; + CBE3273D27E275A400395A93 /* FooterBackground@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE325BD27E275A200395A93 /* FooterBackground@2x.png */; }; + CBE3273E27E275A400395A93 /* serif_modal_close@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE325BE27E275A200395A93 /* serif_modal_close@2x.png */; }; + CBE3273F27E275A400395A93 /* Hash@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE325BF27E275A200395A93 /* Hash@2x.png */; }; + CBE3274027E275A400395A93 /* SearchButton@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE325C027E275A200395A93 /* SearchButton@2x.png */; }; + CBE3274127E275A400395A93 /* followButton@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE325C127E275A200395A93 /* followButton@2x.png */; }; + CBE3274227E275A400395A93 /* paddle.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE325C227E275A200395A93 /* paddle.png */; }; + CBE3274327E275A400395A93 /* full_logo_white_small@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE325C327E275A200395A93 /* full_logo_white_small@2x.png */; }; + CBE3274427E275A400395A93 /* ARVIRPhone@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE325C427E275A200395A93 /* ARVIRPhone@2x.png */; }; + CBE3274527E275A400395A93 /* AuctionRefineCheck@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE325C527E275A200395A93 /* AuctionRefineCheck@2x.png */; }; + CBE3274627E275A400395A93 /* Track@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE325C627E275A200395A93 /* Track@2x.png */; }; + CBE3274727E275A400395A93 /* BackChevron.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE325C727E275A200395A93 /* BackChevron.png */; }; + CBE3274827E275A400395A93 /* CircularInfoButton.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE325C827E275A200395A93 /* CircularInfoButton.png */; }; + CBE3274927E275A400395A93 /* CircularCancelButton@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE325C927E275A200395A93 /* CircularCancelButton@2x.png */; }; + CBE3274A27E275A400395A93 /* followButton.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE325CA27E275A200395A93 /* followButton.png */; }; + CBE3274B27E275A400395A93 /* ARVIRPhone@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE325CB27E275A200395A93 /* ARVIRPhone@3x.png */; }; + CBE3274C27E275A400395A93 /* full_logo_white_large@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE325CC27E275A200395A93 /* full_logo_white_large@2x.png */; }; + CBE3274D27E275A400395A93 /* ARVIRRefresh@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE325CD27E275A200395A93 /* ARVIRRefresh@3x.png */; }; + CBE3274E27E275A400395A93 /* CloseButtonLarge@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE325CE27E275A200395A93 /* CloseButtonLarge@2x.png */; }; + CBE3274F27E275A400395A93 /* CircleXRed.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE325CF27E275A200395A93 /* CircleXRed.png */; }; + CBE3275027E275A400395A93 /* Artsy_Logo.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE325D027E275A200395A93 /* Artsy_Logo.png */; }; + CBE3275127E275A400395A93 /* full_logo_white_medium@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE325D127E275A200395A93 /* full_logo_white_medium@2x.png */; }; + CBE3275227E275A400395A93 /* RefreshIcon@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE325D227E275A200395A93 /* RefreshIcon@2x.png */; }; + CBE3275327E275A400395A93 /* CircleCheckGreen@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE325D327E275A200395A93 /* CircleCheckGreen@2x.png */; }; + CBE3275427E275A400395A93 /* Chevron_White_Left@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE325D427E275A200395A93 /* Chevron_White_Left@2x.png */; }; + CBE3275527E275A400395A93 /* Range@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE325D527E275A200395A93 /* Range@2x.png */; }; + CBE3275627E275A400395A93 /* Thumb@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE325D627E275A200395A93 /* Thumb@2x.png */; }; + CBE3275727E275A400395A93 /* paddle@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE325D727E275A200395A93 /* paddle@3x.png */; }; + CBE3275827E275A400395A93 /* paddle@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE325D827E275A200395A93 /* paddle@2x.png */; }; + CBE3275927E275A400395A93 /* CircleCheckGreen.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE325D927E275A200395A93 /* CircleCheckGreen.png */; }; + CBE3275A27E275A400395A93 /* Chevron_White_Left@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE325DA27E275A200395A93 /* Chevron_White_Left@3x.png */; }; + CBE3275B27E275A400395A93 /* CircleCheckGreen@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE325DB27E275A200395A93 /* CircleCheckGreen@3x.png */; }; + CBE3275C27E275A400395A93 /* ARVIRRefresh@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE325DC27E275A200395A93 /* ARVIRRefresh@2x.png */; }; + CBE3275D27E275A400395A93 /* CloseButtonLargeHighlighted@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE325DD27E275A200395A93 /* CloseButtonLargeHighlighted@2x.png */; }; + CBE3275E27E275A400395A93 /* CircleXRed@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE325DE27E275A200395A93 /* CircleXRed@3x.png */; }; + CBE3275F27E275A400395A93 /* BackChevron@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE325DF27E275A200395A93 /* BackChevron@2x.png */; }; + CBE3276027E275A400395A93 /* SearchButton.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE325E027E275A200395A93 /* SearchButton.png */; }; + CBE3276127E275A400395A93 /* CircularCancelButton.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE325E127E275A200395A93 /* CircularCancelButton.png */; }; + CBE3276227E275A400395A93 /* full_logo_black_large@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE325E227E275A200395A93 /* full_logo_black_large@2x.png */; }; + CBE3276327E275A400395A93 /* BackArrow_Highlighted@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE325E327E275A200395A93 /* BackArrow_Highlighted@2x.png */; }; + CBE3276427E275A400395A93 /* followButtonChecked.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE325E427E275A200395A93 /* followButtonChecked.png */; }; + CBE3276527E275A400395A93 /* full_logo_black_medium@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE325E527E275A200395A93 /* full_logo_black_medium@2x.png */; }; + CBE3276627E275A400395A93 /* full_logo_black_small@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE325E627E275A200395A93 /* full_logo_black_small@2x.png */; }; + CBE3276727E275A400395A93 /* CircularInfoButton@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE325E727E275A200395A93 /* CircularInfoButton@2x.png */; }; + CBE3276827E275A400395A93 /* Thumb.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE325E827E275A200395A93 /* Thumb.png */; }; + CBE3276927E275A400395A93 /* BackChevron@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE325E927E275A200395A93 /* BackChevron@3x.png */; }; + CBE3276A27E275A400395A93 /* CircleXRed@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE325EA27E275A200395A93 /* CircleXRed@2x.png */; }; + CBE3276B27E275A400395A93 /* navigation_more_arrow_horizontal@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CBE325EB27E275A200395A93 /* navigation_more_arrow_horizontal@2x.png */; }; + CBE3276C27E275A400395A93 /* MTLModel+Dictionary.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE325EE27E275A200395A93 /* MTLModel+Dictionary.m */; }; + CBE3276D27E275A400395A93 /* MTLModel+JSON.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE325EF27E275A200395A93 /* MTLModel+JSON.m */; }; + CBE3276E27E275A400395A93 /* StarscreamExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE325F327E275A200395A93 /* StarscreamExtensions.swift */; }; + CBE3276F27E275A400395A93 /* LiveAuctionSocketCommunicator.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE325F427E275A200395A93 /* LiveAuctionSocketCommunicator.swift */; }; + CBE3277027E275A400395A93 /* ARAuthProviders.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE325F927E275A200395A93 /* ARAuthProviders.m */; }; + CBE3277127E275A400395A93 /* ArtsyAPI.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE325FA27E275A200395A93 /* ArtsyAPI.m */; }; + CBE3277227E275A400395A93 /* ArtsyAPI+HEAD.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE325FC27E275A200395A93 /* ArtsyAPI+HEAD.m */; }; + CBE3277327E275A400395A93 /* ArtsyAPI+Pages.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3260027E275A200395A93 /* ArtsyAPI+Pages.m */; }; + CBE3277427E275A400395A93 /* ArtsyAPI+ErrorHandlers.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3260127E275A200395A93 /* ArtsyAPI+ErrorHandlers.m */; }; + CBE3277527E275A400395A93 /* ARKeychainable.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3260527E275A200395A93 /* ARKeychainable.m */; }; + CBE3277627E275A400395A93 /* ArtsyAPI+Following.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3260827E275A200395A93 /* ArtsyAPI+Following.m */; }; + CBE3277727E275A400395A93 /* ArtsyAPI+SystemTime.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3260927E275A200395A93 /* ArtsyAPI+SystemTime.m */; }; + CBE3277827E275A400395A93 /* ArtsyAPI+Profiles.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3260C27E275A200395A93 /* ArtsyAPI+Profiles.m */; }; + CBE3277927E275A400395A93 /* ArtsyAPI+Notifications.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3260D27E275A200395A93 /* ArtsyAPI+Notifications.m */; }; + CBE3277A27E275A400395A93 /* ArtsyAPI+Sales.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3260E27E275A200395A93 /* ArtsyAPI+Sales.m */; }; + CBE3277B27E275A400395A93 /* ArtsyAPI+CurrentUserFunctions.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3261027E275A200395A93 /* ArtsyAPI+CurrentUserFunctions.m */; }; + CBE3277C27E275A400395A93 /* ArtsyAPI+DeviceTokens.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3261127E275A200395A93 /* ArtsyAPI+DeviceTokens.m */; }; + CBE3277D27E275A400395A93 /* ARUserManager.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3261327E275A200395A93 /* ARUserManager.m */; }; + CBE3277E27E275A400395A93 /* ArtsyAPI+RelatedModels.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3261427E275A200395A93 /* ArtsyAPI+RelatedModels.m */; }; + CBE3277F27E275A400395A93 /* static_sale_data.graphql in Resources */ = {isa = PBXBuildFile; fileRef = CBE3261827E275A200395A93 /* static_sale_data.graphql */; }; + CBE3278027E275A400395A93 /* ARNetworkConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3261927E275A200395A93 /* ARNetworkConstants.m */; }; + CBE3278127E275A400395A93 /* ARRouter.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3261A27E275A200395A93 /* ARRouter.m */; }; + CBE3278227E275A400395A93 /* ARRouter+GraphQL.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3261B27E275A200395A93 /* ARRouter+GraphQL.m */; }; + CBE3278327E275A400395A93 /* ARReactPackagerHost.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3261C27E275A200395A93 /* ARReactPackagerHost.m */; }; + CBE3278427E275A400395A93 /* ARSystemTime.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3261F27E275A200395A93 /* ARSystemTime.m */; }; + CBE3278527E275A400395A93 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = CBE3262127E275A200395A93 /* InfoPlist.strings */; }; + CBE3278727E275A400395A93 /* Launch Screen.xib in Resources */ = {isa = PBXBuildFile; fileRef = CBE3262627E275A200395A93 /* Launch Screen.xib */; }; + CBE3278827E275A400395A93 /* Artwork.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3262E27E275A300395A93 /* Artwork.m */; }; + CBE3278927E275A400395A93 /* PartnerShow.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3263027E275A300395A93 /* PartnerShow.m */; }; + CBE3278A27E275A400395A93 /* Partner.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3263127E275A300395A93 /* Partner.m */; }; + CBE3278B27E275A400395A93 /* Location.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3263227E275A300395A93 /* Location.m */; }; + CBE3278C27E275A400395A93 /* Artist.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3263327E275A300395A93 /* Artist.m */; }; + CBE3278D27E275A400395A93 /* Article.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3263927E275A300395A93 /* Article.m */; }; + CBE3278E27E275A400395A93 /* AuctionLot.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3263E27E275A300395A93 /* AuctionLot.m */; }; + CBE3278F27E275A400395A93 /* Image.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3264027E275A300395A93 /* Image.m */; }; + CBE3279027E275A400395A93 /* Gene.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3264227E275A300395A93 /* Gene.m */; }; + CBE3279127E275A400395A93 /* LiveAuctionLot.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3264427E275A300395A93 /* LiveAuctionLot.m */; }; + CBE3279227E275A400395A93 /* User.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3264727E275A300395A93 /* User.m */; }; + CBE3279327E275A400395A93 /* Profile.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3264927E275A300395A93 /* Profile.m */; }; + CBE3279427E275A400395A93 /* FairOrganizer.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3264B27E275A300395A93 /* FairOrganizer.m */; }; + CBE3279527E275A400395A93 /* Follow.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3264C27E275A300395A93 /* Follow.m */; }; + CBE3279627E275A400395A93 /* Fair.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3265027E275A300395A93 /* Fair.m */; }; + CBE3279727E275A400395A93 /* LiveEvent.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3265327E275A300395A93 /* LiveEvent.m */; }; + CBE3279827E275A400395A93 /* SaleStatusType.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE3265627E275A300395A93 /* SaleStatusType.swift */; }; + CBE3279927E275A400395A93 /* LiveSale.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3265827E275A300395A93 /* LiveSale.m */; }; + CBE3279A27E275A400395A93 /* BidIncrementStrategy.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3265927E275A300395A93 /* BidIncrementStrategy.m */; }; + CBE3279B27E275A400395A93 /* LiveBidder.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3265A27E275A300395A93 /* LiveBidder.m */; }; + CBE3279C27E275A400395A93 /* Sale.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3265C27E275A300395A93 /* Sale.m */; }; + CBE3279D27E275A400395A93 /* BuyersPremium.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3265D27E275A300395A93 /* BuyersPremium.m */; }; + CBE3279E27E275A400395A93 /* SaleArtwork.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3265E27E275A300395A93 /* SaleArtwork.m */; }; + CBE3279F27E275A400395A93 /* Bid.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3266127E275A300395A93 /* Bid.m */; }; + CBE327A027E275A400395A93 /* Bidder.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3266527E275A300395A93 /* Bidder.m */; }; + CBE327A127E275A400395A93 /* BidderPosition.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3266627E275A300395A93 /* BidderPosition.m */; }; + CBE327A227E275A400395A93 /* SystemTime.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE3266927E275A300395A93 /* SystemTime.m */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + CB43266827E8F39B00B29DD6 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */; + proxyType = 1; + remoteGlobalIDString = CB43266227E8F39900B29DD6; + remoteInfo = "Artsy Stickers"; + }; + CB43267827E8F6F900B29DD6 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */; + proxyType = 1; + remoteGlobalIDString = CB43267227E8F6F900B29DD6; + remoteInfo = BrazePushServiceExtension; + }; + CB43269027E8FA6B00B29DD6 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */; + proxyType = 1; + remoteGlobalIDString = CB43268127E8FA6900B29DD6; + remoteInfo = ArtsyWidgetExtension; + }; + CB43272027E8FE5400B29DD6 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 13B07F861A680F5B00A75B9A; + remoteInfo = Artsy; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXCopyFilesBuildPhase section */ + CB43266B27E8F39B00B29DD6 /* Embed App Extensions */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 13; + files = ( + CB43266A27E8F39B00B29DD6 /* ArtsyStickers.appex in Embed App Extensions */, + CB43269227E8FA6B00B29DD6 /* ArtsyWidgetExtension.appex in Embed App Extensions */, + CB43267A27E8F6F900B29DD6 /* BrazePushServiceExtension.appex in Embed App Extensions */, + ); + name = "Embed App Extensions"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 02F2C90B06AD6C83572BCE60 /* Pods-eigen.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-eigen.debug.xcconfig"; path = "Target Support Files/Pods-eigen/Pods-eigen.debug.xcconfig"; sourceTree = ""; }; + 13B07F961A680F5B00A75B9A /* Artsy.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Artsy.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 13F369B4E56A4D026D55DC53 /* Pods-eigen-eigenTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-eigen-eigenTests.release.xcconfig"; path = "Target Support Files/Pods-eigen-eigenTests/Pods-eigen-eigenTests.release.xcconfig"; sourceTree = ""; }; + 17C42880D2ACAFFAD6731367 /* Pods-eigen-eigenTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-eigen-eigenTests.debug.xcconfig"; path = "Target Support Files/Pods-eigen-eigenTests/Pods-eigen-eigenTests.debug.xcconfig"; sourceTree = ""; }; + 1A550F0C282AE4D200126D22 /* ARAuctionWebViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARAuctionWebViewController.h; sourceTree = ""; }; + 1A550F0D282AE4D200126D22 /* ARAuctionWebViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARAuctionWebViewController.m; sourceTree = ""; }; + 236DCB5FAF86376660CE95DA /* Pods-eigen.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-eigen.release.xcconfig"; path = "Target Support Files/Pods-eigen/Pods-eigen.release.xcconfig"; sourceTree = ""; }; + 41B4CDDC19345D9AFB1E708B /* libPods-Artsy.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Artsy.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 46687F9E977C7CE0F1B12B05 /* Pods-ArtsyTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ArtsyTests.release.xcconfig"; path = "Target Support Files/Pods-ArtsyTests/Pods-ArtsyTests.release.xcconfig"; sourceTree = ""; }; + 4E68A5AE2269760F44D9E0B7 /* libPods-ArtsyTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-ArtsyTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 775AB16F96387B70AABE4731 /* Pods-Artsy.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Artsy.debug.xcconfig"; path = "Target Support Files/Pods-Artsy/Pods-Artsy.debug.xcconfig"; sourceTree = ""; }; + 8DA7CA3A2D9A05D038AFAB1C /* Pods-ArtsyTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ArtsyTests.debug.xcconfig"; path = "Target Support Files/Pods-ArtsyTests/Pods-ArtsyTests.debug.xcconfig"; sourceTree = ""; }; + 9B51BBF7C1BD09CD9EA76699 /* Pods-ArtsyTests.store.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ArtsyTests.store.xcconfig"; path = "Target Support Files/Pods-ArtsyTests/Pods-ArtsyTests.store.xcconfig"; sourceTree = ""; }; + BE5EFBF10AC43C4ECF725994 /* Pods-Artsy_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Artsy_Tests.debug.xcconfig"; path = "Target Support Files/Pods-Artsy_Tests/Pods-Artsy_Tests.debug.xcconfig"; sourceTree = ""; }; + BE681C4A642B6359D3C2A4AF /* Pods-Artsy-ArtsyTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Artsy-ArtsyTests.debug.xcconfig"; path = "Target Support Files/Pods-Artsy-ArtsyTests/Pods-Artsy-ArtsyTests.debug.xcconfig"; sourceTree = ""; }; + CB43266327E8F39900B29DD6 /* ArtsyStickers.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = ArtsyStickers.appex; sourceTree = BUILT_PRODUCTS_DIR; }; + CB43266527E8F39B00B29DD6 /* Stickers.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Stickers.xcassets; sourceTree = ""; }; + CB43266727E8F39B00B29DD6 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + CB43267327E8F6F900B29DD6 /* BrazePushServiceExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = BrazePushServiceExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; }; + CB43267527E8F6F900B29DD6 /* NotificationService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationService.swift; sourceTree = ""; }; + CB43267727E8F6F900B29DD6 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + CB43268227E8FA6900B29DD6 /* ArtsyWidgetExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = ArtsyWidgetExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; }; + CB43268327E8FA6900B29DD6 /* WidgetKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WidgetKit.framework; path = System/Library/Frameworks/WidgetKit.framework; sourceTree = SDKROOT; }; + CB43268527E8FA6900B29DD6 /* SwiftUI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SwiftUI.framework; path = System/Library/Frameworks/SwiftUI.framework; sourceTree = SDKROOT; }; + CB43268B27E8FA6B00B29DD6 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + CB43268D27E8FA6B00B29DD6 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + CB43269727E8FAD900B29DD6 /* FullBleed+Entry.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "FullBleed+Entry.swift"; sourceTree = ""; }; + CB43269827E8FAD900B29DD6 /* FullBleed+Provider.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "FullBleed+Provider.swift"; sourceTree = ""; }; + CB43269927E8FAD900B29DD6 /* FullBleed+Timeline.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "FullBleed+Timeline.swift"; sourceTree = ""; }; + CB43269A27E8FAD900B29DD6 /* FullBleed.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FullBleed.swift; sourceTree = ""; }; + CB43269B27E8FAD900B29DD6 /* FullBleed+View.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "FullBleed+View.swift"; sourceTree = ""; }; + CB43269C27E8FAD900B29DD6 /* FullBleed+Widget.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "FullBleed+Widget.swift"; sourceTree = ""; }; + CB43269E27E8FAD900B29DD6 /* FeaturedArtworks+Entry.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "FeaturedArtworks+Entry.swift"; sourceTree = ""; }; + CB43269F27E8FAD900B29DD6 /* FeaturedArtworks+SmallView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "FeaturedArtworks+SmallView.swift"; sourceTree = ""; }; + CB4326A027E8FAD900B29DD6 /* FeaturedArtworks+Timeline.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "FeaturedArtworks+Timeline.swift"; sourceTree = ""; }; + CB4326A127E8FAD900B29DD6 /* FeaturedArtworks+Widget.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "FeaturedArtworks+Widget.swift"; sourceTree = ""; }; + CB4326A227E8FAD900B29DD6 /* FeaturedArtworks+Provider.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "FeaturedArtworks+Provider.swift"; sourceTree = ""; }; + CB4326A327E8FAD900B29DD6 /* FeaturedArtworks+View.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "FeaturedArtworks+View.swift"; sourceTree = ""; }; + CB4326A427E8FAD900B29DD6 /* FeaturedArtworks.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FeaturedArtworks.swift; sourceTree = ""; }; + CB4326A527E8FAD900B29DD6 /* FeaturedArtworks+LargeView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "FeaturedArtworks+LargeView.swift"; sourceTree = ""; }; + CB4326A627E8FAD900B29DD6 /* FeaturedArtworks+MediumView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "FeaturedArtworks+MediumView.swift"; sourceTree = ""; }; + CB4326A827E8FAD900B29DD6 /* PrimaryText.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PrimaryText.swift; sourceTree = ""; }; + CB4326A927E8FAD900B29DD6 /* ImageUrl.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ImageUrl.swift; sourceTree = ""; }; + CB4326AA27E8FAD900B29DD6 /* Schedule.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Schedule.swift; sourceTree = ""; }; + CB4326AB27E8FAD900B29DD6 /* WidgetUrl.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WidgetUrl.swift; sourceTree = ""; }; + CB4326AC27E8FAD900B29DD6 /* SecondaryText.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SecondaryText.swift; sourceTree = ""; }; + CB4326AD27E8FAD900B29DD6 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + CB4326AE27E8FAD900B29DD6 /* Fixtures.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Fixtures.swift; sourceTree = ""; }; + CB4326B027E8FAD900B29DD6 /* LatestArticles+View.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "LatestArticles+View.swift"; sourceTree = ""; }; + CB4326B127E8FAD900B29DD6 /* LatestArticles+Entry.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "LatestArticles+Entry.swift"; sourceTree = ""; }; + CB4326B227E8FAD900B29DD6 /* LatestArticles+Widget.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "LatestArticles+Widget.swift"; sourceTree = ""; }; + CB4326B327E8FAD900B29DD6 /* LatestArticles+MediumView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "LatestArticles+MediumView.swift"; sourceTree = ""; }; + CB4326B427E8FAD900B29DD6 /* LatestArticles+Timeline.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "LatestArticles+Timeline.swift"; sourceTree = ""; }; + CB4326B527E8FAD900B29DD6 /* LatestArticles+LargeView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "LatestArticles+LargeView.swift"; sourceTree = ""; }; + CB4326B627E8FAD900B29DD6 /* LatestArticles+Provider.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "LatestArticles+Provider.swift"; sourceTree = ""; }; + CB4326B727E8FAD900B29DD6 /* LatestArticles+SmallView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "LatestArticles+SmallView.swift"; sourceTree = ""; }; + CB4326B827E8FAD900B29DD6 /* LatestArticles.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LatestArticles.swift; sourceTree = ""; }; + CB4326B927E8FAD900B29DD6 /* ArtsyWidgets.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ArtsyWidgets.swift; sourceTree = ""; }; + CB4326BB27E8FAD900B29DD6 /* ArticleStore.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ArticleStore.swift; sourceTree = ""; }; + CB4326BC27E8FAD900B29DD6 /* VolleyClient.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VolleyClient.swift; sourceTree = ""; }; + CB4326BD27E8FAD900B29DD6 /* VolleyPayload.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VolleyPayload.swift; sourceTree = ""; }; + CB4326BE27E8FAD900B29DD6 /* ArtworkImage.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ArtworkImage.swift; sourceTree = ""; }; + CB4326BF27E8FAD900B29DD6 /* Artist.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Artist.swift; sourceTree = ""; }; + CB4326C027E8FAD900B29DD6 /* ArtworkStore.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ArtworkStore.swift; sourceTree = ""; }; + CB4326C127E8FAD900B29DD6 /* VolleyMetric.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VolleyMetric.swift; sourceTree = ""; }; + CB4326C227E8FAD900B29DD6 /* Artwork.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Artwork.swift; sourceTree = ""; }; + CB4326C327E8FAD900B29DD6 /* Article.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Article.swift; sourceTree = ""; }; + CB4326C427E8FAD900B29DD6 /* ArticleParser.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ArticleParser.swift; sourceTree = ""; }; + CB43271C27E8FE5400B29DD6 /* ArtsyTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ArtsyTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + CB43272727E8FEE300B29DD6 /* ARInternalMobileWebViewControllerTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARInternalMobileWebViewControllerTests.m; sourceTree = ""; }; + CB43272827E8FEE300B29DD6 /* ARInternalShareValidatorTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARInternalShareValidatorTests.m; sourceTree = ""; }; + CB43272927E8FEE300B29DD6 /* ARExternalWebBrowserViewControllerTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARExternalWebBrowserViewControllerTests.m; sourceTree = ""; }; + CB43272B27E8FEE300B29DD6 /* AuctionBiddersNetworkModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AuctionBiddersNetworkModel.swift; sourceTree = ""; }; + CB43272C27E8FEE300B29DD6 /* AuctionInformationViewControllerTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AuctionInformationViewControllerTests.swift; sourceTree = ""; }; + CB43272D27E8FEE300B29DD6 /* SaleViewModelTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SaleViewModelTests.swift; sourceTree = ""; }; + CB43272E27E8FEE300B29DD6 /* SaleArtworkViewModelTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SaleArtworkViewModelTests.swift; sourceTree = ""; }; + CB43273027E8FEE300B29DD6 /* TextStackTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TextStackTests.swift; sourceTree = ""; }; + CB43273127E8FEE300B29DD6 /* AuctionLotMetadataStackScrollViewTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AuctionLotMetadataStackScrollViewTests.swift; sourceTree = ""; }; + CB43273227E8FEE300B29DD6 /* AuctionSaleNetworkModelTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AuctionSaleNetworkModelTests.swift; sourceTree = ""; }; + CB43273627E8FEE300B29DD6 /* ARNavigationControllerTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARNavigationControllerTests.m; sourceTree = ""; }; + CB43273727E8FEE300B29DD6 /* ARValueTransformerTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARValueTransformerTests.m; sourceTree = ""; }; + CB43273827E8FEE300B29DD6 /* ARFileUtilsTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARFileUtilsTests.m; sourceTree = ""; }; + CB43273A27E8FEE300B29DD6 /* ARAugmentedVIRViewControllerSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARAugmentedVIRViewControllerSpec.m; sourceTree = ""; }; + CB43273B27E8FEE300B29DD6 /* ARAugmentRealitySetupViewControllerSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARAugmentRealitySetupViewControllerSpec.m; sourceTree = ""; }; + CB43273C27E8FEE300B29DD6 /* ARAugmentedRealityConfigSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARAugmentedRealityConfigSpec.m; sourceTree = ""; }; + CB43273D27E8FEE300B29DD6 /* greyscaleImage.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = greyscaleImage.jpg; sourceTree = ""; }; + CB43273F27E8FEE300B29DD6 /* ARSerifNavigationViewControllerSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARSerifNavigationViewControllerSpec.m; sourceTree = ""; }; + CB43274027E8FEE300B29DD6 /* LiveAuctionCurrentLotCTAPositionManagerTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LiveAuctionCurrentLotCTAPositionManagerTests.swift; sourceTree = ""; }; + CB43274127E8FEE300B29DD6 /* SaleOnHoldOverlayViewTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SaleOnHoldOverlayViewTests.swift; sourceTree = ""; }; + CB43274327E8FEE300B29DD6 /* LiveAuctionLotBidHistoryGestureControllerTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LiveAuctionLotBidHistoryGestureControllerTests.swift; sourceTree = ""; }; + CB43274427E8FEE300B29DD6 /* LiveAuctionBidButtonTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LiveAuctionBidButtonTests.swift; sourceTree = ""; }; + CB43274527E8FEE300B29DD6 /* LiveAuctionBiddingViewModelTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LiveAuctionBiddingViewModelTests.swift; sourceTree = ""; }; + CB43274627E8FEE300B29DD6 /* LiveAuctionFancyLotCollectionViewLayoutTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LiveAuctionFancyLotCollectionViewLayoutTests.swift; sourceTree = ""; }; + CB43274727E8FEE300B29DD6 /* BiddingIncrementSpecs.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BiddingIncrementSpecs.swift; sourceTree = ""; }; + CB43274827E8FEE300B29DD6 /* LiveAuctionLotListStickyCellCollectionViewLayoutTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LiveAuctionLotListStickyCellCollectionViewLayoutTests.swift; sourceTree = ""; }; + CB43274927E8FEE300B29DD6 /* FakeSalesPerson.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FakeSalesPerson.swift; sourceTree = ""; }; + CB43274A27E8FEE300B29DD6 /* LiveAuctionLoadingViewSpec.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LiveAuctionLoadingViewSpec.swift; sourceTree = ""; }; + CB43274B27E8FEE300B29DD6 /* LiveAuctionViewControllerTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LiveAuctionViewControllerTests.swift; sourceTree = ""; }; + CB43274C27E8FEE300B29DD6 /* LiveAuctionBidViewControllerTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LiveAuctionBidViewControllerTests.swift; sourceTree = ""; }; + CB43274D27E8FEE300B29DD6 /* LiveAuctionLotSetViewControllerTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LiveAuctionLotSetViewControllerTests.swift; sourceTree = ""; }; + CB43274E27E8FEE300B29DD6 /* LiveAuctionLotListViewControllerTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LiveAuctionLotListViewControllerTests.swift; sourceTree = ""; }; + CB43274F27E8FEE300B29DD6 /* LiveAuctionLotViewControllerTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LiveAuctionLotViewControllerTests.swift; sourceTree = ""; }; + CB43275027E8FEE300B29DD6 /* LiveSalesPersonSpecs.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LiveSalesPersonSpecs.swift; sourceTree = ""; }; + CB43275427E8FEE300B29DD6 /* ARNavigationButtonsViewControllerTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARNavigationButtonsViewControllerTests.m; sourceTree = ""; }; + CB43275727E8FEE300B29DD6 /* ARNavigationButtonTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARNavigationButtonTests.m; sourceTree = ""; }; + CB43275827E8FEE300B29DD6 /* NavigationButtonTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NavigationButtonTests.swift; sourceTree = ""; }; + CB43275927E8FEE300B29DD6 /* ARBidButtonTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARBidButtonTests.m; sourceTree = ""; }; + CB43275A27E8FEE300B29DD6 /* ORStackViewArtsyCategoriesTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ORStackViewArtsyCategoriesTests.m; sourceTree = ""; }; + CB43275B27E8FEE300B29DD6 /* ARTextViewTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARTextViewTests.m; sourceTree = ""; }; + CB43275C27E8FEE300B29DD6 /* ARCustomEigenLabelTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARCustomEigenLabelTests.m; sourceTree = ""; }; + CB43275D27E8FEE300B29DD6 /* ARAnimatedTickViewTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARAnimatedTickViewTest.m; sourceTree = ""; }; + CB43276027E8FEE300B29DD6 /* ARAppActivityContinuationDelegateTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARAppActivityContinuationDelegateTests.m; sourceTree = ""; }; + CB43276127E8FEE300B29DD6 /* ARAppNotificationsDelegateTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARAppNotificationsDelegateTests.m; sourceTree = ""; }; + CB43276227E8FEE300B29DD6 /* ARWebViewCacheHostSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARWebViewCacheHostSpec.m; sourceTree = ""; }; + CB43276527E8FEE400B29DD6 /* ProfileTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ProfileTests.m; sourceTree = ""; }; + CB43276627E8FEE400B29DD6 /* SaleTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SaleTests.m; sourceTree = ""; }; + CB43276727E8FEE400B29DD6 /* ArtworkTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ArtworkTests.m; sourceTree = ""; }; + CB43276827E8FEE400B29DD6 /* SaleArtworkTests.m */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.objc; path = SaleArtworkTests.m; sourceTree = ""; tabWidth = 4; }; + CB43276927E8FEE400B29DD6 /* PartnerTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PartnerTests.m; sourceTree = ""; }; + CB43276A27E8FEE400B29DD6 /* FairTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FairTests.m; sourceTree = ""; }; + CB43276B27E8FEE400B29DD6 /* ARImageTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARImageTests.m; sourceTree = ""; }; + CB43276D27E8FEE400B29DD6 /* User_v1.data */ = {isa = PBXFileReference; lastKnownFileType = file.bplist; path = User_v1.data; sourceTree = ""; }; + CB43276E27E8FEE400B29DD6 /* User_v0.data */ = {isa = PBXFileReference; lastKnownFileType = file.bplist; path = User_v0.data; sourceTree = ""; }; + CB43276F27E8FEE400B29DD6 /* Artwork_v0.data */ = {isa = PBXFileReference; lastKnownFileType = file.bplist; path = Artwork_v0.data; sourceTree = ""; }; + CB43277027E8FEE400B29DD6 /* Artwork_v1.data */ = {isa = PBXFileReference; lastKnownFileType = file.bplist; path = Artwork_v1.data; sourceTree = ""; }; + CB43277127E8FEE400B29DD6 /* SystemTimeTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SystemTimeTests.m; sourceTree = ""; }; + CB43277227E8FEE400B29DD6 /* UserTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UserTests.m; sourceTree = ""; }; + CB43277427E8FEE400B29DD6 /* ScheduleTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ScheduleTests.swift; sourceTree = ""; }; + CB43277527E8FEE400B29DD6 /* ArtworkTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ArtworkTests.swift; sourceTree = ""; }; + CB43277727E8FEE400B29DD6 /* ARTestImageCachingFunctions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ARTestImageCachingFunctions.swift; sourceTree = ""; }; + CB43277827E8FEE400B29DD6 /* MutableNSURLResponse.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MutableNSURLResponse.m; sourceTree = ""; }; + CB43277927E8FEE400B29DD6 /* OCMArg+ClassChecker.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "OCMArg+ClassChecker.m"; sourceTree = ""; }; + CB43277A27E8FEE400B29DD6 /* UIViewController+Testing.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIViewController+Testing.m"; sourceTree = ""; }; + CB43277B27E8FEE400B29DD6 /* ARExpectaExtensions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARExpectaExtensions.m; sourceTree = ""; }; + CB43277C27E8FEE400B29DD6 /* EXPMatcher+UINavigationController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "EXPMatcher+UINavigationController.m"; sourceTree = ""; }; + CB43277D27E8FEE400B29DD6 /* MutableNSURLResponse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MutableNSURLResponse.h; sourceTree = ""; }; + CB43277E27E8FEE400B29DD6 /* UIViewController+Tests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIViewController+Tests.swift"; sourceTree = ""; }; + CB43277F27E8FEE400B29DD6 /* UIViewController+Testing.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIViewController+Testing.h"; sourceTree = ""; }; + CB43278027E8FEE400B29DD6 /* OCMArg+ClassChecker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "OCMArg+ClassChecker.h"; sourceTree = ""; }; + CB43278127E8FEE400B29DD6 /* ARExpectaExtensions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARExpectaExtensions.h; sourceTree = ""; }; + CB43278227E8FEE400B29DD6 /* EXPMatcher+UINavigationController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "EXPMatcher+UINavigationController.h"; sourceTree = ""; }; + CB43278527E8FEE400B29DD6 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; + CB43278627E8FEE400B29DD6 /* Artsy_Tests-Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Artsy_Tests-Prefix.pch"; sourceTree = ""; }; + CB43278727E8FEE400B29DD6 /* Artsy-Tests-Bridging-Header.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Artsy-Tests-Bridging-Header.h"; sourceTree = ""; }; + CB43278827E8FEE400B29DD6 /* ARTestHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARTestHelper.h; sourceTree = ""; }; + CB43278927E8FEE400B29DD6 /* ARTestContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARTestContext.h; sourceTree = ""; }; + CB43278B27E8FEE400B29DD6 /* ARTestHelper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARTestHelper.m; sourceTree = ""; }; + CB43278C27E8FEE400B29DD6 /* stub.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = stub.jpg; sourceTree = ""; }; + CB43278D27E8FEE400B29DD6 /* stubbed_image.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = stubbed_image.png; sourceTree = ""; }; + CB43278E27E8FEE400B29DD6 /* ARTestContext.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARTestContext.m; sourceTree = ""; }; + CB43279127E8FEE400B29DD6 /* LiveAuctionSocketCommunicatorSpec.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LiveAuctionSocketCommunicatorSpec.swift; sourceTree = ""; }; + CB43279227E8FEE400B29DD6 /* LiveAuctionStaticDataFetcherSpec.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LiveAuctionStaticDataFetcherSpec.swift; sourceTree = ""; }; + CB43279327E8FEE400B29DD6 /* LiveAuctionStateReconcilerSpec.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LiveAuctionStateReconcilerSpec.swift; sourceTree = ""; }; + CB43279427E8FEE400B29DD6 /* ARSystemTimeTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARSystemTimeTests.m; sourceTree = ""; }; + CB43279627E8FEE400B29DD6 /* ARUserManagerTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARUserManagerTests.m; sourceTree = ""; }; + CB43279727E8FEE400B29DD6 /* ArtsyAPI+ErrorHandlers.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "ArtsyAPI+ErrorHandlers.m"; sourceTree = ""; }; + CB43279827E8FEE400B29DD6 /* ArtsyAPI+GraphQLTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "ArtsyAPI+GraphQLTests.m"; sourceTree = ""; }; + CB43279927E8FEE400B29DD6 /* ArtsyAPI+PrivateTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "ArtsyAPI+PrivateTests.m"; sourceTree = ""; }; + CB43279A27E8FEE400B29DD6 /* ArtsyAPI+SystemTimeTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "ArtsyAPI+SystemTimeTests.m"; sourceTree = ""; }; + CB43279B27E8FEE400B29DD6 /* LiveAuctionLotViewModelSpecs.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LiveAuctionLotViewModelSpecs.swift; sourceTree = ""; }; + CB43279C27E8FEE400B29DD6 /* ARRouterTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARRouterTests.m; sourceTree = ""; }; + CB43279D27E8FEE400B29DD6 /* AFHTTPRequestOperationJSONTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AFHTTPRequestOperationJSONTests.m; sourceTree = ""; }; + CB4327A027E8FEE400B29DD6 /* ARWarningView_looks_correct@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ARWarningView_looks_correct@3x.png"; sourceTree = ""; }; + CB4327A227E8FEE400B29DD6 /* serifNavigationButtonWithTitle@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "serifNavigationButtonWithTitle@3x.png"; sourceTree = ""; }; + CB4327A327E8FEE400B29DD6 /* navigationButtonWithTitleAndNoBorder@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "navigationButtonWithTitleAndNoBorder@3x.png"; sourceTree = ""; }; + CB4327A427E8FEE400B29DD6 /* ARSerifNavigationButton_really_long_title_and_subtitle@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ARSerifNavigationButton_really_long_title_and_subtitle@3x.png"; sourceTree = ""; }; + CB4327A527E8FEE400B29DD6 /* ARNavigationButton_default_border_really_long_title_and_subtitle@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ARNavigationButton_default_border_really_long_title_and_subtitle@3x.png"; sourceTree = ""; }; + CB4327A627E8FEE400B29DD6 /* navigationButtonWithTitleAndSubtitleAndNoBorder@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "navigationButtonWithTitleAndSubtitleAndNoBorder@3x.png"; sourceTree = ""; }; + CB4327A727E8FEE400B29DD6 /* navigationButtonWithTitleAndSubtitle@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "navigationButtonWithTitleAndSubtitle@3x.png"; sourceTree = ""; }; + CB4327A827E8FEE400B29DD6 /* serifNavigationButtonWithTitleAndSubtitle@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "serifNavigationButtonWithTitleAndSubtitle@3x.png"; sourceTree = ""; }; + CB4327A927E8FEE400B29DD6 /* navigationButtonWithTitleAnd5pxBorder@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "navigationButtonWithTitleAnd5pxBorder@3x.png"; sourceTree = ""; }; + CB4327AA27E8FEE400B29DD6 /* navigationButtonWithTitleAndSubtitleAnd5pxBorder@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "navigationButtonWithTitleAndSubtitleAnd5pxBorder@3x.png"; sourceTree = ""; }; + CB4327AB27E8FEE400B29DD6 /* navigationButtonWithTitle@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "navigationButtonWithTitle@3x.png"; sourceTree = ""; }; + CB4327AD27E8FEE400B29DD6 /* looks_good_with_gene_refine_settings@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "looks_good_with_gene_refine_settings@3x.png"; sourceTree = ""; }; + CB4327AE27E8FEE400B29DD6 /* looks_good_by_default@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "looks_good_by_default@3x.png"; sourceTree = ""; }; + CB4327AF27E8FEE400B29DD6 /* looks_good_with_gene_refine_settings_showing_price@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "looks_good_with_gene_refine_settings_showing_price@3x.png"; sourceTree = ""; }; + CB4327B027E8FEE400B29DD6 /* looks_good_when_configured_with_options_and_changed_options@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "looks_good_when_configured_with_options_and_changed_options@3x.png"; sourceTree = ""; }; + CB4327B127E8FEE400B29DD6 /* enables_apply_reset_buttons_when_options_are_changed@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "enables_apply_reset_buttons_when_options_are_changed@3x.png"; sourceTree = ""; }; + CB4327B227E8FEE400B29DD6 /* looks_good_when_reset@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "looks_good_when_reset@3x.png"; sourceTree = ""; }; + CB4327B327E8FEE400B29DD6 /* looks_good_by_when_there_are_no_estimates@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "looks_good_by_when_there_are_no_estimates@3x.png"; sourceTree = ""; }; + CB4327B527E8FEE400B29DD6 /* has_valid_snapshot_registration_closed@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "has_valid_snapshot_registration_closed@3x.png"; sourceTree = ""; }; + CB4327B627E8FEE400B29DD6 /* has_valid_snapshot_waiting@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "has_valid_snapshot_waiting@3x.png"; sourceTree = ""; }; + CB4327B727E8FEE400B29DD6 /* has_valid_snapshot_waiting_on_auctioneer_confirmation@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "has_valid_snapshot_waiting_on_auctioneer_confirmation@3x.png"; sourceTree = ""; }; + CB4327B827E8FEE400B29DD6 /* handles_getting_outbid_with_lot_state_changes_before_animation_completes@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "handles_getting_outbid_with_lot_state_changes_before_animation_completes@3x.png"; sourceTree = ""; }; + CB4327B927E8FEE400B29DD6 /* has_valid_snapshot_passed@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "has_valid_snapshot_passed@3x.png"; sourceTree = ""; }; + CB4327BA27E8FEE400B29DD6 /* has_valid_snapshot_registration_pending@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "has_valid_snapshot_registration_pending@3x.png"; sourceTree = ""; }; + CB4327BB27E8FEE400B29DD6 /* has_valid_snapshot_upcoming@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "has_valid_snapshot_upcoming@3x.png"; sourceTree = ""; }; + CB4327BC27E8FEE400B29DD6 /* has_valid_snapshot_not_max_bidder@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "has_valid_snapshot_not_max_bidder@3x.png"; sourceTree = ""; }; + CB4327BD27E8FEE400B29DD6 /* has_valid_snapshot_highest_bidder__and_can_re_bid@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "has_valid_snapshot_highest_bidder__and_can_re_bid@3x.png"; sourceTree = ""; }; + CB4327BE27E8FEE400B29DD6 /* has_valid_snapshot_max_bidder@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "has_valid_snapshot_max_bidder@3x.png"; sourceTree = ""; }; + CB4327BF27E8FEE400B29DD6 /* has_valid_snapshot_biddable@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "has_valid_snapshot_biddable@3x.png"; sourceTree = ""; }; + CB4327C027E8FEE400B29DD6 /* has_valid_snapshot_sold@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "has_valid_snapshot_sold@3x.png"; sourceTree = ""; }; + CB4327C127E8FEE400B29DD6 /* has_valid_snapshot_failed@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "has_valid_snapshot_failed@3x.png"; sourceTree = ""; }; + CB4327C227E8FEE400B29DD6 /* has_valid_snapshot_closed@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "has_valid_snapshot_closed@3x.png"; sourceTree = ""; }; + CB4327C327E8FEE400B29DD6 /* has_valid_snapshot_in_progress@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "has_valid_snapshot_in_progress@3x.png"; sourceTree = ""; }; + CB4327C427E8FEE400B29DD6 /* has_valid_snapshot_registration_required@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "has_valid_snapshot_registration_required@3x.png"; sourceTree = ""; }; + CB4327C627E8FEE400B29DD6 /* looks_like_the_API_spec@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "looks_like_the_API_spec@3x.png"; sourceTree = ""; }; + CB4327C827E8FEE400B29DD6 /* _handles_the_back_button_correctly@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "_handles_the_back_button_correctly@3x.png"; sourceTree = ""; }; + CB4327C927E8FEE400B29DD6 /* _handles_the_fake_navigation_close_button_correctly@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "_handles_the_fake_navigation_close_button_correctly@3x.png"; sourceTree = ""; }; + CB4327CB27E8FEE400B29DD6 /* lot_standings__looks_good_with_lot_standings@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "lot_standings__looks_good_with_lot_standings@3x.png"; sourceTree = ""; }; + CB4327CC27E8FEE400B29DD6 /* handles_showing_information_for_upcoming_auctions_with_long_names_with_no_sale_artworks@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "handles_showing_information_for_upcoming_auctions_with_long_names_with_no_sale_artworks@3x.png"; sourceTree = ""; }; + CB4327CD27E8FEE400B29DD6 /* handles_showing_information_for_upcoming_auctions_with_no_sale_artworks@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "handles_showing_information_for_upcoming_auctions_with_no_sale_artworks@3x.png"; sourceTree = ""; }; + CB4327CF27E8FEE400B29DD6 /* looks_good_with_compact_cells@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "looks_good_with_compact_cells@3x.png"; sourceTree = ""; }; + CB4327D027E8FEE400B29DD6 /* looks_good_with_regular_cells@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "looks_good_with_regular_cells@3x.png"; sourceTree = ""; }; + CB4327D227E8FEE400B29DD6 /* iPad__looks_good_by_default__looks_good@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "iPad__looks_good_by_default__looks_good@3x.png"; sourceTree = ""; }; + CB4327D327E8FEE400B29DD6 /* iPhone__looks_good_by_default__looks_good@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "iPhone__looks_good_by_default__looks_good@3x.png"; sourceTree = ""; }; + CB4327D527E8FEE400B29DD6 /* cells__looks_right_for_closed_state@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "cells__looks_right_for_closed_state@3x.png"; sourceTree = ""; }; + CB4327D627E8FEE400B29DD6 /* cells__looks_right_for_a_cancelled_floor_bid@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "cells__looks_right_for_a_cancelled_floor_bid@3x.png"; sourceTree = ""; }; + CB4327D727E8FEE400B29DD6 /* cells__looks_right_for_open@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "cells__looks_right_for_open@3x.png"; sourceTree = ""; }; + CB4327D827E8FEE400B29DD6 /* cells__looks_right_for_closed@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "cells__looks_right_for_closed@3x.png"; sourceTree = ""; }; + CB4327D927E8FEE400B29DD6 /* cells__looks_right_for_final_call@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "cells__looks_right_for_final_call@3x.png"; sourceTree = ""; }; + CB4327DA27E8FEE400B29DD6 /* cells__looks_right_for_floor_bid@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "cells__looks_right_for_floor_bid@3x.png"; sourceTree = ""; }; + CB4327DB27E8FEE400B29DD6 /* cells__looks_right_for_bid@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "cells__looks_right_for_bid@3x.png"; sourceTree = ""; }; + CB4327DC27E8FEE400B29DD6 /* cells__looks_right_for_fair_warning@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "cells__looks_right_for_fair_warning@3x.png"; sourceTree = ""; }; + CB4327DE27E8FEE400B29DD6 /* looks_ok_when_configured_with_a_custom_colour@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "looks_ok_when_configured_with_a_custom_colour@3x.png"; sourceTree = ""; }; + CB4327DF27E8FEE400B29DD6 /* looks_ok_on_a_regular_size_class@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "looks_ok_on_a_regular_size_class@3x.png"; sourceTree = ""; }; + CB4327E027E8FEE400B29DD6 /* looks_good_with_a_header@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "looks_good_with_a_header@3x.png"; sourceTree = ""; }; + CB4327E127E8FEE400B29DD6 /* looks_ok_by_default@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "looks_ok_by_default@3x.png"; sourceTree = ""; }; + CB4327E327E8FEE400B29DD6 /* testBiddingRegistrationPending@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "testBiddingRegistrationPending@3x.png"; sourceTree = ""; }; + CB4327E427E8FEE400B29DD6 /* an_open_aution_takes_priority_over_registered_bidding@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "an_open_aution_takes_priority_over_registered_bidding@3x.png"; sourceTree = ""; }; + CB4327E527E8FEE400B29DD6 /* testRegisterState@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "testRegisterState@3x.png"; sourceTree = ""; }; + CB4327E627E8FEE400B29DD6 /* testBiddingClosedState@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "testBiddingClosedState@3x.png"; sourceTree = ""; }; + CB4327E727E8FEE400B29DD6 /* testRegisterForceBidState@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "testRegisterForceBidState@3x.png"; sourceTree = ""; }; + CB4327E827E8FEE400B29DD6 /* testRegisteredState@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "testRegisteredState@3x.png"; sourceTree = ""; }; + CB4327E927E8FEE400B29DD6 /* testBiddingOpenState@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "testBiddingOpenState@3x.png"; sourceTree = ""; }; + CB4327EA27E8FEE400B29DD6 /* testBiddingRegistrationClosed@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "testBiddingRegistrationClosed@3x.png"; sourceTree = ""; }; + CB4327EC27E8FEE400B29DD6 /* normal_size__looks_good_by_default@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "normal_size__looks_good_by_default@3x.png"; sourceTree = ""; }; + CB4327ED27E8FEE400B29DD6 /* normal_size__looks_good_when_scrolled_back_a_bit@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "normal_size__looks_good_when_scrolled_back_a_bit@3x.png"; sourceTree = ""; }; + CB4327EE27E8FEE400B29DD6 /* looks_good_compact@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "looks_good_compact@3x.png"; sourceTree = ""; }; + CB4327EF27E8FEE400B29DD6 /* normal_size__looks_good_when_scrolled_forward_a_lot@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "normal_size__looks_good_when_scrolled_forward_a_lot@3x.png"; sourceTree = ""; }; + CB4327F027E8FEE400B29DD6 /* normal_size__looks_good_when_scrolled_back_a_lot@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "normal_size__looks_good_when_scrolled_back_a_lot@3x.png"; sourceTree = ""; }; + CB4327F127E8FEE400B29DD6 /* normal_size__looks_good_when_scrolled_forward_a_bit@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "normal_size__looks_good_when_scrolled_forward_a_bit@3x.png"; sourceTree = ""; }; + CB4327F327E8FEE400B29DD6 /* text_is_taller_than_collapsed_height_before_expansion_looks_correct@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "text_is_taller_than_collapsed_height_before_expansion_looks_correct@3x.png"; sourceTree = ""; }; + CB4327F427E8FEE400B29DD6 /* text_is_taller_than_collapsed_height_after_expansion_looks_correct@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "text_is_taller_than_collapsed_height_after_expansion_looks_correct@3x.png"; sourceTree = ""; }; + CB4327F527E8FEE400B29DD6 /* when_text_is_shorter_than_collapsed_height_looks_correct@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "when_text_is_shorter_than_collapsed_height_looks_correct@3x.png"; sourceTree = ""; }; + CB4327F727E8FEE400B29DD6 /* shows_a_removes_disconnected_screen_when_socket_reconnects@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shows_a_removes_disconnected_screen_when_socket_reconnects@3x.png"; sourceTree = ""; }; + CB4327F827E8FEE400B29DD6 /* looks_good_by_default@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "looks_good_by_default@3x.png"; sourceTree = ""; }; + CB4327F927E8FEE400B29DD6 /* shows_a_socket_disconnect_screen_when_socket_fails@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shows_a_socket_disconnect_screen_when_socket_fails@3x.png"; sourceTree = ""; }; + CB4327FA27E8FEE400B29DD6 /* shows_an_operator_disconnected_screen_when_operator_reconnects@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shows_an_operator_disconnected_screen_when_operator_reconnects@3x.png"; sourceTree = ""; }; + CB4327FB27E8FEE400B29DD6 /* shows_an_operator_disconnect_screen_when_operator_disconnects@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shows_an_operator_disconnect_screen_when_operator_disconnects@3x.png"; sourceTree = ""; }; + CB4327FC27E8FEE400B29DD6 /* handles_splitting_in_an_iPad@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "handles_splitting_in_an_iPad@3x.png"; sourceTree = ""; }; + CB4327FD27E8FEE400B29DD6 /* shows_an_error_screen_when_static_data_fails@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shows_an_error_screen_when_static_data_fails@3x.png"; sourceTree = ""; }; + CB4327FF27E8FEE400B29DD6 /* really_compact_horizontal_size_class__live_auctions_lot_set__looks_good_by_default@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "really_compact_horizontal_size_class__live_auctions_lot_set__looks_good_by_default@3x.png"; sourceTree = ""; }; + CB43280027E8FEE400B29DD6 /* compact_horizontal_size_class__live_auctions_lot_set__looks_good_by_default@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "compact_horizontal_size_class__live_auctions_lot_set__looks_good_by_default@3x.png"; sourceTree = ""; }; + CB43280127E8FEE400B29DD6 /* regular_horizontal_size_class___live_auctions_lot_set__looks_good_by_default@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "regular_horizontal_size_class___live_auctions_lot_set__looks_good_by_default@3x.png"; sourceTree = ""; }; + CB43280327E8FEE400B29DD6 /* a_closed_sale__shows_the_sale_is_closed@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "a_closed_sale__shows_the_sale_is_closed@3x.png"; sourceTree = ""; }; + CB43280527E8FEE400B29DD6 /* looks_good_by_default@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "looks_good_by_default@3x.png"; sourceTree = ""; }; + CB43280727E8FEE400B29DD6 /* iPhone_peek_preview_view_controller_displays_artwork@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "iPhone_peek_preview_view_controller_displays_artwork@3x.png"; sourceTree = ""; }; + CB43280927E8FEE400B29DD6 /* visuals_should_be_show_a_back_button_with_2_view_controllers@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "visuals_should_be_show_a_back_button_with_2_view_controllers@3x.png"; sourceTree = ""; }; + CB43280A27E8FEE400B29DD6 /* visuals_should_be_empty_for_a_rootVC@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "visuals_should_be_empty_for_a_rootVC@3x.png"; sourceTree = ""; }; + CB43280C27E8FEE400B29DD6 /* with_HTML_looks_right_with_multiple_paragraphs@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "with_HTML_looks_right_with_multiple_paragraphs@3x.png"; sourceTree = ""; }; + CB43280E27E8FEE400B29DD6 /* looks_good_by_default@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "looks_good_by_default@3x.png"; sourceTree = ""; }; + CB43280F27E8FEE400B29DD6 /* looks_good_when_stuck_to_the_bottom@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "looks_good_when_stuck_to_the_bottom@3x.png"; sourceTree = ""; }; + CB43281027E8FEE400B29DD6 /* looks_good_when_stuck_to_the_top@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "looks_good_when_stuck_to_the_top@3x.png"; sourceTree = ""; }; + CB43281227E8FEE400B29DD6 /* looks correct as ipad@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "looks correct as ipad@3x.png"; sourceTree = ""; }; + CB43281327E8FEE400B29DD6 /* looks correct as iphone@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "looks correct as iphone@3x.png"; sourceTree = ""; }; + CB43281527E8FEE400B29DD6 /* snapshots__doesnt_show_a_live_auction_call_to_action_when_auction_is_closed@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "snapshots__doesnt_show_a_live_auction_call_to_action_when_auction_is_closed@3x.png"; sourceTree = ""; }; + CB43281627E8FEE400B29DD6 /* snapshots__looks_good_for_passed_lots@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "snapshots__looks_good_for_passed_lots@3x.png"; sourceTree = ""; }; + CB43281727E8FEE400B29DD6 /* snapshots__handles_updates_to_number_of_bids@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "snapshots__handles_updates_to_number_of_bids@3x.png"; sourceTree = ""; }; + CB43281827E8FEE400B29DD6 /* snapshots__looks_good_for_sold_lots@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "snapshots__looks_good_for_sold_lots@3x.png"; sourceTree = ""; }; + CB43281927E8FEE400B29DD6 /* snapshots__looks_good_for_upcoming_lots_that_the_user_is_winning@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "snapshots__looks_good_for_upcoming_lots_that_the_user_is_winning@3x.png"; sourceTree = ""; }; + CB43281A27E8FEE400B29DD6 /* snapshots__looks_good_when_its_lot_becomes_the_current_lot@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "snapshots__looks_good_when_its_lot_becomes_the_current_lot@3x.png"; sourceTree = ""; }; + CB43281B27E8FEE400B29DD6 /* snapshots__looks_good_for_upcoming_lots@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "snapshots__looks_good_for_upcoming_lots@3x.png"; sourceTree = ""; }; + CB43281C27E8FEE400B29DD6 /* snapshots__looks_good_for_live_lots@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "snapshots__looks_good_for_live_lots@3x.png"; sourceTree = ""; }; + CB43281D27E8FEE400B29DD6 /* snapshots__looks_good_for_lots_with_a__not_yet_met__reserve@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "snapshots__looks_good_for_lots_with_a__not_yet_met__reserve@3x.png"; sourceTree = ""; }; + CB43281E27E8FEE400B29DD6 /* snapshots__looks_good_for_out_of_order_lots@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "snapshots__looks_good_for_out_of_order_lots@3x.png"; sourceTree = ""; }; + CB43281F27E8FEE400B29DD6 /* snapshots__looks_good_for_won_lots@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "snapshots__looks_good_for_won_lots@3x.png"; sourceTree = ""; }; + CB43282027E8FEE400B29DD6 /* snapshots__looks_good_for_lots_with_a_met_reserve@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "snapshots__looks_good_for_lots_with_a_met_reserve@3x.png"; sourceTree = ""; }; + CB43282227E8FEE400B29DD6 /* shows_the_right_info_when_an_artwork_was_placed@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shows_the_right_info_when_an_artwork_was_placed@3x.png"; sourceTree = ""; }; + CB43282327E8FEE400B29DD6 /* defaults_to_showing_info@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "defaults_to_showing_info@3x.png"; sourceTree = ""; }; + CB43282427E8FEE400B29DD6 /* shows_the_right_info_when_a_wall_is_registered@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shows_the_right_info_when_a_wall_is_registered@3x.png"; sourceTree = ""; }; + CB43282627E8FEE400B29DD6 /* masonry_layout_with_horizontal_rows_allows_a_trailing_entry_to_the_right_to_stick_out_if_it_sticks_out_50_of_its_height@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "masonry_layout_with_horizontal_rows_allows_a_trailing_entry_to_the_right_to_stick_out_if_it_sticks_out_50_of_its_height@3x.png"; sourceTree = ""; }; + CB43282727E8FEE400B29DD6 /* masonry_layout_with_vertical_columns_allows_a_trailing_entry_to_the_right_to_stick_out_if_it_sticks_out_50_of_its_height@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "masonry_layout_with_vertical_columns_allows_a_trailing_entry_to_the_right_to_stick_out_if_it_sticks_out_50_of_its_height@3x.png"; sourceTree = ""; }; + CB43282827E8FEE400B29DD6 /* masonry_layout_with_horizontal_rows_moves_a_trailing_entry_to_the_left_if_it_would_normally_be_at_the_right_and_stick_out_from_the_rest_by_more_than_50_of_its_height@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "masonry_layout_with_horizontal_rows_moves_a_trailing_entry_to_the_left_if_it_would_normally_be_at_the_right_and_stick_out_from_the_rest_by_more_than_50_of_its_height@3x.png"; sourceTree = ""; }; + CB43282927E8FEE400B29DD6 /* masonry_layout_with_vertical_columns_moves_a_trailing_entry_to_the_left_if_it_would_normally_be_at_the_right_and_stick_out_from_the_rest_by_more_than_50_of_its_height@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "masonry_layout_with_vertical_columns_moves_a_trailing_entry_to_the_left_if_it_would_normally_be_at_the_right_and_stick_out_from_the_rest_by_more_than_50_of_its_height@3x.png"; sourceTree = ""; }; + CB43282A27E8FEE400B29DD6 /* truncates_long_titles@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "truncates_long_titles@3x.png"; sourceTree = ""; }; + CB43282C27E8FEE400B29DD6 /* with_the_registration_button_spanning_the_full_width__title_view__looks_good_with_a_registered_registration_status@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "with_the_registration_button_spanning_the_full_width__title_view__looks_good_with_a_registered_registration_status@3x.png"; sourceTree = ""; }; + CB43282D27E8FEE400B29DD6 /* with_the_registration_button_having_side_insets__title_view__looks_good_without_a_info_button@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "with_the_registration_button_having_side_insets__title_view__looks_good_without_a_info_button@3x.png"; sourceTree = ""; }; + CB43282E27E8FEE400B29DD6 /* with_the_registration_button_having_side_insets__title_view__looks_good_with_a_sale_and_user_requiring_identity_verification@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "with_the_registration_button_having_side_insets__title_view__looks_good_with_a_sale_and_user_requiring_identity_verification@3x.png"; sourceTree = ""; }; + CB43282F27E8FEE400B29DD6 /* with_the_registration_button_spanning_the_full_width__title_view__looks_good_with_a_sale_and_user_who_has_already_been_identity_verified@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "with_the_registration_button_spanning_the_full_width__title_view__looks_good_with_a_sale_and_user_who_has_already_been_identity_verified@3x.png"; sourceTree = ""; }; + CB43283027E8FEE400B29DD6 /* with_the_registration_button_spanning_the_full_width__title_view__looks_good_with_a_logged_out_registration_status@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "with_the_registration_button_spanning_the_full_width__title_view__looks_good_with_a_logged_out_registration_status@3x.png"; sourceTree = ""; }; + CB43283127E8FEE400B29DD6 /* with_the_registration_button_spanning_the_full_width__title_view__looks_good_without_a_info_button@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "with_the_registration_button_spanning_the_full_width__title_view__looks_good_without_a_info_button@3x.png"; sourceTree = ""; }; + CB43283227E8FEE400B29DD6 /* with_the_registration_button_having_side_insets__title_view__looks_good_with_a_not_registered_registration_status@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "with_the_registration_button_having_side_insets__title_view__looks_good_with_a_not_registered_registration_status@3x.png"; sourceTree = ""; }; + CB43283327E8FEE400B29DD6 /* with_the_registration_button_spanning_the_full_width__title_view__looks_good_with_a_not_registered_registration_status@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "with_the_registration_button_spanning_the_full_width__title_view__looks_good_with_a_not_registered_registration_status@3x.png"; sourceTree = ""; }; + CB43283427E8FEE400B29DD6 /* with_the_registration_button_having_side_insets__title_view__looks_good_without_a_registration_status@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "with_the_registration_button_having_side_insets__title_view__looks_good_without_a_registration_status@3x.png"; sourceTree = ""; }; + CB43283527E8FEE400B29DD6 /* with_the_registration_button_having_side_insets__title_view__looks_good_with_a_logged_out_registration_status@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "with_the_registration_button_having_side_insets__title_view__looks_good_with_a_logged_out_registration_status@3x.png"; sourceTree = ""; }; + CB43283627E8FEE400B29DD6 /* with_the_registration_button_spanning_the_full_width__title_view__looks_good_without_a_registration_status@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "with_the_registration_button_spanning_the_full_width__title_view__looks_good_without_a_registration_status@3x.png"; sourceTree = ""; }; + CB43283727E8FEE400B29DD6 /* with_the_registration_button_having_side_insets__title_view__looks_good_with_a_sale_and_user_who_has_already_been_identity_verified@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "with_the_registration_button_having_side_insets__title_view__looks_good_with_a_sale_and_user_who_has_already_been_identity_verified@3x.png"; sourceTree = ""; }; + CB43283827E8FEE400B29DD6 /* with_the_registration_button_spanning_the_full_width__title_view__looks_good_with_a_sale_and_user_requiring_identity_verification@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "with_the_registration_button_spanning_the_full_width__title_view__looks_good_with_a_sale_and_user_requiring_identity_verification@3x.png"; sourceTree = ""; }; + CB43283927E8FEE400B29DD6 /* with_the_registration_button_having_side_insets__title_view__looks_good_with_a_registered_registration_status@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "with_the_registration_button_having_side_insets__title_view__looks_good_with_a_registered_registration_status@3x.png"; sourceTree = ""; }; + CB43283B27E8FEE400B29DD6 /* selected@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "selected@3x.png"; sourceTree = ""; }; + CB43283C27E8FEE400B29DD6 /* deselected@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "deselected@3x.png"; sourceTree = ""; }; + CB43283E27E8FEE400B29DD6 /* looks_right_when_expanded@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "looks_right_when_expanded@3x.png"; sourceTree = ""; }; + CB43283F27E8FEE400B29DD6 /* looks_as_expected_when_small@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "looks_as_expected_when_small@3x.png"; sourceTree = ""; }; + CB43284127E8FEE400B29DD6 /* shows_the_selected_lot@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shows_the_selected_lot@3x.png"; sourceTree = ""; }; + CB43284227E8FEE400B29DD6 /* looks_good_by_default@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "looks_good_by_default@3x.png"; sourceTree = ""; }; + CB43284427E8FEE400B29DD6 /* looks_right_by_default_on_iPad@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "looks_right_by_default_on_iPad@3x.png"; sourceTree = ""; }; + CB43284527E8FEE400B29DD6 /* looks_right_with_a_custom_message_on_iPad@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "looks_right_with_a_custom_message_on_iPad@3x.png"; sourceTree = ""; }; + CB43284627E8FEE400B29DD6 /* looks_right_with_a_custom_message_on_iPhone@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "looks_right_with_a_custom_message_on_iPhone@3x.png"; sourceTree = ""; }; + CB43284727E8FEE400B29DD6 /* looks_right_by_default_on_iPhone@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "looks_right_by_default_on_iPhone@3x.png"; sourceTree = ""; }; + CB43284827E8FEE400B29DD6 /* updated_message@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "updated_message@3x.png"; sourceTree = ""; }; + CB43284927E8FEE400B29DD6 /* initial_message@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "initial_message@3x.png"; sourceTree = ""; }; + CB43284C27E8FEE400B29DD6 /* ARImageItemProviderTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARImageItemProviderTests.m; sourceTree = ""; }; + CB43284D27E8FEE400B29DD6 /* ARMessageItemProviderTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARMessageItemProviderTests.m; sourceTree = ""; }; + CB43284E27E8FEE400B29DD6 /* ARSharingControllerTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARSharingControllerTests.m; sourceTree = ""; }; + CB43284F27E8FEE400B29DD6 /* ARURLItemProviderTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARURLItemProviderTests.m; sourceTree = ""; }; + CB43285127E8FEE400B29DD6 /* UIApplicationStateEnumTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIApplicationStateEnumTests.m; sourceTree = ""; }; + CB43285227E8FEE400B29DD6 /* ARDefaultsTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARDefaultsTests.m; sourceTree = ""; }; + CB43285327E8FEE400B29DD6 /* UINavigationController_InnermostTopViewControllerSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UINavigationController_InnermostTopViewControllerSpec.m; sourceTree = ""; }; + CB43285427E8FEE400B29DD6 /* NSDate+RangeTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSDate+RangeTests.m"; sourceTree = ""; }; + CB43285627E8FEE500B29DD6 /* Show+Extensions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Show+Extensions.h"; sourceTree = ""; }; + CB43285727E8FEE500B29DD6 /* ArtsyOHHTTPAPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ArtsyOHHTTPAPI.h; sourceTree = ""; }; + CB43285827E8FEE500B29DD6 /* OHHTTPStubs+Artsy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "OHHTTPStubs+Artsy.h"; sourceTree = ""; }; + CB43285927E8FEE500B29DD6 /* ARUserManager+Stubs.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "ARUserManager+Stubs.m"; sourceTree = ""; }; + CB43285A27E8FEE500B29DD6 /* Bid+Extensions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "Bid+Extensions.m"; sourceTree = ""; }; + CB43285B27E8FEE500B29DD6 /* Artwork+Extensions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Artwork+Extensions.h"; sourceTree = ""; }; + CB43285C27E8FEE500B29DD6 /* SaleArtwork+Extensions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "SaleArtwork+Extensions.m"; sourceTree = ""; }; + CB43285D27E8FEE500B29DD6 /* Sale+Extensions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Sale+Extensions.h"; sourceTree = ""; }; + CB43285E27E8FEE500B29DD6 /* Show+Extensions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "Show+Extensions.m"; sourceTree = ""; }; + CB43285F27E8FEE500B29DD6 /* ARUserManager+Stubs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "ARUserManager+Stubs.h"; sourceTree = ""; }; + CB43286027E8FEE500B29DD6 /* OHHTTPStubs+Artsy.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "OHHTTPStubs+Artsy.m"; sourceTree = ""; }; + CB43286127E8FEE500B29DD6 /* ArtsyOHHTTPAPI.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ArtsyOHHTTPAPI.m; sourceTree = ""; }; + CB43286227E8FEE500B29DD6 /* Bid+Extensions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Bid+Extensions.h"; sourceTree = ""; }; + CB43286327E8FEE500B29DD6 /* Artwork+Extensions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "Artwork+Extensions.m"; sourceTree = ""; }; + CB43286427E8FEE500B29DD6 /* Sale+Extensions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "Sale+Extensions.m"; sourceTree = ""; }; + CB43286527E8FEE500B29DD6 /* Extensions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Extensions.h; sourceTree = ""; }; + CB43286627E8FEE500B29DD6 /* SaleArtwork+Extensions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "SaleArtwork+Extensions.h"; sourceTree = ""; }; + CB43298527FDFDF800B29DD6 /* AdServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AdServices.framework; path = System/Library/Frameworks/AdServices.framework; sourceTree = SDKROOT; }; + CB43298727FDFE0000B29DD6 /* AdSupport.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AdSupport.framework; path = System/Library/Frameworks/AdSupport.framework; sourceTree = SDKROOT; }; + CB43298927FDFE0A00B29DD6 /* AppTrackingTransparency.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppTrackingTransparency.framework; path = System/Library/Frameworks/AppTrackingTransparency.framework; sourceTree = SDKROOT; }; + CB43298B27FDFE1700B29DD6 /* ARKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ARKit.framework; path = System/Library/Frameworks/ARKit.framework; sourceTree = SDKROOT; }; + CB43298D27FDFE2700B29DD6 /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = System/Library/Frameworks/CoreServices.framework; sourceTree = SDKROOT; }; + CB43298F27FDFE3E00B29DD6 /* CoreSpotlight.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreSpotlight.framework; path = System/Library/Frameworks/CoreSpotlight.framework; sourceTree = SDKROOT; }; + CB43299127FDFE4700B29DD6 /* iAd.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = iAd.framework; path = System/Library/Frameworks/iAd.framework; sourceTree = SDKROOT; }; + CB43299327FDFE5300B29DD6 /* MessageUI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MessageUI.framework; path = System/Library/Frameworks/MessageUI.framework; sourceTree = SDKROOT; }; + CB43299527FDFE5C00B29DD6 /* ReplayKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ReplayKit.framework; path = System/Library/Frameworks/ReplayKit.framework; sourceTree = SDKROOT; }; + CB43299727FDFE6400B29DD6 /* StoreKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = StoreKit.framework; path = System/Library/Frameworks/StoreKit.framework; sourceTree = SDKROOT; }; + CB43299927FDFE6B00B29DD6 /* WebKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; }; + CB61B85327B585F00007922D /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = ""; }; + CBA7CF22282BF6310025AEA5 /* Artsy_Tests-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "Artsy_Tests-Info.plist"; sourceTree = ""; }; + CBE3210827D9615000395A93 /* OldAdminView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OldAdminView.swift; sourceTree = ""; }; + CBE3210927D9615000395A93 /* ARTCityGuideViewManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARTCityGuideViewManager.m; sourceTree = ""; }; + CBE3210A27D9615000395A93 /* ARTOldAdminViewManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARTOldAdminViewManager.h; sourceTree = ""; }; + CBE3210B27D9615000395A93 /* ARTNativeScreenPresenterModule.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARTNativeScreenPresenterModule.h; sourceTree = ""; }; + CBE3210C27D9615000395A93 /* ARTLiveAuctionViewManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARTLiveAuctionViewManager.m; sourceTree = ""; }; + CBE3210D27D9615000395A93 /* LiveAuctionView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LiveAuctionView.swift; sourceTree = ""; }; + CBE3210E27D9615000395A93 /* ARTOldAdminViewManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARTOldAdminViewManager.m; sourceTree = ""; }; + CBE3210F27D9615000395A93 /* ARTCityGuideViewManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARTCityGuideViewManager.h; sourceTree = ""; }; + CBE3211027D9615000395A93 /* ARTNativeScreenPresenterModule.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARTNativeScreenPresenterModule.m; sourceTree = ""; }; + CBE3211127D9615000395A93 /* CityGuideView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CityGuideView.swift; sourceTree = ""; }; + CBE3211227D9615000395A93 /* ARTLiveAuctionViewManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARTLiveAuctionViewManager.h; sourceTree = ""; }; + CBE3211427D9615000395A93 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; + CBE3245B27E275A100395A93 /* ARAppConstants.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARAppConstants.h; sourceTree = ""; }; + CBE3245C27E275A100395A93 /* ARDefaults.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARDefaults.h; sourceTree = ""; }; + CBE3245D27E275A100395A93 /* ARAppConstants.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARAppConstants.m; sourceTree = ""; }; + CBE3245E27E275A100395A93 /* ARDefaults.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARDefaults.m; sourceTree = ""; }; + CBE3246127E275A100395A93 /* UITableViewController+Animations.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UITableViewController+Animations.swift"; sourceTree = ""; }; + CBE3246227E275A100395A93 /* UIViewController+Popovers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIViewController+Popovers.h"; sourceTree = ""; }; + CBE3246327E275A100395A93 /* UIImage+ImageFromColor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIImage+ImageFromColor.h"; sourceTree = ""; }; + CBE3246427E275A100395A93 /* UIViewController+ARUserActivity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIViewController+ARUserActivity.h"; sourceTree = ""; }; + CBE3246527E275A100395A93 /* NSString+StringBetweenStrings.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSString+StringBetweenStrings.m"; sourceTree = ""; }; + CBE3246627E275A100395A93 /* Int+Metrification.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Int+Metrification.swift"; sourceTree = ""; }; + CBE3246727E275A100395A93 /* UIDevice-Hardware.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIDevice-Hardware.m"; sourceTree = ""; }; + CBE3246827E275A100395A93 /* UIView+HitTestExpansion.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIView+HitTestExpansion.m"; sourceTree = ""; }; + CBE3246927E275A100395A93 /* NSArray+Additions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSArray+Additions.h"; sourceTree = ""; }; + CBE3246A27E275A100395A93 /* NSDate+DateRange.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSDate+DateRange.h"; sourceTree = ""; }; + CBE3246B27E275A100395A93 /* UIViewController+SimpleChildren.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIViewController+SimpleChildren.h"; sourceTree = ""; }; + CBE3246C27E275A100395A93 /* NSAttributedString+Additions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NSAttributedString+Additions.swift"; sourceTree = ""; }; + CBE3246D27E275A100395A93 /* NSKeyedUnarchiver+ErrorLogging.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSKeyedUnarchiver+ErrorLogging.h"; sourceTree = ""; }; + CBE3246E27E275A100395A93 /* UIImageView+AsyncImageLoading.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIImageView+AsyncImageLoading.m"; sourceTree = ""; }; + CBE3246F27E275A100395A93 /* UIView+ScrollToTop.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIView+ScrollToTop.m"; sourceTree = ""; }; + CBE3247027E275A100395A93 /* UIViewController+FullScreenLoading.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIViewController+FullScreenLoading.h"; sourceTree = ""; }; + CBE3247127E275A100395A93 /* NSDate+Util.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSDate+Util.m"; sourceTree = ""; }; + CBE3247227E275A100395A93 /* UIView+OldSchoolSnapshots.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIView+OldSchoolSnapshots.h"; sourceTree = ""; }; + CBE3247327E275A100395A93 /* UIViewController+WithLoadedData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIViewController+WithLoadedData.h"; sourceTree = ""; }; + CBE3247427E275A100395A93 /* UILabel+Styling.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UILabel+Styling.swift"; sourceTree = ""; }; + CBE3247527E275A100395A93 /* UIViewController+ARUserActivity.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIViewController+ARUserActivity.m"; sourceTree = ""; }; + CBE3247627E275A100395A93 /* UIImage+ImageFromColor.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIImage+ImageFromColor.m"; sourceTree = ""; }; + CBE3247727E275A100395A93 /* UIViewController+Popovers.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIViewController+Popovers.m"; sourceTree = ""; }; + CBE3247827E275A100395A93 /* UIView+HitTestExpansion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIView+HitTestExpansion.h"; sourceTree = ""; }; + CBE3247927E275A100395A93 /* NSArray+Additions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSArray+Additions.m"; sourceTree = ""; }; + CBE3247A27E275A100395A93 /* UIDevice-Hardware.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIDevice-Hardware.h"; sourceTree = ""; }; + CBE3247B27E275A100395A93 /* NSString+StringBetweenStrings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSString+StringBetweenStrings.h"; sourceTree = ""; }; + CBE3247C27E275A100395A93 /* UIView+ScrollToTop.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIView+ScrollToTop.h"; sourceTree = ""; }; + CBE3247D27E275A100395A93 /* UIImageView+AsyncImageLoading.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIImageView+AsyncImageLoading.h"; sourceTree = ""; }; + CBE3247E27E275A100395A93 /* UIViewController+Traits.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIViewController+Traits.swift"; sourceTree = ""; }; + CBE3247F27E275A100395A93 /* NSKeyedUnarchiver+ErrorLogging.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSKeyedUnarchiver+ErrorLogging.m"; sourceTree = ""; }; + CBE3248027E275A100395A93 /* UIViewController+SimpleChildren.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIViewController+SimpleChildren.m"; sourceTree = ""; }; + CBE3248127E275A100395A93 /* NSDate+DateRange.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSDate+DateRange.m"; sourceTree = ""; }; + CBE3248227E275A100395A93 /* UIViewController+WithLoadedData.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIViewController+WithLoadedData.m"; sourceTree = ""; }; + CBE3248327E275A100395A93 /* UIView+OldSchoolSnapshots.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIView+OldSchoolSnapshots.m"; sourceTree = ""; }; + CBE3248427E275A100395A93 /* NSDate+Util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSDate+Util.h"; sourceTree = ""; }; + CBE3248527E275A100395A93 /* UIViewController+FullScreenLoading.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIViewController+FullScreenLoading.m"; sourceTree = ""; }; + CBE3248627E275A100395A93 /* PanDirectionGestureRecognizer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PanDirectionGestureRecognizer.swift; sourceTree = ""; }; + CBE3248827E275A100395A93 /* ORStackView+ArtsyViews.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "ORStackView+ArtsyViews.h"; sourceTree = ""; }; + CBE3248927E275A100395A93 /* ORStackView+ArtsyViews.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "ORStackView+ArtsyViews.m"; sourceTree = ""; }; + CBE3248A27E275A100395A93 /* Interstellar+Artsy.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Interstellar+Artsy.swift"; sourceTree = ""; }; + CBE3248C27E275A100395A93 /* AFHTTPRequestOperation+JSON.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "AFHTTPRequestOperation+JSON.m"; sourceTree = ""; }; + CBE3248D27E275A100395A93 /* AFHTTPRequestOperation+JSON.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "AFHTTPRequestOperation+JSON.h"; sourceTree = ""; }; + CBE3248F27E275A100395A93 /* Unica77LL-Medium.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Unica77LL-Medium.otf"; sourceTree = ""; }; + CBE3249027E275A100395A93 /* .gitkeep */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = .gitkeep; sourceTree = ""; }; + CBE3249127E275A100395A93 /* Unica77LL-MediumItalic.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Unica77LL-MediumItalic.otf"; sourceTree = ""; }; + CBE3249227E275A100395A93 /* Unica77LL-Regular.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Unica77LL-Regular.otf"; sourceTree = ""; }; + CBE3249327E275A100395A93 /* Unica77LL-Italic.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Unica77LL-Italic.otf"; sourceTree = ""; }; + CBE3249627E275A100395A93 /* ARAppDelegate+Analytics.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "ARAppDelegate+Analytics.m"; sourceTree = ""; }; + CBE3249727E275A100395A93 /* ARAppActivityContinuationDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARAppActivityContinuationDelegate.m; sourceTree = ""; }; + CBE3249827E275A100395A93 /* ARAppNotificationsDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARAppNotificationsDelegate.m; sourceTree = ""; }; + CBE3249927E275A100395A93 /* ARTArtsyNativeModule.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARTArtsyNativeModule.h; sourceTree = ""; }; + CBE3249A27E275A100395A93 /* ARAppStatus.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARAppStatus.m; sourceTree = ""; }; + CBE3249B27E275A100395A93 /* ARAnalyticsConstants.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARAnalyticsConstants.m; sourceTree = ""; }; + CBE3249C27E275A100395A93 /* ARAppDelegate+Echo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "ARAppDelegate+Echo.h"; sourceTree = ""; }; + CBE3249D27E275A100395A93 /* ARModalViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARModalViewController.m; sourceTree = ""; }; + CBE3249E27E275A100395A93 /* AROptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AROptions.h; sourceTree = ""; }; + CBE3249F27E275A100395A93 /* ArtsyEcho.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ArtsyEcho.m; sourceTree = ""; }; + CBE324A027E275A100395A93 /* ARAppDelegate+Emission.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "ARAppDelegate+Emission.h"; sourceTree = ""; }; + CBE324A127E275A100395A93 /* ARApplicationShortcutItemDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARApplicationShortcutItemDelegate.m; sourceTree = ""; }; + CBE324A227E275A100395A93 /* ARAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARAppDelegate.m; sourceTree = ""; }; + CBE324A327E275A100395A93 /* SwiftExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SwiftExtensions.swift; sourceTree = ""; }; + CBE324A427E275A100395A93 /* ARMacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARMacros.h; sourceTree = ""; }; + CBE324A527E275A100395A93 /* ARUserActivity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARUserActivity.h; sourceTree = ""; }; + CBE324A627E275A100395A93 /* ARAppNotificationsDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARAppNotificationsDelegate.h; sourceTree = ""; }; + CBE324A727E275A100395A93 /* ARAppActivityContinuationDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARAppActivityContinuationDelegate.h; sourceTree = ""; }; + CBE324A827E275A100395A93 /* ARAppDelegate+Analytics.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "ARAppDelegate+Analytics.h"; sourceTree = ""; }; + CBE324A927E275A100395A93 /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + CBE324AB27E275A100395A93 /* ARAnalyticsConstants.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARAnalyticsConstants.h; sourceTree = ""; }; + CBE324AC27E275A100395A93 /* ARAppDelegate+Echo.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "ARAppDelegate+Echo.m"; sourceTree = ""; }; + CBE324AD27E275A100395A93 /* ARAppStatus.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARAppStatus.h; sourceTree = ""; }; + CBE324AE27E275A100395A93 /* ARTArtsyNativeModule.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARTArtsyNativeModule.m; sourceTree = ""; }; + CBE324AF27E275A100395A93 /* ARApplicationShortcutItemDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARApplicationShortcutItemDelegate.h; sourceTree = ""; }; + CBE324B027E275A100395A93 /* ARAppDelegate+Emission.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "ARAppDelegate+Emission.m"; sourceTree = ""; }; + CBE324B127E275A100395A93 /* ArtsyEcho.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ArtsyEcho.h; sourceTree = ""; }; + CBE324B227E275A100395A93 /* AROptions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AROptions.m; sourceTree = ""; }; + CBE324B327E275A100395A93 /* ARModalViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARModalViewController.h; sourceTree = ""; }; + CBE324B427E275A100395A93 /* ARFonts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARFonts.h; sourceTree = ""; }; + CBE324B527E275A100395A93 /* EchoNew.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = EchoNew.json; sourceTree = ""; }; + CBE324B627E275A100395A93 /* ARUserActivity.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARUserActivity.m; sourceTree = ""; }; + CBE324B727E275A100395A93 /* ARAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARAppDelegate.h; sourceTree = ""; }; + CBE324B927E275A100395A93 /* ARDefaultNavigationTransition.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARDefaultNavigationTransition.m; sourceTree = ""; }; + CBE324BA27E275A100395A93 /* ARNavigationTransitionController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARNavigationTransitionController.m; sourceTree = ""; }; + CBE324BB27E275A100395A93 /* ARNavigationTransition.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARNavigationTransition.m; sourceTree = ""; }; + CBE324BC27E275A100395A93 /* ARDefaultNavigationTransition.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARDefaultNavigationTransition.h; sourceTree = ""; }; + CBE324BD27E275A100395A93 /* ARNavigationTransition.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARNavigationTransition.h; sourceTree = ""; }; + CBE324BE27E275A100395A93 /* ARNavigationTransitionController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARNavigationTransitionController.h; sourceTree = ""; }; + CBE324C127E275A100395A93 /* ARNavigationButtonsViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARNavigationButtonsViewController.h; sourceTree = ""; }; + CBE324C227E275A100395A93 /* ARNavigationButtonsViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARNavigationButtonsViewController.m; sourceTree = ""; }; + CBE324C427E275A100395A93 /* ARInternalMobileWebViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARInternalMobileWebViewController.h; sourceTree = ""; }; + CBE324C527E275A100395A93 /* ARExternalWebBrowserViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARExternalWebBrowserViewController.h; sourceTree = ""; }; + CBE324C627E275A100395A93 /* ARInternalShareValidator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARInternalShareValidator.h; sourceTree = ""; }; + CBE324C727E275A100395A93 /* ARExternalWebBrowserViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARExternalWebBrowserViewController.m; sourceTree = ""; }; + CBE324C827E275A100395A93 /* ARInternalMobileWebViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARInternalMobileWebViewController.m; sourceTree = ""; }; + CBE324C927E275A100395A93 /* ARInternalShareValidator.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARInternalShareValidator.m; sourceTree = ""; }; + CBE324CB27E275A100395A93 /* LiveAuctionSaleLotsDataSource.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LiveAuctionSaleLotsDataSource.swift; sourceTree = ""; }; + CBE324CD27E275A100395A93 /* LiveAuctionViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LiveAuctionViewModel.swift; sourceTree = ""; }; + CBE324CE27E275A100395A93 /* LiveAuctionEventViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LiveAuctionEventViewModel.swift; sourceTree = ""; }; + CBE324CF27E275A100395A93 /* LiveAuctionLotViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LiveAuctionLotViewModel.swift; sourceTree = ""; }; + CBE324D027E275A100395A93 /* LiveAuctionSalesPerson.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LiveAuctionSalesPerson.swift; sourceTree = ""; }; + CBE324D127E275A100395A93 /* LiveAuctionLotViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LiveAuctionLotViewController.swift; sourceTree = ""; }; + CBE324D227E275A100395A93 /* LiveAuctionLotListViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LiveAuctionLotListViewController.swift; sourceTree = ""; }; + CBE324D327E275A100395A93 /* LiveAuctionLoadingView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LiveAuctionLoadingView.swift; sourceTree = ""; }; + CBE324D427E275A100395A93 /* LiveAuctionStaticDataFetcher.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LiveAuctionStaticDataFetcher.swift; sourceTree = ""; }; + CBE324D527E275A100395A93 /* LiveAuctionViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LiveAuctionViewController.swift; sourceTree = ""; }; + CBE324D627E275A100395A93 /* LiveAuctionLotSetViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LiveAuctionLotSetViewController.swift; sourceTree = ""; }; + CBE324D727E275A100395A93 /* LotListCollectionViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LotListCollectionViewCell.swift; sourceTree = ""; }; + CBE324D827E275A100395A93 /* LiveAuctionStaticDataFetcher+Stubs.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "LiveAuctionStaticDataFetcher+Stubs.swift"; sourceTree = ""; }; + CBE324DA27E275A100395A93 /* LiveAuctionsAssets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = LiveAuctionsAssets.xcassets; sourceTree = ""; }; + CBE324DB27E275A100395A93 /* LiveAuctions.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = LiveAuctions.storyboard; sourceTree = ""; }; + CBE324DC27E275A100395A93 /* LiveAuctionStateManagerSpec.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LiveAuctionStateManagerSpec.swift; sourceTree = ""; }; + CBE324DD27E275A100395A93 /* LiveAuctionSaleViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LiveAuctionSaleViewController.swift; sourceTree = ""; }; + CBE324DE27E275A100395A93 /* LiveAuctionStateManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LiveAuctionStateManager.swift; sourceTree = ""; }; + CBE324DF27E275A100395A93 /* LiveAuctionBidViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LiveAuctionBidViewModel.swift; sourceTree = ""; }; + CBE324E027E275A100395A93 /* LiveActionStateReconciler.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LiveActionStateReconciler.swift; sourceTree = ""; }; + CBE324E127E275A100395A93 /* LotListCollectionViewCell+Private.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "LotListCollectionViewCell+Private.swift"; sourceTree = ""; }; + CBE324E227E275A100395A93 /* LiveAuctionBidHistoryViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LiveAuctionBidHistoryViewController.swift; sourceTree = ""; }; + CBE324E327E275A100395A93 /* LiveAuctionLotBidHistoryGestureController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LiveAuctionLotBidHistoryGestureController.swift; sourceTree = ""; }; + CBE324E427E275A100395A93 /* LiveAuctionLotListStickyCellCollectionViewLayout.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LiveAuctionLotListStickyCellCollectionViewLayout.swift; sourceTree = ""; }; + CBE324E527E275A100395A93 /* LiveAuctionsAdminViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LiveAuctionsAdminViewController.swift; sourceTree = ""; }; + CBE324E727E275A100395A93 /* AuctionLotMetadataStackScrollView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AuctionLotMetadataStackScrollView.swift; sourceTree = ""; }; + CBE324E827E275A100395A93 /* LiveAuctionLotCollectionViewDataSource.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LiveAuctionLotCollectionViewDataSource.swift; sourceTree = ""; }; + CBE324E927E275A100395A93 /* LiveAuctionCurrentLotView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LiveAuctionCurrentLotView.swift; sourceTree = ""; }; + CBE324EA27E275A100395A93 /* LiveAuctionFancyLotCollectionViewLayout.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LiveAuctionFancyLotCollectionViewLayout.swift; sourceTree = ""; }; + CBE324EB27E275A100395A93 /* LiveBidProgressOverlayView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LiveBidProgressOverlayView.swift; sourceTree = ""; }; + CBE324EC27E275A100395A93 /* LiveAuctionLotCollectionViewLayoutType.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LiveAuctionLotCollectionViewLayoutType.swift; sourceTree = ""; }; + CBE324ED27E275A100395A93 /* SimpleProgressView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SimpleProgressView.swift; sourceTree = ""; }; + CBE324EE27E275A100395A93 /* LiveAuctionBiddingViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LiveAuctionBiddingViewModel.swift; sourceTree = ""; }; + CBE324EF27E275A100395A93 /* LiveAuctionLotCollectionViewLayoutAttributes.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LiveAuctionLotCollectionViewLayoutAttributes.swift; sourceTree = ""; }; + CBE324F027E275A100395A93 /* SaleOnHoldOverlayView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SaleOnHoldOverlayView.swift; sourceTree = ""; }; + CBE324F127E275A100395A93 /* LiveAuctionToolbarView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LiveAuctionToolbarView.swift; sourceTree = ""; }; + CBE324F227E275A100395A93 /* SaleStatusView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SaleStatusView.swift; sourceTree = ""; }; + CBE324F327E275A100395A93 /* LiveAuctionLotImageCollectionViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LiveAuctionLotImageCollectionViewCell.swift; sourceTree = ""; }; + CBE324F427E275A100395A93 /* LiveAuctionBidButton.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LiveAuctionBidButton.swift; sourceTree = ""; }; + CBE324F527E275A100395A93 /* LiveAuctionPlaceMaxBidViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LiveAuctionPlaceMaxBidViewController.swift; sourceTree = ""; }; + CBE324F627E275A100395A93 /* SerifModalWebNavigationController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SerifModalWebNavigationController.swift; sourceTree = ""; }; + CBE324F727E275A100395A93 /* live_auctions_static.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = live_auctions_static.json; sourceTree = ""; }; + CBE324F927E275A100395A93 /* AuctionBiddersNetworkModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AuctionBiddersNetworkModel.swift; sourceTree = ""; }; + CBE324FA27E275A100395A93 /* AuctionInformationViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AuctionInformationViewController.swift; sourceTree = ""; }; + CBE324FB27E275A100395A93 /* RefinementOptionsViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RefinementOptionsViewController.swift; sourceTree = ""; }; + CBE324FC27E275A100395A93 /* RefinementOptionsViewController+Private.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "RefinementOptionsViewController+Private.swift"; sourceTree = ""; }; + CBE324FD27E275A100395A93 /* AuctionSaleNetworkModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AuctionSaleNetworkModel.swift; sourceTree = ""; }; + CBE324FF27E275A100395A93 /* ARViewInRoomViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARViewInRoomViewController.h; sourceTree = ""; }; + CBE3250027E275A100395A93 /* ARViewInRoomViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARViewInRoomViewController.m; sourceTree = ""; }; + CBE3250127E275A100395A93 /* UIViewController+BlurredStatusView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIViewController+BlurredStatusView.swift"; sourceTree = ""; }; + CBE3250327E275A100395A93 /* ARScrollNavigationChief.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARScrollNavigationChief.m; sourceTree = ""; }; + CBE3250427E275A100395A93 /* ARFileUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARFileUtils.h; sourceTree = ""; }; + CBE3250627E275A100395A93 /* ARMessageItemProvider.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARMessageItemProvider.m; sourceTree = ""; }; + CBE3250727E275A100395A93 /* ARSharingController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARSharingController.m; sourceTree = ""; }; + CBE3250827E275A100395A93 /* ARImageItemProvider.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARImageItemProvider.m; sourceTree = ""; }; + CBE3250927E275A100395A93 /* ARURLItemProvider.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARURLItemProvider.m; sourceTree = ""; }; + CBE3250A27E275A100395A93 /* ARMessageItemProvider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARMessageItemProvider.h; sourceTree = ""; }; + CBE3250B27E275A100395A93 /* ARSharingController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARSharingController.h; sourceTree = ""; }; + CBE3250C27E275A100395A93 /* ARURLItemProvider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARURLItemProvider.h; sourceTree = ""; }; + CBE3250D27E275A100395A93 /* ARImageItemProvider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARImageItemProvider.h; sourceTree = ""; }; + CBE3250E27E275A100395A93 /* UIViewController+InnermostTopViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIViewController+InnermostTopViewController.m"; sourceTree = ""; }; + CBE3250F27E275A100395A93 /* ARStandardDateFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARStandardDateFormatter.m; sourceTree = ""; }; + CBE3251027E275A100395A93 /* ARNavigationController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARNavigationController.h; sourceTree = ""; }; + CBE3251127E275A100395A93 /* ARBackButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARBackButton.m; sourceTree = ""; }; + CBE3251227E275A100395A93 /* ARFeedImageLoader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARFeedImageLoader.h; sourceTree = ""; }; + CBE3251327E275A100395A93 /* ARValueTransformer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARValueTransformer.h; sourceTree = ""; }; + CBE3251427E275A100395A93 /* ARTwoWayDictionaryTransformer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARTwoWayDictionaryTransformer.h; sourceTree = ""; }; + CBE3251527E275A100395A93 /* ARMenuAwareViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARMenuAwareViewController.h; sourceTree = ""; }; + CBE3251627E275A100395A93 /* ARFileUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARFileUtils.m; sourceTree = ""; }; + CBE3251727E275A100395A93 /* ARScrollNavigationChief.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARScrollNavigationChief.h; sourceTree = ""; }; + CBE3251827E275A100395A93 /* ARNavigationController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARNavigationController.m; sourceTree = ""; }; + CBE3251927E275A100395A93 /* ARStandardDateFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARStandardDateFormatter.h; sourceTree = ""; }; + CBE3251A27E275A100395A93 /* UIViewController+InnermostTopViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIViewController+InnermostTopViewController.h"; sourceTree = ""; }; + CBE3251B27E275A100395A93 /* ARValueTransformer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARValueTransformer.m; sourceTree = ""; }; + CBE3251D27E275A100395A93 /* ARNetworkErrorManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARNetworkErrorManager.h; sourceTree = ""; }; + CBE3251E27E275A100395A93 /* ARNetworkErrorManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARNetworkErrorManager.m; sourceTree = ""; }; + CBE3251F27E275A100395A93 /* ARFeedImageLoader.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARFeedImageLoader.m; sourceTree = ""; }; + CBE3252027E275A100395A93 /* ARBackButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARBackButton.h; sourceTree = ""; }; + CBE3252227E275A100395A93 /* UIApplicationStateEnum.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIApplicationStateEnum.h; sourceTree = ""; }; + CBE3252327E275A100395A93 /* UIApplicationStateEnum.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIApplicationStateEnum.m; sourceTree = ""; }; + CBE3252527E275A100395A93 /* ARLogFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARLogFormatter.h; sourceTree = ""; }; + CBE3252627E275A100395A93 /* ARLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARLogger.h; sourceTree = ""; }; + CBE3252727E275A100395A93 /* ARHTTPRequestOperationLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARHTTPRequestOperationLogger.m; sourceTree = ""; }; + CBE3252827E275A100395A93 /* ARLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARLogger.m; sourceTree = ""; }; + CBE3252927E275A100395A93 /* ARLogFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARLogFormatter.m; sourceTree = ""; }; + CBE3252A27E275A100395A93 /* ARHTTPRequestOperationLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARHTTPRequestOperationLogger.h; sourceTree = ""; }; + CBE3252B27E275A100395A93 /* ARTwoWayDictionaryTransformer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARTwoWayDictionaryTransformer.m; sourceTree = ""; }; + CBE3252F27E275A100395A93 /* ARSignUpActiveUserViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = ARSignUpActiveUserViewController.xib; sourceTree = ""; }; + CBE3253027E275A100395A93 /* ARSerifNavigationViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARSerifNavigationViewController.h; sourceTree = ""; }; + CBE3253327E275A100395A93 /* ARSCNWallNode.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARSCNWallNode.m; sourceTree = ""; }; + CBE3253427E275A100395A93 /* SCNArtworkNode.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SCNArtworkNode.m; sourceTree = ""; }; + CBE3253527E275A100395A93 /* ARSCNWallNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARSCNWallNode.h; sourceTree = ""; }; + CBE3253627E275A100395A93 /* SCNArtworkNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SCNArtworkNode.h; sourceTree = ""; }; + CBE3253727E275A100395A93 /* ARAugmentedRealityConfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARAugmentedRealityConfig.h; sourceTree = ""; }; + CBE3253927E275A100395A93 /* ARAugmentedFloorBasedVIRViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARAugmentedFloorBasedVIRViewController.h; sourceTree = ""; }; + CBE3253A27E275A100395A93 /* ARAugmentedVIRSetupViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARAugmentedVIRSetupViewController.h; sourceTree = ""; }; + CBE3253B27E275A100395A93 /* ARAugmentedFloorBasedVIRViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARAugmentedFloorBasedVIRViewController.m; sourceTree = ""; }; + CBE3253C27E275A100395A93 /* ARAugmentedVIRSetupViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARAugmentedVIRSetupViewController.m; sourceTree = ""; }; + CBE3253E27E275A100395A93 /* ARVIRHorizontalPlaneInteractionController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARVIRHorizontalPlaneInteractionController.h; sourceTree = ""; }; + CBE3253F27E275A100395A93 /* ARVIRHorizontalPlaneInteractionController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARVIRHorizontalPlaneInteractionController.m; sourceTree = ""; }; + CBE3254127E275A100395A93 /* ARVIRModalClose.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ARVIRModalClose.png; sourceTree = ""; }; + CBE3254227E275A100395A93 /* ARVIRTick.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ARVIRTick.png; sourceTree = ""; }; + CBE3254327E275A100395A93 /* ARVIRModalClose@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ARVIRModalClose@3x.png"; sourceTree = ""; }; + CBE3254427E275A100395A93 /* ARVIRTick@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ARVIRTick@2x.png"; sourceTree = ""; }; + CBE3254527E275A100395A93 /* ARVIRTick@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ARVIRTick@3x.png"; sourceTree = ""; }; + CBE3254627E275A100395A93 /* ARVIRModalClose@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ARVIRModalClose@2x.png"; sourceTree = ""; }; + CBE3254727E275A100395A93 /* ARVIRShadow.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ARVIRShadow.png; sourceTree = ""; }; + CBE3254827E275A100395A93 /* ar_vir_opening_frame.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = ar_vir_opening_frame.jpg; sourceTree = ""; }; + CBE3254927E275A100395A93 /* ARAugmentedRealityConfig.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARAugmentedRealityConfig.m; sourceTree = ""; }; + CBE3254B27E275A100395A93 /* ARInformationView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARInformationView.h; sourceTree = ""; }; + CBE3254C27E275A100395A93 /* ARInformationView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARInformationView.m; sourceTree = ""; }; + CBE3254D27E275A100395A93 /* live_auctions_socket.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = live_auctions_socket.json; sourceTree = ""; }; + CBE3254F27E275A100395A93 /* AREchoContentsViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AREchoContentsViewController.m; sourceTree = ""; }; + CBE3255027E275A100395A93 /* ARAdminSettingsViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARAdminSettingsViewController.m; sourceTree = ""; }; + CBE3255227E275A100395A93 /* ARAdminNetworkModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARAdminNetworkModel.h; sourceTree = ""; }; + CBE3255327E275A100395A93 /* ARAdminNetworkModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARAdminNetworkModel.m; sourceTree = ""; }; + CBE3255427E275A100395A93 /* ARAdminTableViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARAdminTableViewController.m; sourceTree = ""; }; + CBE3255527E275A100395A93 /* ARAdminSettingsViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARAdminSettingsViewController.h; sourceTree = ""; }; + CBE3255627E275A100395A93 /* AREchoContentsViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AREchoContentsViewController.h; sourceTree = ""; }; + CBE3255827E275A100395A93 /* ARAdminTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARAdminTableViewCell.m; sourceTree = ""; }; + CBE3255927E275A100395A93 /* ARTickedTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARTickedTableViewCell.m; sourceTree = ""; }; + CBE3255A27E275A100395A93 /* ARAnimatedTickView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARAnimatedTickView.m; sourceTree = ""; }; + CBE3255B27E275A100395A93 /* ARAnimatedTickView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARAnimatedTickView.h; sourceTree = ""; }; + CBE3255C27E275A100395A93 /* ARTickedTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARTickedTableViewCell.h; sourceTree = ""; }; + CBE3255D27E275A100395A93 /* ARAdminTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARAdminTableViewCell.h; sourceTree = ""; }; + CBE3255E27E275A100395A93 /* ARAdminTableViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARAdminTableViewController.h; sourceTree = ""; }; + CBE3256027E275A100395A93 /* LiveAuctionCurrentLotCTAPositionManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LiveAuctionCurrentLotCTAPositionManager.swift; sourceTree = ""; }; + CBE3256127E275A100395A93 /* LiveAuctionPlainLotCollectionViewLayout.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LiveAuctionPlainLotCollectionViewLayout.swift; sourceTree = ""; }; + CBE3256327E275A100395A93 /* AREigenMapContainerViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AREigenMapContainerViewController.h; sourceTree = ""; }; + CBE3256427E275A100395A93 /* AREigenMapContainerViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AREigenMapContainerViewController.m; sourceTree = ""; }; + CBE3256527E275A100395A93 /* ARSerifNavigationViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARSerifNavigationViewController.m; sourceTree = ""; }; + CBE3256927E275A100395A93 /* StoryboardConstants.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StoryboardConstants.swift; sourceTree = ""; }; + CBE3256A27E275A100395A93 /* StoryboardImages.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StoryboardImages.swift; sourceTree = ""; }; + CBE3256B27E275A100395A93 /* ARDispatchManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARDispatchManager.m; sourceTree = ""; }; + CBE3256C27E275A100395A93 /* ARWebViewCacheHost.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARWebViewCacheHost.h; sourceTree = ""; }; + CBE3256D27E275A100395A93 /* ARDispatchManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARDispatchManager.h; sourceTree = ""; }; + CBE3256E27E275A100395A93 /* ARWebViewCacheHost.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARWebViewCacheHost.m; sourceTree = ""; }; + CBE3257027E275A100395A93 /* ARCountdownView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARCountdownView.m; sourceTree = ""; }; + CBE3257227E275A100395A93 /* SaleViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SaleViewModel.swift; sourceTree = ""; }; + CBE3257327E275A100395A93 /* AuctionTitleView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AuctionTitleView.swift; sourceTree = ""; }; + CBE3257427E275A100395A93 /* SaleAuctionStatus.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SaleAuctionStatus.swift; sourceTree = ""; }; + CBE3257527E275A100395A93 /* SaleArtworkViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SaleArtworkViewModel.swift; sourceTree = ""; }; + CBE3257727E275A100395A93 /* TextStack.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TextStack.swift; sourceTree = ""; }; + CBE3257827E275A100395A93 /* AuctionColors.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AuctionColors.swift; sourceTree = ""; }; + CBE3257A27E275A100395A93 /* ARReusableLoadingView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARReusableLoadingView.m; sourceTree = ""; }; + CBE3257B27E275A100395A93 /* ARCustomEigenLabels.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARCustomEigenLabels.m; sourceTree = ""; }; + CBE3257C27E275A100395A93 /* ARSeparatorViews.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARSeparatorViews.m; sourceTree = ""; }; + CBE3257D27E275A100395A93 /* ARWhitespaceGobbler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARWhitespaceGobbler.h; sourceTree = ""; }; + CBE3257E27E275A100395A93 /* AROfflineView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AROfflineView.h; sourceTree = ""; }; + CBE3257F27E275A100395A93 /* ARSeparatorViews.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARSeparatorViews.h; sourceTree = ""; }; + CBE3258027E275A100395A93 /* ARCustomEigenLabels.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARCustomEigenLabels.h; sourceTree = ""; }; + CBE3258127E275A100395A93 /* ARReusableLoadingView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARReusableLoadingView.h; sourceTree = ""; }; + CBE3258227E275A100395A93 /* ARWhitespaceGobbler.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARWhitespaceGobbler.m; sourceTree = ""; }; + CBE3258327E275A100395A93 /* AROfflineView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AROfflineView.m; sourceTree = ""; }; + CBE3258427E275A100395A93 /* ARCountdownView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARCountdownView.h; sourceTree = ""; }; + CBE3258727E275A100395A93 /* ARBidButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARBidButton.m; sourceTree = ""; }; + CBE3258827E275A100395A93 /* ARNvagiationButton+Swift.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "ARNvagiationButton+Swift.swift"; sourceTree = ""; }; + CBE3258927E275A100395A93 /* ARNavigationButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARNavigationButton.h; sourceTree = ""; }; + CBE3258A27E275A100395A93 /* ARBidButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARBidButton.h; sourceTree = ""; }; + CBE3258B27E275A100395A93 /* ARNavigationButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARNavigationButton.m; sourceTree = ""; }; + CBE3258C27E275A100395A93 /* ARTextView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARTextView.h; sourceTree = ""; }; + CBE3258D27E275A100395A93 /* StyledSubclasses.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StyledSubclasses.h; sourceTree = ""; }; + CBE3258E27E275A100395A93 /* ARTextView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARTextView.m; sourceTree = ""; }; + CBE3258F27E275A100395A93 /* RefinableType.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RefinableType.swift; sourceTree = ""; }; + CBE3259127E275A100395A93 /* ARNotificationView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARNotificationView.m; sourceTree = ""; }; + CBE3259227E275A100395A93 /* ARNotificationView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARNotificationView.h; sourceTree = ""; }; + CBE3259327E275A100395A93 /* AuctionCircularButtons.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AuctionCircularButtons.swift; sourceTree = ""; }; + CBE3259427E275A200395A93 /* Stringify.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Stringify.swift; sourceTree = ""; }; + CBE3259627E275A200395A93 /* OldAdminView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OldAdminView.swift; sourceTree = ""; }; + CBE3259727E275A200395A93 /* ARTCityGuideViewManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARTCityGuideViewManager.m; sourceTree = ""; }; + CBE3259827E275A200395A93 /* ARTOldAdminViewManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARTOldAdminViewManager.h; sourceTree = ""; }; + CBE3259927E275A200395A93 /* ARTNativeScreenPresenterModule.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARTNativeScreenPresenterModule.h; sourceTree = ""; }; + CBE3259A27E275A200395A93 /* ARTLiveAuctionViewManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARTLiveAuctionViewManager.m; sourceTree = ""; }; + CBE3259B27E275A200395A93 /* LiveAuctionView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LiveAuctionView.swift; sourceTree = ""; }; + CBE3259C27E275A200395A93 /* ARTOldAdminViewManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARTOldAdminViewManager.m; sourceTree = ""; }; + CBE3259D27E275A200395A93 /* ARTCityGuideViewManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARTCityGuideViewManager.h; sourceTree = ""; }; + CBE3259E27E275A200395A93 /* ARTNativeScreenPresenterModule.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARTNativeScreenPresenterModule.m; sourceTree = ""; }; + CBE3259F27E275A200395A93 /* CityGuideView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CityGuideView.swift; sourceTree = ""; }; + CBE325A027E275A200395A93 /* ARTLiveAuctionViewManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARTLiveAuctionViewManager.h; sourceTree = ""; }; + CBE325A127E275A200395A93 /* Eigen.playground */ = {isa = PBXFileReference; lastKnownFileType = file.playground; path = Eigen.playground; sourceTree = ""; }; + CBE325A227E275A200395A93 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; + CBE325A527E275A200395A93 /* MapAnnotation_Artsy@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "MapAnnotation_Artsy@2x.png"; sourceTree = ""; }; + CBE325A627E275A200395A93 /* Artsy-Bridging-Header.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Artsy-Bridging-Header.h"; sourceTree = ""; }; + CBE325A827E275A200395A93 /* ViewInRoom_Wall@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ViewInRoom_Wall@2x.png"; sourceTree = ""; }; + CBE325A927E275A200395A93 /* ViewInRoom_Man_3@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ViewInRoom_Man_3@2x.png"; sourceTree = ""; }; + CBE325AA27E275A200395A93 /* ViewInRoom_Wall_Right@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ViewInRoom_Wall_Right@2x.png"; sourceTree = ""; }; + CBE325AB27E275A200395A93 /* ViewInRoom_Base@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ViewInRoom_Base@2x.png"; sourceTree = ""; }; + CBE325AC27E275A200395A93 /* ViewInRoom_Bench@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ViewInRoom_Bench@2x.png"; sourceTree = ""; }; + CBE325AD27E275A200395A93 /* ViewInRoom_BaseNoBench@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ViewInRoom_BaseNoBench@2x.png"; sourceTree = ""; }; + CBE325AF27E275A200395A93 /* followButton@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "followButton@3x.png"; sourceTree = ""; }; + CBE325B027E275A200395A93 /* SmallMoreVerticalArrow.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = SmallMoreVerticalArrow.png; sourceTree = ""; }; + CBE325B127E275A200395A93 /* SmallMoreVerticalArrow@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "SmallMoreVerticalArrow@2x.png"; sourceTree = ""; }; + CBE325B227E275A200395A93 /* SearchButton@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "SearchButton@3x.png"; sourceTree = ""; }; + CBE325B327E275A200395A93 /* Hash@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Hash@3x.png"; sourceTree = ""; }; + CBE325B427E275A200395A93 /* MoreArrow@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "MoreArrow@2x.png"; sourceTree = ""; }; + CBE325B527E275A200395A93 /* ARVIRBack@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ARVIRBack@3x.png"; sourceTree = ""; }; + CBE325B627E275A200395A93 /* Hash.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Hash.png; sourceTree = ""; }; + CBE325B727E275A200395A93 /* navigation_more_arrow_vertical@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "navigation_more_arrow_vertical@2x.png"; sourceTree = ""; }; + CBE325B827E275A200395A93 /* followButtonChecked@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "followButtonChecked@3x.png"; sourceTree = ""; }; + CBE325B927E275A200395A93 /* followButtonChecked@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "followButtonChecked@2x.png"; sourceTree = ""; }; + CBE325BA27E275A200395A93 /* AuctionRefineCheck.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = AuctionRefineCheck.png; sourceTree = ""; }; + CBE325BB27E275A200395A93 /* ARVIRBack@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ARVIRBack@2x.png"; sourceTree = ""; }; + CBE325BC27E275A200395A93 /* AttentionIcon@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "AttentionIcon@2x.png"; sourceTree = ""; }; + CBE325BD27E275A200395A93 /* FooterBackground@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "FooterBackground@2x.png"; sourceTree = ""; }; + CBE325BE27E275A200395A93 /* serif_modal_close@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "serif_modal_close@2x.png"; sourceTree = ""; }; + CBE325BF27E275A200395A93 /* Hash@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Hash@2x.png"; sourceTree = ""; }; + CBE325C027E275A200395A93 /* SearchButton@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "SearchButton@2x.png"; sourceTree = ""; }; + CBE325C127E275A200395A93 /* followButton@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "followButton@2x.png"; sourceTree = ""; }; + CBE325C227E275A200395A93 /* paddle.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = paddle.png; sourceTree = ""; }; + CBE325C327E275A200395A93 /* full_logo_white_small@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "full_logo_white_small@2x.png"; sourceTree = ""; }; + CBE325C427E275A200395A93 /* ARVIRPhone@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ARVIRPhone@2x.png"; sourceTree = ""; }; + CBE325C527E275A200395A93 /* AuctionRefineCheck@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "AuctionRefineCheck@2x.png"; sourceTree = ""; }; + CBE325C627E275A200395A93 /* Track@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Track@2x.png"; sourceTree = ""; }; + CBE325C727E275A200395A93 /* BackChevron.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = BackChevron.png; sourceTree = ""; }; + CBE325C827E275A200395A93 /* CircularInfoButton.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = CircularInfoButton.png; sourceTree = ""; }; + CBE325C927E275A200395A93 /* CircularCancelButton@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "CircularCancelButton@2x.png"; sourceTree = ""; }; + CBE325CA27E275A200395A93 /* followButton.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = followButton.png; sourceTree = ""; }; + CBE325CB27E275A200395A93 /* ARVIRPhone@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ARVIRPhone@3x.png"; sourceTree = ""; }; + CBE325CC27E275A200395A93 /* full_logo_white_large@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "full_logo_white_large@2x.png"; sourceTree = ""; }; + CBE325CD27E275A200395A93 /* ARVIRRefresh@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ARVIRRefresh@3x.png"; sourceTree = ""; }; + CBE325CE27E275A200395A93 /* CloseButtonLarge@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "CloseButtonLarge@2x.png"; sourceTree = ""; }; + CBE325CF27E275A200395A93 /* CircleXRed.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = CircleXRed.png; sourceTree = ""; }; + CBE325D027E275A200395A93 /* Artsy_Logo.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Artsy_Logo.png; sourceTree = ""; }; + CBE325D127E275A200395A93 /* full_logo_white_medium@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "full_logo_white_medium@2x.png"; sourceTree = ""; }; + CBE325D227E275A200395A93 /* RefreshIcon@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "RefreshIcon@2x.png"; sourceTree = ""; }; + CBE325D327E275A200395A93 /* CircleCheckGreen@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "CircleCheckGreen@2x.png"; sourceTree = ""; }; + CBE325D427E275A200395A93 /* Chevron_White_Left@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Chevron_White_Left@2x.png"; sourceTree = ""; }; + CBE325D527E275A200395A93 /* Range@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Range@2x.png"; sourceTree = ""; }; + CBE325D627E275A200395A93 /* Thumb@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Thumb@2x.png"; sourceTree = ""; }; + CBE325D727E275A200395A93 /* paddle@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "paddle@3x.png"; sourceTree = ""; }; + CBE325D827E275A200395A93 /* paddle@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "paddle@2x.png"; sourceTree = ""; }; + CBE325D927E275A200395A93 /* CircleCheckGreen.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = CircleCheckGreen.png; sourceTree = ""; }; + CBE325DA27E275A200395A93 /* Chevron_White_Left@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Chevron_White_Left@3x.png"; sourceTree = ""; }; + CBE325DB27E275A200395A93 /* CircleCheckGreen@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "CircleCheckGreen@3x.png"; sourceTree = ""; }; + CBE325DC27E275A200395A93 /* ARVIRRefresh@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ARVIRRefresh@2x.png"; sourceTree = ""; }; + CBE325DD27E275A200395A93 /* CloseButtonLargeHighlighted@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "CloseButtonLargeHighlighted@2x.png"; sourceTree = ""; }; + CBE325DE27E275A200395A93 /* CircleXRed@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "CircleXRed@3x.png"; sourceTree = ""; }; + CBE325DF27E275A200395A93 /* BackChevron@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "BackChevron@2x.png"; sourceTree = ""; }; + CBE325E027E275A200395A93 /* SearchButton.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = SearchButton.png; sourceTree = ""; }; + CBE325E127E275A200395A93 /* CircularCancelButton.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = CircularCancelButton.png; sourceTree = ""; }; + CBE325E227E275A200395A93 /* full_logo_black_large@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "full_logo_black_large@2x.png"; sourceTree = ""; }; + CBE325E327E275A200395A93 /* BackArrow_Highlighted@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "BackArrow_Highlighted@2x.png"; sourceTree = ""; }; + CBE325E427E275A200395A93 /* followButtonChecked.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = followButtonChecked.png; sourceTree = ""; }; + CBE325E527E275A200395A93 /* full_logo_black_medium@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "full_logo_black_medium@2x.png"; sourceTree = ""; }; + CBE325E627E275A200395A93 /* full_logo_black_small@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "full_logo_black_small@2x.png"; sourceTree = ""; }; + CBE325E727E275A200395A93 /* CircularInfoButton@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "CircularInfoButton@2x.png"; sourceTree = ""; }; + CBE325E827E275A200395A93 /* Thumb.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Thumb.png; sourceTree = ""; }; + CBE325E927E275A200395A93 /* BackChevron@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "BackChevron@3x.png"; sourceTree = ""; }; + CBE325EA27E275A200395A93 /* CircleXRed@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "CircleXRed@2x.png"; sourceTree = ""; }; + CBE325EB27E275A200395A93 /* navigation_more_arrow_horizontal@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "navigation_more_arrow_horizontal@2x.png"; sourceTree = ""; }; + CBE325EE27E275A200395A93 /* MTLModel+Dictionary.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "MTLModel+Dictionary.m"; sourceTree = ""; }; + CBE325EF27E275A200395A93 /* MTLModel+JSON.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "MTLModel+JSON.m"; sourceTree = ""; }; + CBE325F027E275A200395A93 /* MTLModel+Dictionary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "MTLModel+Dictionary.h"; sourceTree = ""; }; + CBE325F127E275A200395A93 /* MTLModel+JSON.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "MTLModel+JSON.h"; sourceTree = ""; }; + CBE325F327E275A200395A93 /* StarscreamExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StarscreamExtensions.swift; sourceTree = ""; }; + CBE325F427E275A200395A93 /* LiveAuctionSocketCommunicator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LiveAuctionSocketCommunicator.swift; sourceTree = ""; }; + CBE325F527E275A200395A93 /* ARRouter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARRouter.h; sourceTree = ""; }; + CBE325F627E275A200395A93 /* ARNetworkConstants.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARNetworkConstants.h; sourceTree = ""; }; + CBE325F727E275A200395A93 /* ARRouter+GraphQL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "ARRouter+GraphQL.h"; sourceTree = ""; }; + CBE325F827E275A200395A93 /* ARSystemTime.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARSystemTime.h; sourceTree = ""; }; + CBE325F927E275A200395A93 /* ARAuthProviders.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARAuthProviders.m; sourceTree = ""; }; + CBE325FA27E275A200395A93 /* ArtsyAPI.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ArtsyAPI.m; sourceTree = ""; }; + CBE325FC27E275A200395A93 /* ArtsyAPI+HEAD.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "ArtsyAPI+HEAD.m"; sourceTree = ""; }; + CBE325FD27E275A200395A93 /* ArtsyAPI+Sales.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "ArtsyAPI+Sales.h"; sourceTree = ""; }; + CBE325FE27E275A200395A93 /* ArtsyAPI+Notifications.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "ArtsyAPI+Notifications.h"; sourceTree = ""; }; + CBE325FF27E275A200395A93 /* ArtsyAPI+Profiles.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "ArtsyAPI+Profiles.h"; sourceTree = ""; }; + CBE3260027E275A200395A93 /* ArtsyAPI+Pages.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "ArtsyAPI+Pages.m"; sourceTree = ""; }; + CBE3260127E275A200395A93 /* ArtsyAPI+ErrorHandlers.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "ArtsyAPI+ErrorHandlers.m"; sourceTree = ""; }; + CBE3260227E275A200395A93 /* ArtsyAPI+CurrentUserFunctions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "ArtsyAPI+CurrentUserFunctions.h"; sourceTree = ""; }; + CBE3260327E275A200395A93 /* ArtsyAPI+RelatedModels.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "ArtsyAPI+RelatedModels.h"; sourceTree = ""; }; + CBE3260427E275A200395A93 /* ARUserManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARUserManager.h; sourceTree = ""; }; + CBE3260527E275A200395A93 /* ARKeychainable.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARKeychainable.m; sourceTree = ""; }; + CBE3260627E275A200395A93 /* ArtsyAPI+Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "ArtsyAPI+Private.h"; sourceTree = ""; }; + CBE3260727E275A200395A93 /* ArtsyAPI+DeviceTokens.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "ArtsyAPI+DeviceTokens.h"; sourceTree = ""; }; + CBE3260827E275A200395A93 /* ArtsyAPI+Following.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "ArtsyAPI+Following.m"; sourceTree = ""; }; + CBE3260927E275A200395A93 /* ArtsyAPI+SystemTime.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "ArtsyAPI+SystemTime.m"; sourceTree = ""; }; + CBE3260A27E275A200395A93 /* ArtsyAPI+ErrorHandlers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "ArtsyAPI+ErrorHandlers.h"; sourceTree = ""; }; + CBE3260B27E275A200395A93 /* ArtsyAPI+Pages.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "ArtsyAPI+Pages.h"; sourceTree = ""; }; + CBE3260C27E275A200395A93 /* ArtsyAPI+Profiles.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "ArtsyAPI+Profiles.m"; sourceTree = ""; }; + CBE3260D27E275A200395A93 /* ArtsyAPI+Notifications.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "ArtsyAPI+Notifications.m"; sourceTree = ""; }; + CBE3260E27E275A200395A93 /* ArtsyAPI+Sales.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "ArtsyAPI+Sales.m"; sourceTree = ""; }; + CBE3260F27E275A200395A93 /* ArtsyAPI+HEAD.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "ArtsyAPI+HEAD.h"; sourceTree = ""; }; + CBE3261027E275A200395A93 /* ArtsyAPI+CurrentUserFunctions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "ArtsyAPI+CurrentUserFunctions.m"; sourceTree = ""; }; + CBE3261127E275A200395A93 /* ArtsyAPI+DeviceTokens.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "ArtsyAPI+DeviceTokens.m"; sourceTree = ""; }; + CBE3261227E275A200395A93 /* ARKeychainable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARKeychainable.h; sourceTree = ""; }; + CBE3261327E275A200395A93 /* ARUserManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARUserManager.m; sourceTree = ""; }; + CBE3261427E275A200395A93 /* ArtsyAPI+RelatedModels.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "ArtsyAPI+RelatedModels.m"; sourceTree = ""; }; + CBE3261527E275A200395A93 /* ArtsyAPI+SystemTime.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "ArtsyAPI+SystemTime.h"; sourceTree = ""; }; + CBE3261627E275A200395A93 /* ArtsyAPI+Following.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "ArtsyAPI+Following.h"; sourceTree = ""; }; + CBE3261727E275A200395A93 /* ARReactPackagerHost.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARReactPackagerHost.h; sourceTree = ""; }; + CBE3261827E275A200395A93 /* static_sale_data.graphql */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = static_sale_data.graphql; sourceTree = ""; }; + CBE3261927E275A200395A93 /* ARNetworkConstants.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARNetworkConstants.m; sourceTree = ""; }; + CBE3261A27E275A200395A93 /* ARRouter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARRouter.m; sourceTree = ""; }; + CBE3261B27E275A200395A93 /* ARRouter+GraphQL.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "ARRouter+GraphQL.m"; sourceTree = ""; }; + CBE3261C27E275A200395A93 /* ARReactPackagerHost.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARReactPackagerHost.m; sourceTree = ""; }; + CBE3261D27E275A200395A93 /* ARAuthProviders.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARAuthProviders.h; sourceTree = ""; }; + CBE3261E27E275A200395A93 /* ArtsyAPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ArtsyAPI.h; sourceTree = ""; }; + CBE3261F27E275A200395A93 /* ARSystemTime.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARSystemTime.m; sourceTree = ""; }; + CBE3262227E275A200395A93 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; + CBE3262327E275A200395A93 /* Artsy.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Artsy.entitlements; sourceTree = ""; }; + CBE3262427E275A200395A93 /* Artsy.Store.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Artsy.Store.entitlements; sourceTree = ""; }; + CBE3262527E275A200395A93 /* Artsy-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "Artsy-Info.plist"; sourceTree = ""; }; + CBE3262627E275A200395A93 /* Launch Screen.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = "Launch Screen.xib"; sourceTree = ""; }; + CBE3262827E275A300395A93 /* ARFollowable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARFollowable.h; sourceTree = ""; }; + CBE3262927E275A300395A93 /* ARFeedHostItem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARFeedHostItem.h; sourceTree = ""; }; + CBE3262A27E275A300395A93 /* ARShareableObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARShareableObject.h; sourceTree = ""; }; + CBE3262E27E275A300395A93 /* Artwork.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Artwork.m; sourceTree = ""; }; + CBE3262F27E275A300395A93 /* Artist.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Artist.h; sourceTree = ""; }; + CBE3263027E275A300395A93 /* PartnerShow.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PartnerShow.m; sourceTree = ""; }; + CBE3263127E275A300395A93 /* Partner.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Partner.m; sourceTree = ""; }; + CBE3263227E275A300395A93 /* Location.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Location.m; sourceTree = ""; }; + CBE3263327E275A300395A93 /* Artist.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Artist.m; sourceTree = ""; }; + CBE3263427E275A300395A93 /* Artwork.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Artwork.h; sourceTree = ""; }; + CBE3263527E275A300395A93 /* PartnerShow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PartnerShow.h; sourceTree = ""; }; + CBE3263627E275A300395A93 /* Location.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Location.h; sourceTree = ""; }; + CBE3263727E275A300395A93 /* Partner.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Partner.h; sourceTree = ""; }; + CBE3263927E275A300395A93 /* Article.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Article.m; sourceTree = ""; }; + CBE3263A27E275A300395A93 /* Article.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Article.h; sourceTree = ""; }; + CBE3263C27E275A300395A93 /* ARHeartStatus.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARHeartStatus.h; sourceTree = ""; }; + CBE3263E27E275A300395A93 /* AuctionLot.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AuctionLot.m; sourceTree = ""; }; + CBE3263F27E275A300395A93 /* Gene.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Gene.h; sourceTree = ""; }; + CBE3264027E275A300395A93 /* Image.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Image.m; sourceTree = ""; }; + CBE3264127E275A300395A93 /* AuctionLot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AuctionLot.h; sourceTree = ""; }; + CBE3264227E275A300395A93 /* Gene.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Gene.m; sourceTree = ""; }; + CBE3264327E275A300395A93 /* Image.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Image.h; sourceTree = ""; }; + CBE3264427E275A300395A93 /* LiveAuctionLot.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LiveAuctionLot.m; sourceTree = ""; }; + CBE3264627E275A300395A93 /* Profile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Profile.h; sourceTree = ""; }; + CBE3264727E275A300395A93 /* User.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = User.m; sourceTree = ""; }; + CBE3264827E275A300395A93 /* User.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = User.h; sourceTree = ""; }; + CBE3264927E275A300395A93 /* Profile.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Profile.m; sourceTree = ""; }; + CBE3264B27E275A300395A93 /* FairOrganizer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FairOrganizer.m; sourceTree = ""; }; + CBE3264C27E275A300395A93 /* Follow.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Follow.m; sourceTree = ""; }; + CBE3264D27E275A300395A93 /* Fair.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Fair.h; sourceTree = ""; }; + CBE3264E27E275A300395A93 /* FairOrganizer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FairOrganizer.h; sourceTree = ""; }; + CBE3264F27E275A300395A93 /* Follow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Follow.h; sourceTree = ""; }; + CBE3265027E275A300395A93 /* Fair.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Fair.m; sourceTree = ""; }; + CBE3265227E275A300395A93 /* LiveSale.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LiveSale.h; sourceTree = ""; }; + CBE3265327E275A300395A93 /* LiveEvent.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LiveEvent.m; sourceTree = ""; }; + CBE3265427E275A300395A93 /* LiveBidder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LiveBidder.h; sourceTree = ""; }; + CBE3265527E275A300395A93 /* BidIncrementStrategy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BidIncrementStrategy.h; sourceTree = ""; }; + CBE3265627E275A300395A93 /* SaleStatusType.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SaleStatusType.swift; sourceTree = ""; }; + CBE3265727E275A300395A93 /* LiveEvent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LiveEvent.h; sourceTree = ""; }; + CBE3265827E275A300395A93 /* LiveSale.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LiveSale.m; sourceTree = ""; }; + CBE3265927E275A300395A93 /* BidIncrementStrategy.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BidIncrementStrategy.m; sourceTree = ""; }; + CBE3265A27E275A300395A93 /* LiveBidder.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LiveBidder.m; sourceTree = ""; }; + CBE3265C27E275A300395A93 /* Sale.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Sale.m; sourceTree = ""; }; + CBE3265D27E275A300395A93 /* BuyersPremium.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BuyersPremium.m; sourceTree = ""; }; + CBE3265E27E275A300395A93 /* SaleArtwork.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SaleArtwork.m; sourceTree = ""; }; + CBE3265F27E275A300395A93 /* Bidder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Bidder.h; sourceTree = ""; }; + CBE3266027E275A300395A93 /* BidderPosition.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BidderPosition.h; sourceTree = ""; }; + CBE3266127E275A300395A93 /* Bid.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Bid.m; sourceTree = ""; }; + CBE3266227E275A300395A93 /* SaleArtwork.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SaleArtwork.h; sourceTree = ""; }; + CBE3266327E275A300395A93 /* BuyersPremium.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BuyersPremium.h; sourceTree = ""; }; + CBE3266427E275A300395A93 /* Sale.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Sale.h; sourceTree = ""; }; + CBE3266527E275A300395A93 /* Bidder.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Bidder.m; sourceTree = ""; }; + CBE3266627E275A300395A93 /* BidderPosition.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BidderPosition.m; sourceTree = ""; }; + CBE3266727E275A300395A93 /* Bid.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Bid.h; sourceTree = ""; }; + CBE3266927E275A300395A93 /* SystemTime.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SystemTime.m; sourceTree = ""; }; + CBE3266A27E275A300395A93 /* SystemTime.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SystemTime.h; sourceTree = ""; }; + CBE3266B27E275A300395A93 /* LiveAuctionLot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LiveAuctionLot.h; sourceTree = ""; }; + CBE3266D27E275A300395A93 /* ARHasImageBaseURL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARHasImageBaseURL.h; sourceTree = ""; }; + CBE3266E27E275A300395A93 /* ARPostAttachment.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARPostAttachment.h; sourceTree = ""; }; + DDA9792067E817001B8803BA /* Pods-Artsy.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Artsy.release.xcconfig"; path = "Target Support Files/Pods-Artsy/Pods-Artsy.release.xcconfig"; sourceTree = ""; }; + ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; }; + EF8AF6797C9A1A0E84BB9DDC /* libPods-Artsy-ArtsyTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Artsy-ArtsyTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + EFF09A4B2B02E257AE1E8A7D /* Pods-Artsy.store.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Artsy.store.xcconfig"; path = "Target Support Files/Pods-Artsy/Pods-Artsy.store.xcconfig"; sourceTree = ""; }; + F4DF92ED8DF8B40E1D2D5A4B /* Pods-Artsy_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Artsy_Tests.release.xcconfig"; path = "Target Support Files/Pods-Artsy_Tests/Pods-Artsy_Tests.release.xcconfig"; sourceTree = ""; }; + FA81742737039A65CB15C5D7 /* Pods-Artsy-ArtsyTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Artsy-ArtsyTests.release.xcconfig"; path = "Target Support Files/Pods-Artsy-ArtsyTests/Pods-Artsy-ArtsyTests.release.xcconfig"; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 13B07F8C1A680F5B00A75B9A /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + CB43299027FDFE3F00B29DD6 /* CoreSpotlight.framework in Frameworks */, + 91DE2877BFB369D1F40E8172 /* libPods-Artsy.a in Frameworks */, + CB43299A27FDFE6B00B29DD6 /* WebKit.framework in Frameworks */, + CB43298E27FDFE2700B29DD6 /* CoreServices.framework in Frameworks */, + CB43298A27FDFE0A00B29DD6 /* AppTrackingTransparency.framework in Frameworks */, + CB43298627FDFDF800B29DD6 /* AdServices.framework in Frameworks */, + CB43298C27FDFE1700B29DD6 /* ARKit.framework in Frameworks */, + CB43299627FDFE5C00B29DD6 /* ReplayKit.framework in Frameworks */, + CB43298827FDFE0000B29DD6 /* AdSupport.framework in Frameworks */, + CB43299227FDFE4700B29DD6 /* iAd.framework in Frameworks */, + CB43299427FDFE5300B29DD6 /* MessageUI.framework in Frameworks */, + CB43299827FDFE6400B29DD6 /* StoreKit.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + CB43267027E8F6F900B29DD6 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + CB43267F27E8FA6900B29DD6 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + CB43268627E8FA6900B29DD6 /* SwiftUI.framework in Frameworks */, + CB43268427E8FA6900B29DD6 /* WidgetKit.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + CB43271927E8FE5400B29DD6 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 50E313674D9D51E2749A13E7 /* libPods-ArtsyTests.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 2D16E6871FA4F8E400B85C8A /* Frameworks */ = { + isa = PBXGroup; + children = ( + CB43299927FDFE6B00B29DD6 /* WebKit.framework */, + CB43299727FDFE6400B29DD6 /* StoreKit.framework */, + CB43299527FDFE5C00B29DD6 /* ReplayKit.framework */, + CB43299327FDFE5300B29DD6 /* MessageUI.framework */, + CB43299127FDFE4700B29DD6 /* iAd.framework */, + CB43298F27FDFE3E00B29DD6 /* CoreSpotlight.framework */, + CB43298D27FDFE2700B29DD6 /* CoreServices.framework */, + CB43298B27FDFE1700B29DD6 /* ARKit.framework */, + CB43298927FDFE0A00B29DD6 /* AppTrackingTransparency.framework */, + CB43298727FDFE0000B29DD6 /* AdSupport.framework */, + CB43298527FDFDF800B29DD6 /* AdServices.framework */, + ED297162215061F000B7C4FE /* JavaScriptCore.framework */, + 41B4CDDC19345D9AFB1E708B /* libPods-Artsy.a */, + EF8AF6797C9A1A0E84BB9DDC /* libPods-Artsy-ArtsyTests.a */, + CB43268327E8FA6900B29DD6 /* WidgetKit.framework */, + CB43268527E8FA6900B29DD6 /* SwiftUI.framework */, + 4E68A5AE2269760F44D9E0B7 /* libPods-ArtsyTests.a */, + ); + name = Frameworks; + sourceTree = ""; + }; + 676C72DD1D291306F09E9C48 /* Pods */ = { + isa = PBXGroup; + children = ( + 02F2C90B06AD6C83572BCE60 /* Pods-eigen.debug.xcconfig */, + 236DCB5FAF86376660CE95DA /* Pods-eigen.release.xcconfig */, + 17C42880D2ACAFFAD6731367 /* Pods-eigen-eigenTests.debug.xcconfig */, + 13F369B4E56A4D026D55DC53 /* Pods-eigen-eigenTests.release.xcconfig */, + 775AB16F96387B70AABE4731 /* Pods-Artsy.debug.xcconfig */, + DDA9792067E817001B8803BA /* Pods-Artsy.release.xcconfig */, + BE681C4A642B6359D3C2A4AF /* Pods-Artsy-ArtsyTests.debug.xcconfig */, + FA81742737039A65CB15C5D7 /* Pods-Artsy-ArtsyTests.release.xcconfig */, + BE5EFBF10AC43C4ECF725994 /* Pods-Artsy_Tests.debug.xcconfig */, + F4DF92ED8DF8B40E1D2D5A4B /* Pods-Artsy_Tests.release.xcconfig */, + 8DA7CA3A2D9A05D038AFAB1C /* Pods-ArtsyTests.debug.xcconfig */, + 46687F9E977C7CE0F1B12B05 /* Pods-ArtsyTests.release.xcconfig */, + EFF09A4B2B02E257AE1E8A7D /* Pods-Artsy.store.xcconfig */, + 9B51BBF7C1BD09CD9EA76699 /* Pods-ArtsyTests.store.xcconfig */, + ); + path = Pods; + sourceTree = ""; + }; + 832341AE1AAA6A7D00B99B32 /* Libraries */ = { + isa = PBXGroup; + children = ( + ); + name = Libraries; + sourceTree = ""; + }; + 83CBB9F61A601CBA00E9B192 = { + isa = PBXGroup; + children = ( + CBE3210527D9615000395A93 /* Artsy */, + CB43271D27E8FE5400B29DD6 /* ArtsyTests */, + 676C72DD1D291306F09E9C48 /* Pods */, + 832341AE1AAA6A7D00B99B32 /* Libraries */, + CB43266427E8F39900B29DD6 /* ArtsyStickers */, + CB43267427E8F6F900B29DD6 /* BrazePushServiceExtension */, + CB43268727E8FA6900B29DD6 /* ArtsyWidget */, + 2D16E6871FA4F8E400B85C8A /* Frameworks */, + 83CBBA001A601CBA00E9B192 /* Products */, + ); + indentWidth = 2; + sourceTree = ""; + tabWidth = 2; + usesTabs = 0; + }; + 83CBBA001A601CBA00E9B192 /* Products */ = { + isa = PBXGroup; + children = ( + 13B07F961A680F5B00A75B9A /* Artsy.app */, + CB43266327E8F39900B29DD6 /* ArtsyStickers.appex */, + CB43267327E8F6F900B29DD6 /* BrazePushServiceExtension.appex */, + CB43268227E8FA6900B29DD6 /* ArtsyWidgetExtension.appex */, + CB43271C27E8FE5400B29DD6 /* ArtsyTests.xctest */, + ); + name = Products; + sourceTree = ""; + }; + CB43266427E8F39900B29DD6 /* ArtsyStickers */ = { + isa = PBXGroup; + children = ( + CB43266527E8F39B00B29DD6 /* Stickers.xcassets */, + CB43266727E8F39B00B29DD6 /* Info.plist */, + ); + path = ArtsyStickers; + sourceTree = ""; + }; + CB43267427E8F6F900B29DD6 /* BrazePushServiceExtension */ = { + isa = PBXGroup; + children = ( + CB43267527E8F6F900B29DD6 /* NotificationService.swift */, + CB43267727E8F6F900B29DD6 /* Info.plist */, + ); + path = BrazePushServiceExtension; + sourceTree = ""; + }; + CB43268727E8FA6900B29DD6 /* ArtsyWidget */ = { + isa = PBXGroup; + children = ( + CB4326B927E8FAD900B29DD6 /* ArtsyWidgets.swift */, + CB4326AD27E8FAD900B29DD6 /* Assets.xcassets */, + CB43269D27E8FAD900B29DD6 /* FeaturedArtworks */, + CB4326AE27E8FAD900B29DD6 /* Fixtures.swift */, + CB43269627E8FAD800B29DD6 /* FullBleed */, + CB4326AF27E8FAD900B29DD6 /* LatestArticles */, + CB4326BA27E8FAD900B29DD6 /* Models */, + CB4326A727E8FAD900B29DD6 /* Shared */, + CB43268B27E8FA6B00B29DD6 /* Assets.xcassets */, + CB43268D27E8FA6B00B29DD6 /* Info.plist */, + ); + path = ArtsyWidget; + sourceTree = ""; + }; + CB43269627E8FAD800B29DD6 /* FullBleed */ = { + isa = PBXGroup; + children = ( + CB43269727E8FAD900B29DD6 /* FullBleed+Entry.swift */, + CB43269827E8FAD900B29DD6 /* FullBleed+Provider.swift */, + CB43269927E8FAD900B29DD6 /* FullBleed+Timeline.swift */, + CB43269A27E8FAD900B29DD6 /* FullBleed.swift */, + CB43269B27E8FAD900B29DD6 /* FullBleed+View.swift */, + CB43269C27E8FAD900B29DD6 /* FullBleed+Widget.swift */, + ); + path = FullBleed; + sourceTree = ""; + }; + CB43269D27E8FAD900B29DD6 /* FeaturedArtworks */ = { + isa = PBXGroup; + children = ( + CB43269E27E8FAD900B29DD6 /* FeaturedArtworks+Entry.swift */, + CB43269F27E8FAD900B29DD6 /* FeaturedArtworks+SmallView.swift */, + CB4326A027E8FAD900B29DD6 /* FeaturedArtworks+Timeline.swift */, + CB4326A127E8FAD900B29DD6 /* FeaturedArtworks+Widget.swift */, + CB4326A227E8FAD900B29DD6 /* FeaturedArtworks+Provider.swift */, + CB4326A327E8FAD900B29DD6 /* FeaturedArtworks+View.swift */, + CB4326A427E8FAD900B29DD6 /* FeaturedArtworks.swift */, + CB4326A527E8FAD900B29DD6 /* FeaturedArtworks+LargeView.swift */, + CB4326A627E8FAD900B29DD6 /* FeaturedArtworks+MediumView.swift */, + ); + path = FeaturedArtworks; + sourceTree = ""; + }; + CB4326A727E8FAD900B29DD6 /* Shared */ = { + isa = PBXGroup; + children = ( + CB4326A827E8FAD900B29DD6 /* PrimaryText.swift */, + CB4326A927E8FAD900B29DD6 /* ImageUrl.swift */, + CB4326AA27E8FAD900B29DD6 /* Schedule.swift */, + CB4326AB27E8FAD900B29DD6 /* WidgetUrl.swift */, + CB4326AC27E8FAD900B29DD6 /* SecondaryText.swift */, + ); + path = Shared; + sourceTree = ""; + }; + CB4326AF27E8FAD900B29DD6 /* LatestArticles */ = { + isa = PBXGroup; + children = ( + CB4326B027E8FAD900B29DD6 /* LatestArticles+View.swift */, + CB4326B127E8FAD900B29DD6 /* LatestArticles+Entry.swift */, + CB4326B227E8FAD900B29DD6 /* LatestArticles+Widget.swift */, + CB4326B327E8FAD900B29DD6 /* LatestArticles+MediumView.swift */, + CB4326B427E8FAD900B29DD6 /* LatestArticles+Timeline.swift */, + CB4326B527E8FAD900B29DD6 /* LatestArticles+LargeView.swift */, + CB4326B627E8FAD900B29DD6 /* LatestArticles+Provider.swift */, + CB4326B727E8FAD900B29DD6 /* LatestArticles+SmallView.swift */, + CB4326B827E8FAD900B29DD6 /* LatestArticles.swift */, + ); + path = LatestArticles; + sourceTree = ""; + }; + CB4326BA27E8FAD900B29DD6 /* Models */ = { + isa = PBXGroup; + children = ( + CB4326BB27E8FAD900B29DD6 /* ArticleStore.swift */, + CB4326BC27E8FAD900B29DD6 /* VolleyClient.swift */, + CB4326BD27E8FAD900B29DD6 /* VolleyPayload.swift */, + CB4326BE27E8FAD900B29DD6 /* ArtworkImage.swift */, + CB4326BF27E8FAD900B29DD6 /* Artist.swift */, + CB4326C027E8FAD900B29DD6 /* ArtworkStore.swift */, + CB4326C127E8FAD900B29DD6 /* VolleyMetric.swift */, + CB4326C227E8FAD900B29DD6 /* Artwork.swift */, + CB4326C327E8FAD900B29DD6 /* Article.swift */, + CB4326C427E8FAD900B29DD6 /* ArticleParser.swift */, + ); + path = Models; + sourceTree = ""; + }; + CB43271D27E8FE5400B29DD6 /* ArtsyTests */ = { + isa = PBXGroup; + children = ( + CB43275E27E8FEE300B29DD6 /* App_Tests */, + CB43277327E8FEE400B29DD6 /* ArtsyWidget */, + CB43277627E8FEE400B29DD6 /* Extensions */, + CB43276427E8FEE400B29DD6 /* Model_Tests */, + CB43278F27E8FEE400B29DD6 /* Networking_Tests */, + CB43279E27E8FEE400B29DD6 /* ReferenceImages */, + CB43285527E8FEE500B29DD6 /* Stubs */, + CB43278327E8FEE400B29DD6 /* Supporting_Files */, + CB43284A27E8FEE400B29DD6 /* Util_Tests */, + CB43272527E8FEE300B29DD6 /* View_Controller_Tests */, + CB43275527E8FEE300B29DD6 /* View_Tests */, + ); + path = ArtsyTests; + sourceTree = ""; + }; + CB43272527E8FEE300B29DD6 /* View_Controller_Tests */ = { + isa = PBXGroup; + children = ( + CB43272627E8FEE300B29DD6 /* Web_Browsing */, + CB43272A27E8FEE300B29DD6 /* Auction */, + CB43273327E8FEE300B29DD6 /* Artwork */, + CB43273527E8FEE300B29DD6 /* Util */, + CB43273927E8FEE300B29DD6 /* ARVIR */, + CB43273E27E8FEE300B29DD6 /* Components */, + CB43274027E8FEE300B29DD6 /* LiveAuctionCurrentLotCTAPositionManagerTests.swift */, + CB43274127E8FEE300B29DD6 /* SaleOnHoldOverlayViewTests.swift */, + CB43274227E8FEE300B29DD6 /* Live_Auction */, + CB43275327E8FEE300B29DD6 /* Embedded */, + ); + path = View_Controller_Tests; + sourceTree = ""; + }; + CB43272627E8FEE300B29DD6 /* Web_Browsing */ = { + isa = PBXGroup; + children = ( + CB43272727E8FEE300B29DD6 /* ARInternalMobileWebViewControllerTests.m */, + CB43272827E8FEE300B29DD6 /* ARInternalShareValidatorTests.m */, + CB43272927E8FEE300B29DD6 /* ARExternalWebBrowserViewControllerTests.m */, + ); + path = Web_Browsing; + sourceTree = ""; + }; + CB43272A27E8FEE300B29DD6 /* Auction */ = { + isa = PBXGroup; + children = ( + CB43272B27E8FEE300B29DD6 /* AuctionBiddersNetworkModel.swift */, + CB43272C27E8FEE300B29DD6 /* AuctionInformationViewControllerTests.swift */, + CB43272D27E8FEE300B29DD6 /* SaleViewModelTests.swift */, + CB43272E27E8FEE300B29DD6 /* SaleArtworkViewModelTests.swift */, + CB43272F27E8FEE300B29DD6 /* Views */, + CB43273227E8FEE300B29DD6 /* AuctionSaleNetworkModelTests.swift */, + ); + path = Auction; + sourceTree = ""; + }; + CB43272F27E8FEE300B29DD6 /* Views */ = { + isa = PBXGroup; + children = ( + CB43273027E8FEE300B29DD6 /* TextStackTests.swift */, + CB43273127E8FEE300B29DD6 /* AuctionLotMetadataStackScrollViewTests.swift */, + ); + path = Views; + sourceTree = ""; + }; + CB43273327E8FEE300B29DD6 /* Artwork */ = { + isa = PBXGroup; + children = ( + ); + path = Artwork; + sourceTree = ""; + }; + CB43273527E8FEE300B29DD6 /* Util */ = { + isa = PBXGroup; + children = ( + CB43273627E8FEE300B29DD6 /* ARNavigationControllerTests.m */, + CB43273727E8FEE300B29DD6 /* ARValueTransformerTests.m */, + CB43273827E8FEE300B29DD6 /* ARFileUtilsTests.m */, + ); + path = Util; + sourceTree = ""; + }; + CB43273927E8FEE300B29DD6 /* ARVIR */ = { + isa = PBXGroup; + children = ( + CB43273A27E8FEE300B29DD6 /* ARAugmentedVIRViewControllerSpec.m */, + CB43273B27E8FEE300B29DD6 /* ARAugmentRealitySetupViewControllerSpec.m */, + CB43273C27E8FEE300B29DD6 /* ARAugmentedRealityConfigSpec.m */, + CB43273D27E8FEE300B29DD6 /* greyscaleImage.jpg */, + ); + path = ARVIR; + sourceTree = ""; + }; + CB43273E27E8FEE300B29DD6 /* Components */ = { + isa = PBXGroup; + children = ( + CB43273F27E8FEE300B29DD6 /* ARSerifNavigationViewControllerSpec.m */, + ); + path = Components; + sourceTree = ""; + }; + CB43274227E8FEE300B29DD6 /* Live_Auction */ = { + isa = PBXGroup; + children = ( + CB43274327E8FEE300B29DD6 /* LiveAuctionLotBidHistoryGestureControllerTests.swift */, + CB43274427E8FEE300B29DD6 /* LiveAuctionBidButtonTests.swift */, + CB43274527E8FEE300B29DD6 /* LiveAuctionBiddingViewModelTests.swift */, + CB43274627E8FEE300B29DD6 /* LiveAuctionFancyLotCollectionViewLayoutTests.swift */, + CB43274727E8FEE300B29DD6 /* BiddingIncrementSpecs.swift */, + CB43274827E8FEE300B29DD6 /* LiveAuctionLotListStickyCellCollectionViewLayoutTests.swift */, + CB43274927E8FEE300B29DD6 /* FakeSalesPerson.swift */, + CB43274A27E8FEE300B29DD6 /* LiveAuctionLoadingViewSpec.swift */, + CB43274B27E8FEE300B29DD6 /* LiveAuctionViewControllerTests.swift */, + CB43274C27E8FEE300B29DD6 /* LiveAuctionBidViewControllerTests.swift */, + CB43274D27E8FEE300B29DD6 /* LiveAuctionLotSetViewControllerTests.swift */, + CB43274E27E8FEE300B29DD6 /* LiveAuctionLotListViewControllerTests.swift */, + CB43274F27E8FEE300B29DD6 /* LiveAuctionLotViewControllerTests.swift */, + CB43275027E8FEE300B29DD6 /* LiveSalesPersonSpecs.swift */, + ); + path = Live_Auction; + sourceTree = ""; + }; + CB43275327E8FEE300B29DD6 /* Embedded */ = { + isa = PBXGroup; + children = ( + CB43275427E8FEE300B29DD6 /* ARNavigationButtonsViewControllerTests.m */, + ); + path = Embedded; + sourceTree = ""; + }; + CB43275527E8FEE300B29DD6 /* View_Tests */ = { + isa = PBXGroup; + children = ( + CB43275627E8FEE300B29DD6 /* Buttons */, + CB43275A27E8FEE300B29DD6 /* ORStackViewArtsyCategoriesTests.m */, + CB43275B27E8FEE300B29DD6 /* ARTextViewTests.m */, + CB43275C27E8FEE300B29DD6 /* ARCustomEigenLabelTests.m */, + CB43275D27E8FEE300B29DD6 /* ARAnimatedTickViewTest.m */, + ); + path = View_Tests; + sourceTree = ""; + }; + CB43275627E8FEE300B29DD6 /* Buttons */ = { + isa = PBXGroup; + children = ( + CB43275727E8FEE300B29DD6 /* ARNavigationButtonTests.m */, + CB43275827E8FEE300B29DD6 /* NavigationButtonTests.swift */, + CB43275927E8FEE300B29DD6 /* ARBidButtonTests.m */, + ); + path = Buttons; + sourceTree = ""; + }; + CB43275E27E8FEE300B29DD6 /* App_Tests */ = { + isa = PBXGroup; + children = ( + CB43276027E8FEE300B29DD6 /* ARAppActivityContinuationDelegateTests.m */, + CB43276127E8FEE300B29DD6 /* ARAppNotificationsDelegateTests.m */, + CB43276227E8FEE300B29DD6 /* ARWebViewCacheHostSpec.m */, + ); + path = App_Tests; + sourceTree = ""; + }; + CB43276427E8FEE400B29DD6 /* Model_Tests */ = { + isa = PBXGroup; + children = ( + CB43276527E8FEE400B29DD6 /* ProfileTests.m */, + CB43276627E8FEE400B29DD6 /* SaleTests.m */, + CB43276727E8FEE400B29DD6 /* ArtworkTests.m */, + CB43276827E8FEE400B29DD6 /* SaleArtworkTests.m */, + CB43276927E8FEE400B29DD6 /* PartnerTests.m */, + CB43276A27E8FEE400B29DD6 /* FairTests.m */, + CB43276B27E8FEE400B29DD6 /* ARImageTests.m */, + CB43276C27E8FEE400B29DD6 /* Data */, + CB43277127E8FEE400B29DD6 /* SystemTimeTests.m */, + CB43277227E8FEE400B29DD6 /* UserTests.m */, + ); + path = Model_Tests; + sourceTree = ""; + }; + CB43276C27E8FEE400B29DD6 /* Data */ = { + isa = PBXGroup; + children = ( + CB43276D27E8FEE400B29DD6 /* User_v1.data */, + CB43276E27E8FEE400B29DD6 /* User_v0.data */, + CB43276F27E8FEE400B29DD6 /* Artwork_v0.data */, + CB43277027E8FEE400B29DD6 /* Artwork_v1.data */, + ); + path = Data; + sourceTree = ""; + }; + CB43277327E8FEE400B29DD6 /* ArtsyWidget */ = { + isa = PBXGroup; + children = ( + CB43277427E8FEE400B29DD6 /* ScheduleTests.swift */, + CB43277527E8FEE400B29DD6 /* ArtworkTests.swift */, + ); + path = ArtsyWidget; + sourceTree = ""; + }; + CB43277627E8FEE400B29DD6 /* Extensions */ = { + isa = PBXGroup; + children = ( + CB43277727E8FEE400B29DD6 /* ARTestImageCachingFunctions.swift */, + CB43277827E8FEE400B29DD6 /* MutableNSURLResponse.m */, + CB43277927E8FEE400B29DD6 /* OCMArg+ClassChecker.m */, + CB43277A27E8FEE400B29DD6 /* UIViewController+Testing.m */, + CB43277B27E8FEE400B29DD6 /* ARExpectaExtensions.m */, + CB43277C27E8FEE400B29DD6 /* EXPMatcher+UINavigationController.m */, + CB43277D27E8FEE400B29DD6 /* MutableNSURLResponse.h */, + CB43277E27E8FEE400B29DD6 /* UIViewController+Tests.swift */, + CB43277F27E8FEE400B29DD6 /* UIViewController+Testing.h */, + CB43278027E8FEE400B29DD6 /* OCMArg+ClassChecker.h */, + CB43278127E8FEE400B29DD6 /* ARExpectaExtensions.h */, + CB43278227E8FEE400B29DD6 /* EXPMatcher+UINavigationController.h */, + ); + path = Extensions; + sourceTree = ""; + }; + CB43278327E8FEE400B29DD6 /* Supporting_Files */ = { + isa = PBXGroup; + children = ( + CBA7CF22282BF6310025AEA5 /* Artsy_Tests-Info.plist */, + CB43278427E8FEE400B29DD6 /* InfoPlist.strings */, + CB43278627E8FEE400B29DD6 /* Artsy_Tests-Prefix.pch */, + CB43278727E8FEE400B29DD6 /* Artsy-Tests-Bridging-Header.h */, + CB43278827E8FEE400B29DD6 /* ARTestHelper.h */, + CB43278927E8FEE400B29DD6 /* ARTestContext.h */, + CB43278B27E8FEE400B29DD6 /* ARTestHelper.m */, + CB43278C27E8FEE400B29DD6 /* stub.jpg */, + CB43278D27E8FEE400B29DD6 /* stubbed_image.png */, + CB43278E27E8FEE400B29DD6 /* ARTestContext.m */, + ); + path = Supporting_Files; + sourceTree = ""; + }; + CB43278F27E8FEE400B29DD6 /* Networking_Tests */ = { + isa = PBXGroup; + children = ( + CB43279027E8FEE400B29DD6 /* Live_Auctions */, + CB43279427E8FEE400B29DD6 /* ARSystemTimeTests.m */, + CB43279527E8FEE400B29DD6 /* API_Modules */, + CB43279B27E8FEE400B29DD6 /* LiveAuctionLotViewModelSpecs.swift */, + CB43279C27E8FEE400B29DD6 /* ARRouterTests.m */, + CB43279D27E8FEE400B29DD6 /* AFHTTPRequestOperationJSONTests.m */, + ); + path = Networking_Tests; + sourceTree = ""; + }; + CB43279027E8FEE400B29DD6 /* Live_Auctions */ = { + isa = PBXGroup; + children = ( + CB43279127E8FEE400B29DD6 /* LiveAuctionSocketCommunicatorSpec.swift */, + CB43279227E8FEE400B29DD6 /* LiveAuctionStaticDataFetcherSpec.swift */, + CB43279327E8FEE400B29DD6 /* LiveAuctionStateReconcilerSpec.swift */, + ); + path = Live_Auctions; + sourceTree = ""; + }; + CB43279527E8FEE400B29DD6 /* API_Modules */ = { + isa = PBXGroup; + children = ( + CB43279627E8FEE400B29DD6 /* ARUserManagerTests.m */, + CB43279727E8FEE400B29DD6 /* ArtsyAPI+ErrorHandlers.m */, + CB43279827E8FEE400B29DD6 /* ArtsyAPI+GraphQLTests.m */, + CB43279927E8FEE400B29DD6 /* ArtsyAPI+PrivateTests.m */, + CB43279A27E8FEE400B29DD6 /* ArtsyAPI+SystemTimeTests.m */, + ); + path = API_Modules; + sourceTree = ""; + }; + CB43279E27E8FEE400B29DD6 /* ReferenceImages */ = { + isa = PBXGroup; + children = ( + CB43279F27E8FEE400B29DD6 /* ARCustomEigenLabelsSpec */, + CB4327A127E8FEE400B29DD6 /* ARNavigationButtonSpecSpec */, + CB4327AC27E8FEE400B29DD6 /* RefinementOptionsViewControllerTests */, + CB4327B427E8FEE400B29DD6 /* LiveAuctionBidButtonTests */, + CB4327C527E8FEE400B29DD6 /* TextStackTests */, + CB4327C727E8FEE400B29DD6 /* ARSerifNavigationViewControllerSpec */, + CB4327CA27E8FEE400B29DD6 /* AuctionViewControllerTests */, + CB4327CE27E8FEE400B29DD6 /* ARSaleArtworkFlowCollectionViewCellSpec */, + CB4327D127E8FEE400B29DD6 /* LotStandingsViewTests */, + CB4327D427E8FEE400B29DD6 /* LiveAuctionBidHistoryViewControllerTests */, + CB4327DD27E8FEE400B29DD6 /* ARCountdownViewSpec */, + CB4327E227E8FEE400B29DD6 /* ARBidButtonSpec */, + CB4327EB27E8FEE400B29DD6 /* LiveAuctionFancyLotCollectionViewLayoutTests */, + CB4327F227E8FEE400B29DD6 /* ARCollapsableTextViewSpec */, + CB4327F627E8FEE400B29DD6 /* LiveAuctionViewControllerTests */, + CB4327FE27E8FEE400B29DD6 /* LiveAuctionLotSetViewControllerTests */, + CB43280227E8FEE400B29DD6 /* AuctionInformationViewControllerTests */, + CB43280427E8FEE400B29DD6 /* LiveAuctionLoadingViewSpec */, + CB43280627E8FEE400B29DD6 /* AREmbeddedModelPreviewViewControllerSpec */, + CB43280827E8FEE400B29DD6 /* ARNavigationControllerSpec */, + CB43280B27E8FEE400B29DD6 /* ARTextViewSpec */, + CB43280D27E8FEE400B29DD6 /* LiveAuctionLotListStickyCellCollectionViewLayoutTests */, + CB43281127E8FEE400B29DD6 /* ARSignUpSplashViewControllerSpec */, + CB43281427E8FEE400B29DD6 /* LiveAuctionLotViewControllerTests */, + CB43282127E8FEE400B29DD6 /* ARAugmentedVIRViewControllerSpec */, + CB43282527E8FEE400B29DD6 /* AREmbeddedModelsViewControllerSpec */, + CB43282B27E8FEE400B29DD6 /* AuctionTitleViewTests */, + CB43283A27E8FEE400B29DD6 /* ARAnimatedTickViewSpec */, + CB43283D27E8FEE400B29DD6 /* AuctionLotMetadataStackScrollViewTests */, + CB43284027E8FEE400B29DD6 /* LiveAuctionLotListViewControllerTests */, + CB43284327E8FEE400B29DD6 /* SaleOnHoldOverlayViewTests */, + ); + path = ReferenceImages; + sourceTree = ""; + }; + CB43279F27E8FEE400B29DD6 /* ARCustomEigenLabelsSpec */ = { + isa = PBXGroup; + children = ( + CB4327A027E8FEE400B29DD6 /* ARWarningView_looks_correct@3x.png */, + ); + path = ARCustomEigenLabelsSpec; + sourceTree = ""; + }; + CB4327A127E8FEE400B29DD6 /* ARNavigationButtonSpecSpec */ = { + isa = PBXGroup; + children = ( + CB4327A227E8FEE400B29DD6 /* serifNavigationButtonWithTitle@3x.png */, + CB4327A327E8FEE400B29DD6 /* navigationButtonWithTitleAndNoBorder@3x.png */, + CB4327A427E8FEE400B29DD6 /* ARSerifNavigationButton_really_long_title_and_subtitle@3x.png */, + CB4327A527E8FEE400B29DD6 /* ARNavigationButton_default_border_really_long_title_and_subtitle@3x.png */, + CB4327A627E8FEE400B29DD6 /* navigationButtonWithTitleAndSubtitleAndNoBorder@3x.png */, + CB4327A727E8FEE400B29DD6 /* navigationButtonWithTitleAndSubtitle@3x.png */, + CB4327A827E8FEE400B29DD6 /* serifNavigationButtonWithTitleAndSubtitle@3x.png */, + CB4327A927E8FEE400B29DD6 /* navigationButtonWithTitleAnd5pxBorder@3x.png */, + CB4327AA27E8FEE400B29DD6 /* navigationButtonWithTitleAndSubtitleAnd5pxBorder@3x.png */, + CB4327AB27E8FEE400B29DD6 /* navigationButtonWithTitle@3x.png */, + ); + path = ARNavigationButtonSpecSpec; + sourceTree = ""; + }; + CB4327AC27E8FEE400B29DD6 /* RefinementOptionsViewControllerTests */ = { + isa = PBXGroup; + children = ( + CB4327AD27E8FEE400B29DD6 /* looks_good_with_gene_refine_settings@3x.png */, + CB4327AE27E8FEE400B29DD6 /* looks_good_by_default@3x.png */, + CB4327AF27E8FEE400B29DD6 /* looks_good_with_gene_refine_settings_showing_price@3x.png */, + CB4327B027E8FEE400B29DD6 /* looks_good_when_configured_with_options_and_changed_options@3x.png */, + CB4327B127E8FEE400B29DD6 /* enables_apply_reset_buttons_when_options_are_changed@3x.png */, + CB4327B227E8FEE400B29DD6 /* looks_good_when_reset@3x.png */, + CB4327B327E8FEE400B29DD6 /* looks_good_by_when_there_are_no_estimates@3x.png */, + ); + path = RefinementOptionsViewControllerTests; + sourceTree = ""; + }; + CB4327B427E8FEE400B29DD6 /* LiveAuctionBidButtonTests */ = { + isa = PBXGroup; + children = ( + CB4327B527E8FEE400B29DD6 /* has_valid_snapshot_registration_closed@3x.png */, + CB4327B627E8FEE400B29DD6 /* has_valid_snapshot_waiting@3x.png */, + CB4327B727E8FEE400B29DD6 /* has_valid_snapshot_waiting_on_auctioneer_confirmation@3x.png */, + CB4327B827E8FEE400B29DD6 /* handles_getting_outbid_with_lot_state_changes_before_animation_completes@3x.png */, + CB4327B927E8FEE400B29DD6 /* has_valid_snapshot_passed@3x.png */, + CB4327BA27E8FEE400B29DD6 /* has_valid_snapshot_registration_pending@3x.png */, + CB4327BB27E8FEE400B29DD6 /* has_valid_snapshot_upcoming@3x.png */, + CB4327BC27E8FEE400B29DD6 /* has_valid_snapshot_not_max_bidder@3x.png */, + CB4327BD27E8FEE400B29DD6 /* has_valid_snapshot_highest_bidder__and_can_re_bid@3x.png */, + CB4327BE27E8FEE400B29DD6 /* has_valid_snapshot_max_bidder@3x.png */, + CB4327BF27E8FEE400B29DD6 /* has_valid_snapshot_biddable@3x.png */, + CB4327C027E8FEE400B29DD6 /* has_valid_snapshot_sold@3x.png */, + CB4327C127E8FEE400B29DD6 /* has_valid_snapshot_failed@3x.png */, + CB4327C227E8FEE400B29DD6 /* has_valid_snapshot_closed@3x.png */, + CB4327C327E8FEE400B29DD6 /* has_valid_snapshot_in_progress@3x.png */, + CB4327C427E8FEE400B29DD6 /* has_valid_snapshot_registration_required@3x.png */, + ); + path = LiveAuctionBidButtonTests; + sourceTree = ""; + }; + CB4327C527E8FEE400B29DD6 /* TextStackTests */ = { + isa = PBXGroup; + children = ( + CB4327C627E8FEE400B29DD6 /* looks_like_the_API_spec@3x.png */, + ); + path = TextStackTests; + sourceTree = ""; + }; + CB4327C727E8FEE400B29DD6 /* ARSerifNavigationViewControllerSpec */ = { + isa = PBXGroup; + children = ( + CB4327C827E8FEE400B29DD6 /* _handles_the_back_button_correctly@3x.png */, + CB4327C927E8FEE400B29DD6 /* _handles_the_fake_navigation_close_button_correctly@3x.png */, + ); + path = ARSerifNavigationViewControllerSpec; + sourceTree = ""; + }; + CB4327CA27E8FEE400B29DD6 /* AuctionViewControllerTests */ = { + isa = PBXGroup; + children = ( + CB4327CB27E8FEE400B29DD6 /* lot_standings__looks_good_with_lot_standings@3x.png */, + CB4327CC27E8FEE400B29DD6 /* handles_showing_information_for_upcoming_auctions_with_long_names_with_no_sale_artworks@3x.png */, + CB4327CD27E8FEE400B29DD6 /* handles_showing_information_for_upcoming_auctions_with_no_sale_artworks@3x.png */, + ); + path = AuctionViewControllerTests; + sourceTree = ""; + }; + CB4327CE27E8FEE400B29DD6 /* ARSaleArtworkFlowCollectionViewCellSpec */ = { + isa = PBXGroup; + children = ( + CB4327CF27E8FEE400B29DD6 /* looks_good_with_compact_cells@3x.png */, + CB4327D027E8FEE400B29DD6 /* looks_good_with_regular_cells@3x.png */, + ); + path = ARSaleArtworkFlowCollectionViewCellSpec; + sourceTree = ""; + }; + CB4327D127E8FEE400B29DD6 /* LotStandingsViewTests */ = { + isa = PBXGroup; + children = ( + CB4327D227E8FEE400B29DD6 /* iPad__looks_good_by_default__looks_good@3x.png */, + CB4327D327E8FEE400B29DD6 /* iPhone__looks_good_by_default__looks_good@3x.png */, + ); + path = LotStandingsViewTests; + sourceTree = ""; + }; + CB4327D427E8FEE400B29DD6 /* LiveAuctionBidHistoryViewControllerTests */ = { + isa = PBXGroup; + children = ( + CB4327D527E8FEE400B29DD6 /* cells__looks_right_for_closed_state@3x.png */, + CB4327D627E8FEE400B29DD6 /* cells__looks_right_for_a_cancelled_floor_bid@3x.png */, + CB4327D727E8FEE400B29DD6 /* cells__looks_right_for_open@3x.png */, + CB4327D827E8FEE400B29DD6 /* cells__looks_right_for_closed@3x.png */, + CB4327D927E8FEE400B29DD6 /* cells__looks_right_for_final_call@3x.png */, + CB4327DA27E8FEE400B29DD6 /* cells__looks_right_for_floor_bid@3x.png */, + CB4327DB27E8FEE400B29DD6 /* cells__looks_right_for_bid@3x.png */, + CB4327DC27E8FEE400B29DD6 /* cells__looks_right_for_fair_warning@3x.png */, + ); + path = LiveAuctionBidHistoryViewControllerTests; + sourceTree = ""; + }; + CB4327DD27E8FEE400B29DD6 /* ARCountdownViewSpec */ = { + isa = PBXGroup; + children = ( + CB4327DE27E8FEE400B29DD6 /* looks_ok_when_configured_with_a_custom_colour@3x.png */, + CB4327DF27E8FEE400B29DD6 /* looks_ok_on_a_regular_size_class@3x.png */, + CB4327E027E8FEE400B29DD6 /* looks_good_with_a_header@3x.png */, + CB4327E127E8FEE400B29DD6 /* looks_ok_by_default@3x.png */, + ); + path = ARCountdownViewSpec; + sourceTree = ""; + }; + CB4327E227E8FEE400B29DD6 /* ARBidButtonSpec */ = { + isa = PBXGroup; + children = ( + CB4327E327E8FEE400B29DD6 /* testBiddingRegistrationPending@3x.png */, + CB4327E427E8FEE400B29DD6 /* an_open_aution_takes_priority_over_registered_bidding@3x.png */, + CB4327E527E8FEE400B29DD6 /* testRegisterState@3x.png */, + CB4327E627E8FEE400B29DD6 /* testBiddingClosedState@3x.png */, + CB4327E727E8FEE400B29DD6 /* testRegisterForceBidState@3x.png */, + CB4327E827E8FEE400B29DD6 /* testRegisteredState@3x.png */, + CB4327E927E8FEE400B29DD6 /* testBiddingOpenState@3x.png */, + CB4327EA27E8FEE400B29DD6 /* testBiddingRegistrationClosed@3x.png */, + ); + path = ARBidButtonSpec; + sourceTree = ""; + }; + CB4327EB27E8FEE400B29DD6 /* LiveAuctionFancyLotCollectionViewLayoutTests */ = { + isa = PBXGroup; + children = ( + CB4327EC27E8FEE400B29DD6 /* normal_size__looks_good_by_default@3x.png */, + CB4327ED27E8FEE400B29DD6 /* normal_size__looks_good_when_scrolled_back_a_bit@3x.png */, + CB4327EE27E8FEE400B29DD6 /* looks_good_compact@3x.png */, + CB4327EF27E8FEE400B29DD6 /* normal_size__looks_good_when_scrolled_forward_a_lot@3x.png */, + CB4327F027E8FEE400B29DD6 /* normal_size__looks_good_when_scrolled_back_a_lot@3x.png */, + CB4327F127E8FEE400B29DD6 /* normal_size__looks_good_when_scrolled_forward_a_bit@3x.png */, + ); + path = LiveAuctionFancyLotCollectionViewLayoutTests; + sourceTree = ""; + }; + CB4327F227E8FEE400B29DD6 /* ARCollapsableTextViewSpec */ = { + isa = PBXGroup; + children = ( + CB4327F327E8FEE400B29DD6 /* text_is_taller_than_collapsed_height_before_expansion_looks_correct@3x.png */, + CB4327F427E8FEE400B29DD6 /* text_is_taller_than_collapsed_height_after_expansion_looks_correct@3x.png */, + CB4327F527E8FEE400B29DD6 /* when_text_is_shorter_than_collapsed_height_looks_correct@3x.png */, + ); + path = ARCollapsableTextViewSpec; + sourceTree = ""; + }; + CB4327F627E8FEE400B29DD6 /* LiveAuctionViewControllerTests */ = { + isa = PBXGroup; + children = ( + CB4327F727E8FEE400B29DD6 /* shows_a_removes_disconnected_screen_when_socket_reconnects@3x.png */, + CB4327F827E8FEE400B29DD6 /* looks_good_by_default@3x.png */, + CB4327F927E8FEE400B29DD6 /* shows_a_socket_disconnect_screen_when_socket_fails@3x.png */, + CB4327FA27E8FEE400B29DD6 /* shows_an_operator_disconnected_screen_when_operator_reconnects@3x.png */, + CB4327FB27E8FEE400B29DD6 /* shows_an_operator_disconnect_screen_when_operator_disconnects@3x.png */, + CB4327FC27E8FEE400B29DD6 /* handles_splitting_in_an_iPad@3x.png */, + CB4327FD27E8FEE400B29DD6 /* shows_an_error_screen_when_static_data_fails@3x.png */, + ); + path = LiveAuctionViewControllerTests; + sourceTree = ""; + }; + CB4327FE27E8FEE400B29DD6 /* LiveAuctionLotSetViewControllerTests */ = { + isa = PBXGroup; + children = ( + CB4327FF27E8FEE400B29DD6 /* really_compact_horizontal_size_class__live_auctions_lot_set__looks_good_by_default@3x.png */, + CB43280027E8FEE400B29DD6 /* compact_horizontal_size_class__live_auctions_lot_set__looks_good_by_default@3x.png */, + CB43280127E8FEE400B29DD6 /* regular_horizontal_size_class___live_auctions_lot_set__looks_good_by_default@3x.png */, + ); + path = LiveAuctionLotSetViewControllerTests; + sourceTree = ""; + }; + CB43280227E8FEE400B29DD6 /* AuctionInformationViewControllerTests */ = { + isa = PBXGroup; + children = ( + CB43280327E8FEE400B29DD6 /* a_closed_sale__shows_the_sale_is_closed@3x.png */, + ); + path = AuctionInformationViewControllerTests; + sourceTree = ""; + }; + CB43280427E8FEE400B29DD6 /* LiveAuctionLoadingViewSpec */ = { + isa = PBXGroup; + children = ( + CB43280527E8FEE400B29DD6 /* looks_good_by_default@3x.png */, + ); + path = LiveAuctionLoadingViewSpec; + sourceTree = ""; + }; + CB43280627E8FEE400B29DD6 /* AREmbeddedModelPreviewViewControllerSpec */ = { + isa = PBXGroup; + children = ( + CB43280727E8FEE400B29DD6 /* iPhone_peek_preview_view_controller_displays_artwork@3x.png */, + ); + path = AREmbeddedModelPreviewViewControllerSpec; + sourceTree = ""; + }; + CB43280827E8FEE400B29DD6 /* ARNavigationControllerSpec */ = { + isa = PBXGroup; + children = ( + CB43280927E8FEE400B29DD6 /* visuals_should_be_show_a_back_button_with_2_view_controllers@3x.png */, + CB43280A27E8FEE400B29DD6 /* visuals_should_be_empty_for_a_rootVC@3x.png */, + ); + path = ARNavigationControllerSpec; + sourceTree = ""; + }; + CB43280B27E8FEE400B29DD6 /* ARTextViewSpec */ = { + isa = PBXGroup; + children = ( + CB43280C27E8FEE400B29DD6 /* with_HTML_looks_right_with_multiple_paragraphs@3x.png */, + ); + path = ARTextViewSpec; + sourceTree = ""; + }; + CB43280D27E8FEE400B29DD6 /* LiveAuctionLotListStickyCellCollectionViewLayoutTests */ = { + isa = PBXGroup; + children = ( + CB43280E27E8FEE400B29DD6 /* looks_good_by_default@3x.png */, + CB43280F27E8FEE400B29DD6 /* looks_good_when_stuck_to_the_bottom@3x.png */, + CB43281027E8FEE400B29DD6 /* looks_good_when_stuck_to_the_top@3x.png */, + ); + path = LiveAuctionLotListStickyCellCollectionViewLayoutTests; + sourceTree = ""; + }; + CB43281127E8FEE400B29DD6 /* ARSignUpSplashViewControllerSpec */ = { + isa = PBXGroup; + children = ( + CB43281227E8FEE400B29DD6 /* looks correct as ipad@3x.png */, + CB43281327E8FEE400B29DD6 /* looks correct as iphone@3x.png */, + ); + path = ARSignUpSplashViewControllerSpec; + sourceTree = ""; + }; + CB43281427E8FEE400B29DD6 /* LiveAuctionLotViewControllerTests */ = { + isa = PBXGroup; + children = ( + CB43281527E8FEE400B29DD6 /* snapshots__doesnt_show_a_live_auction_call_to_action_when_auction_is_closed@3x.png */, + CB43281627E8FEE400B29DD6 /* snapshots__looks_good_for_passed_lots@3x.png */, + CB43281727E8FEE400B29DD6 /* snapshots__handles_updates_to_number_of_bids@3x.png */, + CB43281827E8FEE400B29DD6 /* snapshots__looks_good_for_sold_lots@3x.png */, + CB43281927E8FEE400B29DD6 /* snapshots__looks_good_for_upcoming_lots_that_the_user_is_winning@3x.png */, + CB43281A27E8FEE400B29DD6 /* snapshots__looks_good_when_its_lot_becomes_the_current_lot@3x.png */, + CB43281B27E8FEE400B29DD6 /* snapshots__looks_good_for_upcoming_lots@3x.png */, + CB43281C27E8FEE400B29DD6 /* snapshots__looks_good_for_live_lots@3x.png */, + CB43281D27E8FEE400B29DD6 /* snapshots__looks_good_for_lots_with_a__not_yet_met__reserve@3x.png */, + CB43281E27E8FEE400B29DD6 /* snapshots__looks_good_for_out_of_order_lots@3x.png */, + CB43281F27E8FEE400B29DD6 /* snapshots__looks_good_for_won_lots@3x.png */, + CB43282027E8FEE400B29DD6 /* snapshots__looks_good_for_lots_with_a_met_reserve@3x.png */, + ); + path = LiveAuctionLotViewControllerTests; + sourceTree = ""; + }; + CB43282127E8FEE400B29DD6 /* ARAugmentedVIRViewControllerSpec */ = { + isa = PBXGroup; + children = ( + CB43282227E8FEE400B29DD6 /* shows_the_right_info_when_an_artwork_was_placed@3x.png */, + CB43282327E8FEE400B29DD6 /* defaults_to_showing_info@3x.png */, + CB43282427E8FEE400B29DD6 /* shows_the_right_info_when_a_wall_is_registered@3x.png */, + ); + path = ARAugmentedVIRViewControllerSpec; + sourceTree = ""; + }; + CB43282527E8FEE400B29DD6 /* AREmbeddedModelsViewControllerSpec */ = { + isa = PBXGroup; + children = ( + CB43282627E8FEE400B29DD6 /* masonry_layout_with_horizontal_rows_allows_a_trailing_entry_to_the_right_to_stick_out_if_it_sticks_out_50_of_its_height@3x.png */, + CB43282727E8FEE400B29DD6 /* masonry_layout_with_vertical_columns_allows_a_trailing_entry_to_the_right_to_stick_out_if_it_sticks_out_50_of_its_height@3x.png */, + CB43282827E8FEE400B29DD6 /* masonry_layout_with_horizontal_rows_moves_a_trailing_entry_to_the_left_if_it_would_normally_be_at_the_right_and_stick_out_from_the_rest_by_more_than_50_of_its_height@3x.png */, + CB43282927E8FEE400B29DD6 /* masonry_layout_with_vertical_columns_moves_a_trailing_entry_to_the_left_if_it_would_normally_be_at_the_right_and_stick_out_from_the_rest_by_more_than_50_of_its_height@3x.png */, + CB43282A27E8FEE400B29DD6 /* truncates_long_titles@3x.png */, + ); + path = AREmbeddedModelsViewControllerSpec; + sourceTree = ""; + }; + CB43282B27E8FEE400B29DD6 /* AuctionTitleViewTests */ = { + isa = PBXGroup; + children = ( + CB43282C27E8FEE400B29DD6 /* with_the_registration_button_spanning_the_full_width__title_view__looks_good_with_a_registered_registration_status@3x.png */, + CB43282D27E8FEE400B29DD6 /* with_the_registration_button_having_side_insets__title_view__looks_good_without_a_info_button@3x.png */, + CB43282E27E8FEE400B29DD6 /* with_the_registration_button_having_side_insets__title_view__looks_good_with_a_sale_and_user_requiring_identity_verification@3x.png */, + CB43282F27E8FEE400B29DD6 /* with_the_registration_button_spanning_the_full_width__title_view__looks_good_with_a_sale_and_user_who_has_already_been_identity_verified@3x.png */, + CB43283027E8FEE400B29DD6 /* with_the_registration_button_spanning_the_full_width__title_view__looks_good_with_a_logged_out_registration_status@3x.png */, + CB43283127E8FEE400B29DD6 /* with_the_registration_button_spanning_the_full_width__title_view__looks_good_without_a_info_button@3x.png */, + CB43283227E8FEE400B29DD6 /* with_the_registration_button_having_side_insets__title_view__looks_good_with_a_not_registered_registration_status@3x.png */, + CB43283327E8FEE400B29DD6 /* with_the_registration_button_spanning_the_full_width__title_view__looks_good_with_a_not_registered_registration_status@3x.png */, + CB43283427E8FEE400B29DD6 /* with_the_registration_button_having_side_insets__title_view__looks_good_without_a_registration_status@3x.png */, + CB43283527E8FEE400B29DD6 /* with_the_registration_button_having_side_insets__title_view__looks_good_with_a_logged_out_registration_status@3x.png */, + CB43283627E8FEE400B29DD6 /* with_the_registration_button_spanning_the_full_width__title_view__looks_good_without_a_registration_status@3x.png */, + CB43283727E8FEE400B29DD6 /* with_the_registration_button_having_side_insets__title_view__looks_good_with_a_sale_and_user_who_has_already_been_identity_verified@3x.png */, + CB43283827E8FEE400B29DD6 /* with_the_registration_button_spanning_the_full_width__title_view__looks_good_with_a_sale_and_user_requiring_identity_verification@3x.png */, + CB43283927E8FEE400B29DD6 /* with_the_registration_button_having_side_insets__title_view__looks_good_with_a_registered_registration_status@3x.png */, + ); + path = AuctionTitleViewTests; + sourceTree = ""; + }; + CB43283A27E8FEE400B29DD6 /* ARAnimatedTickViewSpec */ = { + isa = PBXGroup; + children = ( + CB43283B27E8FEE400B29DD6 /* selected@3x.png */, + CB43283C27E8FEE400B29DD6 /* deselected@3x.png */, + ); + path = ARAnimatedTickViewSpec; + sourceTree = ""; + }; + CB43283D27E8FEE400B29DD6 /* AuctionLotMetadataStackScrollViewTests */ = { + isa = PBXGroup; + children = ( + CB43283E27E8FEE400B29DD6 /* looks_right_when_expanded@3x.png */, + CB43283F27E8FEE400B29DD6 /* looks_as_expected_when_small@3x.png */, + ); + path = AuctionLotMetadataStackScrollViewTests; + sourceTree = ""; + }; + CB43284027E8FEE400B29DD6 /* LiveAuctionLotListViewControllerTests */ = { + isa = PBXGroup; + children = ( + CB43284127E8FEE400B29DD6 /* shows_the_selected_lot@3x.png */, + CB43284227E8FEE400B29DD6 /* looks_good_by_default@3x.png */, + ); + path = LiveAuctionLotListViewControllerTests; + sourceTree = ""; + }; + CB43284327E8FEE400B29DD6 /* SaleOnHoldOverlayViewTests */ = { + isa = PBXGroup; + children = ( + CB43284427E8FEE400B29DD6 /* looks_right_by_default_on_iPad@3x.png */, + CB43284527E8FEE400B29DD6 /* looks_right_with_a_custom_message_on_iPad@3x.png */, + CB43284627E8FEE400B29DD6 /* looks_right_with_a_custom_message_on_iPhone@3x.png */, + CB43284727E8FEE400B29DD6 /* looks_right_by_default_on_iPhone@3x.png */, + CB43284827E8FEE400B29DD6 /* updated_message@3x.png */, + CB43284927E8FEE400B29DD6 /* initial_message@3x.png */, + ); + path = SaleOnHoldOverlayViewTests; + sourceTree = ""; + }; + CB43284A27E8FEE400B29DD6 /* Util_Tests */ = { + isa = PBXGroup; + children = ( + CB43284B27E8FEE400B29DD6 /* Sharing_Tests */, + CB43285027E8FEE400B29DD6 /* Enumerations */, + CB43285227E8FEE400B29DD6 /* ARDefaultsTests.m */, + CB43285327E8FEE400B29DD6 /* UINavigationController_InnermostTopViewControllerSpec.m */, + CB43285427E8FEE400B29DD6 /* NSDate+RangeTests.m */, + ); + path = Util_Tests; + sourceTree = ""; + }; + CB43284B27E8FEE400B29DD6 /* Sharing_Tests */ = { + isa = PBXGroup; + children = ( + CB43284C27E8FEE400B29DD6 /* ARImageItemProviderTests.m */, + CB43284D27E8FEE400B29DD6 /* ARMessageItemProviderTests.m */, + CB43284E27E8FEE400B29DD6 /* ARSharingControllerTests.m */, + CB43284F27E8FEE400B29DD6 /* ARURLItemProviderTests.m */, + ); + path = Sharing_Tests; + sourceTree = ""; + }; + CB43285027E8FEE400B29DD6 /* Enumerations */ = { + isa = PBXGroup; + children = ( + CB43285127E8FEE400B29DD6 /* UIApplicationStateEnumTests.m */, + ); + path = Enumerations; + sourceTree = ""; + }; + CB43285527E8FEE500B29DD6 /* Stubs */ = { + isa = PBXGroup; + children = ( + CB43285627E8FEE500B29DD6 /* Show+Extensions.h */, + CB43285727E8FEE500B29DD6 /* ArtsyOHHTTPAPI.h */, + CB43285827E8FEE500B29DD6 /* OHHTTPStubs+Artsy.h */, + CB43285927E8FEE500B29DD6 /* ARUserManager+Stubs.m */, + CB43285A27E8FEE500B29DD6 /* Bid+Extensions.m */, + CB43285B27E8FEE500B29DD6 /* Artwork+Extensions.h */, + CB43285C27E8FEE500B29DD6 /* SaleArtwork+Extensions.m */, + CB43285D27E8FEE500B29DD6 /* Sale+Extensions.h */, + CB43285E27E8FEE500B29DD6 /* Show+Extensions.m */, + CB43285F27E8FEE500B29DD6 /* ARUserManager+Stubs.h */, + CB43286027E8FEE500B29DD6 /* OHHTTPStubs+Artsy.m */, + CB43286127E8FEE500B29DD6 /* ArtsyOHHTTPAPI.m */, + CB43286227E8FEE500B29DD6 /* Bid+Extensions.h */, + CB43286327E8FEE500B29DD6 /* Artwork+Extensions.m */, + CB43286427E8FEE500B29DD6 /* Sale+Extensions.m */, + CB43286527E8FEE500B29DD6 /* Extensions.h */, + CB43286627E8FEE500B29DD6 /* SaleArtwork+Extensions.h */, + ); + path = Stubs; + sourceTree = ""; + }; + CBE3210527D9615000395A93 /* Artsy */ = { + isa = PBXGroup; + children = ( + CBE3249427E275A100395A93 /* App */, + CBE3262027E275A200395A93 /* App_Resources */, + CBE3245F27E275A100395A93 /* Categories */, + CBE3245A27E275A100395A93 /* Constants */, + CBE325A127E275A200395A93 /* Eigen.playground */, + CBE3248E27E275A100395A93 /* fonts */, + CBE325A227E275A200395A93 /* Images.xcassets */, + CBE3262B27E275A300395A93 /* Models */, + CBE3259527E275A200395A93 /* NativeModules */, + CBE324B827E275A100395A93 /* Navigation_Transitions */, + CBE325EC27E275A200395A93 /* Networking */, + CBE3262727E275A300395A93 /* Protocols */, + CBE325A327E275A200395A93 /* Resources */, + CBE3259427E275A200395A93 /* Stringify.swift */, + CBE3256727E275A100395A93 /* Tooling */, + CBE324BF27E275A100395A93 /* View_Controllers */, + CBE3256F27E275A100395A93 /* Views */, + CB61B85327B585F00007922D /* GoogleService-Info.plist */, + CBE3210727D9615000395A93 /* NativeModules */, + CBE3211427D9615000395A93 /* Images.xcassets */, + ); + path = Artsy; + sourceTree = ""; + }; + CBE3210727D9615000395A93 /* NativeModules */ = { + isa = PBXGroup; + children = ( + CBE3210827D9615000395A93 /* OldAdminView.swift */, + CBE3210927D9615000395A93 /* ARTCityGuideViewManager.m */, + CBE3210A27D9615000395A93 /* ARTOldAdminViewManager.h */, + CBE3210B27D9615000395A93 /* ARTNativeScreenPresenterModule.h */, + CBE3210C27D9615000395A93 /* ARTLiveAuctionViewManager.m */, + CBE3210D27D9615000395A93 /* LiveAuctionView.swift */, + CBE3210E27D9615000395A93 /* ARTOldAdminViewManager.m */, + CBE3210F27D9615000395A93 /* ARTCityGuideViewManager.h */, + CBE3211027D9615000395A93 /* ARTNativeScreenPresenterModule.m */, + CBE3211127D9615000395A93 /* CityGuideView.swift */, + CBE3211227D9615000395A93 /* ARTLiveAuctionViewManager.h */, + ); + path = NativeModules; + sourceTree = ""; + }; + CBE3245A27E275A100395A93 /* Constants */ = { + isa = PBXGroup; + children = ( + CBE3245B27E275A100395A93 /* ARAppConstants.h */, + CBE3245C27E275A100395A93 /* ARDefaults.h */, + CBE3245D27E275A100395A93 /* ARAppConstants.m */, + CBE3245E27E275A100395A93 /* ARDefaults.m */, + ); + path = Constants; + sourceTree = ""; + }; + CBE3245F27E275A100395A93 /* Categories */ = { + isa = PBXGroup; + children = ( + CBE3246027E275A100395A93 /* Apple */, + CBE3248627E275A100395A93 /* PanDirectionGestureRecognizer.swift */, + CBE3248727E275A100395A93 /* Artsy */, + CBE3248B27E275A100395A93 /* AFNetworking */, + ); + path = Categories; + sourceTree = ""; + }; + CBE3246027E275A100395A93 /* Apple */ = { + isa = PBXGroup; + children = ( + CBE3246127E275A100395A93 /* UITableViewController+Animations.swift */, + CBE3246227E275A100395A93 /* UIViewController+Popovers.h */, + CBE3246327E275A100395A93 /* UIImage+ImageFromColor.h */, + CBE3246427E275A100395A93 /* UIViewController+ARUserActivity.h */, + CBE3246527E275A100395A93 /* NSString+StringBetweenStrings.m */, + CBE3246627E275A100395A93 /* Int+Metrification.swift */, + CBE3246727E275A100395A93 /* UIDevice-Hardware.m */, + CBE3246827E275A100395A93 /* UIView+HitTestExpansion.m */, + CBE3246927E275A100395A93 /* NSArray+Additions.h */, + CBE3246A27E275A100395A93 /* NSDate+DateRange.h */, + CBE3246B27E275A100395A93 /* UIViewController+SimpleChildren.h */, + CBE3246C27E275A100395A93 /* NSAttributedString+Additions.swift */, + CBE3246D27E275A100395A93 /* NSKeyedUnarchiver+ErrorLogging.h */, + CBE3246E27E275A100395A93 /* UIImageView+AsyncImageLoading.m */, + CBE3246F27E275A100395A93 /* UIView+ScrollToTop.m */, + CBE3247027E275A100395A93 /* UIViewController+FullScreenLoading.h */, + CBE3247127E275A100395A93 /* NSDate+Util.m */, + CBE3247227E275A100395A93 /* UIView+OldSchoolSnapshots.h */, + CBE3247327E275A100395A93 /* UIViewController+WithLoadedData.h */, + CBE3247427E275A100395A93 /* UILabel+Styling.swift */, + CBE3247527E275A100395A93 /* UIViewController+ARUserActivity.m */, + CBE3247627E275A100395A93 /* UIImage+ImageFromColor.m */, + CBE3247727E275A100395A93 /* UIViewController+Popovers.m */, + CBE3247827E275A100395A93 /* UIView+HitTestExpansion.h */, + CBE3247927E275A100395A93 /* NSArray+Additions.m */, + CBE3247A27E275A100395A93 /* UIDevice-Hardware.h */, + CBE3247B27E275A100395A93 /* NSString+StringBetweenStrings.h */, + CBE3247C27E275A100395A93 /* UIView+ScrollToTop.h */, + CBE3247D27E275A100395A93 /* UIImageView+AsyncImageLoading.h */, + CBE3247E27E275A100395A93 /* UIViewController+Traits.swift */, + CBE3247F27E275A100395A93 /* NSKeyedUnarchiver+ErrorLogging.m */, + CBE3248027E275A100395A93 /* UIViewController+SimpleChildren.m */, + CBE3248127E275A100395A93 /* NSDate+DateRange.m */, + CBE3248227E275A100395A93 /* UIViewController+WithLoadedData.m */, + CBE3248327E275A100395A93 /* UIView+OldSchoolSnapshots.m */, + CBE3248427E275A100395A93 /* NSDate+Util.h */, + CBE3248527E275A100395A93 /* UIViewController+FullScreenLoading.m */, + ); + path = Apple; + sourceTree = ""; + }; + CBE3248727E275A100395A93 /* Artsy */ = { + isa = PBXGroup; + children = ( + CBE3248827E275A100395A93 /* ORStackView+ArtsyViews.h */, + CBE3248927E275A100395A93 /* ORStackView+ArtsyViews.m */, + CBE3248A27E275A100395A93 /* Interstellar+Artsy.swift */, + ); + path = Artsy; + sourceTree = ""; + }; + CBE3248B27E275A100395A93 /* AFNetworking */ = { + isa = PBXGroup; + children = ( + CBE3248C27E275A100395A93 /* AFHTTPRequestOperation+JSON.m */, + CBE3248D27E275A100395A93 /* AFHTTPRequestOperation+JSON.h */, + ); + path = AFNetworking; + sourceTree = ""; + }; + CBE3248E27E275A100395A93 /* fonts */ = { + isa = PBXGroup; + children = ( + CBE3248F27E275A100395A93 /* Unica77LL-Medium.otf */, + CBE3249027E275A100395A93 /* .gitkeep */, + CBE3249127E275A100395A93 /* Unica77LL-MediumItalic.otf */, + CBE3249227E275A100395A93 /* Unica77LL-Regular.otf */, + CBE3249327E275A100395A93 /* Unica77LL-Italic.otf */, + ); + path = fonts; + sourceTree = ""; + }; + CBE3249427E275A100395A93 /* App */ = { + isa = PBXGroup; + children = ( + CBE3249627E275A100395A93 /* ARAppDelegate+Analytics.m */, + CBE3249727E275A100395A93 /* ARAppActivityContinuationDelegate.m */, + CBE3249827E275A100395A93 /* ARAppNotificationsDelegate.m */, + CBE3249927E275A100395A93 /* ARTArtsyNativeModule.h */, + CBE3249A27E275A100395A93 /* ARAppStatus.m */, + CBE3249B27E275A100395A93 /* ARAnalyticsConstants.m */, + CBE3249C27E275A100395A93 /* ARAppDelegate+Echo.h */, + CBE3249D27E275A100395A93 /* ARModalViewController.m */, + CBE3249E27E275A100395A93 /* AROptions.h */, + CBE3249F27E275A100395A93 /* ArtsyEcho.m */, + CBE324A027E275A100395A93 /* ARAppDelegate+Emission.h */, + CBE324A127E275A100395A93 /* ARApplicationShortcutItemDelegate.m */, + CBE324A227E275A100395A93 /* ARAppDelegate.m */, + CBE324A327E275A100395A93 /* SwiftExtensions.swift */, + CBE324A427E275A100395A93 /* ARMacros.h */, + CBE324A527E275A100395A93 /* ARUserActivity.h */, + CBE324A627E275A100395A93 /* ARAppNotificationsDelegate.h */, + CBE324A727E275A100395A93 /* ARAppActivityContinuationDelegate.h */, + CBE324A827E275A100395A93 /* ARAppDelegate+Analytics.h */, + CBE324A927E275A100395A93 /* main.m */, + CBE324AB27E275A100395A93 /* ARAnalyticsConstants.h */, + CBE324AC27E275A100395A93 /* ARAppDelegate+Echo.m */, + CBE324AD27E275A100395A93 /* ARAppStatus.h */, + CBE324AE27E275A100395A93 /* ARTArtsyNativeModule.m */, + CBE324AF27E275A100395A93 /* ARApplicationShortcutItemDelegate.h */, + CBE324B027E275A100395A93 /* ARAppDelegate+Emission.m */, + CBE324B127E275A100395A93 /* ArtsyEcho.h */, + CBE324B227E275A100395A93 /* AROptions.m */, + CBE324B327E275A100395A93 /* ARModalViewController.h */, + CBE324B427E275A100395A93 /* ARFonts.h */, + CBE324B527E275A100395A93 /* EchoNew.json */, + CBE324B627E275A100395A93 /* ARUserActivity.m */, + CBE324B727E275A100395A93 /* ARAppDelegate.h */, + ); + path = App; + sourceTree = ""; + }; + CBE324B827E275A100395A93 /* Navigation_Transitions */ = { + isa = PBXGroup; + children = ( + CBE324B927E275A100395A93 /* ARDefaultNavigationTransition.m */, + CBE324BA27E275A100395A93 /* ARNavigationTransitionController.m */, + CBE324BB27E275A100395A93 /* ARNavigationTransition.m */, + CBE324BC27E275A100395A93 /* ARDefaultNavigationTransition.h */, + CBE324BD27E275A100395A93 /* ARNavigationTransition.h */, + CBE324BE27E275A100395A93 /* ARNavigationTransitionController.h */, + ); + path = Navigation_Transitions; + sourceTree = ""; + }; + CBE324BF27E275A100395A93 /* View_Controllers */ = { + isa = PBXGroup; + children = ( + CBE324C027E275A100395A93 /* Generics */, + CBE324C327E275A100395A93 /* Web_Browsing */, + CBE324CA27E275A100395A93 /* Live_Auctions */, + CBE324F627E275A100395A93 /* SerifModalWebNavigationController.swift */, + CBE324F727E275A100395A93 /* live_auctions_static.json */, + CBE324F827E275A100395A93 /* Auction */, + CBE324FE27E275A100395A93 /* Core */, + CBE3250227E275A100395A93 /* Util */, + CBE3252C27E275A100395A93 /* Login_and_Onboarding */, + CBE3253027E275A100395A93 /* ARSerifNavigationViewController.h */, + CBE3253127E275A100395A93 /* ARVIR */, + CBE3254D27E275A100395A93 /* live_auctions_socket.json */, + CBE3254E27E275A100395A93 /* Admin */, + CBE3256027E275A100395A93 /* LiveAuctionCurrentLotCTAPositionManager.swift */, + CBE3256127E275A100395A93 /* LiveAuctionPlainLotCollectionViewLayout.swift */, + CBE3256227E275A100395A93 /* Map */, + CBE3256527E275A100395A93 /* ARSerifNavigationViewController.m */, + ); + path = View_Controllers; + sourceTree = ""; + }; + CBE324C027E275A100395A93 /* Generics */ = { + isa = PBXGroup; + children = ( + CBE324C127E275A100395A93 /* ARNavigationButtonsViewController.h */, + CBE324C227E275A100395A93 /* ARNavigationButtonsViewController.m */, + ); + path = Generics; + sourceTree = ""; + }; + CBE324C327E275A100395A93 /* Web_Browsing */ = { + isa = PBXGroup; + children = ( + CBE324C427E275A100395A93 /* ARInternalMobileWebViewController.h */, + 1A550F0C282AE4D200126D22 /* ARAuctionWebViewController.h */, + 1A550F0D282AE4D200126D22 /* ARAuctionWebViewController.m */, + CBE324C527E275A100395A93 /* ARExternalWebBrowserViewController.h */, + CBE324C627E275A100395A93 /* ARInternalShareValidator.h */, + CBE324C727E275A100395A93 /* ARExternalWebBrowserViewController.m */, + CBE324C827E275A100395A93 /* ARInternalMobileWebViewController.m */, + CBE324C927E275A100395A93 /* ARInternalShareValidator.m */, + ); + path = Web_Browsing; + sourceTree = ""; + }; + CBE324CA27E275A100395A93 /* Live_Auctions */ = { + isa = PBXGroup; + children = ( + CBE324CB27E275A100395A93 /* LiveAuctionSaleLotsDataSource.swift */, + CBE324CC27E275A100395A93 /* ViewModels */, + CBE324D027E275A100395A93 /* LiveAuctionSalesPerson.swift */, + CBE324D127E275A100395A93 /* LiveAuctionLotViewController.swift */, + CBE324D227E275A100395A93 /* LiveAuctionLotListViewController.swift */, + CBE324D327E275A100395A93 /* LiveAuctionLoadingView.swift */, + CBE324D427E275A100395A93 /* LiveAuctionStaticDataFetcher.swift */, + CBE324D527E275A100395A93 /* LiveAuctionViewController.swift */, + CBE324D627E275A100395A93 /* LiveAuctionLotSetViewController.swift */, + CBE324D727E275A100395A93 /* LotListCollectionViewCell.swift */, + CBE324D827E275A100395A93 /* LiveAuctionStaticDataFetcher+Stubs.swift */, + CBE324D927E275A100395A93 /* Resources */, + CBE324DC27E275A100395A93 /* LiveAuctionStateManagerSpec.swift */, + CBE324DD27E275A100395A93 /* LiveAuctionSaleViewController.swift */, + CBE324DE27E275A100395A93 /* LiveAuctionStateManager.swift */, + CBE324DF27E275A100395A93 /* LiveAuctionBidViewModel.swift */, + CBE324E027E275A100395A93 /* LiveActionStateReconciler.swift */, + CBE324E127E275A100395A93 /* LotListCollectionViewCell+Private.swift */, + CBE324E227E275A100395A93 /* LiveAuctionBidHistoryViewController.swift */, + CBE324E327E275A100395A93 /* LiveAuctionLotBidHistoryGestureController.swift */, + CBE324E427E275A100395A93 /* LiveAuctionLotListStickyCellCollectionViewLayout.swift */, + CBE324E527E275A100395A93 /* LiveAuctionsAdminViewController.swift */, + CBE324E627E275A100395A93 /* Views */, + CBE324F427E275A100395A93 /* LiveAuctionBidButton.swift */, + CBE324F527E275A100395A93 /* LiveAuctionPlaceMaxBidViewController.swift */, + ); + path = Live_Auctions; + sourceTree = ""; + }; + CBE324CC27E275A100395A93 /* ViewModels */ = { + isa = PBXGroup; + children = ( + CBE324CD27E275A100395A93 /* LiveAuctionViewModel.swift */, + CBE324CE27E275A100395A93 /* LiveAuctionEventViewModel.swift */, + CBE324CF27E275A100395A93 /* LiveAuctionLotViewModel.swift */, + ); + path = ViewModels; + sourceTree = ""; + }; + CBE324D927E275A100395A93 /* Resources */ = { + isa = PBXGroup; + children = ( + CBE324DA27E275A100395A93 /* LiveAuctionsAssets.xcassets */, + CBE324DB27E275A100395A93 /* LiveAuctions.storyboard */, + ); + path = Resources; + sourceTree = ""; + }; + CBE324E627E275A100395A93 /* Views */ = { + isa = PBXGroup; + children = ( + CBE324E727E275A100395A93 /* AuctionLotMetadataStackScrollView.swift */, + CBE324E827E275A100395A93 /* LiveAuctionLotCollectionViewDataSource.swift */, + CBE324E927E275A100395A93 /* LiveAuctionCurrentLotView.swift */, + CBE324EA27E275A100395A93 /* LiveAuctionFancyLotCollectionViewLayout.swift */, + CBE324EB27E275A100395A93 /* LiveBidProgressOverlayView.swift */, + CBE324EC27E275A100395A93 /* LiveAuctionLotCollectionViewLayoutType.swift */, + CBE324ED27E275A100395A93 /* SimpleProgressView.swift */, + CBE324EE27E275A100395A93 /* LiveAuctionBiddingViewModel.swift */, + CBE324EF27E275A100395A93 /* LiveAuctionLotCollectionViewLayoutAttributes.swift */, + CBE324F027E275A100395A93 /* SaleOnHoldOverlayView.swift */, + CBE324F127E275A100395A93 /* LiveAuctionToolbarView.swift */, + CBE324F227E275A100395A93 /* SaleStatusView.swift */, + CBE324F327E275A100395A93 /* LiveAuctionLotImageCollectionViewCell.swift */, + ); + path = Views; + sourceTree = ""; + }; + CBE324F827E275A100395A93 /* Auction */ = { + isa = PBXGroup; + children = ( + CBE324F927E275A100395A93 /* AuctionBiddersNetworkModel.swift */, + CBE324FA27E275A100395A93 /* AuctionInformationViewController.swift */, + CBE324FB27E275A100395A93 /* RefinementOptionsViewController.swift */, + CBE324FC27E275A100395A93 /* RefinementOptionsViewController+Private.swift */, + CBE324FD27E275A100395A93 /* AuctionSaleNetworkModel.swift */, + ); + path = Auction; + sourceTree = ""; + }; + CBE324FE27E275A100395A93 /* Core */ = { + isa = PBXGroup; + children = ( + CBE324FF27E275A100395A93 /* ARViewInRoomViewController.h */, + CBE3250027E275A100395A93 /* ARViewInRoomViewController.m */, + CBE3250127E275A100395A93 /* UIViewController+BlurredStatusView.swift */, + ); + path = Core; + sourceTree = ""; + }; + CBE3250227E275A100395A93 /* Util */ = { + isa = PBXGroup; + children = ( + CBE3250327E275A100395A93 /* ARScrollNavigationChief.m */, + CBE3250427E275A100395A93 /* ARFileUtils.h */, + CBE3250527E275A100395A93 /* Sharing */, + CBE3250E27E275A100395A93 /* UIViewController+InnermostTopViewController.m */, + CBE3250F27E275A100395A93 /* ARStandardDateFormatter.m */, + CBE3251027E275A100395A93 /* ARNavigationController.h */, + CBE3251127E275A100395A93 /* ARBackButton.m */, + CBE3251227E275A100395A93 /* ARFeedImageLoader.h */, + CBE3251327E275A100395A93 /* ARValueTransformer.h */, + CBE3251427E275A100395A93 /* ARTwoWayDictionaryTransformer.h */, + CBE3251527E275A100395A93 /* ARMenuAwareViewController.h */, + CBE3251627E275A100395A93 /* ARFileUtils.m */, + CBE3251727E275A100395A93 /* ARScrollNavigationChief.h */, + CBE3251827E275A100395A93 /* ARNavigationController.m */, + CBE3251927E275A100395A93 /* ARStandardDateFormatter.h */, + CBE3251A27E275A100395A93 /* UIViewController+InnermostTopViewController.h */, + CBE3251B27E275A100395A93 /* ARValueTransformer.m */, + CBE3251C27E275A100395A93 /* Errors */, + CBE3251F27E275A100395A93 /* ARFeedImageLoader.m */, + CBE3252027E275A100395A93 /* ARBackButton.h */, + CBE3252127E275A100395A93 /* Emumerations */, + CBE3252427E275A100395A93 /* Logging */, + CBE3252B27E275A100395A93 /* ARTwoWayDictionaryTransformer.m */, + ); + path = Util; + sourceTree = ""; + }; + CBE3250527E275A100395A93 /* Sharing */ = { + isa = PBXGroup; + children = ( + CBE3250627E275A100395A93 /* ARMessageItemProvider.m */, + CBE3250727E275A100395A93 /* ARSharingController.m */, + CBE3250827E275A100395A93 /* ARImageItemProvider.m */, + CBE3250927E275A100395A93 /* ARURLItemProvider.m */, + CBE3250A27E275A100395A93 /* ARMessageItemProvider.h */, + CBE3250B27E275A100395A93 /* ARSharingController.h */, + CBE3250C27E275A100395A93 /* ARURLItemProvider.h */, + CBE3250D27E275A100395A93 /* ARImageItemProvider.h */, + ); + path = Sharing; + sourceTree = ""; + }; + CBE3251C27E275A100395A93 /* Errors */ = { + isa = PBXGroup; + children = ( + CBE3251D27E275A100395A93 /* ARNetworkErrorManager.h */, + CBE3251E27E275A100395A93 /* ARNetworkErrorManager.m */, + ); + path = Errors; + sourceTree = ""; + }; + CBE3252127E275A100395A93 /* Emumerations */ = { + isa = PBXGroup; + children = ( + CBE3252227E275A100395A93 /* UIApplicationStateEnum.h */, + CBE3252327E275A100395A93 /* UIApplicationStateEnum.m */, + ); + path = Emumerations; + sourceTree = ""; + }; + CBE3252427E275A100395A93 /* Logging */ = { + isa = PBXGroup; + children = ( + CBE3252527E275A100395A93 /* ARLogFormatter.h */, + CBE3252627E275A100395A93 /* ARLogger.h */, + CBE3252727E275A100395A93 /* ARHTTPRequestOperationLogger.m */, + CBE3252827E275A100395A93 /* ARLogger.m */, + CBE3252927E275A100395A93 /* ARLogFormatter.m */, + CBE3252A27E275A100395A93 /* ARHTTPRequestOperationLogger.h */, + ); + path = Logging; + sourceTree = ""; + }; + CBE3252C27E275A100395A93 /* Login_and_Onboarding */ = { + isa = PBXGroup; + children = ( + CBE3252D27E275A100395A93 /* Onboarding_stages */, + ); + path = Login_and_Onboarding; + sourceTree = ""; + }; + CBE3252D27E275A100395A93 /* Onboarding_stages */ = { + isa = PBXGroup; + children = ( + CBE3252E27E275A100395A93 /* 2_-_Calls_to_Action */, + ); + path = Onboarding_stages; + sourceTree = ""; + }; + CBE3252E27E275A100395A93 /* 2_-_Calls_to_Action */ = { + isa = PBXGroup; + children = ( + CBE3252F27E275A100395A93 /* ARSignUpActiveUserViewController.xib */, + ); + path = "2_-_Calls_to_Action"; + sourceTree = ""; + }; + CBE3253127E275A100395A93 /* ARVIR */ = { + isa = PBXGroup; + children = ( + CBE3253227E275A100395A93 /* Nodes */, + CBE3253727E275A100395A93 /* ARAugmentedRealityConfig.h */, + CBE3253827E275A100395A93 /* VCs */, + CBE3253D27E275A100395A93 /* AR */, + CBE3254027E275A100395A93 /* New Group */, + CBE3254927E275A100395A93 /* ARAugmentedRealityConfig.m */, + CBE3254A27E275A100395A93 /* Views */, + ); + path = ARVIR; + sourceTree = ""; + }; + CBE3253227E275A100395A93 /* Nodes */ = { + isa = PBXGroup; + children = ( + CBE3253327E275A100395A93 /* ARSCNWallNode.m */, + CBE3253427E275A100395A93 /* SCNArtworkNode.m */, + CBE3253527E275A100395A93 /* ARSCNWallNode.h */, + CBE3253627E275A100395A93 /* SCNArtworkNode.h */, + ); + path = Nodes; + sourceTree = ""; + }; + CBE3253827E275A100395A93 /* VCs */ = { + isa = PBXGroup; + children = ( + CBE3253927E275A100395A93 /* ARAugmentedFloorBasedVIRViewController.h */, + CBE3253A27E275A100395A93 /* ARAugmentedVIRSetupViewController.h */, + CBE3253B27E275A100395A93 /* ARAugmentedFloorBasedVIRViewController.m */, + CBE3253C27E275A100395A93 /* ARAugmentedVIRSetupViewController.m */, + ); + path = VCs; + sourceTree = ""; + }; + CBE3253D27E275A100395A93 /* AR */ = { + isa = PBXGroup; + children = ( + CBE3253E27E275A100395A93 /* ARVIRHorizontalPlaneInteractionController.h */, + CBE3253F27E275A100395A93 /* ARVIRHorizontalPlaneInteractionController.m */, + ); + path = AR; + sourceTree = ""; + }; + CBE3254027E275A100395A93 /* New Group */ = { + isa = PBXGroup; + children = ( + CBE3254127E275A100395A93 /* ARVIRModalClose.png */, + CBE3254227E275A100395A93 /* ARVIRTick.png */, + CBE3254327E275A100395A93 /* ARVIRModalClose@3x.png */, + CBE3254427E275A100395A93 /* ARVIRTick@2x.png */, + CBE3254527E275A100395A93 /* ARVIRTick@3x.png */, + CBE3254627E275A100395A93 /* ARVIRModalClose@2x.png */, + CBE3254727E275A100395A93 /* ARVIRShadow.png */, + CBE3254827E275A100395A93 /* ar_vir_opening_frame.jpg */, + ); + path = "New Group"; + sourceTree = ""; + }; + CBE3254A27E275A100395A93 /* Views */ = { + isa = PBXGroup; + children = ( + CBE3254B27E275A100395A93 /* ARInformationView.h */, + CBE3254C27E275A100395A93 /* ARInformationView.m */, + ); + path = Views; + sourceTree = ""; + }; + CBE3254E27E275A100395A93 /* Admin */ = { + isa = PBXGroup; + children = ( + CBE3254F27E275A100395A93 /* AREchoContentsViewController.m */, + CBE3255027E275A100395A93 /* ARAdminSettingsViewController.m */, + CBE3255127E275A100395A93 /* Networking */, + CBE3255427E275A100395A93 /* ARAdminTableViewController.m */, + CBE3255527E275A100395A93 /* ARAdminSettingsViewController.h */, + CBE3255627E275A100395A93 /* AREchoContentsViewController.h */, + CBE3255727E275A100395A93 /* Views */, + CBE3255E27E275A100395A93 /* ARAdminTableViewController.h */, + ); + path = Admin; + sourceTree = ""; + }; + CBE3255127E275A100395A93 /* Networking */ = { + isa = PBXGroup; + children = ( + CBE3255227E275A100395A93 /* ARAdminNetworkModel.h */, + CBE3255327E275A100395A93 /* ARAdminNetworkModel.m */, + ); + path = Networking; + sourceTree = ""; + }; + CBE3255727E275A100395A93 /* Views */ = { + isa = PBXGroup; + children = ( + CBE3255827E275A100395A93 /* ARAdminTableViewCell.m */, + CBE3255927E275A100395A93 /* ARTickedTableViewCell.m */, + CBE3255A27E275A100395A93 /* ARAnimatedTickView.m */, + CBE3255B27E275A100395A93 /* ARAnimatedTickView.h */, + CBE3255C27E275A100395A93 /* ARTickedTableViewCell.h */, + CBE3255D27E275A100395A93 /* ARAdminTableViewCell.h */, + ); + path = Views; + sourceTree = ""; + }; + CBE3256227E275A100395A93 /* Map */ = { + isa = PBXGroup; + children = ( + CBE3256327E275A100395A93 /* AREigenMapContainerViewController.h */, + CBE3256427E275A100395A93 /* AREigenMapContainerViewController.m */, + ); + path = Map; + sourceTree = ""; + }; + CBE3256727E275A100395A93 /* Tooling */ = { + isa = PBXGroup; + children = ( + CBE3256827E275A100395A93 /* Generated */, + CBE3256B27E275A100395A93 /* ARDispatchManager.m */, + CBE3256C27E275A100395A93 /* ARWebViewCacheHost.h */, + CBE3256D27E275A100395A93 /* ARDispatchManager.h */, + CBE3256E27E275A100395A93 /* ARWebViewCacheHost.m */, + ); + path = Tooling; + sourceTree = ""; + }; + CBE3256827E275A100395A93 /* Generated */ = { + isa = PBXGroup; + children = ( + CBE3256927E275A100395A93 /* StoryboardConstants.swift */, + CBE3256A27E275A100395A93 /* StoryboardImages.swift */, + ); + path = Generated; + sourceTree = ""; + }; + CBE3256F27E275A100395A93 /* Views */ = { + isa = PBXGroup; + children = ( + CBE3257027E275A100395A93 /* ARCountdownView.m */, + CBE3257127E275A100395A93 /* Auction */, + CBE3257627E275A100395A93 /* Core */, + CBE3257827E275A100395A93 /* AuctionColors.swift */, + CBE3257927E275A100395A93 /* Utilities */, + CBE3258427E275A100395A93 /* ARCountdownView.h */, + CBE3258527E275A100395A93 /* Styled_Subclasses */, + CBE3258F27E275A100395A93 /* RefinableType.swift */, + CBE3259027E275A100395A93 /* Notifications */, + CBE3259327E275A100395A93 /* AuctionCircularButtons.swift */, + ); + path = Views; + sourceTree = ""; + }; + CBE3257127E275A100395A93 /* Auction */ = { + isa = PBXGroup; + children = ( + CBE3257227E275A100395A93 /* SaleViewModel.swift */, + CBE3257327E275A100395A93 /* AuctionTitleView.swift */, + CBE3257427E275A100395A93 /* SaleAuctionStatus.swift */, + CBE3257527E275A100395A93 /* SaleArtworkViewModel.swift */, + ); + path = Auction; + sourceTree = ""; + }; + CBE3257627E275A100395A93 /* Core */ = { + isa = PBXGroup; + children = ( + CBE3257727E275A100395A93 /* TextStack.swift */, + ); + path = Core; + sourceTree = ""; + }; + CBE3257927E275A100395A93 /* Utilities */ = { + isa = PBXGroup; + children = ( + CBE3257A27E275A100395A93 /* ARReusableLoadingView.m */, + CBE3257B27E275A100395A93 /* ARCustomEigenLabels.m */, + CBE3257C27E275A100395A93 /* ARSeparatorViews.m */, + CBE3257D27E275A100395A93 /* ARWhitespaceGobbler.h */, + CBE3257E27E275A100395A93 /* AROfflineView.h */, + CBE3257F27E275A100395A93 /* ARSeparatorViews.h */, + CBE3258027E275A100395A93 /* ARCustomEigenLabels.h */, + CBE3258127E275A100395A93 /* ARReusableLoadingView.h */, + CBE3258227E275A100395A93 /* ARWhitespaceGobbler.m */, + CBE3258327E275A100395A93 /* AROfflineView.m */, + ); + path = Utilities; + sourceTree = ""; + }; + CBE3258527E275A100395A93 /* Styled_Subclasses */ = { + isa = PBXGroup; + children = ( + CBE3258627E275A100395A93 /* Buttons */, + CBE3258C27E275A100395A93 /* ARTextView.h */, + CBE3258D27E275A100395A93 /* StyledSubclasses.h */, + CBE3258E27E275A100395A93 /* ARTextView.m */, + ); + path = Styled_Subclasses; + sourceTree = ""; + }; + CBE3258627E275A100395A93 /* Buttons */ = { + isa = PBXGroup; + children = ( + CBE3258727E275A100395A93 /* ARBidButton.m */, + CBE3258827E275A100395A93 /* ARNvagiationButton+Swift.swift */, + CBE3258927E275A100395A93 /* ARNavigationButton.h */, + CBE3258A27E275A100395A93 /* ARBidButton.h */, + CBE3258B27E275A100395A93 /* ARNavigationButton.m */, + ); + path = Buttons; + sourceTree = ""; + }; + CBE3259027E275A100395A93 /* Notifications */ = { + isa = PBXGroup; + children = ( + CBE3259127E275A100395A93 /* ARNotificationView.m */, + CBE3259227E275A100395A93 /* ARNotificationView.h */, + ); + path = Notifications; + sourceTree = ""; + }; + CBE3259527E275A200395A93 /* NativeModules */ = { + isa = PBXGroup; + children = ( + CBE3259627E275A200395A93 /* OldAdminView.swift */, + CBE3259727E275A200395A93 /* ARTCityGuideViewManager.m */, + CBE3259827E275A200395A93 /* ARTOldAdminViewManager.h */, + CBE3259927E275A200395A93 /* ARTNativeScreenPresenterModule.h */, + CBE3259A27E275A200395A93 /* ARTLiveAuctionViewManager.m */, + CBE3259B27E275A200395A93 /* LiveAuctionView.swift */, + CBE3259C27E275A200395A93 /* ARTOldAdminViewManager.m */, + CBE3259D27E275A200395A93 /* ARTCityGuideViewManager.h */, + CBE3259E27E275A200395A93 /* ARTNativeScreenPresenterModule.m */, + CBE3259F27E275A200395A93 /* CityGuideView.swift */, + CBE325A027E275A200395A93 /* ARTLiveAuctionViewManager.h */, + ); + path = NativeModules; + sourceTree = ""; + }; + CBE325A327E275A200395A93 /* Resources */ = { + isa = PBXGroup; + children = ( + CBE325A427E275A200395A93 /* Map_Annotations */, + CBE325A627E275A200395A93 /* Artsy-Bridging-Header.h */, + CBE325A727E275A200395A93 /* ViewInRoom */, + CBE325AE27E275A200395A93 /* Assets */, + ); + path = Resources; + sourceTree = ""; + }; + CBE325A427E275A200395A93 /* Map_Annotations */ = { + isa = PBXGroup; + children = ( + CBE325A527E275A200395A93 /* MapAnnotation_Artsy@2x.png */, + ); + path = Map_Annotations; + sourceTree = ""; + }; + CBE325A727E275A200395A93 /* ViewInRoom */ = { + isa = PBXGroup; + children = ( + CBE325A827E275A200395A93 /* ViewInRoom_Wall@2x.png */, + CBE325A927E275A200395A93 /* ViewInRoom_Man_3@2x.png */, + CBE325AA27E275A200395A93 /* ViewInRoom_Wall_Right@2x.png */, + CBE325AB27E275A200395A93 /* ViewInRoom_Base@2x.png */, + CBE325AC27E275A200395A93 /* ViewInRoom_Bench@2x.png */, + CBE325AD27E275A200395A93 /* ViewInRoom_BaseNoBench@2x.png */, + ); + path = ViewInRoom; + sourceTree = ""; + }; + CBE325AE27E275A200395A93 /* Assets */ = { + isa = PBXGroup; + children = ( + CBE325AF27E275A200395A93 /* followButton@3x.png */, + CBE325B027E275A200395A93 /* SmallMoreVerticalArrow.png */, + CBE325B127E275A200395A93 /* SmallMoreVerticalArrow@2x.png */, + CBE325B227E275A200395A93 /* SearchButton@3x.png */, + CBE325B327E275A200395A93 /* Hash@3x.png */, + CBE325B427E275A200395A93 /* MoreArrow@2x.png */, + CBE325B527E275A200395A93 /* ARVIRBack@3x.png */, + CBE325B627E275A200395A93 /* Hash.png */, + CBE325B727E275A200395A93 /* navigation_more_arrow_vertical@2x.png */, + CBE325B827E275A200395A93 /* followButtonChecked@3x.png */, + CBE325B927E275A200395A93 /* followButtonChecked@2x.png */, + CBE325BA27E275A200395A93 /* AuctionRefineCheck.png */, + CBE325BB27E275A200395A93 /* ARVIRBack@2x.png */, + CBE325BC27E275A200395A93 /* AttentionIcon@2x.png */, + CBE325BD27E275A200395A93 /* FooterBackground@2x.png */, + CBE325BE27E275A200395A93 /* serif_modal_close@2x.png */, + CBE325BF27E275A200395A93 /* Hash@2x.png */, + CBE325C027E275A200395A93 /* SearchButton@2x.png */, + CBE325C127E275A200395A93 /* followButton@2x.png */, + CBE325C227E275A200395A93 /* paddle.png */, + CBE325C327E275A200395A93 /* full_logo_white_small@2x.png */, + CBE325C427E275A200395A93 /* ARVIRPhone@2x.png */, + CBE325C527E275A200395A93 /* AuctionRefineCheck@2x.png */, + CBE325C627E275A200395A93 /* Track@2x.png */, + CBE325C727E275A200395A93 /* BackChevron.png */, + CBE325C827E275A200395A93 /* CircularInfoButton.png */, + CBE325C927E275A200395A93 /* CircularCancelButton@2x.png */, + CBE325CA27E275A200395A93 /* followButton.png */, + CBE325CB27E275A200395A93 /* ARVIRPhone@3x.png */, + CBE325CC27E275A200395A93 /* full_logo_white_large@2x.png */, + CBE325CD27E275A200395A93 /* ARVIRRefresh@3x.png */, + CBE325CE27E275A200395A93 /* CloseButtonLarge@2x.png */, + CBE325CF27E275A200395A93 /* CircleXRed.png */, + CBE325D027E275A200395A93 /* Artsy_Logo.png */, + CBE325D127E275A200395A93 /* full_logo_white_medium@2x.png */, + CBE325D227E275A200395A93 /* RefreshIcon@2x.png */, + CBE325D327E275A200395A93 /* CircleCheckGreen@2x.png */, + CBE325D427E275A200395A93 /* Chevron_White_Left@2x.png */, + CBE325D527E275A200395A93 /* Range@2x.png */, + CBE325D627E275A200395A93 /* Thumb@2x.png */, + CBE325D727E275A200395A93 /* paddle@3x.png */, + CBE325D827E275A200395A93 /* paddle@2x.png */, + CBE325D927E275A200395A93 /* CircleCheckGreen.png */, + CBE325DA27E275A200395A93 /* Chevron_White_Left@3x.png */, + CBE325DB27E275A200395A93 /* CircleCheckGreen@3x.png */, + CBE325DC27E275A200395A93 /* ARVIRRefresh@2x.png */, + CBE325DD27E275A200395A93 /* CloseButtonLargeHighlighted@2x.png */, + CBE325DE27E275A200395A93 /* CircleXRed@3x.png */, + CBE325DF27E275A200395A93 /* BackChevron@2x.png */, + CBE325E027E275A200395A93 /* SearchButton.png */, + CBE325E127E275A200395A93 /* CircularCancelButton.png */, + CBE325E227E275A200395A93 /* full_logo_black_large@2x.png */, + CBE325E327E275A200395A93 /* BackArrow_Highlighted@2x.png */, + CBE325E427E275A200395A93 /* followButtonChecked.png */, + CBE325E527E275A200395A93 /* full_logo_black_medium@2x.png */, + CBE325E627E275A200395A93 /* full_logo_black_small@2x.png */, + CBE325E727E275A200395A93 /* CircularInfoButton@2x.png */, + CBE325E827E275A200395A93 /* Thumb.png */, + CBE325E927E275A200395A93 /* BackChevron@3x.png */, + CBE325EA27E275A200395A93 /* CircleXRed@2x.png */, + CBE325EB27E275A200395A93 /* navigation_more_arrow_horizontal@2x.png */, + ); + path = Assets; + sourceTree = ""; + }; + CBE325EC27E275A200395A93 /* Networking */ = { + isa = PBXGroup; + children = ( + CBE325ED27E275A200395A93 /* Mantle_Extensions */, + CBE325F227E275A200395A93 /* Live_Auctions */, + CBE325F527E275A200395A93 /* ARRouter.h */, + CBE325F627E275A200395A93 /* ARNetworkConstants.h */, + CBE325F727E275A200395A93 /* ARRouter+GraphQL.h */, + CBE325F827E275A200395A93 /* ARSystemTime.h */, + CBE325F927E275A200395A93 /* ARAuthProviders.m */, + CBE325FA27E275A200395A93 /* ArtsyAPI.m */, + CBE325FB27E275A200395A93 /* API_Modules */, + CBE3261727E275A200395A93 /* ARReactPackagerHost.h */, + CBE3261827E275A200395A93 /* static_sale_data.graphql */, + CBE3261927E275A200395A93 /* ARNetworkConstants.m */, + CBE3261A27E275A200395A93 /* ARRouter.m */, + CBE3261B27E275A200395A93 /* ARRouter+GraphQL.m */, + CBE3261C27E275A200395A93 /* ARReactPackagerHost.m */, + CBE3261D27E275A200395A93 /* ARAuthProviders.h */, + CBE3261E27E275A200395A93 /* ArtsyAPI.h */, + CBE3261F27E275A200395A93 /* ARSystemTime.m */, + ); + path = Networking; + sourceTree = ""; + }; + CBE325ED27E275A200395A93 /* Mantle_Extensions */ = { + isa = PBXGroup; + children = ( + CBE325EE27E275A200395A93 /* MTLModel+Dictionary.m */, + CBE325EF27E275A200395A93 /* MTLModel+JSON.m */, + CBE325F027E275A200395A93 /* MTLModel+Dictionary.h */, + CBE325F127E275A200395A93 /* MTLModel+JSON.h */, + ); + path = Mantle_Extensions; + sourceTree = ""; + }; + CBE325F227E275A200395A93 /* Live_Auctions */ = { + isa = PBXGroup; + children = ( + CBE325F327E275A200395A93 /* StarscreamExtensions.swift */, + CBE325F427E275A200395A93 /* LiveAuctionSocketCommunicator.swift */, + ); + path = Live_Auctions; + sourceTree = ""; + }; + CBE325FB27E275A200395A93 /* API_Modules */ = { + isa = PBXGroup; + children = ( + CBE325FC27E275A200395A93 /* ArtsyAPI+HEAD.m */, + CBE325FD27E275A200395A93 /* ArtsyAPI+Sales.h */, + CBE325FE27E275A200395A93 /* ArtsyAPI+Notifications.h */, + CBE325FF27E275A200395A93 /* ArtsyAPI+Profiles.h */, + CBE3260027E275A200395A93 /* ArtsyAPI+Pages.m */, + CBE3260127E275A200395A93 /* ArtsyAPI+ErrorHandlers.m */, + CBE3260227E275A200395A93 /* ArtsyAPI+CurrentUserFunctions.h */, + CBE3260327E275A200395A93 /* ArtsyAPI+RelatedModels.h */, + CBE3260427E275A200395A93 /* ARUserManager.h */, + CBE3260527E275A200395A93 /* ARKeychainable.m */, + CBE3260627E275A200395A93 /* ArtsyAPI+Private.h */, + CBE3260727E275A200395A93 /* ArtsyAPI+DeviceTokens.h */, + CBE3260827E275A200395A93 /* ArtsyAPI+Following.m */, + CBE3260927E275A200395A93 /* ArtsyAPI+SystemTime.m */, + CBE3260A27E275A200395A93 /* ArtsyAPI+ErrorHandlers.h */, + CBE3260B27E275A200395A93 /* ArtsyAPI+Pages.h */, + CBE3260C27E275A200395A93 /* ArtsyAPI+Profiles.m */, + CBE3260D27E275A200395A93 /* ArtsyAPI+Notifications.m */, + CBE3260E27E275A200395A93 /* ArtsyAPI+Sales.m */, + CBE3260F27E275A200395A93 /* ArtsyAPI+HEAD.h */, + CBE3261027E275A200395A93 /* ArtsyAPI+CurrentUserFunctions.m */, + CBE3261127E275A200395A93 /* ArtsyAPI+DeviceTokens.m */, + CBE3261227E275A200395A93 /* ARKeychainable.h */, + CBE3261327E275A200395A93 /* ARUserManager.m */, + CBE3261427E275A200395A93 /* ArtsyAPI+RelatedModels.m */, + CBE3261527E275A200395A93 /* ArtsyAPI+SystemTime.h */, + CBE3261627E275A200395A93 /* ArtsyAPI+Following.h */, + ); + path = API_Modules; + sourceTree = ""; + }; + CBE3262027E275A200395A93 /* App_Resources */ = { + isa = PBXGroup; + children = ( + CBE3262127E275A200395A93 /* InfoPlist.strings */, + CBE3262327E275A200395A93 /* Artsy.entitlements */, + CBE3262427E275A200395A93 /* Artsy.Store.entitlements */, + CBE3262527E275A200395A93 /* Artsy-Info.plist */, + CBE3262627E275A200395A93 /* Launch Screen.xib */, + ); + path = App_Resources; + sourceTree = ""; + }; + CBE3262727E275A300395A93 /* Protocols */ = { + isa = PBXGroup; + children = ( + CBE3262827E275A300395A93 /* ARFollowable.h */, + CBE3262927E275A300395A93 /* ARFeedHostItem.h */, + CBE3262A27E275A300395A93 /* ARShareableObject.h */, + ); + path = Protocols; + sourceTree = ""; + }; + CBE3262B27E275A300395A93 /* Models */ = { + isa = PBXGroup; + children = ( + CBE3262C27E275A300395A93 /* API_Models */, + CBE3266C27E275A300395A93 /* Protocols */, + ); + path = Models; + sourceTree = ""; + }; + CBE3262C27E275A300395A93 /* API_Models */ = { + isa = PBXGroup; + children = ( + CBE3262D27E275A300395A93 /* Partner_Metadata */, + CBE3263827E275A300395A93 /* Posts */, + CBE3263B27E275A300395A93 /* Favorites */, + CBE3263D27E275A300395A93 /* Artwork_Metadata */, + CBE3264427E275A300395A93 /* LiveAuctionLot.m */, + CBE3264527E275A300395A93 /* Social */, + CBE3264A27E275A300395A93 /* Fair */, + CBE3265127E275A300395A93 /* Live */, + CBE3265B27E275A300395A93 /* Auctions */, + CBE3266827E275A300395A93 /* Application */, + CBE3266B27E275A300395A93 /* LiveAuctionLot.h */, + ); + path = API_Models; + sourceTree = ""; + }; + CBE3262D27E275A300395A93 /* Partner_Metadata */ = { + isa = PBXGroup; + children = ( + CBE3262E27E275A300395A93 /* Artwork.m */, + CBE3262F27E275A300395A93 /* Artist.h */, + CBE3263027E275A300395A93 /* PartnerShow.m */, + CBE3263127E275A300395A93 /* Partner.m */, + CBE3263227E275A300395A93 /* Location.m */, + CBE3263327E275A300395A93 /* Artist.m */, + CBE3263427E275A300395A93 /* Artwork.h */, + CBE3263527E275A300395A93 /* PartnerShow.h */, + CBE3263627E275A300395A93 /* Location.h */, + CBE3263727E275A300395A93 /* Partner.h */, + ); + path = Partner_Metadata; + sourceTree = ""; + }; + CBE3263827E275A300395A93 /* Posts */ = { + isa = PBXGroup; + children = ( + CBE3263927E275A300395A93 /* Article.m */, + CBE3263A27E275A300395A93 /* Article.h */, + ); + path = Posts; + sourceTree = ""; + }; + CBE3263B27E275A300395A93 /* Favorites */ = { + isa = PBXGroup; + children = ( + CBE3263C27E275A300395A93 /* ARHeartStatus.h */, + ); + path = Favorites; + sourceTree = ""; + }; + CBE3263D27E275A300395A93 /* Artwork_Metadata */ = { + isa = PBXGroup; + children = ( + CBE3263E27E275A300395A93 /* AuctionLot.m */, + CBE3263F27E275A300395A93 /* Gene.h */, + CBE3264027E275A300395A93 /* Image.m */, + CBE3264127E275A300395A93 /* AuctionLot.h */, + CBE3264227E275A300395A93 /* Gene.m */, + CBE3264327E275A300395A93 /* Image.h */, + ); + path = Artwork_Metadata; + sourceTree = ""; + }; + CBE3264527E275A300395A93 /* Social */ = { + isa = PBXGroup; + children = ( + CBE3264627E275A300395A93 /* Profile.h */, + CBE3264727E275A300395A93 /* User.m */, + CBE3264827E275A300395A93 /* User.h */, + CBE3264927E275A300395A93 /* Profile.m */, + ); + path = Social; + sourceTree = ""; + }; + CBE3264A27E275A300395A93 /* Fair */ = { + isa = PBXGroup; + children = ( + CBE3264B27E275A300395A93 /* FairOrganizer.m */, + CBE3264C27E275A300395A93 /* Follow.m */, + CBE3264D27E275A300395A93 /* Fair.h */, + CBE3264E27E275A300395A93 /* FairOrganizer.h */, + CBE3264F27E275A300395A93 /* Follow.h */, + CBE3265027E275A300395A93 /* Fair.m */, + ); + path = Fair; + sourceTree = ""; + }; + CBE3265127E275A300395A93 /* Live */ = { + isa = PBXGroup; + children = ( + CBE3265227E275A300395A93 /* LiveSale.h */, + CBE3265327E275A300395A93 /* LiveEvent.m */, + CBE3265427E275A300395A93 /* LiveBidder.h */, + CBE3265527E275A300395A93 /* BidIncrementStrategy.h */, + CBE3265627E275A300395A93 /* SaleStatusType.swift */, + CBE3265727E275A300395A93 /* LiveEvent.h */, + CBE3265827E275A300395A93 /* LiveSale.m */, + CBE3265927E275A300395A93 /* BidIncrementStrategy.m */, + CBE3265A27E275A300395A93 /* LiveBidder.m */, + ); + path = Live; + sourceTree = ""; + }; + CBE3265B27E275A300395A93 /* Auctions */ = { + isa = PBXGroup; + children = ( + CBE3265C27E275A300395A93 /* Sale.m */, + CBE3265D27E275A300395A93 /* BuyersPremium.m */, + CBE3265E27E275A300395A93 /* SaleArtwork.m */, + CBE3265F27E275A300395A93 /* Bidder.h */, + CBE3266027E275A300395A93 /* BidderPosition.h */, + CBE3266127E275A300395A93 /* Bid.m */, + CBE3266227E275A300395A93 /* SaleArtwork.h */, + CBE3266327E275A300395A93 /* BuyersPremium.h */, + CBE3266427E275A300395A93 /* Sale.h */, + CBE3266527E275A300395A93 /* Bidder.m */, + CBE3266627E275A300395A93 /* BidderPosition.m */, + CBE3266727E275A300395A93 /* Bid.h */, + ); + path = Auctions; + sourceTree = ""; + }; + CBE3266827E275A300395A93 /* Application */ = { + isa = PBXGroup; + children = ( + CBE3266927E275A300395A93 /* SystemTime.m */, + CBE3266A27E275A300395A93 /* SystemTime.h */, + ); + path = Application; + sourceTree = ""; + }; + CBE3266C27E275A300395A93 /* Protocols */ = { + isa = PBXGroup; + children = ( + CBE3266D27E275A300395A93 /* ARHasImageBaseURL.h */, + CBE3266E27E275A300395A93 /* ARPostAttachment.h */, + ); + path = Protocols; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 13B07F861A680F5B00A75B9A /* Artsy */ = { + isa = PBXNativeTarget; + buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "Artsy" */; + buildPhases = ( + 26390072526D18F01CC42A6C /* [CP] Check Pods Manifest.lock */, + FD10A7F022414F080027D42C /* Start Packager */, + 13B07F871A680F5B00A75B9A /* Sources */, + 13B07F8C1A680F5B00A75B9A /* Frameworks */, + 13B07F8E1A680F5B00A75B9A /* Resources */, + 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */, + 54EE436FC81664CC0C6F0A54 /* [CP] Embed Pods Frameworks */, + E4875BC980DDBF81A3B3418A /* [CP] Copy Pods Resources */, + CB43266B27E8F39B00B29DD6 /* Embed App Extensions */, + ); + buildRules = ( + ); + dependencies = ( + CB43266927E8F39B00B29DD6 /* PBXTargetDependency */, + CB43267927E8F6F900B29DD6 /* PBXTargetDependency */, + CB43269127E8FA6B00B29DD6 /* PBXTargetDependency */, + ); + name = Artsy; + productName = eigen; + productReference = 13B07F961A680F5B00A75B9A /* Artsy.app */; + productType = "com.apple.product-type.application"; + }; + CB43266227E8F39900B29DD6 /* ArtsyStickers */ = { + isa = PBXNativeTarget; + buildConfigurationList = CB43266E27E8F39B00B29DD6 /* Build configuration list for PBXNativeTarget "ArtsyStickers" */; + buildPhases = ( + CB43266127E8F39900B29DD6 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = ArtsyStickers; + productName = "Artsy Stickers"; + productReference = CB43266327E8F39900B29DD6 /* ArtsyStickers.appex */; + productType = "com.apple.product-type.app-extension.messages-sticker-pack"; + }; + CB43267227E8F6F900B29DD6 /* BrazePushServiceExtension */ = { + isa = PBXNativeTarget; + buildConfigurationList = CB43267D27E8F6F900B29DD6 /* Build configuration list for PBXNativeTarget "BrazePushServiceExtension" */; + buildPhases = ( + CB43266F27E8F6F900B29DD6 /* Sources */, + CB43267027E8F6F900B29DD6 /* Frameworks */, + CB43267127E8F6F900B29DD6 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = BrazePushServiceExtension; + productName = BrazePushServiceExtension; + productReference = CB43267327E8F6F900B29DD6 /* BrazePushServiceExtension.appex */; + productType = "com.apple.product-type.app-extension"; + }; + CB43268127E8FA6900B29DD6 /* ArtsyWidgetExtension */ = { + isa = PBXNativeTarget; + buildConfigurationList = CB43269327E8FA6B00B29DD6 /* Build configuration list for PBXNativeTarget "ArtsyWidgetExtension" */; + buildPhases = ( + CB43267E27E8FA6900B29DD6 /* Sources */, + CB43267F27E8FA6900B29DD6 /* Frameworks */, + CB43268027E8FA6900B29DD6 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = ArtsyWidgetExtension; + productName = ArtsyWidgetExtension; + productReference = CB43268227E8FA6900B29DD6 /* ArtsyWidgetExtension.appex */; + productType = "com.apple.product-type.app-extension"; + }; + CB43271B27E8FE5400B29DD6 /* ArtsyTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = CB43272227E8FE5400B29DD6 /* Build configuration list for PBXNativeTarget "ArtsyTests" */; + buildPhases = ( + C43DDB41B4350A3E0D09B275 /* [CP] Check Pods Manifest.lock */, + CB43271827E8FE5400B29DD6 /* Sources */, + CB43271927E8FE5400B29DD6 /* Frameworks */, + CB43271A27E8FE5400B29DD6 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + CB43272127E8FE5400B29DD6 /* PBXTargetDependency */, + ); + name = ArtsyTests; + productName = Artsy_Tests; + productReference = CB43271C27E8FE5400B29DD6 /* ArtsyTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 83CBB9F71A601CBA00E9B192 /* Project object */ = { + isa = PBXProject; + attributes = { + LastSwiftUpdateCheck = 1320; + LastUpgradeCheck = 1210; + TargetAttributes = { + 13B07F861A680F5B00A75B9A = { + LastSwiftMigration = 1120; + }; + CB43266227E8F39900B29DD6 = { + CreatedOnToolsVersion = 13.2.1; + }; + CB43267227E8F6F900B29DD6 = { + CreatedOnToolsVersion = 13.2.1; + }; + CB43268127E8FA6900B29DD6 = { + CreatedOnToolsVersion = 13.2.1; + DevelopmentTeam = 23KMWZ572J; + }; + CB43271B27E8FE5400B29DD6 = { + CreatedOnToolsVersion = 13.2.1; + TestTargetID = 13B07F861A680F5B00A75B9A; + }; + }; + }; + buildConfigurationList = 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "Artsy" */; + compatibilityVersion = "Xcode 12.0"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 83CBB9F61A601CBA00E9B192; + productRefGroup = 83CBBA001A601CBA00E9B192 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 13B07F861A680F5B00A75B9A /* Artsy */, + CB43266227E8F39900B29DD6 /* ArtsyStickers */, + CB43267227E8F6F900B29DD6 /* BrazePushServiceExtension */, + CB43268127E8FA6900B29DD6 /* ArtsyWidgetExtension */, + CB43271B27E8FE5400B29DD6 /* ArtsyTests */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 13B07F8E1A680F5B00A75B9A /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + CBE3272F27E275A400395A93 /* followButton@3x.png in Resources */, + CBE326B627E275A300395A93 /* LiveAuctions.storyboard in Resources */, + CBE326FB27E275A300395A93 /* live_auctions_socket.json in Resources */, + CBE3275D27E275A400395A93 /* CloseButtonLargeHighlighted@2x.png in Resources */, + CBE326F327E275A300395A93 /* ARVIRModalClose@3x.png in Resources */, + CBE3276B27E275A400395A93 /* navigation_more_arrow_horizontal@2x.png in Resources */, + CBE326F627E275A300395A93 /* ARVIRModalClose@2x.png in Resources */, + CBE3272D27E275A400395A93 /* ViewInRoom_Bench@2x.png in Resources */, + CBE3275227E275A400395A93 /* RefreshIcon@2x.png in Resources */, + CBE3274F27E275A400395A93 /* CircleXRed.png in Resources */, + CBE3276427E275A400395A93 /* followButtonChecked.png in Resources */, + CBE326F427E275A300395A93 /* ARVIRTick@2x.png in Resources */, + CBE3277F27E275A400395A93 /* static_sale_data.graphql in Resources */, + CBE3273D27E275A400395A93 /* FooterBackground@2x.png in Resources */, + CBE3275427E275A400395A93 /* Chevron_White_Left@2x.png in Resources */, + CBE3276227E275A400395A93 /* full_logo_black_large@2x.png in Resources */, + CBE3275827E275A400395A93 /* paddle@2x.png in Resources */, + CBE3272927E275A400395A93 /* ViewInRoom_Wall@2x.png in Resources */, + CB61B85427B585F00007922D /* GoogleService-Info.plist in Resources */, + CBE3273F27E275A400395A93 /* Hash@2x.png in Resources */, + CBE326B527E275A300395A93 /* LiveAuctionsAssets.xcassets in Resources */, + CBE3272727E275A400395A93 /* Images.xcassets in Resources */, + CBE3276627E275A400395A93 /* full_logo_black_small@2x.png in Resources */, + CBE3274627E275A400395A93 /* Track@2x.png in Resources */, + CBE3273127E275A400395A93 /* SmallMoreVerticalArrow@2x.png in Resources */, + CBE3274B27E275A400395A93 /* ARVIRPhone@3x.png in Resources */, + CBE3278727E275A400395A93 /* Launch Screen.xib in Resources */, + CBE3273B27E275A400395A93 /* ARVIRBack@2x.png in Resources */, + CBE3276727E275A400395A93 /* CircularInfoButton@2x.png in Resources */, + CBE3275A27E275A400395A93 /* Chevron_White_Left@3x.png in Resources */, + CBE3275127E275A400395A93 /* full_logo_white_medium@2x.png in Resources */, + CB43296527E91EAD00B29DD6 /* Assets.xcassets in Resources */, + CBE3272B27E275A400395A93 /* ViewInRoom_Wall_Right@2x.png in Resources */, + CBE3276027E275A400395A93 /* SearchButton.png in Resources */, + CBE3273827E275A400395A93 /* followButtonChecked@3x.png in Resources */, + CBE3275527E275A400395A93 /* Range@2x.png in Resources */, + CBE3274327E275A400395A93 /* full_logo_white_small@2x.png in Resources */, + CBE326F127E275A300395A93 /* ARVIRModalClose.png in Resources */, + CBE3272C27E275A400395A93 /* ViewInRoom_Base@2x.png in Resources */, + CBE3274127E275A400395A93 /* followButton@2x.png in Resources */, + CBE326F827E275A300395A93 /* ar_vir_opening_frame.jpg in Resources */, + CBE326D127E275A300395A93 /* live_auctions_static.json in Resources */, + CBE3273027E275A400395A93 /* SmallMoreVerticalArrow.png in Resources */, + CBE3274D27E275A400395A93 /* ARVIRRefresh@3x.png in Resources */, + CBE3273927E275A400395A93 /* followButtonChecked@2x.png in Resources */, + CBE3276A27E275A400395A93 /* CircleXRed@2x.png in Resources */, + CBE3274227E275A400395A93 /* paddle.png in Resources */, + CBE3273C27E275A400395A93 /* AttentionIcon@2x.png in Resources */, + CBE3275E27E275A400395A93 /* CircleXRed@3x.png in Resources */, + CBE3274827E275A400395A93 /* CircularInfoButton.png in Resources */, + CBE3274727E275A400395A93 /* BackChevron.png in Resources */, + CBE3272E27E275A400395A93 /* ViewInRoom_BaseNoBench@2x.png in Resources */, + CBE3273727E275A400395A93 /* navigation_more_arrow_vertical@2x.png in Resources */, + CBE3275327E275A400395A93 /* CircleCheckGreen@2x.png in Resources */, + CBE326EB27E275A300395A93 /* ARSignUpActiveUserViewController.xib in Resources */, + CBE3275727E275A400395A93 /* paddle@3x.png in Resources */, + CBE3274E27E275A400395A93 /* CloseButtonLarge@2x.png in Resources */, + CBE3278527E275A400395A93 /* InfoPlist.strings in Resources */, + CBE326F527E275A300395A93 /* ARVIRTick@3x.png in Resources */, + CBE3275F27E275A400395A93 /* BackChevron@2x.png in Resources */, + CBE3275627E275A400395A93 /* Thumb@2x.png in Resources */, + CBE3274927E275A400395A93 /* CircularCancelButton@2x.png in Resources */, + CBE3274527E275A400395A93 /* AuctionRefineCheck@2x.png in Resources */, + CBE3272827E275A400395A93 /* MapAnnotation_Artsy@2x.png in Resources */, + CBE3274427E275A400395A93 /* ARVIRPhone@2x.png in Resources */, + CBE3273627E275A400395A93 /* Hash.png in Resources */, + CBE3276527E275A400395A93 /* full_logo_black_medium@2x.png in Resources */, + CBE3273427E275A400395A93 /* MoreArrow@2x.png in Resources */, + CBE3269F27E275A300395A93 /* EchoNew.json in Resources */, + CBE3274A27E275A400395A93 /* followButton.png in Resources */, + CBE3275C27E275A400395A93 /* ARVIRRefresh@2x.png in Resources */, + CBE326F727E275A300395A93 /* ARVIRShadow.png in Resources */, + CBE3275B27E275A400395A93 /* CircleCheckGreen@3x.png in Resources */, + CBE3273527E275A400395A93 /* ARVIRBack@3x.png in Resources */, + CBE3274C27E275A400395A93 /* full_logo_white_large@2x.png in Resources */, + CBE3272A27E275A400395A93 /* ViewInRoom_Man_3@2x.png in Resources */, + CBE3275927E275A400395A93 /* CircleCheckGreen.png in Resources */, + CBE3276127E275A400395A93 /* CircularCancelButton.png in Resources */, + CBE3276927E275A400395A93 /* BackChevron@3x.png in Resources */, + CBE3273E27E275A400395A93 /* serif_modal_close@2x.png in Resources */, + CBE3273227E275A400395A93 /* SearchButton@3x.png in Resources */, + CBE3276827E275A400395A93 /* Thumb.png in Resources */, + CBE3274027E275A400395A93 /* SearchButton@2x.png in Resources */, + CBE3273327E275A400395A93 /* Hash@3x.png in Resources */, + CBE3273A27E275A400395A93 /* AuctionRefineCheck.png in Resources */, + CBE3275027E275A400395A93 /* Artsy_Logo.png in Resources */, + CBE3276327E275A400395A93 /* BackArrow_Highlighted@2x.png in Resources */, + CBE326F227E275A300395A93 /* ARVIRTick.png in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + CB43266127E8F39900B29DD6 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + CB43266627E8F39B00B29DD6 /* Stickers.xcassets in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + CB43267127E8F6F900B29DD6 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + CB43268027E8FA6900B29DD6 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + CB43268C27E8FA6B00B29DD6 /* Assets.xcassets in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + CB43271A27E8FE5400B29DD6 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + CB43299E27FE0DB100B29DD6 /* InfoPlist.strings in Resources */, + CB43299D27FE0D9000B29DD6 /* CloseButtonLargeHighlighted@2x.png in Resources */, + CB43299C27FE0D7F00B29DD6 /* stubbed_image.png in Resources */, + CB43296C27EA28DE00B29DD6 /* LiveAuctionsAssets.xcassets in Resources */, + CB43296A27EA285800B29DD6 /* User_v1.data in Resources */, + CB43296B27EA285800B29DD6 /* User_v0.data in Resources */, + CB43296927EA27FA00B29DD6 /* live_auctions_static.json in Resources */, + CB43296827EA27C400B29DD6 /* Artwork_v0.data in Resources */, + CB43296727EA27AD00B29DD6 /* Artwork_v1.data in Resources */, + CB43296627EA275700B29DD6 /* greyscaleImage.jpg in Resources */, + CB43296427E91DFE00B29DD6 /* stub.jpg in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "", + ); + name = "Bundle React Native code and images"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "set -e\n\nexport NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh\n"; + }; + 26390072526D18F01CC42A6C /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Artsy-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + 54EE436FC81664CC0C6F0A54 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Artsy/Pods-Artsy-frameworks-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Artsy/Pods-Artsy-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Artsy/Pods-Artsy-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + C43DDB41B4350A3E0D09B275 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-ArtsyTests-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + E4875BC980DDBF81A3B3418A /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Artsy/Pods-Artsy-resources-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Copy Pods Resources"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Artsy/Pods-Artsy-resources-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Artsy/Pods-Artsy-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; + FD10A7F022414F080027D42C /* Start Packager */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + name = "Start Packager"; + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "export RCT_METRO_PORT=\"${RCT_METRO_PORT:=8081}\"\necho \"export RCT_METRO_PORT=${RCT_METRO_PORT}\" > \"${SRCROOT}/../node_modules/react-native/scripts/.packager.env\"\nif [ -z \"${RCT_NO_LAUNCH_PACKAGER+xxx}\" ] ; then\n if nc -w 5 -z localhost ${RCT_METRO_PORT} ; then\n if ! curl -s \"http://localhost:${RCT_METRO_PORT}/status\" | grep -q \"packager-status:running\" ; then\n echo \"Port ${RCT_METRO_PORT} already in use, packager is either not running or not running correctly\"\n exit 2\n fi\n else\n open \"$SRCROOT/../node_modules/react-native/scripts/launchPackager.command\" || echo \"Can't start packager automatically\"\n fi\nfi\n"; + showEnvVarsInLog = 0; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 13B07F871A680F5B00A75B9A /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + CBE3279227E275A400395A93 /* User.m in Sources */, + CBE3211D27D9615000395A93 /* ARTCityGuideViewManager.m in Sources */, + CBE3277927E275A400395A93 /* ArtsyAPI+Notifications.m in Sources */, + CBE3268327E275A300395A93 /* UIViewController+WithLoadedData.m in Sources */, + CBE3267327E275A300395A93 /* Int+Metrification.swift in Sources */, + CBE326CE27E275A300395A93 /* LiveAuctionBidButton.swift in Sources */, + CBE326DE27E275A300395A93 /* UIViewController+InnermostTopViewController.m in Sources */, + CBE326DD27E275A300395A93 /* ARURLItemProvider.m in Sources */, + CBE326E727E275A300395A93 /* ARHTTPRequestOperationLogger.m in Sources */, + CBE326E827E275A300395A93 /* ARLogger.m in Sources */, + CBE3278D27E275A400395A93 /* Article.m in Sources */, + CBE3277827E275A400395A93 /* ArtsyAPI+Profiles.m in Sources */, + CBE326F027E275A300395A93 /* ARVIRHorizontalPlaneInteractionController.m in Sources */, + CBE3276E27E275A400395A93 /* StarscreamExtensions.swift in Sources */, + CBE3279627E275A400395A93 /* Fair.m in Sources */, + CBE326D827E275A300395A93 /* UIViewController+BlurredStatusView.swift in Sources */, + CBE3270427E275A300395A93 /* LiveAuctionCurrentLotCTAPositionManager.swift in Sources */, + CBE326B827E275A300395A93 /* LiveAuctionSaleViewController.swift in Sources */, + CBE326CA27E275A300395A93 /* SaleOnHoldOverlayView.swift in Sources */, + CBE3267127E275A300395A93 /* UITableViewController+Animations.swift in Sources */, + CBE3270627E275A300395A93 /* AREigenMapContainerViewController.m in Sources */, + CBE3279B27E275A400395A93 /* LiveBidder.m in Sources */, + CBE3278827E275A400395A93 /* Artwork.m in Sources */, + CBE3268827E275A300395A93 /* Interstellar+Artsy.swift in Sources */, + CBE3269A27E275A300395A93 /* main.m in Sources */, + CBE326AE27E275A300395A93 /* LiveAuctionLotListViewController.swift in Sources */, + CBE3270727E275A300395A93 /* ARSerifNavigationViewController.m in Sources */, + CBE326FA27E275A300395A93 /* ARInformationView.m in Sources */, + CBE3271F27E275A300395A93 /* Stringify.swift in Sources */, + CBE326DA27E275A300395A93 /* ARMessageItemProvider.m in Sources */, + CBE3278F27E275A400395A93 /* Image.m in Sources */, + CBE326D527E275A300395A93 /* RefinementOptionsViewController+Private.swift in Sources */, + CBE326BD27E275A300395A93 /* LiveAuctionBidHistoryViewController.swift in Sources */, + CBE3267627E275A300395A93 /* NSAttributedString+Additions.swift in Sources */, + CBE326ED27E275A300395A93 /* SCNArtworkNode.m in Sources */, + CBE3211C27D9615000395A93 /* OldAdminView.swift in Sources */, + CBE3278927E275A400395A93 /* PartnerShow.m in Sources */, + CBE3269927E275A300395A93 /* SwiftExtensions.swift in Sources */, + CBE3271227E275A300395A93 /* AuctionColors.swift in Sources */, + CBE326AC27E275A300395A93 /* LiveAuctionSalesPerson.swift in Sources */, + CBE326AF27E275A300395A93 /* LiveAuctionLoadingView.swift in Sources */, + CBE326E127E275A300395A93 /* ARFileUtils.m in Sources */, + CBE3269727E275A300395A93 /* ARApplicationShortcutItemDelegate.m in Sources */, + CBE326E627E275A300395A93 /* UIApplicationStateEnum.m in Sources */, + CBE3270E27E275A300395A93 /* AuctionTitleView.swift in Sources */, + CBE326C027E275A300395A93 /* LiveAuctionsAdminViewController.swift in Sources */, + CBE3278C27E275A400395A93 /* Artist.m in Sources */, + CBE3277627E275A400395A93 /* ArtsyAPI+Following.m in Sources */, + CBE326C927E275A300395A93 /* LiveAuctionLotCollectionViewLayoutAttributes.swift in Sources */, + CBE3268427E275A300395A93 /* UIView+OldSchoolSnapshots.m in Sources */, + CBE3270227E275A300395A93 /* ARAnimatedTickView.m in Sources */, + CBE3272527E275A400395A93 /* ARTNativeScreenPresenterModule.m in Sources */, + CBE326D927E275A300395A93 /* ARScrollNavigationChief.m in Sources */, + CBE3277E27E275A400395A93 /* ArtsyAPI+RelatedModels.m in Sources */, + CBE3278427E275A400395A93 /* ARSystemTime.m in Sources */, + CBE326CF27E275A300395A93 /* LiveAuctionPlaceMaxBidViewController.swift in Sources */, + CBE3269327E275A300395A93 /* ARAppStatus.m in Sources */, + CBE326AB27E275A300395A93 /* LiveAuctionLotViewModel.swift in Sources */, + CBE326D027E275A300395A93 /* SerifModalWebNavigationController.swift in Sources */, + CBE3269D27E275A300395A93 /* ARAppDelegate+Emission.m in Sources */, + CBE326A227E275A300395A93 /* ARNavigationTransitionController.m in Sources */, + CBE326B127E275A300395A93 /* LiveAuctionViewController.swift in Sources */, + CBE3267C27E275A300395A93 /* UIImage+ImageFromColor.m in Sources */, + CBE3266F27E275A300395A93 /* ARAppConstants.m in Sources */, + CBE326B427E275A300395A93 /* LiveAuctionStaticDataFetcher+Stubs.swift in Sources */, + CBE3267827E275A300395A93 /* UIView+ScrollToTop.m in Sources */, + CBE3277327E275A400395A93 /* ArtsyAPI+Pages.m in Sources */, + CBE326FD27E275A300395A93 /* ARAdminSettingsViewController.m in Sources */, + CBE326C827E275A300395A93 /* LiveAuctionBiddingViewModel.swift in Sources */, + CBE3267027E275A300395A93 /* ARDefaults.m in Sources */, + CBE3268227E275A300395A93 /* NSDate+DateRange.m in Sources */, + CBE326B927E275A300395A93 /* LiveAuctionStateManager.swift in Sources */, + CBE326A927E275A300395A93 /* LiveAuctionViewModel.swift in Sources */, + CBE326A727E275A300395A93 /* ARInternalShareValidator.m in Sources */, + CBE3268027E275A300395A93 /* NSKeyedUnarchiver+ErrorLogging.m in Sources */, + CBE3271727E275A300395A93 /* AROfflineView.m in Sources */, + CBE3271B27E275A300395A93 /* ARTextView.m in Sources */, + CBE3272627E275A400395A93 /* CityGuideView.swift in Sources */, + CBE326CD27E275A300395A93 /* LiveAuctionLotImageCollectionViewCell.swift in Sources */, + CBE326D327E275A300395A93 /* AuctionInformationViewController.swift in Sources */, + CBE326C727E275A300395A93 /* SimpleProgressView.swift in Sources */, + CBE3271427E275A300395A93 /* ARCustomEigenLabels.m in Sources */, + CBE326C427E275A300395A93 /* LiveAuctionFancyLotCollectionViewLayout.swift in Sources */, + CBE3276D27E275A400395A93 /* MTLModel+JSON.m in Sources */, + CBE3270027E275A300395A93 /* ARAdminTableViewCell.m in Sources */, + CBE326CC27E275A300395A93 /* SaleStatusView.swift in Sources */, + CBE326B027E275A300395A93 /* LiveAuctionStaticDataFetcher.swift in Sources */, + CBE3267727E275A300395A93 /* UIImageView+AsyncImageLoading.m in Sources */, + CBE3271D27E275A300395A93 /* ARNotificationView.m in Sources */, + CBE3276C27E275A400395A93 /* MTLModel+Dictionary.m in Sources */, + CBE326E427E275A300395A93 /* ARNetworkErrorManager.m in Sources */, + CBE326A027E275A300395A93 /* ARUserActivity.m in Sources */, + CBE326F927E275A300395A93 /* ARAugmentedRealityConfig.m in Sources */, + CBE3279527E275A400395A93 /* Follow.m in Sources */, + CBE3267527E275A300395A93 /* UIView+HitTestExpansion.m in Sources */, + CBE3278327E275A400395A93 /* ARReactPackagerHost.m in Sources */, + CBE326CB27E275A300395A93 /* LiveAuctionToolbarView.swift in Sources */, + CBE3270B27E275A300395A93 /* ARWebViewCacheHost.m in Sources */, + CBE3279E27E275A400395A93 /* SaleArtwork.m in Sources */, + CBE3270127E275A300395A93 /* ARTickedTableViewCell.m in Sources */, + CBE326E527E275A300395A93 /* ARFeedImageLoader.m in Sources */, + CBE3271927E275A300395A93 /* ARNvagiationButton+Swift.swift in Sources */, + CBE326C627E275A300395A93 /* LiveAuctionLotCollectionViewLayoutType.swift in Sources */, + CBE326C327E275A300395A93 /* LiveAuctionCurrentLotView.swift in Sources */, + CBE327A027E275A400395A93 /* Bidder.m in Sources */, + CBE3278127E275A400395A93 /* ARRouter.m in Sources */, + CBE3269827E275A300395A93 /* ARAppDelegate.m in Sources */, + CBE3279427E275A400395A93 /* FairOrganizer.m in Sources */, + CBE326E927E275A300395A93 /* ARLogFormatter.m in Sources */, + CBE3278A27E275A400395A93 /* Partner.m in Sources */, + CBE3279827E275A400395A93 /* SaleStatusType.swift in Sources */, + CBE3271827E275A300395A93 /* ARBidButton.m in Sources */, + CBE3267B27E275A300395A93 /* UIViewController+ARUserActivity.m in Sources */, + CBE326BF27E275A300395A93 /* LiveAuctionLotListStickyCellCollectionViewLayout.swift in Sources */, + CBE326A127E275A300395A93 /* ARDefaultNavigationTransition.m in Sources */, + CBE3279D27E275A400395A93 /* BuyersPremium.m in Sources */, + CBE3270D27E275A300395A93 /* SaleViewModel.swift in Sources */, + CBE3271C27E275A300395A93 /* RefinableType.swift in Sources */, + CBE327A227E275A400395A93 /* SystemTime.m in Sources */, + CBE3269B27E275A300395A93 /* ARAppDelegate+Echo.m in Sources */, + CBE3212027D9615000395A93 /* ARTOldAdminViewManager.m in Sources */, + CBE3279F27E275A400395A93 /* Bid.m in Sources */, + CBE3277127E275A400395A93 /* ArtsyAPI.m in Sources */, + CBE3267227E275A300395A93 /* NSString+StringBetweenStrings.m in Sources */, + CBE326FE27E275A300395A93 /* ARAdminNetworkModel.m in Sources */, + CBE326A427E275A300395A93 /* ARNavigationButtonsViewController.m in Sources */, + CBE326D427E275A300395A93 /* RefinementOptionsViewController.swift in Sources */, + CBE3267E27E275A300395A93 /* NSArray+Additions.m in Sources */, + CBE326E327E275A300395A93 /* ARValueTransformer.m in Sources */, + CBE326A627E275A300395A93 /* ARInternalMobileWebViewController.m in Sources */, + 1A550F0E282AE4D300126D22 /* ARAuctionWebViewController.m in Sources */, + CBE326EE27E275A300395A93 /* ARAugmentedFloorBasedVIRViewController.m in Sources */, + CBE326C527E275A300395A93 /* LiveBidProgressOverlayView.swift in Sources */, + CBE3279027E275A400395A93 /* Gene.m in Sources */, + CBE3276F27E275A400395A93 /* LiveAuctionSocketCommunicator.swift in Sources */, + CBE3270F27E275A300395A93 /* SaleAuctionStatus.swift in Sources */, + CBE3269E27E275A300395A93 /* AROptions.m in Sources */, + CBE3211E27D9615000395A93 /* ARTLiveAuctionViewManager.m in Sources */, + CBE326B327E275A300395A93 /* LotListCollectionViewCell.swift in Sources */, + CBE327A127E275A400395A93 /* BidderPosition.m in Sources */, + CBE326DF27E275A300395A93 /* ARStandardDateFormatter.m in Sources */, + CBE3279927E275A400395A93 /* LiveSale.m in Sources */, + CBE326A327E275A300395A93 /* ARNavigationTransition.m in Sources */, + CBE3267D27E275A300395A93 /* UIViewController+Popovers.m in Sources */, + CBE3277227E275A400395A93 /* ArtsyAPI+HEAD.m in Sources */, + CBE326AD27E275A300395A93 /* LiveAuctionLotViewController.swift in Sources */, + CBE326C227E275A300395A93 /* LiveAuctionLotCollectionViewDataSource.swift in Sources */, + CBE3279A27E275A400395A93 /* BidIncrementStrategy.m in Sources */, + CBE3270827E275A300395A93 /* StoryboardConstants.swift in Sources */, + CBE326BC27E275A300395A93 /* LotListCollectionViewCell+Private.swift in Sources */, + CBE3271A27E275A300395A93 /* ARNavigationButton.m in Sources */, + CBE3211F27D9615000395A93 /* LiveAuctionView.swift in Sources */, + CBE3277727E275A400395A93 /* ArtsyAPI+SystemTime.m in Sources */, + CBE3268527E275A300395A93 /* UIViewController+FullScreenLoading.m in Sources */, + CBE326EF27E275A300395A93 /* ARAugmentedVIRSetupViewController.m in Sources */, + CBE3267F27E275A300395A93 /* UIViewController+Traits.swift in Sources */, + CBE3270C27E275A300395A93 /* ARCountdownView.m in Sources */, + CBE326A527E275A300395A93 /* ARExternalWebBrowserViewController.m in Sources */, + CBE326DC27E275A300395A93 /* ARImageItemProvider.m in Sources */, + CBE3267427E275A300395A93 /* UIDevice-Hardware.m in Sources */, + CBE3279327E275A400395A93 /* Profile.m in Sources */, + CBE326EA27E275A300395A93 /* ARTwoWayDictionaryTransformer.m in Sources */, + CBE3278027E275A400395A93 /* ARNetworkConstants.m in Sources */, + CBE326D727E275A300395A93 /* ARViewInRoomViewController.m in Sources */, + CBE3271027E275A300395A93 /* SaleArtworkViewModel.swift in Sources */, + CBE3277B27E275A400395A93 /* ArtsyAPI+CurrentUserFunctions.m in Sources */, + CBE3278B27E275A400395A93 /* Location.m in Sources */, + CBE326BA27E275A300395A93 /* LiveAuctionBidViewModel.swift in Sources */, + CBE3268927E275A300395A93 /* AFHTTPRequestOperation+JSON.m in Sources */, + CBE3279C27E275A400395A93 /* Sale.m in Sources */, + CBE3279727E275A400395A93 /* LiveEvent.m in Sources */, + CBE3278E27E275A400395A93 /* AuctionLot.m in Sources */, + CBE326FF27E275A300395A93 /* ARAdminTableViewController.m in Sources */, + CBE3277027E275A400395A93 /* ARAuthProviders.m in Sources */, + CBE3277D27E275A400395A93 /* ARUserManager.m in Sources */, + CBE3269127E275A300395A93 /* ARAppActivityContinuationDelegate.m in Sources */, + CBE326BE27E275A300395A93 /* LiveAuctionLotBidHistoryGestureController.swift in Sources */, + CBE3271627E275A300395A93 /* ARWhitespaceGobbler.m in Sources */, + CBE3268127E275A300395A93 /* UIViewController+SimpleChildren.m in Sources */, + CBE326EC27E275A300395A93 /* ARSCNWallNode.m in Sources */, + CBE3279127E275A400395A93 /* LiveAuctionLot.m in Sources */, + CBE3269027E275A300395A93 /* ARAppDelegate+Analytics.m in Sources */, + CBE3277427E275A400395A93 /* ArtsyAPI+ErrorHandlers.m in Sources */, + CBE326DB27E275A300395A93 /* ARSharingController.m in Sources */, + CBE326C127E275A300395A93 /* AuctionLotMetadataStackScrollView.swift in Sources */, + CBE3268627E275A300395A93 /* PanDirectionGestureRecognizer.swift in Sources */, + CBE3269227E275A300395A93 /* ARAppNotificationsDelegate.m in Sources */, + CBE3271E27E275A300395A93 /* AuctionCircularButtons.swift in Sources */, + CBE3277527E275A400395A93 /* ARKeychainable.m in Sources */, + CBE3270527E275A300395A93 /* LiveAuctionPlainLotCollectionViewLayout.swift in Sources */, + CBE3269427E275A300395A93 /* ARAnalyticsConstants.m in Sources */, + CBE3270927E275A300395A93 /* StoryboardImages.swift in Sources */, + CBE326E027E275A300395A93 /* ARBackButton.m in Sources */, + CBE3268727E275A300395A93 /* ORStackView+ArtsyViews.m in Sources */, + CBE3269C27E275A300395A93 /* ARTArtsyNativeModule.m in Sources */, + CBE3271327E275A300395A93 /* ARReusableLoadingView.m in Sources */, + CBE326FC27E275A300395A93 /* AREchoContentsViewController.m in Sources */, + CBE3277C27E275A400395A93 /* ArtsyAPI+DeviceTokens.m in Sources */, + CBE326A827E275A300395A93 /* LiveAuctionSaleLotsDataSource.swift in Sources */, + CBE3270A27E275A300395A93 /* ARDispatchManager.m in Sources */, + CBE326AA27E275A300395A93 /* LiveAuctionEventViewModel.swift in Sources */, + CBE326B227E275A300395A93 /* LiveAuctionLotSetViewController.swift in Sources */, + CBE3269527E275A300395A93 /* ARModalViewController.m in Sources */, + CBE326D627E275A300395A93 /* AuctionSaleNetworkModel.swift in Sources */, + CBE3278227E275A400395A93 /* ARRouter+GraphQL.m in Sources */, + CBE326D227E275A300395A93 /* AuctionBiddersNetworkModel.swift in Sources */, + CBE3267927E275A300395A93 /* NSDate+Util.m in Sources */, + CBE326E227E275A300395A93 /* ARNavigationController.m in Sources */, + CBE3271527E275A300395A93 /* ARSeparatorViews.m in Sources */, + CBE3277A27E275A400395A93 /* ArtsyAPI+Sales.m in Sources */, + CBE3267A27E275A300395A93 /* UILabel+Styling.swift in Sources */, + CBE3271127E275A300395A93 /* TextStack.swift in Sources */, + CBE3269627E275A300395A93 /* ArtsyEcho.m in Sources */, + CBE326BB27E275A300395A93 /* LiveActionStateReconciler.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + CB43266F27E8F6F900B29DD6 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + CB43267627E8F6F900B29DD6 /* NotificationService.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + CB43267E27E8FA6900B29DD6 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + CB43271227E8FC1F00B29DD6 /* ArtworkStore.swift in Sources */, + CB4326EF27E8FBEF00B29DD6 /* ArtsyWidgets.swift in Sources */, + CB4326F627E8FC0200B29DD6 /* FeaturedArtworks+Timeline.swift in Sources */, + CB43271327E8FC2900B29DD6 /* WidgetUrl.swift in Sources */, + CB43270327E8FC1600B29DD6 /* LatestArticles+SmallView.swift in Sources */, + CB43270827E8FC1600B29DD6 /* LatestArticles+Widget.swift in Sources */, + CB43270727E8FC1600B29DD6 /* LatestArticles+Provider.swift in Sources */, + CB4326F827E8FC0200B29DD6 /* FeaturedArtworks+MediumView.swift in Sources */, + CB4326FC27E8FC0D00B29DD6 /* FullBleed.swift in Sources */, + CB43270127E8FC1600B29DD6 /* LatestArticles+View.swift in Sources */, + CB4326FE27E8FC0D00B29DD6 /* FullBleed+Timeline.swift in Sources */, + CB4326F127E8FC0200B29DD6 /* FeaturedArtworks+Provider.swift in Sources */, + CB43270C27E8FC1F00B29DD6 /* Artwork.swift in Sources */, + CB4326FA27E8FC0D00B29DD6 /* FullBleed+Entry.swift in Sources */, + CB43270A27E8FC1F00B29DD6 /* VolleyClient.swift in Sources */, + CB43271127E8FC1F00B29DD6 /* Artist.swift in Sources */, + CB43270B27E8FC1F00B29DD6 /* VolleyPayload.swift in Sources */, + CB43271027E8FC1F00B29DD6 /* Article.swift in Sources */, + CB43271527E8FC2900B29DD6 /* ImageUrl.swift in Sources */, + CB43270027E8FC1600B29DD6 /* LatestArticles+MediumView.swift in Sources */, + CB43271427E8FC2900B29DD6 /* SecondaryText.swift in Sources */, + CB4326F227E8FC0200B29DD6 /* FeaturedArtworks.swift in Sources */, + CB43270227E8FC1600B29DD6 /* LatestArticles+Timeline.swift in Sources */, + CB4326F427E8FC0200B29DD6 /* FeaturedArtworks+Entry.swift in Sources */, + CB43270427E8FC1600B29DD6 /* LatestArticles.swift in Sources */, + CB43270927E8FC1F00B29DD6 /* ArticleParser.swift in Sources */, + CB43270627E8FC1600B29DD6 /* LatestArticles+LargeView.swift in Sources */, + CB4326FF27E8FC0D00B29DD6 /* FullBleed+Provider.swift in Sources */, + CB43270527E8FC1600B29DD6 /* LatestArticles+Entry.swift in Sources */, + CB43271727E8FC2900B29DD6 /* PrimaryText.swift in Sources */, + CB4326F027E8FC0200B29DD6 /* FeaturedArtworks+View.swift in Sources */, + CB4326F927E8FC0600B29DD6 /* Fixtures.swift in Sources */, + CB43270D27E8FC1F00B29DD6 /* ArticleStore.swift in Sources */, + CB43270E27E8FC1F00B29DD6 /* ArtworkImage.swift in Sources */, + CB4326F527E8FC0200B29DD6 /* FeaturedArtworks+SmallView.swift in Sources */, + CB4326F727E8FC0200B29DD6 /* FeaturedArtworks+LargeView.swift in Sources */, + CB4326F327E8FC0200B29DD6 /* FeaturedArtworks+Widget.swift in Sources */, + CB43270F27E8FC1F00B29DD6 /* VolleyMetric.swift in Sources */, + CB4326FB27E8FC0D00B29DD6 /* FullBleed+Widget.swift in Sources */, + CB43271627E8FC2900B29DD6 /* Schedule.swift in Sources */, + CB4326FD27E8FC0D00B29DD6 /* FullBleed+View.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + CB43271827E8FE5400B29DD6 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + CB43286D27E8FEE500B29DD6 /* SaleArtworkViewModelTests.swift in Sources */, + CB43289827E8FEE500B29DD6 /* ProfileTests.m in Sources */, + CB43288E27E8FEE500B29DD6 /* ARBidButtonTests.m in Sources */, + CB43294E27E8FEE600B29DD6 /* ARSharingControllerTests.m in Sources */, + CB43296327E9104E00B29DD6 /* Article.swift in Sources */, + CB43289527E8FEE500B29DD6 /* ARAppNotificationsDelegateTests.m in Sources */, + CB4328AC27E8FEE500B29DD6 /* EXPMatcher+UINavigationController.m in Sources */, + CB4328A427E8FEE500B29DD6 /* UserTests.m in Sources */, + CB43295027E8FEE600B29DD6 /* UIApplicationStateEnumTests.m in Sources */, + CB4328BC27E8FEE500B29DD6 /* ArtsyAPI+SystemTimeTests.m in Sources */, + CB43288827E8FEE500B29DD6 /* LiveAuctionLotViewControllerTests.swift in Sources */, + CB43287727E8FEE500B29DD6 /* ARAugmentedRealityConfigSpec.m in Sources */, + CB43287A27E8FEE500B29DD6 /* LiveAuctionCurrentLotCTAPositionManagerTests.swift in Sources */, + CB43296027E90FD900B29DD6 /* Fixtures.swift in Sources */, + CB43287C27E8FEE500B29DD6 /* LiveAuctionLotBidHistoryGestureControllerTests.swift in Sources */, + CB43294F27E8FEE600B29DD6 /* ARURLItemProviderTests.m in Sources */, + CB43288227E8FEE500B29DD6 /* FakeSalesPerson.swift in Sources */, + CB4328AA27E8FEE500B29DD6 /* UIViewController+Testing.m in Sources */, + CB4328B327E8FEE500B29DD6 /* ARTestContext.m in Sources */, + CB4328A727E8FEE500B29DD6 /* ARTestImageCachingFunctions.swift in Sources */, + CB43296227E90FF300B29DD6 /* WidgetUrl.swift in Sources */, + CB4328A327E8FEE500B29DD6 /* SystemTimeTests.m in Sources */, + CB43295E27E90F7500B29DD6 /* Artist.swift in Sources */, + CB43286A27E8FEE500B29DD6 /* AuctionBiddersNetworkModel.swift in Sources */, + CB4328B927E8FEE500B29DD6 /* ArtsyAPI+ErrorHandlers.m in Sources */, + CB43288727E8FEE500B29DD6 /* LiveAuctionLotListViewControllerTests.swift in Sources */, + CB43287227E8FEE500B29DD6 /* ARNavigationControllerTests.m in Sources */, + CB43289E27E8FEE500B29DD6 /* ARImageTests.m in Sources */, + CB43286C27E8FEE500B29DD6 /* SaleViewModelTests.swift in Sources */, + CB43295127E8FEE600B29DD6 /* ARDefaultsTests.m in Sources */, + CB43288027E8FEE500B29DD6 /* BiddingIncrementSpecs.swift in Sources */, + CB4328B527E8FEE500B29DD6 /* LiveAuctionStaticDataFetcherSpec.swift in Sources */, + CB43287E27E8FEE500B29DD6 /* LiveAuctionBiddingViewModelTests.swift in Sources */, + CB43289A27E8FEE500B29DD6 /* ArtworkTests.m in Sources */, + CB4328A527E8FEE500B29DD6 /* ScheduleTests.swift in Sources */, + CB4328BF27E8FEE500B29DD6 /* AFHTTPRequestOperationJSONTests.m in Sources */, + CB43289927E8FEE500B29DD6 /* SaleTests.m in Sources */, + CB4328B627E8FEE500B29DD6 /* LiveAuctionStateReconcilerSpec.swift in Sources */, + CB4328A927E8FEE500B29DD6 /* OCMArg+ClassChecker.m in Sources */, + CB43287F27E8FEE500B29DD6 /* LiveAuctionFancyLotCollectionViewLayoutTests.swift in Sources */, + CB43288627E8FEE500B29DD6 /* LiveAuctionLotSetViewControllerTests.swift in Sources */, + CB43288D27E8FEE500B29DD6 /* NavigationButtonTests.swift in Sources */, + CB43289227E8FEE500B29DD6 /* ARAnimatedTickViewTest.m in Sources */, + CB43286927E8FEE500B29DD6 /* ARExternalWebBrowserViewControllerTests.m in Sources */, + CB43295527E8FEE600B29DD6 /* Bid+Extensions.m in Sources */, + CB43289D27E8FEE500B29DD6 /* FairTests.m in Sources */, + CB43288327E8FEE500B29DD6 /* LiveAuctionLoadingViewSpec.swift in Sources */, + CB4328A627E8FEE500B29DD6 /* ArtworkTests.swift in Sources */, + CB43288927E8FEE500B29DD6 /* LiveSalesPersonSpecs.swift in Sources */, + CB4328B027E8FEE500B29DD6 /* ARTestHelper.m in Sources */, + CB43294D27E8FEE600B29DD6 /* ARMessageItemProviderTests.m in Sources */, + CB43286827E8FEE500B29DD6 /* ARInternalShareValidatorTests.m in Sources */, + CB43288527E8FEE500B29DD6 /* LiveAuctionBidViewControllerTests.swift in Sources */, + CB43295727E8FEE600B29DD6 /* Show+Extensions.m in Sources */, + CB43295A27E8FEE600B29DD6 /* Artwork+Extensions.m in Sources */, + CB43288F27E8FEE500B29DD6 /* ORStackViewArtsyCategoriesTests.m in Sources */, + CB43295427E8FEE600B29DD6 /* ARUserManager+Stubs.m in Sources */, + CB43287527E8FEE500B29DD6 /* ARAugmentedVIRViewControllerSpec.m in Sources */, + CB43289427E8FEE500B29DD6 /* ARAppActivityContinuationDelegateTests.m in Sources */, + CB4328BA27E8FEE500B29DD6 /* ArtsyAPI+GraphQLTests.m in Sources */, + CB43289C27E8FEE500B29DD6 /* PartnerTests.m in Sources */, + CB43295327E8FEE600B29DD6 /* NSDate+RangeTests.m in Sources */, + CB43286F27E8FEE500B29DD6 /* AuctionLotMetadataStackScrollViewTests.swift in Sources */, + CB43295627E8FEE600B29DD6 /* SaleArtwork+Extensions.m in Sources */, + CB4328B727E8FEE500B29DD6 /* ARSystemTimeTests.m in Sources */, + CB43295C27E90BD000B29DD6 /* Schedule.swift in Sources */, + CB43287327E8FEE500B29DD6 /* ARValueTransformerTests.m in Sources */, + CB4328BB27E8FEE500B29DD6 /* ArtsyAPI+PrivateTests.m in Sources */, + CB43287427E8FEE500B29DD6 /* ARFileUtilsTests.m in Sources */, + CB43287B27E8FEE500B29DD6 /* SaleOnHoldOverlayViewTests.swift in Sources */, + CB4328BE27E8FEE500B29DD6 /* ARRouterTests.m in Sources */, + CB43286E27E8FEE500B29DD6 /* TextStackTests.swift in Sources */, + CB43287927E8FEE500B29DD6 /* ARSerifNavigationViewControllerSpec.m in Sources */, + CB43289027E8FEE500B29DD6 /* ARTextViewTests.m in Sources */, + CB43295D27E90E1300B29DD6 /* ArtworkImage.swift in Sources */, + CB43286B27E8FEE500B29DD6 /* AuctionInformationViewControllerTests.swift in Sources */, + CB43289627E8FEE500B29DD6 /* ARWebViewCacheHostSpec.m in Sources */, + CB4328B827E8FEE500B29DD6 /* ARUserManagerTests.m in Sources */, + CB43295B27E8FEE600B29DD6 /* Sale+Extensions.m in Sources */, + CB43295827E8FEE600B29DD6 /* OHHTTPStubs+Artsy.m in Sources */, + CB4328A827E8FEE500B29DD6 /* MutableNSURLResponse.m in Sources */, + CB43288C27E8FEE500B29DD6 /* ARNavigationButtonTests.m in Sources */, + CB43287627E8FEE500B29DD6 /* ARAugmentRealitySetupViewControllerSpec.m in Sources */, + CB43295227E8FEE600B29DD6 /* UINavigationController_InnermostTopViewControllerSpec.m in Sources */, + CB43289127E8FEE500B29DD6 /* ARCustomEigenLabelTests.m in Sources */, + CB43286727E8FEE500B29DD6 /* ARInternalMobileWebViewControllerTests.m in Sources */, + CB43288B27E8FEE500B29DD6 /* ARNavigationButtonsViewControllerTests.m in Sources */, + CB43294C27E8FEE600B29DD6 /* ARImageItemProviderTests.m in Sources */, + CB4328BD27E8FEE500B29DD6 /* LiveAuctionLotViewModelSpecs.swift in Sources */, + CB43295F27E90FA200B29DD6 /* Artwork.swift in Sources */, + CB43295927E8FEE600B29DD6 /* ArtsyOHHTTPAPI.m in Sources */, + CB43289B27E8FEE500B29DD6 /* SaleArtworkTests.m in Sources */, + CB4328B427E8FEE500B29DD6 /* LiveAuctionSocketCommunicatorSpec.swift in Sources */, + CB43288427E8FEE500B29DD6 /* LiveAuctionViewControllerTests.swift in Sources */, + CB43287027E8FEE500B29DD6 /* AuctionSaleNetworkModelTests.swift in Sources */, + CB4328AD27E8FEE500B29DD6 /* UIViewController+Tests.swift in Sources */, + CB4328AB27E8FEE500B29DD6 /* ARExpectaExtensions.m in Sources */, + CB43287D27E8FEE500B29DD6 /* LiveAuctionBidButtonTests.swift in Sources */, + CB43288127E8FEE500B29DD6 /* LiveAuctionLotListStickyCellCollectionViewLayoutTests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + CB43266927E8F39B00B29DD6 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = CB43266227E8F39900B29DD6 /* ArtsyStickers */; + targetProxy = CB43266827E8F39B00B29DD6 /* PBXContainerItemProxy */; + }; + CB43267927E8F6F900B29DD6 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = CB43267227E8F6F900B29DD6 /* BrazePushServiceExtension */; + targetProxy = CB43267827E8F6F900B29DD6 /* PBXContainerItemProxy */; + }; + CB43269127E8FA6B00B29DD6 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = CB43268127E8FA6900B29DD6 /* ArtsyWidgetExtension */; + targetProxy = CB43269027E8FA6B00B29DD6 /* PBXContainerItemProxy */; + }; + CB43272127E8FE5400B29DD6 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 13B07F861A680F5B00A75B9A /* Artsy */; + targetProxy = CB43272027E8FE5400B29DD6 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXVariantGroup section */ + CB43278427E8FEE400B29DD6 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + CB43278527E8FEE400B29DD6 /* en */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; + CBE3262127E275A200395A93 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + CBE3262227E275A200395A93 /* en */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 13B07F941A680F5B00A75B9A /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 775AB16F96387B70AABE4731 /* Pods-Artsy.debug.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ANALYZER_SECURITY_INSECUREAPI_RAND = YES; + CLANG_ENABLE_MODULES = YES; + CLANG_WARN_OBJC_IMPLICIT_ATOMIC_PROPERTIES = YES; + CODE_SIGN_ENTITLEMENTS = Artsy/App_Resources/Artsy.entitlements; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 2019.05.24.09; + DEVELOPMENT_TEAM = 23KMWZ572J; + ENABLE_BITCODE = NO; + GCC_PREPROCESSOR_DEFINITIONS = ( + "$(inherited)", + "COCOAPODS=1", + "$(inherited)", + "FBSDKCOCOAPODS=1", + "FB_SONARKIT_ENABLED=1", + "$(inherited)", + "PB_FIELD_32BIT=1", + "PB_NO_PACKED_STRUCTS=1", + "PB_ENABLE_MALLOC=1", + ); + GCC_WARN_MULTIPLE_DEFINITION_TYPES_FOR_SELECTOR = NO; + GCC_WARN_STRICT_SELECTOR_MATCH = NO; + GCC_WARN_UNDECLARED_SELECTOR = NO; + INFOPLIST_FILE = "Artsy/App_Resources/Artsy-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 12.1; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 6.7.7; + OTHER_LDFLAGS = ( + "$(inherited)", + "-ObjC", + "-lc++", + ); + PRODUCT_BUNDLE_IDENTIFIER = net.artsy.artsy; + PRODUCT_NAME = Artsy; + PROVISIONING_PROFILE_SPECIFIER = ""; + RUN_CLANG_STATIC_ANALYZER = YES; + SPRINGBOARD_DISPLAY_NAME = "Δrtsy"; + SWIFT_OBJC_BRIDGING_HEADER = "Artsy/Resources/Artsy-Bridging-Header.h"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_SWIFT3_OBJC_INFERENCE = Off; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + WARNING_CFLAGS = ( + "-Wno-unknown-warning-option", + "-Wobjc-missing-super-calls", + ); + }; + name = Debug; + }; + 13B07F951A680F5B00A75B9A /* Store */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = EFF09A4B2B02E257AE1E8A7D /* Pods-Artsy.store.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ANALYZER_SECURITY_INSECUREAPI_RAND = YES; + CLANG_ENABLE_MODULES = YES; + CLANG_WARN_OBJC_IMPLICIT_ATOMIC_PROPERTIES = YES; + CODE_SIGN_ENTITLEMENTS = Artsy/App_Resources/Artsy.Store.entitlements; + CODE_SIGN_IDENTITY = "iPhone Distribution"; + CODE_SIGN_STYLE = Manual; + CURRENT_PROJECT_VERSION = 2019.05.24.09; + DEVELOPMENT_TEAM = 23KMWZ572J; + ENABLE_BITCODE = NO; + GCC_PREPROCESSOR_DEFINITIONS = ( + "$(inherited)", + "COCOAPODS=1", + "$(inherited)", + "FBSDKCOCOAPODS=1", + "$(inherited)", + "PB_FIELD_32BIT=1", + "PB_NO_PACKED_STRUCTS=1", + "PB_ENABLE_MALLOC=1", + ); + GCC_WARN_MULTIPLE_DEFINITION_TYPES_FOR_SELECTOR = NO; + GCC_WARN_STRICT_SELECTOR_MATCH = NO; + GCC_WARN_UNDECLARED_SELECTOR = NO; + INFOPLIST_FILE = "Artsy/App_Resources/Artsy-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 12.1; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 6.7.7; + OTHER_LDFLAGS = ( + "$(inherited)", + "-ObjC", + "-lc++", + ); + PRODUCT_BUNDLE_IDENTIFIER = net.artsy.artsy; + PRODUCT_NAME = Artsy; + PROVISIONING_PROFILE_SPECIFIER = "match AppStore net.artsy.artsy"; + RUN_CLANG_STATIC_ANALYZER = YES; + SPRINGBOARD_DISPLAY_NAME = Artsy; + SWIFT_OBJC_BRIDGING_HEADER = "Artsy/Resources/Artsy-Bridging-Header.h"; + SWIFT_SWIFT3_OBJC_INFERENCE = Off; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + WARNING_CFLAGS = ( + "-Wno-unknown-warning-option", + "-Wobjc-missing-super-calls", + ); + }; + name = Store; + }; + 83CBBA201A601CBA00E9B192 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "arm64 "; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 12.1; + LD_RUNPATH_SEARCH_PATHS = ( + /usr/lib/swift, + "$(inherited)", + ); + LIBRARY_SEARCH_PATHS = ( + "\"$(SDKROOT)/usr/lib/swift\"", + "\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\"", + "\"$(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)\"", + "\"$(inherited)\"", + ); + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + OTHER_CFLAGS = ( + "-DAR_SHOW_ALL_DEBUG=1", + "-Werror=nonnull", + "-Werror=return-type", + ); + SDKROOT = iphoneos; + }; + name = Debug; + }; + 83CBBA211A601CBA00E9B192 /* Store */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = YES; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "arm64 "; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 12.1; + LD_RUNPATH_SEARCH_PATHS = ( + /usr/lib/swift, + "$(inherited)", + ); + LIBRARY_SEARCH_PATHS = ( + "\"$(SDKROOT)/usr/lib/swift\"", + "\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\"", + "\"$(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)\"", + "\"$(inherited)\"", + ); + MTL_ENABLE_DEBUG_INFO = NO; + OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; + SDKROOT = iphoneos; + VALIDATE_PRODUCT = YES; + }; + name = Store; + }; + CB43266C27E8F39B00B29DD6 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = "iMessage App Icon"; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++17"; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 2019.05.24.09; + DEBUG_INFORMATION_FORMAT = dwarf; + DEVELOPMENT_TEAM = 23KMWZ572J; + GCC_C_LANGUAGE_STANDARD = gnu11; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = ArtsyStickers/Info.plist; + INFOPLIST_KEY_CFBundleDisplayName = "Artsy Stickers"; + IPHONEOS_DEPLOYMENT_TARGET = 12.1; + MARKETING_VERSION = 6.7.7; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + PRODUCT_BUNDLE_IDENTIFIER = "net.artsy.artsy.Artsy-Stickers"; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SKIP_INSTALL = YES; + SWIFT_EMIT_LOC_STRINGS = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + CB43266D27E8F39B00B29DD6 /* Store */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = "iMessage App Icon"; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++17"; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_IDENTITY = "iPhone Distribution"; + CODE_SIGN_STYLE = Manual; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 2019.05.24.09; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_TEAM = 23KMWZ572J; + GCC_C_LANGUAGE_STANDARD = gnu11; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = ArtsyStickers/Info.plist; + INFOPLIST_KEY_CFBundleDisplayName = "Artsy Stickers"; + IPHONEOS_DEPLOYMENT_TARGET = 12.1; + MARKETING_VERSION = 6.7.7; + MTL_FAST_MATH = YES; + PRODUCT_BUNDLE_IDENTIFIER = "net.artsy.artsy.Artsy-Stickers"; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = "match AppStore net.artsy.artsy.Artsy-Stickers"; + SKIP_INSTALL = YES; + SWIFT_EMIT_LOC_STRINGS = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Store; + }; + CB43267B27E8F6F900B29DD6 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++17"; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = dwarf; + DEVELOPMENT_TEAM = 23KMWZ572J; + GCC_C_LANGUAGE_STANDARD = gnu11; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = BrazePushServiceExtension/Info.plist; + INFOPLIST_KEY_CFBundleDisplayName = BrazePushServiceExtension; + INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2022 Artsy. All rights reserved."; + IPHONEOS_DEPLOYMENT_TARGET = 15.2; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@executable_path/../../Frameworks", + ); + MARKETING_VERSION = 1.0; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + PRODUCT_BUNDLE_IDENTIFIER = net.artsy.artsy.BrazePushServiceExtension; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + CB43267C27E8F6F900B29DD6 /* Store */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++17"; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_IDENTITY = "iPhone Distribution"; + CODE_SIGN_STYLE = Manual; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_TEAM = 23KMWZ572J; + GCC_C_LANGUAGE_STANDARD = gnu11; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = BrazePushServiceExtension/Info.plist; + INFOPLIST_KEY_CFBundleDisplayName = BrazePushServiceExtension; + INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2022 Artsy. All rights reserved."; + IPHONEOS_DEPLOYMENT_TARGET = 15.2; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@executable_path/../../Frameworks", + ); + MARKETING_VERSION = 1.0; + MTL_FAST_MATH = YES; + PRODUCT_BUNDLE_IDENTIFIER = net.artsy.artsy.BrazePushServiceExtension; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = "match AppStore net.artsy.artsy.BrazePushServiceExtension"; + SKIP_INSTALL = YES; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Store; + }; + CB43269427E8FA6B00B29DD6 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + ASSETCATALOG_COMPILER_WIDGET_BACKGROUND_COLOR_NAME = WidgetBackground; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++17"; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = dwarf; + DEVELOPMENT_TEAM = ""; + GCC_C_LANGUAGE_STANDARD = gnu11; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = ArtsyWidget/Info.plist; + INFOPLIST_KEY_CFBundleDisplayName = ArtsyWidget; + INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2021 Artsy. All rights reserved."; + IPHONEOS_DEPLOYMENT_TARGET = 14.5; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@executable_path/../../Frameworks", + ); + MARKETING_VERSION = 1.0; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + PRODUCT_BUNDLE_IDENTIFIER = net.artsy.artsy.ArtsyWidget; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + CB43269527E8FA6B00B29DD6 /* Store */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + ASSETCATALOG_COMPILER_WIDGET_BACKGROUND_COLOR_NAME = WidgetBackground; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++17"; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_IDENTITY = "iPhone Distribution"; + CODE_SIGN_STYLE = Manual; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_TEAM = 23KMWZ572J; + GCC_C_LANGUAGE_STANDARD = gnu11; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = ArtsyWidget/Info.plist; + INFOPLIST_KEY_CFBundleDisplayName = ArtsyWidget; + INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2021 Artsy. All rights reserved."; + IPHONEOS_DEPLOYMENT_TARGET = 14.5; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@executable_path/../../Frameworks", + ); + MARKETING_VERSION = 1.0; + MTL_FAST_MATH = YES; + PRODUCT_BUNDLE_IDENTIFIER = net.artsy.artsy.ArtsyWidget; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = "match AppStore net.artsy.artsy.ArtsyWidget"; + SKIP_INSTALL = YES; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Store; + }; + CB43272327E8FE5400B29DD6 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 8DA7CA3A2D9A05D038AFAB1C /* Pods-ArtsyTests.debug.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++17"; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_IDENTITY = "Apple Development"; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = dwarf; + DEVELOPMENT_TEAM = 23KMWZ572J; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "ArtsyTests/Supporting_Files/Artsy_Tests-Prefix.pch"; + GCC_PREPROCESSOR_DEFINITIONS = ( + "$(inherited)", + "COCOAPODS=1", + "$(inherited)", + "FBSDKCOCOAPODS=1", + "FB_SONARKIT_ENABLED=1", + "$(inherited)", + "PB_FIELD_32BIT=1", + "PB_NO_PACKED_STRUCTS=1", + "FB_REFERENCE_IMAGE_DIR=\"TurkeyLegs\"", + "PB_ENABLE_MALLOC=1", + ); + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = "ArtsyTests/Supporting_Files/Artsy_Tests-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 12.1; + MARKETING_VERSION = 1.0; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + PRODUCT_BUNDLE_IDENTIFIER = "net.artsy.artsy.Artsy-Tests"; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + "PROVISIONING_PROFILE_SPECIFIER[sdk=macosx*]" = ""; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_EMIT_LOC_STRINGS = NO; + SWIFT_OBJC_BRIDGING_HEADER = "ArtsyTests/Supporting_Files/Artsy-Tests-Bridging-Header.h"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_SWIFT3_OBJC_INFERENCE = Default; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Artsy.app/Artsy"; + }; + name = Debug; + }; + CB43272427E8FE5400B29DD6 /* Store */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 9B51BBF7C1BD09CD9EA76699 /* Pods-ArtsyTests.store.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++17"; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_IDENTITY = "Apple Development"; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; + CODE_SIGN_STYLE = Automatic; + COPY_PHASE_STRIP = YES; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_TEAM = 23KMWZ572J; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "ArtsyTests/Supporting_Files/Artsy_Tests-Prefix.pch"; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = "ArtsyTests/Supporting_Files/Artsy_Tests-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 12.1; + MARKETING_VERSION = 1.0; + MTL_FAST_MATH = YES; + PRODUCT_BUNDLE_IDENTIFIER = "net.artsy.artsy.Artsy-Tests"; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + "PROVISIONING_PROFILE_SPECIFIER[sdk=macosx*]" = ""; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_EMIT_LOC_STRINGS = NO; + SWIFT_OBJC_BRIDGING_HEADER = "ArtsyTests/Supporting_Files/Artsy-Tests-Bridging-Header.h"; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_SWIFT3_OBJC_INFERENCE = Default; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Artsy.app/Artsy"; + VALIDATE_PRODUCT = NO; + }; + name = Store; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "Artsy" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 13B07F941A680F5B00A75B9A /* Debug */, + 13B07F951A680F5B00A75B9A /* Store */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "Artsy" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 83CBBA201A601CBA00E9B192 /* Debug */, + 83CBBA211A601CBA00E9B192 /* Store */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + CB43266E27E8F39B00B29DD6 /* Build configuration list for PBXNativeTarget "ArtsyStickers" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + CB43266C27E8F39B00B29DD6 /* Debug */, + CB43266D27E8F39B00B29DD6 /* Store */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + CB43267D27E8F6F900B29DD6 /* Build configuration list for PBXNativeTarget "BrazePushServiceExtension" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + CB43267B27E8F6F900B29DD6 /* Debug */, + CB43267C27E8F6F900B29DD6 /* Store */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + CB43269327E8FA6B00B29DD6 /* Build configuration list for PBXNativeTarget "ArtsyWidgetExtension" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + CB43269427E8FA6B00B29DD6 /* Debug */, + CB43269527E8FA6B00B29DD6 /* Store */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + CB43272227E8FE5400B29DD6 /* Build configuration list for PBXNativeTarget "ArtsyTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + CB43272327E8FE5400B29DD6 /* Debug */, + CB43272427E8FE5400B29DD6 /* Store */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; +/* End XCConfigurationList section */ + }; + rootObject = 83CBB9F71A601CBA00E9B192 /* Project object */; +} diff --git a/Artsy.xcodeproj/xcshareddata/xcschemes/Artsy (Release build).xcscheme b/ios/Artsy.xcodeproj/xcshareddata/xcschemes/Artsy (Release).xcscheme similarity index 65% rename from Artsy.xcodeproj/xcshareddata/xcschemes/Artsy (Release build).xcscheme rename to ios/Artsy.xcodeproj/xcshareddata/xcschemes/Artsy (Release).xcscheme index 78e3c1efc6c..4fd6e4d88aa 100644 --- a/Artsy.xcodeproj/xcshareddata/xcschemes/Artsy (Release build).xcscheme +++ b/ios/Artsy.xcodeproj/xcshareddata/xcschemes/Artsy (Release).xcscheme @@ -1,38 +1,20 @@ + LastUpgradeVersion = "1320" + version = "1.3"> - - - - - - - - - - @@ -44,20 +26,7 @@ buildConfiguration = "Store" selectedDebuggerIdentifier = "" selectedLauncherIdentifier = "Xcode.IDEFoundation.Launcher.PosixSpawn" - shouldUseLaunchSchemeArgsEnv = "NO"> - - - - - - - - + shouldUseLaunchSchemeArgsEnv = "YES"> @@ -75,7 +44,7 @@ runnableDebuggingMode = "0"> @@ -88,11 +57,6 @@ - - + + diff --git a/Artsy.xcodeproj/xcshareddata/xcschemes/Artsy.xcscheme b/ios/Artsy.xcodeproj/xcshareddata/xcschemes/Artsy.xcscheme similarity index 78% rename from Artsy.xcodeproj/xcshareddata/xcschemes/Artsy.xcscheme rename to ios/Artsy.xcodeproj/xcshareddata/xcschemes/Artsy.xcscheme index f0d98b06020..3e3a64e9b08 100644 --- a/Artsy.xcodeproj/xcshareddata/xcschemes/Artsy.xcscheme +++ b/ios/Artsy.xcodeproj/xcshareddata/xcschemes/Artsy.xcscheme @@ -10,11 +10,11 @@ ActionType = "Xcode.IDEStandardExecutionActionsCore.ExecutionActionType.ShellScriptAction"> + scriptText = "$PROJECT_DIR/../scripts/set_packager_host.sh "> @@ -32,7 +32,7 @@ buildForAnalyzing = "YES"> @@ -45,19 +45,10 @@ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv = "NO"> - - - - + isEnabled = "NO"> @@ -72,19 +63,11 @@ skipped = "NO"> - - - - - - @@ -102,7 +85,7 @@ runnableDebuggingMode = "0"> @@ -116,7 +99,7 @@ @@ -126,7 +109,7 @@ isEnabled = "NO"> @@ -142,7 +125,7 @@ runnableDebuggingMode = "0"> diff --git a/Artsy.xcodeproj/xcshareddata/xcschemes/Artsy Stickers.xcscheme b/ios/Artsy.xcodeproj/xcshareddata/xcschemes/ArtsyStickers.xcscheme similarity index 75% rename from Artsy.xcodeproj/xcshareddata/xcschemes/Artsy Stickers.xcscheme rename to ios/Artsy.xcodeproj/xcshareddata/xcschemes/ArtsyStickers.xcscheme index 333d18a308b..a7abd6cff42 100644 --- a/Artsy.xcodeproj/xcshareddata/xcschemes/Artsy Stickers.xcscheme +++ b/ios/Artsy.xcodeproj/xcshareddata/xcschemes/ArtsyStickers.xcscheme @@ -1,6 +1,6 @@ @@ -29,7 +29,7 @@ buildForAnalyzing = "YES"> @@ -57,29 +57,19 @@ debugServiceExtension = "internal" allowLocationSimulation = "YES" launchAutomaticallySubstyle = "2"> - - - - - + - + @@ -100,7 +90,7 @@ buildConfiguration = "Debug"> diff --git a/Artsy.xcodeproj/xcshareddata/xcschemes/ArtsyWidgetExtension.xcscheme b/ios/Artsy.xcodeproj/xcshareddata/xcschemes/ArtsyWidgetExtension.xcscheme similarity index 81% rename from Artsy.xcodeproj/xcshareddata/xcschemes/ArtsyWidgetExtension.xcscheme rename to ios/Artsy.xcodeproj/xcshareddata/xcschemes/ArtsyWidgetExtension.xcscheme index f50b76331cf..6f22254b249 100644 --- a/Artsy.xcodeproj/xcshareddata/xcschemes/ArtsyWidgetExtension.xcscheme +++ b/ios/Artsy.xcodeproj/xcshareddata/xcschemes/ArtsyWidgetExtension.xcscheme @@ -1,6 +1,6 @@ @@ -29,7 +29,7 @@ buildForAnalyzing = "YES"> @@ -57,37 +57,36 @@ debugServiceExtension = "internal" allowLocationSimulation = "YES" launchAutomaticallySubstyle = "2"> - + - + + value = "" + isEnabled = "NO"> + isEnabled = "NO"> + value = "medium" + isEnabled = "NO"> @@ -108,7 +107,7 @@ buildConfiguration = "Debug"> diff --git a/ios/Artsy.xcodeproj/xcshareddata/xcschemes/BrazePushServiceExtension.xcscheme b/ios/Artsy.xcodeproj/xcshareddata/xcschemes/BrazePushServiceExtension.xcscheme new file mode 100644 index 00000000000..6dcbfcaf241 --- /dev/null +++ b/ios/Artsy.xcodeproj/xcshareddata/xcschemes/BrazePushServiceExtension.xcscheme @@ -0,0 +1,96 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Artsy.xcworkspace/contents.xcworkspacedata b/ios/Artsy.xcworkspace/contents.xcworkspacedata similarity index 100% rename from Artsy.xcworkspace/contents.xcworkspacedata rename to ios/Artsy.xcworkspace/contents.xcworkspacedata diff --git a/Artsy/.swiftlint.yml b/ios/Artsy/.swiftlint.yml similarity index 100% rename from Artsy/.swiftlint.yml rename to ios/Artsy/.swiftlint.yml diff --git a/Artsy/App/ARAnalyticsConstants.h b/ios/Artsy/App/ARAnalyticsConstants.h similarity index 100% rename from Artsy/App/ARAnalyticsConstants.h rename to ios/Artsy/App/ARAnalyticsConstants.h diff --git a/Artsy/App/ARAnalyticsConstants.m b/ios/Artsy/App/ARAnalyticsConstants.m similarity index 100% rename from Artsy/App/ARAnalyticsConstants.m rename to ios/Artsy/App/ARAnalyticsConstants.m diff --git a/Artsy/App/ARAppActivityContinuationDelegate.h b/ios/Artsy/App/ARAppActivityContinuationDelegate.h similarity index 100% rename from Artsy/App/ARAppActivityContinuationDelegate.h rename to ios/Artsy/App/ARAppActivityContinuationDelegate.h diff --git a/Artsy/App/ARAppActivityContinuationDelegate.m b/ios/Artsy/App/ARAppActivityContinuationDelegate.m similarity index 100% rename from Artsy/App/ARAppActivityContinuationDelegate.m rename to ios/Artsy/App/ARAppActivityContinuationDelegate.m diff --git a/Artsy/App/ARAppDelegate+Analytics.h b/ios/Artsy/App/ARAppDelegate+Analytics.h similarity index 100% rename from Artsy/App/ARAppDelegate+Analytics.h rename to ios/Artsy/App/ARAppDelegate+Analytics.h diff --git a/Artsy/App/ARAppDelegate+Analytics.m b/ios/Artsy/App/ARAppDelegate+Analytics.m similarity index 100% rename from Artsy/App/ARAppDelegate+Analytics.m rename to ios/Artsy/App/ARAppDelegate+Analytics.m diff --git a/Artsy/App/ARAppDelegate+Echo.h b/ios/Artsy/App/ARAppDelegate+Echo.h similarity index 100% rename from Artsy/App/ARAppDelegate+Echo.h rename to ios/Artsy/App/ARAppDelegate+Echo.h diff --git a/Artsy/App/ARAppDelegate+Echo.m b/ios/Artsy/App/ARAppDelegate+Echo.m similarity index 100% rename from Artsy/App/ARAppDelegate+Echo.m rename to ios/Artsy/App/ARAppDelegate+Echo.m diff --git a/Artsy/App/ARAppDelegate+Emission.h b/ios/Artsy/App/ARAppDelegate+Emission.h similarity index 51% rename from Artsy/App/ARAppDelegate+Emission.h rename to ios/Artsy/App/ARAppDelegate+Emission.h index 215c612dadf..85b702bc872 100644 --- a/Artsy/App/ARAppDelegate+Emission.h +++ b/ios/Artsy/App/ARAppDelegate+Emission.h @@ -1,5 +1,6 @@ #import "ARAppDelegate.h" +#import @interface ARAppDelegate (Emission) -- (void)setupEmission; +- (AREmission *)setupEmission; @end diff --git a/Artsy/App/ARAppDelegate+Emission.m b/ios/Artsy/App/ARAppDelegate+Emission.m similarity index 96% rename from Artsy/App/ARAppDelegate+Emission.m rename to ios/Artsy/App/ARAppDelegate+Emission.m index 655ae4d198a..df4d1aab517 100644 --- a/Artsy/App/ARAppDelegate+Emission.m +++ b/ios/Artsy/App/ARAppDelegate+Emission.m @@ -41,7 +41,7 @@ @implementation ARAppDelegate (Emission) -- (void)setupEmission; +- (AREmission *)setupEmission; { BOOL isDebugMode; #if DEBUG @@ -52,10 +52,10 @@ - (void)setupEmission; if (isDebugMode) { NSString *bundleUrlString = [NSString stringWithFormat:@"http://%@:8081/index.ios.bundle?platform=ios&dev=true", [ARReactPackagerHost hostname]]; NSURL *packagerURL = [NSURL URLWithString:bundleUrlString]; - [self setupSharedEmissionWithPackagerURL:packagerURL]; + return [self setupSharedEmissionWithPackagerURL:packagerURL]; } else { // The normal flow for users - [self setupSharedEmissionWithPackagerURL:nil]; + return [self setupSharedEmissionWithPackagerURL:nil]; } } @@ -91,7 +91,7 @@ - (NSString *)deviceId; return deviceId; } -- (void)setupSharedEmissionWithPackagerURL:(NSURL *)packagerURL; +- (AREmission *)setupSharedEmissionWithPackagerURL:(NSURL *)packagerURL; { NSString *userID = [[[ARUserManager sharedManager] currentUser] userID]; NSString *userEmail = [[[ARUserManager sharedManager] currentUser] email]; @@ -168,6 +168,8 @@ - (void)setupSharedEmissionWithPackagerURL:(NSURL *)packagerURL; [[AREmission sharedInstance] sendScreenEvent:info[@"context_screen"] traits:[properties copy]]; } }; + + return emission; } @end diff --git a/Artsy/App/ARAppDelegate.h b/ios/Artsy/App/ARAppDelegate.h similarity index 100% rename from Artsy/App/ARAppDelegate.h rename to ios/Artsy/App/ARAppDelegate.h diff --git a/Artsy/App/ARAppDelegate.m b/ios/Artsy/App/ARAppDelegate.m similarity index 94% rename from Artsy/App/ARAppDelegate.m rename to ios/Artsy/App/ARAppDelegate.m index bacce982cd0..bde143a3b9e 100644 --- a/Artsy/App/ARAppDelegate.m +++ b/ios/Artsy/App/ARAppDelegate.m @@ -43,6 +43,7 @@ #import #import #import +#import #import #import @@ -133,8 +134,6 @@ - (void)setupForAppLaunch [JSDecoupledAppDelegate sharedAppDelegate].remoteNotificationsDelegate = [[ARAppNotificationsDelegate alloc] init]; - self.window = [[ARWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; - [self setupAdminTools]; [self countNumberOfRuns]; @@ -143,15 +142,24 @@ - (void)setupForAppLaunch [[ARLogger sharedLogger] startLogging]; - [self setupEmission]; - self.viewController = [[ARComponentViewController alloc] initWithEmission:nil moduleName:@"Artsy" initialProperties:@{}]; - self.window.rootViewController = self.viewController; - [self.window makeKeyAndVisible]; + AREmission *emission = [self setupEmission]; + + RCTRootView *rootView = [[RCTRootView alloc] + initWithBridge:emission.bridge + moduleName:@"eigen" + initialProperties:nil]; + + self.window = [[ARWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; + UIViewController *rootViewController = [UIViewController new]; + rootViewController.view = rootView; + self.window.rootViewController = rootViewController; + [self.window makeKeyAndVisible]; + + if (@available(iOS 13.0, *)) { + // prevent dark mode + self.window.overrideUserInterfaceStyle = UIUserInterfaceStyleLight; + } - if (@available(iOS 13.0, *)) { - // prevent dark mode - self.window.overrideUserInterfaceStyle = UIUserInterfaceStyleLight; - } [ARWebViewCacheHost startup]; [self registerNewSessionOpened]; diff --git a/Artsy/App/ARAppNotificationsDelegate.h b/ios/Artsy/App/ARAppNotificationsDelegate.h similarity index 100% rename from Artsy/App/ARAppNotificationsDelegate.h rename to ios/Artsy/App/ARAppNotificationsDelegate.h diff --git a/Artsy/App/ARAppNotificationsDelegate.m b/ios/Artsy/App/ARAppNotificationsDelegate.m similarity index 100% rename from Artsy/App/ARAppNotificationsDelegate.m rename to ios/Artsy/App/ARAppNotificationsDelegate.m diff --git a/Artsy/App/ARAppStatus.h b/ios/Artsy/App/ARAppStatus.h similarity index 100% rename from Artsy/App/ARAppStatus.h rename to ios/Artsy/App/ARAppStatus.h diff --git a/Artsy/App/ARAppStatus.m b/ios/Artsy/App/ARAppStatus.m similarity index 100% rename from Artsy/App/ARAppStatus.m rename to ios/Artsy/App/ARAppStatus.m diff --git a/Artsy/App/ARApplicationShortcutItemDelegate.h b/ios/Artsy/App/ARApplicationShortcutItemDelegate.h similarity index 100% rename from Artsy/App/ARApplicationShortcutItemDelegate.h rename to ios/Artsy/App/ARApplicationShortcutItemDelegate.h diff --git a/Artsy/App/ARApplicationShortcutItemDelegate.m b/ios/Artsy/App/ARApplicationShortcutItemDelegate.m similarity index 100% rename from Artsy/App/ARApplicationShortcutItemDelegate.m rename to ios/Artsy/App/ARApplicationShortcutItemDelegate.m diff --git a/Artsy/App/ARFonts.h b/ios/Artsy/App/ARFonts.h similarity index 100% rename from Artsy/App/ARFonts.h rename to ios/Artsy/App/ARFonts.h diff --git a/Artsy/App/ARMacros.h b/ios/Artsy/App/ARMacros.h similarity index 100% rename from Artsy/App/ARMacros.h rename to ios/Artsy/App/ARMacros.h diff --git a/Artsy/App/ARModalViewController.h b/ios/Artsy/App/ARModalViewController.h similarity index 100% rename from Artsy/App/ARModalViewController.h rename to ios/Artsy/App/ARModalViewController.h diff --git a/Artsy/App/ARModalViewController.m b/ios/Artsy/App/ARModalViewController.m similarity index 100% rename from Artsy/App/ARModalViewController.m rename to ios/Artsy/App/ARModalViewController.m diff --git a/Artsy/App/AROptions.h b/ios/Artsy/App/AROptions.h similarity index 100% rename from Artsy/App/AROptions.h rename to ios/Artsy/App/AROptions.h diff --git a/Artsy/App/AROptions.m b/ios/Artsy/App/AROptions.m similarity index 100% rename from Artsy/App/AROptions.m rename to ios/Artsy/App/AROptions.m diff --git a/Artsy/App/ARTArtsyNativeModule.h b/ios/Artsy/App/ARTArtsyNativeModule.h similarity index 100% rename from Artsy/App/ARTArtsyNativeModule.h rename to ios/Artsy/App/ARTArtsyNativeModule.h diff --git a/Artsy/App/ARTArtsyNativeModule.m b/ios/Artsy/App/ARTArtsyNativeModule.m similarity index 100% rename from Artsy/App/ARTArtsyNativeModule.m rename to ios/Artsy/App/ARTArtsyNativeModule.m diff --git a/Artsy/App/ARUserActivity.h b/ios/Artsy/App/ARUserActivity.h similarity index 100% rename from Artsy/App/ARUserActivity.h rename to ios/Artsy/App/ARUserActivity.h diff --git a/Artsy/App/ARUserActivity.m b/ios/Artsy/App/ARUserActivity.m similarity index 100% rename from Artsy/App/ARUserActivity.m rename to ios/Artsy/App/ARUserActivity.m diff --git a/Artsy/App/ArtsyEcho.h b/ios/Artsy/App/ArtsyEcho.h similarity index 100% rename from Artsy/App/ArtsyEcho.h rename to ios/Artsy/App/ArtsyEcho.h diff --git a/Artsy/App/ArtsyEcho.m b/ios/Artsy/App/ArtsyEcho.m similarity index 100% rename from Artsy/App/ArtsyEcho.m rename to ios/Artsy/App/ArtsyEcho.m diff --git a/Artsy/App/SwiftExtensions.swift b/ios/Artsy/App/SwiftExtensions.swift similarity index 100% rename from Artsy/App/SwiftExtensions.swift rename to ios/Artsy/App/SwiftExtensions.swift diff --git a/Artsy/App/main.m b/ios/Artsy/App/main.m similarity index 100% rename from Artsy/App/main.m rename to ios/Artsy/App/main.m diff --git a/Artsy/App_Resources/Artsy-Info.plist b/ios/Artsy/App_Resources/Artsy-Info.plist similarity index 98% rename from Artsy/App_Resources/Artsy-Info.plist rename to ios/Artsy/App_Resources/Artsy-Info.plist index 23496f72172..44e9b674ee0 100644 --- a/Artsy/App_Resources/Artsy-Info.plist +++ b/ios/Artsy/App_Resources/Artsy-Info.plist @@ -7,7 +7,7 @@ CFBundleDevelopmentRegion en CFBundleDisplayName - ${SPRINGBOARD_DISPLAY_NAME} + Δrtsy CFBundleDocumentTypes @@ -36,7 +36,7 @@ CFBundlePackageType APPL CFBundleShortVersionString - 6.7.7 + 7.3.6 CFBundleSignature ???? CFBundleURLTypes @@ -76,7 +76,7 @@ CFBundleVersion - 2019.05.24.09 + 2022.05.11.13 FacebookAdvertiserIDCollectionEnabled FacebookAppID diff --git a/Artsy/App_Resources/Artsy.Store.entitlements b/ios/Artsy/App_Resources/Artsy.Store.entitlements similarity index 100% rename from Artsy/App_Resources/Artsy.Store.entitlements rename to ios/Artsy/App_Resources/Artsy.Store.entitlements diff --git a/Artsy/App_Resources/Artsy.entitlements b/ios/Artsy/App_Resources/Artsy.entitlements similarity index 100% rename from Artsy/App_Resources/Artsy.entitlements rename to ios/Artsy/App_Resources/Artsy.entitlements diff --git a/Artsy/App_Resources/Launch Screen.xib b/ios/Artsy/App_Resources/Launch Screen.xib similarity index 89% rename from Artsy/App_Resources/Launch Screen.xib rename to ios/Artsy/App_Resources/Launch Screen.xib index 6467b4c89ab..469edaa3a1a 100644 --- a/Artsy/App_Resources/Launch Screen.xib +++ b/ios/Artsy/App_Resources/Launch Screen.xib @@ -1,10 +1,9 @@ - - - - + + - + + diff --git a/Artsy/App_Resources/en.lproj/InfoPlist.strings b/ios/Artsy/App_Resources/en.lproj/InfoPlist.strings similarity index 100% rename from Artsy/App_Resources/en.lproj/InfoPlist.strings rename to ios/Artsy/App_Resources/en.lproj/InfoPlist.strings diff --git a/Artsy/Categories/AFNetworking/AFHTTPRequestOperation+JSON.h b/ios/Artsy/Categories/AFNetworking/AFHTTPRequestOperation+JSON.h similarity index 100% rename from Artsy/Categories/AFNetworking/AFHTTPRequestOperation+JSON.h rename to ios/Artsy/Categories/AFNetworking/AFHTTPRequestOperation+JSON.h diff --git a/Artsy/Categories/AFNetworking/AFHTTPRequestOperation+JSON.m b/ios/Artsy/Categories/AFNetworking/AFHTTPRequestOperation+JSON.m similarity index 100% rename from Artsy/Categories/AFNetworking/AFHTTPRequestOperation+JSON.m rename to ios/Artsy/Categories/AFNetworking/AFHTTPRequestOperation+JSON.m diff --git a/Artsy/Categories/Apple/Int+Metrification.swift b/ios/Artsy/Categories/Apple/Int+Metrification.swift similarity index 100% rename from Artsy/Categories/Apple/Int+Metrification.swift rename to ios/Artsy/Categories/Apple/Int+Metrification.swift diff --git a/Artsy/Categories/Apple/NSArray+Additions.h b/ios/Artsy/Categories/Apple/NSArray+Additions.h similarity index 100% rename from Artsy/Categories/Apple/NSArray+Additions.h rename to ios/Artsy/Categories/Apple/NSArray+Additions.h diff --git a/Artsy/Categories/Apple/NSArray+Additions.m b/ios/Artsy/Categories/Apple/NSArray+Additions.m similarity index 100% rename from Artsy/Categories/Apple/NSArray+Additions.m rename to ios/Artsy/Categories/Apple/NSArray+Additions.m diff --git a/Artsy/Categories/Apple/NSAttributedString+Additions.swift b/ios/Artsy/Categories/Apple/NSAttributedString+Additions.swift similarity index 100% rename from Artsy/Categories/Apple/NSAttributedString+Additions.swift rename to ios/Artsy/Categories/Apple/NSAttributedString+Additions.swift diff --git a/Artsy/Categories/Apple/NSDate+DateRange.h b/ios/Artsy/Categories/Apple/NSDate+DateRange.h similarity index 100% rename from Artsy/Categories/Apple/NSDate+DateRange.h rename to ios/Artsy/Categories/Apple/NSDate+DateRange.h diff --git a/Artsy/Categories/Apple/NSDate+DateRange.m b/ios/Artsy/Categories/Apple/NSDate+DateRange.m similarity index 100% rename from Artsy/Categories/Apple/NSDate+DateRange.m rename to ios/Artsy/Categories/Apple/NSDate+DateRange.m diff --git a/Artsy/Categories/Apple/NSDate+Util.h b/ios/Artsy/Categories/Apple/NSDate+Util.h similarity index 100% rename from Artsy/Categories/Apple/NSDate+Util.h rename to ios/Artsy/Categories/Apple/NSDate+Util.h diff --git a/Artsy/Categories/Apple/NSDate+Util.m b/ios/Artsy/Categories/Apple/NSDate+Util.m similarity index 100% rename from Artsy/Categories/Apple/NSDate+Util.m rename to ios/Artsy/Categories/Apple/NSDate+Util.m diff --git a/Artsy/Categories/Apple/NSKeyedUnarchiver+ErrorLogging.h b/ios/Artsy/Categories/Apple/NSKeyedUnarchiver+ErrorLogging.h similarity index 100% rename from Artsy/Categories/Apple/NSKeyedUnarchiver+ErrorLogging.h rename to ios/Artsy/Categories/Apple/NSKeyedUnarchiver+ErrorLogging.h diff --git a/Artsy/Categories/Apple/NSKeyedUnarchiver+ErrorLogging.m b/ios/Artsy/Categories/Apple/NSKeyedUnarchiver+ErrorLogging.m similarity index 100% rename from Artsy/Categories/Apple/NSKeyedUnarchiver+ErrorLogging.m rename to ios/Artsy/Categories/Apple/NSKeyedUnarchiver+ErrorLogging.m diff --git a/Artsy/Categories/Apple/NSString+StringBetweenStrings.h b/ios/Artsy/Categories/Apple/NSString+StringBetweenStrings.h similarity index 100% rename from Artsy/Categories/Apple/NSString+StringBetweenStrings.h rename to ios/Artsy/Categories/Apple/NSString+StringBetweenStrings.h diff --git a/Artsy/Categories/Apple/NSString+StringBetweenStrings.m b/ios/Artsy/Categories/Apple/NSString+StringBetweenStrings.m similarity index 100% rename from Artsy/Categories/Apple/NSString+StringBetweenStrings.m rename to ios/Artsy/Categories/Apple/NSString+StringBetweenStrings.m diff --git a/Artsy/Categories/Apple/UIDevice-Hardware.h b/ios/Artsy/Categories/Apple/UIDevice-Hardware.h similarity index 100% rename from Artsy/Categories/Apple/UIDevice-Hardware.h rename to ios/Artsy/Categories/Apple/UIDevice-Hardware.h diff --git a/Artsy/Categories/Apple/UIDevice-Hardware.m b/ios/Artsy/Categories/Apple/UIDevice-Hardware.m similarity index 100% rename from Artsy/Categories/Apple/UIDevice-Hardware.m rename to ios/Artsy/Categories/Apple/UIDevice-Hardware.m diff --git a/Artsy/Categories/Apple/UIImage+ImageFromColor.h b/ios/Artsy/Categories/Apple/UIImage+ImageFromColor.h similarity index 100% rename from Artsy/Categories/Apple/UIImage+ImageFromColor.h rename to ios/Artsy/Categories/Apple/UIImage+ImageFromColor.h diff --git a/Artsy/Categories/Apple/UIImage+ImageFromColor.m b/ios/Artsy/Categories/Apple/UIImage+ImageFromColor.m similarity index 100% rename from Artsy/Categories/Apple/UIImage+ImageFromColor.m rename to ios/Artsy/Categories/Apple/UIImage+ImageFromColor.m diff --git a/Artsy/Categories/Apple/UIImageView+AsyncImageLoading.h b/ios/Artsy/Categories/Apple/UIImageView+AsyncImageLoading.h similarity index 100% rename from Artsy/Categories/Apple/UIImageView+AsyncImageLoading.h rename to ios/Artsy/Categories/Apple/UIImageView+AsyncImageLoading.h diff --git a/Artsy/Categories/Apple/UIImageView+AsyncImageLoading.m b/ios/Artsy/Categories/Apple/UIImageView+AsyncImageLoading.m similarity index 100% rename from Artsy/Categories/Apple/UIImageView+AsyncImageLoading.m rename to ios/Artsy/Categories/Apple/UIImageView+AsyncImageLoading.m diff --git a/Artsy/Categories/Apple/UILabel+Styling.swift b/ios/Artsy/Categories/Apple/UILabel+Styling.swift similarity index 100% rename from Artsy/Categories/Apple/UILabel+Styling.swift rename to ios/Artsy/Categories/Apple/UILabel+Styling.swift diff --git a/Artsy/Categories/Apple/UITableViewController+Animations.swift b/ios/Artsy/Categories/Apple/UITableViewController+Animations.swift similarity index 100% rename from Artsy/Categories/Apple/UITableViewController+Animations.swift rename to ios/Artsy/Categories/Apple/UITableViewController+Animations.swift diff --git a/Artsy/Categories/Apple/UIView+HitTestExpansion.h b/ios/Artsy/Categories/Apple/UIView+HitTestExpansion.h similarity index 100% rename from Artsy/Categories/Apple/UIView+HitTestExpansion.h rename to ios/Artsy/Categories/Apple/UIView+HitTestExpansion.h diff --git a/Artsy/Categories/Apple/UIView+HitTestExpansion.m b/ios/Artsy/Categories/Apple/UIView+HitTestExpansion.m similarity index 100% rename from Artsy/Categories/Apple/UIView+HitTestExpansion.m rename to ios/Artsy/Categories/Apple/UIView+HitTestExpansion.m diff --git a/Artsy/Categories/Apple/UIView+OldSchoolSnapshots.h b/ios/Artsy/Categories/Apple/UIView+OldSchoolSnapshots.h similarity index 100% rename from Artsy/Categories/Apple/UIView+OldSchoolSnapshots.h rename to ios/Artsy/Categories/Apple/UIView+OldSchoolSnapshots.h diff --git a/Artsy/Categories/Apple/UIView+OldSchoolSnapshots.m b/ios/Artsy/Categories/Apple/UIView+OldSchoolSnapshots.m similarity index 100% rename from Artsy/Categories/Apple/UIView+OldSchoolSnapshots.m rename to ios/Artsy/Categories/Apple/UIView+OldSchoolSnapshots.m diff --git a/Artsy/Categories/Apple/UIView+ScrollToTop.h b/ios/Artsy/Categories/Apple/UIView+ScrollToTop.h similarity index 100% rename from Artsy/Categories/Apple/UIView+ScrollToTop.h rename to ios/Artsy/Categories/Apple/UIView+ScrollToTop.h diff --git a/Artsy/Categories/Apple/UIView+ScrollToTop.m b/ios/Artsy/Categories/Apple/UIView+ScrollToTop.m similarity index 100% rename from Artsy/Categories/Apple/UIView+ScrollToTop.m rename to ios/Artsy/Categories/Apple/UIView+ScrollToTop.m diff --git a/Artsy/Categories/Apple/UIViewController+ARUserActivity.h b/ios/Artsy/Categories/Apple/UIViewController+ARUserActivity.h similarity index 100% rename from Artsy/Categories/Apple/UIViewController+ARUserActivity.h rename to ios/Artsy/Categories/Apple/UIViewController+ARUserActivity.h diff --git a/Artsy/Categories/Apple/UIViewController+ARUserActivity.m b/ios/Artsy/Categories/Apple/UIViewController+ARUserActivity.m similarity index 100% rename from Artsy/Categories/Apple/UIViewController+ARUserActivity.m rename to ios/Artsy/Categories/Apple/UIViewController+ARUserActivity.m diff --git a/Artsy/Categories/Apple/UIViewController+FullScreenLoading.h b/ios/Artsy/Categories/Apple/UIViewController+FullScreenLoading.h similarity index 100% rename from Artsy/Categories/Apple/UIViewController+FullScreenLoading.h rename to ios/Artsy/Categories/Apple/UIViewController+FullScreenLoading.h diff --git a/Artsy/Categories/Apple/UIViewController+FullScreenLoading.m b/ios/Artsy/Categories/Apple/UIViewController+FullScreenLoading.m similarity index 100% rename from Artsy/Categories/Apple/UIViewController+FullScreenLoading.m rename to ios/Artsy/Categories/Apple/UIViewController+FullScreenLoading.m diff --git a/Artsy/Categories/Apple/UIViewController+Popovers.h b/ios/Artsy/Categories/Apple/UIViewController+Popovers.h similarity index 100% rename from Artsy/Categories/Apple/UIViewController+Popovers.h rename to ios/Artsy/Categories/Apple/UIViewController+Popovers.h diff --git a/Artsy/Categories/Apple/UIViewController+Popovers.m b/ios/Artsy/Categories/Apple/UIViewController+Popovers.m similarity index 100% rename from Artsy/Categories/Apple/UIViewController+Popovers.m rename to ios/Artsy/Categories/Apple/UIViewController+Popovers.m diff --git a/Artsy/Categories/Apple/UIViewController+SimpleChildren.h b/ios/Artsy/Categories/Apple/UIViewController+SimpleChildren.h similarity index 100% rename from Artsy/Categories/Apple/UIViewController+SimpleChildren.h rename to ios/Artsy/Categories/Apple/UIViewController+SimpleChildren.h diff --git a/Artsy/Categories/Apple/UIViewController+SimpleChildren.m b/ios/Artsy/Categories/Apple/UIViewController+SimpleChildren.m similarity index 100% rename from Artsy/Categories/Apple/UIViewController+SimpleChildren.m rename to ios/Artsy/Categories/Apple/UIViewController+SimpleChildren.m diff --git a/Artsy/Categories/Apple/UIViewController+Traits.swift b/ios/Artsy/Categories/Apple/UIViewController+Traits.swift similarity index 100% rename from Artsy/Categories/Apple/UIViewController+Traits.swift rename to ios/Artsy/Categories/Apple/UIViewController+Traits.swift diff --git a/Artsy/Categories/Apple/UIViewController+WithLoadedData.h b/ios/Artsy/Categories/Apple/UIViewController+WithLoadedData.h similarity index 100% rename from Artsy/Categories/Apple/UIViewController+WithLoadedData.h rename to ios/Artsy/Categories/Apple/UIViewController+WithLoadedData.h diff --git a/Artsy/Categories/Apple/UIViewController+WithLoadedData.m b/ios/Artsy/Categories/Apple/UIViewController+WithLoadedData.m similarity index 100% rename from Artsy/Categories/Apple/UIViewController+WithLoadedData.m rename to ios/Artsy/Categories/Apple/UIViewController+WithLoadedData.m diff --git a/Artsy/Categories/Artsy/Interstellar+Artsy.swift b/ios/Artsy/Categories/Artsy/Interstellar+Artsy.swift similarity index 100% rename from Artsy/Categories/Artsy/Interstellar+Artsy.swift rename to ios/Artsy/Categories/Artsy/Interstellar+Artsy.swift diff --git a/Artsy/Categories/Artsy/ORStackView+ArtsyViews.h b/ios/Artsy/Categories/Artsy/ORStackView+ArtsyViews.h similarity index 100% rename from Artsy/Categories/Artsy/ORStackView+ArtsyViews.h rename to ios/Artsy/Categories/Artsy/ORStackView+ArtsyViews.h diff --git a/Artsy/Categories/Artsy/ORStackView+ArtsyViews.m b/ios/Artsy/Categories/Artsy/ORStackView+ArtsyViews.m similarity index 100% rename from Artsy/Categories/Artsy/ORStackView+ArtsyViews.m rename to ios/Artsy/Categories/Artsy/ORStackView+ArtsyViews.m diff --git a/Artsy/Categories/PanDirectionGestureRecognizer.swift b/ios/Artsy/Categories/PanDirectionGestureRecognizer.swift similarity index 100% rename from Artsy/Categories/PanDirectionGestureRecognizer.swift rename to ios/Artsy/Categories/PanDirectionGestureRecognizer.swift diff --git a/Artsy/Constants/ARAppConstants.h b/ios/Artsy/Constants/ARAppConstants.h similarity index 100% rename from Artsy/Constants/ARAppConstants.h rename to ios/Artsy/Constants/ARAppConstants.h diff --git a/Artsy/Constants/ARAppConstants.m b/ios/Artsy/Constants/ARAppConstants.m similarity index 100% rename from Artsy/Constants/ARAppConstants.m rename to ios/Artsy/Constants/ARAppConstants.m diff --git a/Artsy/Constants/ARDefaults.h b/ios/Artsy/Constants/ARDefaults.h similarity index 97% rename from Artsy/Constants/ARDefaults.h rename to ios/Artsy/Constants/ARDefaults.h index 890d6f8b9a0..082ddad673e 100644 --- a/Artsy/Constants/ARDefaults.h +++ b/ios/Artsy/Constants/ARDefaults.h @@ -1,3 +1,5 @@ +#import + extern NSString *const ARUserIdentifierDefault; extern NSString *const AROAuthTokenDefault; diff --git a/Artsy/Constants/ARDefaults.m b/ios/Artsy/Constants/ARDefaults.m similarity index 98% rename from Artsy/Constants/ARDefaults.m rename to ios/Artsy/Constants/ARDefaults.m index 6d7d70bbc86..71b2d42b699 100644 --- a/Artsy/Constants/ARDefaults.m +++ b/ios/Artsy/Constants/ARDefaults.m @@ -1,4 +1,3 @@ -#import "ARDefaults+SiteFeatures.h" #import "ARDefaults.h" #import "AROptions.h" #import "ARAnalyticsConstants.h" diff --git a/Artsy/Eigen.playground/Contents.swift b/ios/Artsy/Eigen.playground/Contents.swift similarity index 100% rename from Artsy/Eigen.playground/Contents.swift rename to ios/Artsy/Eigen.playground/Contents.swift diff --git a/Artsy/Eigen.playground/contents.xcplayground b/ios/Artsy/Eigen.playground/contents.xcplayground similarity index 100% rename from Artsy/Eigen.playground/contents.xcplayground rename to ios/Artsy/Eigen.playground/contents.xcplayground diff --git a/Artsy/Eigen.playground/timeline.xctimeline b/ios/Artsy/Eigen.playground/timeline.xctimeline similarity index 100% rename from Artsy/Eigen.playground/timeline.xctimeline rename to ios/Artsy/Eigen.playground/timeline.xctimeline diff --git a/Artsy/Resources/Images.xcassets/AppIcon.appiconset/AppIcon167.png b/ios/Artsy/Images.xcassets/AppIcon.appiconset/AppIcon167.png similarity index 100% rename from Artsy/Resources/Images.xcassets/AppIcon.appiconset/AppIcon167.png rename to ios/Artsy/Images.xcassets/AppIcon.appiconset/AppIcon167.png diff --git a/ios/Artsy/Images.xcassets/AppIcon.appiconset/Contents.json b/ios/Artsy/Images.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 00000000000..5c769be5432 --- /dev/null +++ b/ios/Artsy/Images.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,106 @@ +{ + "images": [ + { + "idiom": "iphone", + "size": "20x20", + "scale": "2x" + }, + { + "idiom": "iphone", + "size": "20x20", + "scale": "3x" + }, + { + "idiom": "iphone", + "size": "29x29", + "scale": "2x" + }, + { + "idiom": "iphone", + "size": "29x29", + "scale": "3x" + }, + { + "size": "40x40", + "idiom": "iphone", + "filename": "Icon-Small-40@2x-1.png", + "scale": "2x" + }, + { + "idiom": "iphone", + "size": "40x40", + "scale": "3x" + }, + { + "size": "60x60", + "idiom": "iphone", + "filename": "Icon-60@2x.png", + "scale": "2x" + }, + { + "idiom": "iphone", + "size": "60x60", + "scale": "3x" + }, + { + "idiom": "ipad", + "size": "20x20", + "scale": "1x" + }, + { + "idiom": "ipad", + "size": "20x20", + "scale": "2x" + }, + { + "idiom": "ipad", + "size": "29x29", + "scale": "1x" + }, + { + "idiom": "ipad", + "size": "29x29", + "scale": "2x" + }, + { + "size": "40x40", + "idiom": "ipad", + "filename": "Icon-Small-40.png", + "scale": "1x" + }, + { + "size": "40x40", + "idiom": "ipad", + "filename": "Icon-Small-40@2x.png", + "scale": "2x" + }, + { + "size": "76x76", + "idiom": "ipad", + "filename": "Icon-76.png", + "scale": "1x" + }, + { + "size": "76x76", + "idiom": "ipad", + "filename": "Icon-76@2x.png", + "scale": "2x" + }, + { + "size": "83.5x83.5", + "idiom": "ipad", + "filename": "AppIcon167.png", + "scale": "2x" + }, + { + "size": "1024x1024", + "idiom": "ios-marketing", + "filename": "Icon-1024.png", + "scale": "1x" + } + ], + "info": { + "version": 1, + "author": "xcode" + } +} diff --git a/Artsy/Resources/Images.xcassets/AppIcon.appiconset/Icon-1024.png b/ios/Artsy/Images.xcassets/AppIcon.appiconset/Icon-1024.png similarity index 100% rename from Artsy/Resources/Images.xcassets/AppIcon.appiconset/Icon-1024.png rename to ios/Artsy/Images.xcassets/AppIcon.appiconset/Icon-1024.png diff --git a/Artsy/Resources/Images.xcassets/AppIcon.appiconset/Icon-60@2x.png b/ios/Artsy/Images.xcassets/AppIcon.appiconset/Icon-60@2x.png similarity index 100% rename from Artsy/Resources/Images.xcassets/AppIcon.appiconset/Icon-60@2x.png rename to ios/Artsy/Images.xcassets/AppIcon.appiconset/Icon-60@2x.png diff --git a/Artsy/Resources/Images.xcassets/AppIcon.appiconset/Icon-76.png b/ios/Artsy/Images.xcassets/AppIcon.appiconset/Icon-76.png similarity index 100% rename from Artsy/Resources/Images.xcassets/AppIcon.appiconset/Icon-76.png rename to ios/Artsy/Images.xcassets/AppIcon.appiconset/Icon-76.png diff --git a/Artsy/Resources/Images.xcassets/AppIcon.appiconset/Icon-76@2x.png b/ios/Artsy/Images.xcassets/AppIcon.appiconset/Icon-76@2x.png similarity index 100% rename from Artsy/Resources/Images.xcassets/AppIcon.appiconset/Icon-76@2x.png rename to ios/Artsy/Images.xcassets/AppIcon.appiconset/Icon-76@2x.png diff --git a/Artsy/Resources/Images.xcassets/AppIcon.appiconset/Icon-Small-40.png b/ios/Artsy/Images.xcassets/AppIcon.appiconset/Icon-Small-40.png similarity index 100% rename from Artsy/Resources/Images.xcassets/AppIcon.appiconset/Icon-Small-40.png rename to ios/Artsy/Images.xcassets/AppIcon.appiconset/Icon-Small-40.png diff --git a/Artsy/Resources/Images.xcassets/AppIcon.appiconset/Icon-Small-40@2x-1.png b/ios/Artsy/Images.xcassets/AppIcon.appiconset/Icon-Small-40@2x-1.png similarity index 100% rename from Artsy/Resources/Images.xcassets/AppIcon.appiconset/Icon-Small-40@2x-1.png rename to ios/Artsy/Images.xcassets/AppIcon.appiconset/Icon-Small-40@2x-1.png diff --git a/Artsy/Resources/Images.xcassets/AppIcon.appiconset/Icon-Small-40@2x.png b/ios/Artsy/Images.xcassets/AppIcon.appiconset/Icon-Small-40@2x.png similarity index 100% rename from Artsy/Resources/Images.xcassets/AppIcon.appiconset/Icon-Small-40@2x.png rename to ios/Artsy/Images.xcassets/AppIcon.appiconset/Icon-Small-40@2x.png diff --git a/Artsy/Models/API_Models/Application/SystemTime.h b/ios/Artsy/Models/API_Models/Application/SystemTime.h similarity index 100% rename from Artsy/Models/API_Models/Application/SystemTime.h rename to ios/Artsy/Models/API_Models/Application/SystemTime.h diff --git a/Artsy/Models/API_Models/Application/SystemTime.m b/ios/Artsy/Models/API_Models/Application/SystemTime.m similarity index 100% rename from Artsy/Models/API_Models/Application/SystemTime.m rename to ios/Artsy/Models/API_Models/Application/SystemTime.m diff --git a/Artsy/Models/API_Models/Artwork_Metadata/AuctionLot.h b/ios/Artsy/Models/API_Models/Artwork_Metadata/AuctionLot.h similarity index 100% rename from Artsy/Models/API_Models/Artwork_Metadata/AuctionLot.h rename to ios/Artsy/Models/API_Models/Artwork_Metadata/AuctionLot.h diff --git a/Artsy/Models/API_Models/Artwork_Metadata/AuctionLot.m b/ios/Artsy/Models/API_Models/Artwork_Metadata/AuctionLot.m similarity index 100% rename from Artsy/Models/API_Models/Artwork_Metadata/AuctionLot.m rename to ios/Artsy/Models/API_Models/Artwork_Metadata/AuctionLot.m diff --git a/Artsy/Models/API_Models/Artwork_Metadata/Gene.h b/ios/Artsy/Models/API_Models/Artwork_Metadata/Gene.h similarity index 100% rename from Artsy/Models/API_Models/Artwork_Metadata/Gene.h rename to ios/Artsy/Models/API_Models/Artwork_Metadata/Gene.h diff --git a/Artsy/Models/API_Models/Artwork_Metadata/Gene.m b/ios/Artsy/Models/API_Models/Artwork_Metadata/Gene.m similarity index 100% rename from Artsy/Models/API_Models/Artwork_Metadata/Gene.m rename to ios/Artsy/Models/API_Models/Artwork_Metadata/Gene.m diff --git a/Artsy/Models/API_Models/Artwork_Metadata/Image.h b/ios/Artsy/Models/API_Models/Artwork_Metadata/Image.h similarity index 100% rename from Artsy/Models/API_Models/Artwork_Metadata/Image.h rename to ios/Artsy/Models/API_Models/Artwork_Metadata/Image.h diff --git a/Artsy/Models/API_Models/Artwork_Metadata/Image.m b/ios/Artsy/Models/API_Models/Artwork_Metadata/Image.m similarity index 100% rename from Artsy/Models/API_Models/Artwork_Metadata/Image.m rename to ios/Artsy/Models/API_Models/Artwork_Metadata/Image.m diff --git a/Artsy/Models/API_Models/Auctions/Bid.h b/ios/Artsy/Models/API_Models/Auctions/Bid.h similarity index 100% rename from Artsy/Models/API_Models/Auctions/Bid.h rename to ios/Artsy/Models/API_Models/Auctions/Bid.h diff --git a/Artsy/Models/API_Models/Auctions/Bid.m b/ios/Artsy/Models/API_Models/Auctions/Bid.m similarity index 100% rename from Artsy/Models/API_Models/Auctions/Bid.m rename to ios/Artsy/Models/API_Models/Auctions/Bid.m diff --git a/Artsy/Models/API_Models/Auctions/Bidder.h b/ios/Artsy/Models/API_Models/Auctions/Bidder.h similarity index 100% rename from Artsy/Models/API_Models/Auctions/Bidder.h rename to ios/Artsy/Models/API_Models/Auctions/Bidder.h diff --git a/Artsy/Models/API_Models/Auctions/Bidder.m b/ios/Artsy/Models/API_Models/Auctions/Bidder.m similarity index 100% rename from Artsy/Models/API_Models/Auctions/Bidder.m rename to ios/Artsy/Models/API_Models/Auctions/Bidder.m diff --git a/Artsy/Models/API_Models/Auctions/BidderPosition.h b/ios/Artsy/Models/API_Models/Auctions/BidderPosition.h similarity index 100% rename from Artsy/Models/API_Models/Auctions/BidderPosition.h rename to ios/Artsy/Models/API_Models/Auctions/BidderPosition.h diff --git a/Artsy/Models/API_Models/Auctions/BidderPosition.m b/ios/Artsy/Models/API_Models/Auctions/BidderPosition.m similarity index 100% rename from Artsy/Models/API_Models/Auctions/BidderPosition.m rename to ios/Artsy/Models/API_Models/Auctions/BidderPosition.m diff --git a/Artsy/Models/API_Models/Auctions/BuyersPremium.h b/ios/Artsy/Models/API_Models/Auctions/BuyersPremium.h similarity index 100% rename from Artsy/Models/API_Models/Auctions/BuyersPremium.h rename to ios/Artsy/Models/API_Models/Auctions/BuyersPremium.h diff --git a/Artsy/Models/API_Models/Auctions/BuyersPremium.m b/ios/Artsy/Models/API_Models/Auctions/BuyersPremium.m similarity index 100% rename from Artsy/Models/API_Models/Auctions/BuyersPremium.m rename to ios/Artsy/Models/API_Models/Auctions/BuyersPremium.m diff --git a/Artsy/Models/API_Models/Auctions/Sale.h b/ios/Artsy/Models/API_Models/Auctions/Sale.h similarity index 100% rename from Artsy/Models/API_Models/Auctions/Sale.h rename to ios/Artsy/Models/API_Models/Auctions/Sale.h diff --git a/Artsy/Models/API_Models/Auctions/Sale.m b/ios/Artsy/Models/API_Models/Auctions/Sale.m similarity index 100% rename from Artsy/Models/API_Models/Auctions/Sale.m rename to ios/Artsy/Models/API_Models/Auctions/Sale.m diff --git a/Artsy/Models/API_Models/Auctions/SaleArtwork.h b/ios/Artsy/Models/API_Models/Auctions/SaleArtwork.h similarity index 100% rename from Artsy/Models/API_Models/Auctions/SaleArtwork.h rename to ios/Artsy/Models/API_Models/Auctions/SaleArtwork.h diff --git a/Artsy/Models/API_Models/Auctions/SaleArtwork.m b/ios/Artsy/Models/API_Models/Auctions/SaleArtwork.m similarity index 100% rename from Artsy/Models/API_Models/Auctions/SaleArtwork.m rename to ios/Artsy/Models/API_Models/Auctions/SaleArtwork.m diff --git a/Artsy/Models/API_Models/Fair/Fair.h b/ios/Artsy/Models/API_Models/Fair/Fair.h similarity index 100% rename from Artsy/Models/API_Models/Fair/Fair.h rename to ios/Artsy/Models/API_Models/Fair/Fair.h diff --git a/Artsy/Models/API_Models/Fair/Fair.m b/ios/Artsy/Models/API_Models/Fair/Fair.m similarity index 100% rename from Artsy/Models/API_Models/Fair/Fair.m rename to ios/Artsy/Models/API_Models/Fair/Fair.m diff --git a/Artsy/Models/API_Models/Fair/FairOrganizer.h b/ios/Artsy/Models/API_Models/Fair/FairOrganizer.h similarity index 100% rename from Artsy/Models/API_Models/Fair/FairOrganizer.h rename to ios/Artsy/Models/API_Models/Fair/FairOrganizer.h diff --git a/Artsy/Models/API_Models/Fair/FairOrganizer.m b/ios/Artsy/Models/API_Models/Fair/FairOrganizer.m similarity index 100% rename from Artsy/Models/API_Models/Fair/FairOrganizer.m rename to ios/Artsy/Models/API_Models/Fair/FairOrganizer.m diff --git a/Artsy/Models/API_Models/Fair/Follow.h b/ios/Artsy/Models/API_Models/Fair/Follow.h similarity index 100% rename from Artsy/Models/API_Models/Fair/Follow.h rename to ios/Artsy/Models/API_Models/Fair/Follow.h diff --git a/Artsy/Models/API_Models/Fair/Follow.m b/ios/Artsy/Models/API_Models/Fair/Follow.m similarity index 100% rename from Artsy/Models/API_Models/Fair/Follow.m rename to ios/Artsy/Models/API_Models/Fair/Follow.m diff --git a/Artsy/Models/API_Models/Favorites/ARHeartStatus.h b/ios/Artsy/Models/API_Models/Favorites/ARHeartStatus.h similarity index 100% rename from Artsy/Models/API_Models/Favorites/ARHeartStatus.h rename to ios/Artsy/Models/API_Models/Favorites/ARHeartStatus.h diff --git a/Artsy/Models/API_Models/Live/BidIncrementStrategy.h b/ios/Artsy/Models/API_Models/Live/BidIncrementStrategy.h similarity index 100% rename from Artsy/Models/API_Models/Live/BidIncrementStrategy.h rename to ios/Artsy/Models/API_Models/Live/BidIncrementStrategy.h diff --git a/Artsy/Models/API_Models/Live/BidIncrementStrategy.m b/ios/Artsy/Models/API_Models/Live/BidIncrementStrategy.m similarity index 100% rename from Artsy/Models/API_Models/Live/BidIncrementStrategy.m rename to ios/Artsy/Models/API_Models/Live/BidIncrementStrategy.m diff --git a/Artsy/Models/API_Models/Live/LiveBidder.h b/ios/Artsy/Models/API_Models/Live/LiveBidder.h similarity index 100% rename from Artsy/Models/API_Models/Live/LiveBidder.h rename to ios/Artsy/Models/API_Models/Live/LiveBidder.h diff --git a/Artsy/Models/API_Models/Live/LiveBidder.m b/ios/Artsy/Models/API_Models/Live/LiveBidder.m similarity index 100% rename from Artsy/Models/API_Models/Live/LiveBidder.m rename to ios/Artsy/Models/API_Models/Live/LiveBidder.m diff --git a/Artsy/Models/API_Models/Live/LiveEvent.h b/ios/Artsy/Models/API_Models/Live/LiveEvent.h similarity index 100% rename from Artsy/Models/API_Models/Live/LiveEvent.h rename to ios/Artsy/Models/API_Models/Live/LiveEvent.h diff --git a/Artsy/Models/API_Models/Live/LiveEvent.m b/ios/Artsy/Models/API_Models/Live/LiveEvent.m similarity index 100% rename from Artsy/Models/API_Models/Live/LiveEvent.m rename to ios/Artsy/Models/API_Models/Live/LiveEvent.m diff --git a/Artsy/Models/API_Models/Live/LiveSale.h b/ios/Artsy/Models/API_Models/Live/LiveSale.h similarity index 100% rename from Artsy/Models/API_Models/Live/LiveSale.h rename to ios/Artsy/Models/API_Models/Live/LiveSale.h diff --git a/Artsy/Models/API_Models/Live/LiveSale.m b/ios/Artsy/Models/API_Models/Live/LiveSale.m similarity index 100% rename from Artsy/Models/API_Models/Live/LiveSale.m rename to ios/Artsy/Models/API_Models/Live/LiveSale.m diff --git a/Artsy/Models/API_Models/Live/SaleStatusType.swift b/ios/Artsy/Models/API_Models/Live/SaleStatusType.swift similarity index 100% rename from Artsy/Models/API_Models/Live/SaleStatusType.swift rename to ios/Artsy/Models/API_Models/Live/SaleStatusType.swift diff --git a/Artsy/Models/API_Models/LiveAuctionLot.h b/ios/Artsy/Models/API_Models/LiveAuctionLot.h similarity index 100% rename from Artsy/Models/API_Models/LiveAuctionLot.h rename to ios/Artsy/Models/API_Models/LiveAuctionLot.h diff --git a/Artsy/Models/API_Models/LiveAuctionLot.m b/ios/Artsy/Models/API_Models/LiveAuctionLot.m similarity index 100% rename from Artsy/Models/API_Models/LiveAuctionLot.m rename to ios/Artsy/Models/API_Models/LiveAuctionLot.m diff --git a/Artsy/Models/API_Models/Partner_Metadata/Artist.h b/ios/Artsy/Models/API_Models/Partner_Metadata/Artist.h similarity index 100% rename from Artsy/Models/API_Models/Partner_Metadata/Artist.h rename to ios/Artsy/Models/API_Models/Partner_Metadata/Artist.h diff --git a/Artsy/Models/API_Models/Partner_Metadata/Artist.m b/ios/Artsy/Models/API_Models/Partner_Metadata/Artist.m similarity index 100% rename from Artsy/Models/API_Models/Partner_Metadata/Artist.m rename to ios/Artsy/Models/API_Models/Partner_Metadata/Artist.m diff --git a/Artsy/Models/API_Models/Partner_Metadata/Artwork.h b/ios/Artsy/Models/API_Models/Partner_Metadata/Artwork.h similarity index 100% rename from Artsy/Models/API_Models/Partner_Metadata/Artwork.h rename to ios/Artsy/Models/API_Models/Partner_Metadata/Artwork.h diff --git a/Artsy/Models/API_Models/Partner_Metadata/Artwork.m b/ios/Artsy/Models/API_Models/Partner_Metadata/Artwork.m similarity index 100% rename from Artsy/Models/API_Models/Partner_Metadata/Artwork.m rename to ios/Artsy/Models/API_Models/Partner_Metadata/Artwork.m diff --git a/Artsy/Models/API_Models/Partner_Metadata/Location.h b/ios/Artsy/Models/API_Models/Partner_Metadata/Location.h similarity index 100% rename from Artsy/Models/API_Models/Partner_Metadata/Location.h rename to ios/Artsy/Models/API_Models/Partner_Metadata/Location.h diff --git a/Artsy/Models/API_Models/Partner_Metadata/Location.m b/ios/Artsy/Models/API_Models/Partner_Metadata/Location.m similarity index 100% rename from Artsy/Models/API_Models/Partner_Metadata/Location.m rename to ios/Artsy/Models/API_Models/Partner_Metadata/Location.m diff --git a/Artsy/Models/API_Models/Partner_Metadata/Partner.h b/ios/Artsy/Models/API_Models/Partner_Metadata/Partner.h similarity index 100% rename from Artsy/Models/API_Models/Partner_Metadata/Partner.h rename to ios/Artsy/Models/API_Models/Partner_Metadata/Partner.h diff --git a/Artsy/Models/API_Models/Partner_Metadata/Partner.m b/ios/Artsy/Models/API_Models/Partner_Metadata/Partner.m similarity index 100% rename from Artsy/Models/API_Models/Partner_Metadata/Partner.m rename to ios/Artsy/Models/API_Models/Partner_Metadata/Partner.m diff --git a/Artsy/Models/API_Models/Partner_Metadata/PartnerShow.h b/ios/Artsy/Models/API_Models/Partner_Metadata/PartnerShow.h similarity index 100% rename from Artsy/Models/API_Models/Partner_Metadata/PartnerShow.h rename to ios/Artsy/Models/API_Models/Partner_Metadata/PartnerShow.h diff --git a/Artsy/Models/API_Models/Partner_Metadata/PartnerShow.m b/ios/Artsy/Models/API_Models/Partner_Metadata/PartnerShow.m similarity index 100% rename from Artsy/Models/API_Models/Partner_Metadata/PartnerShow.m rename to ios/Artsy/Models/API_Models/Partner_Metadata/PartnerShow.m diff --git a/Artsy/Models/API_Models/Posts/Article.h b/ios/Artsy/Models/API_Models/Posts/Article.h similarity index 100% rename from Artsy/Models/API_Models/Posts/Article.h rename to ios/Artsy/Models/API_Models/Posts/Article.h diff --git a/Artsy/Models/API_Models/Posts/Article.m b/ios/Artsy/Models/API_Models/Posts/Article.m similarity index 100% rename from Artsy/Models/API_Models/Posts/Article.m rename to ios/Artsy/Models/API_Models/Posts/Article.m diff --git a/Artsy/Models/API_Models/Social/Profile.h b/ios/Artsy/Models/API_Models/Social/Profile.h similarity index 100% rename from Artsy/Models/API_Models/Social/Profile.h rename to ios/Artsy/Models/API_Models/Social/Profile.h diff --git a/Artsy/Models/API_Models/Social/Profile.m b/ios/Artsy/Models/API_Models/Social/Profile.m similarity index 100% rename from Artsy/Models/API_Models/Social/Profile.m rename to ios/Artsy/Models/API_Models/Social/Profile.m diff --git a/Artsy/Models/API_Models/Social/User.h b/ios/Artsy/Models/API_Models/Social/User.h similarity index 100% rename from Artsy/Models/API_Models/Social/User.h rename to ios/Artsy/Models/API_Models/Social/User.h diff --git a/Artsy/Models/API_Models/Social/User.m b/ios/Artsy/Models/API_Models/Social/User.m similarity index 100% rename from Artsy/Models/API_Models/Social/User.m rename to ios/Artsy/Models/API_Models/Social/User.m diff --git a/Artsy/Models/Protocols/ARHasImageBaseURL.h b/ios/Artsy/Models/Protocols/ARHasImageBaseURL.h similarity index 100% rename from Artsy/Models/Protocols/ARHasImageBaseURL.h rename to ios/Artsy/Models/Protocols/ARHasImageBaseURL.h diff --git a/Artsy/Models/Protocols/ARPostAttachment.h b/ios/Artsy/Models/Protocols/ARPostAttachment.h similarity index 100% rename from Artsy/Models/Protocols/ARPostAttachment.h rename to ios/Artsy/Models/Protocols/ARPostAttachment.h diff --git a/ios/Artsy/NativeModules/ARTCityGuideViewManager.h b/ios/Artsy/NativeModules/ARTCityGuideViewManager.h new file mode 100644 index 00000000000..d77e82f6127 --- /dev/null +++ b/ios/Artsy/NativeModules/ARTCityGuideViewManager.h @@ -0,0 +1,9 @@ +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface ARTCityGuideViewManager : RCTViewManager + +@end + +NS_ASSUME_NONNULL_END diff --git a/ios/Artsy/NativeModules/ARTCityGuideViewManager.m b/ios/Artsy/NativeModules/ARTCityGuideViewManager.m new file mode 100644 index 00000000000..ecedad3ac16 --- /dev/null +++ b/ios/Artsy/NativeModules/ARTCityGuideViewManager.m @@ -0,0 +1,14 @@ +#import "ARTCityGuideViewManager.h" +#import +#import "Artsy-Swift.h" + +@implementation ARTCityGuideViewManager + +RCT_EXPORT_MODULE(ARTCityGuideView) + +- (UIView *)view +{ + return [[CityGuideView alloc] init]; +} + +@end diff --git a/ios/Artsy/NativeModules/ARTLiveAuctionViewManager.h b/ios/Artsy/NativeModules/ARTLiveAuctionViewManager.h new file mode 100644 index 00000000000..0e0e9f2e87f --- /dev/null +++ b/ios/Artsy/NativeModules/ARTLiveAuctionViewManager.h @@ -0,0 +1,9 @@ +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface ARTLiveAuctionViewManager : RCTViewManager + +@end + +NS_ASSUME_NONNULL_END diff --git a/ios/Artsy/NativeModules/ARTLiveAuctionViewManager.m b/ios/Artsy/NativeModules/ARTLiveAuctionViewManager.m new file mode 100644 index 00000000000..357316d7f28 --- /dev/null +++ b/ios/Artsy/NativeModules/ARTLiveAuctionViewManager.m @@ -0,0 +1,19 @@ +#import "ARTLiveAuctionViewManager.h" +#import "Artsy-Swift.h" + +@implementation ARTLiveAuctionViewManager + +RCT_EXPORT_MODULE(ARTLiveAuctionView) + +- (UIView *)view +{ + return [[LiveAuctionView alloc] init]; +} + +RCT_CUSTOM_VIEW_PROPERTY(slug, NSString, LiveAuctionView) +{ + NSString *slug = json[@"slug"]; + [view setSlugWithSlug:slug]; +} + +@end diff --git a/ios/Artsy/NativeModules/ARTNativeScreenPresenterModule.h b/ios/Artsy/NativeModules/ARTNativeScreenPresenterModule.h new file mode 100644 index 00000000000..e7f5756cfad --- /dev/null +++ b/ios/Artsy/NativeModules/ARTNativeScreenPresenterModule.h @@ -0,0 +1,13 @@ +#import +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface ARTNativeScreenPresenterModule : NSObject + ++ (UIViewController *)currentlyPresentedVC; ++ (UIViewController *)loadWebViewAuctionRegistrationWithID:(NSString *)auctionID; + +@end + +NS_ASSUME_NONNULL_END diff --git a/ios/Artsy/NativeModules/ARTNativeScreenPresenterModule.m b/ios/Artsy/NativeModules/ARTNativeScreenPresenterModule.m new file mode 100644 index 00000000000..121cb916061 --- /dev/null +++ b/ios/Artsy/NativeModules/ARTNativeScreenPresenterModule.m @@ -0,0 +1,177 @@ +#import "ARTNativeScreenPresenterModule.h" +#import "ARAugmentedVIRSetupViewController.h" +#import "ARAugmentedRealityConfig.h" +#import "ARAugmentedFloorBasedVIRViewController.h" +#import "ArtsyEcho.h" +#import "AROptions.h" +#import "ARModalViewController.h" +#import "ARAppDelegate+Echo.h" +#import "ARAuctionWebViewController.h" +#import "Artsy-Swift.h" + +#import +#import "ARDispatchManager.h" +#import + +#import +#import + +@interface ARTNativeScreenPresenterModule () +@end + +@implementation ARTNativeScreenPresenterModule + +RCT_EXPORT_MODULE() + +RCT_EXPORT_METHOD(presentAugmentedRealityVIR:(NSString *)imgUrl width:(CGFloat)widthIn height:(CGFloat)heightIn artworkSlug:(NSString *)artworkSlug artworkId:(NSString *)artworkId) +{ + BOOL supportsARVIR = [ARAugmentedVIRSetupViewController canOpenARView]; + if (!supportsARVIR) { + // we don't expect emission to call this when there's no AR support + return; + } + // A bit weird, eh? Normally CGSize stores width+height in terms of pixels, but this one is stored in inches instead. + CGSize size = CGSizeMake(widthIn, heightIn); + NSURL *url = [NSURL URLWithString:imgUrl]; + + [ARAugmentedVIRSetupViewController canSkipARSetup:[NSUserDefaults standardUserDefaults] callback:^(bool allowedAccess) { + // The image can come from either the SDWebImage cache or from the internet. + // In either case, this block gets called with that image. + void (^gotImageBlock)(UIImage *image) = ^void(UIImage *image) { + ARAugmentedRealityConfig *config = [[ARAugmentedRealityConfig alloc] initWithImage:image size:size]; + config.artworkID = artworkId; + config.artworkSlug = artworkSlug; + config.floorBasedVIR = YES; + config.debugMode = [AROptions boolForOption:AROptionsDebugARVIR]; + + if (allowedAccess) { + ARAugmentedFloorBasedVIRViewController *viewInRoomVC = [[ARAugmentedFloorBasedVIRViewController alloc] initWithConfig:config]; + viewInRoomVC.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; + [[self.class currentlyPresentedVC] presentViewController:viewInRoomVC animated:YES completion:nil]; + } else { + ArtsyEcho *echo = [[ArtsyEcho alloc] init]; + [echo setup]; + + Message *setupURL = echo.messages[@"ARVIRVideo"]; + + NSURL *movieURL = setupURL.content.length ? [NSURL URLWithString:setupURL.content] : nil; + ARAugmentedVIRSetupViewController *setupVC = [[ARAugmentedVIRSetupViewController alloc] initWithMovieURL:movieURL config:config]; + setupVC.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; + [[self.class currentlyPresentedVC] presentViewController:setupVC animated:YES completion:nil]; + } + }; + + // Try to get a cached image from SDWebImage. This will succeed under normal runtime conditions. + // But in case there is severe RAM or disk pressure, the image might already be evicted from the cache. + // In the rare occurence that a cache lookup fails, download the image into the cache first. + SDWebImageManager *manager = [SDWebImageManager sharedManager]; + NSString *key = [manager cacheKeyForURL:url]; + [manager.imageCache containsImageForKey:key cacheType:SDImageCacheTypeAll completion:^(SDImageCacheType containsCacheType) { + if (containsCacheType != SDImageCacheTypeNone) { + [manager.imageCache queryImageForKey:key options:0 context:nil cacheType:containsCacheType completion:^(UIImage * _Nullable image, NSData * _Nullable data, SDImageCacheType cacheType) { + // TODO: Verify that this _does_ actually get a cache hit most often. + gotImageBlock(image); + }]; + } else { + [manager loadImageWithURL:url options:SDWebImageHighPriority progress:nil completed:^(UIImage * _Nullable image, NSData * _Nullable data, NSError * _Nullable error, SDImageCacheType cacheType, BOOL finished, NSURL * _Nullable imageURL) { + if (finished && !error) { + gotImageBlock(image); + } else { + // Errors are unlikely to happen, but we should handle them just in case. + // This represents both an image cache-miss _and_ a failure to + // download the image on its own. Very unlikely. + NSLog(@"[ARAppDelegate+Emission] Couldn't download image for AR VIR (%@, %@): %@", artworkSlug, imageURL, error); + UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"Failed to Load Image" message:@"We could not download the image to present in View-in-Room." preferredStyle:UIAlertControllerStyleAlert]; + UIAlertAction *defaultAction = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:nil]; + [alert addAction:defaultAction]; + [[ARTNativeScreenPresenterModule currentlyPresentedVC] presentViewController:alert animated:YES completion:nil]; + } + }]; + } + }]; + }]; +} + +/** + Preview media such as PDFs and Images + */ +RCT_EXPORT_METHOD(presentMediaPreviewController:(nonnull NSNumber *)reactTag route:(nonnull NSURL *)route mimeType:(nonnull NSString *)mimeType cacheKey:(nullable NSString *)cacheKey) +{ + UIView *originatingView = [self.bridge.uiManager viewForReactTag:reactTag]; + UIViewController *currentlyPresentedVC = [self.class currentlyPresentedVC]; + ARMediaPreviewController *previewVC = [ARMediaPreviewController mediaPreviewControllerWithRemoteURL:route + mimeType:mimeType + cacheKey:cacheKey + hostViewController:currentlyPresentedVC + originatingView:originatingView]; + [previewVC presentPreview]; +} + + +/** + We want an optional body parameter but are getting errors in debug mode when not passing, to get around this instead have two + methods one with body param and one without and choose which to use based on params passed in js + */ +RCT_EXPORT_METHOD(presentEmailComposerWithBody:(NSString *)body subject:(NSString *)subject toAddress:(NSString *)toAddress) +{ + ar_dispatch_main_queue(^{ + [self presentNativeEmailComposer:toAddress subject:subject body:body]; + }); +} + +RCT_EXPORT_METHOD(presentEmailComposerWithSubject:(NSString *)subject toAddress:(NSString *)toAddress) +{ + ar_dispatch_main_queue(^{ + [self presentNativeEmailComposer:toAddress subject:subject body:nil]; + }); +} + +- (void)presentNativeEmailComposer:(nonnull NSString *)toAddress subject:(nonnull NSString *)subject body:(nullable NSString *)body { + UIViewController *fromViewController = [self.class currentlyPresentedVC]; + if ([MFMailComposeViewController canSendMail]) { + MFMailComposeViewController *composer = [[MFMailComposeViewController alloc] init]; + composer.mailComposeDelegate = self; + [composer setToRecipients:@[toAddress]]; + [composer setSubject:subject]; + if (body) { + [composer setMessageBody:body isHTML:NO]; + } + [fromViewController presentViewController:composer animated:YES completion:nil]; + } else { + UIAlertController *alert = [UIAlertController + alertControllerWithTitle:@"No email configured" + message:[NSString stringWithFormat:@"You don't appear to have any email configured on your device. Please email %@ from another device.", toAddress] + preferredStyle:UIAlertControllerStyleAlert]; + [alert addAction:[UIAlertAction actionWithTitle:@"Ok" style:UIAlertActionStyleCancel handler:nil]]; + [fromViewController presentViewController:alert animated:YES completion:nil]; + } +} + ++ (UIViewController *)loadWebViewAuctionRegistrationWithID:(NSString *)auctionID +{ + NSString *path = [NSString stringWithFormat:@"/auction/%@/register", auctionID]; + NSURL *URL = [ARRouter resolveRelativeUrl:path]; + return [[ARAuctionWebViewController alloc] initWithURL:URL auctionID:auctionID artworkID:nil]; +} + +#pragma mark - MFMailComposeViewControllerDelegate + +- (void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(nullable NSError *)error +{ + [controller.presentingViewController dismissViewControllerAnimated:YES completion:nil]; +} + +#pragma mark - HELPER + ++ (UIViewController *)currentlyPresentedVC +{ + UIViewController *vc = [[ARAppDelegate sharedInstance] window].rootViewController; + + while ([vc presentedViewController] && [[vc presentedViewController] isKindOfClass:ARModalViewController.class]) { + vc = [vc presentedViewController]; + } + + return vc; +} + +@end diff --git a/ios/Artsy/NativeModules/ARTOldAdminViewManager.h b/ios/Artsy/NativeModules/ARTOldAdminViewManager.h new file mode 100644 index 00000000000..57afe174f8a --- /dev/null +++ b/ios/Artsy/NativeModules/ARTOldAdminViewManager.h @@ -0,0 +1,9 @@ +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface ARTOldAdminViewManager : RCTViewManager + +@end + +NS_ASSUME_NONNULL_END diff --git a/ios/Artsy/NativeModules/ARTOldAdminViewManager.m b/ios/Artsy/NativeModules/ARTOldAdminViewManager.m new file mode 100644 index 00000000000..ef1943426ea --- /dev/null +++ b/ios/Artsy/NativeModules/ARTOldAdminViewManager.m @@ -0,0 +1,14 @@ +#import "ARTOldAdminViewManager.h" +#import +#import "Artsy-Swift.h" + +@implementation ARTOldAdminViewManager + +RCT_EXPORT_MODULE(ARTOldAdminView) + +- (UIView *)view +{ + return [[OldAdminView alloc] init]; +} + +@end diff --git a/ios/Artsy/NativeModules/CityGuideView.swift b/ios/Artsy/NativeModules/CityGuideView.swift new file mode 100644 index 00000000000..554dd8d31ff --- /dev/null +++ b/ios/Artsy/NativeModules/CityGuideView.swift @@ -0,0 +1,41 @@ +import UIKit + +class CityGuideView: UIView { + weak var mapContainerViewController: AREigenMapContainerViewController? + + override func layoutSubviews() { + super.layoutSubviews() + + if mapContainerViewController == nil { + embed() + } else { + mapContainerViewController?.view.frame = bounds + } + } + + private func embed() { + guard + let parentVC = parentViewController + else { + return + } + + let vc = AREigenMapContainerViewController() + parentVC.addChild(vc) + addSubview(vc.view) + vc.view.frame = bounds + vc.didMove(toParent: parentVC) + self.mapContainerViewController = vc + } + + var parentViewController: UIViewController? { + var parentResponder: UIResponder? = self + while parentResponder != nil { + parentResponder = parentResponder!.next + if let viewController = parentResponder as? UIViewController { + return viewController + } + } + return nil + } +} diff --git a/ios/Artsy/NativeModules/LiveAuctionView.swift b/ios/Artsy/NativeModules/LiveAuctionView.swift new file mode 100644 index 00000000000..4300ab3b462 --- /dev/null +++ b/ios/Artsy/NativeModules/LiveAuctionView.swift @@ -0,0 +1,48 @@ +import UIKit + +class LiveAuctionView: UIView { + + weak var liveSaleViewController: LiveAuctionViewController? + + private var slug : String? + + override func layoutSubviews() { + super.layoutSubviews() + + if let slug = slug, liveSaleViewController == nil { + embed(slug: slug) + } else { + liveSaleViewController?.view.frame = bounds + } + } + + @objc func setSlug(slug: String) { + self.slug = slug + } + + private func embed(slug: String) { + guard + let parentVC = parentViewController + else { + return + } + + let vc = LiveAuctionViewController(saleSlugOrID: slug) + parentVC.addChild(vc) + addSubview(vc.view) + vc.view.frame = bounds + vc.didMove(toParent: parentVC) + self.liveSaleViewController = vc + } + + var parentViewController: UIViewController? { + var parentResponder: UIResponder? = self + while parentResponder != nil { + parentResponder = parentResponder!.next + if let viewController = parentResponder as? UIViewController { + return viewController + } + } + return nil + } +} diff --git a/ios/Artsy/NativeModules/OldAdminView.swift b/ios/Artsy/NativeModules/OldAdminView.swift new file mode 100644 index 00000000000..547b4a5aaff --- /dev/null +++ b/ios/Artsy/NativeModules/OldAdminView.swift @@ -0,0 +1,42 @@ +import UIKit + +class OldAdminView: UIView { + weak var oldAdminViewController: ARAdminSettingsViewController? + + override func layoutSubviews() { + super.layoutSubviews() + + if oldAdminViewController == nil { + embed() + } else { + oldAdminViewController?.view.frame = bounds + } + } + + private func embed() { + guard + let parentVC = parentViewController + else { + return + } + + let vc = ARAdminSettingsViewController(style: .grouped)! + vc.view.backgroundColor = UIColor.purple + parentVC.addChild(vc) + addSubview(vc.view) + vc.view.frame = bounds + vc.didMove(toParent: parentVC) + self.oldAdminViewController = vc + } + + var parentViewController: UIViewController? { + var parentResponder: UIResponder? = self + while parentResponder != nil { + parentResponder = parentResponder!.next + if let viewController = parentResponder as? UIViewController { + return viewController + } + } + return nil + } +} diff --git a/Artsy/Navigation_Transitions/ARDefaultNavigationTransition.h b/ios/Artsy/Navigation_Transitions/ARDefaultNavigationTransition.h similarity index 100% rename from Artsy/Navigation_Transitions/ARDefaultNavigationTransition.h rename to ios/Artsy/Navigation_Transitions/ARDefaultNavigationTransition.h diff --git a/Artsy/Navigation_Transitions/ARDefaultNavigationTransition.m b/ios/Artsy/Navigation_Transitions/ARDefaultNavigationTransition.m similarity index 100% rename from Artsy/Navigation_Transitions/ARDefaultNavigationTransition.m rename to ios/Artsy/Navigation_Transitions/ARDefaultNavigationTransition.m diff --git a/Artsy/Navigation_Transitions/ARNavigationTransition.h b/ios/Artsy/Navigation_Transitions/ARNavigationTransition.h similarity index 100% rename from Artsy/Navigation_Transitions/ARNavigationTransition.h rename to ios/Artsy/Navigation_Transitions/ARNavigationTransition.h diff --git a/Artsy/Navigation_Transitions/ARNavigationTransition.m b/ios/Artsy/Navigation_Transitions/ARNavigationTransition.m similarity index 100% rename from Artsy/Navigation_Transitions/ARNavigationTransition.m rename to ios/Artsy/Navigation_Transitions/ARNavigationTransition.m diff --git a/Artsy/Navigation_Transitions/ARNavigationTransitionController.h b/ios/Artsy/Navigation_Transitions/ARNavigationTransitionController.h similarity index 100% rename from Artsy/Navigation_Transitions/ARNavigationTransitionController.h rename to ios/Artsy/Navigation_Transitions/ARNavigationTransitionController.h diff --git a/Artsy/Navigation_Transitions/ARNavigationTransitionController.m b/ios/Artsy/Navigation_Transitions/ARNavigationTransitionController.m similarity index 100% rename from Artsy/Navigation_Transitions/ARNavigationTransitionController.m rename to ios/Artsy/Navigation_Transitions/ARNavigationTransitionController.m diff --git a/Artsy/Networking/API_Modules/ARKeychainable.h b/ios/Artsy/Networking/API_Modules/ARKeychainable.h similarity index 100% rename from Artsy/Networking/API_Modules/ARKeychainable.h rename to ios/Artsy/Networking/API_Modules/ARKeychainable.h diff --git a/Artsy/Networking/API_Modules/ARKeychainable.m b/ios/Artsy/Networking/API_Modules/ARKeychainable.m similarity index 100% rename from Artsy/Networking/API_Modules/ARKeychainable.m rename to ios/Artsy/Networking/API_Modules/ARKeychainable.m diff --git a/Artsy/Networking/API_Modules/ARUserManager.h b/ios/Artsy/Networking/API_Modules/ARUserManager.h similarity index 100% rename from Artsy/Networking/API_Modules/ARUserManager.h rename to ios/Artsy/Networking/API_Modules/ARUserManager.h diff --git a/Artsy/Networking/API_Modules/ARUserManager.m b/ios/Artsy/Networking/API_Modules/ARUserManager.m similarity index 98% rename from Artsy/Networking/API_Modules/ARUserManager.m rename to ios/Artsy/Networking/API_Modules/ARUserManager.m index 639c4c4350f..bc4bc328967 100644 --- a/Artsy/Networking/API_Modules/ARUserManager.m +++ b/ios/Artsy/Networking/API_Modules/ARUserManager.m @@ -21,7 +21,7 @@ #import "MTLModel+JSON.h" #import "AFHTTPRequestOperation+JSON.h" #import "ARDispatchManager.h" -#import "ARScreenPresenterModule.h" +#import "ARTNativeScreenPresenterModule.h" #import @@ -183,8 +183,6 @@ + (void)clearUserData:(ARUserManager *)manager [ARRouter setAuthToken:nil]; manager.currentUser = nil; - [ARScreenPresenterModule clearCachedNavigationStacks]; - RNCAsyncStorage *asyncStorage = [[[AREmission sharedInstance] bridge] moduleForName:@"RNCAsyncStorage"]; [asyncStorage clearAllData]; diff --git a/Artsy/Networking/API_Modules/ArtsyAPI+CurrentUserFunctions.h b/ios/Artsy/Networking/API_Modules/ArtsyAPI+CurrentUserFunctions.h similarity index 100% rename from Artsy/Networking/API_Modules/ArtsyAPI+CurrentUserFunctions.h rename to ios/Artsy/Networking/API_Modules/ArtsyAPI+CurrentUserFunctions.h diff --git a/Artsy/Networking/API_Modules/ArtsyAPI+CurrentUserFunctions.m b/ios/Artsy/Networking/API_Modules/ArtsyAPI+CurrentUserFunctions.m similarity index 100% rename from Artsy/Networking/API_Modules/ArtsyAPI+CurrentUserFunctions.m rename to ios/Artsy/Networking/API_Modules/ArtsyAPI+CurrentUserFunctions.m diff --git a/Artsy/Networking/API_Modules/ArtsyAPI+DeviceTokens.h b/ios/Artsy/Networking/API_Modules/ArtsyAPI+DeviceTokens.h similarity index 100% rename from Artsy/Networking/API_Modules/ArtsyAPI+DeviceTokens.h rename to ios/Artsy/Networking/API_Modules/ArtsyAPI+DeviceTokens.h diff --git a/Artsy/Networking/API_Modules/ArtsyAPI+DeviceTokens.m b/ios/Artsy/Networking/API_Modules/ArtsyAPI+DeviceTokens.m similarity index 100% rename from Artsy/Networking/API_Modules/ArtsyAPI+DeviceTokens.m rename to ios/Artsy/Networking/API_Modules/ArtsyAPI+DeviceTokens.m diff --git a/Artsy/Networking/API_Modules/ArtsyAPI+ErrorHandlers.h b/ios/Artsy/Networking/API_Modules/ArtsyAPI+ErrorHandlers.h similarity index 100% rename from Artsy/Networking/API_Modules/ArtsyAPI+ErrorHandlers.h rename to ios/Artsy/Networking/API_Modules/ArtsyAPI+ErrorHandlers.h diff --git a/Artsy/Networking/API_Modules/ArtsyAPI+ErrorHandlers.m b/ios/Artsy/Networking/API_Modules/ArtsyAPI+ErrorHandlers.m similarity index 100% rename from Artsy/Networking/API_Modules/ArtsyAPI+ErrorHandlers.m rename to ios/Artsy/Networking/API_Modules/ArtsyAPI+ErrorHandlers.m diff --git a/Artsy/Networking/API_Modules/ArtsyAPI+Following.h b/ios/Artsy/Networking/API_Modules/ArtsyAPI+Following.h similarity index 100% rename from Artsy/Networking/API_Modules/ArtsyAPI+Following.h rename to ios/Artsy/Networking/API_Modules/ArtsyAPI+Following.h diff --git a/Artsy/Networking/API_Modules/ArtsyAPI+Following.m b/ios/Artsy/Networking/API_Modules/ArtsyAPI+Following.m similarity index 100% rename from Artsy/Networking/API_Modules/ArtsyAPI+Following.m rename to ios/Artsy/Networking/API_Modules/ArtsyAPI+Following.m diff --git a/Artsy/Networking/API_Modules/ArtsyAPI+HEAD.h b/ios/Artsy/Networking/API_Modules/ArtsyAPI+HEAD.h similarity index 100% rename from Artsy/Networking/API_Modules/ArtsyAPI+HEAD.h rename to ios/Artsy/Networking/API_Modules/ArtsyAPI+HEAD.h diff --git a/Artsy/Networking/API_Modules/ArtsyAPI+HEAD.m b/ios/Artsy/Networking/API_Modules/ArtsyAPI+HEAD.m similarity index 100% rename from Artsy/Networking/API_Modules/ArtsyAPI+HEAD.m rename to ios/Artsy/Networking/API_Modules/ArtsyAPI+HEAD.m diff --git a/Artsy/Networking/API_Modules/ArtsyAPI+Notifications.h b/ios/Artsy/Networking/API_Modules/ArtsyAPI+Notifications.h similarity index 100% rename from Artsy/Networking/API_Modules/ArtsyAPI+Notifications.h rename to ios/Artsy/Networking/API_Modules/ArtsyAPI+Notifications.h diff --git a/Artsy/Networking/API_Modules/ArtsyAPI+Notifications.m b/ios/Artsy/Networking/API_Modules/ArtsyAPI+Notifications.m similarity index 100% rename from Artsy/Networking/API_Modules/ArtsyAPI+Notifications.m rename to ios/Artsy/Networking/API_Modules/ArtsyAPI+Notifications.m diff --git a/Artsy/Networking/API_Modules/ArtsyAPI+Pages.h b/ios/Artsy/Networking/API_Modules/ArtsyAPI+Pages.h similarity index 100% rename from Artsy/Networking/API_Modules/ArtsyAPI+Pages.h rename to ios/Artsy/Networking/API_Modules/ArtsyAPI+Pages.h diff --git a/Artsy/Networking/API_Modules/ArtsyAPI+Pages.m b/ios/Artsy/Networking/API_Modules/ArtsyAPI+Pages.m similarity index 100% rename from Artsy/Networking/API_Modules/ArtsyAPI+Pages.m rename to ios/Artsy/Networking/API_Modules/ArtsyAPI+Pages.m diff --git a/Artsy/Networking/API_Modules/ArtsyAPI+Private.h b/ios/Artsy/Networking/API_Modules/ArtsyAPI+Private.h similarity index 100% rename from Artsy/Networking/API_Modules/ArtsyAPI+Private.h rename to ios/Artsy/Networking/API_Modules/ArtsyAPI+Private.h diff --git a/Artsy/Networking/API_Modules/ArtsyAPI+Profiles.h b/ios/Artsy/Networking/API_Modules/ArtsyAPI+Profiles.h similarity index 100% rename from Artsy/Networking/API_Modules/ArtsyAPI+Profiles.h rename to ios/Artsy/Networking/API_Modules/ArtsyAPI+Profiles.h diff --git a/Artsy/Networking/API_Modules/ArtsyAPI+Profiles.m b/ios/Artsy/Networking/API_Modules/ArtsyAPI+Profiles.m similarity index 100% rename from Artsy/Networking/API_Modules/ArtsyAPI+Profiles.m rename to ios/Artsy/Networking/API_Modules/ArtsyAPI+Profiles.m diff --git a/Artsy/Networking/API_Modules/ArtsyAPI+RelatedModels.h b/ios/Artsy/Networking/API_Modules/ArtsyAPI+RelatedModels.h similarity index 100% rename from Artsy/Networking/API_Modules/ArtsyAPI+RelatedModels.h rename to ios/Artsy/Networking/API_Modules/ArtsyAPI+RelatedModels.h diff --git a/Artsy/Networking/API_Modules/ArtsyAPI+RelatedModels.m b/ios/Artsy/Networking/API_Modules/ArtsyAPI+RelatedModels.m similarity index 100% rename from Artsy/Networking/API_Modules/ArtsyAPI+RelatedModels.m rename to ios/Artsy/Networking/API_Modules/ArtsyAPI+RelatedModels.m diff --git a/Artsy/Networking/API_Modules/ArtsyAPI+Sales.h b/ios/Artsy/Networking/API_Modules/ArtsyAPI+Sales.h similarity index 100% rename from Artsy/Networking/API_Modules/ArtsyAPI+Sales.h rename to ios/Artsy/Networking/API_Modules/ArtsyAPI+Sales.h diff --git a/Artsy/Networking/API_Modules/ArtsyAPI+Sales.m b/ios/Artsy/Networking/API_Modules/ArtsyAPI+Sales.m similarity index 100% rename from Artsy/Networking/API_Modules/ArtsyAPI+Sales.m rename to ios/Artsy/Networking/API_Modules/ArtsyAPI+Sales.m diff --git a/Artsy/Networking/API_Modules/ArtsyAPI+SystemTime.h b/ios/Artsy/Networking/API_Modules/ArtsyAPI+SystemTime.h similarity index 100% rename from Artsy/Networking/API_Modules/ArtsyAPI+SystemTime.h rename to ios/Artsy/Networking/API_Modules/ArtsyAPI+SystemTime.h diff --git a/Artsy/Networking/API_Modules/ArtsyAPI+SystemTime.m b/ios/Artsy/Networking/API_Modules/ArtsyAPI+SystemTime.m similarity index 100% rename from Artsy/Networking/API_Modules/ArtsyAPI+SystemTime.m rename to ios/Artsy/Networking/API_Modules/ArtsyAPI+SystemTime.m diff --git a/Artsy/Networking/ARAuthProviders.h b/ios/Artsy/Networking/ARAuthProviders.h similarity index 100% rename from Artsy/Networking/ARAuthProviders.h rename to ios/Artsy/Networking/ARAuthProviders.h diff --git a/Artsy/Networking/ARAuthProviders.m b/ios/Artsy/Networking/ARAuthProviders.m similarity index 100% rename from Artsy/Networking/ARAuthProviders.m rename to ios/Artsy/Networking/ARAuthProviders.m diff --git a/Artsy/Networking/ARNetworkConstants.h b/ios/Artsy/Networking/ARNetworkConstants.h similarity index 100% rename from Artsy/Networking/ARNetworkConstants.h rename to ios/Artsy/Networking/ARNetworkConstants.h diff --git a/Artsy/Networking/ARNetworkConstants.m b/ios/Artsy/Networking/ARNetworkConstants.m similarity index 100% rename from Artsy/Networking/ARNetworkConstants.m rename to ios/Artsy/Networking/ARNetworkConstants.m diff --git a/Artsy/Networking/ARReactPackagerHost.h b/ios/Artsy/Networking/ARReactPackagerHost.h similarity index 100% rename from Artsy/Networking/ARReactPackagerHost.h rename to ios/Artsy/Networking/ARReactPackagerHost.h diff --git a/Artsy/Networking/ARRouter+GraphQL.h b/ios/Artsy/Networking/ARRouter+GraphQL.h similarity index 100% rename from Artsy/Networking/ARRouter+GraphQL.h rename to ios/Artsy/Networking/ARRouter+GraphQL.h diff --git a/Artsy/Networking/ARRouter+GraphQL.m b/ios/Artsy/Networking/ARRouter+GraphQL.m similarity index 100% rename from Artsy/Networking/ARRouter+GraphQL.m rename to ios/Artsy/Networking/ARRouter+GraphQL.m diff --git a/Artsy/Networking/ARRouter.h b/ios/Artsy/Networking/ARRouter.h similarity index 100% rename from Artsy/Networking/ARRouter.h rename to ios/Artsy/Networking/ARRouter.h diff --git a/Artsy/Networking/ARRouter.m b/ios/Artsy/Networking/ARRouter.m similarity index 100% rename from Artsy/Networking/ARRouter.m rename to ios/Artsy/Networking/ARRouter.m diff --git a/Artsy/Networking/ARSystemTime.h b/ios/Artsy/Networking/ARSystemTime.h similarity index 100% rename from Artsy/Networking/ARSystemTime.h rename to ios/Artsy/Networking/ARSystemTime.h diff --git a/Artsy/Networking/ARSystemTime.m b/ios/Artsy/Networking/ARSystemTime.m similarity index 100% rename from Artsy/Networking/ARSystemTime.m rename to ios/Artsy/Networking/ARSystemTime.m diff --git a/Artsy/Networking/ArtsyAPI.h b/ios/Artsy/Networking/ArtsyAPI.h similarity index 100% rename from Artsy/Networking/ArtsyAPI.h rename to ios/Artsy/Networking/ArtsyAPI.h diff --git a/Artsy/Networking/ArtsyAPI.m b/ios/Artsy/Networking/ArtsyAPI.m similarity index 100% rename from Artsy/Networking/ArtsyAPI.m rename to ios/Artsy/Networking/ArtsyAPI.m diff --git a/Artsy/Networking/Live_Auctions/LiveAuctionSocketCommunicator.swift b/ios/Artsy/Networking/Live_Auctions/LiveAuctionSocketCommunicator.swift similarity index 100% rename from Artsy/Networking/Live_Auctions/LiveAuctionSocketCommunicator.swift rename to ios/Artsy/Networking/Live_Auctions/LiveAuctionSocketCommunicator.swift diff --git a/Artsy/Networking/Live_Auctions/StarscreamExtensions.swift b/ios/Artsy/Networking/Live_Auctions/StarscreamExtensions.swift similarity index 100% rename from Artsy/Networking/Live_Auctions/StarscreamExtensions.swift rename to ios/Artsy/Networking/Live_Auctions/StarscreamExtensions.swift diff --git a/Artsy/Networking/Mantle_Extensions/MTLModel+Dictionary.h b/ios/Artsy/Networking/Mantle_Extensions/MTLModel+Dictionary.h similarity index 100% rename from Artsy/Networking/Mantle_Extensions/MTLModel+Dictionary.h rename to ios/Artsy/Networking/Mantle_Extensions/MTLModel+Dictionary.h diff --git a/Artsy/Networking/Mantle_Extensions/MTLModel+Dictionary.m b/ios/Artsy/Networking/Mantle_Extensions/MTLModel+Dictionary.m similarity index 100% rename from Artsy/Networking/Mantle_Extensions/MTLModel+Dictionary.m rename to ios/Artsy/Networking/Mantle_Extensions/MTLModel+Dictionary.m diff --git a/Artsy/Networking/Mantle_Extensions/MTLModel+JSON.h b/ios/Artsy/Networking/Mantle_Extensions/MTLModel+JSON.h similarity index 100% rename from Artsy/Networking/Mantle_Extensions/MTLModel+JSON.h rename to ios/Artsy/Networking/Mantle_Extensions/MTLModel+JSON.h diff --git a/Artsy/Networking/Mantle_Extensions/MTLModel+JSON.m b/ios/Artsy/Networking/Mantle_Extensions/MTLModel+JSON.m similarity index 100% rename from Artsy/Networking/Mantle_Extensions/MTLModel+JSON.m rename to ios/Artsy/Networking/Mantle_Extensions/MTLModel+JSON.m diff --git a/Artsy/Networking/static_sale_data.graphql b/ios/Artsy/Networking/static_sale_data.graphql similarity index 100% rename from Artsy/Networking/static_sale_data.graphql rename to ios/Artsy/Networking/static_sale_data.graphql diff --git a/Artsy/Protocols/ARFeedHostItem.h b/ios/Artsy/Protocols/ARFeedHostItem.h similarity index 100% rename from Artsy/Protocols/ARFeedHostItem.h rename to ios/Artsy/Protocols/ARFeedHostItem.h diff --git a/Artsy/Protocols/ARFollowable.h b/ios/Artsy/Protocols/ARFollowable.h similarity index 100% rename from Artsy/Protocols/ARFollowable.h rename to ios/Artsy/Protocols/ARFollowable.h diff --git a/Artsy/Protocols/ARShareableObject.h b/ios/Artsy/Protocols/ARShareableObject.h similarity index 100% rename from Artsy/Protocols/ARShareableObject.h rename to ios/Artsy/Protocols/ARShareableObject.h diff --git a/Artsy/Resources/Artsy-Bridging-Header.h b/ios/Artsy/Resources/Artsy-Bridging-Header.h similarity index 95% rename from Artsy/Resources/Artsy-Bridging-Header.h rename to ios/Artsy/Resources/Artsy-Bridging-Header.h index 1cf4c789df2..f68d51c0d28 100644 --- a/Artsy/Resources/Artsy-Bridging-Header.h +++ b/ios/Artsy/Resources/Artsy-Bridging-Header.h @@ -106,4 +106,10 @@ #import #import -#import "ARScreenPresenterModule.h" +#import "ARTNativeScreenPresenterModule.h" + +// CityGuide +#import "AREigenMapContainerViewController.h" + +// Admin +#import "ARAdminSettingsViewController.h" diff --git a/Artsy/Resources/Assets/ARVIRBack@2x.png b/ios/Artsy/Resources/Assets/ARVIRBack@2x.png similarity index 100% rename from Artsy/Resources/Assets/ARVIRBack@2x.png rename to ios/Artsy/Resources/Assets/ARVIRBack@2x.png diff --git a/Artsy/Resources/Assets/ARVIRBack@3x.png b/ios/Artsy/Resources/Assets/ARVIRBack@3x.png similarity index 100% rename from Artsy/Resources/Assets/ARVIRBack@3x.png rename to ios/Artsy/Resources/Assets/ARVIRBack@3x.png diff --git a/Artsy/Resources/Assets/ARVIRPhone@2x.png b/ios/Artsy/Resources/Assets/ARVIRPhone@2x.png similarity index 100% rename from Artsy/Resources/Assets/ARVIRPhone@2x.png rename to ios/Artsy/Resources/Assets/ARVIRPhone@2x.png diff --git a/Artsy/Resources/Assets/ARVIRPhone@3x.png b/ios/Artsy/Resources/Assets/ARVIRPhone@3x.png similarity index 100% rename from Artsy/Resources/Assets/ARVIRPhone@3x.png rename to ios/Artsy/Resources/Assets/ARVIRPhone@3x.png diff --git a/Artsy/Resources/Assets/ARVIRRefresh@2x.png b/ios/Artsy/Resources/Assets/ARVIRRefresh@2x.png similarity index 100% rename from Artsy/Resources/Assets/ARVIRRefresh@2x.png rename to ios/Artsy/Resources/Assets/ARVIRRefresh@2x.png diff --git a/Artsy/Resources/Assets/ARVIRRefresh@3x.png b/ios/Artsy/Resources/Assets/ARVIRRefresh@3x.png similarity index 100% rename from Artsy/Resources/Assets/ARVIRRefresh@3x.png rename to ios/Artsy/Resources/Assets/ARVIRRefresh@3x.png diff --git a/Artsy/Resources/Assets/Artsy_Logo.png b/ios/Artsy/Resources/Assets/Artsy_Logo.png similarity index 100% rename from Artsy/Resources/Assets/Artsy_Logo.png rename to ios/Artsy/Resources/Assets/Artsy_Logo.png diff --git a/Artsy/Resources/Assets/AttentionIcon@2x.png b/ios/Artsy/Resources/Assets/AttentionIcon@2x.png similarity index 100% rename from Artsy/Resources/Assets/AttentionIcon@2x.png rename to ios/Artsy/Resources/Assets/AttentionIcon@2x.png diff --git a/Artsy/Resources/Assets/AuctionRefineCheck.png b/ios/Artsy/Resources/Assets/AuctionRefineCheck.png similarity index 100% rename from Artsy/Resources/Assets/AuctionRefineCheck.png rename to ios/Artsy/Resources/Assets/AuctionRefineCheck.png diff --git a/Artsy/Resources/Assets/AuctionRefineCheck@2x.png b/ios/Artsy/Resources/Assets/AuctionRefineCheck@2x.png similarity index 100% rename from Artsy/Resources/Assets/AuctionRefineCheck@2x.png rename to ios/Artsy/Resources/Assets/AuctionRefineCheck@2x.png diff --git a/Artsy/Resources/Assets/BackArrow_Highlighted@2x.png b/ios/Artsy/Resources/Assets/BackArrow_Highlighted@2x.png similarity index 100% rename from Artsy/Resources/Assets/BackArrow_Highlighted@2x.png rename to ios/Artsy/Resources/Assets/BackArrow_Highlighted@2x.png diff --git a/Artsy/Resources/Assets/BackChevron.png b/ios/Artsy/Resources/Assets/BackChevron.png similarity index 100% rename from Artsy/Resources/Assets/BackChevron.png rename to ios/Artsy/Resources/Assets/BackChevron.png diff --git a/Artsy/Resources/Assets/BackChevron@2x.png b/ios/Artsy/Resources/Assets/BackChevron@2x.png similarity index 100% rename from Artsy/Resources/Assets/BackChevron@2x.png rename to ios/Artsy/Resources/Assets/BackChevron@2x.png diff --git a/Artsy/Resources/Assets/BackChevron@3x.png b/ios/Artsy/Resources/Assets/BackChevron@3x.png similarity index 100% rename from Artsy/Resources/Assets/BackChevron@3x.png rename to ios/Artsy/Resources/Assets/BackChevron@3x.png diff --git a/Artsy/Resources/Assets/Chevron_White_Left@2x.png b/ios/Artsy/Resources/Assets/Chevron_White_Left@2x.png similarity index 100% rename from Artsy/Resources/Assets/Chevron_White_Left@2x.png rename to ios/Artsy/Resources/Assets/Chevron_White_Left@2x.png diff --git a/Artsy/Resources/Assets/Chevron_White_Left@3x.png b/ios/Artsy/Resources/Assets/Chevron_White_Left@3x.png similarity index 100% rename from Artsy/Resources/Assets/Chevron_White_Left@3x.png rename to ios/Artsy/Resources/Assets/Chevron_White_Left@3x.png diff --git a/Artsy/Resources/Assets/CircleCheckGreen.png b/ios/Artsy/Resources/Assets/CircleCheckGreen.png similarity index 100% rename from Artsy/Resources/Assets/CircleCheckGreen.png rename to ios/Artsy/Resources/Assets/CircleCheckGreen.png diff --git a/Artsy/Resources/Assets/CircleCheckGreen@2x.png b/ios/Artsy/Resources/Assets/CircleCheckGreen@2x.png similarity index 100% rename from Artsy/Resources/Assets/CircleCheckGreen@2x.png rename to ios/Artsy/Resources/Assets/CircleCheckGreen@2x.png diff --git a/Artsy/Resources/Assets/CircleCheckGreen@3x.png b/ios/Artsy/Resources/Assets/CircleCheckGreen@3x.png similarity index 100% rename from Artsy/Resources/Assets/CircleCheckGreen@3x.png rename to ios/Artsy/Resources/Assets/CircleCheckGreen@3x.png diff --git a/Artsy/Resources/Assets/CircleXRed.png b/ios/Artsy/Resources/Assets/CircleXRed.png similarity index 100% rename from Artsy/Resources/Assets/CircleXRed.png rename to ios/Artsy/Resources/Assets/CircleXRed.png diff --git a/Artsy/Resources/Assets/CircleXRed@2x.png b/ios/Artsy/Resources/Assets/CircleXRed@2x.png similarity index 100% rename from Artsy/Resources/Assets/CircleXRed@2x.png rename to ios/Artsy/Resources/Assets/CircleXRed@2x.png diff --git a/Artsy/Resources/Assets/CircleXRed@3x.png b/ios/Artsy/Resources/Assets/CircleXRed@3x.png similarity index 100% rename from Artsy/Resources/Assets/CircleXRed@3x.png rename to ios/Artsy/Resources/Assets/CircleXRed@3x.png diff --git a/Artsy/Resources/Assets/CircularCancelButton.png b/ios/Artsy/Resources/Assets/CircularCancelButton.png similarity index 100% rename from Artsy/Resources/Assets/CircularCancelButton.png rename to ios/Artsy/Resources/Assets/CircularCancelButton.png diff --git a/Artsy/Resources/Assets/CircularCancelButton@2x.png b/ios/Artsy/Resources/Assets/CircularCancelButton@2x.png similarity index 100% rename from Artsy/Resources/Assets/CircularCancelButton@2x.png rename to ios/Artsy/Resources/Assets/CircularCancelButton@2x.png diff --git a/Artsy/Resources/Assets/CircularInfoButton.png b/ios/Artsy/Resources/Assets/CircularInfoButton.png similarity index 100% rename from Artsy/Resources/Assets/CircularInfoButton.png rename to ios/Artsy/Resources/Assets/CircularInfoButton.png diff --git a/Artsy/Resources/Assets/CircularInfoButton@2x.png b/ios/Artsy/Resources/Assets/CircularInfoButton@2x.png similarity index 100% rename from Artsy/Resources/Assets/CircularInfoButton@2x.png rename to ios/Artsy/Resources/Assets/CircularInfoButton@2x.png diff --git a/Artsy/Resources/Assets/CloseButtonLarge@2x.png b/ios/Artsy/Resources/Assets/CloseButtonLarge@2x.png similarity index 100% rename from Artsy/Resources/Assets/CloseButtonLarge@2x.png rename to ios/Artsy/Resources/Assets/CloseButtonLarge@2x.png diff --git a/Artsy/Resources/Assets/CloseButtonLargeHighlighted@2x.png b/ios/Artsy/Resources/Assets/CloseButtonLargeHighlighted@2x.png similarity index 100% rename from Artsy/Resources/Assets/CloseButtonLargeHighlighted@2x.png rename to ios/Artsy/Resources/Assets/CloseButtonLargeHighlighted@2x.png diff --git a/Artsy/Resources/Assets/FooterBackground@2x.png b/ios/Artsy/Resources/Assets/FooterBackground@2x.png similarity index 100% rename from Artsy/Resources/Assets/FooterBackground@2x.png rename to ios/Artsy/Resources/Assets/FooterBackground@2x.png diff --git a/Artsy/Resources/Assets/Hash.png b/ios/Artsy/Resources/Assets/Hash.png similarity index 100% rename from Artsy/Resources/Assets/Hash.png rename to ios/Artsy/Resources/Assets/Hash.png diff --git a/Artsy/Resources/Assets/Hash@2x.png b/ios/Artsy/Resources/Assets/Hash@2x.png similarity index 100% rename from Artsy/Resources/Assets/Hash@2x.png rename to ios/Artsy/Resources/Assets/Hash@2x.png diff --git a/Artsy/Resources/Assets/Hash@3x.png b/ios/Artsy/Resources/Assets/Hash@3x.png similarity index 100% rename from Artsy/Resources/Assets/Hash@3x.png rename to ios/Artsy/Resources/Assets/Hash@3x.png diff --git a/Artsy/Resources/Assets/MoreArrow@2x.png b/ios/Artsy/Resources/Assets/MoreArrow@2x.png similarity index 100% rename from Artsy/Resources/Assets/MoreArrow@2x.png rename to ios/Artsy/Resources/Assets/MoreArrow@2x.png diff --git a/Artsy/Resources/Assets/Range@2x.png b/ios/Artsy/Resources/Assets/Range@2x.png similarity index 100% rename from Artsy/Resources/Assets/Range@2x.png rename to ios/Artsy/Resources/Assets/Range@2x.png diff --git a/Artsy/Resources/Assets/RefreshIcon@2x.png b/ios/Artsy/Resources/Assets/RefreshIcon@2x.png similarity index 100% rename from Artsy/Resources/Assets/RefreshIcon@2x.png rename to ios/Artsy/Resources/Assets/RefreshIcon@2x.png diff --git a/Artsy/Resources/Assets/SearchButton.png b/ios/Artsy/Resources/Assets/SearchButton.png similarity index 100% rename from Artsy/Resources/Assets/SearchButton.png rename to ios/Artsy/Resources/Assets/SearchButton.png diff --git a/Artsy/Resources/Assets/SearchButton@2x.png b/ios/Artsy/Resources/Assets/SearchButton@2x.png similarity index 100% rename from Artsy/Resources/Assets/SearchButton@2x.png rename to ios/Artsy/Resources/Assets/SearchButton@2x.png diff --git a/Artsy/Resources/Assets/SearchButton@3x.png b/ios/Artsy/Resources/Assets/SearchButton@3x.png similarity index 100% rename from Artsy/Resources/Assets/SearchButton@3x.png rename to ios/Artsy/Resources/Assets/SearchButton@3x.png diff --git a/Artsy/Resources/Assets/SmallMoreVerticalArrow.png b/ios/Artsy/Resources/Assets/SmallMoreVerticalArrow.png similarity index 100% rename from Artsy/Resources/Assets/SmallMoreVerticalArrow.png rename to ios/Artsy/Resources/Assets/SmallMoreVerticalArrow.png diff --git a/Artsy/Resources/Assets/SmallMoreVerticalArrow@2x.png b/ios/Artsy/Resources/Assets/SmallMoreVerticalArrow@2x.png similarity index 100% rename from Artsy/Resources/Assets/SmallMoreVerticalArrow@2x.png rename to ios/Artsy/Resources/Assets/SmallMoreVerticalArrow@2x.png diff --git a/Artsy/Resources/Assets/Thumb.png b/ios/Artsy/Resources/Assets/Thumb.png similarity index 100% rename from Artsy/Resources/Assets/Thumb.png rename to ios/Artsy/Resources/Assets/Thumb.png diff --git a/Artsy/Resources/Assets/Thumb@2x.png b/ios/Artsy/Resources/Assets/Thumb@2x.png similarity index 100% rename from Artsy/Resources/Assets/Thumb@2x.png rename to ios/Artsy/Resources/Assets/Thumb@2x.png diff --git a/Artsy/Resources/Assets/Track@2x.png b/ios/Artsy/Resources/Assets/Track@2x.png similarity index 100% rename from Artsy/Resources/Assets/Track@2x.png rename to ios/Artsy/Resources/Assets/Track@2x.png diff --git a/Artsy/Resources/Assets/followButton.png b/ios/Artsy/Resources/Assets/followButton.png similarity index 100% rename from Artsy/Resources/Assets/followButton.png rename to ios/Artsy/Resources/Assets/followButton.png diff --git a/Artsy/Resources/Assets/followButton@2x.png b/ios/Artsy/Resources/Assets/followButton@2x.png similarity index 100% rename from Artsy/Resources/Assets/followButton@2x.png rename to ios/Artsy/Resources/Assets/followButton@2x.png diff --git a/Artsy/Resources/Assets/followButton@3x.png b/ios/Artsy/Resources/Assets/followButton@3x.png similarity index 100% rename from Artsy/Resources/Assets/followButton@3x.png rename to ios/Artsy/Resources/Assets/followButton@3x.png diff --git a/Artsy/Resources/Assets/followButtonChecked.png b/ios/Artsy/Resources/Assets/followButtonChecked.png similarity index 100% rename from Artsy/Resources/Assets/followButtonChecked.png rename to ios/Artsy/Resources/Assets/followButtonChecked.png diff --git a/Artsy/Resources/Assets/followButtonChecked@2x.png b/ios/Artsy/Resources/Assets/followButtonChecked@2x.png similarity index 100% rename from Artsy/Resources/Assets/followButtonChecked@2x.png rename to ios/Artsy/Resources/Assets/followButtonChecked@2x.png diff --git a/Artsy/Resources/Assets/followButtonChecked@3x.png b/ios/Artsy/Resources/Assets/followButtonChecked@3x.png similarity index 100% rename from Artsy/Resources/Assets/followButtonChecked@3x.png rename to ios/Artsy/Resources/Assets/followButtonChecked@3x.png diff --git a/Artsy/Resources/Assets/full_logo_black_large@2x.png b/ios/Artsy/Resources/Assets/full_logo_black_large@2x.png similarity index 100% rename from Artsy/Resources/Assets/full_logo_black_large@2x.png rename to ios/Artsy/Resources/Assets/full_logo_black_large@2x.png diff --git a/Artsy/Resources/Assets/full_logo_black_medium@2x.png b/ios/Artsy/Resources/Assets/full_logo_black_medium@2x.png similarity index 100% rename from Artsy/Resources/Assets/full_logo_black_medium@2x.png rename to ios/Artsy/Resources/Assets/full_logo_black_medium@2x.png diff --git a/Artsy/Resources/Assets/full_logo_black_small@2x.png b/ios/Artsy/Resources/Assets/full_logo_black_small@2x.png similarity index 100% rename from Artsy/Resources/Assets/full_logo_black_small@2x.png rename to ios/Artsy/Resources/Assets/full_logo_black_small@2x.png diff --git a/Artsy/Resources/Assets/full_logo_white_large@2x.png b/ios/Artsy/Resources/Assets/full_logo_white_large@2x.png similarity index 100% rename from Artsy/Resources/Assets/full_logo_white_large@2x.png rename to ios/Artsy/Resources/Assets/full_logo_white_large@2x.png diff --git a/Artsy/Resources/Assets/full_logo_white_medium@2x.png b/ios/Artsy/Resources/Assets/full_logo_white_medium@2x.png similarity index 100% rename from Artsy/Resources/Assets/full_logo_white_medium@2x.png rename to ios/Artsy/Resources/Assets/full_logo_white_medium@2x.png diff --git a/Artsy/Resources/Assets/full_logo_white_small@2x.png b/ios/Artsy/Resources/Assets/full_logo_white_small@2x.png similarity index 100% rename from Artsy/Resources/Assets/full_logo_white_small@2x.png rename to ios/Artsy/Resources/Assets/full_logo_white_small@2x.png diff --git a/Artsy/Resources/Assets/navigation_more_arrow_horizontal@2x.png b/ios/Artsy/Resources/Assets/navigation_more_arrow_horizontal@2x.png similarity index 100% rename from Artsy/Resources/Assets/navigation_more_arrow_horizontal@2x.png rename to ios/Artsy/Resources/Assets/navigation_more_arrow_horizontal@2x.png diff --git a/Artsy/Resources/Assets/navigation_more_arrow_vertical@2x.png b/ios/Artsy/Resources/Assets/navigation_more_arrow_vertical@2x.png similarity index 100% rename from Artsy/Resources/Assets/navigation_more_arrow_vertical@2x.png rename to ios/Artsy/Resources/Assets/navigation_more_arrow_vertical@2x.png diff --git a/Artsy/Resources/Assets/paddle.png b/ios/Artsy/Resources/Assets/paddle.png similarity index 100% rename from Artsy/Resources/Assets/paddle.png rename to ios/Artsy/Resources/Assets/paddle.png diff --git a/Artsy/Resources/Assets/paddle@2x.png b/ios/Artsy/Resources/Assets/paddle@2x.png similarity index 100% rename from Artsy/Resources/Assets/paddle@2x.png rename to ios/Artsy/Resources/Assets/paddle@2x.png diff --git a/Artsy/Resources/Assets/paddle@3x.png b/ios/Artsy/Resources/Assets/paddle@3x.png similarity index 100% rename from Artsy/Resources/Assets/paddle@3x.png rename to ios/Artsy/Resources/Assets/paddle@3x.png diff --git a/Artsy/Resources/Assets/serif_modal_close@2x.png b/ios/Artsy/Resources/Assets/serif_modal_close@2x.png similarity index 100% rename from Artsy/Resources/Assets/serif_modal_close@2x.png rename to ios/Artsy/Resources/Assets/serif_modal_close@2x.png diff --git a/Artsy/Resources/Map_Annotations/MapAnnotation_Artsy@2x.png b/ios/Artsy/Resources/Map_Annotations/MapAnnotation_Artsy@2x.png similarity index 100% rename from Artsy/Resources/Map_Annotations/MapAnnotation_Artsy@2x.png rename to ios/Artsy/Resources/Map_Annotations/MapAnnotation_Artsy@2x.png diff --git a/Artsy/Resources/ViewInRoom/ViewInRoom_Base@2x.png b/ios/Artsy/Resources/ViewInRoom/ViewInRoom_Base@2x.png similarity index 100% rename from Artsy/Resources/ViewInRoom/ViewInRoom_Base@2x.png rename to ios/Artsy/Resources/ViewInRoom/ViewInRoom_Base@2x.png diff --git a/Artsy/Resources/ViewInRoom/ViewInRoom_BaseNoBench@2x.png b/ios/Artsy/Resources/ViewInRoom/ViewInRoom_BaseNoBench@2x.png similarity index 100% rename from Artsy/Resources/ViewInRoom/ViewInRoom_BaseNoBench@2x.png rename to ios/Artsy/Resources/ViewInRoom/ViewInRoom_BaseNoBench@2x.png diff --git a/Artsy/Resources/ViewInRoom/ViewInRoom_Bench@2x.png b/ios/Artsy/Resources/ViewInRoom/ViewInRoom_Bench@2x.png similarity index 100% rename from Artsy/Resources/ViewInRoom/ViewInRoom_Bench@2x.png rename to ios/Artsy/Resources/ViewInRoom/ViewInRoom_Bench@2x.png diff --git a/Artsy/Resources/ViewInRoom/ViewInRoom_Man_3@2x.png b/ios/Artsy/Resources/ViewInRoom/ViewInRoom_Man_3@2x.png similarity index 100% rename from Artsy/Resources/ViewInRoom/ViewInRoom_Man_3@2x.png rename to ios/Artsy/Resources/ViewInRoom/ViewInRoom_Man_3@2x.png diff --git a/Artsy/Resources/ViewInRoom/ViewInRoom_Wall@2x.png b/ios/Artsy/Resources/ViewInRoom/ViewInRoom_Wall@2x.png similarity index 100% rename from Artsy/Resources/ViewInRoom/ViewInRoom_Wall@2x.png rename to ios/Artsy/Resources/ViewInRoom/ViewInRoom_Wall@2x.png diff --git a/Artsy/Resources/ViewInRoom/ViewInRoom_Wall_Right@2x.png b/ios/Artsy/Resources/ViewInRoom/ViewInRoom_Wall_Right@2x.png similarity index 100% rename from Artsy/Resources/ViewInRoom/ViewInRoom_Wall_Right@2x.png rename to ios/Artsy/Resources/ViewInRoom/ViewInRoom_Wall_Right@2x.png diff --git a/Artsy/Stringify.swift b/ios/Artsy/Stringify.swift similarity index 100% rename from Artsy/Stringify.swift rename to ios/Artsy/Stringify.swift diff --git a/Artsy/Tooling/ARDispatchManager.h b/ios/Artsy/Tooling/ARDispatchManager.h similarity index 100% rename from Artsy/Tooling/ARDispatchManager.h rename to ios/Artsy/Tooling/ARDispatchManager.h diff --git a/Artsy/Tooling/ARDispatchManager.m b/ios/Artsy/Tooling/ARDispatchManager.m similarity index 100% rename from Artsy/Tooling/ARDispatchManager.m rename to ios/Artsy/Tooling/ARDispatchManager.m diff --git a/Artsy/Tooling/ARWebViewCacheHost.h b/ios/Artsy/Tooling/ARWebViewCacheHost.h similarity index 100% rename from Artsy/Tooling/ARWebViewCacheHost.h rename to ios/Artsy/Tooling/ARWebViewCacheHost.h diff --git a/Artsy/Tooling/ARWebViewCacheHost.m b/ios/Artsy/Tooling/ARWebViewCacheHost.m similarity index 100% rename from Artsy/Tooling/ARWebViewCacheHost.m rename to ios/Artsy/Tooling/ARWebViewCacheHost.m diff --git a/Artsy/Tooling/Generated/StoryboardConstants.swift b/ios/Artsy/Tooling/Generated/StoryboardConstants.swift similarity index 100% rename from Artsy/Tooling/Generated/StoryboardConstants.swift rename to ios/Artsy/Tooling/Generated/StoryboardConstants.swift diff --git a/Artsy/Tooling/Generated/StoryboardImages.swift b/ios/Artsy/Tooling/Generated/StoryboardImages.swift similarity index 100% rename from Artsy/Tooling/Generated/StoryboardImages.swift rename to ios/Artsy/Tooling/Generated/StoryboardImages.swift diff --git a/Artsy/View_Controllers/ARSerifNavigationViewController.h b/ios/Artsy/View_Controllers/ARSerifNavigationViewController.h similarity index 100% rename from Artsy/View_Controllers/ARSerifNavigationViewController.h rename to ios/Artsy/View_Controllers/ARSerifNavigationViewController.h diff --git a/Artsy/View_Controllers/ARSerifNavigationViewController.m b/ios/Artsy/View_Controllers/ARSerifNavigationViewController.m similarity index 100% rename from Artsy/View_Controllers/ARSerifNavigationViewController.m rename to ios/Artsy/View_Controllers/ARSerifNavigationViewController.m diff --git a/Artsy/View_Controllers/ARVIR/AR/ARVIRHorizontalPlaneInteractionController.h b/ios/Artsy/View_Controllers/ARVIR/AR/ARVIRHorizontalPlaneInteractionController.h similarity index 100% rename from Artsy/View_Controllers/ARVIR/AR/ARVIRHorizontalPlaneInteractionController.h rename to ios/Artsy/View_Controllers/ARVIR/AR/ARVIRHorizontalPlaneInteractionController.h diff --git a/Artsy/View_Controllers/ARVIR/AR/ARVIRHorizontalPlaneInteractionController.m b/ios/Artsy/View_Controllers/ARVIR/AR/ARVIRHorizontalPlaneInteractionController.m similarity index 100% rename from Artsy/View_Controllers/ARVIR/AR/ARVIRHorizontalPlaneInteractionController.m rename to ios/Artsy/View_Controllers/ARVIR/AR/ARVIRHorizontalPlaneInteractionController.m diff --git a/Artsy/View_Controllers/ARVIR/ARAugmentedRealityConfig.h b/ios/Artsy/View_Controllers/ARVIR/ARAugmentedRealityConfig.h similarity index 100% rename from Artsy/View_Controllers/ARVIR/ARAugmentedRealityConfig.h rename to ios/Artsy/View_Controllers/ARVIR/ARAugmentedRealityConfig.h diff --git a/Artsy/View_Controllers/ARVIR/ARAugmentedRealityConfig.m b/ios/Artsy/View_Controllers/ARVIR/ARAugmentedRealityConfig.m similarity index 100% rename from Artsy/View_Controllers/ARVIR/ARAugmentedRealityConfig.m rename to ios/Artsy/View_Controllers/ARVIR/ARAugmentedRealityConfig.m diff --git a/Artsy/View_Controllers/ARVIR/New Group/ARVIRModalClose.png b/ios/Artsy/View_Controllers/ARVIR/New Group/ARVIRModalClose.png similarity index 100% rename from Artsy/View_Controllers/ARVIR/New Group/ARVIRModalClose.png rename to ios/Artsy/View_Controllers/ARVIR/New Group/ARVIRModalClose.png diff --git a/Artsy/View_Controllers/ARVIR/New Group/ARVIRModalClose@2x.png b/ios/Artsy/View_Controllers/ARVIR/New Group/ARVIRModalClose@2x.png similarity index 100% rename from Artsy/View_Controllers/ARVIR/New Group/ARVIRModalClose@2x.png rename to ios/Artsy/View_Controllers/ARVIR/New Group/ARVIRModalClose@2x.png diff --git a/Artsy/View_Controllers/ARVIR/New Group/ARVIRModalClose@3x.png b/ios/Artsy/View_Controllers/ARVIR/New Group/ARVIRModalClose@3x.png similarity index 100% rename from Artsy/View_Controllers/ARVIR/New Group/ARVIRModalClose@3x.png rename to ios/Artsy/View_Controllers/ARVIR/New Group/ARVIRModalClose@3x.png diff --git a/Artsy/View_Controllers/ARVIR/New Group/ARVIRShadow.png b/ios/Artsy/View_Controllers/ARVIR/New Group/ARVIRShadow.png similarity index 100% rename from Artsy/View_Controllers/ARVIR/New Group/ARVIRShadow.png rename to ios/Artsy/View_Controllers/ARVIR/New Group/ARVIRShadow.png diff --git a/Artsy/View_Controllers/ARVIR/New Group/ARVIRTick.png b/ios/Artsy/View_Controllers/ARVIR/New Group/ARVIRTick.png similarity index 100% rename from Artsy/View_Controllers/ARVIR/New Group/ARVIRTick.png rename to ios/Artsy/View_Controllers/ARVIR/New Group/ARVIRTick.png diff --git a/Artsy/View_Controllers/ARVIR/New Group/ARVIRTick@2x.png b/ios/Artsy/View_Controllers/ARVIR/New Group/ARVIRTick@2x.png similarity index 100% rename from Artsy/View_Controllers/ARVIR/New Group/ARVIRTick@2x.png rename to ios/Artsy/View_Controllers/ARVIR/New Group/ARVIRTick@2x.png diff --git a/Artsy/View_Controllers/ARVIR/New Group/ARVIRTick@3x.png b/ios/Artsy/View_Controllers/ARVIR/New Group/ARVIRTick@3x.png similarity index 100% rename from Artsy/View_Controllers/ARVIR/New Group/ARVIRTick@3x.png rename to ios/Artsy/View_Controllers/ARVIR/New Group/ARVIRTick@3x.png diff --git a/Artsy/View_Controllers/ARVIR/New Group/ar_vir_opening_frame.jpg b/ios/Artsy/View_Controllers/ARVIR/New Group/ar_vir_opening_frame.jpg similarity index 100% rename from Artsy/View_Controllers/ARVIR/New Group/ar_vir_opening_frame.jpg rename to ios/Artsy/View_Controllers/ARVIR/New Group/ar_vir_opening_frame.jpg diff --git a/Artsy/View_Controllers/ARVIR/Nodes/ARSCNWallNode.h b/ios/Artsy/View_Controllers/ARVIR/Nodes/ARSCNWallNode.h similarity index 100% rename from Artsy/View_Controllers/ARVIR/Nodes/ARSCNWallNode.h rename to ios/Artsy/View_Controllers/ARVIR/Nodes/ARSCNWallNode.h diff --git a/Artsy/View_Controllers/ARVIR/Nodes/ARSCNWallNode.m b/ios/Artsy/View_Controllers/ARVIR/Nodes/ARSCNWallNode.m similarity index 100% rename from Artsy/View_Controllers/ARVIR/Nodes/ARSCNWallNode.m rename to ios/Artsy/View_Controllers/ARVIR/Nodes/ARSCNWallNode.m diff --git a/Artsy/View_Controllers/ARVIR/Nodes/SCNArtworkNode.h b/ios/Artsy/View_Controllers/ARVIR/Nodes/SCNArtworkNode.h similarity index 100% rename from Artsy/View_Controllers/ARVIR/Nodes/SCNArtworkNode.h rename to ios/Artsy/View_Controllers/ARVIR/Nodes/SCNArtworkNode.h diff --git a/Artsy/View_Controllers/ARVIR/Nodes/SCNArtworkNode.m b/ios/Artsy/View_Controllers/ARVIR/Nodes/SCNArtworkNode.m similarity index 100% rename from Artsy/View_Controllers/ARVIR/Nodes/SCNArtworkNode.m rename to ios/Artsy/View_Controllers/ARVIR/Nodes/SCNArtworkNode.m diff --git a/Artsy/View_Controllers/ARVIR/VCs/ARAugmentedFloorBasedVIRViewController.h b/ios/Artsy/View_Controllers/ARVIR/VCs/ARAugmentedFloorBasedVIRViewController.h similarity index 100% rename from Artsy/View_Controllers/ARVIR/VCs/ARAugmentedFloorBasedVIRViewController.h rename to ios/Artsy/View_Controllers/ARVIR/VCs/ARAugmentedFloorBasedVIRViewController.h diff --git a/Artsy/View_Controllers/ARVIR/VCs/ARAugmentedFloorBasedVIRViewController.m b/ios/Artsy/View_Controllers/ARVIR/VCs/ARAugmentedFloorBasedVIRViewController.m similarity index 100% rename from Artsy/View_Controllers/ARVIR/VCs/ARAugmentedFloorBasedVIRViewController.m rename to ios/Artsy/View_Controllers/ARVIR/VCs/ARAugmentedFloorBasedVIRViewController.m diff --git a/Artsy/View_Controllers/ARVIR/VCs/ARAugmentedVIRSetupViewController.h b/ios/Artsy/View_Controllers/ARVIR/VCs/ARAugmentedVIRSetupViewController.h similarity index 100% rename from Artsy/View_Controllers/ARVIR/VCs/ARAugmentedVIRSetupViewController.h rename to ios/Artsy/View_Controllers/ARVIR/VCs/ARAugmentedVIRSetupViewController.h diff --git a/Artsy/View_Controllers/ARVIR/VCs/ARAugmentedVIRSetupViewController.m b/ios/Artsy/View_Controllers/ARVIR/VCs/ARAugmentedVIRSetupViewController.m similarity index 100% rename from Artsy/View_Controllers/ARVIR/VCs/ARAugmentedVIRSetupViewController.m rename to ios/Artsy/View_Controllers/ARVIR/VCs/ARAugmentedVIRSetupViewController.m diff --git a/Artsy/View_Controllers/ARVIR/Views/ARInformationView.h b/ios/Artsy/View_Controllers/ARVIR/Views/ARInformationView.h similarity index 100% rename from Artsy/View_Controllers/ARVIR/Views/ARInformationView.h rename to ios/Artsy/View_Controllers/ARVIR/Views/ARInformationView.h diff --git a/Artsy/View_Controllers/ARVIR/Views/ARInformationView.m b/ios/Artsy/View_Controllers/ARVIR/Views/ARInformationView.m similarity index 100% rename from Artsy/View_Controllers/ARVIR/Views/ARInformationView.m rename to ios/Artsy/View_Controllers/ARVIR/Views/ARInformationView.m diff --git a/Artsy/View_Controllers/Admin/ARAdminSettingsViewController.h b/ios/Artsy/View_Controllers/Admin/ARAdminSettingsViewController.h similarity index 100% rename from Artsy/View_Controllers/Admin/ARAdminSettingsViewController.h rename to ios/Artsy/View_Controllers/Admin/ARAdminSettingsViewController.h diff --git a/Artsy/View_Controllers/Admin/ARAdminSettingsViewController.m b/ios/Artsy/View_Controllers/Admin/ARAdminSettingsViewController.m similarity index 100% rename from Artsy/View_Controllers/Admin/ARAdminSettingsViewController.m rename to ios/Artsy/View_Controllers/Admin/ARAdminSettingsViewController.m index fb23c97b2de..7a5bf32c465 100644 --- a/Artsy/View_Controllers/Admin/ARAdminSettingsViewController.m +++ b/ios/Artsy/View_Controllers/Admin/ARAdminSettingsViewController.m @@ -12,8 +12,8 @@ #import "ARFileUtils.h" #import "ARRouter.h" #import "AROptions.h" - #import "Artsy-Swift.h" + #import "UIDevice-Hardware.h" #import "ARAdminNetworkModel.h" #import "ARAppNotificationsDelegate.h" diff --git a/Artsy/View_Controllers/Admin/ARAdminTableViewController.h b/ios/Artsy/View_Controllers/Admin/ARAdminTableViewController.h similarity index 100% rename from Artsy/View_Controllers/Admin/ARAdminTableViewController.h rename to ios/Artsy/View_Controllers/Admin/ARAdminTableViewController.h diff --git a/Artsy/View_Controllers/Admin/ARAdminTableViewController.m b/ios/Artsy/View_Controllers/Admin/ARAdminTableViewController.m similarity index 100% rename from Artsy/View_Controllers/Admin/ARAdminTableViewController.m rename to ios/Artsy/View_Controllers/Admin/ARAdminTableViewController.m diff --git a/Artsy/View_Controllers/Admin/AREchoContentsViewController.h b/ios/Artsy/View_Controllers/Admin/AREchoContentsViewController.h similarity index 100% rename from Artsy/View_Controllers/Admin/AREchoContentsViewController.h rename to ios/Artsy/View_Controllers/Admin/AREchoContentsViewController.h diff --git a/Artsy/View_Controllers/Admin/AREchoContentsViewController.m b/ios/Artsy/View_Controllers/Admin/AREchoContentsViewController.m similarity index 100% rename from Artsy/View_Controllers/Admin/AREchoContentsViewController.m rename to ios/Artsy/View_Controllers/Admin/AREchoContentsViewController.m diff --git a/Artsy/View_Controllers/Admin/Networking/ARAdminNetworkModel.h b/ios/Artsy/View_Controllers/Admin/Networking/ARAdminNetworkModel.h similarity index 100% rename from Artsy/View_Controllers/Admin/Networking/ARAdminNetworkModel.h rename to ios/Artsy/View_Controllers/Admin/Networking/ARAdminNetworkModel.h diff --git a/Artsy/View_Controllers/Admin/Networking/ARAdminNetworkModel.m b/ios/Artsy/View_Controllers/Admin/Networking/ARAdminNetworkModel.m similarity index 100% rename from Artsy/View_Controllers/Admin/Networking/ARAdminNetworkModel.m rename to ios/Artsy/View_Controllers/Admin/Networking/ARAdminNetworkModel.m diff --git a/Artsy/View_Controllers/Admin/Views/ARAdminTableViewCell.h b/ios/Artsy/View_Controllers/Admin/Views/ARAdminTableViewCell.h similarity index 100% rename from Artsy/View_Controllers/Admin/Views/ARAdminTableViewCell.h rename to ios/Artsy/View_Controllers/Admin/Views/ARAdminTableViewCell.h diff --git a/Artsy/View_Controllers/Admin/Views/ARAdminTableViewCell.m b/ios/Artsy/View_Controllers/Admin/Views/ARAdminTableViewCell.m similarity index 100% rename from Artsy/View_Controllers/Admin/Views/ARAdminTableViewCell.m rename to ios/Artsy/View_Controllers/Admin/Views/ARAdminTableViewCell.m diff --git a/Artsy/View_Controllers/Admin/Views/ARAnimatedTickView.h b/ios/Artsy/View_Controllers/Admin/Views/ARAnimatedTickView.h similarity index 100% rename from Artsy/View_Controllers/Admin/Views/ARAnimatedTickView.h rename to ios/Artsy/View_Controllers/Admin/Views/ARAnimatedTickView.h diff --git a/Artsy/View_Controllers/Admin/Views/ARAnimatedTickView.m b/ios/Artsy/View_Controllers/Admin/Views/ARAnimatedTickView.m similarity index 100% rename from Artsy/View_Controllers/Admin/Views/ARAnimatedTickView.m rename to ios/Artsy/View_Controllers/Admin/Views/ARAnimatedTickView.m diff --git a/Artsy/View_Controllers/Admin/Views/ARTickedTableViewCell.h b/ios/Artsy/View_Controllers/Admin/Views/ARTickedTableViewCell.h similarity index 100% rename from Artsy/View_Controllers/Admin/Views/ARTickedTableViewCell.h rename to ios/Artsy/View_Controllers/Admin/Views/ARTickedTableViewCell.h diff --git a/Artsy/View_Controllers/Admin/Views/ARTickedTableViewCell.m b/ios/Artsy/View_Controllers/Admin/Views/ARTickedTableViewCell.m similarity index 100% rename from Artsy/View_Controllers/Admin/Views/ARTickedTableViewCell.m rename to ios/Artsy/View_Controllers/Admin/Views/ARTickedTableViewCell.m diff --git a/Artsy/View_Controllers/Auction/AuctionBiddersNetworkModel.swift b/ios/Artsy/View_Controllers/Auction/AuctionBiddersNetworkModel.swift similarity index 100% rename from Artsy/View_Controllers/Auction/AuctionBiddersNetworkModel.swift rename to ios/Artsy/View_Controllers/Auction/AuctionBiddersNetworkModel.swift diff --git a/Artsy/View_Controllers/Auction/AuctionInformationViewController.swift b/ios/Artsy/View_Controllers/Auction/AuctionInformationViewController.swift similarity index 100% rename from Artsy/View_Controllers/Auction/AuctionInformationViewController.swift rename to ios/Artsy/View_Controllers/Auction/AuctionInformationViewController.swift diff --git a/Artsy/View_Controllers/Auction/AuctionSaleNetworkModel.swift b/ios/Artsy/View_Controllers/Auction/AuctionSaleNetworkModel.swift similarity index 100% rename from Artsy/View_Controllers/Auction/AuctionSaleNetworkModel.swift rename to ios/Artsy/View_Controllers/Auction/AuctionSaleNetworkModel.swift diff --git a/Artsy/View_Controllers/Auction/RefinementOptionsViewController+Private.swift b/ios/Artsy/View_Controllers/Auction/RefinementOptionsViewController+Private.swift similarity index 100% rename from Artsy/View_Controllers/Auction/RefinementOptionsViewController+Private.swift rename to ios/Artsy/View_Controllers/Auction/RefinementOptionsViewController+Private.swift diff --git a/Artsy/View_Controllers/Auction/RefinementOptionsViewController.swift b/ios/Artsy/View_Controllers/Auction/RefinementOptionsViewController.swift similarity index 100% rename from Artsy/View_Controllers/Auction/RefinementOptionsViewController.swift rename to ios/Artsy/View_Controllers/Auction/RefinementOptionsViewController.swift diff --git a/Artsy/View_Controllers/Core/ARViewInRoomViewController.h b/ios/Artsy/View_Controllers/Core/ARViewInRoomViewController.h similarity index 100% rename from Artsy/View_Controllers/Core/ARViewInRoomViewController.h rename to ios/Artsy/View_Controllers/Core/ARViewInRoomViewController.h diff --git a/Artsy/View_Controllers/Core/ARViewInRoomViewController.m b/ios/Artsy/View_Controllers/Core/ARViewInRoomViewController.m similarity index 100% rename from Artsy/View_Controllers/Core/ARViewInRoomViewController.m rename to ios/Artsy/View_Controllers/Core/ARViewInRoomViewController.m diff --git a/Artsy/View_Controllers/Core/UIViewController+BlurredStatusView.swift b/ios/Artsy/View_Controllers/Core/UIViewController+BlurredStatusView.swift similarity index 100% rename from Artsy/View_Controllers/Core/UIViewController+BlurredStatusView.swift rename to ios/Artsy/View_Controllers/Core/UIViewController+BlurredStatusView.swift diff --git a/Artsy/View_Controllers/Generics/ARNavigationButtonsViewController.h b/ios/Artsy/View_Controllers/Generics/ARNavigationButtonsViewController.h similarity index 100% rename from Artsy/View_Controllers/Generics/ARNavigationButtonsViewController.h rename to ios/Artsy/View_Controllers/Generics/ARNavigationButtonsViewController.h diff --git a/Artsy/View_Controllers/Generics/ARNavigationButtonsViewController.m b/ios/Artsy/View_Controllers/Generics/ARNavigationButtonsViewController.m similarity index 100% rename from Artsy/View_Controllers/Generics/ARNavigationButtonsViewController.m rename to ios/Artsy/View_Controllers/Generics/ARNavigationButtonsViewController.m diff --git a/Artsy/View_Controllers/LiveAuctionCurrentLotCTAPositionManager.swift b/ios/Artsy/View_Controllers/LiveAuctionCurrentLotCTAPositionManager.swift similarity index 100% rename from Artsy/View_Controllers/LiveAuctionCurrentLotCTAPositionManager.swift rename to ios/Artsy/View_Controllers/LiveAuctionCurrentLotCTAPositionManager.swift diff --git a/Artsy/View_Controllers/LiveAuctionPlainLotCollectionViewLayout.swift b/ios/Artsy/View_Controllers/LiveAuctionPlainLotCollectionViewLayout.swift similarity index 100% rename from Artsy/View_Controllers/LiveAuctionPlainLotCollectionViewLayout.swift rename to ios/Artsy/View_Controllers/LiveAuctionPlainLotCollectionViewLayout.swift diff --git a/Artsy/View_Controllers/Live_Auctions/LiveActionStateReconciler.swift b/ios/Artsy/View_Controllers/Live_Auctions/LiveActionStateReconciler.swift similarity index 96% rename from Artsy/View_Controllers/Live_Auctions/LiveActionStateReconciler.swift rename to ios/Artsy/View_Controllers/Live_Auctions/LiveActionStateReconciler.swift index e45c0a87598..c28e649fc04 100644 --- a/Artsy/View_Controllers/Live_Auctions/LiveActionStateReconciler.swift +++ b/ios/Artsy/View_Controllers/Live_Auctions/LiveActionStateReconciler.swift @@ -55,9 +55,9 @@ extension PublicFunctions: LiveAuctionStateReconcilerType { func updateState(_ state: AnyObject) { // TODO: how to handle changes to start/end times? Necessary at all? - - guard let fullLotStateById = state["fullLotStateById"] as? [String: [String: AnyObject]] else { return } - let currentLotID = state["currentLotId"] as? String + guard let stateDict = state as? [String: AnyObject] else { return } + guard let fullLotStateById = stateDict["fullLotStateById"] as? [String: [String: AnyObject]] else { return } + let currentLotID = stateDict["currentLotId"] as? String for lot in saleArtworks { // TODO: How should we handle failed parsing? Not silently, that's for sure! diff --git a/Artsy/View_Controllers/Live_Auctions/LiveAuctionBidButton.swift b/ios/Artsy/View_Controllers/Live_Auctions/LiveAuctionBidButton.swift similarity index 100% rename from Artsy/View_Controllers/Live_Auctions/LiveAuctionBidButton.swift rename to ios/Artsy/View_Controllers/Live_Auctions/LiveAuctionBidButton.swift diff --git a/Artsy/View_Controllers/Live_Auctions/LiveAuctionBidHistoryViewController.swift b/ios/Artsy/View_Controllers/Live_Auctions/LiveAuctionBidHistoryViewController.swift similarity index 100% rename from Artsy/View_Controllers/Live_Auctions/LiveAuctionBidHistoryViewController.swift rename to ios/Artsy/View_Controllers/Live_Auctions/LiveAuctionBidHistoryViewController.swift diff --git a/Artsy/View_Controllers/Live_Auctions/LiveAuctionBidViewModel.swift b/ios/Artsy/View_Controllers/Live_Auctions/LiveAuctionBidViewModel.swift similarity index 100% rename from Artsy/View_Controllers/Live_Auctions/LiveAuctionBidViewModel.swift rename to ios/Artsy/View_Controllers/Live_Auctions/LiveAuctionBidViewModel.swift diff --git a/Artsy/View_Controllers/Live_Auctions/LiveAuctionLoadingView.swift b/ios/Artsy/View_Controllers/Live_Auctions/LiveAuctionLoadingView.swift similarity index 100% rename from Artsy/View_Controllers/Live_Auctions/LiveAuctionLoadingView.swift rename to ios/Artsy/View_Controllers/Live_Auctions/LiveAuctionLoadingView.swift diff --git a/Artsy/View_Controllers/Live_Auctions/LiveAuctionLotBidHistoryGestureController.swift b/ios/Artsy/View_Controllers/Live_Auctions/LiveAuctionLotBidHistoryGestureController.swift similarity index 100% rename from Artsy/View_Controllers/Live_Auctions/LiveAuctionLotBidHistoryGestureController.swift rename to ios/Artsy/View_Controllers/Live_Auctions/LiveAuctionLotBidHistoryGestureController.swift diff --git a/Artsy/View_Controllers/Live_Auctions/LiveAuctionLotListStickyCellCollectionViewLayout.swift b/ios/Artsy/View_Controllers/Live_Auctions/LiveAuctionLotListStickyCellCollectionViewLayout.swift similarity index 100% rename from Artsy/View_Controllers/Live_Auctions/LiveAuctionLotListStickyCellCollectionViewLayout.swift rename to ios/Artsy/View_Controllers/Live_Auctions/LiveAuctionLotListStickyCellCollectionViewLayout.swift diff --git a/Artsy/View_Controllers/Live_Auctions/LiveAuctionLotListViewController.swift b/ios/Artsy/View_Controllers/Live_Auctions/LiveAuctionLotListViewController.swift similarity index 100% rename from Artsy/View_Controllers/Live_Auctions/LiveAuctionLotListViewController.swift rename to ios/Artsy/View_Controllers/Live_Auctions/LiveAuctionLotListViewController.swift diff --git a/Artsy/View_Controllers/Live_Auctions/LiveAuctionLotSetViewController.swift b/ios/Artsy/View_Controllers/Live_Auctions/LiveAuctionLotSetViewController.swift similarity index 98% rename from Artsy/View_Controllers/Live_Auctions/LiveAuctionLotSetViewController.swift rename to ios/Artsy/View_Controllers/Live_Auctions/LiveAuctionLotSetViewController.swift index 3bbcb2b4255..83ff153dd8c 100644 --- a/Artsy/View_Controllers/Live_Auctions/LiveAuctionLotSetViewController.swift +++ b/ios/Artsy/View_Controllers/Live_Auctions/LiveAuctionLotSetViewController.swift @@ -259,6 +259,8 @@ class LiveAuctionLotSetViewController: UIViewController { } @objc func dismissModal() { + AREmission.sharedInstance().notificationsManagerModule.requestModalDismiss() + // TODO: AppShell, don't need the below code once app shell is done guard let presentor = splitViewController?.presentingViewController else { return } presentor.dismiss(animated: true, completion: nil) } @@ -359,7 +361,7 @@ extension LiveAuctionLotSetViewController: AuctionTitleViewDelegate { } func userDidPressRegister(_ titleView: AuctionTitleView) { - let viewController = ARScreenPresenterModule.loadWebViewAuctionRegistration(withID: self.salesPerson.liveSaleID) + let viewController = ARTNativeScreenPresenterModule.loadWebViewAuctionRegistration(withID: self.salesPerson.liveSaleID) if (self.presentedViewController != nil) { self.presentedViewController?.present(viewController, animated: true) {} } else { diff --git a/Artsy/View_Controllers/Live_Auctions/LiveAuctionLotViewController.swift b/ios/Artsy/View_Controllers/Live_Auctions/LiveAuctionLotViewController.swift similarity index 99% rename from Artsy/View_Controllers/Live_Auctions/LiveAuctionLotViewController.swift rename to ios/Artsy/View_Controllers/Live_Auctions/LiveAuctionLotViewController.swift index e3dfd49a975..e65cd61f586 100644 --- a/Artsy/View_Controllers/Live_Auctions/LiveAuctionLotViewController.swift +++ b/ios/Artsy/View_Controllers/Live_Auctions/LiveAuctionLotViewController.swift @@ -269,7 +269,7 @@ extension LiveAuctionLotViewController: LiveAuctionBidButtonDelegate { } func bidButtonRequestedRegisterToBid(_ button: LiveAuctionBidButton) { - let viewController = ARScreenPresenterModule.loadWebViewAuctionRegistration(withID: self.salesPerson.liveSaleID) + let viewController = ARTNativeScreenPresenterModule.loadWebViewAuctionRegistration(withID: self.salesPerson.liveSaleID) let serifNav = SerifModalWebNavigationController(rootViewController: viewController) self.navigationController?.present(serifNav, animated: true) {} } diff --git a/Artsy/View_Controllers/Live_Auctions/LiveAuctionPlaceMaxBidViewController.swift b/ios/Artsy/View_Controllers/Live_Auctions/LiveAuctionPlaceMaxBidViewController.swift similarity index 100% rename from Artsy/View_Controllers/Live_Auctions/LiveAuctionPlaceMaxBidViewController.swift rename to ios/Artsy/View_Controllers/Live_Auctions/LiveAuctionPlaceMaxBidViewController.swift diff --git a/Artsy/View_Controllers/Live_Auctions/LiveAuctionSaleLotsDataSource.swift b/ios/Artsy/View_Controllers/Live_Auctions/LiveAuctionSaleLotsDataSource.swift similarity index 100% rename from Artsy/View_Controllers/Live_Auctions/LiveAuctionSaleLotsDataSource.swift rename to ios/Artsy/View_Controllers/Live_Auctions/LiveAuctionSaleLotsDataSource.swift diff --git a/Artsy/View_Controllers/Live_Auctions/LiveAuctionSaleViewController.swift b/ios/Artsy/View_Controllers/Live_Auctions/LiveAuctionSaleViewController.swift similarity index 100% rename from Artsy/View_Controllers/Live_Auctions/LiveAuctionSaleViewController.swift rename to ios/Artsy/View_Controllers/Live_Auctions/LiveAuctionSaleViewController.swift diff --git a/Artsy/View_Controllers/Live_Auctions/LiveAuctionSalesPerson.swift b/ios/Artsy/View_Controllers/Live_Auctions/LiveAuctionSalesPerson.swift similarity index 100% rename from Artsy/View_Controllers/Live_Auctions/LiveAuctionSalesPerson.swift rename to ios/Artsy/View_Controllers/Live_Auctions/LiveAuctionSalesPerson.swift diff --git a/Artsy/View_Controllers/Live_Auctions/LiveAuctionStateManager.swift b/ios/Artsy/View_Controllers/Live_Auctions/LiveAuctionStateManager.swift similarity index 100% rename from Artsy/View_Controllers/Live_Auctions/LiveAuctionStateManager.swift rename to ios/Artsy/View_Controllers/Live_Auctions/LiveAuctionStateManager.swift diff --git a/Artsy/View_Controllers/Live_Auctions/LiveAuctionStateManagerSpec.swift b/ios/Artsy/View_Controllers/Live_Auctions/LiveAuctionStateManagerSpec.swift similarity index 100% rename from Artsy/View_Controllers/Live_Auctions/LiveAuctionStateManagerSpec.swift rename to ios/Artsy/View_Controllers/Live_Auctions/LiveAuctionStateManagerSpec.swift diff --git a/Artsy/View_Controllers/Live_Auctions/LiveAuctionStaticDataFetcher+Stubs.swift b/ios/Artsy/View_Controllers/Live_Auctions/LiveAuctionStaticDataFetcher+Stubs.swift similarity index 100% rename from Artsy/View_Controllers/Live_Auctions/LiveAuctionStaticDataFetcher+Stubs.swift rename to ios/Artsy/View_Controllers/Live_Auctions/LiveAuctionStaticDataFetcher+Stubs.swift diff --git a/Artsy/View_Controllers/Live_Auctions/LiveAuctionStaticDataFetcher.swift b/ios/Artsy/View_Controllers/Live_Auctions/LiveAuctionStaticDataFetcher.swift similarity index 100% rename from Artsy/View_Controllers/Live_Auctions/LiveAuctionStaticDataFetcher.swift rename to ios/Artsy/View_Controllers/Live_Auctions/LiveAuctionStaticDataFetcher.swift diff --git a/Artsy/View_Controllers/Live_Auctions/LiveAuctionViewController.swift b/ios/Artsy/View_Controllers/Live_Auctions/LiveAuctionViewController.swift similarity index 100% rename from Artsy/View_Controllers/Live_Auctions/LiveAuctionViewController.swift rename to ios/Artsy/View_Controllers/Live_Auctions/LiveAuctionViewController.swift diff --git a/Artsy/View_Controllers/Live_Auctions/LiveAuctionsAdminViewController.swift b/ios/Artsy/View_Controllers/Live_Auctions/LiveAuctionsAdminViewController.swift similarity index 100% rename from Artsy/View_Controllers/Live_Auctions/LiveAuctionsAdminViewController.swift rename to ios/Artsy/View_Controllers/Live_Auctions/LiveAuctionsAdminViewController.swift diff --git a/Artsy/View_Controllers/Live_Auctions/LotListCollectionViewCell+Private.swift b/ios/Artsy/View_Controllers/Live_Auctions/LotListCollectionViewCell+Private.swift similarity index 100% rename from Artsy/View_Controllers/Live_Auctions/LotListCollectionViewCell+Private.swift rename to ios/Artsy/View_Controllers/Live_Auctions/LotListCollectionViewCell+Private.swift diff --git a/Artsy/View_Controllers/Live_Auctions/LotListCollectionViewCell.swift b/ios/Artsy/View_Controllers/Live_Auctions/LotListCollectionViewCell.swift similarity index 100% rename from Artsy/View_Controllers/Live_Auctions/LotListCollectionViewCell.swift rename to ios/Artsy/View_Controllers/Live_Auctions/LotListCollectionViewCell.swift diff --git a/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctions.storyboard b/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctions.storyboard similarity index 100% rename from Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctions.storyboard rename to ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctions.storyboard diff --git a/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/Contents.json b/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/Contents.json new file mode 100644 index 00000000000..97a8662ebdb --- /dev/null +++ b/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info": { + "version": 1, + "author": "xcode" + } +} diff --git a/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionButtonNormalBackground.imageset/Contents.json b/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionButtonNormalBackground.imageset/Contents.json new file mode 100644 index 00000000000..6592376bd74 --- /dev/null +++ b/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionButtonNormalBackground.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images": [ + { + "idiom": "universal", + "scale": "1x" + }, + { + "idiom": "universal", + "filename": "LiveAuctionButtonNormalBackground@2x.png", + "scale": "2x" + }, + { + "idiom": "universal", + "scale": "3x" + } + ], + "info": { + "version": 1, + "author": "xcode" + } +} diff --git a/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionButtonNormalBackground.imageset/LiveAuctionButtonNormalBackground@2x.png b/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionButtonNormalBackground.imageset/LiveAuctionButtonNormalBackground@2x.png similarity index 100% rename from Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionButtonNormalBackground.imageset/LiveAuctionButtonNormalBackground@2x.png rename to ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionButtonNormalBackground.imageset/LiveAuctionButtonNormalBackground@2x.png diff --git a/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionButtonNormalHighlighted.imageset/Contents.json b/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionButtonNormalHighlighted.imageset/Contents.json new file mode 100644 index 00000000000..9b8d1d2cff1 --- /dev/null +++ b/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionButtonNormalHighlighted.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images": [ + { + "idiom": "universal", + "scale": "1x" + }, + { + "idiom": "universal", + "filename": "LiveAuctionButtonNormalHighlighted.png", + "scale": "2x" + }, + { + "idiom": "universal", + "scale": "3x" + } + ], + "info": { + "version": 1, + "author": "xcode" + } +} diff --git a/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionButtonNormalHighlighted.imageset/LiveAuctionButtonNormalHighlighted.png b/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionButtonNormalHighlighted.imageset/LiveAuctionButtonNormalHighlighted.png similarity index 100% rename from Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionButtonNormalHighlighted.imageset/LiveAuctionButtonNormalHighlighted.png rename to ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionButtonNormalHighlighted.imageset/LiveAuctionButtonNormalHighlighted.png diff --git a/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionMaxBidIcon.imageset/Contents.json b/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionMaxBidIcon.imageset/Contents.json new file mode 100644 index 00000000000..49599b901c3 --- /dev/null +++ b/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionMaxBidIcon.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images": [ + { + "idiom": "universal", + "scale": "1x" + }, + { + "idiom": "universal", + "filename": "LiveAuctionMaxBidIcon@2x.png", + "scale": "2x" + }, + { + "idiom": "universal", + "scale": "3x" + } + ], + "info": { + "version": 1, + "author": "xcode" + } +} diff --git a/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionMaxBidIcon.imageset/LiveAuctionMaxBidIcon@2x.png b/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionMaxBidIcon.imageset/LiveAuctionMaxBidIcon@2x.png similarity index 100% rename from Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionMaxBidIcon.imageset/LiveAuctionMaxBidIcon@2x.png rename to ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionMaxBidIcon.imageset/LiveAuctionMaxBidIcon@2x.png diff --git a/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionOutbidWarningIcon.imageset/Contents.json b/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionOutbidWarningIcon.imageset/Contents.json new file mode 100644 index 00000000000..b2e0c556f77 --- /dev/null +++ b/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionOutbidWarningIcon.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images": [ + { + "idiom": "universal", + "scale": "1x" + }, + { + "idiom": "universal", + "filename": "LiveAuctionOutbidWarningIcon@2x.png", + "scale": "2x" + }, + { + "idiom": "universal", + "scale": "3x" + } + ], + "info": { + "version": 1, + "author": "xcode" + } +} diff --git a/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionOutbidWarningIcon.imageset/LiveAuctionOutbidWarningIcon@2x.png b/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionOutbidWarningIcon.imageset/LiveAuctionOutbidWarningIcon@2x.png similarity index 100% rename from Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionOutbidWarningIcon.imageset/LiveAuctionOutbidWarningIcon@2x.png rename to ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionOutbidWarningIcon.imageset/LiveAuctionOutbidWarningIcon@2x.png diff --git a/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionSpinner.imageset/Contents.json b/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionSpinner.imageset/Contents.json new file mode 100644 index 00000000000..091550fccff --- /dev/null +++ b/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionSpinner.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images": [ + { + "idiom": "universal", + "scale": "1x" + }, + { + "idiom": "universal", + "filename": "LiveAuctionSpinner@2x.png", + "scale": "2x" + }, + { + "idiom": "universal", + "scale": "3x" + } + ], + "info": { + "version": 1, + "author": "xcode" + } +} diff --git a/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionSpinner.imageset/LiveAuctionSpinner@2x.png b/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionSpinner.imageset/LiveAuctionSpinner@2x.png similarity index 100% rename from Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionSpinner.imageset/LiveAuctionSpinner@2x.png rename to ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionSpinner.imageset/LiveAuctionSpinner@2x.png diff --git a/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsDisclosureTriangleDown.imageset/Contents.json b/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsDisclosureTriangleDown.imageset/Contents.json new file mode 100644 index 00000000000..ec534084813 --- /dev/null +++ b/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsDisclosureTriangleDown.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images": [ + { + "idiom": "universal", + "scale": "1x" + }, + { + "idiom": "universal", + "filename": "LiveAuctionsDisclosureTriangleDown@2x.png", + "scale": "2x" + }, + { + "idiom": "universal", + "scale": "3x" + } + ], + "info": { + "version": 1, + "author": "xcode" + } +} diff --git a/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsDisclosureTriangleDown.imageset/LiveAuctionsDisclosureTriangleDown@2x.png b/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsDisclosureTriangleDown.imageset/LiveAuctionsDisclosureTriangleDown@2x.png similarity index 100% rename from Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsDisclosureTriangleDown.imageset/LiveAuctionsDisclosureTriangleDown@2x.png rename to ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsDisclosureTriangleDown.imageset/LiveAuctionsDisclosureTriangleDown@2x.png diff --git a/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsDisclosureTriangleLeft.imageset/Contents.json b/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsDisclosureTriangleLeft.imageset/Contents.json new file mode 100644 index 00000000000..97bba8d3cbe --- /dev/null +++ b/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsDisclosureTriangleLeft.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images": [ + { + "idiom": "universal", + "scale": "1x" + }, + { + "idiom": "universal", + "filename": "LiveAuctionsDisclosureTriangleLeft@2x.png", + "scale": "2x" + }, + { + "idiom": "universal", + "scale": "3x" + } + ], + "info": { + "version": 1, + "author": "xcode" + } +} diff --git a/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsDisclosureTriangleLeft.imageset/LiveAuctionsDisclosureTriangleLeft@2x.png b/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsDisclosureTriangleLeft.imageset/LiveAuctionsDisclosureTriangleLeft@2x.png similarity index 100% rename from Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsDisclosureTriangleLeft.imageset/LiveAuctionsDisclosureTriangleLeft@2x.png rename to ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsDisclosureTriangleLeft.imageset/LiveAuctionsDisclosureTriangleLeft@2x.png diff --git a/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsDisclosureTriangleRight.imageset/Contents.json b/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsDisclosureTriangleRight.imageset/Contents.json new file mode 100644 index 00000000000..d7044dc7ba2 --- /dev/null +++ b/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsDisclosureTriangleRight.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images": [ + { + "idiom": "universal", + "scale": "1x" + }, + { + "idiom": "universal", + "filename": "LiveAuctionsDisclosureTriangleRight@2x.png", + "scale": "2x" + }, + { + "idiom": "universal", + "scale": "3x" + } + ], + "info": { + "version": 1, + "author": "xcode" + } +} diff --git a/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsDisclosureTriangleRight.imageset/LiveAuctionsDisclosureTriangleRight@2x.png b/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsDisclosureTriangleRight.imageset/LiveAuctionsDisclosureTriangleRight@2x.png similarity index 100% rename from Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsDisclosureTriangleRight.imageset/LiveAuctionsDisclosureTriangleRight@2x.png rename to ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsDisclosureTriangleRight.imageset/LiveAuctionsDisclosureTriangleRight@2x.png diff --git a/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsDisclosureTriangleUp.imageset/Contents.json b/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsDisclosureTriangleUp.imageset/Contents.json new file mode 100644 index 00000000000..55eec2806b4 --- /dev/null +++ b/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsDisclosureTriangleUp.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images": [ + { + "idiom": "universal", + "scale": "1x" + }, + { + "idiom": "universal", + "filename": "LiveAuctionsDisclosureTriangleUp@2x.png", + "scale": "2x" + }, + { + "idiom": "universal", + "scale": "3x" + } + ], + "info": { + "version": 1, + "author": "xcode" + } +} diff --git a/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsDisclosureTriangleUp.imageset/LiveAuctionsDisclosureTriangleUp@2x.png b/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsDisclosureTriangleUp.imageset/LiveAuctionsDisclosureTriangleUp@2x.png similarity index 100% rename from Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsDisclosureTriangleUp.imageset/LiveAuctionsDisclosureTriangleUp@2x.png rename to ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsDisclosureTriangleUp.imageset/LiveAuctionsDisclosureTriangleUp@2x.png diff --git a/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsMaxBidMinus.imageset/Contents.json b/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsMaxBidMinus.imageset/Contents.json new file mode 100644 index 00000000000..a5459e76176 --- /dev/null +++ b/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsMaxBidMinus.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images": [ + { + "idiom": "universal", + "scale": "1x" + }, + { + "idiom": "universal", + "filename": "LiveAuctionsMaxBidMinus@2x.png", + "scale": "2x" + }, + { + "idiom": "universal", + "scale": "3x" + } + ], + "info": { + "version": 1, + "author": "xcode" + } +} diff --git a/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsMaxBidMinus.imageset/LiveAuctionsMaxBidMinus@2x.png b/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsMaxBidMinus.imageset/LiveAuctionsMaxBidMinus@2x.png similarity index 100% rename from Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsMaxBidMinus.imageset/LiveAuctionsMaxBidMinus@2x.png rename to ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsMaxBidMinus.imageset/LiveAuctionsMaxBidMinus@2x.png diff --git a/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsMaxBidPlus.imageset/Contents.json b/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsMaxBidPlus.imageset/Contents.json new file mode 100644 index 00000000000..741ababeb6d --- /dev/null +++ b/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsMaxBidPlus.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images": [ + { + "idiom": "universal", + "scale": "1x" + }, + { + "idiom": "universal", + "filename": "liveAuctionsMaxBidPlus.png", + "scale": "2x" + }, + { + "idiom": "universal", + "scale": "3x" + } + ], + "info": { + "version": 1, + "author": "xcode" + } +} diff --git a/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsMaxBidPlus.imageset/liveAuctionsMaxBidPlus.png b/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsMaxBidPlus.imageset/liveAuctionsMaxBidPlus.png similarity index 100% rename from Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsMaxBidPlus.imageset/liveAuctionsMaxBidPlus.png rename to ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/LiveAuctionsMaxBidPlus.imageset/liveAuctionsMaxBidPlus.png diff --git a/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/chat_icon.imageset/Chat_Icon.png b/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/chat_icon.imageset/Chat_Icon.png similarity index 100% rename from Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/chat_icon.imageset/Chat_Icon.png rename to ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/chat_icon.imageset/Chat_Icon.png diff --git a/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/chat_icon.imageset/Contents.json b/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/chat_icon.imageset/Contents.json new file mode 100644 index 00000000000..6768b6e729f --- /dev/null +++ b/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/chat_icon.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images": [ + { + "idiom": "universal", + "scale": "1x" + }, + { + "idiom": "universal", + "filename": "Chat_Icon.png", + "scale": "2x" + }, + { + "idiom": "universal", + "scale": "3x" + } + ], + "info": { + "version": 1, + "author": "xcode" + } +} diff --git a/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/info_icon.imageset/Contents.json b/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/info_icon.imageset/Contents.json new file mode 100644 index 00000000000..ecfd0f2d917 --- /dev/null +++ b/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/info_icon.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images": [ + { + "idiom": "universal", + "scale": "1x" + }, + { + "idiom": "universal", + "filename": "Info_Icon.png", + "scale": "2x" + }, + { + "idiom": "universal", + "scale": "3x" + } + ], + "info": { + "version": 1, + "author": "xcode" + } +} diff --git a/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/info_icon.imageset/Info_Icon.png b/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/info_icon.imageset/Info_Icon.png similarity index 100% rename from Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/info_icon.imageset/Info_Icon.png rename to ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/info_icon.imageset/Info_Icon.png diff --git a/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/live_auction_bid_hammer.imageset/Contents.json b/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/live_auction_bid_hammer.imageset/Contents.json new file mode 100644 index 00000000000..d103f1a6c2e --- /dev/null +++ b/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/live_auction_bid_hammer.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images": [ + { + "idiom": "universal", + "scale": "1x" + }, + { + "idiom": "universal", + "filename": "live_auction_bid_hammer@2x.png", + "scale": "2x" + }, + { + "idiom": "universal", + "scale": "3x" + } + ], + "info": { + "version": 1, + "author": "xcode" + } +} diff --git a/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/live_auction_bid_hammer.imageset/live_auction_bid_hammer@2x.png b/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/live_auction_bid_hammer.imageset/live_auction_bid_hammer@2x.png similarity index 100% rename from Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/live_auction_bid_hammer.imageset/live_auction_bid_hammer@2x.png rename to ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/live_auction_bid_hammer.imageset/live_auction_bid_hammer@2x.png diff --git a/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/live_auction_bid_warning_orange.imageset/Contents.json b/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/live_auction_bid_warning_orange.imageset/Contents.json new file mode 100644 index 00000000000..ae613062891 --- /dev/null +++ b/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/live_auction_bid_warning_orange.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images": [ + { + "idiom": "universal", + "scale": "1x" + }, + { + "idiom": "universal", + "filename": "live_auction_bid_orangey@2x.png", + "scale": "2x" + }, + { + "idiom": "universal", + "scale": "3x" + } + ], + "info": { + "version": 1, + "author": "xcode" + } +} diff --git a/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/live_auction_bid_warning_orange.imageset/live_auction_bid_orangey@2x.png b/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/live_auction_bid_warning_orange.imageset/live_auction_bid_orangey@2x.png similarity index 100% rename from Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/live_auction_bid_warning_orange.imageset/live_auction_bid_orangey@2x.png rename to ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/live_auction_bid_warning_orange.imageset/live_auction_bid_orangey@2x.png diff --git a/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/live_auction_bid_warning_yellow.imageset/Contents.json b/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/live_auction_bid_warning_yellow.imageset/Contents.json new file mode 100644 index 00000000000..f389fc122fc --- /dev/null +++ b/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/live_auction_bid_warning_yellow.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images": [ + { + "idiom": "universal", + "scale": "1x" + }, + { + "idiom": "universal", + "filename": "live_auction_bid_warning_yellow@2x.png", + "scale": "2x" + }, + { + "idiom": "universal", + "scale": "3x" + } + ], + "info": { + "version": 1, + "author": "xcode" + } +} diff --git a/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/live_auction_bid_warning_yellow.imageset/live_auction_bid_warning_yellow@2x.png b/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/live_auction_bid_warning_yellow.imageset/live_auction_bid_warning_yellow@2x.png similarity index 100% rename from Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/live_auction_bid_warning_yellow.imageset/live_auction_bid_warning_yellow@2x.png rename to ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/live_auction_bid_warning_yellow.imageset/live_auction_bid_warning_yellow@2x.png diff --git a/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lot_bidder_hammer_white.imageset/Contents.json b/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lot_bidder_hammer_white.imageset/Contents.json new file mode 100644 index 00000000000..e564dfb9f29 --- /dev/null +++ b/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lot_bidder_hammer_white.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images": [ + { + "idiom": "universal", + "scale": "1x" + }, + { + "idiom": "universal", + "filename": "lot_bidder_hammer_white.png", + "scale": "2x" + }, + { + "idiom": "universal", + "scale": "3x" + } + ], + "info": { + "version": 1, + "author": "xcode" + } +} diff --git a/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lot_bidder_hammer_white.imageset/lot_bidder_hammer_white.png b/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lot_bidder_hammer_white.imageset/lot_bidder_hammer_white.png similarity index 100% rename from Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lot_bidder_hammer_white.imageset/lot_bidder_hammer_white.png rename to ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lot_bidder_hammer_white.imageset/lot_bidder_hammer_white.png diff --git a/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lot_bidders_info.imageset/Contents.json b/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lot_bidders_info.imageset/Contents.json new file mode 100644 index 00000000000..c40de2992f1 --- /dev/null +++ b/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lot_bidders_info.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images": [ + { + "idiom": "universal", + "scale": "1x" + }, + { + "idiom": "universal", + "filename": "lot_bidders_info.png", + "scale": "2x" + }, + { + "idiom": "universal", + "scale": "3x" + } + ], + "info": { + "version": 1, + "author": "xcode" + } +} diff --git a/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lot_bidders_info.imageset/lot_bidders_info.png b/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lot_bidders_info.imageset/lot_bidders_info.png similarity index 100% rename from Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lot_bidders_info.imageset/lot_bidders_info.png rename to ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lot_bidders_info.imageset/lot_bidders_info.png diff --git a/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lot_lot_info.imageset/Contents.json b/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lot_lot_info.imageset/Contents.json new file mode 100644 index 00000000000..819a0093827 --- /dev/null +++ b/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lot_lot_info.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images": [ + { + "idiom": "universal", + "scale": "1x" + }, + { + "idiom": "universal", + "filename": "lot_lot_info.png", + "scale": "2x" + }, + { + "idiom": "universal", + "scale": "3x" + } + ], + "info": { + "version": 1, + "author": "xcode" + } +} diff --git a/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lot_lot_info.imageset/lot_lot_info.png b/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lot_lot_info.imageset/lot_lot_info.png similarity index 100% rename from Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lot_lot_info.imageset/lot_lot_info.png rename to ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lot_lot_info.imageset/lot_lot_info.png diff --git a/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lot_time_info.imageset/Contents.json b/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lot_time_info.imageset/Contents.json new file mode 100644 index 00000000000..caa4c6481e3 --- /dev/null +++ b/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lot_time_info.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images": [ + { + "idiom": "universal", + "scale": "1x" + }, + { + "idiom": "universal", + "filename": "lot_time_info.png", + "scale": "2x" + }, + { + "idiom": "universal", + "scale": "3x" + } + ], + "info": { + "version": 1, + "author": "xcode" + } +} diff --git a/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lot_time_info.imageset/lot_time_info.png b/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lot_time_info.imageset/lot_time_info.png similarity index 100% rename from Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lot_time_info.imageset/lot_time_info.png rename to ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lot_time_info.imageset/lot_time_info.png diff --git a/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lot_watchers_info.imageset/Contents.json b/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lot_watchers_info.imageset/Contents.json new file mode 100644 index 00000000000..c8af48f4dcf --- /dev/null +++ b/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lot_watchers_info.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images": [ + { + "idiom": "universal", + "scale": "1x" + }, + { + "idiom": "universal", + "filename": "lot_watchers_info.png", + "scale": "2x" + }, + { + "idiom": "universal", + "scale": "3x" + } + ], + "info": { + "version": 1, + "author": "xcode" + } +} diff --git a/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lot_watchers_info.imageset/lot_watchers_info.png b/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lot_watchers_info.imageset/lot_watchers_info.png similarity index 100% rename from Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lot_watchers_info.imageset/lot_watchers_info.png rename to ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lot_watchers_info.imageset/lot_watchers_info.png diff --git a/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lots_icon.imageset/Contents.json b/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lots_icon.imageset/Contents.json new file mode 100644 index 00000000000..14557898359 --- /dev/null +++ b/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lots_icon.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images": [ + { + "idiom": "universal", + "scale": "1x" + }, + { + "idiom": "universal", + "filename": "Lots_Icon.png", + "scale": "2x" + }, + { + "idiom": "universal", + "scale": "3x" + } + ], + "info": { + "version": 1, + "author": "xcode" + } +} diff --git a/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lots_icon.imageset/Lots_Icon.png b/ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lots_icon.imageset/Lots_Icon.png similarity index 100% rename from Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lots_icon.imageset/Lots_Icon.png rename to ios/Artsy/View_Controllers/Live_Auctions/Resources/LiveAuctionsAssets.xcassets/lots_icon.imageset/Lots_Icon.png diff --git a/Artsy/View_Controllers/Live_Auctions/ViewModels/LiveAuctionEventViewModel.swift b/ios/Artsy/View_Controllers/Live_Auctions/ViewModels/LiveAuctionEventViewModel.swift similarity index 100% rename from Artsy/View_Controllers/Live_Auctions/ViewModels/LiveAuctionEventViewModel.swift rename to ios/Artsy/View_Controllers/Live_Auctions/ViewModels/LiveAuctionEventViewModel.swift diff --git a/Artsy/View_Controllers/Live_Auctions/ViewModels/LiveAuctionLotViewModel.swift b/ios/Artsy/View_Controllers/Live_Auctions/ViewModels/LiveAuctionLotViewModel.swift similarity index 100% rename from Artsy/View_Controllers/Live_Auctions/ViewModels/LiveAuctionLotViewModel.swift rename to ios/Artsy/View_Controllers/Live_Auctions/ViewModels/LiveAuctionLotViewModel.swift diff --git a/Artsy/View_Controllers/Live_Auctions/ViewModels/LiveAuctionViewModel.swift b/ios/Artsy/View_Controllers/Live_Auctions/ViewModels/LiveAuctionViewModel.swift similarity index 100% rename from Artsy/View_Controllers/Live_Auctions/ViewModels/LiveAuctionViewModel.swift rename to ios/Artsy/View_Controllers/Live_Auctions/ViewModels/LiveAuctionViewModel.swift diff --git a/Artsy/View_Controllers/Live_Auctions/Views/AuctionLotMetadataStackScrollView.swift b/ios/Artsy/View_Controllers/Live_Auctions/Views/AuctionLotMetadataStackScrollView.swift similarity index 100% rename from Artsy/View_Controllers/Live_Auctions/Views/AuctionLotMetadataStackScrollView.swift rename to ios/Artsy/View_Controllers/Live_Auctions/Views/AuctionLotMetadataStackScrollView.swift diff --git a/Artsy/View_Controllers/Live_Auctions/Views/LiveAuctionBiddingViewModel.swift b/ios/Artsy/View_Controllers/Live_Auctions/Views/LiveAuctionBiddingViewModel.swift similarity index 100% rename from Artsy/View_Controllers/Live_Auctions/Views/LiveAuctionBiddingViewModel.swift rename to ios/Artsy/View_Controllers/Live_Auctions/Views/LiveAuctionBiddingViewModel.swift diff --git a/Artsy/View_Controllers/Live_Auctions/Views/LiveAuctionCurrentLotView.swift b/ios/Artsy/View_Controllers/Live_Auctions/Views/LiveAuctionCurrentLotView.swift similarity index 100% rename from Artsy/View_Controllers/Live_Auctions/Views/LiveAuctionCurrentLotView.swift rename to ios/Artsy/View_Controllers/Live_Auctions/Views/LiveAuctionCurrentLotView.swift diff --git a/Artsy/View_Controllers/Live_Auctions/Views/LiveAuctionFancyLotCollectionViewLayout.swift b/ios/Artsy/View_Controllers/Live_Auctions/Views/LiveAuctionFancyLotCollectionViewLayout.swift similarity index 100% rename from Artsy/View_Controllers/Live_Auctions/Views/LiveAuctionFancyLotCollectionViewLayout.swift rename to ios/Artsy/View_Controllers/Live_Auctions/Views/LiveAuctionFancyLotCollectionViewLayout.swift diff --git a/Artsy/View_Controllers/Live_Auctions/Views/LiveAuctionLotCollectionViewDataSource.swift b/ios/Artsy/View_Controllers/Live_Auctions/Views/LiveAuctionLotCollectionViewDataSource.swift similarity index 100% rename from Artsy/View_Controllers/Live_Auctions/Views/LiveAuctionLotCollectionViewDataSource.swift rename to ios/Artsy/View_Controllers/Live_Auctions/Views/LiveAuctionLotCollectionViewDataSource.swift diff --git a/Artsy/View_Controllers/Live_Auctions/Views/LiveAuctionLotCollectionViewLayoutAttributes.swift b/ios/Artsy/View_Controllers/Live_Auctions/Views/LiveAuctionLotCollectionViewLayoutAttributes.swift similarity index 100% rename from Artsy/View_Controllers/Live_Auctions/Views/LiveAuctionLotCollectionViewLayoutAttributes.swift rename to ios/Artsy/View_Controllers/Live_Auctions/Views/LiveAuctionLotCollectionViewLayoutAttributes.swift diff --git a/Artsy/View_Controllers/Live_Auctions/Views/LiveAuctionLotCollectionViewLayoutType.swift b/ios/Artsy/View_Controllers/Live_Auctions/Views/LiveAuctionLotCollectionViewLayoutType.swift similarity index 100% rename from Artsy/View_Controllers/Live_Auctions/Views/LiveAuctionLotCollectionViewLayoutType.swift rename to ios/Artsy/View_Controllers/Live_Auctions/Views/LiveAuctionLotCollectionViewLayoutType.swift diff --git a/Artsy/View_Controllers/Live_Auctions/Views/LiveAuctionLotImageCollectionViewCell.swift b/ios/Artsy/View_Controllers/Live_Auctions/Views/LiveAuctionLotImageCollectionViewCell.swift similarity index 100% rename from Artsy/View_Controllers/Live_Auctions/Views/LiveAuctionLotImageCollectionViewCell.swift rename to ios/Artsy/View_Controllers/Live_Auctions/Views/LiveAuctionLotImageCollectionViewCell.swift diff --git a/Artsy/View_Controllers/Live_Auctions/Views/LiveAuctionToolbarView.swift b/ios/Artsy/View_Controllers/Live_Auctions/Views/LiveAuctionToolbarView.swift similarity index 100% rename from Artsy/View_Controllers/Live_Auctions/Views/LiveAuctionToolbarView.swift rename to ios/Artsy/View_Controllers/Live_Auctions/Views/LiveAuctionToolbarView.swift diff --git a/Artsy/View_Controllers/Live_Auctions/Views/LiveBidProgressOverlayView.swift b/ios/Artsy/View_Controllers/Live_Auctions/Views/LiveBidProgressOverlayView.swift similarity index 100% rename from Artsy/View_Controllers/Live_Auctions/Views/LiveBidProgressOverlayView.swift rename to ios/Artsy/View_Controllers/Live_Auctions/Views/LiveBidProgressOverlayView.swift diff --git a/Artsy/View_Controllers/Live_Auctions/Views/SaleOnHoldOverlayView.swift b/ios/Artsy/View_Controllers/Live_Auctions/Views/SaleOnHoldOverlayView.swift similarity index 100% rename from Artsy/View_Controllers/Live_Auctions/Views/SaleOnHoldOverlayView.swift rename to ios/Artsy/View_Controllers/Live_Auctions/Views/SaleOnHoldOverlayView.swift diff --git a/Artsy/View_Controllers/Live_Auctions/Views/SaleStatusView.swift b/ios/Artsy/View_Controllers/Live_Auctions/Views/SaleStatusView.swift similarity index 100% rename from Artsy/View_Controllers/Live_Auctions/Views/SaleStatusView.swift rename to ios/Artsy/View_Controllers/Live_Auctions/Views/SaleStatusView.swift diff --git a/Artsy/View_Controllers/Live_Auctions/Views/SimpleProgressView.swift b/ios/Artsy/View_Controllers/Live_Auctions/Views/SimpleProgressView.swift similarity index 100% rename from Artsy/View_Controllers/Live_Auctions/Views/SimpleProgressView.swift rename to ios/Artsy/View_Controllers/Live_Auctions/Views/SimpleProgressView.swift diff --git a/Artsy/View_Controllers/Login_and_Onboarding/Onboarding_stages/2_-_Calls_to_Action/ARSignUpActiveUserViewController.xib b/ios/Artsy/View_Controllers/Login_and_Onboarding/Onboarding_stages/2_-_Calls_to_Action/ARSignUpActiveUserViewController.xib similarity index 100% rename from Artsy/View_Controllers/Login_and_Onboarding/Onboarding_stages/2_-_Calls_to_Action/ARSignUpActiveUserViewController.xib rename to ios/Artsy/View_Controllers/Login_and_Onboarding/Onboarding_stages/2_-_Calls_to_Action/ARSignUpActiveUserViewController.xib diff --git a/Artsy/View_Controllers/Map/AREigenMapContainerViewController.h b/ios/Artsy/View_Controllers/Map/AREigenMapContainerViewController.h similarity index 100% rename from Artsy/View_Controllers/Map/AREigenMapContainerViewController.h rename to ios/Artsy/View_Controllers/Map/AREigenMapContainerViewController.h diff --git a/Artsy/View_Controllers/Map/AREigenMapContainerViewController.m b/ios/Artsy/View_Controllers/Map/AREigenMapContainerViewController.m similarity index 100% rename from Artsy/View_Controllers/Map/AREigenMapContainerViewController.m rename to ios/Artsy/View_Controllers/Map/AREigenMapContainerViewController.m diff --git a/Artsy/View_Controllers/SerifModalWebNavigationController.swift b/ios/Artsy/View_Controllers/SerifModalWebNavigationController.swift similarity index 100% rename from Artsy/View_Controllers/SerifModalWebNavigationController.swift rename to ios/Artsy/View_Controllers/SerifModalWebNavigationController.swift diff --git a/Artsy/View_Controllers/Util/ARBackButton.h b/ios/Artsy/View_Controllers/Util/ARBackButton.h similarity index 100% rename from Artsy/View_Controllers/Util/ARBackButton.h rename to ios/Artsy/View_Controllers/Util/ARBackButton.h diff --git a/Artsy/View_Controllers/Util/ARBackButton.m b/ios/Artsy/View_Controllers/Util/ARBackButton.m similarity index 100% rename from Artsy/View_Controllers/Util/ARBackButton.m rename to ios/Artsy/View_Controllers/Util/ARBackButton.m diff --git a/Artsy/View_Controllers/Util/ARFeedImageLoader.h b/ios/Artsy/View_Controllers/Util/ARFeedImageLoader.h similarity index 100% rename from Artsy/View_Controllers/Util/ARFeedImageLoader.h rename to ios/Artsy/View_Controllers/Util/ARFeedImageLoader.h diff --git a/Artsy/View_Controllers/Util/ARFeedImageLoader.m b/ios/Artsy/View_Controllers/Util/ARFeedImageLoader.m similarity index 100% rename from Artsy/View_Controllers/Util/ARFeedImageLoader.m rename to ios/Artsy/View_Controllers/Util/ARFeedImageLoader.m diff --git a/Artsy/View_Controllers/Util/ARFileUtils.h b/ios/Artsy/View_Controllers/Util/ARFileUtils.h similarity index 100% rename from Artsy/View_Controllers/Util/ARFileUtils.h rename to ios/Artsy/View_Controllers/Util/ARFileUtils.h diff --git a/Artsy/View_Controllers/Util/ARFileUtils.m b/ios/Artsy/View_Controllers/Util/ARFileUtils.m similarity index 100% rename from Artsy/View_Controllers/Util/ARFileUtils.m rename to ios/Artsy/View_Controllers/Util/ARFileUtils.m diff --git a/Artsy/View_Controllers/Util/ARMenuAwareViewController.h b/ios/Artsy/View_Controllers/Util/ARMenuAwareViewController.h similarity index 100% rename from Artsy/View_Controllers/Util/ARMenuAwareViewController.h rename to ios/Artsy/View_Controllers/Util/ARMenuAwareViewController.h diff --git a/Artsy/View_Controllers/Util/ARNavigationController.h b/ios/Artsy/View_Controllers/Util/ARNavigationController.h similarity index 100% rename from Artsy/View_Controllers/Util/ARNavigationController.h rename to ios/Artsy/View_Controllers/Util/ARNavigationController.h diff --git a/Artsy/View_Controllers/Util/ARNavigationController.m b/ios/Artsy/View_Controllers/Util/ARNavigationController.m similarity index 99% rename from Artsy/View_Controllers/Util/ARNavigationController.m rename to ios/Artsy/View_Controllers/Util/ARNavigationController.m index 49a186bc8fd..a66295ac2ab 100644 --- a/Artsy/View_Controllers/Util/ARNavigationController.m +++ b/ios/Artsy/View_Controllers/Util/ARNavigationController.m @@ -24,7 +24,6 @@ #import #import #import -#import #import static void *ARNavigationControllerButtonStateContext = &ARNavigationControllerButtonStateContext; diff --git a/Artsy/View_Controllers/Util/ARScrollNavigationChief.h b/ios/Artsy/View_Controllers/Util/ARScrollNavigationChief.h similarity index 100% rename from Artsy/View_Controllers/Util/ARScrollNavigationChief.h rename to ios/Artsy/View_Controllers/Util/ARScrollNavigationChief.h diff --git a/Artsy/View_Controllers/Util/ARScrollNavigationChief.m b/ios/Artsy/View_Controllers/Util/ARScrollNavigationChief.m similarity index 100% rename from Artsy/View_Controllers/Util/ARScrollNavigationChief.m rename to ios/Artsy/View_Controllers/Util/ARScrollNavigationChief.m diff --git a/Artsy/View_Controllers/Util/ARStandardDateFormatter.h b/ios/Artsy/View_Controllers/Util/ARStandardDateFormatter.h similarity index 100% rename from Artsy/View_Controllers/Util/ARStandardDateFormatter.h rename to ios/Artsy/View_Controllers/Util/ARStandardDateFormatter.h diff --git a/Artsy/View_Controllers/Util/ARStandardDateFormatter.m b/ios/Artsy/View_Controllers/Util/ARStandardDateFormatter.m similarity index 100% rename from Artsy/View_Controllers/Util/ARStandardDateFormatter.m rename to ios/Artsy/View_Controllers/Util/ARStandardDateFormatter.m diff --git a/Artsy/View_Controllers/Util/ARTwoWayDictionaryTransformer.h b/ios/Artsy/View_Controllers/Util/ARTwoWayDictionaryTransformer.h similarity index 100% rename from Artsy/View_Controllers/Util/ARTwoWayDictionaryTransformer.h rename to ios/Artsy/View_Controllers/Util/ARTwoWayDictionaryTransformer.h diff --git a/Artsy/View_Controllers/Util/ARTwoWayDictionaryTransformer.m b/ios/Artsy/View_Controllers/Util/ARTwoWayDictionaryTransformer.m similarity index 100% rename from Artsy/View_Controllers/Util/ARTwoWayDictionaryTransformer.m rename to ios/Artsy/View_Controllers/Util/ARTwoWayDictionaryTransformer.m diff --git a/Artsy/View_Controllers/Util/ARValueTransformer.h b/ios/Artsy/View_Controllers/Util/ARValueTransformer.h similarity index 100% rename from Artsy/View_Controllers/Util/ARValueTransformer.h rename to ios/Artsy/View_Controllers/Util/ARValueTransformer.h diff --git a/Artsy/View_Controllers/Util/ARValueTransformer.m b/ios/Artsy/View_Controllers/Util/ARValueTransformer.m similarity index 100% rename from Artsy/View_Controllers/Util/ARValueTransformer.m rename to ios/Artsy/View_Controllers/Util/ARValueTransformer.m diff --git a/Artsy/View_Controllers/Util/Emumerations/UIApplicationStateEnum.h b/ios/Artsy/View_Controllers/Util/Emumerations/UIApplicationStateEnum.h similarity index 100% rename from Artsy/View_Controllers/Util/Emumerations/UIApplicationStateEnum.h rename to ios/Artsy/View_Controllers/Util/Emumerations/UIApplicationStateEnum.h diff --git a/Artsy/View_Controllers/Util/Emumerations/UIApplicationStateEnum.m b/ios/Artsy/View_Controllers/Util/Emumerations/UIApplicationStateEnum.m similarity index 100% rename from Artsy/View_Controllers/Util/Emumerations/UIApplicationStateEnum.m rename to ios/Artsy/View_Controllers/Util/Emumerations/UIApplicationStateEnum.m diff --git a/Artsy/View_Controllers/Util/Errors/ARNetworkErrorManager.h b/ios/Artsy/View_Controllers/Util/Errors/ARNetworkErrorManager.h similarity index 100% rename from Artsy/View_Controllers/Util/Errors/ARNetworkErrorManager.h rename to ios/Artsy/View_Controllers/Util/Errors/ARNetworkErrorManager.h diff --git a/Artsy/View_Controllers/Util/Errors/ARNetworkErrorManager.m b/ios/Artsy/View_Controllers/Util/Errors/ARNetworkErrorManager.m similarity index 95% rename from Artsy/View_Controllers/Util/Errors/ARNetworkErrorManager.m rename to ios/Artsy/View_Controllers/Util/Errors/ARNetworkErrorManager.m index 3ad49a27dc3..5ac383fc92f 100644 --- a/Artsy/View_Controllers/Util/Errors/ARNetworkErrorManager.m +++ b/ios/Artsy/View_Controllers/Util/Errors/ARNetworkErrorManager.m @@ -1,6 +1,6 @@ #import "ARNetworkErrorManager.h" #import "ARCustomEigenLabels.h" -#import "ARScreenPresenterModule.h" +#import "ARTNativeScreenPresenterModule.h" #import #import @@ -40,7 +40,7 @@ + (void)presentActiveError:(NSError *)error withMessage:(NSString *)message; - (void)presentActiveError:(NSError *)error withMessage:(NSString *)message; { - UIView *hostView = [ARScreenPresenterModule currentlyPresentedVC].view; + UIView *hostView = [ARTNativeScreenPresenterModule currentlyPresentedVC].view; // This happens when there’s no network on app launch and onboarding will be shown. if (hostView.superview == nil) { diff --git a/Artsy/View_Controllers/Util/Logging/ARHTTPRequestOperationLogger.h b/ios/Artsy/View_Controllers/Util/Logging/ARHTTPRequestOperationLogger.h similarity index 100% rename from Artsy/View_Controllers/Util/Logging/ARHTTPRequestOperationLogger.h rename to ios/Artsy/View_Controllers/Util/Logging/ARHTTPRequestOperationLogger.h diff --git a/Artsy/View_Controllers/Util/Logging/ARHTTPRequestOperationLogger.m b/ios/Artsy/View_Controllers/Util/Logging/ARHTTPRequestOperationLogger.m similarity index 100% rename from Artsy/View_Controllers/Util/Logging/ARHTTPRequestOperationLogger.m rename to ios/Artsy/View_Controllers/Util/Logging/ARHTTPRequestOperationLogger.m diff --git a/Artsy/View_Controllers/Util/Logging/ARLogFormatter.h b/ios/Artsy/View_Controllers/Util/Logging/ARLogFormatter.h similarity index 100% rename from Artsy/View_Controllers/Util/Logging/ARLogFormatter.h rename to ios/Artsy/View_Controllers/Util/Logging/ARLogFormatter.h diff --git a/Artsy/View_Controllers/Util/Logging/ARLogFormatter.m b/ios/Artsy/View_Controllers/Util/Logging/ARLogFormatter.m similarity index 100% rename from Artsy/View_Controllers/Util/Logging/ARLogFormatter.m rename to ios/Artsy/View_Controllers/Util/Logging/ARLogFormatter.m diff --git a/Artsy/View_Controllers/Util/Logging/ARLogger.h b/ios/Artsy/View_Controllers/Util/Logging/ARLogger.h similarity index 100% rename from Artsy/View_Controllers/Util/Logging/ARLogger.h rename to ios/Artsy/View_Controllers/Util/Logging/ARLogger.h diff --git a/Artsy/View_Controllers/Util/Logging/ARLogger.m b/ios/Artsy/View_Controllers/Util/Logging/ARLogger.m similarity index 100% rename from Artsy/View_Controllers/Util/Logging/ARLogger.m rename to ios/Artsy/View_Controllers/Util/Logging/ARLogger.m diff --git a/Artsy/View_Controllers/Util/Sharing/ARImageItemProvider.h b/ios/Artsy/View_Controllers/Util/Sharing/ARImageItemProvider.h similarity index 100% rename from Artsy/View_Controllers/Util/Sharing/ARImageItemProvider.h rename to ios/Artsy/View_Controllers/Util/Sharing/ARImageItemProvider.h diff --git a/Artsy/View_Controllers/Util/Sharing/ARImageItemProvider.m b/ios/Artsy/View_Controllers/Util/Sharing/ARImageItemProvider.m similarity index 100% rename from Artsy/View_Controllers/Util/Sharing/ARImageItemProvider.m rename to ios/Artsy/View_Controllers/Util/Sharing/ARImageItemProvider.m diff --git a/Artsy/View_Controllers/Util/Sharing/ARMessageItemProvider.h b/ios/Artsy/View_Controllers/Util/Sharing/ARMessageItemProvider.h similarity index 100% rename from Artsy/View_Controllers/Util/Sharing/ARMessageItemProvider.h rename to ios/Artsy/View_Controllers/Util/Sharing/ARMessageItemProvider.h diff --git a/Artsy/View_Controllers/Util/Sharing/ARMessageItemProvider.m b/ios/Artsy/View_Controllers/Util/Sharing/ARMessageItemProvider.m similarity index 100% rename from Artsy/View_Controllers/Util/Sharing/ARMessageItemProvider.m rename to ios/Artsy/View_Controllers/Util/Sharing/ARMessageItemProvider.m diff --git a/Artsy/View_Controllers/Util/Sharing/ARSharingController.h b/ios/Artsy/View_Controllers/Util/Sharing/ARSharingController.h similarity index 100% rename from Artsy/View_Controllers/Util/Sharing/ARSharingController.h rename to ios/Artsy/View_Controllers/Util/Sharing/ARSharingController.h diff --git a/Artsy/View_Controllers/Util/Sharing/ARSharingController.m b/ios/Artsy/View_Controllers/Util/Sharing/ARSharingController.m similarity index 93% rename from Artsy/View_Controllers/Util/Sharing/ARSharingController.m rename to ios/Artsy/View_Controllers/Util/Sharing/ARSharingController.m index eafa1ce1a54..06067221896 100644 --- a/Artsy/View_Controllers/Util/Sharing/ARSharingController.m +++ b/ios/Artsy/View_Controllers/Util/Sharing/ARSharingController.m @@ -10,7 +10,7 @@ #import "ARMessageItemProvider.h" #import "Gene.h" #import "PartnerShow.h" -#import "ARScreenPresenterModule.h" +#import "ARTNativeScreenPresenterModule.h" @interface ARSharingController () @@ -62,10 +62,10 @@ - (void)presentActivityViewControllerFromView:(UIView *)view frame:(CGRect)frame ]; if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) { - [[ARScreenPresenterModule currentlyPresentedVC] presentViewController:activityVC animated:YES completion:nil]; + [[ARTNativeScreenPresenterModule currentlyPresentedVC] presentViewController:activityVC animated:YES completion:nil]; } else { activityVC.modalPresentationStyle = UIModalPresentationPopover; - [[ARScreenPresenterModule currentlyPresentedVC] presentViewController:activityVC animated:YES completion:nil]; + [[ARTNativeScreenPresenterModule currentlyPresentedVC] presentViewController:activityVC animated:YES completion:nil]; UIPopoverPresentationController *popoverController = activityVC.popoverPresentationController; popoverController.permittedArrowDirections = UIPopoverArrowDirectionAny; popoverController.sourceView = view; diff --git a/Artsy/View_Controllers/Util/Sharing/ARURLItemProvider.h b/ios/Artsy/View_Controllers/Util/Sharing/ARURLItemProvider.h similarity index 100% rename from Artsy/View_Controllers/Util/Sharing/ARURLItemProvider.h rename to ios/Artsy/View_Controllers/Util/Sharing/ARURLItemProvider.h diff --git a/Artsy/View_Controllers/Util/Sharing/ARURLItemProvider.m b/ios/Artsy/View_Controllers/Util/Sharing/ARURLItemProvider.m similarity index 100% rename from Artsy/View_Controllers/Util/Sharing/ARURLItemProvider.m rename to ios/Artsy/View_Controllers/Util/Sharing/ARURLItemProvider.m diff --git a/Artsy/View_Controllers/Util/UIViewController+InnermostTopViewController.h b/ios/Artsy/View_Controllers/Util/UIViewController+InnermostTopViewController.h similarity index 100% rename from Artsy/View_Controllers/Util/UIViewController+InnermostTopViewController.h rename to ios/Artsy/View_Controllers/Util/UIViewController+InnermostTopViewController.h diff --git a/Artsy/View_Controllers/Util/UIViewController+InnermostTopViewController.m b/ios/Artsy/View_Controllers/Util/UIViewController+InnermostTopViewController.m similarity index 100% rename from Artsy/View_Controllers/Util/UIViewController+InnermostTopViewController.m rename to ios/Artsy/View_Controllers/Util/UIViewController+InnermostTopViewController.m diff --git a/Artsy/View_Controllers/Auction_Results/ARAuctionWebViewController.h b/ios/Artsy/View_Controllers/Web_Browsing/ARAuctionWebViewController.h similarity index 100% rename from Artsy/View_Controllers/Auction_Results/ARAuctionWebViewController.h rename to ios/Artsy/View_Controllers/Web_Browsing/ARAuctionWebViewController.h diff --git a/Artsy/View_Controllers/Auction_Results/ARAuctionWebViewController.m b/ios/Artsy/View_Controllers/Web_Browsing/ARAuctionWebViewController.m similarity index 100% rename from Artsy/View_Controllers/Auction_Results/ARAuctionWebViewController.m rename to ios/Artsy/View_Controllers/Web_Browsing/ARAuctionWebViewController.m diff --git a/Artsy/View_Controllers/Web_Browsing/ARExternalWebBrowserViewController.h b/ios/Artsy/View_Controllers/Web_Browsing/ARExternalWebBrowserViewController.h similarity index 100% rename from Artsy/View_Controllers/Web_Browsing/ARExternalWebBrowserViewController.h rename to ios/Artsy/View_Controllers/Web_Browsing/ARExternalWebBrowserViewController.h diff --git a/Artsy/View_Controllers/Web_Browsing/ARExternalWebBrowserViewController.m b/ios/Artsy/View_Controllers/Web_Browsing/ARExternalWebBrowserViewController.m similarity index 98% rename from Artsy/View_Controllers/Web_Browsing/ARExternalWebBrowserViewController.m rename to ios/Artsy/View_Controllers/Web_Browsing/ARExternalWebBrowserViewController.m index f61f144cbd2..db45590ea7d 100644 --- a/Artsy/View_Controllers/Web_Browsing/ARExternalWebBrowserViewController.m +++ b/ios/Artsy/View_Controllers/Web_Browsing/ARExternalWebBrowserViewController.m @@ -12,7 +12,7 @@ #import #import #import "ARDispatchManager.h" -#import "ARScreenPresenterModule.h" +#import "ARTNativeScreenPresenterModule.h" #import "ARAppDelegate.h" #import @@ -229,7 +229,7 @@ - (void)openURLInExternalService:(NSURL *)url messsage = [messsage stringByReplacingOccurrencesOfString:@"http://" withString:@""]; messsage = [messsage stringByReplacingOccurrencesOfString:@"https://" withString:@""]; - UIViewController *presentationVC = [ARScreenPresenterModule currentlyPresentedVC]; + UIViewController *presentationVC = [ARTNativeScreenPresenterModule currentlyPresentedVC]; UIAlertController *controller = [UIAlertController alertControllerWithTitle:title message:messsage preferredStyle:UIAlertControllerStyleAlert]; [controller addAction:[UIAlertAction actionWithTitle:@"Open" style:UIAlertActionStyleDefault handler:^(UIAlertAction *_Nonnull action) { diff --git a/Artsy/View_Controllers/Web_Browsing/ARInternalMobileWebViewController.h b/ios/Artsy/View_Controllers/Web_Browsing/ARInternalMobileWebViewController.h similarity index 100% rename from Artsy/View_Controllers/Web_Browsing/ARInternalMobileWebViewController.h rename to ios/Artsy/View_Controllers/Web_Browsing/ARInternalMobileWebViewController.h diff --git a/Artsy/View_Controllers/Web_Browsing/ARInternalMobileWebViewController.m b/ios/Artsy/View_Controllers/Web_Browsing/ARInternalMobileWebViewController.m similarity index 100% rename from Artsy/View_Controllers/Web_Browsing/ARInternalMobileWebViewController.m rename to ios/Artsy/View_Controllers/Web_Browsing/ARInternalMobileWebViewController.m diff --git a/Artsy/View_Controllers/Web_Browsing/ARInternalShareValidator.h b/ios/Artsy/View_Controllers/Web_Browsing/ARInternalShareValidator.h similarity index 100% rename from Artsy/View_Controllers/Web_Browsing/ARInternalShareValidator.h rename to ios/Artsy/View_Controllers/Web_Browsing/ARInternalShareValidator.h diff --git a/Artsy/View_Controllers/Web_Browsing/ARInternalShareValidator.m b/ios/Artsy/View_Controllers/Web_Browsing/ARInternalShareValidator.m similarity index 100% rename from Artsy/View_Controllers/Web_Browsing/ARInternalShareValidator.m rename to ios/Artsy/View_Controllers/Web_Browsing/ARInternalShareValidator.m diff --git a/Artsy/View_Controllers/live_auctions_socket.json b/ios/Artsy/View_Controllers/live_auctions_socket.json similarity index 83% rename from Artsy/View_Controllers/live_auctions_socket.json rename to ios/Artsy/View_Controllers/live_auctions_socket.json index 0e8d2b0a908..edf65d6c46d 100644 --- a/Artsy/View_Controllers/live_auctions_socket.json +++ b/ios/Artsy/View_Controllers/live_auctions_socket.json @@ -2,9 +2,7 @@ "currentLotId": "54c7ed2a7261692bfa910200", "fullLotStateById": { "54c7fbca7261694b0c661600": { - "events": { - - }, + "events": {}, "fullEventOrder": [], "eventHistory": [], "derivedLotState": { @@ -24,9 +22,7 @@ } }, "54c7fb9c7261692b55d30200": { - "events": { - - }, + "events": {}, "fullEventOrder": [], "eventHistory": [], "derivedLotState": { @@ -46,9 +42,7 @@ } }, "54c7f6bb7261692bc1e11000": { - "events": { - - }, + "events": {}, "fullEventOrder": [], "eventHistory": [], "derivedLotState": { @@ -68,9 +62,7 @@ } }, "54c7f0f0726169330f821900": { - "events": { - - }, + "events": {}, "fullEventOrder": [], "eventHistory": [], "derivedLotState": { @@ -90,9 +82,7 @@ } }, "54c7f82d7261692c59d21900": { - "events": { - - }, + "events": {}, "fullEventOrder": [], "eventHistory": [], "derivedLotState": { @@ -112,9 +102,7 @@ } }, "54c7fa6d7261692b572d0700": { - "events": { - - }, + "events": {}, "fullEventOrder": [], "eventHistory": [], "derivedLotState": { @@ -134,9 +122,7 @@ } }, "54c7fb317261692b43300300": { - "events": { - - }, + "events": {}, "fullEventOrder": [], "eventHistory": [], "derivedLotState": { @@ -156,9 +142,7 @@ } }, "54c7f7a57261692bcc220100": { - "events": { - - }, + "events": {}, "fullEventOrder": [], "eventHistory": [], "derivedLotState": { @@ -178,9 +162,7 @@ } }, "54c7fabc7261693304eb1900": { - "events": { - - }, + "events": {}, "fullEventOrder": [], "eventHistory": [], "derivedLotState": { @@ -209,12 +191,14 @@ } }, "fullEventOrder": ["cd14de0f-26da-41c7-be18-601e8b7c583e"], - "eventHistory": [{ - "lotId": "54c7ed2a7261692bfa910200", - "eventId": "cd14de0f-26da-41c7-be18-601e8b7c583e", - "createdAt": "2016-05-09T14:58:39.647Z", - "type": "BiddingOpened" - }], + "eventHistory": [ + { + "lotId": "54c7ed2a7261692bfa910200", + "eventId": "cd14de0f-26da-41c7-be18-601e8b7c583e", + "createdAt": "2016-05-09T14:58:39.647Z", + "type": "BiddingOpened" + } + ], "derivedLotState": { "floorReserveStatus": "NoReserve", "askingPriceCents": 180000, @@ -299,65 +283,83 @@ "type": "FinalCall" } }, - "fullEventOrder": ["6526a2d5-08c8-4a08-83eb-6a2aafa9b994", "e5798599-8b78-4544-b96f-321385f4b2b8", "69e4560f-c15a-4818-99b4-3a658ccd3fc9", "7b61f890-ba57-479f-aad2-49327013a5a8", "2202d3d0-51b8-4521-a47d-072656fee7f7", "1113462d-8d10-4d74-827b-04648896d2aa", "43c14a72-daa2-47ed-84f6-076309c6d28e", "a74b0aeb-8a59-4253-8b28-70991000206c"], - "eventHistory": [{ - "lotId": "54c7ecc27261692b5e420600", - "eventId": "6526a2d5-08c8-4a08-83eb-6a2aafa9b994", - "createdAt": "2016-05-09T14:58:19.480Z", - "type": "BiddingOpened" - }, { - "lotId": "54c7ecc27261692b5e420600", - "eventId": "e5798599-8b78-4544-b96f-321385f4b2b8", - "amountCents": 180000, - "createdAt": "2016-05-09T14:58:20.622Z", - "type": "FirstPriceBidPlaced", - "bidder": { - "type": "OfflineBidder" - } - }, { - "lotId": "54c7ecc27261692b5e420600", - "eventId": "69e4560f-c15a-4818-99b4-3a658ccd3fc9", - "amountCents": 230000, - "createdAt": "2016-05-09T14:58:20.758Z", - "type": "FirstPriceBidPlaced", - "bidder": { - "type": "OfflineBidder" - } - }, { - "lotId": "54c7ecc27261692b5e420600", - "eventId": "7b61f890-ba57-479f-aad2-49327013a5a8", - "amountCents": 280000, - "createdAt": "2016-05-09T14:58:22.338Z", - "type": "FirstPriceBidPlaced", - "bidder": { - "type": "ArtsyBidder", - "bidderId": "968527" - } - }, { - "lotId": "54c7ecc27261692b5e420600", - "eventId": "2202d3d0-51b8-4521-a47d-072656fee7f7", - "amountCents": 330000, - "createdAt": "2016-05-09T14:58:24.786Z", - "type": "FirstPriceBidPlaced", - "bidder": { - "type": "OfflineBidder" + "fullEventOrder": [ + "6526a2d5-08c8-4a08-83eb-6a2aafa9b994", + "e5798599-8b78-4544-b96f-321385f4b2b8", + "69e4560f-c15a-4818-99b4-3a658ccd3fc9", + "7b61f890-ba57-479f-aad2-49327013a5a8", + "2202d3d0-51b8-4521-a47d-072656fee7f7", + "1113462d-8d10-4d74-827b-04648896d2aa", + "43c14a72-daa2-47ed-84f6-076309c6d28e", + "a74b0aeb-8a59-4253-8b28-70991000206c" + ], + "eventHistory": [ + { + "lotId": "54c7ecc27261692b5e420600", + "eventId": "6526a2d5-08c8-4a08-83eb-6a2aafa9b994", + "createdAt": "2016-05-09T14:58:19.480Z", + "type": "BiddingOpened" + }, + { + "lotId": "54c7ecc27261692b5e420600", + "eventId": "e5798599-8b78-4544-b96f-321385f4b2b8", + "amountCents": 180000, + "createdAt": "2016-05-09T14:58:20.622Z", + "type": "FirstPriceBidPlaced", + "bidder": { + "type": "OfflineBidder" + } + }, + { + "lotId": "54c7ecc27261692b5e420600", + "eventId": "69e4560f-c15a-4818-99b4-3a658ccd3fc9", + "amountCents": 230000, + "createdAt": "2016-05-09T14:58:20.758Z", + "type": "FirstPriceBidPlaced", + "bidder": { + "type": "OfflineBidder" + } + }, + { + "lotId": "54c7ecc27261692b5e420600", + "eventId": "7b61f890-ba57-479f-aad2-49327013a5a8", + "amountCents": 280000, + "createdAt": "2016-05-09T14:58:22.338Z", + "type": "FirstPriceBidPlaced", + "bidder": { + "type": "ArtsyBidder", + "bidderId": "968527" + } + }, + { + "lotId": "54c7ecc27261692b5e420600", + "eventId": "2202d3d0-51b8-4521-a47d-072656fee7f7", + "amountCents": 330000, + "createdAt": "2016-05-09T14:58:24.786Z", + "type": "FirstPriceBidPlaced", + "bidder": { + "type": "OfflineBidder" + } + }, + { + "lotId": "54c7ecc27261692b5e420600", + "eventId": "1113462d-8d10-4d74-827b-04648896d2aa", + "createdAt": "2016-05-09T14:58:27.330Z", + "type": "FairWarning" + }, + { + "lotId": "54c7ecc27261692b5e420600", + "eventId": "43c14a72-daa2-47ed-84f6-076309c6d28e", + "createdAt": "2016-05-09T14:58:27.782Z", + "type": "FinalCall" + }, + { + "lotId": "54c7ecc27261692b5e420600", + "eventId": "a74b0aeb-8a59-4253-8b28-70991000206c", + "createdAt": "2016-05-09T14:58:30.684Z", + "type": "BiddingClosed" } - }, { - "lotId": "54c7ecc27261692b5e420600", - "eventId": "1113462d-8d10-4d74-827b-04648896d2aa", - "createdAt": "2016-05-09T14:58:27.330Z", - "type": "FairWarning" - }, { - "lotId": "54c7ecc27261692b5e420600", - "eventId": "43c14a72-daa2-47ed-84f6-076309c6d28e", - "createdAt": "2016-05-09T14:58:27.782Z", - "type": "FinalCall" - }, { - "lotId": "54c7ecc27261692b5e420600", - "eventId": "a74b0aeb-8a59-4253-8b28-70991000206c", - "createdAt": "2016-05-09T14:58:30.684Z", - "type": "BiddingClosed" - }], + ], "derivedLotState": { "floorReserveStatus": "NoReserve", "floorWinningBidEventId": "2202d3d0-51b8-4521-a47d-072656fee7f7", @@ -383,9 +385,7 @@ } }, "54c7fbeb7261692b604a0300": { - "events": { - - }, + "events": {}, "fullEventOrder": [], "eventHistory": [], "derivedLotState": { @@ -405,9 +405,7 @@ } }, "54c7f91a7261692c69871b00": { - "events": { - - }, + "events": {}, "fullEventOrder": [], "eventHistory": [], "derivedLotState": { @@ -427,9 +425,7 @@ } }, "54c7f0667261692b60c10600": { - "events": { - - }, + "events": {}, "fullEventOrder": [], "eventHistory": [], "derivedLotState": { @@ -449,9 +445,7 @@ } }, "54c7fb767261692b5cb20600": { - "events": { - - }, + "events": {}, "fullEventOrder": [], "eventHistory": [], "derivedLotState": { @@ -471,9 +465,7 @@ } }, "54c7f12e7261692b60e20200": { - "events": { - - }, + "events": {}, "fullEventOrder": [], "eventHistory": [], "derivedLotState": { @@ -493,9 +485,7 @@ } }, "54c7f9887261692b71b00600": { - "events": { - - }, + "events": {}, "fullEventOrder": [], "eventHistory": [], "derivedLotState": { @@ -515,9 +505,7 @@ } }, "54c7eff17261692b51460200": { - "events": { - - }, + "events": {}, "fullEventOrder": [], "eventHistory": [], "derivedLotState": { @@ -537,9 +525,7 @@ } }, "54c7f1f17261692be4f60100": { - "events": { - - }, + "events": {}, "fullEventOrder": [], "eventHistory": [], "derivedLotState": { @@ -559,9 +545,7 @@ } }, "54c7f8cf7261692bdd510100": { - "events": { - - }, + "events": {}, "fullEventOrder": [], "eventHistory": [], "derivedLotState": { @@ -581,9 +565,7 @@ } }, "54c7f9517261690cfdfa1800": { - "events": { - - }, + "events": {}, "fullEventOrder": [], "eventHistory": [], "derivedLotState": { @@ -603,9 +585,7 @@ } }, "54c7f7ea7261692b66510700": { - "events": { - - }, + "events": {}, "fullEventOrder": [], "eventHistory": [], "derivedLotState": { @@ -625,9 +605,7 @@ } }, "54c7fb087261692bbd3c1100": { - "events": { - - }, + "events": {}, "fullEventOrder": [], "eventHistory": [], "derivedLotState": { @@ -647,9 +625,7 @@ } }, "54c7f8907261692b43170300": { - "events": { - - }, + "events": {}, "fullEventOrder": [], "eventHistory": [], "derivedLotState": { diff --git a/Artsy/View_Controllers/live_auctions_static.json b/ios/Artsy/View_Controllers/live_auctions_static.json similarity index 100% rename from Artsy/View_Controllers/live_auctions_static.json rename to ios/Artsy/View_Controllers/live_auctions_static.json diff --git a/Artsy/Views/ARCountdownView.h b/ios/Artsy/Views/ARCountdownView.h similarity index 100% rename from Artsy/Views/ARCountdownView.h rename to ios/Artsy/Views/ARCountdownView.h diff --git a/Artsy/Views/ARCountdownView.m b/ios/Artsy/Views/ARCountdownView.m similarity index 100% rename from Artsy/Views/ARCountdownView.m rename to ios/Artsy/Views/ARCountdownView.m diff --git a/Artsy/Views/Auction/AuctionTitleView.swift b/ios/Artsy/Views/Auction/AuctionTitleView.swift similarity index 100% rename from Artsy/Views/Auction/AuctionTitleView.swift rename to ios/Artsy/Views/Auction/AuctionTitleView.swift diff --git a/Artsy/Views/Auction/SaleArtworkViewModel.swift b/ios/Artsy/Views/Auction/SaleArtworkViewModel.swift similarity index 100% rename from Artsy/Views/Auction/SaleArtworkViewModel.swift rename to ios/Artsy/Views/Auction/SaleArtworkViewModel.swift diff --git a/Artsy/Views/Auction/SaleAuctionStatus.swift b/ios/Artsy/Views/Auction/SaleAuctionStatus.swift similarity index 100% rename from Artsy/Views/Auction/SaleAuctionStatus.swift rename to ios/Artsy/Views/Auction/SaleAuctionStatus.swift diff --git a/Artsy/Views/Auction/SaleViewModel.swift b/ios/Artsy/Views/Auction/SaleViewModel.swift similarity index 100% rename from Artsy/Views/Auction/SaleViewModel.swift rename to ios/Artsy/Views/Auction/SaleViewModel.swift diff --git a/Artsy/Views/AuctionCircularButtons.swift b/ios/Artsy/Views/AuctionCircularButtons.swift similarity index 100% rename from Artsy/Views/AuctionCircularButtons.swift rename to ios/Artsy/Views/AuctionCircularButtons.swift diff --git a/Artsy/Views/AuctionColors.swift b/ios/Artsy/Views/AuctionColors.swift similarity index 100% rename from Artsy/Views/AuctionColors.swift rename to ios/Artsy/Views/AuctionColors.swift diff --git a/Artsy/Views/Core/TextStack.swift b/ios/Artsy/Views/Core/TextStack.swift similarity index 100% rename from Artsy/Views/Core/TextStack.swift rename to ios/Artsy/Views/Core/TextStack.swift diff --git a/Artsy/Views/Notifications/ARNotificationView.h b/ios/Artsy/Views/Notifications/ARNotificationView.h similarity index 100% rename from Artsy/Views/Notifications/ARNotificationView.h rename to ios/Artsy/Views/Notifications/ARNotificationView.h diff --git a/Artsy/Views/Notifications/ARNotificationView.m b/ios/Artsy/Views/Notifications/ARNotificationView.m similarity index 100% rename from Artsy/Views/Notifications/ARNotificationView.m rename to ios/Artsy/Views/Notifications/ARNotificationView.m diff --git a/Artsy/Views/RefinableType.swift b/ios/Artsy/Views/RefinableType.swift similarity index 100% rename from Artsy/Views/RefinableType.swift rename to ios/Artsy/Views/RefinableType.swift diff --git a/Artsy/Views/Styled_Subclasses/ARTextView.h b/ios/Artsy/Views/Styled_Subclasses/ARTextView.h similarity index 100% rename from Artsy/Views/Styled_Subclasses/ARTextView.h rename to ios/Artsy/Views/Styled_Subclasses/ARTextView.h diff --git a/Artsy/Views/Styled_Subclasses/ARTextView.m b/ios/Artsy/Views/Styled_Subclasses/ARTextView.m similarity index 100% rename from Artsy/Views/Styled_Subclasses/ARTextView.m rename to ios/Artsy/Views/Styled_Subclasses/ARTextView.m diff --git a/Artsy/Views/Styled_Subclasses/Buttons/ARBidButton.h b/ios/Artsy/Views/Styled_Subclasses/Buttons/ARBidButton.h similarity index 100% rename from Artsy/Views/Styled_Subclasses/Buttons/ARBidButton.h rename to ios/Artsy/Views/Styled_Subclasses/Buttons/ARBidButton.h diff --git a/Artsy/Views/Styled_Subclasses/Buttons/ARBidButton.m b/ios/Artsy/Views/Styled_Subclasses/Buttons/ARBidButton.m similarity index 100% rename from Artsy/Views/Styled_Subclasses/Buttons/ARBidButton.m rename to ios/Artsy/Views/Styled_Subclasses/Buttons/ARBidButton.m diff --git a/Artsy/Views/Styled_Subclasses/Buttons/ARNavigationButton.h b/ios/Artsy/Views/Styled_Subclasses/Buttons/ARNavigationButton.h similarity index 100% rename from Artsy/Views/Styled_Subclasses/Buttons/ARNavigationButton.h rename to ios/Artsy/Views/Styled_Subclasses/Buttons/ARNavigationButton.h diff --git a/Artsy/Views/Styled_Subclasses/Buttons/ARNavigationButton.m b/ios/Artsy/Views/Styled_Subclasses/Buttons/ARNavigationButton.m similarity index 100% rename from Artsy/Views/Styled_Subclasses/Buttons/ARNavigationButton.m rename to ios/Artsy/Views/Styled_Subclasses/Buttons/ARNavigationButton.m diff --git a/Artsy/Views/Styled_Subclasses/Buttons/ARNvagiationButton+Swift.swift b/ios/Artsy/Views/Styled_Subclasses/Buttons/ARNvagiationButton+Swift.swift similarity index 100% rename from Artsy/Views/Styled_Subclasses/Buttons/ARNvagiationButton+Swift.swift rename to ios/Artsy/Views/Styled_Subclasses/Buttons/ARNvagiationButton+Swift.swift diff --git a/Artsy/Views/Styled_Subclasses/StyledSubclasses.h b/ios/Artsy/Views/Styled_Subclasses/StyledSubclasses.h similarity index 100% rename from Artsy/Views/Styled_Subclasses/StyledSubclasses.h rename to ios/Artsy/Views/Styled_Subclasses/StyledSubclasses.h diff --git a/Artsy/Views/Utilities/ARCustomEigenLabels.h b/ios/Artsy/Views/Utilities/ARCustomEigenLabels.h similarity index 100% rename from Artsy/Views/Utilities/ARCustomEigenLabels.h rename to ios/Artsy/Views/Utilities/ARCustomEigenLabels.h diff --git a/Artsy/Views/Utilities/ARCustomEigenLabels.m b/ios/Artsy/Views/Utilities/ARCustomEigenLabels.m similarity index 100% rename from Artsy/Views/Utilities/ARCustomEigenLabels.m rename to ios/Artsy/Views/Utilities/ARCustomEigenLabels.m diff --git a/Artsy/Views/Utilities/AROfflineView.h b/ios/Artsy/Views/Utilities/AROfflineView.h similarity index 100% rename from Artsy/Views/Utilities/AROfflineView.h rename to ios/Artsy/Views/Utilities/AROfflineView.h diff --git a/Artsy/Views/Utilities/AROfflineView.m b/ios/Artsy/Views/Utilities/AROfflineView.m similarity index 100% rename from Artsy/Views/Utilities/AROfflineView.m rename to ios/Artsy/Views/Utilities/AROfflineView.m diff --git a/Artsy/Views/Utilities/ARReusableLoadingView.h b/ios/Artsy/Views/Utilities/ARReusableLoadingView.h similarity index 100% rename from Artsy/Views/Utilities/ARReusableLoadingView.h rename to ios/Artsy/Views/Utilities/ARReusableLoadingView.h diff --git a/Artsy/Views/Utilities/ARReusableLoadingView.m b/ios/Artsy/Views/Utilities/ARReusableLoadingView.m similarity index 100% rename from Artsy/Views/Utilities/ARReusableLoadingView.m rename to ios/Artsy/Views/Utilities/ARReusableLoadingView.m diff --git a/Artsy/Views/Utilities/ARSeparatorViews.h b/ios/Artsy/Views/Utilities/ARSeparatorViews.h similarity index 100% rename from Artsy/Views/Utilities/ARSeparatorViews.h rename to ios/Artsy/Views/Utilities/ARSeparatorViews.h diff --git a/Artsy/Views/Utilities/ARSeparatorViews.m b/ios/Artsy/Views/Utilities/ARSeparatorViews.m similarity index 100% rename from Artsy/Views/Utilities/ARSeparatorViews.m rename to ios/Artsy/Views/Utilities/ARSeparatorViews.m diff --git a/Artsy/Views/Utilities/ARWhitespaceGobbler.h b/ios/Artsy/Views/Utilities/ARWhitespaceGobbler.h similarity index 100% rename from Artsy/Views/Utilities/ARWhitespaceGobbler.h rename to ios/Artsy/Views/Utilities/ARWhitespaceGobbler.h diff --git a/Artsy/Views/Utilities/ARWhitespaceGobbler.m b/ios/Artsy/Views/Utilities/ARWhitespaceGobbler.m similarity index 100% rename from Artsy/Views/Utilities/ARWhitespaceGobbler.m rename to ios/Artsy/Views/Utilities/ARWhitespaceGobbler.m diff --git a/ios/Artsy/fonts/.gitkeep b/ios/Artsy/fonts/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/ios/Artsy/fonts/Unica77LL-Italic.otf b/ios/Artsy/fonts/Unica77LL-Italic.otf new file mode 100644 index 0000000000000000000000000000000000000000..fb375536ed75db67ed911a03e5f732e9a19e8ebc GIT binary patch literal 62760 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 e39{?3sS;lVe;QwhgZLAZ?z{E&#&ga^xnPG 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 literal 0 HcmV?d00001 diff --git a/ios/Artsy/fonts/Unica77LL-Regular.otf b/ios/Artsy/fonts/Unica77LL-Regular.otf new file mode 100644 index 0000000000000000000000000000000000000000..a4f9af260dfcd44944d60a8f5966d2a5ba5b5161 GIT binary patch literal 62000 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 M9Mr2!{=*Od53II{egFUf literal 0 HcmV?d00001 diff --git a/Artsy Stickers/Info.plist b/ios/ArtsyStickers/Info.plist similarity index 50% rename from Artsy Stickers/Info.plist rename to ios/ArtsyStickers/Info.plist index bf2a6947aa7..3cded5341cb 100644 --- a/Artsy Stickers/Info.plist +++ b/ios/ArtsyStickers/Info.plist @@ -2,28 +2,14 @@ - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleDisplayName - Artsy - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - $(PRODUCT_BUNDLE_PACKAGE_TYPE) CFBundleShortVersionString - 6.7.7 + 7.3.6 + CFBundleVersion + 2022.05.11.13 UIRequiredDeviceCapabilities arm64 - CFBundleVersion - 2019.05.24.09 NSExtension NSExtensionPointIdentifier diff --git a/Artsy Stickers/LICENSE.md b/ios/ArtsyStickers/LICENSE.md similarity index 100% rename from Artsy Stickers/LICENSE.md rename to ios/ArtsyStickers/LICENSE.md diff --git a/Artsy Stickers/Stickers.xcassets/Contents.json b/ios/ArtsyStickers/Stickers.xcassets/Contents.json similarity index 100% rename from Artsy Stickers/Stickers.xcassets/Contents.json rename to ios/ArtsyStickers/Stickers.xcassets/Contents.json diff --git a/Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Adam from Creation of Adam-1.sticker/Adam from Creation of Adam.png b/ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/Adam from Creation of Adam-1.sticker/Adam from Creation of Adam.png similarity index 100% rename from Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Adam from Creation of Adam-1.sticker/Adam from Creation of Adam.png rename to ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/Adam from Creation of Adam-1.sticker/Adam from Creation of Adam.png diff --git a/ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/Adam from Creation of Adam-1.sticker/Contents.json b/ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/Adam from Creation of Adam-1.sticker/Contents.json new file mode 100644 index 00000000000..aed3dc1bd81 --- /dev/null +++ b/ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/Adam from Creation of Adam-1.sticker/Contents.json @@ -0,0 +1,9 @@ +{ + "info": { + "version": 1, + "author": "xcode" + }, + "properties": { + "filename": "Adam from Creation of Adam.png" + } +} diff --git a/Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Angel from The Holy Family.sticker/Angel from The Holy Family.png b/ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/Angel from The Holy Family.sticker/Angel from The Holy Family.png similarity index 100% rename from Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Angel from The Holy Family.sticker/Angel from The Holy Family.png rename to ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/Angel from The Holy Family.sticker/Angel from The Holy Family.png diff --git a/ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/Angel from The Holy Family.sticker/Contents.json b/ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/Angel from The Holy Family.sticker/Contents.json new file mode 100644 index 00000000000..f5ee4cc5151 --- /dev/null +++ b/ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/Angel from The Holy Family.sticker/Contents.json @@ -0,0 +1,9 @@ +{ + "info": { + "version": 1, + "author": "xcode" + }, + "properties": { + "filename": "Angel from The Holy Family.png" + } +} diff --git a/ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/Contents.json b/ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/Contents.json new file mode 100644 index 00000000000..1f56029ea86 --- /dev/null +++ b/ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/Contents.json @@ -0,0 +1,9 @@ +{ + "info": { + "version": 1, + "author": "xcode" + }, + "properties": { + "grid-size": "regular" + } +} diff --git a/ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/Fruit Bowl from Still Life with Milk Jug and Fruit.sticker/Contents.json b/ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/Fruit Bowl from Still Life with Milk Jug and Fruit.sticker/Contents.json new file mode 100644 index 00000000000..a036d2e1ab9 --- /dev/null +++ b/ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/Fruit Bowl from Still Life with Milk Jug and Fruit.sticker/Contents.json @@ -0,0 +1,9 @@ +{ + "info": { + "version": 1, + "author": "xcode" + }, + "properties": { + "filename": "Fruit Bowl from Still Life with Milk Jug and Fruit.png" + } +} diff --git a/Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Fruit Bowl from Still Life with Milk Jug and Fruit.sticker/Fruit Bowl from Still Life with Milk Jug and Fruit.png b/ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/Fruit Bowl from Still Life with Milk Jug and Fruit.sticker/Fruit Bowl from Still Life with Milk Jug and Fruit.png similarity index 100% rename from Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Fruit Bowl from Still Life with Milk Jug and Fruit.sticker/Fruit Bowl from Still Life with Milk Jug and Fruit.png rename to ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/Fruit Bowl from Still Life with Milk Jug and Fruit.sticker/Fruit Bowl from Still Life with Milk Jug and Fruit.png diff --git a/ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/Girl with a Pearl Earring.sticker/Contents.json b/ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/Girl with a Pearl Earring.sticker/Contents.json new file mode 100644 index 00000000000..e7d8e5f8ec9 --- /dev/null +++ b/ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/Girl with a Pearl Earring.sticker/Contents.json @@ -0,0 +1,9 @@ +{ + "info": { + "version": 1, + "author": "xcode" + }, + "properties": { + "filename": "Girl with a Pearl Earring.png" + } +} diff --git a/Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Girl with a Pearl Earring.sticker/Girl with a Pearl Earring.png b/ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/Girl with a Pearl Earring.sticker/Girl with a Pearl Earring.png similarity index 100% rename from Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Girl with a Pearl Earring.sticker/Girl with a Pearl Earring.png rename to ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/Girl with a Pearl Earring.sticker/Girl with a Pearl Earring.png diff --git a/ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/God from Creation of Adam.sticker/Contents.json b/ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/God from Creation of Adam.sticker/Contents.json new file mode 100644 index 00000000000..41d6b6cc719 --- /dev/null +++ b/ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/God from Creation of Adam.sticker/Contents.json @@ -0,0 +1,9 @@ +{ + "info": { + "version": 1, + "author": "xcode" + }, + "properties": { + "filename": "God from Creation of Adam (2).png" + } +} diff --git a/Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/God from Creation of Adam.sticker/God from Creation of Adam (2).png b/ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/God from Creation of Adam.sticker/God from Creation of Adam (2).png similarity index 100% rename from Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/God from Creation of Adam.sticker/God from Creation of Adam (2).png rename to ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/God from Creation of Adam.sticker/God from Creation of Adam (2).png diff --git a/ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/Jesus from Ecce Homo.sticker/Contents.json b/ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/Jesus from Ecce Homo.sticker/Contents.json new file mode 100644 index 00000000000..5591b7cbb3e --- /dev/null +++ b/ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/Jesus from Ecce Homo.sticker/Contents.json @@ -0,0 +1,9 @@ +{ + "info": { + "version": 1, + "author": "xcode" + }, + "properties": { + "filename": "Jesus from Ecce Homo.png" + } +} diff --git a/Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Jesus from Ecce Homo.sticker/Jesus from Ecce Homo.png b/ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/Jesus from Ecce Homo.sticker/Jesus from Ecce Homo.png similarity index 100% rename from Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Jesus from Ecce Homo.sticker/Jesus from Ecce Homo.png rename to ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/Jesus from Ecce Homo.sticker/Jesus from Ecce Homo.png diff --git a/ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/Miniature Skeleton.sticker/Contents.json b/ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/Miniature Skeleton.sticker/Contents.json new file mode 100644 index 00000000000..83a4009dc81 --- /dev/null +++ b/ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/Miniature Skeleton.sticker/Contents.json @@ -0,0 +1,9 @@ +{ + "info": { + "version": 1, + "author": "xcode" + }, + "properties": { + "filename": "Miniature Skeleton.png" + } +} diff --git a/Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Miniature Skeleton.sticker/Miniature Skeleton.png b/ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/Miniature Skeleton.sticker/Miniature Skeleton.png similarity index 100% rename from Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Miniature Skeleton.sticker/Miniature Skeleton.png rename to ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/Miniature Skeleton.sticker/Miniature Skeleton.png diff --git a/ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/Rattle in the Shape of a Recumbent Lion.sticker/Contents.json b/ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/Rattle in the Shape of a Recumbent Lion.sticker/Contents.json new file mode 100644 index 00000000000..01d312d2b14 --- /dev/null +++ b/ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/Rattle in the Shape of a Recumbent Lion.sticker/Contents.json @@ -0,0 +1,9 @@ +{ + "info": { + "version": 1, + "author": "xcode" + }, + "properties": { + "filename": "Rattle in the Shape of a Recumbent Lion.png" + } +} diff --git a/Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Rattle in the Shape of a Recumbent Lion.sticker/Rattle in the Shape of a Recumbent Lion.png b/ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/Rattle in the Shape of a Recumbent Lion.sticker/Rattle in the Shape of a Recumbent Lion.png similarity index 100% rename from Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Rattle in the Shape of a Recumbent Lion.sticker/Rattle in the Shape of a Recumbent Lion.png rename to ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/Rattle in the Shape of a Recumbent Lion.sticker/Rattle in the Shape of a Recumbent Lion.png diff --git a/ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/Raven from Saint Mary Salome and Her Family.sticker/Contents.json b/ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/Raven from Saint Mary Salome and Her Family.sticker/Contents.json new file mode 100644 index 00000000000..b85dfb0e3ee --- /dev/null +++ b/ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/Raven from Saint Mary Salome and Her Family.sticker/Contents.json @@ -0,0 +1,9 @@ +{ + "info": { + "version": 1, + "author": "xcode" + }, + "properties": { + "filename": "Raven from Saint Mary Salome and Her Family.png" + } +} diff --git a/Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Raven from Saint Mary Salome and Her Family.sticker/Raven from Saint Mary Salome and Her Family.png b/ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/Raven from Saint Mary Salome and Her Family.sticker/Raven from Saint Mary Salome and Her Family.png similarity index 100% rename from Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Raven from Saint Mary Salome and Her Family.sticker/Raven from Saint Mary Salome and Her Family.png rename to ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/Raven from Saint Mary Salome and Her Family.sticker/Raven from Saint Mary Salome and Her Family.png diff --git a/ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/Seated Buddha in the Attitude of Preaching.sticker/Contents.json b/ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/Seated Buddha in the Attitude of Preaching.sticker/Contents.json new file mode 100644 index 00000000000..0c2482afae3 --- /dev/null +++ b/ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/Seated Buddha in the Attitude of Preaching.sticker/Contents.json @@ -0,0 +1,9 @@ +{ + "info": { + "version": 1, + "author": "xcode" + }, + "properties": { + "filename": "Seated Buddha in the Attitude of Preaching.png" + } +} diff --git a/Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Seated Buddha in the Attitude of Preaching.sticker/Seated Buddha in the Attitude of Preaching.png b/ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/Seated Buddha in the Attitude of Preaching.sticker/Seated Buddha in the Attitude of Preaching.png similarity index 100% rename from Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Seated Buddha in the Attitude of Preaching.sticker/Seated Buddha in the Attitude of Preaching.png rename to ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/Seated Buddha in the Attitude of Preaching.sticker/Seated Buddha in the Attitude of Preaching.png diff --git a/ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/The Vexed Man.sticker/Contents.json b/ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/The Vexed Man.sticker/Contents.json new file mode 100644 index 00000000000..096dc80eeac --- /dev/null +++ b/ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/The Vexed Man.sticker/Contents.json @@ -0,0 +1,9 @@ +{ + "info": { + "version": 1, + "author": "xcode" + }, + "properties": { + "filename": "The Vexed Man.png" + } +} diff --git a/Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/The Vexed Man.sticker/The Vexed Man.png b/ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/The Vexed Man.sticker/The Vexed Man.png similarity index 100% rename from Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/The Vexed Man.sticker/The Vexed Man.png rename to ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/The Vexed Man.sticker/The Vexed Man.png diff --git a/ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/Wheatstack from Wheatstacks, Snow Effect, Morning .sticker/Contents.json b/ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/Wheatstack from Wheatstacks, Snow Effect, Morning .sticker/Contents.json new file mode 100644 index 00000000000..8bc964f1a8f --- /dev/null +++ b/ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/Wheatstack from Wheatstacks, Snow Effect, Morning .sticker/Contents.json @@ -0,0 +1,9 @@ +{ + "info": { + "version": 1, + "author": "xcode" + }, + "properties": { + "filename": "Wheatstack from Wheatstacks, Snow Effect, Morning .png" + } +} diff --git a/Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Wheatstack from Wheatstacks, Snow Effect, Morning .sticker/Wheatstack from Wheatstacks, Snow Effect, Morning .png b/ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/Wheatstack from Wheatstacks, Snow Effect, Morning .sticker/Wheatstack from Wheatstacks, Snow Effect, Morning .png similarity index 100% rename from Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Wheatstack from Wheatstacks, Snow Effect, Morning .sticker/Wheatstack from Wheatstacks, Snow Effect, Morning .png rename to ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/Wheatstack from Wheatstacks, Snow Effect, Morning .sticker/Wheatstack from Wheatstacks, Snow Effect, Morning .png diff --git a/ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/Woman from L'Esperence.sticker/Contents.json b/ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/Woman from L'Esperence.sticker/Contents.json new file mode 100644 index 00000000000..795abfb1086 --- /dev/null +++ b/ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/Woman from L'Esperence.sticker/Contents.json @@ -0,0 +1,9 @@ +{ + "info": { + "version": 1, + "author": "xcode" + }, + "properties": { + "filename": "Woman from L'Esperence.png" + } +} diff --git a/Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Woman from L'Esperence.sticker/Woman from L'Esperence.png b/ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/Woman from L'Esperence.sticker/Woman from L'Esperence.png similarity index 100% rename from Artsy Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Woman from L'Esperence.sticker/Woman from L'Esperence.png rename to ios/ArtsyStickers/Stickers.xcassets/Sticker Pack.stickerpack/Woman from L'Esperence.sticker/Woman from L'Esperence.png diff --git a/ios/ArtsyStickers/Stickers.xcassets/iMessage App Icon.stickersiconset/Contents.json b/ios/ArtsyStickers/Stickers.xcassets/iMessage App Icon.stickersiconset/Contents.json new file mode 100644 index 00000000000..01f5f2454ca --- /dev/null +++ b/ios/ArtsyStickers/Stickers.xcassets/iMessage App Icon.stickersiconset/Contents.json @@ -0,0 +1,67 @@ +{ + "images": [ + { + "size": "60x45", + "idiom": "iphone", + "filename": "Messages-iPhone-60x45pt@2x.png", + "scale": "2x" + }, + { + "size": "60x45", + "idiom": "iphone", + "filename": "Messages-iPhone-60x45pt@3x-1.png", + "scale": "3x" + }, + { + "size": "67x50", + "idiom": "ipad", + "filename": "Messages-iPad-67x50pt@2x.png", + "scale": "2x" + }, + { + "size": "74x55", + "idiom": "ipad", + "filename": "Messages-iPad-Pro-74x55pt@2x.png", + "scale": "2x" + }, + { + "size": "27x20", + "idiom": "universal", + "filename": "Messages27x20pt@2x.png", + "scale": "2x", + "platform": "ios" + }, + { + "size": "27x20", + "idiom": "universal", + "filename": "Messages27x20pt@3x.png", + "scale": "3x", + "platform": "ios" + }, + { + "size": "32x24", + "idiom": "universal", + "filename": "Messages32x24pt@2x.png", + "scale": "2x", + "platform": "ios" + }, + { + "size": "32x24", + "idiom": "universal", + "filename": "Messages32x24pt@3x.png", + "scale": "3x", + "platform": "ios" + }, + { + "size": "1024x768", + "idiom": "ios-marketing", + "filename": "Messages-App-Store-1024x768pt.png", + "scale": "1x", + "platform": "ios" + } + ], + "info": { + "version": 1, + "author": "xcode" + } +} diff --git a/Artsy Stickers/Stickers.xcassets/iMessage App Icon.stickersiconset/Messages-App-Store-1024x768pt.png b/ios/ArtsyStickers/Stickers.xcassets/iMessage App Icon.stickersiconset/Messages-App-Store-1024x768pt.png similarity index 100% rename from Artsy Stickers/Stickers.xcassets/iMessage App Icon.stickersiconset/Messages-App-Store-1024x768pt.png rename to ios/ArtsyStickers/Stickers.xcassets/iMessage App Icon.stickersiconset/Messages-App-Store-1024x768pt.png diff --git a/Artsy Stickers/Stickers.xcassets/iMessage App Icon.stickersiconset/Messages-iPad-67x50pt@2x.png b/ios/ArtsyStickers/Stickers.xcassets/iMessage App Icon.stickersiconset/Messages-iPad-67x50pt@2x.png similarity index 100% rename from Artsy Stickers/Stickers.xcassets/iMessage App Icon.stickersiconset/Messages-iPad-67x50pt@2x.png rename to ios/ArtsyStickers/Stickers.xcassets/iMessage App Icon.stickersiconset/Messages-iPad-67x50pt@2x.png diff --git a/Artsy Stickers/Stickers.xcassets/iMessage App Icon.stickersiconset/Messages-iPad-Pro-74x55pt@2x.png b/ios/ArtsyStickers/Stickers.xcassets/iMessage App Icon.stickersiconset/Messages-iPad-Pro-74x55pt@2x.png similarity index 100% rename from Artsy Stickers/Stickers.xcassets/iMessage App Icon.stickersiconset/Messages-iPad-Pro-74x55pt@2x.png rename to ios/ArtsyStickers/Stickers.xcassets/iMessage App Icon.stickersiconset/Messages-iPad-Pro-74x55pt@2x.png diff --git a/Artsy Stickers/Stickers.xcassets/iMessage App Icon.stickersiconset/Messages-iPhone-60x45pt@2x.png b/ios/ArtsyStickers/Stickers.xcassets/iMessage App Icon.stickersiconset/Messages-iPhone-60x45pt@2x.png similarity index 100% rename from Artsy Stickers/Stickers.xcassets/iMessage App Icon.stickersiconset/Messages-iPhone-60x45pt@2x.png rename to ios/ArtsyStickers/Stickers.xcassets/iMessage App Icon.stickersiconset/Messages-iPhone-60x45pt@2x.png diff --git a/Artsy Stickers/Stickers.xcassets/iMessage App Icon.stickersiconset/Messages-iPhone-60x45pt@3x-1.png b/ios/ArtsyStickers/Stickers.xcassets/iMessage App Icon.stickersiconset/Messages-iPhone-60x45pt@3x-1.png similarity index 100% rename from Artsy Stickers/Stickers.xcassets/iMessage App Icon.stickersiconset/Messages-iPhone-60x45pt@3x-1.png rename to ios/ArtsyStickers/Stickers.xcassets/iMessage App Icon.stickersiconset/Messages-iPhone-60x45pt@3x-1.png diff --git a/Artsy Stickers/Stickers.xcassets/iMessage App Icon.stickersiconset/Messages27x20pt@2x.png b/ios/ArtsyStickers/Stickers.xcassets/iMessage App Icon.stickersiconset/Messages27x20pt@2x.png similarity index 100% rename from Artsy Stickers/Stickers.xcassets/iMessage App Icon.stickersiconset/Messages27x20pt@2x.png rename to ios/ArtsyStickers/Stickers.xcassets/iMessage App Icon.stickersiconset/Messages27x20pt@2x.png diff --git a/Artsy Stickers/Stickers.xcassets/iMessage App Icon.stickersiconset/Messages27x20pt@3x.png b/ios/ArtsyStickers/Stickers.xcassets/iMessage App Icon.stickersiconset/Messages27x20pt@3x.png similarity index 100% rename from Artsy Stickers/Stickers.xcassets/iMessage App Icon.stickersiconset/Messages27x20pt@3x.png rename to ios/ArtsyStickers/Stickers.xcassets/iMessage App Icon.stickersiconset/Messages27x20pt@3x.png diff --git a/Artsy Stickers/Stickers.xcassets/iMessage App Icon.stickersiconset/Messages32x24pt@2x.png b/ios/ArtsyStickers/Stickers.xcassets/iMessage App Icon.stickersiconset/Messages32x24pt@2x.png similarity index 100% rename from Artsy Stickers/Stickers.xcassets/iMessage App Icon.stickersiconset/Messages32x24pt@2x.png rename to ios/ArtsyStickers/Stickers.xcassets/iMessage App Icon.stickersiconset/Messages32x24pt@2x.png diff --git a/Artsy Stickers/Stickers.xcassets/iMessage App Icon.stickersiconset/Messages32x24pt@3x.png b/ios/ArtsyStickers/Stickers.xcassets/iMessage App Icon.stickersiconset/Messages32x24pt@3x.png similarity index 100% rename from Artsy Stickers/Stickers.xcassets/iMessage App Icon.stickersiconset/Messages32x24pt@3x.png rename to ios/ArtsyStickers/Stickers.xcassets/iMessage App Icon.stickersiconset/Messages32x24pt@3x.png diff --git a/Artsy_Tests/.swiftlint.yml b/ios/ArtsyTests/.swiftlint.yml similarity index 100% rename from Artsy_Tests/.swiftlint.yml rename to ios/ArtsyTests/.swiftlint.yml diff --git a/Artsy_Tests/App_Tests/ARAppActivityContinuationDelegateTests.m b/ios/ArtsyTests/App_Tests/ARAppActivityContinuationDelegateTests.m similarity index 100% rename from Artsy_Tests/App_Tests/ARAppActivityContinuationDelegateTests.m rename to ios/ArtsyTests/App_Tests/ARAppActivityContinuationDelegateTests.m diff --git a/Artsy_Tests/App_Tests/ARAppNotificationsDelegateTests.m b/ios/ArtsyTests/App_Tests/ARAppNotificationsDelegateTests.m similarity index 100% rename from Artsy_Tests/App_Tests/ARAppNotificationsDelegateTests.m rename to ios/ArtsyTests/App_Tests/ARAppNotificationsDelegateTests.m diff --git a/Artsy_Tests/App_Tests/ARWebViewCacheHostSpec.m b/ios/ArtsyTests/App_Tests/ARWebViewCacheHostSpec.m similarity index 100% rename from Artsy_Tests/App_Tests/ARWebViewCacheHostSpec.m rename to ios/ArtsyTests/App_Tests/ARWebViewCacheHostSpec.m diff --git a/Artsy_Tests/ArtsyWidget/ArtworkTests.swift b/ios/ArtsyTests/ArtsyWidget/ArtworkTests.swift similarity index 100% rename from Artsy_Tests/ArtsyWidget/ArtworkTests.swift rename to ios/ArtsyTests/ArtsyWidget/ArtworkTests.swift diff --git a/Artsy_Tests/ArtsyWidget/ScheduleTests.swift b/ios/ArtsyTests/ArtsyWidget/ScheduleTests.swift similarity index 100% rename from Artsy_Tests/ArtsyWidget/ScheduleTests.swift rename to ios/ArtsyTests/ArtsyWidget/ScheduleTests.swift diff --git a/Artsy_Tests/Extensions/ARExpectaExtensions.h b/ios/ArtsyTests/Extensions/ARExpectaExtensions.h similarity index 100% rename from Artsy_Tests/Extensions/ARExpectaExtensions.h rename to ios/ArtsyTests/Extensions/ARExpectaExtensions.h diff --git a/Artsy_Tests/Extensions/ARExpectaExtensions.m b/ios/ArtsyTests/Extensions/ARExpectaExtensions.m similarity index 100% rename from Artsy_Tests/Extensions/ARExpectaExtensions.m rename to ios/ArtsyTests/Extensions/ARExpectaExtensions.m diff --git a/Artsy_Tests/Extensions/ARTestImageCachingFunctions.swift b/ios/ArtsyTests/Extensions/ARTestImageCachingFunctions.swift similarity index 100% rename from Artsy_Tests/Extensions/ARTestImageCachingFunctions.swift rename to ios/ArtsyTests/Extensions/ARTestImageCachingFunctions.swift diff --git a/Artsy_Tests/Extensions/EXPMatcher+UINavigationController.h b/ios/ArtsyTests/Extensions/EXPMatcher+UINavigationController.h similarity index 100% rename from Artsy_Tests/Extensions/EXPMatcher+UINavigationController.h rename to ios/ArtsyTests/Extensions/EXPMatcher+UINavigationController.h diff --git a/Artsy_Tests/Extensions/EXPMatcher+UINavigationController.m b/ios/ArtsyTests/Extensions/EXPMatcher+UINavigationController.m similarity index 100% rename from Artsy_Tests/Extensions/EXPMatcher+UINavigationController.m rename to ios/ArtsyTests/Extensions/EXPMatcher+UINavigationController.m diff --git a/Artsy_Tests/Extensions/MutableNSURLResponse.h b/ios/ArtsyTests/Extensions/MutableNSURLResponse.h similarity index 100% rename from Artsy_Tests/Extensions/MutableNSURLResponse.h rename to ios/ArtsyTests/Extensions/MutableNSURLResponse.h diff --git a/Artsy_Tests/Extensions/MutableNSURLResponse.m b/ios/ArtsyTests/Extensions/MutableNSURLResponse.m similarity index 100% rename from Artsy_Tests/Extensions/MutableNSURLResponse.m rename to ios/ArtsyTests/Extensions/MutableNSURLResponse.m diff --git a/Artsy_Tests/Extensions/OCMArg+ClassChecker.h b/ios/ArtsyTests/Extensions/OCMArg+ClassChecker.h similarity index 100% rename from Artsy_Tests/Extensions/OCMArg+ClassChecker.h rename to ios/ArtsyTests/Extensions/OCMArg+ClassChecker.h diff --git a/Artsy_Tests/Extensions/OCMArg+ClassChecker.m b/ios/ArtsyTests/Extensions/OCMArg+ClassChecker.m similarity index 100% rename from Artsy_Tests/Extensions/OCMArg+ClassChecker.m rename to ios/ArtsyTests/Extensions/OCMArg+ClassChecker.m diff --git a/Artsy_Tests/Extensions/UIViewController+Testing.h b/ios/ArtsyTests/Extensions/UIViewController+Testing.h similarity index 100% rename from Artsy_Tests/Extensions/UIViewController+Testing.h rename to ios/ArtsyTests/Extensions/UIViewController+Testing.h diff --git a/Artsy_Tests/Extensions/UIViewController+Testing.m b/ios/ArtsyTests/Extensions/UIViewController+Testing.m similarity index 100% rename from Artsy_Tests/Extensions/UIViewController+Testing.m rename to ios/ArtsyTests/Extensions/UIViewController+Testing.m diff --git a/Artsy_Tests/Extensions/UIViewController+Tests.swift b/ios/ArtsyTests/Extensions/UIViewController+Tests.swift similarity index 100% rename from Artsy_Tests/Extensions/UIViewController+Tests.swift rename to ios/ArtsyTests/Extensions/UIViewController+Tests.swift diff --git a/Artsy_Tests/Model_Tests/ARImageTests.m b/ios/ArtsyTests/Model_Tests/ARImageTests.m similarity index 100% rename from Artsy_Tests/Model_Tests/ARImageTests.m rename to ios/ArtsyTests/Model_Tests/ARImageTests.m diff --git a/Artsy_Tests/Model_Tests/ArtworkTests.m b/ios/ArtsyTests/Model_Tests/ArtworkTests.m similarity index 100% rename from Artsy_Tests/Model_Tests/ArtworkTests.m rename to ios/ArtsyTests/Model_Tests/ArtworkTests.m diff --git a/Artsy_Tests/Model_Tests/Data/Artwork_v0.data b/ios/ArtsyTests/Model_Tests/Data/Artwork_v0.data similarity index 100% rename from Artsy_Tests/Model_Tests/Data/Artwork_v0.data rename to ios/ArtsyTests/Model_Tests/Data/Artwork_v0.data diff --git a/Artsy_Tests/Model_Tests/Data/Artwork_v1.data b/ios/ArtsyTests/Model_Tests/Data/Artwork_v1.data similarity index 100% rename from Artsy_Tests/Model_Tests/Data/Artwork_v1.data rename to ios/ArtsyTests/Model_Tests/Data/Artwork_v1.data diff --git a/Artsy_Tests/Model_Tests/Data/User_v0.data b/ios/ArtsyTests/Model_Tests/Data/User_v0.data similarity index 100% rename from Artsy_Tests/Model_Tests/Data/User_v0.data rename to ios/ArtsyTests/Model_Tests/Data/User_v0.data diff --git a/Artsy_Tests/Model_Tests/Data/User_v1.data b/ios/ArtsyTests/Model_Tests/Data/User_v1.data similarity index 100% rename from Artsy_Tests/Model_Tests/Data/User_v1.data rename to ios/ArtsyTests/Model_Tests/Data/User_v1.data diff --git a/Artsy_Tests/Model_Tests/FairTests.m b/ios/ArtsyTests/Model_Tests/FairTests.m similarity index 100% rename from Artsy_Tests/Model_Tests/FairTests.m rename to ios/ArtsyTests/Model_Tests/FairTests.m diff --git a/Artsy_Tests/Model_Tests/PartnerTests.m b/ios/ArtsyTests/Model_Tests/PartnerTests.m similarity index 100% rename from Artsy_Tests/Model_Tests/PartnerTests.m rename to ios/ArtsyTests/Model_Tests/PartnerTests.m diff --git a/Artsy_Tests/Model_Tests/ProfileTests.m b/ios/ArtsyTests/Model_Tests/ProfileTests.m similarity index 100% rename from Artsy_Tests/Model_Tests/ProfileTests.m rename to ios/ArtsyTests/Model_Tests/ProfileTests.m diff --git a/Artsy_Tests/Model_Tests/SaleArtworkTests.m b/ios/ArtsyTests/Model_Tests/SaleArtworkTests.m similarity index 100% rename from Artsy_Tests/Model_Tests/SaleArtworkTests.m rename to ios/ArtsyTests/Model_Tests/SaleArtworkTests.m diff --git a/Artsy_Tests/Model_Tests/SaleTests.m b/ios/ArtsyTests/Model_Tests/SaleTests.m similarity index 100% rename from Artsy_Tests/Model_Tests/SaleTests.m rename to ios/ArtsyTests/Model_Tests/SaleTests.m diff --git a/Artsy_Tests/Model_Tests/SystemTimeTests.m b/ios/ArtsyTests/Model_Tests/SystemTimeTests.m similarity index 100% rename from Artsy_Tests/Model_Tests/SystemTimeTests.m rename to ios/ArtsyTests/Model_Tests/SystemTimeTests.m diff --git a/Artsy_Tests/Model_Tests/UserTests.m b/ios/ArtsyTests/Model_Tests/UserTests.m similarity index 100% rename from Artsy_Tests/Model_Tests/UserTests.m rename to ios/ArtsyTests/Model_Tests/UserTests.m diff --git a/Artsy_Tests/Networking_Tests/AFHTTPRequestOperationJSONTests.m b/ios/ArtsyTests/Networking_Tests/AFHTTPRequestOperationJSONTests.m similarity index 100% rename from Artsy_Tests/Networking_Tests/AFHTTPRequestOperationJSONTests.m rename to ios/ArtsyTests/Networking_Tests/AFHTTPRequestOperationJSONTests.m diff --git a/Artsy_Tests/Networking_Tests/API_Modules/ARUserManagerTests.m b/ios/ArtsyTests/Networking_Tests/API_Modules/ARUserManagerTests.m similarity index 100% rename from Artsy_Tests/Networking_Tests/API_Modules/ARUserManagerTests.m rename to ios/ArtsyTests/Networking_Tests/API_Modules/ARUserManagerTests.m diff --git a/Artsy_Tests/Networking_Tests/API_Modules/ArtsyAPI+ErrorHandlers.m b/ios/ArtsyTests/Networking_Tests/API_Modules/ArtsyAPI+ErrorHandlers.m similarity index 100% rename from Artsy_Tests/Networking_Tests/API_Modules/ArtsyAPI+ErrorHandlers.m rename to ios/ArtsyTests/Networking_Tests/API_Modules/ArtsyAPI+ErrorHandlers.m diff --git a/Artsy_Tests/Networking_Tests/API_Modules/ArtsyAPI+GraphQLTests.m b/ios/ArtsyTests/Networking_Tests/API_Modules/ArtsyAPI+GraphQLTests.m similarity index 100% rename from Artsy_Tests/Networking_Tests/API_Modules/ArtsyAPI+GraphQLTests.m rename to ios/ArtsyTests/Networking_Tests/API_Modules/ArtsyAPI+GraphQLTests.m diff --git a/Artsy_Tests/Networking_Tests/API_Modules/ArtsyAPI+PrivateTests.m b/ios/ArtsyTests/Networking_Tests/API_Modules/ArtsyAPI+PrivateTests.m similarity index 100% rename from Artsy_Tests/Networking_Tests/API_Modules/ArtsyAPI+PrivateTests.m rename to ios/ArtsyTests/Networking_Tests/API_Modules/ArtsyAPI+PrivateTests.m diff --git a/Artsy_Tests/Networking_Tests/API_Modules/ArtsyAPI+SystemTimeTests.m b/ios/ArtsyTests/Networking_Tests/API_Modules/ArtsyAPI+SystemTimeTests.m similarity index 100% rename from Artsy_Tests/Networking_Tests/API_Modules/ArtsyAPI+SystemTimeTests.m rename to ios/ArtsyTests/Networking_Tests/API_Modules/ArtsyAPI+SystemTimeTests.m diff --git a/Artsy_Tests/Networking_Tests/ARRouterTests.m b/ios/ArtsyTests/Networking_Tests/ARRouterTests.m similarity index 100% rename from Artsy_Tests/Networking_Tests/ARRouterTests.m rename to ios/ArtsyTests/Networking_Tests/ARRouterTests.m diff --git a/Artsy_Tests/Networking_Tests/ARSystemTimeTests.m b/ios/ArtsyTests/Networking_Tests/ARSystemTimeTests.m similarity index 100% rename from Artsy_Tests/Networking_Tests/ARSystemTimeTests.m rename to ios/ArtsyTests/Networking_Tests/ARSystemTimeTests.m diff --git a/Artsy_Tests/Networking_Tests/LiveAuctionLotViewModelSpecs.swift b/ios/ArtsyTests/Networking_Tests/LiveAuctionLotViewModelSpecs.swift similarity index 100% rename from Artsy_Tests/Networking_Tests/LiveAuctionLotViewModelSpecs.swift rename to ios/ArtsyTests/Networking_Tests/LiveAuctionLotViewModelSpecs.swift diff --git a/Artsy_Tests/Networking_Tests/Live_Auctions/LiveAuctionSocketCommunicatorSpec.swift b/ios/ArtsyTests/Networking_Tests/Live_Auctions/LiveAuctionSocketCommunicatorSpec.swift similarity index 100% rename from Artsy_Tests/Networking_Tests/Live_Auctions/LiveAuctionSocketCommunicatorSpec.swift rename to ios/ArtsyTests/Networking_Tests/Live_Auctions/LiveAuctionSocketCommunicatorSpec.swift diff --git a/Artsy_Tests/Networking_Tests/Live_Auctions/LiveAuctionStateReconcilerSpec.swift b/ios/ArtsyTests/Networking_Tests/Live_Auctions/LiveAuctionStateReconcilerSpec.swift similarity index 100% rename from Artsy_Tests/Networking_Tests/Live_Auctions/LiveAuctionStateReconcilerSpec.swift rename to ios/ArtsyTests/Networking_Tests/Live_Auctions/LiveAuctionStateReconcilerSpec.swift diff --git a/Artsy_Tests/Networking_Tests/Live_Auctions/LiveAuctionStaticDataFetcherSpec.swift b/ios/ArtsyTests/Networking_Tests/Live_Auctions/LiveAuctionStaticDataFetcherSpec.swift similarity index 100% rename from Artsy_Tests/Networking_Tests/Live_Auctions/LiveAuctionStaticDataFetcherSpec.swift rename to ios/ArtsyTests/Networking_Tests/Live_Auctions/LiveAuctionStaticDataFetcherSpec.swift diff --git a/Artsy_Tests/ReferenceImages/ARAnimatedTickViewSpec/deselected@3x.png b/ios/ArtsyTests/ReferenceImages/ARAnimatedTickViewSpec/deselected@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/ARAnimatedTickViewSpec/deselected@3x.png rename to ios/ArtsyTests/ReferenceImages/ARAnimatedTickViewSpec/deselected@3x.png diff --git a/Artsy_Tests/ReferenceImages/ARAnimatedTickViewSpec/selected@3x.png b/ios/ArtsyTests/ReferenceImages/ARAnimatedTickViewSpec/selected@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/ARAnimatedTickViewSpec/selected@3x.png rename to ios/ArtsyTests/ReferenceImages/ARAnimatedTickViewSpec/selected@3x.png diff --git a/Artsy_Tests/ReferenceImages/ARAugmentedVIRViewControllerSpec/defaults_to_showing_info@3x.png b/ios/ArtsyTests/ReferenceImages/ARAugmentedVIRViewControllerSpec/defaults_to_showing_info@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/ARAugmentedVIRViewControllerSpec/defaults_to_showing_info@3x.png rename to ios/ArtsyTests/ReferenceImages/ARAugmentedVIRViewControllerSpec/defaults_to_showing_info@3x.png diff --git a/Artsy_Tests/ReferenceImages/ARAugmentedVIRViewControllerSpec/shows_the_right_info_when_a_wall_is_registered@3x.png b/ios/ArtsyTests/ReferenceImages/ARAugmentedVIRViewControllerSpec/shows_the_right_info_when_a_wall_is_registered@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/ARAugmentedVIRViewControllerSpec/shows_the_right_info_when_a_wall_is_registered@3x.png rename to ios/ArtsyTests/ReferenceImages/ARAugmentedVIRViewControllerSpec/shows_the_right_info_when_a_wall_is_registered@3x.png diff --git a/Artsy_Tests/ReferenceImages/ARAugmentedVIRViewControllerSpec/shows_the_right_info_when_an_artwork_was_placed@3x.png b/ios/ArtsyTests/ReferenceImages/ARAugmentedVIRViewControllerSpec/shows_the_right_info_when_an_artwork_was_placed@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/ARAugmentedVIRViewControllerSpec/shows_the_right_info_when_an_artwork_was_placed@3x.png rename to ios/ArtsyTests/ReferenceImages/ARAugmentedVIRViewControllerSpec/shows_the_right_info_when_an_artwork_was_placed@3x.png diff --git a/Artsy_Tests/ReferenceImages/ARBidButtonSpec/an_open_aution_takes_priority_over_registered_bidding@3x.png b/ios/ArtsyTests/ReferenceImages/ARBidButtonSpec/an_open_aution_takes_priority_over_registered_bidding@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/ARBidButtonSpec/an_open_aution_takes_priority_over_registered_bidding@3x.png rename to ios/ArtsyTests/ReferenceImages/ARBidButtonSpec/an_open_aution_takes_priority_over_registered_bidding@3x.png diff --git a/Artsy_Tests/ReferenceImages/ARBidButtonSpec/testBiddingClosedState@3x.png b/ios/ArtsyTests/ReferenceImages/ARBidButtonSpec/testBiddingClosedState@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/ARBidButtonSpec/testBiddingClosedState@3x.png rename to ios/ArtsyTests/ReferenceImages/ARBidButtonSpec/testBiddingClosedState@3x.png diff --git a/Artsy_Tests/ReferenceImages/ARBidButtonSpec/testBiddingOpenState@3x.png b/ios/ArtsyTests/ReferenceImages/ARBidButtonSpec/testBiddingOpenState@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/ARBidButtonSpec/testBiddingOpenState@3x.png rename to ios/ArtsyTests/ReferenceImages/ARBidButtonSpec/testBiddingOpenState@3x.png diff --git a/Artsy_Tests/ReferenceImages/ARBidButtonSpec/testBiddingRegistrationClosed@3x.png b/ios/ArtsyTests/ReferenceImages/ARBidButtonSpec/testBiddingRegistrationClosed@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/ARBidButtonSpec/testBiddingRegistrationClosed@3x.png rename to ios/ArtsyTests/ReferenceImages/ARBidButtonSpec/testBiddingRegistrationClosed@3x.png diff --git a/Artsy_Tests/ReferenceImages/ARBidButtonSpec/testBiddingRegistrationPending@3x.png b/ios/ArtsyTests/ReferenceImages/ARBidButtonSpec/testBiddingRegistrationPending@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/ARBidButtonSpec/testBiddingRegistrationPending@3x.png rename to ios/ArtsyTests/ReferenceImages/ARBidButtonSpec/testBiddingRegistrationPending@3x.png diff --git a/Artsy_Tests/ReferenceImages/ARBidButtonSpec/testRegisterForceBidState@3x.png b/ios/ArtsyTests/ReferenceImages/ARBidButtonSpec/testRegisterForceBidState@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/ARBidButtonSpec/testRegisterForceBidState@3x.png rename to ios/ArtsyTests/ReferenceImages/ARBidButtonSpec/testRegisterForceBidState@3x.png diff --git a/Artsy_Tests/ReferenceImages/ARBidButtonSpec/testRegisterState@3x.png b/ios/ArtsyTests/ReferenceImages/ARBidButtonSpec/testRegisterState@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/ARBidButtonSpec/testRegisterState@3x.png rename to ios/ArtsyTests/ReferenceImages/ARBidButtonSpec/testRegisterState@3x.png diff --git a/Artsy_Tests/ReferenceImages/ARBidButtonSpec/testRegisteredState@3x.png b/ios/ArtsyTests/ReferenceImages/ARBidButtonSpec/testRegisteredState@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/ARBidButtonSpec/testRegisteredState@3x.png rename to ios/ArtsyTests/ReferenceImages/ARBidButtonSpec/testRegisteredState@3x.png diff --git a/Artsy_Tests/ReferenceImages/ARCollapsableTextViewSpec/text_is_taller_than_collapsed_height_after_expansion_looks_correct@3x.png b/ios/ArtsyTests/ReferenceImages/ARCollapsableTextViewSpec/text_is_taller_than_collapsed_height_after_expansion_looks_correct@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/ARCollapsableTextViewSpec/text_is_taller_than_collapsed_height_after_expansion_looks_correct@3x.png rename to ios/ArtsyTests/ReferenceImages/ARCollapsableTextViewSpec/text_is_taller_than_collapsed_height_after_expansion_looks_correct@3x.png diff --git a/Artsy_Tests/ReferenceImages/ARCollapsableTextViewSpec/text_is_taller_than_collapsed_height_before_expansion_looks_correct@3x.png b/ios/ArtsyTests/ReferenceImages/ARCollapsableTextViewSpec/text_is_taller_than_collapsed_height_before_expansion_looks_correct@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/ARCollapsableTextViewSpec/text_is_taller_than_collapsed_height_before_expansion_looks_correct@3x.png rename to ios/ArtsyTests/ReferenceImages/ARCollapsableTextViewSpec/text_is_taller_than_collapsed_height_before_expansion_looks_correct@3x.png diff --git a/Artsy_Tests/ReferenceImages/ARCollapsableTextViewSpec/when_text_is_shorter_than_collapsed_height_looks_correct@3x.png b/ios/ArtsyTests/ReferenceImages/ARCollapsableTextViewSpec/when_text_is_shorter_than_collapsed_height_looks_correct@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/ARCollapsableTextViewSpec/when_text_is_shorter_than_collapsed_height_looks_correct@3x.png rename to ios/ArtsyTests/ReferenceImages/ARCollapsableTextViewSpec/when_text_is_shorter_than_collapsed_height_looks_correct@3x.png diff --git a/Artsy_Tests/ReferenceImages/ARCountdownViewSpec/looks_good_with_a_header@3x.png b/ios/ArtsyTests/ReferenceImages/ARCountdownViewSpec/looks_good_with_a_header@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/ARCountdownViewSpec/looks_good_with_a_header@3x.png rename to ios/ArtsyTests/ReferenceImages/ARCountdownViewSpec/looks_good_with_a_header@3x.png diff --git a/Artsy_Tests/ReferenceImages/ARCountdownViewSpec/looks_ok_by_default@3x.png b/ios/ArtsyTests/ReferenceImages/ARCountdownViewSpec/looks_ok_by_default@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/ARCountdownViewSpec/looks_ok_by_default@3x.png rename to ios/ArtsyTests/ReferenceImages/ARCountdownViewSpec/looks_ok_by_default@3x.png diff --git a/Artsy_Tests/ReferenceImages/ARCountdownViewSpec/looks_ok_on_a_regular_size_class@3x.png b/ios/ArtsyTests/ReferenceImages/ARCountdownViewSpec/looks_ok_on_a_regular_size_class@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/ARCountdownViewSpec/looks_ok_on_a_regular_size_class@3x.png rename to ios/ArtsyTests/ReferenceImages/ARCountdownViewSpec/looks_ok_on_a_regular_size_class@3x.png diff --git a/Artsy_Tests/ReferenceImages/ARCountdownViewSpec/looks_ok_when_configured_with_a_custom_colour@3x.png b/ios/ArtsyTests/ReferenceImages/ARCountdownViewSpec/looks_ok_when_configured_with_a_custom_colour@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/ARCountdownViewSpec/looks_ok_when_configured_with_a_custom_colour@3x.png rename to ios/ArtsyTests/ReferenceImages/ARCountdownViewSpec/looks_ok_when_configured_with_a_custom_colour@3x.png diff --git a/Artsy_Tests/ReferenceImages/ARCustomEigenLabelsSpec/ARWarningView_looks_correct@3x.png b/ios/ArtsyTests/ReferenceImages/ARCustomEigenLabelsSpec/ARWarningView_looks_correct@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/ARCustomEigenLabelsSpec/ARWarningView_looks_correct@3x.png rename to ios/ArtsyTests/ReferenceImages/ARCustomEigenLabelsSpec/ARWarningView_looks_correct@3x.png diff --git a/Artsy_Tests/ReferenceImages/AREmbeddedModelPreviewViewControllerSpec/iPhone_peek_preview_view_controller_displays_artwork@3x.png b/ios/ArtsyTests/ReferenceImages/AREmbeddedModelPreviewViewControllerSpec/iPhone_peek_preview_view_controller_displays_artwork@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/AREmbeddedModelPreviewViewControllerSpec/iPhone_peek_preview_view_controller_displays_artwork@3x.png rename to ios/ArtsyTests/ReferenceImages/AREmbeddedModelPreviewViewControllerSpec/iPhone_peek_preview_view_controller_displays_artwork@3x.png diff --git a/Artsy_Tests/ReferenceImages/AREmbeddedModelsViewControllerSpec/masonry_layout_with_horizontal_rows_allows_a_trailing_entry_to_the_right_to_stick_out_if_it_sticks_out_50_of_its_height@3x.png b/ios/ArtsyTests/ReferenceImages/AREmbeddedModelsViewControllerSpec/masonry_layout_with_horizontal_rows_allows_a_trailing_entry_to_the_right_to_stick_out_if_it_sticks_out_50_of_its_height@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/AREmbeddedModelsViewControllerSpec/masonry_layout_with_horizontal_rows_allows_a_trailing_entry_to_the_right_to_stick_out_if_it_sticks_out_50_of_its_height@3x.png rename to ios/ArtsyTests/ReferenceImages/AREmbeddedModelsViewControllerSpec/masonry_layout_with_horizontal_rows_allows_a_trailing_entry_to_the_right_to_stick_out_if_it_sticks_out_50_of_its_height@3x.png diff --git a/Artsy_Tests/ReferenceImages/AREmbeddedModelsViewControllerSpec/masonry_layout_with_horizontal_rows_moves_a_trailing_entry_to_the_left_if_it_would_normally_be_at_the_right_and_stick_out_from_the_rest_by_more_than_50_of_its_height@3x.png b/ios/ArtsyTests/ReferenceImages/AREmbeddedModelsViewControllerSpec/masonry_layout_with_horizontal_rows_moves_a_trailing_entry_to_the_left_if_it_would_normally_be_at_the_right_and_stick_out_from_the_rest_by_more_than_50_of_its_height@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/AREmbeddedModelsViewControllerSpec/masonry_layout_with_horizontal_rows_moves_a_trailing_entry_to_the_left_if_it_would_normally_be_at_the_right_and_stick_out_from_the_rest_by_more_than_50_of_its_height@3x.png rename to ios/ArtsyTests/ReferenceImages/AREmbeddedModelsViewControllerSpec/masonry_layout_with_horizontal_rows_moves_a_trailing_entry_to_the_left_if_it_would_normally_be_at_the_right_and_stick_out_from_the_rest_by_more_than_50_of_its_height@3x.png diff --git a/Artsy_Tests/ReferenceImages/AREmbeddedModelsViewControllerSpec/masonry_layout_with_vertical_columns_allows_a_trailing_entry_to_the_right_to_stick_out_if_it_sticks_out_50_of_its_height@3x.png b/ios/ArtsyTests/ReferenceImages/AREmbeddedModelsViewControllerSpec/masonry_layout_with_vertical_columns_allows_a_trailing_entry_to_the_right_to_stick_out_if_it_sticks_out_50_of_its_height@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/AREmbeddedModelsViewControllerSpec/masonry_layout_with_vertical_columns_allows_a_trailing_entry_to_the_right_to_stick_out_if_it_sticks_out_50_of_its_height@3x.png rename to ios/ArtsyTests/ReferenceImages/AREmbeddedModelsViewControllerSpec/masonry_layout_with_vertical_columns_allows_a_trailing_entry_to_the_right_to_stick_out_if_it_sticks_out_50_of_its_height@3x.png diff --git a/Artsy_Tests/ReferenceImages/AREmbeddedModelsViewControllerSpec/masonry_layout_with_vertical_columns_moves_a_trailing_entry_to_the_left_if_it_would_normally_be_at_the_right_and_stick_out_from_the_rest_by_more_than_50_of_its_height@3x.png b/ios/ArtsyTests/ReferenceImages/AREmbeddedModelsViewControllerSpec/masonry_layout_with_vertical_columns_moves_a_trailing_entry_to_the_left_if_it_would_normally_be_at_the_right_and_stick_out_from_the_rest_by_more_than_50_of_its_height@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/AREmbeddedModelsViewControllerSpec/masonry_layout_with_vertical_columns_moves_a_trailing_entry_to_the_left_if_it_would_normally_be_at_the_right_and_stick_out_from_the_rest_by_more_than_50_of_its_height@3x.png rename to ios/ArtsyTests/ReferenceImages/AREmbeddedModelsViewControllerSpec/masonry_layout_with_vertical_columns_moves_a_trailing_entry_to_the_left_if_it_would_normally_be_at_the_right_and_stick_out_from_the_rest_by_more_than_50_of_its_height@3x.png diff --git a/Artsy_Tests/ReferenceImages/AREmbeddedModelsViewControllerSpec/truncates_long_titles@3x.png b/ios/ArtsyTests/ReferenceImages/AREmbeddedModelsViewControllerSpec/truncates_long_titles@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/AREmbeddedModelsViewControllerSpec/truncates_long_titles@3x.png rename to ios/ArtsyTests/ReferenceImages/AREmbeddedModelsViewControllerSpec/truncates_long_titles@3x.png diff --git a/Artsy_Tests/ReferenceImages/ARNavigationButtonSpecSpec/ARNavigationButton_default_border_really_long_title_and_subtitle@3x.png b/ios/ArtsyTests/ReferenceImages/ARNavigationButtonSpecSpec/ARNavigationButton_default_border_really_long_title_and_subtitle@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/ARNavigationButtonSpecSpec/ARNavigationButton_default_border_really_long_title_and_subtitle@3x.png rename to ios/ArtsyTests/ReferenceImages/ARNavigationButtonSpecSpec/ARNavigationButton_default_border_really_long_title_and_subtitle@3x.png diff --git a/Artsy_Tests/ReferenceImages/ARNavigationButtonSpecSpec/ARSerifNavigationButton_really_long_title_and_subtitle@3x.png b/ios/ArtsyTests/ReferenceImages/ARNavigationButtonSpecSpec/ARSerifNavigationButton_really_long_title_and_subtitle@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/ARNavigationButtonSpecSpec/ARSerifNavigationButton_really_long_title_and_subtitle@3x.png rename to ios/ArtsyTests/ReferenceImages/ARNavigationButtonSpecSpec/ARSerifNavigationButton_really_long_title_and_subtitle@3x.png diff --git a/Artsy_Tests/ReferenceImages/ARNavigationButtonSpecSpec/navigationButtonWithTitle@3x.png b/ios/ArtsyTests/ReferenceImages/ARNavigationButtonSpecSpec/navigationButtonWithTitle@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/ARNavigationButtonSpecSpec/navigationButtonWithTitle@3x.png rename to ios/ArtsyTests/ReferenceImages/ARNavigationButtonSpecSpec/navigationButtonWithTitle@3x.png diff --git a/Artsy_Tests/ReferenceImages/ARNavigationButtonSpecSpec/navigationButtonWithTitleAnd5pxBorder@3x.png b/ios/ArtsyTests/ReferenceImages/ARNavigationButtonSpecSpec/navigationButtonWithTitleAnd5pxBorder@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/ARNavigationButtonSpecSpec/navigationButtonWithTitleAnd5pxBorder@3x.png rename to ios/ArtsyTests/ReferenceImages/ARNavigationButtonSpecSpec/navigationButtonWithTitleAnd5pxBorder@3x.png diff --git a/Artsy_Tests/ReferenceImages/ARNavigationButtonSpecSpec/navigationButtonWithTitleAndNoBorder@3x.png b/ios/ArtsyTests/ReferenceImages/ARNavigationButtonSpecSpec/navigationButtonWithTitleAndNoBorder@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/ARNavigationButtonSpecSpec/navigationButtonWithTitleAndNoBorder@3x.png rename to ios/ArtsyTests/ReferenceImages/ARNavigationButtonSpecSpec/navigationButtonWithTitleAndNoBorder@3x.png diff --git a/Artsy_Tests/ReferenceImages/ARNavigationButtonSpecSpec/navigationButtonWithTitleAndSubtitle@3x.png b/ios/ArtsyTests/ReferenceImages/ARNavigationButtonSpecSpec/navigationButtonWithTitleAndSubtitle@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/ARNavigationButtonSpecSpec/navigationButtonWithTitleAndSubtitle@3x.png rename to ios/ArtsyTests/ReferenceImages/ARNavigationButtonSpecSpec/navigationButtonWithTitleAndSubtitle@3x.png diff --git a/Artsy_Tests/ReferenceImages/ARNavigationButtonSpecSpec/navigationButtonWithTitleAndSubtitleAnd5pxBorder@3x.png b/ios/ArtsyTests/ReferenceImages/ARNavigationButtonSpecSpec/navigationButtonWithTitleAndSubtitleAnd5pxBorder@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/ARNavigationButtonSpecSpec/navigationButtonWithTitleAndSubtitleAnd5pxBorder@3x.png rename to ios/ArtsyTests/ReferenceImages/ARNavigationButtonSpecSpec/navigationButtonWithTitleAndSubtitleAnd5pxBorder@3x.png diff --git a/Artsy_Tests/ReferenceImages/ARNavigationButtonSpecSpec/navigationButtonWithTitleAndSubtitleAndNoBorder@3x.png b/ios/ArtsyTests/ReferenceImages/ARNavigationButtonSpecSpec/navigationButtonWithTitleAndSubtitleAndNoBorder@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/ARNavigationButtonSpecSpec/navigationButtonWithTitleAndSubtitleAndNoBorder@3x.png rename to ios/ArtsyTests/ReferenceImages/ARNavigationButtonSpecSpec/navigationButtonWithTitleAndSubtitleAndNoBorder@3x.png diff --git a/Artsy_Tests/ReferenceImages/ARNavigationButtonSpecSpec/serifNavigationButtonWithTitle@3x.png b/ios/ArtsyTests/ReferenceImages/ARNavigationButtonSpecSpec/serifNavigationButtonWithTitle@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/ARNavigationButtonSpecSpec/serifNavigationButtonWithTitle@3x.png rename to ios/ArtsyTests/ReferenceImages/ARNavigationButtonSpecSpec/serifNavigationButtonWithTitle@3x.png diff --git a/Artsy_Tests/ReferenceImages/ARNavigationButtonSpecSpec/serifNavigationButtonWithTitleAndSubtitle@3x.png b/ios/ArtsyTests/ReferenceImages/ARNavigationButtonSpecSpec/serifNavigationButtonWithTitleAndSubtitle@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/ARNavigationButtonSpecSpec/serifNavigationButtonWithTitleAndSubtitle@3x.png rename to ios/ArtsyTests/ReferenceImages/ARNavigationButtonSpecSpec/serifNavigationButtonWithTitleAndSubtitle@3x.png diff --git a/Artsy_Tests/ReferenceImages/ARNavigationControllerSpec/visuals_should_be_empty_for_a_rootVC@3x.png b/ios/ArtsyTests/ReferenceImages/ARNavigationControllerSpec/visuals_should_be_empty_for_a_rootVC@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/ARNavigationControllerSpec/visuals_should_be_empty_for_a_rootVC@3x.png rename to ios/ArtsyTests/ReferenceImages/ARNavigationControllerSpec/visuals_should_be_empty_for_a_rootVC@3x.png diff --git a/Artsy_Tests/ReferenceImages/ARNavigationControllerSpec/visuals_should_be_show_a_back_button_with_2_view_controllers@3x.png b/ios/ArtsyTests/ReferenceImages/ARNavigationControllerSpec/visuals_should_be_show_a_back_button_with_2_view_controllers@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/ARNavigationControllerSpec/visuals_should_be_show_a_back_button_with_2_view_controllers@3x.png rename to ios/ArtsyTests/ReferenceImages/ARNavigationControllerSpec/visuals_should_be_show_a_back_button_with_2_view_controllers@3x.png diff --git a/Artsy_Tests/ReferenceImages/ARSaleArtworkFlowCollectionViewCellSpec/looks_good_with_compact_cells@3x.png b/ios/ArtsyTests/ReferenceImages/ARSaleArtworkFlowCollectionViewCellSpec/looks_good_with_compact_cells@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/ARSaleArtworkFlowCollectionViewCellSpec/looks_good_with_compact_cells@3x.png rename to ios/ArtsyTests/ReferenceImages/ARSaleArtworkFlowCollectionViewCellSpec/looks_good_with_compact_cells@3x.png diff --git a/Artsy_Tests/ReferenceImages/ARSaleArtworkFlowCollectionViewCellSpec/looks_good_with_regular_cells@3x.png b/ios/ArtsyTests/ReferenceImages/ARSaleArtworkFlowCollectionViewCellSpec/looks_good_with_regular_cells@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/ARSaleArtworkFlowCollectionViewCellSpec/looks_good_with_regular_cells@3x.png rename to ios/ArtsyTests/ReferenceImages/ARSaleArtworkFlowCollectionViewCellSpec/looks_good_with_regular_cells@3x.png diff --git a/Artsy_Tests/ReferenceImages/ARSerifNavigationViewControllerSpec/_handles_the_back_button_correctly@3x.png b/ios/ArtsyTests/ReferenceImages/ARSerifNavigationViewControllerSpec/_handles_the_back_button_correctly@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/ARSerifNavigationViewControllerSpec/_handles_the_back_button_correctly@3x.png rename to ios/ArtsyTests/ReferenceImages/ARSerifNavigationViewControllerSpec/_handles_the_back_button_correctly@3x.png diff --git a/Artsy_Tests/ReferenceImages/ARSerifNavigationViewControllerSpec/_handles_the_fake_navigation_close_button_correctly@3x.png b/ios/ArtsyTests/ReferenceImages/ARSerifNavigationViewControllerSpec/_handles_the_fake_navigation_close_button_correctly@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/ARSerifNavigationViewControllerSpec/_handles_the_fake_navigation_close_button_correctly@3x.png rename to ios/ArtsyTests/ReferenceImages/ARSerifNavigationViewControllerSpec/_handles_the_fake_navigation_close_button_correctly@3x.png diff --git a/Artsy_Tests/ReferenceImages/ARSignUpSplashViewControllerSpec/looks correct as ipad@3x.png b/ios/ArtsyTests/ReferenceImages/ARSignUpSplashViewControllerSpec/looks correct as ipad@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/ARSignUpSplashViewControllerSpec/looks correct as ipad@3x.png rename to ios/ArtsyTests/ReferenceImages/ARSignUpSplashViewControllerSpec/looks correct as ipad@3x.png diff --git a/Artsy_Tests/ReferenceImages/ARSignUpSplashViewControllerSpec/looks correct as iphone@3x.png b/ios/ArtsyTests/ReferenceImages/ARSignUpSplashViewControllerSpec/looks correct as iphone@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/ARSignUpSplashViewControllerSpec/looks correct as iphone@3x.png rename to ios/ArtsyTests/ReferenceImages/ARSignUpSplashViewControllerSpec/looks correct as iphone@3x.png diff --git a/Artsy_Tests/ReferenceImages/ARTextViewSpec/with_HTML_looks_right_with_multiple_paragraphs@3x.png b/ios/ArtsyTests/ReferenceImages/ARTextViewSpec/with_HTML_looks_right_with_multiple_paragraphs@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/ARTextViewSpec/with_HTML_looks_right_with_multiple_paragraphs@3x.png rename to ios/ArtsyTests/ReferenceImages/ARTextViewSpec/with_HTML_looks_right_with_multiple_paragraphs@3x.png diff --git a/Artsy_Tests/ReferenceImages/AuctionInformationViewControllerTests/a_closed_sale__shows_the_sale_is_closed@3x.png b/ios/ArtsyTests/ReferenceImages/AuctionInformationViewControllerTests/a_closed_sale__shows_the_sale_is_closed@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/AuctionInformationViewControllerTests/a_closed_sale__shows_the_sale_is_closed@3x.png rename to ios/ArtsyTests/ReferenceImages/AuctionInformationViewControllerTests/a_closed_sale__shows_the_sale_is_closed@3x.png diff --git a/Artsy_Tests/ReferenceImages/AuctionLotMetadataStackScrollViewTests/looks_as_expected_when_small@3x.png b/ios/ArtsyTests/ReferenceImages/AuctionLotMetadataStackScrollViewTests/looks_as_expected_when_small@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/AuctionLotMetadataStackScrollViewTests/looks_as_expected_when_small@3x.png rename to ios/ArtsyTests/ReferenceImages/AuctionLotMetadataStackScrollViewTests/looks_as_expected_when_small@3x.png diff --git a/Artsy_Tests/ReferenceImages/AuctionLotMetadataStackScrollViewTests/looks_right_when_expanded@3x.png b/ios/ArtsyTests/ReferenceImages/AuctionLotMetadataStackScrollViewTests/looks_right_when_expanded@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/AuctionLotMetadataStackScrollViewTests/looks_right_when_expanded@3x.png rename to ios/ArtsyTests/ReferenceImages/AuctionLotMetadataStackScrollViewTests/looks_right_when_expanded@3x.png diff --git a/Artsy_Tests/ReferenceImages/AuctionTitleViewTests/with_the_registration_button_having_side_insets__title_view__looks_good_with_a_logged_out_registration_status@3x.png b/ios/ArtsyTests/ReferenceImages/AuctionTitleViewTests/with_the_registration_button_having_side_insets__title_view__looks_good_with_a_logged_out_registration_status@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/AuctionTitleViewTests/with_the_registration_button_having_side_insets__title_view__looks_good_with_a_logged_out_registration_status@3x.png rename to ios/ArtsyTests/ReferenceImages/AuctionTitleViewTests/with_the_registration_button_having_side_insets__title_view__looks_good_with_a_logged_out_registration_status@3x.png diff --git a/Artsy_Tests/ReferenceImages/AuctionTitleViewTests/with_the_registration_button_having_side_insets__title_view__looks_good_with_a_not_registered_registration_status@3x.png b/ios/ArtsyTests/ReferenceImages/AuctionTitleViewTests/with_the_registration_button_having_side_insets__title_view__looks_good_with_a_not_registered_registration_status@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/AuctionTitleViewTests/with_the_registration_button_having_side_insets__title_view__looks_good_with_a_not_registered_registration_status@3x.png rename to ios/ArtsyTests/ReferenceImages/AuctionTitleViewTests/with_the_registration_button_having_side_insets__title_view__looks_good_with_a_not_registered_registration_status@3x.png diff --git a/Artsy_Tests/ReferenceImages/AuctionTitleViewTests/with_the_registration_button_having_side_insets__title_view__looks_good_with_a_registered_registration_status@3x.png b/ios/ArtsyTests/ReferenceImages/AuctionTitleViewTests/with_the_registration_button_having_side_insets__title_view__looks_good_with_a_registered_registration_status@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/AuctionTitleViewTests/with_the_registration_button_having_side_insets__title_view__looks_good_with_a_registered_registration_status@3x.png rename to ios/ArtsyTests/ReferenceImages/AuctionTitleViewTests/with_the_registration_button_having_side_insets__title_view__looks_good_with_a_registered_registration_status@3x.png diff --git a/Artsy_Tests/ReferenceImages/AuctionTitleViewTests/with_the_registration_button_having_side_insets__title_view__looks_good_with_a_sale_and_user_requiring_identity_verification@3x.png b/ios/ArtsyTests/ReferenceImages/AuctionTitleViewTests/with_the_registration_button_having_side_insets__title_view__looks_good_with_a_sale_and_user_requiring_identity_verification@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/AuctionTitleViewTests/with_the_registration_button_having_side_insets__title_view__looks_good_with_a_sale_and_user_requiring_identity_verification@3x.png rename to ios/ArtsyTests/ReferenceImages/AuctionTitleViewTests/with_the_registration_button_having_side_insets__title_view__looks_good_with_a_sale_and_user_requiring_identity_verification@3x.png diff --git a/Artsy_Tests/ReferenceImages/AuctionTitleViewTests/with_the_registration_button_having_side_insets__title_view__looks_good_with_a_sale_and_user_who_has_already_been_identity_verified@3x.png b/ios/ArtsyTests/ReferenceImages/AuctionTitleViewTests/with_the_registration_button_having_side_insets__title_view__looks_good_with_a_sale_and_user_who_has_already_been_identity_verified@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/AuctionTitleViewTests/with_the_registration_button_having_side_insets__title_view__looks_good_with_a_sale_and_user_who_has_already_been_identity_verified@3x.png rename to ios/ArtsyTests/ReferenceImages/AuctionTitleViewTests/with_the_registration_button_having_side_insets__title_view__looks_good_with_a_sale_and_user_who_has_already_been_identity_verified@3x.png diff --git a/Artsy_Tests/ReferenceImages/AuctionTitleViewTests/with_the_registration_button_having_side_insets__title_view__looks_good_without_a_info_button@3x.png b/ios/ArtsyTests/ReferenceImages/AuctionTitleViewTests/with_the_registration_button_having_side_insets__title_view__looks_good_without_a_info_button@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/AuctionTitleViewTests/with_the_registration_button_having_side_insets__title_view__looks_good_without_a_info_button@3x.png rename to ios/ArtsyTests/ReferenceImages/AuctionTitleViewTests/with_the_registration_button_having_side_insets__title_view__looks_good_without_a_info_button@3x.png diff --git a/Artsy_Tests/ReferenceImages/AuctionTitleViewTests/with_the_registration_button_having_side_insets__title_view__looks_good_without_a_registration_status@3x.png b/ios/ArtsyTests/ReferenceImages/AuctionTitleViewTests/with_the_registration_button_having_side_insets__title_view__looks_good_without_a_registration_status@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/AuctionTitleViewTests/with_the_registration_button_having_side_insets__title_view__looks_good_without_a_registration_status@3x.png rename to ios/ArtsyTests/ReferenceImages/AuctionTitleViewTests/with_the_registration_button_having_side_insets__title_view__looks_good_without_a_registration_status@3x.png diff --git a/Artsy_Tests/ReferenceImages/AuctionTitleViewTests/with_the_registration_button_spanning_the_full_width__title_view__looks_good_with_a_logged_out_registration_status@3x.png b/ios/ArtsyTests/ReferenceImages/AuctionTitleViewTests/with_the_registration_button_spanning_the_full_width__title_view__looks_good_with_a_logged_out_registration_status@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/AuctionTitleViewTests/with_the_registration_button_spanning_the_full_width__title_view__looks_good_with_a_logged_out_registration_status@3x.png rename to ios/ArtsyTests/ReferenceImages/AuctionTitleViewTests/with_the_registration_button_spanning_the_full_width__title_view__looks_good_with_a_logged_out_registration_status@3x.png diff --git a/Artsy_Tests/ReferenceImages/AuctionTitleViewTests/with_the_registration_button_spanning_the_full_width__title_view__looks_good_with_a_not_registered_registration_status@3x.png b/ios/ArtsyTests/ReferenceImages/AuctionTitleViewTests/with_the_registration_button_spanning_the_full_width__title_view__looks_good_with_a_not_registered_registration_status@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/AuctionTitleViewTests/with_the_registration_button_spanning_the_full_width__title_view__looks_good_with_a_not_registered_registration_status@3x.png rename to ios/ArtsyTests/ReferenceImages/AuctionTitleViewTests/with_the_registration_button_spanning_the_full_width__title_view__looks_good_with_a_not_registered_registration_status@3x.png diff --git a/Artsy_Tests/ReferenceImages/AuctionTitleViewTests/with_the_registration_button_spanning_the_full_width__title_view__looks_good_with_a_registered_registration_status@3x.png b/ios/ArtsyTests/ReferenceImages/AuctionTitleViewTests/with_the_registration_button_spanning_the_full_width__title_view__looks_good_with_a_registered_registration_status@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/AuctionTitleViewTests/with_the_registration_button_spanning_the_full_width__title_view__looks_good_with_a_registered_registration_status@3x.png rename to ios/ArtsyTests/ReferenceImages/AuctionTitleViewTests/with_the_registration_button_spanning_the_full_width__title_view__looks_good_with_a_registered_registration_status@3x.png diff --git a/Artsy_Tests/ReferenceImages/AuctionTitleViewTests/with_the_registration_button_spanning_the_full_width__title_view__looks_good_with_a_sale_and_user_requiring_identity_verification@3x.png b/ios/ArtsyTests/ReferenceImages/AuctionTitleViewTests/with_the_registration_button_spanning_the_full_width__title_view__looks_good_with_a_sale_and_user_requiring_identity_verification@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/AuctionTitleViewTests/with_the_registration_button_spanning_the_full_width__title_view__looks_good_with_a_sale_and_user_requiring_identity_verification@3x.png rename to ios/ArtsyTests/ReferenceImages/AuctionTitleViewTests/with_the_registration_button_spanning_the_full_width__title_view__looks_good_with_a_sale_and_user_requiring_identity_verification@3x.png diff --git a/Artsy_Tests/ReferenceImages/AuctionTitleViewTests/with_the_registration_button_spanning_the_full_width__title_view__looks_good_with_a_sale_and_user_who_has_already_been_identity_verified@3x.png b/ios/ArtsyTests/ReferenceImages/AuctionTitleViewTests/with_the_registration_button_spanning_the_full_width__title_view__looks_good_with_a_sale_and_user_who_has_already_been_identity_verified@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/AuctionTitleViewTests/with_the_registration_button_spanning_the_full_width__title_view__looks_good_with_a_sale_and_user_who_has_already_been_identity_verified@3x.png rename to ios/ArtsyTests/ReferenceImages/AuctionTitleViewTests/with_the_registration_button_spanning_the_full_width__title_view__looks_good_with_a_sale_and_user_who_has_already_been_identity_verified@3x.png diff --git a/Artsy_Tests/ReferenceImages/AuctionTitleViewTests/with_the_registration_button_spanning_the_full_width__title_view__looks_good_without_a_info_button@3x.png b/ios/ArtsyTests/ReferenceImages/AuctionTitleViewTests/with_the_registration_button_spanning_the_full_width__title_view__looks_good_without_a_info_button@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/AuctionTitleViewTests/with_the_registration_button_spanning_the_full_width__title_view__looks_good_without_a_info_button@3x.png rename to ios/ArtsyTests/ReferenceImages/AuctionTitleViewTests/with_the_registration_button_spanning_the_full_width__title_view__looks_good_without_a_info_button@3x.png diff --git a/Artsy_Tests/ReferenceImages/AuctionTitleViewTests/with_the_registration_button_spanning_the_full_width__title_view__looks_good_without_a_registration_status@3x.png b/ios/ArtsyTests/ReferenceImages/AuctionTitleViewTests/with_the_registration_button_spanning_the_full_width__title_view__looks_good_without_a_registration_status@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/AuctionTitleViewTests/with_the_registration_button_spanning_the_full_width__title_view__looks_good_without_a_registration_status@3x.png rename to ios/ArtsyTests/ReferenceImages/AuctionTitleViewTests/with_the_registration_button_spanning_the_full_width__title_view__looks_good_without_a_registration_status@3x.png diff --git a/Artsy_Tests/ReferenceImages/AuctionViewControllerTests/handles_showing_information_for_upcoming_auctions_with_long_names_with_no_sale_artworks@3x.png b/ios/ArtsyTests/ReferenceImages/AuctionViewControllerTests/handles_showing_information_for_upcoming_auctions_with_long_names_with_no_sale_artworks@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/AuctionViewControllerTests/handles_showing_information_for_upcoming_auctions_with_long_names_with_no_sale_artworks@3x.png rename to ios/ArtsyTests/ReferenceImages/AuctionViewControllerTests/handles_showing_information_for_upcoming_auctions_with_long_names_with_no_sale_artworks@3x.png diff --git a/Artsy_Tests/ReferenceImages/AuctionViewControllerTests/handles_showing_information_for_upcoming_auctions_with_no_sale_artworks@3x.png b/ios/ArtsyTests/ReferenceImages/AuctionViewControllerTests/handles_showing_information_for_upcoming_auctions_with_no_sale_artworks@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/AuctionViewControllerTests/handles_showing_information_for_upcoming_auctions_with_no_sale_artworks@3x.png rename to ios/ArtsyTests/ReferenceImages/AuctionViewControllerTests/handles_showing_information_for_upcoming_auctions_with_no_sale_artworks@3x.png diff --git a/Artsy_Tests/ReferenceImages/AuctionViewControllerTests/lot_standings__looks_good_with_lot_standings@3x.png b/ios/ArtsyTests/ReferenceImages/AuctionViewControllerTests/lot_standings__looks_good_with_lot_standings@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/AuctionViewControllerTests/lot_standings__looks_good_with_lot_standings@3x.png rename to ios/ArtsyTests/ReferenceImages/AuctionViewControllerTests/lot_standings__looks_good_with_lot_standings@3x.png diff --git a/Artsy_Tests/ReferenceImages/LiveAuctionBidButtonTests/handles_getting_outbid_with_lot_state_changes_before_animation_completes@3x.png b/ios/ArtsyTests/ReferenceImages/LiveAuctionBidButtonTests/handles_getting_outbid_with_lot_state_changes_before_animation_completes@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/LiveAuctionBidButtonTests/handles_getting_outbid_with_lot_state_changes_before_animation_completes@3x.png rename to ios/ArtsyTests/ReferenceImages/LiveAuctionBidButtonTests/handles_getting_outbid_with_lot_state_changes_before_animation_completes@3x.png diff --git a/Artsy_Tests/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_biddable@3x.png b/ios/ArtsyTests/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_biddable@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_biddable@3x.png rename to ios/ArtsyTests/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_biddable@3x.png diff --git a/Artsy_Tests/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_closed@3x.png b/ios/ArtsyTests/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_closed@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_closed@3x.png rename to ios/ArtsyTests/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_closed@3x.png diff --git a/Artsy_Tests/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_failed@3x.png b/ios/ArtsyTests/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_failed@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_failed@3x.png rename to ios/ArtsyTests/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_failed@3x.png diff --git a/Artsy_Tests/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_highest_bidder__and_can_re_bid@3x.png b/ios/ArtsyTests/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_highest_bidder__and_can_re_bid@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_highest_bidder__and_can_re_bid@3x.png rename to ios/ArtsyTests/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_highest_bidder__and_can_re_bid@3x.png diff --git a/Artsy_Tests/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_in_progress@3x.png b/ios/ArtsyTests/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_in_progress@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_in_progress@3x.png rename to ios/ArtsyTests/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_in_progress@3x.png diff --git a/Artsy_Tests/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_max_bidder@3x.png b/ios/ArtsyTests/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_max_bidder@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_max_bidder@3x.png rename to ios/ArtsyTests/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_max_bidder@3x.png diff --git a/Artsy_Tests/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_not_max_bidder@3x.png b/ios/ArtsyTests/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_not_max_bidder@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_not_max_bidder@3x.png rename to ios/ArtsyTests/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_not_max_bidder@3x.png diff --git a/Artsy_Tests/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_passed@3x.png b/ios/ArtsyTests/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_passed@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_passed@3x.png rename to ios/ArtsyTests/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_passed@3x.png diff --git a/Artsy_Tests/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_registration_closed@3x.png b/ios/ArtsyTests/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_registration_closed@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_registration_closed@3x.png rename to ios/ArtsyTests/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_registration_closed@3x.png diff --git a/Artsy_Tests/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_registration_pending@3x.png b/ios/ArtsyTests/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_registration_pending@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_registration_pending@3x.png rename to ios/ArtsyTests/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_registration_pending@3x.png diff --git a/Artsy_Tests/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_registration_required@3x.png b/ios/ArtsyTests/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_registration_required@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_registration_required@3x.png rename to ios/ArtsyTests/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_registration_required@3x.png diff --git a/Artsy_Tests/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_sold@3x.png b/ios/ArtsyTests/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_sold@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_sold@3x.png rename to ios/ArtsyTests/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_sold@3x.png diff --git a/Artsy_Tests/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_upcoming@3x.png b/ios/ArtsyTests/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_upcoming@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_upcoming@3x.png rename to ios/ArtsyTests/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_upcoming@3x.png diff --git a/Artsy_Tests/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_waiting@3x.png b/ios/ArtsyTests/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_waiting@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_waiting@3x.png rename to ios/ArtsyTests/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_waiting@3x.png diff --git a/Artsy_Tests/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_waiting_on_auctioneer_confirmation@3x.png b/ios/ArtsyTests/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_waiting_on_auctioneer_confirmation@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_waiting_on_auctioneer_confirmation@3x.png rename to ios/ArtsyTests/ReferenceImages/LiveAuctionBidButtonTests/has_valid_snapshot_waiting_on_auctioneer_confirmation@3x.png diff --git a/Artsy_Tests/ReferenceImages/LiveAuctionBidHistoryViewControllerTests/cells__looks_right_for_a_cancelled_floor_bid@3x.png b/ios/ArtsyTests/ReferenceImages/LiveAuctionBidHistoryViewControllerTests/cells__looks_right_for_a_cancelled_floor_bid@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/LiveAuctionBidHistoryViewControllerTests/cells__looks_right_for_a_cancelled_floor_bid@3x.png rename to ios/ArtsyTests/ReferenceImages/LiveAuctionBidHistoryViewControllerTests/cells__looks_right_for_a_cancelled_floor_bid@3x.png diff --git a/Artsy_Tests/ReferenceImages/LiveAuctionBidHistoryViewControllerTests/cells__looks_right_for_bid@3x.png b/ios/ArtsyTests/ReferenceImages/LiveAuctionBidHistoryViewControllerTests/cells__looks_right_for_bid@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/LiveAuctionBidHistoryViewControllerTests/cells__looks_right_for_bid@3x.png rename to ios/ArtsyTests/ReferenceImages/LiveAuctionBidHistoryViewControllerTests/cells__looks_right_for_bid@3x.png diff --git a/Artsy_Tests/ReferenceImages/LiveAuctionBidHistoryViewControllerTests/cells__looks_right_for_closed@3x.png b/ios/ArtsyTests/ReferenceImages/LiveAuctionBidHistoryViewControllerTests/cells__looks_right_for_closed@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/LiveAuctionBidHistoryViewControllerTests/cells__looks_right_for_closed@3x.png rename to ios/ArtsyTests/ReferenceImages/LiveAuctionBidHistoryViewControllerTests/cells__looks_right_for_closed@3x.png diff --git a/Artsy_Tests/ReferenceImages/LiveAuctionBidHistoryViewControllerTests/cells__looks_right_for_closed_state@3x.png b/ios/ArtsyTests/ReferenceImages/LiveAuctionBidHistoryViewControllerTests/cells__looks_right_for_closed_state@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/LiveAuctionBidHistoryViewControllerTests/cells__looks_right_for_closed_state@3x.png rename to ios/ArtsyTests/ReferenceImages/LiveAuctionBidHistoryViewControllerTests/cells__looks_right_for_closed_state@3x.png diff --git a/Artsy_Tests/ReferenceImages/LiveAuctionBidHistoryViewControllerTests/cells__looks_right_for_fair_warning@3x.png b/ios/ArtsyTests/ReferenceImages/LiveAuctionBidHistoryViewControllerTests/cells__looks_right_for_fair_warning@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/LiveAuctionBidHistoryViewControllerTests/cells__looks_right_for_fair_warning@3x.png rename to ios/ArtsyTests/ReferenceImages/LiveAuctionBidHistoryViewControllerTests/cells__looks_right_for_fair_warning@3x.png diff --git a/Artsy_Tests/ReferenceImages/LiveAuctionBidHistoryViewControllerTests/cells__looks_right_for_final_call@3x.png b/ios/ArtsyTests/ReferenceImages/LiveAuctionBidHistoryViewControllerTests/cells__looks_right_for_final_call@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/LiveAuctionBidHistoryViewControllerTests/cells__looks_right_for_final_call@3x.png rename to ios/ArtsyTests/ReferenceImages/LiveAuctionBidHistoryViewControllerTests/cells__looks_right_for_final_call@3x.png diff --git a/Artsy_Tests/ReferenceImages/LiveAuctionBidHistoryViewControllerTests/cells__looks_right_for_floor_bid@3x.png b/ios/ArtsyTests/ReferenceImages/LiveAuctionBidHistoryViewControllerTests/cells__looks_right_for_floor_bid@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/LiveAuctionBidHistoryViewControllerTests/cells__looks_right_for_floor_bid@3x.png rename to ios/ArtsyTests/ReferenceImages/LiveAuctionBidHistoryViewControllerTests/cells__looks_right_for_floor_bid@3x.png diff --git a/Artsy_Tests/ReferenceImages/LiveAuctionBidHistoryViewControllerTests/cells__looks_right_for_open@3x.png b/ios/ArtsyTests/ReferenceImages/LiveAuctionBidHistoryViewControllerTests/cells__looks_right_for_open@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/LiveAuctionBidHistoryViewControllerTests/cells__looks_right_for_open@3x.png rename to ios/ArtsyTests/ReferenceImages/LiveAuctionBidHistoryViewControllerTests/cells__looks_right_for_open@3x.png diff --git a/Artsy_Tests/ReferenceImages/LiveAuctionFancyLotCollectionViewLayoutTests/looks_good_compact@3x.png b/ios/ArtsyTests/ReferenceImages/LiveAuctionFancyLotCollectionViewLayoutTests/looks_good_compact@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/LiveAuctionFancyLotCollectionViewLayoutTests/looks_good_compact@3x.png rename to ios/ArtsyTests/ReferenceImages/LiveAuctionFancyLotCollectionViewLayoutTests/looks_good_compact@3x.png diff --git a/Artsy_Tests/ReferenceImages/LiveAuctionFancyLotCollectionViewLayoutTests/normal_size__looks_good_by_default@3x.png b/ios/ArtsyTests/ReferenceImages/LiveAuctionFancyLotCollectionViewLayoutTests/normal_size__looks_good_by_default@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/LiveAuctionFancyLotCollectionViewLayoutTests/normal_size__looks_good_by_default@3x.png rename to ios/ArtsyTests/ReferenceImages/LiveAuctionFancyLotCollectionViewLayoutTests/normal_size__looks_good_by_default@3x.png diff --git a/Artsy_Tests/ReferenceImages/LiveAuctionFancyLotCollectionViewLayoutTests/normal_size__looks_good_when_scrolled_back_a_bit@3x.png b/ios/ArtsyTests/ReferenceImages/LiveAuctionFancyLotCollectionViewLayoutTests/normal_size__looks_good_when_scrolled_back_a_bit@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/LiveAuctionFancyLotCollectionViewLayoutTests/normal_size__looks_good_when_scrolled_back_a_bit@3x.png rename to ios/ArtsyTests/ReferenceImages/LiveAuctionFancyLotCollectionViewLayoutTests/normal_size__looks_good_when_scrolled_back_a_bit@3x.png diff --git a/Artsy_Tests/ReferenceImages/LiveAuctionFancyLotCollectionViewLayoutTests/normal_size__looks_good_when_scrolled_back_a_lot@3x.png b/ios/ArtsyTests/ReferenceImages/LiveAuctionFancyLotCollectionViewLayoutTests/normal_size__looks_good_when_scrolled_back_a_lot@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/LiveAuctionFancyLotCollectionViewLayoutTests/normal_size__looks_good_when_scrolled_back_a_lot@3x.png rename to ios/ArtsyTests/ReferenceImages/LiveAuctionFancyLotCollectionViewLayoutTests/normal_size__looks_good_when_scrolled_back_a_lot@3x.png diff --git a/Artsy_Tests/ReferenceImages/LiveAuctionFancyLotCollectionViewLayoutTests/normal_size__looks_good_when_scrolled_forward_a_bit@3x.png b/ios/ArtsyTests/ReferenceImages/LiveAuctionFancyLotCollectionViewLayoutTests/normal_size__looks_good_when_scrolled_forward_a_bit@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/LiveAuctionFancyLotCollectionViewLayoutTests/normal_size__looks_good_when_scrolled_forward_a_bit@3x.png rename to ios/ArtsyTests/ReferenceImages/LiveAuctionFancyLotCollectionViewLayoutTests/normal_size__looks_good_when_scrolled_forward_a_bit@3x.png diff --git a/Artsy_Tests/ReferenceImages/LiveAuctionFancyLotCollectionViewLayoutTests/normal_size__looks_good_when_scrolled_forward_a_lot@3x.png b/ios/ArtsyTests/ReferenceImages/LiveAuctionFancyLotCollectionViewLayoutTests/normal_size__looks_good_when_scrolled_forward_a_lot@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/LiveAuctionFancyLotCollectionViewLayoutTests/normal_size__looks_good_when_scrolled_forward_a_lot@3x.png rename to ios/ArtsyTests/ReferenceImages/LiveAuctionFancyLotCollectionViewLayoutTests/normal_size__looks_good_when_scrolled_forward_a_lot@3x.png diff --git a/Artsy_Tests/ReferenceImages/LiveAuctionLoadingViewSpec/looks_good_by_default@3x.png b/ios/ArtsyTests/ReferenceImages/LiveAuctionLoadingViewSpec/looks_good_by_default@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/LiveAuctionLoadingViewSpec/looks_good_by_default@3x.png rename to ios/ArtsyTests/ReferenceImages/LiveAuctionLoadingViewSpec/looks_good_by_default@3x.png diff --git a/Artsy_Tests/ReferenceImages/LiveAuctionLotListStickyCellCollectionViewLayoutTests/looks_good_by_default@3x.png b/ios/ArtsyTests/ReferenceImages/LiveAuctionLotListStickyCellCollectionViewLayoutTests/looks_good_by_default@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/LiveAuctionLotListStickyCellCollectionViewLayoutTests/looks_good_by_default@3x.png rename to ios/ArtsyTests/ReferenceImages/LiveAuctionLotListStickyCellCollectionViewLayoutTests/looks_good_by_default@3x.png diff --git a/Artsy_Tests/ReferenceImages/LiveAuctionLotListStickyCellCollectionViewLayoutTests/looks_good_when_stuck_to_the_bottom@3x.png b/ios/ArtsyTests/ReferenceImages/LiveAuctionLotListStickyCellCollectionViewLayoutTests/looks_good_when_stuck_to_the_bottom@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/LiveAuctionLotListStickyCellCollectionViewLayoutTests/looks_good_when_stuck_to_the_bottom@3x.png rename to ios/ArtsyTests/ReferenceImages/LiveAuctionLotListStickyCellCollectionViewLayoutTests/looks_good_when_stuck_to_the_bottom@3x.png diff --git a/Artsy_Tests/ReferenceImages/LiveAuctionLotListStickyCellCollectionViewLayoutTests/looks_good_when_stuck_to_the_top@3x.png b/ios/ArtsyTests/ReferenceImages/LiveAuctionLotListStickyCellCollectionViewLayoutTests/looks_good_when_stuck_to_the_top@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/LiveAuctionLotListStickyCellCollectionViewLayoutTests/looks_good_when_stuck_to_the_top@3x.png rename to ios/ArtsyTests/ReferenceImages/LiveAuctionLotListStickyCellCollectionViewLayoutTests/looks_good_when_stuck_to_the_top@3x.png diff --git a/Artsy_Tests/ReferenceImages/LiveAuctionLotListViewControllerTests/looks_good_by_default@3x.png b/ios/ArtsyTests/ReferenceImages/LiveAuctionLotListViewControllerTests/looks_good_by_default@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/LiveAuctionLotListViewControllerTests/looks_good_by_default@3x.png rename to ios/ArtsyTests/ReferenceImages/LiveAuctionLotListViewControllerTests/looks_good_by_default@3x.png diff --git a/Artsy_Tests/ReferenceImages/LiveAuctionLotListViewControllerTests/shows_the_selected_lot@3x.png b/ios/ArtsyTests/ReferenceImages/LiveAuctionLotListViewControllerTests/shows_the_selected_lot@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/LiveAuctionLotListViewControllerTests/shows_the_selected_lot@3x.png rename to ios/ArtsyTests/ReferenceImages/LiveAuctionLotListViewControllerTests/shows_the_selected_lot@3x.png diff --git a/Artsy_Tests/ReferenceImages/LiveAuctionLotSetViewControllerTests/compact_horizontal_size_class__live_auctions_lot_set__looks_good_by_default@3x.png b/ios/ArtsyTests/ReferenceImages/LiveAuctionLotSetViewControllerTests/compact_horizontal_size_class__live_auctions_lot_set__looks_good_by_default@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/LiveAuctionLotSetViewControllerTests/compact_horizontal_size_class__live_auctions_lot_set__looks_good_by_default@3x.png rename to ios/ArtsyTests/ReferenceImages/LiveAuctionLotSetViewControllerTests/compact_horizontal_size_class__live_auctions_lot_set__looks_good_by_default@3x.png diff --git a/Artsy_Tests/ReferenceImages/LiveAuctionLotSetViewControllerTests/really_compact_horizontal_size_class__live_auctions_lot_set__looks_good_by_default@3x.png b/ios/ArtsyTests/ReferenceImages/LiveAuctionLotSetViewControllerTests/really_compact_horizontal_size_class__live_auctions_lot_set__looks_good_by_default@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/LiveAuctionLotSetViewControllerTests/really_compact_horizontal_size_class__live_auctions_lot_set__looks_good_by_default@3x.png rename to ios/ArtsyTests/ReferenceImages/LiveAuctionLotSetViewControllerTests/really_compact_horizontal_size_class__live_auctions_lot_set__looks_good_by_default@3x.png diff --git a/Artsy_Tests/ReferenceImages/LiveAuctionLotSetViewControllerTests/regular_horizontal_size_class___live_auctions_lot_set__looks_good_by_default@3x.png b/ios/ArtsyTests/ReferenceImages/LiveAuctionLotSetViewControllerTests/regular_horizontal_size_class___live_auctions_lot_set__looks_good_by_default@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/LiveAuctionLotSetViewControllerTests/regular_horizontal_size_class___live_auctions_lot_set__looks_good_by_default@3x.png rename to ios/ArtsyTests/ReferenceImages/LiveAuctionLotSetViewControllerTests/regular_horizontal_size_class___live_auctions_lot_set__looks_good_by_default@3x.png diff --git a/Artsy_Tests/ReferenceImages/LiveAuctionLotViewControllerTests/snapshots__doesnt_show_a_live_auction_call_to_action_when_auction_is_closed@3x.png b/ios/ArtsyTests/ReferenceImages/LiveAuctionLotViewControllerTests/snapshots__doesnt_show_a_live_auction_call_to_action_when_auction_is_closed@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/LiveAuctionLotViewControllerTests/snapshots__doesnt_show_a_live_auction_call_to_action_when_auction_is_closed@3x.png rename to ios/ArtsyTests/ReferenceImages/LiveAuctionLotViewControllerTests/snapshots__doesnt_show_a_live_auction_call_to_action_when_auction_is_closed@3x.png diff --git a/Artsy_Tests/ReferenceImages/LiveAuctionLotViewControllerTests/snapshots__handles_updates_to_number_of_bids@3x.png b/ios/ArtsyTests/ReferenceImages/LiveAuctionLotViewControllerTests/snapshots__handles_updates_to_number_of_bids@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/LiveAuctionLotViewControllerTests/snapshots__handles_updates_to_number_of_bids@3x.png rename to ios/ArtsyTests/ReferenceImages/LiveAuctionLotViewControllerTests/snapshots__handles_updates_to_number_of_bids@3x.png diff --git a/Artsy_Tests/ReferenceImages/LiveAuctionLotViewControllerTests/snapshots__looks_good_for_live_lots@3x.png b/ios/ArtsyTests/ReferenceImages/LiveAuctionLotViewControllerTests/snapshots__looks_good_for_live_lots@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/LiveAuctionLotViewControllerTests/snapshots__looks_good_for_live_lots@3x.png rename to ios/ArtsyTests/ReferenceImages/LiveAuctionLotViewControllerTests/snapshots__looks_good_for_live_lots@3x.png diff --git a/Artsy_Tests/ReferenceImages/LiveAuctionLotViewControllerTests/snapshots__looks_good_for_lots_with_a__not_yet_met__reserve@3x.png b/ios/ArtsyTests/ReferenceImages/LiveAuctionLotViewControllerTests/snapshots__looks_good_for_lots_with_a__not_yet_met__reserve@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/LiveAuctionLotViewControllerTests/snapshots__looks_good_for_lots_with_a__not_yet_met__reserve@3x.png rename to ios/ArtsyTests/ReferenceImages/LiveAuctionLotViewControllerTests/snapshots__looks_good_for_lots_with_a__not_yet_met__reserve@3x.png diff --git a/Artsy_Tests/ReferenceImages/LiveAuctionLotViewControllerTests/snapshots__looks_good_for_lots_with_a_met_reserve@3x.png b/ios/ArtsyTests/ReferenceImages/LiveAuctionLotViewControllerTests/snapshots__looks_good_for_lots_with_a_met_reserve@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/LiveAuctionLotViewControllerTests/snapshots__looks_good_for_lots_with_a_met_reserve@3x.png rename to ios/ArtsyTests/ReferenceImages/LiveAuctionLotViewControllerTests/snapshots__looks_good_for_lots_with_a_met_reserve@3x.png diff --git a/Artsy_Tests/ReferenceImages/LiveAuctionLotViewControllerTests/snapshots__looks_good_for_out_of_order_lots@3x.png b/ios/ArtsyTests/ReferenceImages/LiveAuctionLotViewControllerTests/snapshots__looks_good_for_out_of_order_lots@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/LiveAuctionLotViewControllerTests/snapshots__looks_good_for_out_of_order_lots@3x.png rename to ios/ArtsyTests/ReferenceImages/LiveAuctionLotViewControllerTests/snapshots__looks_good_for_out_of_order_lots@3x.png diff --git a/Artsy_Tests/ReferenceImages/LiveAuctionLotViewControllerTests/snapshots__looks_good_for_passed_lots@3x.png b/ios/ArtsyTests/ReferenceImages/LiveAuctionLotViewControllerTests/snapshots__looks_good_for_passed_lots@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/LiveAuctionLotViewControllerTests/snapshots__looks_good_for_passed_lots@3x.png rename to ios/ArtsyTests/ReferenceImages/LiveAuctionLotViewControllerTests/snapshots__looks_good_for_passed_lots@3x.png diff --git a/Artsy_Tests/ReferenceImages/LiveAuctionLotViewControllerTests/snapshots__looks_good_for_sold_lots@3x.png b/ios/ArtsyTests/ReferenceImages/LiveAuctionLotViewControllerTests/snapshots__looks_good_for_sold_lots@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/LiveAuctionLotViewControllerTests/snapshots__looks_good_for_sold_lots@3x.png rename to ios/ArtsyTests/ReferenceImages/LiveAuctionLotViewControllerTests/snapshots__looks_good_for_sold_lots@3x.png diff --git a/Artsy_Tests/ReferenceImages/LiveAuctionLotViewControllerTests/snapshots__looks_good_for_upcoming_lots@3x.png b/ios/ArtsyTests/ReferenceImages/LiveAuctionLotViewControllerTests/snapshots__looks_good_for_upcoming_lots@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/LiveAuctionLotViewControllerTests/snapshots__looks_good_for_upcoming_lots@3x.png rename to ios/ArtsyTests/ReferenceImages/LiveAuctionLotViewControllerTests/snapshots__looks_good_for_upcoming_lots@3x.png diff --git a/Artsy_Tests/ReferenceImages/LiveAuctionLotViewControllerTests/snapshots__looks_good_for_upcoming_lots_that_the_user_is_winning@3x.png b/ios/ArtsyTests/ReferenceImages/LiveAuctionLotViewControllerTests/snapshots__looks_good_for_upcoming_lots_that_the_user_is_winning@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/LiveAuctionLotViewControllerTests/snapshots__looks_good_for_upcoming_lots_that_the_user_is_winning@3x.png rename to ios/ArtsyTests/ReferenceImages/LiveAuctionLotViewControllerTests/snapshots__looks_good_for_upcoming_lots_that_the_user_is_winning@3x.png diff --git a/Artsy_Tests/ReferenceImages/LiveAuctionLotViewControllerTests/snapshots__looks_good_for_won_lots@3x.png b/ios/ArtsyTests/ReferenceImages/LiveAuctionLotViewControllerTests/snapshots__looks_good_for_won_lots@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/LiveAuctionLotViewControllerTests/snapshots__looks_good_for_won_lots@3x.png rename to ios/ArtsyTests/ReferenceImages/LiveAuctionLotViewControllerTests/snapshots__looks_good_for_won_lots@3x.png diff --git a/Artsy_Tests/ReferenceImages/LiveAuctionLotViewControllerTests/snapshots__looks_good_when_its_lot_becomes_the_current_lot@3x.png b/ios/ArtsyTests/ReferenceImages/LiveAuctionLotViewControllerTests/snapshots__looks_good_when_its_lot_becomes_the_current_lot@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/LiveAuctionLotViewControllerTests/snapshots__looks_good_when_its_lot_becomes_the_current_lot@3x.png rename to ios/ArtsyTests/ReferenceImages/LiveAuctionLotViewControllerTests/snapshots__looks_good_when_its_lot_becomes_the_current_lot@3x.png diff --git a/Artsy_Tests/ReferenceImages/LiveAuctionViewControllerTests/handles_splitting_in_an_iPad@3x.png b/ios/ArtsyTests/ReferenceImages/LiveAuctionViewControllerTests/handles_splitting_in_an_iPad@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/LiveAuctionViewControllerTests/handles_splitting_in_an_iPad@3x.png rename to ios/ArtsyTests/ReferenceImages/LiveAuctionViewControllerTests/handles_splitting_in_an_iPad@3x.png diff --git a/Artsy_Tests/ReferenceImages/LiveAuctionViewControllerTests/looks_good_by_default@3x.png b/ios/ArtsyTests/ReferenceImages/LiveAuctionViewControllerTests/looks_good_by_default@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/LiveAuctionViewControllerTests/looks_good_by_default@3x.png rename to ios/ArtsyTests/ReferenceImages/LiveAuctionViewControllerTests/looks_good_by_default@3x.png diff --git a/Artsy_Tests/ReferenceImages/LiveAuctionViewControllerTests/shows_a_removes_disconnected_screen_when_socket_reconnects@3x.png b/ios/ArtsyTests/ReferenceImages/LiveAuctionViewControllerTests/shows_a_removes_disconnected_screen_when_socket_reconnects@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/LiveAuctionViewControllerTests/shows_a_removes_disconnected_screen_when_socket_reconnects@3x.png rename to ios/ArtsyTests/ReferenceImages/LiveAuctionViewControllerTests/shows_a_removes_disconnected_screen_when_socket_reconnects@3x.png diff --git a/Artsy_Tests/ReferenceImages/LiveAuctionViewControllerTests/shows_a_socket_disconnect_screen_when_socket_fails@3x.png b/ios/ArtsyTests/ReferenceImages/LiveAuctionViewControllerTests/shows_a_socket_disconnect_screen_when_socket_fails@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/LiveAuctionViewControllerTests/shows_a_socket_disconnect_screen_when_socket_fails@3x.png rename to ios/ArtsyTests/ReferenceImages/LiveAuctionViewControllerTests/shows_a_socket_disconnect_screen_when_socket_fails@3x.png diff --git a/Artsy_Tests/ReferenceImages/LiveAuctionViewControllerTests/shows_an_error_screen_when_static_data_fails@3x.png b/ios/ArtsyTests/ReferenceImages/LiveAuctionViewControllerTests/shows_an_error_screen_when_static_data_fails@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/LiveAuctionViewControllerTests/shows_an_error_screen_when_static_data_fails@3x.png rename to ios/ArtsyTests/ReferenceImages/LiveAuctionViewControllerTests/shows_an_error_screen_when_static_data_fails@3x.png diff --git a/Artsy_Tests/ReferenceImages/LiveAuctionViewControllerTests/shows_an_operator_disconnect_screen_when_operator_disconnects@3x.png b/ios/ArtsyTests/ReferenceImages/LiveAuctionViewControllerTests/shows_an_operator_disconnect_screen_when_operator_disconnects@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/LiveAuctionViewControllerTests/shows_an_operator_disconnect_screen_when_operator_disconnects@3x.png rename to ios/ArtsyTests/ReferenceImages/LiveAuctionViewControllerTests/shows_an_operator_disconnect_screen_when_operator_disconnects@3x.png diff --git a/Artsy_Tests/ReferenceImages/LiveAuctionViewControllerTests/shows_an_operator_disconnected_screen_when_operator_reconnects@3x.png b/ios/ArtsyTests/ReferenceImages/LiveAuctionViewControllerTests/shows_an_operator_disconnected_screen_when_operator_reconnects@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/LiveAuctionViewControllerTests/shows_an_operator_disconnected_screen_when_operator_reconnects@3x.png rename to ios/ArtsyTests/ReferenceImages/LiveAuctionViewControllerTests/shows_an_operator_disconnected_screen_when_operator_reconnects@3x.png diff --git a/Artsy_Tests/ReferenceImages/LotStandingsViewTests/iPad__looks_good_by_default__looks_good@3x.png b/ios/ArtsyTests/ReferenceImages/LotStandingsViewTests/iPad__looks_good_by_default__looks_good@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/LotStandingsViewTests/iPad__looks_good_by_default__looks_good@3x.png rename to ios/ArtsyTests/ReferenceImages/LotStandingsViewTests/iPad__looks_good_by_default__looks_good@3x.png diff --git a/Artsy_Tests/ReferenceImages/LotStandingsViewTests/iPhone__looks_good_by_default__looks_good@3x.png b/ios/ArtsyTests/ReferenceImages/LotStandingsViewTests/iPhone__looks_good_by_default__looks_good@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/LotStandingsViewTests/iPhone__looks_good_by_default__looks_good@3x.png rename to ios/ArtsyTests/ReferenceImages/LotStandingsViewTests/iPhone__looks_good_by_default__looks_good@3x.png diff --git a/Artsy_Tests/ReferenceImages/RefinementOptionsViewControllerTests/enables_apply_reset_buttons_when_options_are_changed@3x.png b/ios/ArtsyTests/ReferenceImages/RefinementOptionsViewControllerTests/enables_apply_reset_buttons_when_options_are_changed@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/RefinementOptionsViewControllerTests/enables_apply_reset_buttons_when_options_are_changed@3x.png rename to ios/ArtsyTests/ReferenceImages/RefinementOptionsViewControllerTests/enables_apply_reset_buttons_when_options_are_changed@3x.png diff --git a/Artsy_Tests/ReferenceImages/RefinementOptionsViewControllerTests/looks_good_by_default@3x.png b/ios/ArtsyTests/ReferenceImages/RefinementOptionsViewControllerTests/looks_good_by_default@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/RefinementOptionsViewControllerTests/looks_good_by_default@3x.png rename to ios/ArtsyTests/ReferenceImages/RefinementOptionsViewControllerTests/looks_good_by_default@3x.png diff --git a/Artsy_Tests/ReferenceImages/RefinementOptionsViewControllerTests/looks_good_by_when_there_are_no_estimates@3x.png b/ios/ArtsyTests/ReferenceImages/RefinementOptionsViewControllerTests/looks_good_by_when_there_are_no_estimates@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/RefinementOptionsViewControllerTests/looks_good_by_when_there_are_no_estimates@3x.png rename to ios/ArtsyTests/ReferenceImages/RefinementOptionsViewControllerTests/looks_good_by_when_there_are_no_estimates@3x.png diff --git a/Artsy_Tests/ReferenceImages/RefinementOptionsViewControllerTests/looks_good_when_configured_with_options_and_changed_options@3x.png b/ios/ArtsyTests/ReferenceImages/RefinementOptionsViewControllerTests/looks_good_when_configured_with_options_and_changed_options@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/RefinementOptionsViewControllerTests/looks_good_when_configured_with_options_and_changed_options@3x.png rename to ios/ArtsyTests/ReferenceImages/RefinementOptionsViewControllerTests/looks_good_when_configured_with_options_and_changed_options@3x.png diff --git a/Artsy_Tests/ReferenceImages/RefinementOptionsViewControllerTests/looks_good_when_reset@3x.png b/ios/ArtsyTests/ReferenceImages/RefinementOptionsViewControllerTests/looks_good_when_reset@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/RefinementOptionsViewControllerTests/looks_good_when_reset@3x.png rename to ios/ArtsyTests/ReferenceImages/RefinementOptionsViewControllerTests/looks_good_when_reset@3x.png diff --git a/Artsy_Tests/ReferenceImages/RefinementOptionsViewControllerTests/looks_good_with_gene_refine_settings@3x.png b/ios/ArtsyTests/ReferenceImages/RefinementOptionsViewControllerTests/looks_good_with_gene_refine_settings@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/RefinementOptionsViewControllerTests/looks_good_with_gene_refine_settings@3x.png rename to ios/ArtsyTests/ReferenceImages/RefinementOptionsViewControllerTests/looks_good_with_gene_refine_settings@3x.png diff --git a/Artsy_Tests/ReferenceImages/RefinementOptionsViewControllerTests/looks_good_with_gene_refine_settings_showing_price@3x.png b/ios/ArtsyTests/ReferenceImages/RefinementOptionsViewControllerTests/looks_good_with_gene_refine_settings_showing_price@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/RefinementOptionsViewControllerTests/looks_good_with_gene_refine_settings_showing_price@3x.png rename to ios/ArtsyTests/ReferenceImages/RefinementOptionsViewControllerTests/looks_good_with_gene_refine_settings_showing_price@3x.png diff --git a/Artsy_Tests/ReferenceImages/SaleOnHoldOverlayViewTests/initial_message@3x.png b/ios/ArtsyTests/ReferenceImages/SaleOnHoldOverlayViewTests/initial_message@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/SaleOnHoldOverlayViewTests/initial_message@3x.png rename to ios/ArtsyTests/ReferenceImages/SaleOnHoldOverlayViewTests/initial_message@3x.png diff --git a/Artsy_Tests/ReferenceImages/SaleOnHoldOverlayViewTests/looks_right_by_default_on_iPad@3x.png b/ios/ArtsyTests/ReferenceImages/SaleOnHoldOverlayViewTests/looks_right_by_default_on_iPad@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/SaleOnHoldOverlayViewTests/looks_right_by_default_on_iPad@3x.png rename to ios/ArtsyTests/ReferenceImages/SaleOnHoldOverlayViewTests/looks_right_by_default_on_iPad@3x.png diff --git a/Artsy_Tests/ReferenceImages/SaleOnHoldOverlayViewTests/looks_right_by_default_on_iPhone@3x.png b/ios/ArtsyTests/ReferenceImages/SaleOnHoldOverlayViewTests/looks_right_by_default_on_iPhone@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/SaleOnHoldOverlayViewTests/looks_right_by_default_on_iPhone@3x.png rename to ios/ArtsyTests/ReferenceImages/SaleOnHoldOverlayViewTests/looks_right_by_default_on_iPhone@3x.png diff --git a/Artsy_Tests/ReferenceImages/SaleOnHoldOverlayViewTests/looks_right_with_a_custom_message_on_iPad@3x.png b/ios/ArtsyTests/ReferenceImages/SaleOnHoldOverlayViewTests/looks_right_with_a_custom_message_on_iPad@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/SaleOnHoldOverlayViewTests/looks_right_with_a_custom_message_on_iPad@3x.png rename to ios/ArtsyTests/ReferenceImages/SaleOnHoldOverlayViewTests/looks_right_with_a_custom_message_on_iPad@3x.png diff --git a/Artsy_Tests/ReferenceImages/SaleOnHoldOverlayViewTests/looks_right_with_a_custom_message_on_iPhone@3x.png b/ios/ArtsyTests/ReferenceImages/SaleOnHoldOverlayViewTests/looks_right_with_a_custom_message_on_iPhone@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/SaleOnHoldOverlayViewTests/looks_right_with_a_custom_message_on_iPhone@3x.png rename to ios/ArtsyTests/ReferenceImages/SaleOnHoldOverlayViewTests/looks_right_with_a_custom_message_on_iPhone@3x.png diff --git a/Artsy_Tests/ReferenceImages/SaleOnHoldOverlayViewTests/updated_message@3x.png b/ios/ArtsyTests/ReferenceImages/SaleOnHoldOverlayViewTests/updated_message@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/SaleOnHoldOverlayViewTests/updated_message@3x.png rename to ios/ArtsyTests/ReferenceImages/SaleOnHoldOverlayViewTests/updated_message@3x.png diff --git a/Artsy_Tests/ReferenceImages/TextStackTests/looks_like_the_API_spec@3x.png b/ios/ArtsyTests/ReferenceImages/TextStackTests/looks_like_the_API_spec@3x.png similarity index 100% rename from Artsy_Tests/ReferenceImages/TextStackTests/looks_like_the_API_spec@3x.png rename to ios/ArtsyTests/ReferenceImages/TextStackTests/looks_like_the_API_spec@3x.png diff --git a/Artsy_Tests/Stubs/ARUserManager+Stubs.h b/ios/ArtsyTests/Stubs/ARUserManager+Stubs.h similarity index 100% rename from Artsy_Tests/Stubs/ARUserManager+Stubs.h rename to ios/ArtsyTests/Stubs/ARUserManager+Stubs.h diff --git a/Artsy_Tests/Stubs/ARUserManager+Stubs.m b/ios/ArtsyTests/Stubs/ARUserManager+Stubs.m similarity index 100% rename from Artsy_Tests/Stubs/ARUserManager+Stubs.m rename to ios/ArtsyTests/Stubs/ARUserManager+Stubs.m diff --git a/Artsy_Tests/Stubs/ArtsyOHHTTPAPI.h b/ios/ArtsyTests/Stubs/ArtsyOHHTTPAPI.h similarity index 100% rename from Artsy_Tests/Stubs/ArtsyOHHTTPAPI.h rename to ios/ArtsyTests/Stubs/ArtsyOHHTTPAPI.h diff --git a/Artsy_Tests/Stubs/ArtsyOHHTTPAPI.m b/ios/ArtsyTests/Stubs/ArtsyOHHTTPAPI.m similarity index 100% rename from Artsy_Tests/Stubs/ArtsyOHHTTPAPI.m rename to ios/ArtsyTests/Stubs/ArtsyOHHTTPAPI.m diff --git a/Artsy_Tests/Stubs/Artwork+Extensions.h b/ios/ArtsyTests/Stubs/Artwork+Extensions.h similarity index 100% rename from Artsy_Tests/Stubs/Artwork+Extensions.h rename to ios/ArtsyTests/Stubs/Artwork+Extensions.h diff --git a/Artsy_Tests/Stubs/Artwork+Extensions.m b/ios/ArtsyTests/Stubs/Artwork+Extensions.m similarity index 100% rename from Artsy_Tests/Stubs/Artwork+Extensions.m rename to ios/ArtsyTests/Stubs/Artwork+Extensions.m diff --git a/Artsy_Tests/Stubs/Bid+Extensions.h b/ios/ArtsyTests/Stubs/Bid+Extensions.h similarity index 100% rename from Artsy_Tests/Stubs/Bid+Extensions.h rename to ios/ArtsyTests/Stubs/Bid+Extensions.h diff --git a/Artsy_Tests/Stubs/Bid+Extensions.m b/ios/ArtsyTests/Stubs/Bid+Extensions.m similarity index 100% rename from Artsy_Tests/Stubs/Bid+Extensions.m rename to ios/ArtsyTests/Stubs/Bid+Extensions.m diff --git a/Artsy_Tests/Stubs/Extensions.h b/ios/ArtsyTests/Stubs/Extensions.h similarity index 100% rename from Artsy_Tests/Stubs/Extensions.h rename to ios/ArtsyTests/Stubs/Extensions.h diff --git a/Artsy_Tests/Stubs/OHHTTPStubs+Artsy.h b/ios/ArtsyTests/Stubs/OHHTTPStubs+Artsy.h similarity index 100% rename from Artsy_Tests/Stubs/OHHTTPStubs+Artsy.h rename to ios/ArtsyTests/Stubs/OHHTTPStubs+Artsy.h diff --git a/Artsy_Tests/Stubs/OHHTTPStubs+Artsy.m b/ios/ArtsyTests/Stubs/OHHTTPStubs+Artsy.m similarity index 100% rename from Artsy_Tests/Stubs/OHHTTPStubs+Artsy.m rename to ios/ArtsyTests/Stubs/OHHTTPStubs+Artsy.m diff --git a/Artsy_Tests/Stubs/Sale+Extensions.h b/ios/ArtsyTests/Stubs/Sale+Extensions.h similarity index 100% rename from Artsy_Tests/Stubs/Sale+Extensions.h rename to ios/ArtsyTests/Stubs/Sale+Extensions.h diff --git a/Artsy_Tests/Stubs/Sale+Extensions.m b/ios/ArtsyTests/Stubs/Sale+Extensions.m similarity index 100% rename from Artsy_Tests/Stubs/Sale+Extensions.m rename to ios/ArtsyTests/Stubs/Sale+Extensions.m diff --git a/Artsy_Tests/Stubs/SaleArtwork+Extensions.h b/ios/ArtsyTests/Stubs/SaleArtwork+Extensions.h similarity index 100% rename from Artsy_Tests/Stubs/SaleArtwork+Extensions.h rename to ios/ArtsyTests/Stubs/SaleArtwork+Extensions.h diff --git a/Artsy_Tests/Stubs/SaleArtwork+Extensions.m b/ios/ArtsyTests/Stubs/SaleArtwork+Extensions.m similarity index 100% rename from Artsy_Tests/Stubs/SaleArtwork+Extensions.m rename to ios/ArtsyTests/Stubs/SaleArtwork+Extensions.m diff --git a/Artsy_Tests/Stubs/Show+Extensions.h b/ios/ArtsyTests/Stubs/Show+Extensions.h similarity index 100% rename from Artsy_Tests/Stubs/Show+Extensions.h rename to ios/ArtsyTests/Stubs/Show+Extensions.h diff --git a/Artsy_Tests/Stubs/Show+Extensions.m b/ios/ArtsyTests/Stubs/Show+Extensions.m similarity index 100% rename from Artsy_Tests/Stubs/Show+Extensions.m rename to ios/ArtsyTests/Stubs/Show+Extensions.m diff --git a/Artsy_Tests/Supporting_Files/ARTestContext.h b/ios/ArtsyTests/Supporting_Files/ARTestContext.h similarity index 100% rename from Artsy_Tests/Supporting_Files/ARTestContext.h rename to ios/ArtsyTests/Supporting_Files/ARTestContext.h diff --git a/Artsy_Tests/Supporting_Files/ARTestContext.m b/ios/ArtsyTests/Supporting_Files/ARTestContext.m similarity index 100% rename from Artsy_Tests/Supporting_Files/ARTestContext.m rename to ios/ArtsyTests/Supporting_Files/ARTestContext.m diff --git a/Artsy_Tests/Supporting_Files/ARTestHelper.h b/ios/ArtsyTests/Supporting_Files/ARTestHelper.h similarity index 100% rename from Artsy_Tests/Supporting_Files/ARTestHelper.h rename to ios/ArtsyTests/Supporting_Files/ARTestHelper.h diff --git a/Artsy_Tests/Supporting_Files/ARTestHelper.m b/ios/ArtsyTests/Supporting_Files/ARTestHelper.m similarity index 100% rename from Artsy_Tests/Supporting_Files/ARTestHelper.m rename to ios/ArtsyTests/Supporting_Files/ARTestHelper.m diff --git a/Artsy_Tests/Supporting_Files/Artsy-Tests-Bridging-Header.h b/ios/ArtsyTests/Supporting_Files/Artsy-Tests-Bridging-Header.h similarity index 100% rename from Artsy_Tests/Supporting_Files/Artsy-Tests-Bridging-Header.h rename to ios/ArtsyTests/Supporting_Files/Artsy-Tests-Bridging-Header.h diff --git a/Artsy_Tests/Supporting_Files/Artsy_Tests-Info.plist b/ios/ArtsyTests/Supporting_Files/Artsy_Tests-Info.plist similarity index 100% rename from Artsy_Tests/Supporting_Files/Artsy_Tests-Info.plist rename to ios/ArtsyTests/Supporting_Files/Artsy_Tests-Info.plist diff --git a/Artsy_Tests/Supporting_Files/Artsy_Tests-Prefix.pch b/ios/ArtsyTests/Supporting_Files/Artsy_Tests-Prefix.pch similarity index 100% rename from Artsy_Tests/Supporting_Files/Artsy_Tests-Prefix.pch rename to ios/ArtsyTests/Supporting_Files/Artsy_Tests-Prefix.pch diff --git a/Artsy_Tests/Supporting_Files/en.lproj/InfoPlist.strings b/ios/ArtsyTests/Supporting_Files/en.lproj/InfoPlist.strings similarity index 100% rename from Artsy_Tests/Supporting_Files/en.lproj/InfoPlist.strings rename to ios/ArtsyTests/Supporting_Files/en.lproj/InfoPlist.strings diff --git a/Artsy_Tests/Supporting_Files/stub.jpg b/ios/ArtsyTests/Supporting_Files/stub.jpg similarity index 100% rename from Artsy_Tests/Supporting_Files/stub.jpg rename to ios/ArtsyTests/Supporting_Files/stub.jpg diff --git a/Artsy_Tests/Supporting_Files/stubbed_image.png b/ios/ArtsyTests/Supporting_Files/stubbed_image.png similarity index 100% rename from Artsy_Tests/Supporting_Files/stubbed_image.png rename to ios/ArtsyTests/Supporting_Files/stubbed_image.png diff --git a/Artsy_Tests/Util_Tests/ARDefaultsTests.m b/ios/ArtsyTests/Util_Tests/ARDefaultsTests.m similarity index 100% rename from Artsy_Tests/Util_Tests/ARDefaultsTests.m rename to ios/ArtsyTests/Util_Tests/ARDefaultsTests.m diff --git a/Artsy_Tests/Util_Tests/Enumerations/UIApplicationStateEnumTests.m b/ios/ArtsyTests/Util_Tests/Enumerations/UIApplicationStateEnumTests.m similarity index 100% rename from Artsy_Tests/Util_Tests/Enumerations/UIApplicationStateEnumTests.m rename to ios/ArtsyTests/Util_Tests/Enumerations/UIApplicationStateEnumTests.m diff --git a/Artsy_Tests/Util_Tests/NSDate+RangeTests.m b/ios/ArtsyTests/Util_Tests/NSDate+RangeTests.m similarity index 100% rename from Artsy_Tests/Util_Tests/NSDate+RangeTests.m rename to ios/ArtsyTests/Util_Tests/NSDate+RangeTests.m diff --git a/Artsy_Tests/Util_Tests/Sharing_Tests/ARImageItemProviderTests.m b/ios/ArtsyTests/Util_Tests/Sharing_Tests/ARImageItemProviderTests.m similarity index 100% rename from Artsy_Tests/Util_Tests/Sharing_Tests/ARImageItemProviderTests.m rename to ios/ArtsyTests/Util_Tests/Sharing_Tests/ARImageItemProviderTests.m diff --git a/Artsy_Tests/Util_Tests/Sharing_Tests/ARMessageItemProviderTests.m b/ios/ArtsyTests/Util_Tests/Sharing_Tests/ARMessageItemProviderTests.m similarity index 100% rename from Artsy_Tests/Util_Tests/Sharing_Tests/ARMessageItemProviderTests.m rename to ios/ArtsyTests/Util_Tests/Sharing_Tests/ARMessageItemProviderTests.m diff --git a/Artsy_Tests/Util_Tests/Sharing_Tests/ARSharingControllerTests.m b/ios/ArtsyTests/Util_Tests/Sharing_Tests/ARSharingControllerTests.m similarity index 100% rename from Artsy_Tests/Util_Tests/Sharing_Tests/ARSharingControllerTests.m rename to ios/ArtsyTests/Util_Tests/Sharing_Tests/ARSharingControllerTests.m diff --git a/Artsy_Tests/Util_Tests/Sharing_Tests/ARURLItemProviderTests.m b/ios/ArtsyTests/Util_Tests/Sharing_Tests/ARURLItemProviderTests.m similarity index 100% rename from Artsy_Tests/Util_Tests/Sharing_Tests/ARURLItemProviderTests.m rename to ios/ArtsyTests/Util_Tests/Sharing_Tests/ARURLItemProviderTests.m diff --git a/Artsy_Tests/Util_Tests/UINavigationController_InnermostTopViewControllerSpec.m b/ios/ArtsyTests/Util_Tests/UINavigationController_InnermostTopViewControllerSpec.m similarity index 100% rename from Artsy_Tests/Util_Tests/UINavigationController_InnermostTopViewControllerSpec.m rename to ios/ArtsyTests/Util_Tests/UINavigationController_InnermostTopViewControllerSpec.m diff --git a/Artsy_Tests/View_Controller_Tests/ARVIR/ARAugmentRealitySetupViewControllerSpec.m b/ios/ArtsyTests/View_Controller_Tests/ARVIR/ARAugmentRealitySetupViewControllerSpec.m similarity index 100% rename from Artsy_Tests/View_Controller_Tests/ARVIR/ARAugmentRealitySetupViewControllerSpec.m rename to ios/ArtsyTests/View_Controller_Tests/ARVIR/ARAugmentRealitySetupViewControllerSpec.m diff --git a/Artsy_Tests/View_Controller_Tests/ARVIR/ARAugmentedRealityConfigSpec.m b/ios/ArtsyTests/View_Controller_Tests/ARVIR/ARAugmentedRealityConfigSpec.m similarity index 100% rename from Artsy_Tests/View_Controller_Tests/ARVIR/ARAugmentedRealityConfigSpec.m rename to ios/ArtsyTests/View_Controller_Tests/ARVIR/ARAugmentedRealityConfigSpec.m diff --git a/Artsy_Tests/View_Controller_Tests/ARVIR/ARAugmentedVIRViewControllerSpec.m b/ios/ArtsyTests/View_Controller_Tests/ARVIR/ARAugmentedVIRViewControllerSpec.m similarity index 100% rename from Artsy_Tests/View_Controller_Tests/ARVIR/ARAugmentedVIRViewControllerSpec.m rename to ios/ArtsyTests/View_Controller_Tests/ARVIR/ARAugmentedVIRViewControllerSpec.m diff --git a/Artsy_Tests/View_Controller_Tests/ARVIR/greyscaleImage.jpg b/ios/ArtsyTests/View_Controller_Tests/ARVIR/greyscaleImage.jpg similarity index 100% rename from Artsy_Tests/View_Controller_Tests/ARVIR/greyscaleImage.jpg rename to ios/ArtsyTests/View_Controller_Tests/ARVIR/greyscaleImage.jpg diff --git a/Artsy_Tests/View_Controller_Tests/Auction/AuctionBiddersNetworkModel.swift b/ios/ArtsyTests/View_Controller_Tests/Auction/AuctionBiddersNetworkModel.swift similarity index 100% rename from Artsy_Tests/View_Controller_Tests/Auction/AuctionBiddersNetworkModel.swift rename to ios/ArtsyTests/View_Controller_Tests/Auction/AuctionBiddersNetworkModel.swift diff --git a/Artsy_Tests/View_Controller_Tests/Auction/AuctionInformationViewControllerTests.swift b/ios/ArtsyTests/View_Controller_Tests/Auction/AuctionInformationViewControllerTests.swift similarity index 100% rename from Artsy_Tests/View_Controller_Tests/Auction/AuctionInformationViewControllerTests.swift rename to ios/ArtsyTests/View_Controller_Tests/Auction/AuctionInformationViewControllerTests.swift diff --git a/Artsy_Tests/View_Controller_Tests/Auction/AuctionSaleNetworkModelTests.swift b/ios/ArtsyTests/View_Controller_Tests/Auction/AuctionSaleNetworkModelTests.swift similarity index 100% rename from Artsy_Tests/View_Controller_Tests/Auction/AuctionSaleNetworkModelTests.swift rename to ios/ArtsyTests/View_Controller_Tests/Auction/AuctionSaleNetworkModelTests.swift diff --git a/Artsy_Tests/View_Controller_Tests/Auction/SaleArtworkViewModelTests.swift b/ios/ArtsyTests/View_Controller_Tests/Auction/SaleArtworkViewModelTests.swift similarity index 100% rename from Artsy_Tests/View_Controller_Tests/Auction/SaleArtworkViewModelTests.swift rename to ios/ArtsyTests/View_Controller_Tests/Auction/SaleArtworkViewModelTests.swift diff --git a/Artsy_Tests/View_Controller_Tests/Auction/SaleViewModelTests.swift b/ios/ArtsyTests/View_Controller_Tests/Auction/SaleViewModelTests.swift similarity index 100% rename from Artsy_Tests/View_Controller_Tests/Auction/SaleViewModelTests.swift rename to ios/ArtsyTests/View_Controller_Tests/Auction/SaleViewModelTests.swift diff --git a/Artsy_Tests/View_Controller_Tests/Auction/Views/AuctionLotMetadataStackScrollViewTests.swift b/ios/ArtsyTests/View_Controller_Tests/Auction/Views/AuctionLotMetadataStackScrollViewTests.swift similarity index 100% rename from Artsy_Tests/View_Controller_Tests/Auction/Views/AuctionLotMetadataStackScrollViewTests.swift rename to ios/ArtsyTests/View_Controller_Tests/Auction/Views/AuctionLotMetadataStackScrollViewTests.swift diff --git a/Artsy_Tests/View_Controller_Tests/Auction/Views/TextStackTests.swift b/ios/ArtsyTests/View_Controller_Tests/Auction/Views/TextStackTests.swift similarity index 100% rename from Artsy_Tests/View_Controller_Tests/Auction/Views/TextStackTests.swift rename to ios/ArtsyTests/View_Controller_Tests/Auction/Views/TextStackTests.swift diff --git a/Artsy_Tests/View_Controller_Tests/Components/ARSerifNavigationViewControllerSpec.m b/ios/ArtsyTests/View_Controller_Tests/Components/ARSerifNavigationViewControllerSpec.m similarity index 100% rename from Artsy_Tests/View_Controller_Tests/Components/ARSerifNavigationViewControllerSpec.m rename to ios/ArtsyTests/View_Controller_Tests/Components/ARSerifNavigationViewControllerSpec.m diff --git a/Artsy_Tests/View_Controller_Tests/Embedded/ARNavigationButtonsViewControllerTests.m b/ios/ArtsyTests/View_Controller_Tests/Embedded/ARNavigationButtonsViewControllerTests.m similarity index 100% rename from Artsy_Tests/View_Controller_Tests/Embedded/ARNavigationButtonsViewControllerTests.m rename to ios/ArtsyTests/View_Controller_Tests/Embedded/ARNavigationButtonsViewControllerTests.m diff --git a/Artsy_Tests/View_Controller_Tests/LiveAuctionCurrentLotCTAPositionManagerTests.swift b/ios/ArtsyTests/View_Controller_Tests/LiveAuctionCurrentLotCTAPositionManagerTests.swift similarity index 100% rename from Artsy_Tests/View_Controller_Tests/LiveAuctionCurrentLotCTAPositionManagerTests.swift rename to ios/ArtsyTests/View_Controller_Tests/LiveAuctionCurrentLotCTAPositionManagerTests.swift diff --git a/Artsy_Tests/View_Controller_Tests/Live_Auction/BiddingIncrementSpecs.swift b/ios/ArtsyTests/View_Controller_Tests/Live_Auction/BiddingIncrementSpecs.swift similarity index 100% rename from Artsy_Tests/View_Controller_Tests/Live_Auction/BiddingIncrementSpecs.swift rename to ios/ArtsyTests/View_Controller_Tests/Live_Auction/BiddingIncrementSpecs.swift diff --git a/Artsy_Tests/View_Controller_Tests/Live_Auction/FakeSalesPerson.swift b/ios/ArtsyTests/View_Controller_Tests/Live_Auction/FakeSalesPerson.swift similarity index 100% rename from Artsy_Tests/View_Controller_Tests/Live_Auction/FakeSalesPerson.swift rename to ios/ArtsyTests/View_Controller_Tests/Live_Auction/FakeSalesPerson.swift diff --git a/Artsy_Tests/View_Controller_Tests/Live_Auction/LiveAuctionBidButtonTests.swift b/ios/ArtsyTests/View_Controller_Tests/Live_Auction/LiveAuctionBidButtonTests.swift similarity index 100% rename from Artsy_Tests/View_Controller_Tests/Live_Auction/LiveAuctionBidButtonTests.swift rename to ios/ArtsyTests/View_Controller_Tests/Live_Auction/LiveAuctionBidButtonTests.swift diff --git a/Artsy_Tests/View_Controller_Tests/Live_Auction/LiveAuctionBidViewControllerTests.swift b/ios/ArtsyTests/View_Controller_Tests/Live_Auction/LiveAuctionBidViewControllerTests.swift similarity index 100% rename from Artsy_Tests/View_Controller_Tests/Live_Auction/LiveAuctionBidViewControllerTests.swift rename to ios/ArtsyTests/View_Controller_Tests/Live_Auction/LiveAuctionBidViewControllerTests.swift diff --git a/Artsy_Tests/View_Controller_Tests/Live_Auction/LiveAuctionBiddingViewModelTests.swift b/ios/ArtsyTests/View_Controller_Tests/Live_Auction/LiveAuctionBiddingViewModelTests.swift similarity index 100% rename from Artsy_Tests/View_Controller_Tests/Live_Auction/LiveAuctionBiddingViewModelTests.swift rename to ios/ArtsyTests/View_Controller_Tests/Live_Auction/LiveAuctionBiddingViewModelTests.swift diff --git a/Artsy_Tests/View_Controller_Tests/Live_Auction/LiveAuctionFancyLotCollectionViewLayoutTests.swift b/ios/ArtsyTests/View_Controller_Tests/Live_Auction/LiveAuctionFancyLotCollectionViewLayoutTests.swift similarity index 100% rename from Artsy_Tests/View_Controller_Tests/Live_Auction/LiveAuctionFancyLotCollectionViewLayoutTests.swift rename to ios/ArtsyTests/View_Controller_Tests/Live_Auction/LiveAuctionFancyLotCollectionViewLayoutTests.swift diff --git a/Artsy_Tests/View_Controller_Tests/Live_Auction/LiveAuctionLoadingViewSpec.swift b/ios/ArtsyTests/View_Controller_Tests/Live_Auction/LiveAuctionLoadingViewSpec.swift similarity index 100% rename from Artsy_Tests/View_Controller_Tests/Live_Auction/LiveAuctionLoadingViewSpec.swift rename to ios/ArtsyTests/View_Controller_Tests/Live_Auction/LiveAuctionLoadingViewSpec.swift diff --git a/Artsy_Tests/View_Controller_Tests/Live_Auction/LiveAuctionLotBidHistoryGestureControllerTests.swift b/ios/ArtsyTests/View_Controller_Tests/Live_Auction/LiveAuctionLotBidHistoryGestureControllerTests.swift similarity index 100% rename from Artsy_Tests/View_Controller_Tests/Live_Auction/LiveAuctionLotBidHistoryGestureControllerTests.swift rename to ios/ArtsyTests/View_Controller_Tests/Live_Auction/LiveAuctionLotBidHistoryGestureControllerTests.swift diff --git a/Artsy_Tests/View_Controller_Tests/Live_Auction/LiveAuctionLotListStickyCellCollectionViewLayoutTests.swift b/ios/ArtsyTests/View_Controller_Tests/Live_Auction/LiveAuctionLotListStickyCellCollectionViewLayoutTests.swift similarity index 100% rename from Artsy_Tests/View_Controller_Tests/Live_Auction/LiveAuctionLotListStickyCellCollectionViewLayoutTests.swift rename to ios/ArtsyTests/View_Controller_Tests/Live_Auction/LiveAuctionLotListStickyCellCollectionViewLayoutTests.swift diff --git a/Artsy_Tests/View_Controller_Tests/Live_Auction/LiveAuctionLotListViewControllerTests.swift b/ios/ArtsyTests/View_Controller_Tests/Live_Auction/LiveAuctionLotListViewControllerTests.swift similarity index 100% rename from Artsy_Tests/View_Controller_Tests/Live_Auction/LiveAuctionLotListViewControllerTests.swift rename to ios/ArtsyTests/View_Controller_Tests/Live_Auction/LiveAuctionLotListViewControllerTests.swift diff --git a/Artsy_Tests/View_Controller_Tests/Live_Auction/LiveAuctionLotSetViewControllerTests.swift b/ios/ArtsyTests/View_Controller_Tests/Live_Auction/LiveAuctionLotSetViewControllerTests.swift similarity index 100% rename from Artsy_Tests/View_Controller_Tests/Live_Auction/LiveAuctionLotSetViewControllerTests.swift rename to ios/ArtsyTests/View_Controller_Tests/Live_Auction/LiveAuctionLotSetViewControllerTests.swift diff --git a/Artsy_Tests/View_Controller_Tests/Live_Auction/LiveAuctionLotViewControllerTests.swift b/ios/ArtsyTests/View_Controller_Tests/Live_Auction/LiveAuctionLotViewControllerTests.swift similarity index 100% rename from Artsy_Tests/View_Controller_Tests/Live_Auction/LiveAuctionLotViewControllerTests.swift rename to ios/ArtsyTests/View_Controller_Tests/Live_Auction/LiveAuctionLotViewControllerTests.swift diff --git a/Artsy_Tests/View_Controller_Tests/Live_Auction/LiveAuctionViewControllerTests.swift b/ios/ArtsyTests/View_Controller_Tests/Live_Auction/LiveAuctionViewControllerTests.swift similarity index 100% rename from Artsy_Tests/View_Controller_Tests/Live_Auction/LiveAuctionViewControllerTests.swift rename to ios/ArtsyTests/View_Controller_Tests/Live_Auction/LiveAuctionViewControllerTests.swift diff --git a/Artsy_Tests/View_Controller_Tests/Live_Auction/LiveSalesPersonSpecs.swift b/ios/ArtsyTests/View_Controller_Tests/Live_Auction/LiveSalesPersonSpecs.swift similarity index 100% rename from Artsy_Tests/View_Controller_Tests/Live_Auction/LiveSalesPersonSpecs.swift rename to ios/ArtsyTests/View_Controller_Tests/Live_Auction/LiveSalesPersonSpecs.swift diff --git a/Artsy_Tests/View_Controller_Tests/SaleOnHoldOverlayViewTests.swift b/ios/ArtsyTests/View_Controller_Tests/SaleOnHoldOverlayViewTests.swift similarity index 100% rename from Artsy_Tests/View_Controller_Tests/SaleOnHoldOverlayViewTests.swift rename to ios/ArtsyTests/View_Controller_Tests/SaleOnHoldOverlayViewTests.swift diff --git a/Artsy_Tests/View_Controller_Tests/Util/ARFileUtilsTests.m b/ios/ArtsyTests/View_Controller_Tests/Util/ARFileUtilsTests.m similarity index 100% rename from Artsy_Tests/View_Controller_Tests/Util/ARFileUtilsTests.m rename to ios/ArtsyTests/View_Controller_Tests/Util/ARFileUtilsTests.m diff --git a/Artsy_Tests/View_Controller_Tests/Util/ARNavigationControllerTests.m b/ios/ArtsyTests/View_Controller_Tests/Util/ARNavigationControllerTests.m similarity index 100% rename from Artsy_Tests/View_Controller_Tests/Util/ARNavigationControllerTests.m rename to ios/ArtsyTests/View_Controller_Tests/Util/ARNavigationControllerTests.m diff --git a/Artsy_Tests/View_Controller_Tests/Util/ARValueTransformerTests.m b/ios/ArtsyTests/View_Controller_Tests/Util/ARValueTransformerTests.m similarity index 100% rename from Artsy_Tests/View_Controller_Tests/Util/ARValueTransformerTests.m rename to ios/ArtsyTests/View_Controller_Tests/Util/ARValueTransformerTests.m diff --git a/Artsy_Tests/View_Controller_Tests/Web_Browsing/ARAuctionWebViewControllerTests.m b/ios/ArtsyTests/View_Controller_Tests/Web_Browsing/ARAuctionWebViewControllerTests.m similarity index 100% rename from Artsy_Tests/View_Controller_Tests/Web_Browsing/ARAuctionWebViewControllerTests.m rename to ios/ArtsyTests/View_Controller_Tests/Web_Browsing/ARAuctionWebViewControllerTests.m diff --git a/Artsy_Tests/View_Controller_Tests/Web_Browsing/ARExternalWebBrowserViewControllerTests.m b/ios/ArtsyTests/View_Controller_Tests/Web_Browsing/ARExternalWebBrowserViewControllerTests.m similarity index 100% rename from Artsy_Tests/View_Controller_Tests/Web_Browsing/ARExternalWebBrowserViewControllerTests.m rename to ios/ArtsyTests/View_Controller_Tests/Web_Browsing/ARExternalWebBrowserViewControllerTests.m diff --git a/Artsy_Tests/View_Controller_Tests/Web_Browsing/ARInternalMobileWebViewControllerTests.m b/ios/ArtsyTests/View_Controller_Tests/Web_Browsing/ARInternalMobileWebViewControllerTests.m similarity index 100% rename from Artsy_Tests/View_Controller_Tests/Web_Browsing/ARInternalMobileWebViewControllerTests.m rename to ios/ArtsyTests/View_Controller_Tests/Web_Browsing/ARInternalMobileWebViewControllerTests.m diff --git a/Artsy_Tests/View_Controller_Tests/Web_Browsing/ARInternalShareValidatorTests.m b/ios/ArtsyTests/View_Controller_Tests/Web_Browsing/ARInternalShareValidatorTests.m similarity index 100% rename from Artsy_Tests/View_Controller_Tests/Web_Browsing/ARInternalShareValidatorTests.m rename to ios/ArtsyTests/View_Controller_Tests/Web_Browsing/ARInternalShareValidatorTests.m diff --git a/Artsy_Tests/View_Tests/ARAnimatedTickViewTest.m b/ios/ArtsyTests/View_Tests/ARAnimatedTickViewTest.m similarity index 100% rename from Artsy_Tests/View_Tests/ARAnimatedTickViewTest.m rename to ios/ArtsyTests/View_Tests/ARAnimatedTickViewTest.m diff --git a/Artsy_Tests/View_Tests/ARCustomEigenLabelTests.m b/ios/ArtsyTests/View_Tests/ARCustomEigenLabelTests.m similarity index 100% rename from Artsy_Tests/View_Tests/ARCustomEigenLabelTests.m rename to ios/ArtsyTests/View_Tests/ARCustomEigenLabelTests.m diff --git a/Artsy_Tests/View_Tests/ARTextViewTests.m b/ios/ArtsyTests/View_Tests/ARTextViewTests.m similarity index 100% rename from Artsy_Tests/View_Tests/ARTextViewTests.m rename to ios/ArtsyTests/View_Tests/ARTextViewTests.m diff --git a/Artsy_Tests/View_Tests/Buttons/ARBidButtonTests.m b/ios/ArtsyTests/View_Tests/Buttons/ARBidButtonTests.m similarity index 100% rename from Artsy_Tests/View_Tests/Buttons/ARBidButtonTests.m rename to ios/ArtsyTests/View_Tests/Buttons/ARBidButtonTests.m diff --git a/Artsy_Tests/View_Tests/Buttons/ARNavigationButtonTests.m b/ios/ArtsyTests/View_Tests/Buttons/ARNavigationButtonTests.m similarity index 100% rename from Artsy_Tests/View_Tests/Buttons/ARNavigationButtonTests.m rename to ios/ArtsyTests/View_Tests/Buttons/ARNavigationButtonTests.m diff --git a/Artsy_Tests/View_Tests/Buttons/NavigationButtonTests.swift b/ios/ArtsyTests/View_Tests/Buttons/NavigationButtonTests.swift similarity index 100% rename from Artsy_Tests/View_Tests/Buttons/NavigationButtonTests.swift rename to ios/ArtsyTests/View_Tests/Buttons/NavigationButtonTests.swift diff --git a/Artsy_Tests/View_Tests/ORStackViewArtsyCategoriesTests.m b/ios/ArtsyTests/View_Tests/ORStackViewArtsyCategoriesTests.m similarity index 100% rename from Artsy_Tests/View_Tests/ORStackViewArtsyCategoriesTests.m rename to ios/ArtsyTests/View_Tests/ORStackViewArtsyCategoriesTests.m diff --git a/ArtsyWidget/ArtsyWidgets.swift b/ios/ArtsyWidget/ArtsyWidgets.swift similarity index 100% rename from ArtsyWidget/ArtsyWidgets.swift rename to ios/ArtsyWidget/ArtsyWidgets.swift diff --git a/ios/ArtsyWidget/Assets.xcassets/AccentColor.colorset/Contents.json b/ios/ArtsyWidget/Assets.xcassets/AccentColor.colorset/Contents.json new file mode 100644 index 00000000000..0afb3cf0eec --- /dev/null +++ b/ios/ArtsyWidget/Assets.xcassets/AccentColor.colorset/Contents.json @@ -0,0 +1,11 @@ +{ + "colors": [ + { + "idiom": "universal" + } + ], + "info": { + "author": "xcode", + "version": 1 + } +} diff --git a/ios/ArtsyWidget/Assets.xcassets/AppIcon.appiconset/Contents.json b/ios/ArtsyWidget/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 00000000000..faeb2bbbb0f --- /dev/null +++ b/ios/ArtsyWidget/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,98 @@ +{ + "images": [ + { + "idiom": "iphone", + "scale": "2x", + "size": "20x20" + }, + { + "idiom": "iphone", + "scale": "3x", + "size": "20x20" + }, + { + "idiom": "iphone", + "scale": "2x", + "size": "29x29" + }, + { + "idiom": "iphone", + "scale": "3x", + "size": "29x29" + }, + { + "idiom": "iphone", + "scale": "2x", + "size": "40x40" + }, + { + "idiom": "iphone", + "scale": "3x", + "size": "40x40" + }, + { + "idiom": "iphone", + "scale": "2x", + "size": "60x60" + }, + { + "idiom": "iphone", + "scale": "3x", + "size": "60x60" + }, + { + "idiom": "ipad", + "scale": "1x", + "size": "20x20" + }, + { + "idiom": "ipad", + "scale": "2x", + "size": "20x20" + }, + { + "idiom": "ipad", + "scale": "1x", + "size": "29x29" + }, + { + "idiom": "ipad", + "scale": "2x", + "size": "29x29" + }, + { + "idiom": "ipad", + "scale": "1x", + "size": "40x40" + }, + { + "idiom": "ipad", + "scale": "2x", + "size": "40x40" + }, + { + "idiom": "ipad", + "scale": "1x", + "size": "76x76" + }, + { + "idiom": "ipad", + "scale": "2x", + "size": "76x76" + }, + { + "idiom": "ipad", + "scale": "2x", + "size": "83.5x83.5" + }, + { + "idiom": "ios-marketing", + "scale": "1x", + "size": "1024x1024" + } + ], + "info": { + "author": "xcode", + "version": 1 + } +} diff --git a/ios/ArtsyWidget/Assets.xcassets/BlackArtsyLogo.imageset/Contents.json b/ios/ArtsyWidget/Assets.xcassets/BlackArtsyLogo.imageset/Contents.json new file mode 100644 index 00000000000..aa9c40c0ce2 --- /dev/null +++ b/ios/ArtsyWidget/Assets.xcassets/BlackArtsyLogo.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images": [ + { + "filename": "android-chrome-512x512.png", + "idiom": "universal", + "scale": "1x" + }, + { + "filename": "android-chrome-512x512-1.png", + "idiom": "universal", + "scale": "2x" + }, + { + "filename": "android-chrome-512x512-2.png", + "idiom": "universal", + "scale": "3x" + } + ], + "info": { + "author": "xcode", + "version": 1 + } +} diff --git a/ArtsyWidget/Assets.xcassets/BlackArtsyLogo.imageset/android-chrome-512x512-1.png b/ios/ArtsyWidget/Assets.xcassets/BlackArtsyLogo.imageset/android-chrome-512x512-1.png similarity index 100% rename from ArtsyWidget/Assets.xcassets/BlackArtsyLogo.imageset/android-chrome-512x512-1.png rename to ios/ArtsyWidget/Assets.xcassets/BlackArtsyLogo.imageset/android-chrome-512x512-1.png diff --git a/ArtsyWidget/Assets.xcassets/BlackArtsyLogo.imageset/android-chrome-512x512-2.png b/ios/ArtsyWidget/Assets.xcassets/BlackArtsyLogo.imageset/android-chrome-512x512-2.png similarity index 100% rename from ArtsyWidget/Assets.xcassets/BlackArtsyLogo.imageset/android-chrome-512x512-2.png rename to ios/ArtsyWidget/Assets.xcassets/BlackArtsyLogo.imageset/android-chrome-512x512-2.png diff --git a/ArtsyWidget/Assets.xcassets/BlackArtsyLogo.imageset/android-chrome-512x512.png b/ios/ArtsyWidget/Assets.xcassets/BlackArtsyLogo.imageset/android-chrome-512x512.png similarity index 100% rename from ArtsyWidget/Assets.xcassets/BlackArtsyLogo.imageset/android-chrome-512x512.png rename to ios/ArtsyWidget/Assets.xcassets/BlackArtsyLogo.imageset/android-chrome-512x512.png diff --git a/ios/ArtsyWidget/Assets.xcassets/Contents.json b/ios/ArtsyWidget/Assets.xcassets/Contents.json new file mode 100644 index 00000000000..74d6a722cf3 --- /dev/null +++ b/ios/ArtsyWidget/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info": { + "author": "xcode", + "version": 1 + } +} diff --git a/ArtsyWidget/Assets.xcassets/PrimaryArticleImage.imageset/Contents.json b/ios/ArtsyWidget/Assets.xcassets/PrimaryArticleImage.imageset/Contents.json similarity index 100% rename from ArtsyWidget/Assets.xcassets/PrimaryArticleImage.imageset/Contents.json rename to ios/ArtsyWidget/Assets.xcassets/PrimaryArticleImage.imageset/Contents.json diff --git a/ArtsyWidget/Assets.xcassets/PrimaryArticleImage.imageset/larger-1.jpg b/ios/ArtsyWidget/Assets.xcassets/PrimaryArticleImage.imageset/larger-1.jpg similarity index 100% rename from ArtsyWidget/Assets.xcassets/PrimaryArticleImage.imageset/larger-1.jpg rename to ios/ArtsyWidget/Assets.xcassets/PrimaryArticleImage.imageset/larger-1.jpg diff --git a/ArtsyWidget/Assets.xcassets/PrimaryArticleImage.imageset/larger-2.jpg b/ios/ArtsyWidget/Assets.xcassets/PrimaryArticleImage.imageset/larger-2.jpg similarity index 100% rename from ArtsyWidget/Assets.xcassets/PrimaryArticleImage.imageset/larger-2.jpg rename to ios/ArtsyWidget/Assets.xcassets/PrimaryArticleImage.imageset/larger-2.jpg diff --git a/ArtsyWidget/Assets.xcassets/PrimaryArticleImage.imageset/larger-3.jpg b/ios/ArtsyWidget/Assets.xcassets/PrimaryArticleImage.imageset/larger-3.jpg similarity index 100% rename from ArtsyWidget/Assets.xcassets/PrimaryArticleImage.imageset/larger-3.jpg rename to ios/ArtsyWidget/Assets.xcassets/PrimaryArticleImage.imageset/larger-3.jpg diff --git a/ios/ArtsyWidget/Assets.xcassets/PrimaryArtworkImage.imageset/Contents.json b/ios/ArtsyWidget/Assets.xcassets/PrimaryArtworkImage.imageset/Contents.json new file mode 100644 index 00000000000..c96823b6033 --- /dev/null +++ b/ios/ArtsyWidget/Assets.xcassets/PrimaryArtworkImage.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images": [ + { + "filename": "larger.jpg", + "idiom": "universal", + "scale": "1x" + }, + { + "filename": "larger-1.jpg", + "idiom": "universal", + "scale": "2x" + }, + { + "filename": "larger-2.jpg", + "idiom": "universal", + "scale": "3x" + } + ], + "info": { + "author": "xcode", + "version": 1 + } +} diff --git a/ArtsyWidget/Assets.xcassets/PrimaryArtworkImage.imageset/larger-1.jpg b/ios/ArtsyWidget/Assets.xcassets/PrimaryArtworkImage.imageset/larger-1.jpg similarity index 100% rename from ArtsyWidget/Assets.xcassets/PrimaryArtworkImage.imageset/larger-1.jpg rename to ios/ArtsyWidget/Assets.xcassets/PrimaryArtworkImage.imageset/larger-1.jpg diff --git a/ArtsyWidget/Assets.xcassets/PrimaryArtworkImage.imageset/larger-2.jpg b/ios/ArtsyWidget/Assets.xcassets/PrimaryArtworkImage.imageset/larger-2.jpg similarity index 100% rename from ArtsyWidget/Assets.xcassets/PrimaryArtworkImage.imageset/larger-2.jpg rename to ios/ArtsyWidget/Assets.xcassets/PrimaryArtworkImage.imageset/larger-2.jpg diff --git a/ArtsyWidget/Assets.xcassets/PrimaryArtworkImage.imageset/larger.jpg b/ios/ArtsyWidget/Assets.xcassets/PrimaryArtworkImage.imageset/larger.jpg similarity index 100% rename from ArtsyWidget/Assets.xcassets/PrimaryArtworkImage.imageset/larger.jpg rename to ios/ArtsyWidget/Assets.xcassets/PrimaryArtworkImage.imageset/larger.jpg diff --git a/ArtsyWidget/Assets.xcassets/QuaternaryArticleImage.imageset/Contents.json b/ios/ArtsyWidget/Assets.xcassets/QuaternaryArticleImage.imageset/Contents.json similarity index 100% rename from ArtsyWidget/Assets.xcassets/QuaternaryArticleImage.imageset/Contents.json rename to ios/ArtsyWidget/Assets.xcassets/QuaternaryArticleImage.imageset/Contents.json diff --git a/ArtsyWidget/Assets.xcassets/QuaternaryArticleImage.imageset/larger-3.jpg b/ios/ArtsyWidget/Assets.xcassets/QuaternaryArticleImage.imageset/larger-3.jpg similarity index 100% rename from ArtsyWidget/Assets.xcassets/QuaternaryArticleImage.imageset/larger-3.jpg rename to ios/ArtsyWidget/Assets.xcassets/QuaternaryArticleImage.imageset/larger-3.jpg diff --git a/ArtsyWidget/Assets.xcassets/QuaternaryArticleImage.imageset/larger-4.jpg b/ios/ArtsyWidget/Assets.xcassets/QuaternaryArticleImage.imageset/larger-4.jpg similarity index 100% rename from ArtsyWidget/Assets.xcassets/QuaternaryArticleImage.imageset/larger-4.jpg rename to ios/ArtsyWidget/Assets.xcassets/QuaternaryArticleImage.imageset/larger-4.jpg diff --git a/ArtsyWidget/Assets.xcassets/QuaternaryArticleImage.imageset/larger-5.jpg b/ios/ArtsyWidget/Assets.xcassets/QuaternaryArticleImage.imageset/larger-5.jpg similarity index 100% rename from ArtsyWidget/Assets.xcassets/QuaternaryArticleImage.imageset/larger-5.jpg rename to ios/ArtsyWidget/Assets.xcassets/QuaternaryArticleImage.imageset/larger-5.jpg diff --git a/ios/ArtsyWidget/Assets.xcassets/QuaternaryArtworkImage.imageset/Contents.json b/ios/ArtsyWidget/Assets.xcassets/QuaternaryArtworkImage.imageset/Contents.json new file mode 100644 index 00000000000..2e27635074d --- /dev/null +++ b/ios/ArtsyWidget/Assets.xcassets/QuaternaryArtworkImage.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images": [ + { + "filename": "larger-3.jpg", + "idiom": "universal", + "scale": "1x" + }, + { + "filename": "larger-4.jpg", + "idiom": "universal", + "scale": "2x" + }, + { + "filename": "larger-5.jpg", + "idiom": "universal", + "scale": "3x" + } + ], + "info": { + "author": "xcode", + "version": 1 + } +} diff --git a/ArtsyWidget/Assets.xcassets/QuaternaryArtworkImage.imageset/larger-3.jpg b/ios/ArtsyWidget/Assets.xcassets/QuaternaryArtworkImage.imageset/larger-3.jpg similarity index 100% rename from ArtsyWidget/Assets.xcassets/QuaternaryArtworkImage.imageset/larger-3.jpg rename to ios/ArtsyWidget/Assets.xcassets/QuaternaryArtworkImage.imageset/larger-3.jpg diff --git a/ArtsyWidget/Assets.xcassets/QuaternaryArtworkImage.imageset/larger-4.jpg b/ios/ArtsyWidget/Assets.xcassets/QuaternaryArtworkImage.imageset/larger-4.jpg similarity index 100% rename from ArtsyWidget/Assets.xcassets/QuaternaryArtworkImage.imageset/larger-4.jpg rename to ios/ArtsyWidget/Assets.xcassets/QuaternaryArtworkImage.imageset/larger-4.jpg diff --git a/ArtsyWidget/Assets.xcassets/QuaternaryArtworkImage.imageset/larger-5.jpg b/ios/ArtsyWidget/Assets.xcassets/QuaternaryArtworkImage.imageset/larger-5.jpg similarity index 100% rename from ArtsyWidget/Assets.xcassets/QuaternaryArtworkImage.imageset/larger-5.jpg rename to ios/ArtsyWidget/Assets.xcassets/QuaternaryArtworkImage.imageset/larger-5.jpg diff --git a/ArtsyWidget/Assets.xcassets/SecondaryArticleImage.imageset/Contents.json b/ios/ArtsyWidget/Assets.xcassets/SecondaryArticleImage.imageset/Contents.json similarity index 100% rename from ArtsyWidget/Assets.xcassets/SecondaryArticleImage.imageset/Contents.json rename to ios/ArtsyWidget/Assets.xcassets/SecondaryArticleImage.imageset/Contents.json diff --git a/ArtsyWidget/Assets.xcassets/SecondaryArticleImage.imageset/LlvT0YMuMETC0VYbgsJR4g_New+Collector+copy-1.jpg b/ios/ArtsyWidget/Assets.xcassets/SecondaryArticleImage.imageset/LlvT0YMuMETC0VYbgsJR4g_New+Collector+copy-1.jpg similarity index 100% rename from ArtsyWidget/Assets.xcassets/SecondaryArticleImage.imageset/LlvT0YMuMETC0VYbgsJR4g_New+Collector+copy-1.jpg rename to ios/ArtsyWidget/Assets.xcassets/SecondaryArticleImage.imageset/LlvT0YMuMETC0VYbgsJR4g_New+Collector+copy-1.jpg diff --git a/ArtsyWidget/Assets.xcassets/SecondaryArticleImage.imageset/LlvT0YMuMETC0VYbgsJR4g_New+Collector+copy-2.jpg b/ios/ArtsyWidget/Assets.xcassets/SecondaryArticleImage.imageset/LlvT0YMuMETC0VYbgsJR4g_New+Collector+copy-2.jpg similarity index 100% rename from ArtsyWidget/Assets.xcassets/SecondaryArticleImage.imageset/LlvT0YMuMETC0VYbgsJR4g_New+Collector+copy-2.jpg rename to ios/ArtsyWidget/Assets.xcassets/SecondaryArticleImage.imageset/LlvT0YMuMETC0VYbgsJR4g_New+Collector+copy-2.jpg diff --git a/ArtsyWidget/Assets.xcassets/SecondaryArticleImage.imageset/LlvT0YMuMETC0VYbgsJR4g_New+Collector+copy.jpg b/ios/ArtsyWidget/Assets.xcassets/SecondaryArticleImage.imageset/LlvT0YMuMETC0VYbgsJR4g_New+Collector+copy.jpg similarity index 100% rename from ArtsyWidget/Assets.xcassets/SecondaryArticleImage.imageset/LlvT0YMuMETC0VYbgsJR4g_New+Collector+copy.jpg rename to ios/ArtsyWidget/Assets.xcassets/SecondaryArticleImage.imageset/LlvT0YMuMETC0VYbgsJR4g_New+Collector+copy.jpg diff --git a/ios/ArtsyWidget/Assets.xcassets/SecondaryArtworkImage.imageset/Contents.json b/ios/ArtsyWidget/Assets.xcassets/SecondaryArtworkImage.imageset/Contents.json new file mode 100644 index 00000000000..5a903e6ba24 --- /dev/null +++ b/ios/ArtsyWidget/Assets.xcassets/SecondaryArtworkImage.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images": [ + { + "filename": "larger-1.jpg", + "idiom": "universal", + "scale": "1x" + }, + { + "filename": "larger-2.jpg", + "idiom": "universal", + "scale": "2x" + }, + { + "filename": "larger-3.jpg", + "idiom": "universal", + "scale": "3x" + } + ], + "info": { + "author": "xcode", + "version": 1 + } +} diff --git a/ArtsyWidget/Assets.xcassets/SecondaryArtworkImage.imageset/larger-1.jpg b/ios/ArtsyWidget/Assets.xcassets/SecondaryArtworkImage.imageset/larger-1.jpg similarity index 100% rename from ArtsyWidget/Assets.xcassets/SecondaryArtworkImage.imageset/larger-1.jpg rename to ios/ArtsyWidget/Assets.xcassets/SecondaryArtworkImage.imageset/larger-1.jpg diff --git a/ArtsyWidget/Assets.xcassets/SecondaryArtworkImage.imageset/larger-2.jpg b/ios/ArtsyWidget/Assets.xcassets/SecondaryArtworkImage.imageset/larger-2.jpg similarity index 100% rename from ArtsyWidget/Assets.xcassets/SecondaryArtworkImage.imageset/larger-2.jpg rename to ios/ArtsyWidget/Assets.xcassets/SecondaryArtworkImage.imageset/larger-2.jpg diff --git a/ArtsyWidget/Assets.xcassets/SecondaryArtworkImage.imageset/larger-3.jpg b/ios/ArtsyWidget/Assets.xcassets/SecondaryArtworkImage.imageset/larger-3.jpg similarity index 100% rename from ArtsyWidget/Assets.xcassets/SecondaryArtworkImage.imageset/larger-3.jpg rename to ios/ArtsyWidget/Assets.xcassets/SecondaryArtworkImage.imageset/larger-3.jpg diff --git a/ArtsyWidget/Assets.xcassets/TertiaryArticleImage.imageset/Contents.json b/ios/ArtsyWidget/Assets.xcassets/TertiaryArticleImage.imageset/Contents.json similarity index 100% rename from ArtsyWidget/Assets.xcassets/TertiaryArticleImage.imageset/Contents.json rename to ios/ArtsyWidget/Assets.xcassets/TertiaryArticleImage.imageset/Contents.json diff --git a/ArtsyWidget/Assets.xcassets/TertiaryArticleImage.imageset/larger-2.jpg b/ios/ArtsyWidget/Assets.xcassets/TertiaryArticleImage.imageset/larger-2.jpg similarity index 100% rename from ArtsyWidget/Assets.xcassets/TertiaryArticleImage.imageset/larger-2.jpg rename to ios/ArtsyWidget/Assets.xcassets/TertiaryArticleImage.imageset/larger-2.jpg diff --git a/ArtsyWidget/Assets.xcassets/TertiaryArticleImage.imageset/larger-3.jpg b/ios/ArtsyWidget/Assets.xcassets/TertiaryArticleImage.imageset/larger-3.jpg similarity index 100% rename from ArtsyWidget/Assets.xcassets/TertiaryArticleImage.imageset/larger-3.jpg rename to ios/ArtsyWidget/Assets.xcassets/TertiaryArticleImage.imageset/larger-3.jpg diff --git a/ArtsyWidget/Assets.xcassets/TertiaryArticleImage.imageset/larger-4.jpg b/ios/ArtsyWidget/Assets.xcassets/TertiaryArticleImage.imageset/larger-4.jpg similarity index 100% rename from ArtsyWidget/Assets.xcassets/TertiaryArticleImage.imageset/larger-4.jpg rename to ios/ArtsyWidget/Assets.xcassets/TertiaryArticleImage.imageset/larger-4.jpg diff --git a/ios/ArtsyWidget/Assets.xcassets/TertiaryArtworkImage.imageset/Contents.json b/ios/ArtsyWidget/Assets.xcassets/TertiaryArtworkImage.imageset/Contents.json new file mode 100644 index 00000000000..1eca75b6874 --- /dev/null +++ b/ios/ArtsyWidget/Assets.xcassets/TertiaryArtworkImage.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images": [ + { + "filename": "larger-2.jpg", + "idiom": "universal", + "scale": "1x" + }, + { + "filename": "larger-3.jpg", + "idiom": "universal", + "scale": "2x" + }, + { + "filename": "larger-4.jpg", + "idiom": "universal", + "scale": "3x" + } + ], + "info": { + "author": "xcode", + "version": 1 + } +} diff --git a/ArtsyWidget/Assets.xcassets/TertiaryArtworkImage.imageset/larger-2.jpg b/ios/ArtsyWidget/Assets.xcassets/TertiaryArtworkImage.imageset/larger-2.jpg similarity index 100% rename from ArtsyWidget/Assets.xcassets/TertiaryArtworkImage.imageset/larger-2.jpg rename to ios/ArtsyWidget/Assets.xcassets/TertiaryArtworkImage.imageset/larger-2.jpg diff --git a/ArtsyWidget/Assets.xcassets/TertiaryArtworkImage.imageset/larger-3.jpg b/ios/ArtsyWidget/Assets.xcassets/TertiaryArtworkImage.imageset/larger-3.jpg similarity index 100% rename from ArtsyWidget/Assets.xcassets/TertiaryArtworkImage.imageset/larger-3.jpg rename to ios/ArtsyWidget/Assets.xcassets/TertiaryArtworkImage.imageset/larger-3.jpg diff --git a/ArtsyWidget/Assets.xcassets/TertiaryArtworkImage.imageset/larger-4.jpg b/ios/ArtsyWidget/Assets.xcassets/TertiaryArtworkImage.imageset/larger-4.jpg similarity index 100% rename from ArtsyWidget/Assets.xcassets/TertiaryArtworkImage.imageset/larger-4.jpg rename to ios/ArtsyWidget/Assets.xcassets/TertiaryArtworkImage.imageset/larger-4.jpg diff --git a/ios/ArtsyWidget/Assets.xcassets/WhiteArtsyLogo.imageset/Contents.json b/ios/ArtsyWidget/Assets.xcassets/WhiteArtsyLogo.imageset/Contents.json new file mode 100644 index 00000000000..8618997c4c7 --- /dev/null +++ b/ios/ArtsyWidget/Assets.xcassets/WhiteArtsyLogo.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images": [ + { + "filename": "white-artsy-logo.png", + "idiom": "universal", + "scale": "1x" + }, + { + "filename": "white-artsy-logo-1.png", + "idiom": "universal", + "scale": "2x" + }, + { + "filename": "white-artsy-logo-2.png", + "idiom": "universal", + "scale": "3x" + } + ], + "info": { + "author": "xcode", + "version": 1 + } +} diff --git a/ArtsyWidget/Assets.xcassets/WhiteArtsyLogo.imageset/white-artsy-logo-1.png b/ios/ArtsyWidget/Assets.xcassets/WhiteArtsyLogo.imageset/white-artsy-logo-1.png similarity index 100% rename from ArtsyWidget/Assets.xcassets/WhiteArtsyLogo.imageset/white-artsy-logo-1.png rename to ios/ArtsyWidget/Assets.xcassets/WhiteArtsyLogo.imageset/white-artsy-logo-1.png diff --git a/ArtsyWidget/Assets.xcassets/WhiteArtsyLogo.imageset/white-artsy-logo-2.png b/ios/ArtsyWidget/Assets.xcassets/WhiteArtsyLogo.imageset/white-artsy-logo-2.png similarity index 100% rename from ArtsyWidget/Assets.xcassets/WhiteArtsyLogo.imageset/white-artsy-logo-2.png rename to ios/ArtsyWidget/Assets.xcassets/WhiteArtsyLogo.imageset/white-artsy-logo-2.png diff --git a/ArtsyWidget/Assets.xcassets/WhiteArtsyLogo.imageset/white-artsy-logo.png b/ios/ArtsyWidget/Assets.xcassets/WhiteArtsyLogo.imageset/white-artsy-logo.png similarity index 100% rename from ArtsyWidget/Assets.xcassets/WhiteArtsyLogo.imageset/white-artsy-logo.png rename to ios/ArtsyWidget/Assets.xcassets/WhiteArtsyLogo.imageset/white-artsy-logo.png diff --git a/ios/ArtsyWidget/Assets.xcassets/WidgetBackground.colorset/Contents.json b/ios/ArtsyWidget/Assets.xcassets/WidgetBackground.colorset/Contents.json new file mode 100644 index 00000000000..f96c07a0992 --- /dev/null +++ b/ios/ArtsyWidget/Assets.xcassets/WidgetBackground.colorset/Contents.json @@ -0,0 +1,20 @@ +{ + "colors": [ + { + "color": { + "color-space": "display-p3", + "components": { + "alpha": "1.000", + "blue": "0.000", + "green": "0.000", + "red": "0.000" + } + }, + "idiom": "universal" + } + ], + "info": { + "author": "xcode", + "version": 1 + } +} diff --git a/ArtsyWidget/FeaturedArtworks/FeaturedArtworks+Entry.swift b/ios/ArtsyWidget/FeaturedArtworks/FeaturedArtworks+Entry.swift similarity index 100% rename from ArtsyWidget/FeaturedArtworks/FeaturedArtworks+Entry.swift rename to ios/ArtsyWidget/FeaturedArtworks/FeaturedArtworks+Entry.swift diff --git a/ArtsyWidget/FeaturedArtworks/FeaturedArtworks+LargeView.swift b/ios/ArtsyWidget/FeaturedArtworks/FeaturedArtworks+LargeView.swift similarity index 100% rename from ArtsyWidget/FeaturedArtworks/FeaturedArtworks+LargeView.swift rename to ios/ArtsyWidget/FeaturedArtworks/FeaturedArtworks+LargeView.swift diff --git a/ArtsyWidget/FeaturedArtworks/FeaturedArtworks+MediumView.swift b/ios/ArtsyWidget/FeaturedArtworks/FeaturedArtworks+MediumView.swift similarity index 100% rename from ArtsyWidget/FeaturedArtworks/FeaturedArtworks+MediumView.swift rename to ios/ArtsyWidget/FeaturedArtworks/FeaturedArtworks+MediumView.swift diff --git a/ArtsyWidget/FeaturedArtworks/FeaturedArtworks+Provider.swift b/ios/ArtsyWidget/FeaturedArtworks/FeaturedArtworks+Provider.swift similarity index 100% rename from ArtsyWidget/FeaturedArtworks/FeaturedArtworks+Provider.swift rename to ios/ArtsyWidget/FeaturedArtworks/FeaturedArtworks+Provider.swift diff --git a/ArtsyWidget/FeaturedArtworks/FeaturedArtworks+SmallView.swift b/ios/ArtsyWidget/FeaturedArtworks/FeaturedArtworks+SmallView.swift similarity index 100% rename from ArtsyWidget/FeaturedArtworks/FeaturedArtworks+SmallView.swift rename to ios/ArtsyWidget/FeaturedArtworks/FeaturedArtworks+SmallView.swift diff --git a/ArtsyWidget/FeaturedArtworks/FeaturedArtworks+Timeline.swift b/ios/ArtsyWidget/FeaturedArtworks/FeaturedArtworks+Timeline.swift similarity index 100% rename from ArtsyWidget/FeaturedArtworks/FeaturedArtworks+Timeline.swift rename to ios/ArtsyWidget/FeaturedArtworks/FeaturedArtworks+Timeline.swift diff --git a/ArtsyWidget/FeaturedArtworks/FeaturedArtworks+View.swift b/ios/ArtsyWidget/FeaturedArtworks/FeaturedArtworks+View.swift similarity index 100% rename from ArtsyWidget/FeaturedArtworks/FeaturedArtworks+View.swift rename to ios/ArtsyWidget/FeaturedArtworks/FeaturedArtworks+View.swift diff --git a/ArtsyWidget/FeaturedArtworks/FeaturedArtworks+Widget.swift b/ios/ArtsyWidget/FeaturedArtworks/FeaturedArtworks+Widget.swift similarity index 100% rename from ArtsyWidget/FeaturedArtworks/FeaturedArtworks+Widget.swift rename to ios/ArtsyWidget/FeaturedArtworks/FeaturedArtworks+Widget.swift diff --git a/ArtsyWidget/FeaturedArtworks/FeaturedArtworks.swift b/ios/ArtsyWidget/FeaturedArtworks/FeaturedArtworks.swift similarity index 100% rename from ArtsyWidget/FeaturedArtworks/FeaturedArtworks.swift rename to ios/ArtsyWidget/FeaturedArtworks/FeaturedArtworks.swift diff --git a/ArtsyWidget/Fixtures.swift b/ios/ArtsyWidget/Fixtures.swift similarity index 100% rename from ArtsyWidget/Fixtures.swift rename to ios/ArtsyWidget/Fixtures.swift diff --git a/ArtsyWidget/FullBleed/FullBleed+Entry.swift b/ios/ArtsyWidget/FullBleed/FullBleed+Entry.swift similarity index 100% rename from ArtsyWidget/FullBleed/FullBleed+Entry.swift rename to ios/ArtsyWidget/FullBleed/FullBleed+Entry.swift diff --git a/ArtsyWidget/FullBleed/FullBleed+Provider.swift b/ios/ArtsyWidget/FullBleed/FullBleed+Provider.swift similarity index 100% rename from ArtsyWidget/FullBleed/FullBleed+Provider.swift rename to ios/ArtsyWidget/FullBleed/FullBleed+Provider.swift diff --git a/ArtsyWidget/FullBleed/FullBleed+Timeline.swift b/ios/ArtsyWidget/FullBleed/FullBleed+Timeline.swift similarity index 100% rename from ArtsyWidget/FullBleed/FullBleed+Timeline.swift rename to ios/ArtsyWidget/FullBleed/FullBleed+Timeline.swift diff --git a/ArtsyWidget/FullBleed/FullBleed+View.swift b/ios/ArtsyWidget/FullBleed/FullBleed+View.swift similarity index 100% rename from ArtsyWidget/FullBleed/FullBleed+View.swift rename to ios/ArtsyWidget/FullBleed/FullBleed+View.swift diff --git a/ArtsyWidget/FullBleed/FullBleed+Widget.swift b/ios/ArtsyWidget/FullBleed/FullBleed+Widget.swift similarity index 100% rename from ArtsyWidget/FullBleed/FullBleed+Widget.swift rename to ios/ArtsyWidget/FullBleed/FullBleed+Widget.swift diff --git a/ArtsyWidget/FullBleed/FullBleed.swift b/ios/ArtsyWidget/FullBleed/FullBleed.swift similarity index 100% rename from ArtsyWidget/FullBleed/FullBleed.swift rename to ios/ArtsyWidget/FullBleed/FullBleed.swift diff --git a/ArtsyWidget/Info.plist b/ios/ArtsyWidget/Info.plist similarity index 72% rename from ArtsyWidget/Info.plist rename to ios/ArtsyWidget/Info.plist index 0f118fb75e4..4861acacb38 100644 --- a/ArtsyWidget/Info.plist +++ b/ios/ArtsyWidget/Info.plist @@ -2,6 +2,10 @@ + CFBundleShortVersionString + 7.3.6 + CFBundleVersion + 2022.05.11.13 NSExtension NSExtensionPointIdentifier diff --git a/ArtsyWidget/LatestArticles/LatestArticles+Entry.swift b/ios/ArtsyWidget/LatestArticles/LatestArticles+Entry.swift similarity index 100% rename from ArtsyWidget/LatestArticles/LatestArticles+Entry.swift rename to ios/ArtsyWidget/LatestArticles/LatestArticles+Entry.swift diff --git a/ArtsyWidget/LatestArticles/LatestArticles+LargeView.swift b/ios/ArtsyWidget/LatestArticles/LatestArticles+LargeView.swift similarity index 100% rename from ArtsyWidget/LatestArticles/LatestArticles+LargeView.swift rename to ios/ArtsyWidget/LatestArticles/LatestArticles+LargeView.swift diff --git a/ArtsyWidget/LatestArticles/LatestArticles+MediumView.swift b/ios/ArtsyWidget/LatestArticles/LatestArticles+MediumView.swift similarity index 100% rename from ArtsyWidget/LatestArticles/LatestArticles+MediumView.swift rename to ios/ArtsyWidget/LatestArticles/LatestArticles+MediumView.swift diff --git a/ArtsyWidget/LatestArticles/LatestArticles+Provider.swift b/ios/ArtsyWidget/LatestArticles/LatestArticles+Provider.swift similarity index 100% rename from ArtsyWidget/LatestArticles/LatestArticles+Provider.swift rename to ios/ArtsyWidget/LatestArticles/LatestArticles+Provider.swift diff --git a/ArtsyWidget/LatestArticles/LatestArticles+SmallView.swift b/ios/ArtsyWidget/LatestArticles/LatestArticles+SmallView.swift similarity index 100% rename from ArtsyWidget/LatestArticles/LatestArticles+SmallView.swift rename to ios/ArtsyWidget/LatestArticles/LatestArticles+SmallView.swift diff --git a/ArtsyWidget/LatestArticles/LatestArticles+Timeline.swift b/ios/ArtsyWidget/LatestArticles/LatestArticles+Timeline.swift similarity index 100% rename from ArtsyWidget/LatestArticles/LatestArticles+Timeline.swift rename to ios/ArtsyWidget/LatestArticles/LatestArticles+Timeline.swift diff --git a/ArtsyWidget/LatestArticles/LatestArticles+View.swift b/ios/ArtsyWidget/LatestArticles/LatestArticles+View.swift similarity index 100% rename from ArtsyWidget/LatestArticles/LatestArticles+View.swift rename to ios/ArtsyWidget/LatestArticles/LatestArticles+View.swift diff --git a/ArtsyWidget/LatestArticles/LatestArticles+Widget.swift b/ios/ArtsyWidget/LatestArticles/LatestArticles+Widget.swift similarity index 100% rename from ArtsyWidget/LatestArticles/LatestArticles+Widget.swift rename to ios/ArtsyWidget/LatestArticles/LatestArticles+Widget.swift diff --git a/ArtsyWidget/LatestArticles/LatestArticles.swift b/ios/ArtsyWidget/LatestArticles/LatestArticles.swift similarity index 100% rename from ArtsyWidget/LatestArticles/LatestArticles.swift rename to ios/ArtsyWidget/LatestArticles/LatestArticles.swift diff --git a/ArtsyWidget/Models/Article.swift b/ios/ArtsyWidget/Models/Article.swift similarity index 100% rename from ArtsyWidget/Models/Article.swift rename to ios/ArtsyWidget/Models/Article.swift diff --git a/ArtsyWidget/Models/ArticleParser.swift b/ios/ArtsyWidget/Models/ArticleParser.swift similarity index 100% rename from ArtsyWidget/Models/ArticleParser.swift rename to ios/ArtsyWidget/Models/ArticleParser.swift diff --git a/ArtsyWidget/Models/ArticleStore.swift b/ios/ArtsyWidget/Models/ArticleStore.swift similarity index 100% rename from ArtsyWidget/Models/ArticleStore.swift rename to ios/ArtsyWidget/Models/ArticleStore.swift diff --git a/ArtsyWidget/Models/Artist.swift b/ios/ArtsyWidget/Models/Artist.swift similarity index 100% rename from ArtsyWidget/Models/Artist.swift rename to ios/ArtsyWidget/Models/Artist.swift diff --git a/ArtsyWidget/Models/Artwork.swift b/ios/ArtsyWidget/Models/Artwork.swift similarity index 100% rename from ArtsyWidget/Models/Artwork.swift rename to ios/ArtsyWidget/Models/Artwork.swift diff --git a/ArtsyWidget/Models/ArtworkImage.swift b/ios/ArtsyWidget/Models/ArtworkImage.swift similarity index 100% rename from ArtsyWidget/Models/ArtworkImage.swift rename to ios/ArtsyWidget/Models/ArtworkImage.swift diff --git a/ArtsyWidget/Models/ArtworkStore.swift b/ios/ArtsyWidget/Models/ArtworkStore.swift similarity index 100% rename from ArtsyWidget/Models/ArtworkStore.swift rename to ios/ArtsyWidget/Models/ArtworkStore.swift diff --git a/ArtsyWidget/Models/VolleyClient.swift b/ios/ArtsyWidget/Models/VolleyClient.swift similarity index 100% rename from ArtsyWidget/Models/VolleyClient.swift rename to ios/ArtsyWidget/Models/VolleyClient.swift diff --git a/ArtsyWidget/Models/VolleyMetric.swift b/ios/ArtsyWidget/Models/VolleyMetric.swift similarity index 100% rename from ArtsyWidget/Models/VolleyMetric.swift rename to ios/ArtsyWidget/Models/VolleyMetric.swift diff --git a/ArtsyWidget/Models/VolleyPayload.swift b/ios/ArtsyWidget/Models/VolleyPayload.swift similarity index 100% rename from ArtsyWidget/Models/VolleyPayload.swift rename to ios/ArtsyWidget/Models/VolleyPayload.swift diff --git a/ArtsyWidget/Shared/ImageUrl.swift b/ios/ArtsyWidget/Shared/ImageUrl.swift similarity index 100% rename from ArtsyWidget/Shared/ImageUrl.swift rename to ios/ArtsyWidget/Shared/ImageUrl.swift diff --git a/ArtsyWidget/Shared/PrimaryText.swift b/ios/ArtsyWidget/Shared/PrimaryText.swift similarity index 100% rename from ArtsyWidget/Shared/PrimaryText.swift rename to ios/ArtsyWidget/Shared/PrimaryText.swift diff --git a/ArtsyWidget/Shared/Schedule.swift b/ios/ArtsyWidget/Shared/Schedule.swift similarity index 100% rename from ArtsyWidget/Shared/Schedule.swift rename to ios/ArtsyWidget/Shared/Schedule.swift diff --git a/ArtsyWidget/Shared/SecondaryText.swift b/ios/ArtsyWidget/Shared/SecondaryText.swift similarity index 100% rename from ArtsyWidget/Shared/SecondaryText.swift rename to ios/ArtsyWidget/Shared/SecondaryText.swift diff --git a/ArtsyWidget/Shared/WidgetUrl.swift b/ios/ArtsyWidget/Shared/WidgetUrl.swift similarity index 100% rename from ArtsyWidget/Shared/WidgetUrl.swift rename to ios/ArtsyWidget/Shared/WidgetUrl.swift diff --git a/BrazePushServiceExtension/Info.plist b/ios/BrazePushServiceExtension/Info.plist similarity index 77% rename from BrazePushServiceExtension/Info.plist rename to ios/BrazePushServiceExtension/Info.plist index 57421ebf9b7..361b2063431 100644 --- a/BrazePushServiceExtension/Info.plist +++ b/ios/BrazePushServiceExtension/Info.plist @@ -2,6 +2,10 @@ + CFBundleShortVersionString + 7.3.6 + CFBundleVersion + 2022.05.11.13 NSExtension NSExtensionPointIdentifier diff --git a/BrazePushServiceExtension/NotificationService.swift b/ios/BrazePushServiceExtension/NotificationService.swift similarity index 100% rename from BrazePushServiceExtension/NotificationService.swift rename to ios/BrazePushServiceExtension/NotificationService.swift diff --git a/ios/Podfile b/ios/Podfile new file mode 100644 index 00000000000..4b04835ba54 --- /dev/null +++ b/ios/Podfile @@ -0,0 +1,203 @@ +# frozen_string_literal: true + +source 'https://cdn.cocoapods.org/' +source 'https://github.com/artsy/Specs.git' + +require 'dotenv' +Dotenv.load('../.env.shared') + +require_relative '../node_modules/react-native/scripts/react_native_pods' +require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules' + + +platform :ios, '12.1' + +$ReactNativeMapboxGLIOSVersion = '~> 6.4' + +def check_for_existing_netrc_file + if !ENV['MAPBOX_DOWNLOAD_TOKEN'] + raise "You need a MAPBOX_DOWNLOAD_TOKEN in your .env.shared file.\nIf you work at artsy, check 1password.\nOtherwise create your own in the mapbox dashboard. https://docs.mapbox.com/ios/maps/guides/install" + end + # mapbox needs credentials in `~/.netrc`, so we put them there and then remove them in post-pod-install.rb + $netrc_path = File.expand_path('~/.netrc') + user_already_had_a_netrc_file = File.exists?($netrc_path) + if user_already_had_a_netrc_file + system("touch .i-had-a-netrc-file") + else + system("rm -rf .i-had-a-netrc-file") + end +end + +def add_mapbox_creds + File.open($netrc_path, 'a+', 0600) { |f| + f.write("""machine api.mapbox.com +login mapbox +password #{ENV['MAPBOX_DOWNLOAD_TOKEN']} +""") + } +end + +check_for_existing_netrc_file +add_mapbox_creds + +# ignore all warnings from all pods +inhibit_all_warnings! + +pre_install do |installer| + $RNMBGL.pre_install(installer) +end + + +target 'Artsy' do + if ENV['CI'] + config = use_native_modules!(packages_to_skip: ['react-native-flipper']) + else + config = use_native_modules! + end + use_react_native!( + :path => config[:reactNativePath], + # to enable hermes on iOS, change `false` to `true` and then install pods + :hermes_enabled => false, + :production => ENV['CIRCLE_BUILD_NUM'], + ) + + # Networking + pod 'AFNetworking', '2.7.0', subspecs: %w[Reachability Serialization Security NSURLSession NSURLConnection] + pod 'AFOAuth1Client', git: 'https://github.com/artsy/AFOAuth1Client.git', tag: '0.4.0-subspec-fix' + pod 'AFNetworkActivityLogger' + pod 'SDWebImage', '5.8.3' + + # Core + pod 'ARGenericTableViewController', git: 'https://github.com/artsy/ARGenericTableViewController.git' + pod 'CocoaLumberjack', '3.7.2' + pod 'FLKAutoLayout', git: 'https://github.com/artsy/FLKAutoLayout.git', branch: 'v1' + pod 'FXBlurView', '1.6.4' + pod 'ISO8601DateFormatter', git: 'https://github.com/artsy/iso-8601-date-formatter' + pod 'JLRoutes', git: 'https://github.com/artsy/JLRoutes.git' + pod 'JSDecoupledAppDelegate' + pod 'Mantle', '1.5.6' + pod 'MMMarkdown', '0.4' + pod 'NPKeyboardLayoutGuide' + pod 'UICKeyChainStore' + pod 'MARKRangeSlider' + pod 'EDColor', '1.0.1' + + # Core owned by Artsy + pod 'ORStackView', '2.0.3' + pod 'UIView+BooleanAnimations' + pod 'Aerodramus', '2.0.0' + + # Language Enhancements + pod 'MultiDelegate' + pod 'ObjectiveSugar' + + # Artsy Spec repo stuff + pod 'Artsy+UIFonts', '3.3.4' + pod 'Artsy-UIButtons' + pod 'Artsy+UIColors' + pod 'Artsy+UILabels' + pod 'Extraction' + + pod 'Emission', path: '../emission', :inhibit_warnings => false + + # For Stripe integration with Emission. Using a fork for this issue: https://github.com/tipsi/tipsi-stripe/issues/408 + pod 'Pulley', git: 'https://github.com/artsy/Pulley.git', branch: 'master' + + # Facebook + pod 'FBSDKCoreKit', '9.3.0' + pod 'FBSDKLoginKit', '9.3.0' + pod 'FBSDKShareKit', '9.3.0' + + # Google & Firebase + pod 'GoogleSignIn', '5.0.2' + pod 'Firebase/Auth', '8.1.0' + + # Analytics + pod 'Segment-Appboy' + pod 'Segment-Adjust' + + # Developer Pods + pod 'DHCShakeNotifier', '0.2.0' + pod 'ORKeyboardReactingApplication', '0.5.3' + + # Swift pods 🎉 + pod 'Then', '2.3.0' + pod 'Interstellar/Core', git: 'https://github.com/artsy/Interstellar.git', branch: 'observable-unsubscribe' + pod 'Starscream', '3.0.4' + pod 'SwiftyJSON', '4.0.0' + + # Used in Live Auctions to hold user-state + pod 'JWTDecode', '2.0.0' + + target 'ArtsyTests' do + inherit! :search_paths + + pod 'OHHTTPStubs', '3.1.2' + pod 'XCTest+OHHTTPStubSuiteCleanUp' + pod 'Specta' + pod 'Expecta', '1.0.6' + pod 'Expecta+Snapshots', '3.1.1' + pod 'OCMock' + pod 'Forgeries/Mocks' + + # Swift pods 🎉 + pod 'Quick', '2.0.0' + pod 'Nimble', '7.3.4' + pod 'Nimble-Snapshots', '6.3.0' + end + + # Enables Flipper but not for CI. + # Note that if you have use_frameworks! enabled, Flipper will not work and + # you should disable these next few lines. + if !ENV['CI'] + use_flipper!({ 'Flipper' => '0.87.0', 'Flipper-Folly' => '2.5.3', 'Flipper-RSocket' => '1.3.1' }) + end + + post_install do |installer| + react_native_post_install(installer) + __apply_Xcode_12_5_M1_post_install_workaround(installer) + + if !ENV['CI'] + flipper_post_install(installer) + end + + $RNMBGL.post_install(installer) + + # For now Nimble Snapshots needs to stay at Swift 4.0 + swift4 = ['Nimble-Snapshots'] + installer.pods_project.targets.each do |target| + target.build_configurations.each do |config| + config.build_settings['SWIFT_VERSION'] = '4.0' if swift4.include?(target.name) + end + end + + # TODO: + # * ORStackView: Move Laura's changes into master and update + # * Send PRs for the rest + %w[ + Pods/ORStackView/Classes/ios/ORStackView.h + ].flat_map { |x| Dir.glob(x) }.each do |header| + system("chmod +w #{header}") + addition = "#import \n" + contents = File.read(header) + next if contents.include?(addition) + + File.open(header, 'w') do |file| + file.puts addition + file.puts contents + end + end + + # TODO: Might be nice to have a `cocoapods-patch` plugin that applies patches like `patch-package` does for npm. + %w[ + Pods/Nimble/Sources/NimbleObjectiveC + Pods/Nimble-Snapshots + Pods/Quick/Sources/QuickObjectiveC + ].flat_map { |x| Dir.glob(File.join(x, '**/*.{h,m}')) }.each do |header| + system("chmod +w #{header}") + contents = File.read(header) + patched = contents.sub(%r{["<]\w+/(\w+-Swift\.h)[">]}, '"\1"') + File.write(header, patched) if Regexp.last_match + end + end +end diff --git a/Podfile.lock b/ios/Podfile.lock similarity index 77% rename from Podfile.lock rename to ios/Podfile.lock index 0eaf4f2a114..73cb75c4865 100644 --- a/Podfile.lock +++ b/ios/Podfile.lock @@ -147,10 +147,10 @@ PODS: - FBSnapshotTestCase/Core (2.1.4) - FBSnapshotTestCase/SwiftSupport (2.1.4): - FBSnapshotTestCase/Core - - Firebase/Auth (8.1.1): + - Firebase/Auth (8.1.0): - Firebase/CoreOnly - FirebaseAuth (~> 8.1.0) - - Firebase/CoreOnly (8.1.1): + - Firebase/CoreOnly (8.1.0): - FirebaseCore (= 8.1.0) - FirebaseAuth (8.1.0): - FirebaseCore (~> 8.0) @@ -161,10 +161,10 @@ PODS: - FirebaseCoreDiagnostics (~> 8.0) - GoogleUtilities/Environment (~> 7.4) - GoogleUtilities/Logger (~> 7.4) - - FirebaseCoreDiagnostics (8.1.0): - - GoogleDataTransport (~> 9.0) - - GoogleUtilities/Environment (~> 7.4) - - GoogleUtilities/Logger (~> 7.4) + - FirebaseCoreDiagnostics (8.15.0): + - GoogleDataTransport (~> 9.1) + - GoogleUtilities/Environment (~> 7.7) + - GoogleUtilities/Logger (~> 7.7) - nanopb (~> 2.30908.0) - Flipper (0.87.0): - Flipper-Folly (~> 2.5) @@ -233,28 +233,28 @@ PODS: - OCMock - FXBlurView (1.6.4) - glog (0.3.5) - - GoogleDataTransport (9.0.1): + - GoogleDataTransport (9.1.2): - GoogleUtilities/Environment (~> 7.2) - nanopb (~> 2.30908.0) - - PromisesObjC (~> 1.2) + - PromisesObjC (< 3.0, >= 1.2) - GoogleSignIn (5.0.2): - AppAuth (~> 1.2) - GTMAppAuth (~> 1.0) - GTMSessionFetcher/Core (~> 1.1) - - GoogleUtilities/AppDelegateSwizzler (7.4.1): + - GoogleUtilities/AppDelegateSwizzler (7.7.0): - GoogleUtilities/Environment - GoogleUtilities/Logger - GoogleUtilities/Network - - GoogleUtilities/Environment (7.4.1): - - PromisesObjC (~> 1.2) - - GoogleUtilities/Logger (7.4.1): + - GoogleUtilities/Environment (7.7.0): + - PromisesObjC (< 3.0, >= 1.2) + - GoogleUtilities/Logger (7.7.0): - GoogleUtilities/Environment - - GoogleUtilities/Network (7.4.1): + - GoogleUtilities/Network (7.7.0): - GoogleUtilities/Logger - "GoogleUtilities/NSData+zlib" - GoogleUtilities/Reachability - - "GoogleUtilities/NSData+zlib (7.4.1)" - - GoogleUtilities/Reachability (7.4.1): + - "GoogleUtilities/NSData+zlib (7.7.0)" + - GoogleUtilities/Reachability (7.7.0): - GoogleUtilities/Logger - GTMAppAuth (1.2.2): - AppAuth/Core (~> 1.4) @@ -274,7 +274,7 @@ PODS: - Mantle/extobjc (1.5.6) - Mapbox-iOS-SDK (6.4.1): - MapboxMobileEvents (~> 0.10.12) - - MapboxMobileEvents (0.10.13) + - MapboxMobileEvents (0.10.14) - MARKRangeSlider (1.0.1) - MMMarkdown (0.4) - MultiDelegate (0.0.4) @@ -297,7 +297,7 @@ PODS: - ORKeyboardReactingApplication (0.5.3) - ORStackView (2.0.3): - FLKAutoLayout - - PromisesObjC (1.2.12) + - PromisesObjC (2.1.0) - Pulley (2.6.2) - Quick (2.0.0) - RCT-Folly (2021.06.28.00-v2): @@ -706,7 +706,7 @@ PODS: - tipsi-stripe (7.5.0): - React - Stripe (~> 14.0.0) - - TOCropViewController (2.5.5) + - TOCropViewController (2.6.1) - UICKeyChainStore (1.0.5) - "UIView+BooleanAnimations (1.0.2)" - "XCTest+OHHTTPStubSuiteCleanUp (1.0.0)": @@ -729,22 +729,22 @@ DEPENDENCIES: - "Artsy+UIFonts (= 3.3.4)" - "Artsy+UILabels" - Artsy-UIButtons - - boost (from `./node_modules/react-native/third-party-podspecs/boost.podspec`) - - BVLinearGradient (from `node_modules/react-native-linear-gradient`) + - boost (from `../node_modules/react-native/third-party-podspecs/boost.podspec`) + - BVLinearGradient (from `../node_modules/react-native-linear-gradient`) - CocoaLumberjack (= 3.7.2) - DHCShakeNotifier (= 0.2.0) - - DoubleConversion (from `./node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`) + - DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`) - EDColor (= 1.0.1) - - Emission (from `./emission`) + - Emission (from `../emission`) - Expecta (= 1.0.6) - "Expecta+Snapshots (= 3.1.1)" - Extraction - - FBLazyVector (from `./node_modules/react-native/Libraries/FBLazyVector`) - - FBReactNativeSpec (from `./node_modules/react-native/React/FBReactNativeSpec`) + - FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`) + - FBReactNativeSpec (from `../node_modules/react-native/React/FBReactNativeSpec`) - FBSDKCoreKit (= 9.3.0) - FBSDKLoginKit (= 9.3.0) - FBSDKShareKit (= 9.3.0) - - Firebase/Auth (= 8.1.1) + - Firebase/Auth (= 8.1.0) - Flipper (= 0.87.0) - Flipper-Boost-iOSX (= 1.76.0.1.11) - Flipper-DoubleConversion (= 3.1.7) @@ -769,7 +769,7 @@ DEPENDENCIES: - FLKAutoLayout (from `https://github.com/artsy/FLKAutoLayout.git`, branch `v1`) - Forgeries/Mocks - FXBlurView (= 1.6.4) - - glog (from `./node_modules/react-native/third-party-podspecs/glog.podspec`) + - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`) - GoogleSignIn (= 5.0.2) - Interstellar/Core (from `https://github.com/artsy/Interstellar.git`, branch `observable-unsubscribe`) - ISO8601DateFormatter (from `https://github.com/artsy/iso-8601-date-formatter`) @@ -785,75 +785,75 @@ DEPENDENCIES: - NPKeyboardLayoutGuide - ObjectiveSugar - OCMock - - OHHTTPStubs + - OHHTTPStubs (= 3.1.2) - ORKeyboardReactingApplication (= 0.5.3) - ORStackView (= 2.0.3) - Pulley (from `https://github.com/artsy/Pulley.git`, branch `master`) - Quick (= 2.0.0) - - RCT-Folly (from `./node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) - - RCTRequired (from `./node_modules/react-native/Libraries/RCTRequired`) - - RCTTypeSafety (from `./node_modules/react-native/Libraries/TypeSafety`) - - React (from `./node_modules/react-native/`) - - React-callinvoker (from `./node_modules/react-native/ReactCommon/callinvoker`) - - React-Core (from `./node_modules/react-native/`) - - React-Core/DevSupport (from `./node_modules/react-native/`) - - React-Core/RCTWebSocket (from `./node_modules/react-native/`) - - React-CoreModules (from `./node_modules/react-native/React/CoreModules`) - - React-cxxreact (from `./node_modules/react-native/ReactCommon/cxxreact`) - - React-jsi (from `./node_modules/react-native/ReactCommon/jsi`) - - React-jsiexecutor (from `./node_modules/react-native/ReactCommon/jsiexecutor`) - - React-jsinspector (from `./node_modules/react-native/ReactCommon/jsinspector`) - - React-logger (from `./node_modules/react-native/ReactCommon/logger`) - - react-native-appboy-sdk (from `node_modules/react-native-appboy-sdk`) - - "react-native-cameraroll (from `node_modules/@react-native-community/cameraroll`)" - - react-native-config (from `node_modules/react-native-config`) - - "react-native-cookies (from `node_modules/@react-native-cookies/cookies`)" - - react-native-fbsdk-next (from `node_modules/react-native-fbsdk-next`) - - react-native-flipper (from `node_modules/react-native-flipper`) - - "react-native-geolocation (from `node_modules/@react-native-community/geolocation`)" - - react-native-image-resizer (from `node_modules/react-native-image-resizer`) - - react-native-in-app-review (from `node_modules/react-native-in-app-review`) - - "react-native-mapbox-gl (from `node_modules/@react-native-mapbox-gl/maps`)" - - "react-native-netinfo (from `node_modules/@react-native-community/netinfo`)" - - react-native-safe-area-context (from `node_modules/react-native-safe-area-context`) - - "react-native-slider (from `node_modules/@react-native-community/slider`)" - - react-native-view-shot (from `node_modules/react-native-view-shot`) - - "react-native-viewpager (from `node_modules/@react-native-community/viewpager`)" - - react-native-webview (from `node_modules/react-native-webview`) - - React-perflogger (from `./node_modules/react-native/ReactCommon/reactperflogger`) - - React-RCTActionSheet (from `./node_modules/react-native/Libraries/ActionSheetIOS`) - - React-RCTAnimation (from `./node_modules/react-native/Libraries/NativeAnimation`) - - React-RCTBlob (from `./node_modules/react-native/Libraries/Blob`) - - React-RCTImage (from `./node_modules/react-native/Libraries/Image`) - - React-RCTLinking (from `./node_modules/react-native/Libraries/LinkingIOS`) - - React-RCTNetwork (from `./node_modules/react-native/Libraries/Network`) - - React-RCTSettings (from `./node_modules/react-native/Libraries/Settings`) - - React-RCTText (from `./node_modules/react-native/Libraries/Text`) - - React-RCTVibration (from `./node_modules/react-native/Libraries/Vibration`) - - React-runtimeexecutor (from `./node_modules/react-native/ReactCommon/runtimeexecutor`) - - ReactCommon/turbomodule/core (from `./node_modules/react-native/ReactCommon`) - - rn-fetch-blob (from `node_modules/rn-fetch-blob`) - - "RNAnalytics (from `node_modules/@segment/analytics-react-native`)" - - "RNAnalyticsIntegration-Adjust (from `node_modules/@segment/analytics-react-native-adjust`)" - - "RNAnalyticsIntegration-Appboy (from `node_modules/@segment/analytics-react-native-appboy`)" - - "RNAppleAuthentication (from `node_modules/@invertase/react-native-apple-authentication`)" - - RNBootSplash (from `node_modules/react-native-bootsplash`) - - "RNCAsyncStorage (from `node_modules/@react-native-async-storage/async-storage`)" - - "RNCClipboard (from `node_modules/@react-native-community/clipboard`)" - - "RNCMaskedView (from `node_modules/@react-native-community/masked-view`)" - - "RNDateTimePicker (from `node_modules/@react-native-community/datetimepicker`)" - - RNDeviceInfo (from `node_modules/react-native-device-info`) - - RNGestureHandler (from `node_modules/react-native-gesture-handler`) - - "RNGoogleSignin (from `node_modules/@react-native-google-signin/google-signin`)" - - RNImageCropPicker (from `node_modules/react-native-image-crop-picker`) - - RNKeychain (from `node_modules/react-native-keychain`) - - RNLocalize (from `node_modules/react-native-localize`) - - RNReactNativeHapticFeedback (from `node_modules/react-native-haptic-feedback`) - - RNReanimated (from `node_modules/react-native-reanimated`) - - RNScreens (from `node_modules/react-native-screens`) - - "RNSentry (from `node_modules/@sentry/react-native`)" - - RNShare (from `node_modules/react-native-share`) - - RNSVG (from `node_modules/react-native-svg`) + - RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) + - RCTRequired (from `../node_modules/react-native/Libraries/RCTRequired`) + - RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`) + - React (from `../node_modules/react-native/`) + - React-callinvoker (from `../node_modules/react-native/ReactCommon/callinvoker`) + - React-Core (from `../node_modules/react-native/`) + - React-Core/DevSupport (from `../node_modules/react-native/`) + - React-Core/RCTWebSocket (from `../node_modules/react-native/`) + - React-CoreModules (from `../node_modules/react-native/React/CoreModules`) + - React-cxxreact (from `../node_modules/react-native/ReactCommon/cxxreact`) + - React-jsi (from `../node_modules/react-native/ReactCommon/jsi`) + - React-jsiexecutor (from `../node_modules/react-native/ReactCommon/jsiexecutor`) + - React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector`) + - React-logger (from `../node_modules/react-native/ReactCommon/logger`) + - react-native-appboy-sdk (from `../node_modules/react-native-appboy-sdk`) + - "react-native-cameraroll (from `../node_modules/@react-native-community/cameraroll`)" + - react-native-config (from `../node_modules/react-native-config`) + - "react-native-cookies (from `../node_modules/@react-native-cookies/cookies`)" + - react-native-fbsdk-next (from `../node_modules/react-native-fbsdk-next`) + - react-native-flipper (from `../node_modules/react-native-flipper`) + - "react-native-geolocation (from `../node_modules/@react-native-community/geolocation`)" + - react-native-image-resizer (from `../node_modules/react-native-image-resizer`) + - react-native-in-app-review (from `../node_modules/react-native-in-app-review`) + - "react-native-mapbox-gl (from `../node_modules/@react-native-mapbox-gl/maps`)" + - "react-native-netinfo (from `../node_modules/@react-native-community/netinfo`)" + - react-native-safe-area-context (from `../node_modules/react-native-safe-area-context`) + - "react-native-slider (from `../node_modules/@react-native-community/slider`)" + - react-native-view-shot (from `../node_modules/react-native-view-shot`) + - "react-native-viewpager (from `../node_modules/@react-native-community/viewpager`)" + - react-native-webview (from `../node_modules/react-native-webview`) + - React-perflogger (from `../node_modules/react-native/ReactCommon/reactperflogger`) + - React-RCTActionSheet (from `../node_modules/react-native/Libraries/ActionSheetIOS`) + - React-RCTAnimation (from `../node_modules/react-native/Libraries/NativeAnimation`) + - React-RCTBlob (from `../node_modules/react-native/Libraries/Blob`) + - React-RCTImage (from `../node_modules/react-native/Libraries/Image`) + - React-RCTLinking (from `../node_modules/react-native/Libraries/LinkingIOS`) + - React-RCTNetwork (from `../node_modules/react-native/Libraries/Network`) + - React-RCTSettings (from `../node_modules/react-native/Libraries/Settings`) + - React-RCTText (from `../node_modules/react-native/Libraries/Text`) + - React-RCTVibration (from `../node_modules/react-native/Libraries/Vibration`) + - React-runtimeexecutor (from `../node_modules/react-native/ReactCommon/runtimeexecutor`) + - ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`) + - rn-fetch-blob (from `../node_modules/rn-fetch-blob`) + - "RNAnalytics (from `../node_modules/@segment/analytics-react-native`)" + - "RNAnalyticsIntegration-Adjust (from `../node_modules/@segment/analytics-react-native-adjust`)" + - "RNAnalyticsIntegration-Appboy (from `../node_modules/@segment/analytics-react-native-appboy`)" + - "RNAppleAuthentication (from `../node_modules/@invertase/react-native-apple-authentication`)" + - RNBootSplash (from `../node_modules/react-native-bootsplash`) + - "RNCAsyncStorage (from `../node_modules/@react-native-async-storage/async-storage`)" + - "RNCClipboard (from `../node_modules/@react-native-community/clipboard`)" + - "RNCMaskedView (from `../node_modules/@react-native-community/masked-view`)" + - "RNDateTimePicker (from `../node_modules/@react-native-community/datetimepicker`)" + - RNDeviceInfo (from `../node_modules/react-native-device-info`) + - RNGestureHandler (from `../node_modules/react-native-gesture-handler`) + - "RNGoogleSignin (from `../node_modules/@react-native-google-signin/google-signin`)" + - RNImageCropPicker (from `../node_modules/react-native-image-crop-picker`) + - RNKeychain (from `../node_modules/react-native-keychain`) + - RNLocalize (from `../node_modules/react-native-localize`) + - RNReactNativeHapticFeedback (from `../node_modules/react-native-haptic-feedback`) + - RNReanimated (from `../node_modules/react-native-reanimated`) + - RNScreens (from `../node_modules/react-native-screens`) + - "RNSentry (from `../node_modules/@sentry/react-native`)" + - RNShare (from `../node_modules/react-native-share`) + - RNSVG (from `../node_modules/react-native-svg`) - SDWebImage (= 5.8.3) - Segment-Adjust - Segment-Appboy @@ -861,11 +861,11 @@ DEPENDENCIES: - Starscream (= 3.0.4) - SwiftyJSON (= 4.0.0) - Then (= 2.3.0) - - tipsi-stripe (from `node_modules/tipsi-stripe`) + - tipsi-stripe (from `../node_modules/tipsi-stripe`) - UICKeyChainStore - "UIView+BooleanAnimations" - "XCTest+OHHTTPStubSuiteCleanUp" - - Yoga (from `./node_modules/react-native/ReactCommon/yoga`) + - Yoga (from `../node_modules/react-native/ReactCommon/yoga`) SPEC REPOS: https://github.com/artsy/Specs.git: @@ -958,22 +958,22 @@ EXTERNAL SOURCES: ARGenericTableViewController: :git: https://github.com/artsy/ARGenericTableViewController.git boost: - :podspec: "./node_modules/react-native/third-party-podspecs/boost.podspec" + :podspec: "../node_modules/react-native/third-party-podspecs/boost.podspec" BVLinearGradient: - :path: node_modules/react-native-linear-gradient + :path: "../node_modules/react-native-linear-gradient" DoubleConversion: - :podspec: "./node_modules/react-native/third-party-podspecs/DoubleConversion.podspec" + :podspec: "../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec" Emission: - :path: "./emission" + :path: "../emission" FBLazyVector: - :path: "./node_modules/react-native/Libraries/FBLazyVector" + :path: "../node_modules/react-native/Libraries/FBLazyVector" FBReactNativeSpec: - :path: "./node_modules/react-native/React/FBReactNativeSpec" + :path: "../node_modules/react-native/React/FBReactNativeSpec" FLKAutoLayout: :branch: v1 :git: https://github.com/artsy/FLKAutoLayout.git glog: - :podspec: "./node_modules/react-native/third-party-podspecs/glog.podspec" + :podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec" Interstellar: :branch: observable-unsubscribe :git: https://github.com/artsy/Interstellar.git @@ -985,133 +985,133 @@ EXTERNAL SOURCES: :branch: master :git: https://github.com/artsy/Pulley.git RCT-Folly: - :podspec: "./node_modules/react-native/third-party-podspecs/RCT-Folly.podspec" + :podspec: "../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec" RCTRequired: - :path: "./node_modules/react-native/Libraries/RCTRequired" + :path: "../node_modules/react-native/Libraries/RCTRequired" RCTTypeSafety: - :path: "./node_modules/react-native/Libraries/TypeSafety" + :path: "../node_modules/react-native/Libraries/TypeSafety" React: - :path: "./node_modules/react-native/" + :path: "../node_modules/react-native/" React-callinvoker: - :path: "./node_modules/react-native/ReactCommon/callinvoker" + :path: "../node_modules/react-native/ReactCommon/callinvoker" React-Core: - :path: "./node_modules/react-native/" + :path: "../node_modules/react-native/" React-CoreModules: - :path: "./node_modules/react-native/React/CoreModules" + :path: "../node_modules/react-native/React/CoreModules" React-cxxreact: - :path: "./node_modules/react-native/ReactCommon/cxxreact" + :path: "../node_modules/react-native/ReactCommon/cxxreact" React-jsi: - :path: "./node_modules/react-native/ReactCommon/jsi" + :path: "../node_modules/react-native/ReactCommon/jsi" React-jsiexecutor: - :path: "./node_modules/react-native/ReactCommon/jsiexecutor" + :path: "../node_modules/react-native/ReactCommon/jsiexecutor" React-jsinspector: - :path: "./node_modules/react-native/ReactCommon/jsinspector" + :path: "../node_modules/react-native/ReactCommon/jsinspector" React-logger: - :path: "./node_modules/react-native/ReactCommon/logger" + :path: "../node_modules/react-native/ReactCommon/logger" react-native-appboy-sdk: - :path: node_modules/react-native-appboy-sdk + :path: "../node_modules/react-native-appboy-sdk" react-native-cameraroll: - :path: "node_modules/@react-native-community/cameraroll" + :path: "../node_modules/@react-native-community/cameraroll" react-native-config: - :path: node_modules/react-native-config + :path: "../node_modules/react-native-config" react-native-cookies: - :path: "node_modules/@react-native-cookies/cookies" + :path: "../node_modules/@react-native-cookies/cookies" react-native-fbsdk-next: - :path: node_modules/react-native-fbsdk-next + :path: "../node_modules/react-native-fbsdk-next" react-native-flipper: - :path: node_modules/react-native-flipper + :path: "../node_modules/react-native-flipper" react-native-geolocation: - :path: "node_modules/@react-native-community/geolocation" + :path: "../node_modules/@react-native-community/geolocation" react-native-image-resizer: - :path: node_modules/react-native-image-resizer + :path: "../node_modules/react-native-image-resizer" react-native-in-app-review: - :path: node_modules/react-native-in-app-review + :path: "../node_modules/react-native-in-app-review" react-native-mapbox-gl: - :path: "node_modules/@react-native-mapbox-gl/maps" + :path: "../node_modules/@react-native-mapbox-gl/maps" react-native-netinfo: - :path: "node_modules/@react-native-community/netinfo" + :path: "../node_modules/@react-native-community/netinfo" react-native-safe-area-context: - :path: node_modules/react-native-safe-area-context + :path: "../node_modules/react-native-safe-area-context" react-native-slider: - :path: "node_modules/@react-native-community/slider" + :path: "../node_modules/@react-native-community/slider" react-native-view-shot: - :path: node_modules/react-native-view-shot + :path: "../node_modules/react-native-view-shot" react-native-viewpager: - :path: "node_modules/@react-native-community/viewpager" + :path: "../node_modules/@react-native-community/viewpager" react-native-webview: - :path: node_modules/react-native-webview + :path: "../node_modules/react-native-webview" React-perflogger: - :path: "./node_modules/react-native/ReactCommon/reactperflogger" + :path: "../node_modules/react-native/ReactCommon/reactperflogger" React-RCTActionSheet: - :path: "./node_modules/react-native/Libraries/ActionSheetIOS" + :path: "../node_modules/react-native/Libraries/ActionSheetIOS" React-RCTAnimation: - :path: "./node_modules/react-native/Libraries/NativeAnimation" + :path: "../node_modules/react-native/Libraries/NativeAnimation" React-RCTBlob: - :path: "./node_modules/react-native/Libraries/Blob" + :path: "../node_modules/react-native/Libraries/Blob" React-RCTImage: - :path: "./node_modules/react-native/Libraries/Image" + :path: "../node_modules/react-native/Libraries/Image" React-RCTLinking: - :path: "./node_modules/react-native/Libraries/LinkingIOS" + :path: "../node_modules/react-native/Libraries/LinkingIOS" React-RCTNetwork: - :path: "./node_modules/react-native/Libraries/Network" + :path: "../node_modules/react-native/Libraries/Network" React-RCTSettings: - :path: "./node_modules/react-native/Libraries/Settings" + :path: "../node_modules/react-native/Libraries/Settings" React-RCTText: - :path: "./node_modules/react-native/Libraries/Text" + :path: "../node_modules/react-native/Libraries/Text" React-RCTVibration: - :path: "./node_modules/react-native/Libraries/Vibration" + :path: "../node_modules/react-native/Libraries/Vibration" React-runtimeexecutor: - :path: "./node_modules/react-native/ReactCommon/runtimeexecutor" + :path: "../node_modules/react-native/ReactCommon/runtimeexecutor" ReactCommon: - :path: "./node_modules/react-native/ReactCommon" + :path: "../node_modules/react-native/ReactCommon" rn-fetch-blob: - :path: node_modules/rn-fetch-blob + :path: "../node_modules/rn-fetch-blob" RNAnalytics: - :path: "node_modules/@segment/analytics-react-native" + :path: "../node_modules/@segment/analytics-react-native" RNAnalyticsIntegration-Adjust: - :path: "node_modules/@segment/analytics-react-native-adjust" + :path: "../node_modules/@segment/analytics-react-native-adjust" RNAnalyticsIntegration-Appboy: - :path: "node_modules/@segment/analytics-react-native-appboy" + :path: "../node_modules/@segment/analytics-react-native-appboy" RNAppleAuthentication: - :path: "node_modules/@invertase/react-native-apple-authentication" + :path: "../node_modules/@invertase/react-native-apple-authentication" RNBootSplash: - :path: node_modules/react-native-bootsplash + :path: "../node_modules/react-native-bootsplash" RNCAsyncStorage: - :path: "node_modules/@react-native-async-storage/async-storage" + :path: "../node_modules/@react-native-async-storage/async-storage" RNCClipboard: - :path: "node_modules/@react-native-community/clipboard" + :path: "../node_modules/@react-native-community/clipboard" RNCMaskedView: - :path: "node_modules/@react-native-community/masked-view" + :path: "../node_modules/@react-native-community/masked-view" RNDateTimePicker: - :path: "node_modules/@react-native-community/datetimepicker" + :path: "../node_modules/@react-native-community/datetimepicker" RNDeviceInfo: - :path: node_modules/react-native-device-info + :path: "../node_modules/react-native-device-info" RNGestureHandler: - :path: node_modules/react-native-gesture-handler + :path: "../node_modules/react-native-gesture-handler" RNGoogleSignin: - :path: "node_modules/@react-native-google-signin/google-signin" + :path: "../node_modules/@react-native-google-signin/google-signin" RNImageCropPicker: - :path: node_modules/react-native-image-crop-picker + :path: "../node_modules/react-native-image-crop-picker" RNKeychain: - :path: node_modules/react-native-keychain + :path: "../node_modules/react-native-keychain" RNLocalize: - :path: node_modules/react-native-localize + :path: "../node_modules/react-native-localize" RNReactNativeHapticFeedback: - :path: node_modules/react-native-haptic-feedback + :path: "../node_modules/react-native-haptic-feedback" RNReanimated: - :path: node_modules/react-native-reanimated + :path: "../node_modules/react-native-reanimated" RNScreens: - :path: node_modules/react-native-screens + :path: "../node_modules/react-native-screens" RNSentry: - :path: "node_modules/@sentry/react-native" + :path: "../node_modules/@sentry/react-native" RNShare: - :path: node_modules/react-native-share + :path: "../node_modules/react-native-share" RNSVG: - :path: node_modules/react-native-svg + :path: "../node_modules/react-native-svg" tipsi-stripe: - :path: node_modules/tipsi-stripe + :path: "../node_modules/tipsi-stripe" Yoga: - :path: "./node_modules/react-native/ReactCommon/yoga" + :path: "../node_modules/react-native/ReactCommon/yoga" CHECKOUT OPTIONS: AFOAuth1Client: @@ -1168,10 +1168,10 @@ SPEC CHECKSUMS: FBSDKLoginKit: aea68df6121c5e165ccae2fabfdc83c4644ee40f FBSDKShareKit: 70889c97c62f0c6b3ccb8b999e73a85f19024001 FBSnapshotTestCase: 094f9f314decbabe373b87cc339bea235a63e07a - Firebase: 4bb49ae87756034cef870fa3c4006235eb46f475 + Firebase: b5956acddaaa53a6c292bec00649fadd18367344 FirebaseAuth: e069ff5736fe9d5dcf61f36244bb1b1ce1897d17 FirebaseCore: 389c4ce9a7cce4a7e25eb22326b4bee0050557b2 - FirebaseCoreDiagnostics: 3e249cee3de5c5f9cfd6cc2a19997231286fec11 + FirebaseCoreDiagnostics: 92e07a649aeb66352b319d43bdd2ee3942af84cb Flipper: 1bd2db48dcc31e4b167b9a33ec1df01c2ded4893 Flipper-Boost-iOSX: fd1e2b8cbef7e662a122412d7ac5f5bea715403c Flipper-DoubleConversion: 57ffbe81ef95306cc9e69c4aa3aeeeeb58a6a28c @@ -1186,9 +1186,9 @@ SPEC CHECKSUMS: Forgeries: 64ced144ea8341d89a7eec9d1d7986f0f1366250 FXBlurView: db786c2561cb49a09ae98407f52460096ab8a44f glog: 5337263514dd6f09803962437687240c5dc39aa4 - GoogleDataTransport: 04c3e9a480bbcaa2ec3f5d27f1cdeb6a92f20c8d + GoogleDataTransport: 629c20a4d363167143f30ea78320d5a7eb8bd940 GoogleSignIn: 7137d297ddc022a7e0aa4619c86d72c909fa7213 - GoogleUtilities: f8a43108b38a68eebe8b3540e1f4f2d28843ce20 + GoogleUtilities: e0913149f6b0625b553d70dae12b49fc62914fd1 GTMAppAuth: ad5c2b70b9a8689e1a04033c9369c4915bfcbe89 GTMSessionFetcher: b3503b20a988c4e20cc189aa798fd18220133f52 Interstellar: ab67502af03105f92100a043e178d188a1a437c9 @@ -1200,7 +1200,7 @@ SPEC CHECKSUMS: libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913 Mantle: a197db93e0f1e36194b1fdbc078219a8492eaef2 Mapbox-iOS-SDK: f870f83cbdc7aa4a74afcee143aafb0dae390c82 - MapboxMobileEvents: e78db24b348f48e41e5895be7dc16e5b1bb43562 + MapboxMobileEvents: 5a172cc9bbf8ac0e45ba86095cbee685ede248cc MARKRangeSlider: dbf0878b03e921b52e4ef1e7766c1a8affb0c577 MMMarkdown: 44f1c5216cfcd70bc0e076b0f91876d6323a73b8 MultiDelegate: 228e2321b74f45ea43ae19c268fdd60fd88d99b7 @@ -1214,7 +1214,7 @@ SPEC CHECKSUMS: OpenSSL-Universal: 1aa4f6a6ee7256b83db99ec1ccdaa80d10f9af9b ORKeyboardReactingApplication: 05af5ead40af968d5423d54b6a0dc050858b0e82 ORStackView: b9507271cb41fb9e0b3eecc6414d831201e7cf7c - PromisesObjC: 3113f7f76903778cf4a0586bd1ab89329a0b7b97 + PromisesObjC: 99b6f43f9e1044bd87a95a60beff28c2c44ddb72 Pulley: edc993fb57f7eb20541c8453d0fce10559f21dac Quick: ce1276c7c27ba2da3cb2fd0cde053c3648b3b22d RCT-Folly: a21c126816d8025b547704b777a2ba552f3d9fa9 @@ -1231,7 +1231,7 @@ SPEC CHECKSUMS: React-logger: 933f80c97c633ee8965d609876848148e3fef438 react-native-appboy-sdk: e4e36787766637d5c60da264b66f4389ed479867 react-native-cameraroll: 463aff54e37cff27ea76eb792e6f1fa43b876320 - react-native-config: a9b4c57e18a1322de74d052df887535228c9eac7 + react-native-config: d622ebb3a7c42b072f3f24547badd43147cf84f9 react-native-cookies: cd92f3824ed1e32a20802e8185101e14bb5b76da react-native-fbsdk-next: 19e974b071047b7ed1dad86a9dc3fe77dff76b8c react-native-flipper: 8d0ada062fbc2c7460cc0d343aded6fc3f9c90dc @@ -1289,13 +1289,13 @@ SPEC CHECKSUMS: SwiftyJSON: 070dabdcb1beb81b247c65ffa3a79dbbfb3b48aa Then: ee21c97b85ff6062b9b0080c9abb1eea46743345 tipsi-stripe: 8aaaa6f5e4cfea5c35be3affbb616c4e6cfafa5f - TOCropViewController: da59f531f8ac8a94ef6d6c0fc34009350f9e8bfe + TOCropViewController: edfd4f25713d56905ad1e0b9f5be3fbe0f59c863 UICKeyChainStore: e81dc3b58d56ffaed61ab6669eb97071e53fc377 "UIView+BooleanAnimations": a760be9a066036e55f298b7b7350a6cb14cfcd97 "XCTest+OHHTTPStubSuiteCleanUp": 4469ec8863c6bc022c5089a9b94233eb3416c5ee Yoga: e7dc4e71caba6472ff48ad7d234389b91dadc280 YogaKit: f782866e155069a2cca2517aafea43200b01fd5a -PODFILE CHECKSUM: a2afb99807fb9244380de75ee399c649b6ae0ef3 +PODFILE CHECKSUM: a813d8e9cd6f7d80fd7c105a0c2a80e8898e9f5f COCOAPODS: 1.11.3 diff --git a/package.json b/package.json index bea520f3934..0e787509999 100644 --- a/package.json +++ b/package.json @@ -22,8 +22,7 @@ "doctor": "./scripts/doctor.js", "generate-cities-cache": "node scripts/generate-cities-cache.js", "generate-cities-objc": "node scripts/generate-cities-objc.js", - "generate-graphql-query-map": "node scripts/generate-graphql-query-map.js > emission/Pod/Classes/GraphQL/ARGraphQLQueryMap.generated.objc", - "ios": "node node_modules/react-native/local-cli/cli.js run-ios", + "ios": "react-native run-ios", "android": "react-native run-android", "clean-ios": "yarn rimraf ~/Library/Developer/Xcode/DerivedData", "clean-android": "cd android; ./gradlew clean cleanBuildCache; cd -", @@ -31,13 +30,13 @@ "flip_table": "./scripts/flip-table", "flip_table_extreme": "./scripts/flip-table-extreme", "install:all": "./scripts/install", - "pod-install": "bundle exec pod install; ./scripts/post-pod-install.rb", - "pod-install-repo-update": "bundle exec pod install --repo-update; ./scripts/post-pod-install.rb", + "pod-install": "cd ios; bundle exec pod install; cd ..; ./scripts/post-pod-install.rb", + "pod-install-repo-update": "cd ios; bundle exec pod install --repo-update; cd ..; ./scripts/post-pod-install.rb", "lint-fix": "yarn lint --fix; yarn prettier-project", "lint": "tslint 'src/**/*.{ts,tsx}'", "open-sim": "open -a Simulator", "open-url": "npx uri-scheme open", - "postinstall": "prettier --write package.json; ./scripts/update-echo", + "postinstall": "yarn init-metaflags; prettier --write package.json; ./scripts/update-echo", "prepare": "patch-package && husky install", "prettier-project": "yarn run prettier-write 'src/**/*.{ts,tsx}'", "prettier-write": "prettier --write", @@ -45,11 +44,8 @@ "setup:artsy": "./scripts/setup-env-for-artsy", "setup:oss": "./scripts/setup-env-for-oss", "setup:artsy:update!": "scripts/update-env-for-artsy", - "start-packager": "./scripts/start_packager.sh", - "start-packager-after-relay": "yarn relay && yarn start-packager", - "start-servers": "concurrently --kill-others -n metro,relay 'yarn start-packager-after-relay' 'yarn relay --watch'", "prestart": "./scripts/set-storybook-environment.js", - "start": "STORYBOOK=0 yarn start-servers", + "start": "concurrently --kill-others -n metro,relay 'yarn react-native start' 'yarn relay --watch'", "sync-cities": "curl https://raw.githubusercontent.com/artsy/metaphysics/main/src/schema/city/cityDataSortedByDisplayPreference.json -o data/cityDataSortedByDisplayPreference.json", "sync-schema": "curl https://raw.githubusercontent.com/artsy/metaphysics/main/_schemaV2.graphql -o data/schema.graphql; yarn prettier --write --parser graphql data/schema.graphql", "sync-schema:localhost": "cd ../metaphysics && yarn dump-schema v2 ../eigen/data/", @@ -61,6 +57,8 @@ "storybook-android": "npx artsy open -a storybook", "prestart-storybook": "yarn sb-rn-get-stories --config-path ./src/storybook", "start-storybook": "STORYBOOK=1 yarn start", + "init-metaflags": "jq -Rn '{ startStorybook: false }' | sponge metaflags.json", + "postinit-metaflags": "rimraf storybook.json", "secrets:audit": "detect-secrets audit .secrets.baseline", "secrets:check:staged": "scripts/secrets-check-staged", "secrets:check:all": "scripts/secrets-check-all", @@ -221,7 +219,7 @@ "@types/extract-files": "8.1.1", "@types/google-libphonenumber": "7.4.23", "@types/jest": "26.0.24", - "@types/lodash": "4.14.179", + "@types/lodash": "4.14.180", "@types/luxon": "2.0.9", "@types/moment-timezone": "0.5.30", "@types/node": "14.17.34", @@ -299,6 +297,7 @@ "relay-test-utils": "12.0.0", "rimraf": "3.0.2", "snapshot-diff": "0.2.2", + "sponge": "0.1.0", "tmp": "0.2.1", "ts-node": "8.4.1", "tslint": "5.14.0", diff --git a/patches/react-native-config+1.5.0.patch b/patches/react-native-config+1.5.0.patch index 25598e057b5..014f689749f 100644 --- a/patches/react-native-config+1.5.0.patch +++ b/patches/react-native-config+1.5.0.patch @@ -1,14 +1,11 @@ diff --git a/node_modules/react-native-config/react-native-config.podspec b/node_modules/react-native-config/react-native-config.podspec -index 54985dd..e9cab1e 100644 +index 54985dd..d9fac08 100644 --- a/node_modules/react-native-config/react-native-config.podspec +++ b/node_modules/react-native-config/react-native-config.podspec -@@ -21,7 +21,16 @@ Pod::Spec.new do |s| +@@ -21,6 +21,14 @@ Pod::Spec.new do |s| name: 'Config codegen', script: %( set -ex --HOST_PATH="$SRCROOT/../.." -+# Eigen doesn't use standard React Native folder structure (yet) so we have to do this hack. -+HOST_PATH="$SRCROOT/.." +# Use CI or shared env file. +if [ -z ${CI+x} ]; then + echo "Not running on CI, using shared env file"; @@ -17,6 +14,6 @@ index 54985dd..e9cab1e 100644 + echo "Running on CI, using CI env file"; + export ENVFILE=".env.ci"; +fi + HOST_PATH="$SRCROOT/../.." "${PODS_TARGET_SRCROOT}/ios/ReactNativeConfig/BuildDotenvConfig.rb" "$HOST_PATH" "${PODS_TARGET_SRCROOT}/ios/ReactNativeConfig" ), - execution_position: :before_compile, diff --git a/platform-deltas.txt b/platform-deltas.txt new file mode 100644 index 00000000000..0dffb0b8bf4 --- /dev/null +++ b/platform-deltas.txt @@ -0,0 +1,27 @@ +This is a running document of UX, DX/code deltas between Android and iOS we find while working on app shell. Ultimately our goal is to get as close as possible to parity on the two platforms for both DX/code and UX. + +The major exceptions are supporting platform specific features or if we have to sacrifice DX for UX. Meaning if we can provide a better UX by having a fork in the code base or writing platform specific code we should choose UX over DX, but we have a lot of places in the code base where we could consolidate without sacrificing UX. + +DX: + +Push Notifications: +- on iOS these are handled via custom native modules and code on native side, we also have an extension for supporting rich push notifications, on Android we use an npm package, react-native-push-notification, and cofigure using a hook on login. Can we use the same library on iOS? + + +UX: + +ImageViews (native on iOS, rn image view on Android): +- on iOS we use a native component AROpaqueImageView which handles things like caching for us, on Android we just use Image from react-native, can we use react-native-fast-image on both platforms? + +View In Room (iOS only): +- we support viewing artworks on walls, this is all native iOS code that has not been ported to Android + +City Guide (iOS only): +- we have a map driven feature for finding fairs, galleries and shows in supported cities, you get there through a tile in search tab, this feature is semi-deprecated so likely won't be ported to android, it is a combination of both native and react-native code + +Media Previews (iOS only): +- in inquiries galleries can respond to messages with attachments, tapping on a message with a PDF or image attachment shows a new window with a preview, +seems like there should be a library or this should be straightforward to do on Android as well + +Live Auctions: +- On iOS we have native screens for handling live auctions and bidding via websockets, on Android we use prediction via a webview. Don't know numbers but would guess that it would be worthwhile to have a native experience on both platforms to improve UX diff --git a/scripts/build-for-tests-ios b/scripts/build-for-tests-ios index a019f9b7f0f..a453d6bd9ae 100755 --- a/scripts/build-for-tests-ios +++ b/scripts/build-for-tests-ios @@ -1,7 +1,6 @@ #!/usr/bin/env bash set -euxo pipefail - source ./scripts/source-for-bash-env ./scripts/setup-distribute diff --git a/scripts/doctor.js b/scripts/doctor.js index 45fed98c588..94aa1241b5f 100755 --- a/scripts/doctor.js +++ b/scripts/doctor.js @@ -91,7 +91,10 @@ const checkBundlerDependenciesAreUpToDate = () => { exec("bundle check") YES(`Your ${g`bundler dependencies`} are ready to go.`) } catch (e) { - NO(`Your ${r`bundle dependencies`} are out of sync.`, `Run ${g`yarn install:all`} or ${g`bundle install`} first.`) + NO( + `Your ${r`bundle dependencies`} are out of sync.`, + `Run ${g`yarn install:all`} or ${g`bundle install`} first.` + ) } } @@ -99,7 +102,10 @@ const checkNodeDependenciesAreUpToDate = async () => { const res = await checkDependencies() if (res.error.length > 0) { - NO(`Your ${r`node dependencies`} are out of sync.`, `Run ${g`yarn install:all`} or ${g`yarn install`} first.`) + NO( + `Your ${r`node dependencies`} are out of sync.`, + `Run ${g`yarn install:all`} or ${g`yarn install`} first.` + ) } else { YES(`Your ${g`node dependencies`} match the ones specifed in package.json.`) } diff --git a/scripts/download-assets b/scripts/download-assets index e2f4e8c7840..e2ef44c455d 100755 --- a/scripts/download-assets +++ b/scripts/download-assets @@ -8,6 +8,6 @@ then fi aws s3 cp s3://artsy-citadel/eigen/google-services.json android/app/google-services.json -aws s3 cp s3://artsy-citadel/eigen/GoogleService-Info.plist GoogleService-Info.plist +aws s3 cp s3://artsy-citadel/eigen/GoogleService-Info.plist ios/Artsy/GoogleService-Info.plist ./scripts/download-fonts diff --git a/scripts/download-fonts b/scripts/download-fonts index 6a1c0423dcd..0034483c90d 100755 --- a/scripts/download-fonts +++ b/scripts/download-fonts @@ -13,8 +13,7 @@ tar -xvzf fonts.tar.gz -C ./fonts cp ./fonts/android/* android/app/src/main/assets/fonts # iOS -mkdir -p ./Pods/Artsy+UIFonts/Pod/Assets -cp ./fonts/ios/* Pods/Artsy+UIFonts/Pod/Assets +cp ./fonts/ios/* ios/Artsy/fonts # Cleanup rm -rf ./fonts.tar.gz diff --git a/scripts/post-pod-install.rb b/scripts/post-pod-install.rb index 45e0d411353..7fc7a3f325e 100755 --- a/scripts/post-pod-install.rb +++ b/scripts/post-pod-install.rb @@ -22,7 +22,7 @@ def fix_fonts_in_uifonts_pod system("./scripts/download-fonts") - font_file = "Pods/Artsy+UIFonts/Pod/Classes/UIFont+ArtsyFonts.m" + font_file = "ios/Pods/Artsy+UIFonts/Pod/Classes/UIFont+ArtsyFonts.m" system("chmod +w #{font_file}") contents = File.read(font_file) changed = contents.gsub(/static BOOL useClosedFonts = false;/, "static BOOL useClosedFonts = true;") diff --git a/scripts/set_packager_host.sh b/scripts/set_packager_host.sh index 8861cdddba3..0eb131f69a7 100755 --- a/scripts/set_packager_host.sh +++ b/scripts/set_packager_host.sh @@ -48,4 +48,4 @@ OUTPUT=$(cat << EOF @end EOF) -echo "$OUTPUT" > Artsy/Networking/ARReactPackagerHost.m +echo "$OUTPUT" > $PROJECT_DIR/Artsy/Networking/ARReactPackagerHost.m \ No newline at end of file diff --git a/scripts/setup-distribute-macos b/scripts/setup-distribute-macos index 3d33022e2ac..6b7b949eaa3 100755 --- a/scripts/setup-distribute-macos +++ b/scripts/setup-distribute-macos @@ -8,4 +8,4 @@ bundle exec fastlane update_plugins ./scripts/setup-awscli -aws s3 cp s3://artsy-citadel/eigen/GoogleService-Info.plist GoogleService-Info.plist +aws s3 cp s3://artsy-citadel/eigen/GoogleService-Info.plist ios/Artsy/GoogleService-Info.plist diff --git a/scripts/setup-env-for-ci b/scripts/setup-env-for-ci index c4b99259e77..39edbcf86d7 100755 --- a/scripts/setup-env-for-ci +++ b/scripts/setup-env-for-ci @@ -6,4 +6,3 @@ touch .env.ci aws s3 cp s3://artsy-citadel/dev/.env.eigen .env.ci cp metaflags.example.json metaflags.json - diff --git a/scripts/source-for-bash-env b/scripts/source-for-bash-env index 221393d54b0..427e6123777 100755 --- a/scripts/source-for-bash-env +++ b/scripts/source-for-bash-env @@ -1,3 +1,4 @@ + #!/usr/bin/env bash set -euxo pipefail @@ -6,10 +7,10 @@ LOCAL_BRANCH=$(git rev-parse --abbrev-ref HEAD) export LOCAL_BRANCH # ios -export WORKSPACE="Artsy.xcworkspace" +export WORKSPACE="ios/Artsy.xcworkspace" export SCHEME="Artsy" export DEVICE_HOST_PLAT="iOS Simulator" export DEVICE_HOST_OS="15.2" export DEVICE_HOST_NAME="iPhone 13 Pro" export DERIVED_DATA_PATH="derived_data" -export CONFIGURATION="Beta" +export CONFIGURATION="Release" \ No newline at end of file diff --git a/scripts/start_packager.sh b/scripts/start_packager.sh deleted file mode 100755 index 53abb19963d..00000000000 --- a/scripts/start_packager.sh +++ /dev/null @@ -1,8 +0,0 @@ -# if the user has the React Native Debugger app installed, then use that -# otherwise, at time of writing, it opens chrome - -if [ -d '/Applications/React Native Debugger.app' ] -then - export REACT_DEBUGGER="open 'rndebugger://set-debugger-loc?host=localhost&port=8081' --args" -fi -node node_modules/react-native/local-cli/cli.js start diff --git a/scripts/update-echo b/scripts/update-echo index 2b64c3de9df..26d16189c99 100755 --- a/scripts/update-echo +++ b/scripts/update-echo @@ -2,5 +2,5 @@ set -euxo pipefail -curl https://echo.artsy.net/Echo.json > Artsy/App/EchoNew.json -yarn prettier -w Artsy/App/EchoNew.json +curl https://echo.artsy.net/Echo.json > ios/Artsy/App/EchoNew.json +yarn prettier -w ios/Artsy/App/EchoNew.json diff --git a/src/app/AndroidApp.tsx b/src/app/App.tsx similarity index 88% rename from src/app/AndroidApp.tsx rename to src/app/App.tsx index 2b51e4268e0..fb235015651 100644 --- a/src/app/AndroidApp.tsx +++ b/src/app/App.tsx @@ -9,7 +9,7 @@ import { import { useDeepLinks } from "app/utils/useDeepLinks" import { useStripeConfig } from "app/utils/useStripeConfig" import React, { useEffect } from "react" -import { UIManager, View } from "react-native" +import { Platform, UIManager, View } from "react-native" import RNBootSplash from "react-native-bootsplash" import { AppProviders } from "./AppProviders" import { useWebViewCookies } from "./Components/ArtsyReactWebView" @@ -30,6 +30,7 @@ import { useIdentifyUser } from "./utils/useIdentifyUser" import { useInitialNotification } from "./utils/useInitialNotification" import { usePreferredThemeTracking } from "./utils/usePreferredThemeTracking" import { useScreenReaderTracking } from "./utils/useScreenReaderTracking" +import useSyncNativeAuthState from "./utils/useSyncAuthState" addTrackingProvider(SEGMENT_TRACKING_PROVIDER, SegmentTrackingProvider) addTrackingProvider("console", ConsoleTrackingProvider) @@ -61,6 +62,7 @@ const Main: React.FC = () => { useInitialNotification() useInitializeQueryPrefetching() useIdentifyUser() + useSyncNativeAuthState() useEffect(() => { createAllChannels() @@ -74,13 +76,17 @@ const Main: React.FC = () => { if (isHydrated) { // We wait a bit until the UI finishes drawing behind the splash screen setTimeout(() => { - RNBootSplash.hide().then(() => { - requestAnimationFrame(() => { - ArtsyNativeModule.lockActivityScreenOrientation() + if (Platform.OS === "android") { + RNBootSplash.hide().then(() => { + requestAnimationFrame(() => { + ArtsyNativeModule.lockActivityScreenOrientation() + }) }) - }) - ArtsyNativeModule.setAppStyling() - if (isLoggedIn) { + } + if (Platform.OS === "android") { + ArtsyNativeModule.setAppStyling() + } + if (isLoggedIn && Platform.OS === "android") { ArtsyNativeModule.setNavigationBarColor("#FFFFFF") ArtsyNativeModule.setAppLightContrast(false) } diff --git a/src/app/AppRegistry.tsx b/src/app/AppRegistry.tsx index 610a8c194fc..438ac99b330 100644 --- a/src/app/AppRegistry.tsx +++ b/src/app/AppRegistry.tsx @@ -1,23 +1,22 @@ // keep this import of storybook first, otherwise it might produce errors when debugging // import { StorybookUIRoot } from "../storybook/storybook-ui" -import { GoogleSignin } from "@react-native-google-signin/google-signin" -import React, { useEffect } from "react" +import React from "react" import { AppRegistry, LogBox, Platform, View } from "react-native" import { GraphQLTaggedNode } from "relay-runtime" import { SafeAreaInsets, useScreenDimensions } from "shared/hooks" import { ArtsyKeyboardAvoidingViewContext } from "shared/utils" import { AppProviders } from "./AppProviders" -import { ArtsyReactWebViewPage, useWebViewCookies } from "./Components/ArtsyReactWebView" +import { ArtsyReactWebViewPage } from "./Components/ArtsyReactWebView" import { FadeIn } from "./Components/FadeIn" -import { FPSCounter } from "./Components/FPSCounter" import { BidFlow } from "./Containers/BidFlow" import { InboxQueryRenderer, InboxScreenQuery } from "./Containers/Inbox" import { InquiryQueryRenderer } from "./Containers/Inquiry" import { RegistrationFlow } from "./Containers/RegistrationFlow" import { WorksForYouQueryRenderer, WorksForYouScreenQuery } from "./Containers/WorksForYou" -import { useErrorReporting } from "./errorReporting/hooks" -import { usePurgeCacheOnAppUpdate } from "./relay/usePurgeCacheOnAppUpdate" +import { Admin } from "./NativeModules/Admin" +import { CityGuideView } from "./NativeModules/CityGuideView" +import { LiveAuctionView } from "./NativeModules/LiveAuctionView" import { About } from "./Scenes/About/About" import { ArticlesScreen, ArticlesScreenQuery } from "./Scenes/Articles/Articles" import { ArtistQueryRenderer, ArtistScreenQuery } from "./Scenes/Artist/Artist" @@ -35,7 +34,6 @@ import { AuctionResultsForArtistsYouFollowScreenQuery, } from "./Scenes/AuctionResultsForArtistsYouFollow/AuctionResultsForArtistsYouFollow" import { BottomTabs } from "./Scenes/BottomTabs/BottomTabs" -import { BottomTabsNavigator } from "./Scenes/BottomTabs/BottomTabsNavigator" import { BottomTabOption, BottomTabType } from "./Scenes/BottomTabs/BottomTabType" import { CityView } from "./Scenes/City" import { CityBMWListQueryRenderer } from "./Scenes/City/CityBMWList" @@ -52,7 +50,6 @@ import { FairBMWArtActivationQueryRenderer } from "./Scenes/Fair/FairBMWArtActiv import { FairMoreInfoQueryRenderer } from "./Scenes/Fair/FairMoreInfo" import { Favorites } from "./Scenes/Favorites/Favorites" import { FeatureQueryRenderer } from "./Scenes/Feature/Feature" -import { ForceUpdate } from "./Scenes/ForceUpdate/ForceUpdate" import { GeneQueryRenderer } from "./Scenes/Gene/Gene" import { HomeQueryRenderer } from "./Scenes/Home/Home" import { MakeOfferModalQueryRenderer } from "./Scenes/Inbox/Components/Conversations/MakeOfferModal" @@ -92,7 +89,6 @@ import { NewWorksForYouQueryRenderer, NewWorksForYouScreenQuery, } from "./Scenes/NewWorksForYou/NewWorksForYou" -import { Onboarding } from "./Scenes/Onboarding/Onboarding" import { OrderDetailsQueryRender } from "./Scenes/OrderHistory/OrderDetails/Components/OrderDetails" import { OrderHistoryQueryRender } from "./Scenes/OrderHistory/OrderHistory" import { PartnerQueryRenderer } from "./Scenes/Partner" @@ -120,23 +116,15 @@ import { ViewingRoomsListScreen, ViewingRoomsListScreenQuery, } from "./Scenes/ViewingRoom/ViewingRoomsList" -import { GlobalStore, useDevToggle, useSelectedTab } from "./store/GlobalStore" +import { GlobalStore, useSelectedTab } from "./store/GlobalStore" import { propsStore } from "./store/PropsStore" import { AdminMenu } from "./utils/AdminMenu" -import { useInitializeQueryPrefetching } from "./utils/queryPrefetching" import { addTrackingProvider, Schema, screenTrack } from "./utils/track" import { ConsoleTrackingProvider } from "./utils/track/ConsoleTrackingProvider" import { SEGMENT_TRACKING_PROVIDER, SegmentTrackingProvider, } from "./utils/track/SegmentTrackingProvider" -import { useDebugging } from "./utils/useDebugging" -import { useFreshInstallTracking } from "./utils/useFreshInstallTracking" -import { useIdentifyUser } from "./utils/useIdentifyUser" -import { usePreferredThemeTracking } from "./utils/usePreferredThemeTracking" -import { useScreenReaderTracking } from "./utils/useScreenReaderTracking" -import { useStripeConfig } from "./utils/useStripeConfig" -import useSyncNativeAuthState from "./utils/useSyncAuthState" LogBox.ignoreLogs([ "Non-serializable values were found in the navigation state", @@ -190,23 +178,34 @@ const Conversation: React.FC = screenTrack interface PageWrapperProps { fullBleed?: boolean isMainView?: boolean + ignoreTabs?: boolean ViewComponent: React.ComponentType viewProps: any moduleName: string } -function InnerPageWrapper({ fullBleed, isMainView, ViewComponent, viewProps }: PageWrapperProps) { +const InnerPageWrapper: React.FC = ({ + fullBleed, + isMainView, + ignoreTabs = false, + ViewComponent, + viewProps, +}) => { const safeAreaInsets = useScreenDimensions().safeAreaInsets const paddingTop = fullBleed ? 0 : safeAreaInsets.top const paddingBottom = isMainView ? 0 : safeAreaInsets.bottom const isHydrated = GlobalStore.useAppState((state) => state.sessionState.isHydrated) // if we're in a modal, just pass isVisible through - const currentTab = useSelectedTab() + let isVisible = viewProps.isVisible - if (BottomTabOption[viewProps.navStackID as BottomTabType]) { - // otherwise, make sure it respects the current tab - isVisible = isVisible && currentTab === viewProps.navStackID + if (!ignoreTabs) { + const currentTab = useSelectedTab() + if (BottomTabOption[viewProps.navStackID as BottomTabType]) { + // otherwise, make sure it respects the current tab + isVisible = isVisible && currentTab === viewProps.navStackID + } } + const isPresentedModally = viewProps.isPresentedModally return ( - Queries?: GraphQLTaggedNode[] - options: ViewOptions - } - | { - type: "native" - options: ViewOptions - } +// tslint:disable-next-line: interface-over-type-literal +type ModuleDescriptor = { + type: "react" + Component: React.ComponentType + Queries?: GraphQLTaggedNode[] + options: ViewOptions +} function reactModule( Component: React.ComponentType, @@ -303,10 +299,6 @@ function reactModule( return { type: "react", options, Component, Queries } } -function nativeModule(options: ViewOptions = {}): ModuleDescriptor { - return { type: "native", options } -} - // little helper function to make sure we get both intellisense and good type information on the result function defineModules(obj: Record) { return obj @@ -316,7 +308,7 @@ export type AppModule = keyof typeof modules export const modules = defineModules({ // Storybook: reactModule(StorybookUIRoot, { fullBleed: true, hidesBackButton: true }), - Admin: nativeModule({ alwaysPresentModally: true }), + Admin: reactModule(Admin, { alwaysPresentModally: true }), Admin2: reactModule(AdminMenu, { alwaysPresentModally: true, hasOwnModalCloseButton: true }), About: reactModule(About), AddOrEditMyCollectionArtwork: reactModule(MyCollectionArtworkForm, { hidesBackButton: true }), @@ -355,10 +347,10 @@ export const modules = defineModules({ hasOwnModalCloseButton: true, }), BottomTabs: reactModule(BottomTabs, { fullBleed: true }), - City: reactModule(CityView, { fullBleed: true }), + City: reactModule(CityView, { fullBleed: true, ignoreTabs: true }), CityBMWList: reactModule(CityBMWListQueryRenderer, { fullBleed: true }), CityFairList: reactModule(CityFairListQueryRenderer, { fullBleed: true }), - CityPicker: reactModule(CityPicker, { fullBleed: true }), + CityPicker: reactModule(CityPicker, { fullBleed: true, ignoreTabs: true }), CitySavedList: reactModule(CitySavedListQueryRenderer), CitySectionList: reactModule(CitySectionListQueryRenderer), Collection: reactModule(CollectionQueryRenderer, { fullBleed: true }), @@ -379,12 +371,12 @@ export const modules = defineModules({ Home: reactModule(HomeQueryRenderer, { isRootViewForTabName: "home" }), Inbox: reactModule(InboxQueryRenderer, { isRootViewForTabName: "inbox" }, [InboxScreenQuery]), Inquiry: reactModule(Inquiry, { alwaysPresentModally: true, hasOwnModalCloseButton: true }), - LiveAuction: nativeModule({ + LiveAuction: reactModule(LiveAuctionView, { alwaysPresentModally: true, hasOwnModalCloseButton: true, modalPresentationStyle: "fullScreen", }), - LocalDiscovery: nativeModule(), + LocalDiscovery: reactModule(CityGuideView, { fullBleed: true }), ReactWebView: reactModule(ArtsyReactWebViewPage, { fullBleed: true, hasOwnModalCloseButton: true, @@ -396,7 +388,7 @@ export const modules = defineModules({ PurchaseModal: reactModule(PurchaseModalQueryRenderer, { hasOwnModalCloseButton: true, }), - Map: reactModule(MapContainer, { fullBleed: true }), + Map: reactModule(MapContainer, { fullBleed: true, ignoreTabs: true }), NewMap: reactModule(NewMapScreen, { fullBleed: true }), MyAccount: reactModule(MyAccountQueryRenderer), MyAccountEditEmail: reactModule(MyAccountEditEmailQueryRenderer, { hidesBackButton: true }), @@ -457,65 +449,12 @@ export const modules = defineModules({ // Register react modules with the app registry for (const moduleName of Object.keys(modules)) { const descriptor = modules[moduleName as AppModule] - if ("Component" in descriptor) { - if (Platform.OS === "ios") { - register(moduleName, descriptor.Component, { - fullBleed: descriptor.options.fullBleed, - moduleName, - }) - } - } -} - -const Main: React.FC = () => { - useDebugging() - usePreferredThemeTracking() - useScreenReaderTracking() - useFreshInstallTracking() - usePurgeCacheOnAppUpdate() - - useEffect(() => { - GoogleSignin.configure({ - webClientId: "673710093763-hbj813nj4h3h183c4ildmu8vvqc0ek4h.apps.googleusercontent.com", + if (Platform.OS === "ios") { + // TODO: this should not be needed. right? + register(moduleName, descriptor.Component, { + fullBleed: descriptor.options.fullBleed, + ignoreTabs: descriptor.options.ignoreTabs, + moduleName, }) - }, []) - - const isHydrated = GlobalStore.useAppState((state) => state.sessionState.isHydrated) - const isLoggedIn = GlobalStore.useAppState((store) => store.auth.userAccessToken) - - const onboardingState = GlobalStore.useAppState((state) => state.auth.onboardingState) - const forceUpdateMessage = GlobalStore.useAppState( - (state) => state.artsyPrefs.echo.forceUpdateMessage - ) - - const fpsCounter = useDevToggle("DTFPSCounter") - useErrorReporting() - useStripeConfig() - useWebViewCookies() - useInitializeQueryPrefetching() - useIdentifyUser() - useSyncNativeAuthState() - - if (!isHydrated) { - return - } - - if (forceUpdateMessage) { - return } - - if (!isLoggedIn || onboardingState === "incomplete") { - return - } - - return ( - <> - - {!!fpsCounter && } - - ) -} - -if (Platform.OS === "ios") { - register("Artsy", Main, { fullBleed: true, isMainView: true, moduleName: "Artsy" }) } diff --git a/src/app/Components/Artist/ArtistAbout/ArtistAbout.tests.tsx b/src/app/Components/Artist/ArtistAbout/ArtistAbout.tests.tsx index 8db7347eb7e..e80a21e89cc 100644 --- a/src/app/Components/Artist/ArtistAbout/ArtistAbout.tests.tsx +++ b/src/app/Components/Artist/ArtistAbout/ArtistAbout.tests.tsx @@ -1,5 +1,6 @@ import { ArtistAboutTestsQuery } from "__generated__/ArtistAboutTestsQuery.graphql" import { StickyTabPage } from "app/Components/StickyTabPage/StickyTabPage" +import { ModalStack } from "app/navigation/ModalStack" import { __globalStoreTestUtils__ } from "app/store/GlobalStore" import { mockEnvironmentPayload } from "app/tests/mockEnvironmentPayload" import { renderWithWrappers } from "app/tests/renderWithWrappers" @@ -30,14 +31,16 @@ describe("ArtistAbout", () => { return null } return ( - , - }, - ]} - /> + + , + }, + ]} + /> + ) }} /> diff --git a/src/app/Components/Artist/ArtistConsignButton.tests.tsx b/src/app/Components/Artist/ArtistConsignButton.tests.tsx index 33a1749ba37..af6868177d1 100644 --- a/src/app/Components/Artist/ArtistConsignButton.tests.tsx +++ b/src/app/Components/Artist/ArtistConsignButton.tests.tsx @@ -1,6 +1,7 @@ import { ArtistConsignButtonTestsQuery } from "__generated__/ArtistConsignButtonTestsQuery.graphql" +import { ModalStack } from "app/navigation/ModalStack" import { navigate } from "app/navigation/navigate" -import { __globalStoreTestUtils__, GlobalStoreProvider } from "app/store/GlobalStore" + import { extractText } from "app/tests/extractText" import { mockTrackEvent } from "app/tests/globallyMockedStuff" import { renderWithWrappers } from "app/tests/renderWithWrappers" @@ -14,6 +15,14 @@ import { ArtistConsignButtonFragmentContainer, tests } from "./ArtistConsignButt jest.unmock("react-relay") +import { GlobalStoreProvider, useSelectedTab } from "app/store/GlobalStore" + +jest.mock("app/store/GlobalStore", () => ({ + GlobalStoreProvider: jest.requireActual("app/store/GlobalStore").GlobalStoreProvider, + GlobalStore: jest.requireActual("app/store/GlobalStore").GlobalStore, + useSelectedTab: jest.fn(() => "home"), +})) + describe("ArtistConsignButton", () => { let env: ReturnType @@ -32,7 +41,9 @@ describe("ArtistConsignButton", () => { if (props) { return ( - + + + ) } else if (error) { @@ -205,10 +216,6 @@ describe("ArtistConsignButton", () => { } it("sends user to sales tab if not already there", () => { - __globalStoreTestUtils__?.injectState({ - bottomTabs: { sessionState: { selectedTab: "home" } }, - }) - const tree = renderWithWrappers() act(() => { env.mock.resolveMostRecentOperation({ @@ -224,9 +231,7 @@ describe("ArtistConsignButton", () => { }) it("sends user to a new instance of landing page if user is already in sales tab", () => { - __globalStoreTestUtils__?.injectState({ - bottomTabs: { sessionState: { selectedTab: "sell" } }, - }) + ;(useSelectedTab as any).mockImplementation(() => "sell") const tree = renderWithWrappers() act(() => { diff --git a/src/app/Components/NativeTabs.tsx b/src/app/Components/NativeTabs.tsx deleted file mode 100644 index 323df6cb2e2..00000000000 --- a/src/app/Components/NativeTabs.tsx +++ /dev/null @@ -1,17 +0,0 @@ -import type { AppModule } from "app/AppRegistry" -import type { BottomTabType } from "app/Scenes/BottomTabs/BottomTabType" -import React from "react" -import { requireNativeComponent } from "react-native" - -const ARNativeTabs = requireNativeComponent("ARNativeTabs") as any - -interface NativeTabsProps { - viewProps: { - tabName: BottomTabType - rootModuleName: AppModule - } -} - -export const NativeTabs: React.FC = ({ viewProps }) => { - return -} diff --git a/src/app/Components/Toast/ToastComponent.tsx b/src/app/Components/Toast/ToastComponent.tsx index 37fcadb33a1..796fb33fada 100644 --- a/src/app/Components/Toast/ToastComponent.tsx +++ b/src/app/Components/Toast/ToastComponent.tsx @@ -13,6 +13,7 @@ const MIDDLE_TOAST_SIZE = 120 const EDGE_TOAST_HEIGHT = 60 const EDGE_TOAST_PADDING = 10 const NAVBAR_HEIGHT = 44 +const TABBAR_HEIGHT = 50 export const TOAST_DURATION_MAP: Record = { short: 2500, @@ -32,7 +33,8 @@ export const ToastComponent: React.FC = ({ const toastDuration = TOAST_DURATION_MAP[duration] const color = useColor() const { width, height } = useScreenDimensions() - const { top: topSafeAreaInset } = useScreenDimensions().safeAreaInsets + const { top: topSafeAreaInset, bottom: bottomSafeAreaInset } = + useScreenDimensions().safeAreaInsets const [opacityAnim] = useState(new Animated.Value(0)) const { showActionSheetWithOptions } = useActionSheet() @@ -108,7 +110,10 @@ export const ToastComponent: React.FC = ({ height={EDGE_TOAST_HEIGHT} bottom={ placement === "bottom" - ? EDGE_TOAST_PADDING + positionIndex * (EDGE_TOAST_HEIGHT + EDGE_TOAST_PADDING) + ? bottomSafeAreaInset + + TABBAR_HEIGHT + + EDGE_TOAST_PADDING + + positionIndex * (EDGE_TOAST_HEIGHT + EDGE_TOAST_PADDING) : undefined } top={ diff --git a/src/app/NativeModules/ARScreenPresenterModule.tsx b/src/app/NativeModules/ARScreenPresenterModule.tsx index 6cbd19457af..d682ea7c658 100644 --- a/src/app/NativeModules/ARScreenPresenterModule.tsx +++ b/src/app/NativeModules/ARScreenPresenterModule.tsx @@ -9,7 +9,6 @@ import { BottomTabType } from "app/Scenes/BottomTabs/BottomTabType" import immer from "immer-peasy" import { last } from "lodash" import { NativeModules } from "react-native" - /** * Here we maintain references to all the navigators in the main app navigation hierarchy, which are: * - tab nav stacks @@ -73,16 +72,10 @@ function getCurrentlyPresentedModalNavStackKey() { return key } -/** - * This is marked as unsafe because, at the time of writing, it does not work on iOS. - * You might want the switchTab function in navigate.ts - * @param tab - */ -export function __unsafe_switchTab(tab: BottomTabType) { - __unsafe_mainModalStackRef.current?.dispatch(TabActions.jumpTo(tab)) -} - export const ARScreenPresenterModule: typeof NativeModules["ARScreenPresenterModule"] = { + switchTab(tab: BottomTabType) { + __unsafe_mainModalStackRef.current?.dispatch(TabActions.jumpTo(tab)) + }, presentModal(viewDescriptor: ViewDescriptor) { if (viewDescriptor.replace) { __unsafe_mainModalStackRef.current?.dispatch( @@ -150,15 +143,6 @@ export const ARScreenPresenterModule: typeof NativeModules["ARScreenPresenterMod state.index -= 1 }) }, - presentAugmentedRealityVIR: () => { - console.warn("presentAugmentedRealityVIR not yet supported") - }, - presentEmailComposer: () => { - console.warn("presentEmailComposer not yet supported") - }, - presentMediaPreviewController: () => { - console.warn("presentMediaPreviewController not yet supported") - }, updateShouldHideBackButton: () => { console.warn("updateShouldHideBackButton not yet supported") }, diff --git a/src/app/NativeModules/Admin.tsx b/src/app/NativeModules/Admin.tsx new file mode 100644 index 00000000000..c5f97a03e3d --- /dev/null +++ b/src/app/NativeModules/Admin.tsx @@ -0,0 +1,21 @@ +import { dismissModal } from "app/navigation/navigate" +import { Button } from "palette" +import { requireNativeComponent, View } from "react-native" + +const ARTOldAdminView = requireNativeComponent("ARTOldAdminView") + +export const Admin: React.FC = () => { + const handleModalDismiss = () => { + dismissModal() + } + + return ( + + + {/* @ts-ignore */} + + + ) +} diff --git a/src/app/NativeModules/ArtsyNativeModule.tsx b/src/app/NativeModules/ArtsyNativeModule.tsx index 943c720b9ec..e81fc5fc2e0 100644 --- a/src/app/NativeModules/ArtsyNativeModule.tsx +++ b/src/app/NativeModules/ArtsyNativeModule.tsx @@ -7,6 +7,7 @@ import { LegacyNativeModules } from "./LegacyNativeModules" * All new artsy-specific native bridge code should be exposed here. * Any legacy iOS native bridge code that is made cross-platform should also be exposed here. */ + export const ArtsyNativeModule = { launchCount: Platform.OS === "ios" diff --git a/src/app/NativeModules/CityGuideView.tsx b/src/app/NativeModules/CityGuideView.tsx new file mode 100644 index 00000000000..b357f96570e --- /dev/null +++ b/src/app/NativeModules/CityGuideView.tsx @@ -0,0 +1,9 @@ +import { requireNativeComponent } from "react-native" + +const ARTCityGuideView = requireNativeComponent("ARTCityGuideView") + +export const CityGuideView: React.FC = () => ( + +) diff --git a/src/app/NativeModules/LegacyNativeModules.tsx b/src/app/NativeModules/LegacyNativeModules.tsx index 82fde81529a..d105b1f0188 100644 --- a/src/app/NativeModules/LegacyNativeModules.tsx +++ b/src/app/NativeModules/LegacyNativeModules.tsx @@ -1,4 +1,5 @@ import type { ViewDescriptor } from "app/navigation/navigate" +import { BottomTabType } from "app/Scenes/BottomTabs/BottomTabType" import type { NativeState } from "app/store/NativeModel" import { PushAuthorizationStatus } from "app/utils/PushNotification" import { NativeModules as AllNativeModules, Platform } from "react-native" @@ -57,7 +58,25 @@ interface LegacyNativeModules { UIApplicationOpenSettingsURLString: string LocalTimeZone: string } + ARTNativeScreenPresenterModule: { + presentAugmentedRealityVIR( + imgUrl: string, + widthInches: number, + heightInches: number, + artworkSlug: string, + artworkId: string + ): void + presentEmailComposerWithBody(body: string, subject: string, toAddress: string): void + presentEmailComposerWithSubject(subject: string, toAddress: string): void + presentMediaPreviewController( + reactTag: number, + route: string, + mimeType: string, + cacheKey: string + ): void + } ARScreenPresenterModule: { + switchTab(tab: BottomTabType): void pushView(currentTabStackID: string, descriptor: ViewDescriptor): void presentModal(descriptor: ViewDescriptor): void dismissModal(): void @@ -65,21 +84,6 @@ interface LegacyNativeModules { popStack(stackID: string): void popToRootOrScrollToTop(stackID: string): void popToRootAndScrollToTop(stackID: string): Promise - presentMediaPreviewController( - reactTag: number, - route: string, - mimeType: string, - cacheKey: string - ): void - presentEmailComposerWithBody(body: string, subject: string, toAddress: string): void - presentEmailComposerWithSubject(subject: string, toAddress: string): void - presentAugmentedRealityVIR( - imgUrl: string, - widthInches: number, - heightInches: number, - artworkSlug: string, - artworkId: string - ): void updateShouldHideBackButton(shouldHideBackButton: boolean, currentTabStackID: string): void } ARTakeCameraPhotoModule: { @@ -95,56 +99,88 @@ interface LegacyNativeModules { requestAppStoreRating(): void } } -const LegacyNativeModulesIOS: LegacyNativeModules = AllNativeModules as any -export const LegacyNativeModules: LegacyNativeModules = - Platform.OS === "ios" - ? LegacyNativeModulesIOS - : { - ARTakeCameraPhotoModule: { - errorCodes: { - cameraNotAvailable: "cameraNotAvailable", - imageMediaNotAvailable: "imageMediaNotAvailable", - cameraAccessDenied: "cameraAccessDenied", - saveFailed: "saveFailed", - }, - triggerCameraModal: noop("triggerCameraModal"), - }, +const LegacyNativeModulesAndroid = { + ARTNativeScreenPresenterModule: { + presentAugmentedRealityVIR: () => { + noop("view in room not yet supported on android") + }, + presentEmailComposerWithBody: () => { + noop("presentEmailComposer not yet supported on android") + }, + presentEmailComposerWithSubject: () => { + noop("presentEmailComposer not yet supported on android") + }, + presentMediaPreviewController: () => { + noop("presentMediaPreviewController not yet supported on android") + }, + }, + ARTakeCameraPhotoModule: { + errorCodes: { + cameraNotAvailable: "cameraNotAvailable", + imageMediaNotAvailable: "imageMediaNotAvailable", + cameraAccessDenied: "cameraAccessDenied", + saveFailed: "saveFailed", + }, + triggerCameraModal: noop("triggerCameraModal"), + }, - ARCocoaConstantsModule: { - UIApplicationOpenSettingsURLString: "UIApplicationOpenSettingsURLString", - AREnabled: false, - CurrentLocale: getLocales()[0].languageTag, - LocalTimeZone: getTimeZone(), - }, + ARCocoaConstantsModule: { + UIApplicationOpenSettingsURLString: "UIApplicationOpenSettingsURLString", + AREnabled: false, + CurrentLocale: getLocales()[0].languageTag, + LocalTimeZone: getTimeZone(), + }, - ArtsyNativeModule: { - updateAuthState: noop("updateAuthState"), - clearUserData: () => Promise.resolve(), - }, + ArtsyNativeModule: { + updateAuthState: noop("updateAuthState"), + clearUserData: () => Promise.resolve(), + }, - ARNotificationsManager: { - nativeState: null as any, - postNotificationName: noop("postNotificationName"), - didFinishBootstrapping: () => null, - reactStateUpdated: () => null, - }, + ARNotificationsManager: { + nativeState: null as any, + postNotificationName: noop("postNotificationName"), + didFinishBootstrapping: () => null, + reactStateUpdated: () => null, + }, + + ARTemporaryAPIModule: { + requestPrepromptNotificationPermissions: noop("requestPrepromptNotificationPermissions"), + requestDirectNotificationPermissions: noop("requestDirectNotificationPermissions"), + fetchNotificationPermissions: noop("fetchNotificationPermissions"), + markNotificationsRead: noop("markNotificationsRead"), + setApplicationIconBadgeNumber: () => { + console.log("TODO: make app icon badge work on android") + }, + getUserEmail: () => "", + }, + ARPHPhotoPickerModule: { + requestPhotos: noop("requestPhotos"), + }, + ARScreenPresenterModule, + AREventsModule: { + requestAppStoreRating: noop("requestAppStoreRating"), + }, +} + +const LegacyNativeModulesIOS: LegacyNativeModules = { + ARScreenPresenterModule, + ARTNativeScreenPresenterModule: AllNativeModules.ARTNativeScreenPresenterModule, + ARTakeCameraPhotoModule: AllNativeModules.ARTakeCameraPhotoModule, + ARCocoaConstantsModule: AllNativeModules.ARCocoaConstantsModule, + ArtsyNativeModule: AllNativeModules.ArtsyNativeModule, + ARNotificationsManager: AllNativeModules.ARNotificationsManager, + ARTemporaryAPIModule: AllNativeModules.ARTemporaryAPIModule, + ARPHPhotoPickerModule: AllNativeModules.ARPHPhotoPickerModule, + AREventsModule: AllNativeModules.AREventsModule, +} + +const nativeModules = () => { + if (Platform.OS === "android") { + return LegacyNativeModulesAndroid + } else { + return LegacyNativeModulesIOS + } +} - ARTemporaryAPIModule: { - requestPrepromptNotificationPermissions: noop("requestPrepromptNotificationPermissions"), - requestDirectNotificationPermissions: noop("requestDirectNotificationPermissions"), - fetchNotificationPermissions: noop("fetchNotificationPermissions"), - markNotificationsRead: noop("markNotificationsRead"), - setApplicationIconBadgeNumber: () => { - console.log("TODO: make app icon badge work on android") - }, - getUserEmail: () => "", - }, - ARPHPhotoPickerModule: { - requestPhotos: noop("requestPhotos"), - }, - ARScreenPresenterModule, - AREventsModule: { - requestAppStoreRating: noop("requestAppStoreRating"), - }, - } +export const LegacyNativeModules: LegacyNativeModules = nativeModules() diff --git a/src/app/NativeModules/LiveAuctionView.tsx b/src/app/NativeModules/LiveAuctionView.tsx new file mode 100644 index 00000000000..1420ab5e6f3 --- /dev/null +++ b/src/app/NativeModules/LiveAuctionView.tsx @@ -0,0 +1,26 @@ +import { dismissModal, navigationEvents } from "app/navigation/navigate" +import { useEffect } from "react" +import { requireNativeComponent } from "react-native" + +const ARTLiveAuctionView = requireNativeComponent("ARTLiveAuctionView") + +export const LiveAuctionView: React.FC<{ slug: string }> = (slug) => { + const handleModalDismiss = () => { + dismissModal() + } + + useEffect(() => { + const emitter = navigationEvents.addListener("requestModalDismiss", handleModalDismiss) + + return () => { + emitter.removeListener("requestModalDismiss", handleModalDismiss) + } + }, []) + + return ( + + ) +} diff --git a/src/app/NativeModules/presentEmailComposer.ts b/src/app/NativeModules/presentEmailComposer.ts index a5d503783ad..854430d9ac8 100644 --- a/src/app/NativeModules/presentEmailComposer.ts +++ b/src/app/NativeModules/presentEmailComposer.ts @@ -6,12 +6,15 @@ export function presentEmailComposer(toAddress: string, subject: string, body?: if (Platform.OS !== "ios") { Linking.openURL(`mailto:${toAddress}?${stringify({ subject, body })}`) } else if (body) { - LegacyNativeModules.ARScreenPresenterModule.presentEmailComposerWithBody( + LegacyNativeModules.ARTNativeScreenPresenterModule.presentEmailComposerWithBody( body, subject, toAddress ) } else { - LegacyNativeModules.ARScreenPresenterModule.presentEmailComposerWithSubject(subject, toAddress) + LegacyNativeModules.ARTNativeScreenPresenterModule.presentEmailComposerWithSubject( + subject, + toAddress + ) } } diff --git a/src/app/Scenes/Artist/Artist.tests.tsx b/src/app/Scenes/Artist/Artist.tests.tsx index 769e41724e9..844147556db 100644 --- a/src/app/Scenes/Artist/Artist.tests.tsx +++ b/src/app/Scenes/Artist/Artist.tests.tsx @@ -1,3 +1,4 @@ +import { ModalStack } from "app/navigation/ModalStack" import { renderWithWrappersTL } from "app/tests/renderWithWrappers" import { postEventToProviders } from "app/utils/track/providers" import { isEqual } from "lodash" @@ -39,7 +40,9 @@ describe("Artist", () => { } const TestWrapper = (props: Record) => ( - + + + ) it("returns an empty state if artist has no artworks", async () => { diff --git a/src/app/Scenes/Artwork/Artwork.tests.tsx b/src/app/Scenes/Artwork/Artwork.tests.tsx index e96b2388352..3ded4051193 100644 --- a/src/app/Scenes/Artwork/Artwork.tests.tsx +++ b/src/app/Scenes/Artwork/Artwork.tests.tsx @@ -7,6 +7,7 @@ import { } from "app/__fixtures__/ArtworkBidAction" import { ArtworkFixture } from "app/__fixtures__/ArtworkFixture" import { Countdown } from "app/Components/Bidding/Components/Timer" +import { ModalStack } from "app/navigation/ModalStack" import { navigationEvents } from "app/navigation/navigate" import { navigateToPartner } from "app/navigation/navigate" import { ArtistSeriesListItem } from "app/Scenes/ArtistSeries/ArtistSeriesListItem" @@ -84,12 +85,14 @@ describe("Artwork", () => { // not 100% sure why we need a suspense fallback here but I guess new relay (v9) containers // use suspense and one of the containers in our tree is suspending itself only in tests :| null}> - + + + ) diff --git a/src/app/Scenes/Artwork/Components/ArtworkActions.tests.tsx b/src/app/Scenes/Artwork/Components/ArtworkActions.tests.tsx index d26c9ce9746..bab97d63e21 100644 --- a/src/app/Scenes/Artwork/Components/ArtworkActions.tests.tsx +++ b/src/app/Scenes/Artwork/Components/ArtworkActions.tests.tsx @@ -12,6 +12,7 @@ import { graphql } from "react-relay" import { ArtworkActions, ArtworkActionsFragmentContainer, shareContent } from "./ArtworkActions" jest.unmock("react-relay") +jest.unmock("app/NativeModules/LegacyNativeModules") describe("ArtworkActions", () => { beforeEach(() => { diff --git a/src/app/Scenes/Artwork/Components/ArtworkActions.tsx b/src/app/Scenes/Artwork/Components/ArtworkActions.tsx index 27b4713e9cd..43607af69b0 100644 --- a/src/app/Scenes/Artwork/Components/ArtworkActions.tsx +++ b/src/app/Scenes/Artwork/Components/ArtworkActions.tsx @@ -109,7 +109,7 @@ export class ArtworkActions extends React.Component { const heightIn = cm2in(heightCm!) const widthIn = cm2in(widthCm!) - LegacyNativeModules.ARScreenPresenterModule.presentAugmentedRealityVIR( + LegacyNativeModules.ARTNativeScreenPresenterModule.presentAugmentedRealityVIR( image?.url!, widthIn, heightIn, diff --git a/src/app/Scenes/Artwork/Components/ArtworkExtraLinks/index.tests.tsx b/src/app/Scenes/Artwork/Components/ArtworkExtraLinks/index.tests.tsx index 9a0c437e3f6..4ab041ee9c9 100644 --- a/src/app/Scenes/Artwork/Components/ArtworkExtraLinks/index.tests.tsx +++ b/src/app/Scenes/Artwork/Components/ArtworkExtraLinks/index.tests.tsx @@ -2,8 +2,13 @@ import { fireEvent } from "@testing-library/react-native" import { ArtworkExtraLinks_artwork } from "__generated__/ArtworkExtraLinks_artwork.graphql" import { ArtworkFixture } from "app/__fixtures__/ArtworkFixture" import { AuctionTimerState } from "app/Components/Bidding/Components/Timer" +import { ModalStack } from "app/navigation/ModalStack" import { navigate } from "app/navigation/navigate" -import { __globalStoreTestUtils__, GlobalStoreProvider } from "app/store/GlobalStore" +import { + __globalStoreTestUtils__, + GlobalStoreProvider, + useSelectedTab, +} from "app/store/GlobalStore" import { mockTrackEvent } from "app/tests/globallyMockedStuff" import { renderWithWrappersTL } from "app/tests/renderWithWrappers" // @ts-expect-error STRICTNESS_MIGRATION --- 🚨 Unsafe legacy code 🚨 Please delete this and fix any type errors if you have time 🙏 @@ -13,6 +18,14 @@ import React from "react" import { Text } from "react-native" import { ArtworkExtraLinks } from "./index" +jest.mock("app/store/GlobalStore", () => ({ + __globalStoreTestUtils__: jest.requireActual("app/store/GlobalStore").__globalStoreTestUtils__, + GlobalStoreProvider: jest.requireActual("app/store/GlobalStore").GlobalStoreProvider, + useSelectedTab: jest.fn(() => "home"), + useFeatureFlag: jest.requireActual("app/store/GlobalStore").useFeatureFlag, + GlobalStore: jest.requireActual("app/store/GlobalStore").GlobalStore, +})) + function getWrapper({ artwork, auctionState, @@ -22,9 +35,11 @@ function getWrapper({ }) { return mount( - - - + + + + + ) } @@ -68,7 +83,8 @@ describe("ArtworkExtraLinks", () => { ], } - __globalStoreTestUtils__?.injectState({ bottomTabs: { sessionState: { selectedTab: "sell" } } }) + ;(useSelectedTab as any).mockImplementation(() => "sell") + const component = getWrapper({ artwork }) const consignmentsLink = component.find(Text).at(1) @@ -304,7 +320,13 @@ describe("ArtworkExtraLinks", () => { describe("Analytics", () => { const TestRenderer = () => renderWithWrappersTL( - + + + + + + + ) it("posts proper event in when clicking Ask A Specialist", () => { @@ -369,7 +391,13 @@ describe("ArtworkExtraLinks", () => { const TestRenderer = () => renderWithWrappersTL( - + + + + + + + ) it("should not show the FaqAndSpecialistSection component", () => { diff --git a/src/app/Scenes/Artwork/Components/CommercialInformation.tests.tsx b/src/app/Scenes/Artwork/Components/CommercialInformation.tests.tsx index cd69351aa8b..6b44770ea84 100644 --- a/src/app/Scenes/Artwork/Components/CommercialInformation.tests.tsx +++ b/src/app/Scenes/Artwork/Components/CommercialInformation.tests.tsx @@ -1,6 +1,7 @@ import { ArtworkFixture } from "app/__fixtures__/ArtworkFixture" import { AuctionTimerState, Countdown } from "app/Components/Bidding/Components/Timer" import { ModernTicker, SimpleTicker } from "app/Components/Countdown/Ticker" +import { ModalStack } from "app/navigation/ModalStack" import { __globalStoreTestUtils__, GlobalStoreProvider } from "app/store/GlobalStore" import { renderWithWrappersTL } from "app/tests/renderWithWrappers" // @ts-expect-error STRICTNESS_MIGRATION --- 🚨 Unsafe legacy code 🚨 Please delete this and fix any type errors if you have time 🙏 @@ -21,7 +22,9 @@ const Wrapper: React.FC<{}> = ({ children }) => { return ( - {children} + + {children} + ) @@ -41,11 +44,13 @@ describe("CommercialInformation", () => { } const { queryByText } = renderWithWrappersTL( - + + + ) expect(queryByText("For sale")).toBeTruthy() @@ -61,11 +66,13 @@ describe("CommercialInformation", () => { } const { queryByText } = renderWithWrappersTL( - + + + ) expect(queryByText("For sale")).toBeFalsy() @@ -85,12 +92,14 @@ describe("CommercialInformation", () => { } const { queryByText } = renderWithWrappersTL( - + + + ) expect(queryByText("For sale")).toBeFalsy() @@ -207,11 +216,13 @@ describe("CommercialInformation", () => { } const { queryByText } = renderWithWrappersTL( - + + + ) expect(queryByText("Bidding closed")).toBeTruthy() diff --git a/src/app/Scenes/BottomTabs/BottomTabs.tests.tsx b/src/app/Scenes/BottomTabs/BottomTabs.tests.tsx index f92da58efad..34e79703266 100644 --- a/src/app/Scenes/BottomTabs/BottomTabs.tests.tsx +++ b/src/app/Scenes/BottomTabs/BottomTabs.tests.tsx @@ -1,4 +1,5 @@ import { LegacyNativeModules } from "app/NativeModules/LegacyNativeModules" +import { ModalStack } from "app/navigation/ModalStack" import { createEnvironment } from "app/relay/createEnvironment" import { __globalStoreTestUtils__, GlobalStoreProvider } from "app/store/GlobalStore" import { flushPromiseQueue } from "app/tests/flushPromiseQueue" @@ -46,7 +47,9 @@ function resolveUnreadConversationCountQuery(unreadConversationCount: number) { const TestWrapper: React.FC<{}> = ({}) => { return ( - + + + ) } diff --git a/src/app/Scenes/BottomTabs/BottomTabs.tsx b/src/app/Scenes/BottomTabs/BottomTabs.tsx index 93fdf9e25d1..f76add8c88b 100644 --- a/src/app/Scenes/BottomTabs/BottomTabs.tsx +++ b/src/app/Scenes/BottomTabs/BottomTabs.tsx @@ -2,6 +2,7 @@ import { GlobalStore, useFeatureFlag, useIsStaging } from "app/store/GlobalStore import { Flex, Separator, useTheme } from "palette" import React, { useEffect } from "react" import useInterval from "react-use/lib/useInterval" +import { useScreenDimensions } from "shared/hooks" import { BottomTabsButton } from "./BottomTabsButton" import { ICON_HEIGHT } from "./BottomTabsIcon" @@ -24,8 +25,9 @@ export const BottomTabs: React.FC = () => { const isStaging = useIsStaging() const enableMyCollectionInsights = useFeatureFlag("AREnableMyCollectionInsights") + const { bottom } = useScreenDimensions().safeAreaInsets return ( - + > = (props) => { return ( - + + + ) } diff --git a/src/app/Scenes/BottomTabs/BottomTabsModel.ts b/src/app/Scenes/BottomTabs/BottomTabsModel.ts index d12bcb75825..4498ce3d20f 100644 --- a/src/app/Scenes/BottomTabs/BottomTabsModel.ts +++ b/src/app/Scenes/BottomTabs/BottomTabsModel.ts @@ -1,6 +1,5 @@ import { captureException } from "@sentry/react-native" import { BottomTabsModelFetchCurrentUnreadConversationCountQuery } from "__generated__/BottomTabsModelFetchCurrentUnreadConversationCountQuery.graphql" -import { saveDevNavigationStateSelectedTab } from "app/navigation/useReloadedDevNavigationState" import { createEnvironment } from "app/relay/createEnvironment" import { metaphysicsURLMiddleware, @@ -20,8 +19,6 @@ export interface BottomTabsModel { } unreadConversationCountChanged: Action fetchCurrentUnreadConversationCount: Thunk - - switchTab: Action setTabProps: Action } @@ -73,8 +70,4 @@ export const getBottomTabsModel = (): BottomTabsModel => ({ setTabProps: action((state, { tab, props }) => { state.sessionState.tabProps[tab] = props }), - switchTab: action((state, tabType) => { - state.sessionState.selectedTab = tabType - saveDevNavigationStateSelectedTab(tabType) - }), }) diff --git a/src/app/Scenes/BottomTabs/BottomTabsNavigator.tests.tsx b/src/app/Scenes/BottomTabs/BottomTabsNavigator.tests.tsx index 37257e2f770..8ce0d5b26e3 100644 --- a/src/app/Scenes/BottomTabs/BottomTabsNavigator.tests.tsx +++ b/src/app/Scenes/BottomTabs/BottomTabsNavigator.tests.tsx @@ -1,32 +1,49 @@ -import { NativeTabs } from "app/Components/NativeTabs" -import { __globalStoreTestUtils__, GlobalStore } from "app/store/GlobalStore" +import { LegacyNativeModules } from "app/NativeModules/LegacyNativeModules" +import { ModalStack } from "app/navigation/ModalStack" +import { NavStack } from "app/navigation/NavStack" +import { __globalStoreTestUtils__ } from "app/store/GlobalStore" import { renderWithWrappers } from "app/tests/renderWithWrappers" import React from "react" +import { RelayEnvironmentProvider } from "react-relay" import { act } from "react-test-renderer" +import { createMockEnvironment } from "relay-test-utils" import { BottomTabsNavigator } from "./BottomTabsNavigator" +jest.unmock("react-relay") + +jest.unmock("app/NativeModules/LegacyNativeModules") + describe(BottomTabsNavigator, () => { + let mockEnvironment: ReturnType + + beforeEach(() => { + require("app/relay/createEnvironment").reset() + mockEnvironment = require("app/relay/createEnvironment").defaultEnvironment + }) + it("shows the current tab content", async () => { - const tree = renderWithWrappers() + const tree = renderWithWrappers( + + + + + + ) + expect( - tree.root.findAll( - (node) => node.type === NativeTabs && node.props.viewProps.tabName === "home" - ) + tree.root.findAll((node) => node.type === NavStack && node.props.id === "home") ).toHaveLength(1) + expect( - tree.root.findAll( - (node) => node.type === NativeTabs && node.props.viewProps.tabName === "search" - ) + tree.root.findAll((node) => node.type === NavStack && node.props.id === "search") ).toHaveLength(0) await act(() => { - GlobalStore.actions.bottomTabs.switchTab("search") + LegacyNativeModules.ARScreenPresenterModule.switchTab("search") }) expect( - tree.root.findAll( - (node) => node.type === NativeTabs && node.props.viewProps.tabName === "search" - ) + tree.root.findAll((node) => node.type === NavStack && node.props.id === "search") ).toHaveLength(1) }) }) diff --git a/src/app/Scenes/BottomTabs/BottomTabsNavigator.tsx b/src/app/Scenes/BottomTabs/BottomTabsNavigator.tsx index 89996a2af61..d0c0f5eea7a 100644 --- a/src/app/Scenes/BottomTabs/BottomTabsNavigator.tsx +++ b/src/app/Scenes/BottomTabs/BottomTabsNavigator.tsx @@ -1,13 +1,7 @@ import { createBottomTabNavigator } from "@react-navigation/bottom-tabs" import { AppModule } from "app/AppRegistry" -import { NativeTabs } from "app/Components/NativeTabs" import { NavStack } from "app/navigation/NavStack" -import { useSelectedTab } from "app/store/GlobalStore" -import { useColor } from "palette" -import React, { useEffect, useRef } from "react" -import { Animated, Platform, View } from "react-native" -import usePrevious from "react-use/lib/usePrevious" -import { useScreenDimensions } from "shared/hooks" +import React from "react" import { BottomTabs } from "./BottomTabs" import { BottomTabType } from "./BottomTabType" @@ -18,51 +12,11 @@ const TabContent = ({ }: { route: { params: { tabName: BottomTabType; rootModuleName: AppModule } } }) => { - if (Platform.OS === "ios") { - return - } - + // TODO: simplify this, we probably can get rid of NavStack return } export const BottomTabsNavigator = () => { - const selectedTab = useSelectedTab() - const { bottom } = useScreenDimensions().safeAreaInsets - const color = useColor() - - if (Platform.OS === "ios") { - return ( - - , - , - , - , - , - ]} - activeIndex={["home", "search", "inbox", "sell", "profile"].indexOf(selectedTab)} - /> - - - ) - } - return ( } backBehavior="firstRoute"> { ) } - -const FadeBetween: React.FC<{ views: JSX.Element[]; activeIndex: number }> = ({ - views, - activeIndex, -}) => { - const hasLoaded = useRef({ [activeIndex]: true }).current - const opacities = useRef( - views.map((_, index) => new Animated.Value(index === activeIndex ? 1 : 0.01)) - ).current - const lastActiveIndex = usePrevious(activeIndex) - - useEffect(() => { - if (lastActiveIndex === undefined) { - return - } - - if (lastActiveIndex < activeIndex) { - // fade in screen above, then make previous screen transparent - opacities[activeIndex].setValue(0) - requestAnimationFrame(() => { - Animated.spring(opacities[activeIndex], { - toValue: 1, - useNativeDriver: true, - speed: 100, - }).start(() => { - opacities[lastActiveIndex].setValue(0) - }) - }) - } else if (lastActiveIndex > activeIndex) { - // make next screen opaque, then fade out screen above - opacities[activeIndex].setValue(1) - requestAnimationFrame(() => { - Animated.spring(opacities[lastActiveIndex], { - toValue: 0, - useNativeDriver: true, - speed: 100, - }).start() - }) - } - - hasLoaded[activeIndex] = true - }, [activeIndex, lastActiveIndex]) - - return ( - - {views.map((v, index) => { - return ( - - - {!!(hasLoaded[index] || index === activeIndex) && v} - - - ) - })} - - ) -} diff --git a/src/app/Scenes/Inbox/Components/Conversations/Message.tsx b/src/app/Scenes/Inbox/Components/Conversations/Message.tsx index febe218d664..f80c3d5f7e9 100644 --- a/src/app/Scenes/Inbox/Components/Conversations/Message.tsx +++ b/src/app/Scenes/Inbox/Components/Conversations/Message.tsx @@ -35,7 +35,7 @@ export class Message extends React.Component { // download progress bar on. const previewAttachment = (reactNodeHandle: number, attachmentID: string) => { const attachment = compact(attachments).find(({ internalID }) => internalID === attachmentID)! - LegacyNativeModules.ARScreenPresenterModule.presentMediaPreviewController( + LegacyNativeModules.ARTNativeScreenPresenterModule.presentMediaPreviewController( reactNodeHandle, attachment.downloadURL, attachment.contentType, diff --git a/src/app/Scenes/PrivacyRequest/PrivacyRequest.tests.tsx b/src/app/Scenes/PrivacyRequest/PrivacyRequest.tests.tsx index 926f7ad6abf..b673f889c45 100644 --- a/src/app/Scenes/PrivacyRequest/PrivacyRequest.tests.tsx +++ b/src/app/Scenes/PrivacyRequest/PrivacyRequest.tests.tsx @@ -21,7 +21,7 @@ describe(PrivacyRequest, () => { tree.find(LinkText).at(1).simulate("press") expect( - LegacyNativeModules.ARScreenPresenterModule.presentEmailComposerWithSubject + LegacyNativeModules.ARTNativeScreenPresenterModule.presentEmailComposerWithSubject ).toHaveBeenCalledWith("Personal Data Request", "privacy@artsy.net") }) @@ -31,7 +31,7 @@ describe(PrivacyRequest, () => { tree.find(Button).simulate("press") expect( - LegacyNativeModules.ARScreenPresenterModule.presentEmailComposerWithBody + LegacyNativeModules.ARTNativeScreenPresenterModule.presentEmailComposerWithBody ).toHaveBeenCalledWith( "Hello, I'm contacting you to ask that...", "Personal Data Request", diff --git a/src/app/Scenes/ViewingRoom/ViewingRoomArtwork.tsx b/src/app/Scenes/ViewingRoom/ViewingRoomArtwork.tsx index 61e271e3e6c..b34bf385aba 100644 --- a/src/app/Scenes/ViewingRoom/ViewingRoomArtwork.tsx +++ b/src/app/Scenes/ViewingRoom/ViewingRoomArtwork.tsx @@ -54,7 +54,7 @@ export const ViewingRoomArtwork: React.FC = (props) => const viewInAR = () => { const [widthIn, heightIn] = [selectedArtwork.widthCm!, selectedArtwork.heightCm!].map(cm2in) - LegacyNativeModules.ARScreenPresenterModule.presentAugmentedRealityVIR( + LegacyNativeModules.ARTNativeScreenPresenterModule.presentAugmentedRealityVIR( selectedArtwork.image!.url!, widthIn, heightIn, diff --git a/src/app/navigation/NavStack.tsx b/src/app/navigation/NavStack.tsx index a422b9536fc..c78125f9eab 100644 --- a/src/app/navigation/NavStack.tsx +++ b/src/app/navigation/NavStack.tsx @@ -1,5 +1,6 @@ import { Route, useIsFocused, useNavigationState } from "@react-navigation/native" import { AppModule, modules } from "app/AppRegistry" +import { isPad } from "app/utils/hardware" import React, { useState } from "react" import { View } from "react-native" import { createNativeStackNavigator } from "react-native-screens/native-stack" @@ -21,10 +22,7 @@ interface ScreenProps { */ const ScreenWrapper: React.FC<{ route: Route<"", ScreenProps> }> = ({ route }) => { const module = modules[route.params.moduleName] - if (module.type !== "react") { - console.warn(route.params.moduleName, { module }) - throw new Error("native modules not yet supported in new nav setup") - } + // tslint:disable-next-line:variable-name const [legacy_shouldHideBackButton, updateShouldHideBackButton] = useState(false) @@ -83,12 +81,14 @@ export const NavStack: React.FC<{ props: rootModuleProps, stackID: id, } + return ( diff --git a/src/app/navigation/navigate.tests.tsx b/src/app/navigation/navigate.tests.tsx index fec26c0ec06..1f86b3c39d8 100644 --- a/src/app/navigation/navigate.tests.tsx +++ b/src/app/navigation/navigate.tests.tsx @@ -9,14 +9,30 @@ function args(mock: jest.Mock) { } jest.unmock("./navigate") + jest.mock("tipsi-stripe", () => ({ setOptions: jest.fn() })) +jest.mock("app/store/GlobalStore", () => ({ + unsafe__getSelectedTab: jest.fn().mockReturnValue("home"), + unsafe__getEnvironment: jest.fn().mockReturnValue({ + webURL: "https://www.artsy.net", + }), + unsafe_getDevToggle: jest.fn().mockReturnValue(false), + GlobalStore: { + actions: { + bottomTabs: { + setTabProps: jest.fn(), + }, + }, + }, +})) + describe(navigate, () => { beforeEach(() => { - GlobalStore.actions.bottomTabs.switchTab = jest.fn() as any - GlobalStore.actions.bottomTabs.setTabProps = jest.fn() as any Linking.openURL = jest.fn() + LegacyNativeModules.ARScreenPresenterModule.pushView = jest.fn() }) + describe("routes to various screens", () => { it("like artwork", () => { navigate("/artwork/josef-albers-homage-to-the-square") @@ -121,7 +137,7 @@ describe(navigate, () => { "slug": "blah", }, "replace": false, - "type": "native", + "type": "react", }, ] `) @@ -135,7 +151,7 @@ describe(navigate, () => { it("switches tab and pops the view stack when routing to a root tab view", async () => { await navigate("/search") - expect(GlobalStore.actions.bottomTabs.switchTab).toHaveBeenCalledWith("search") + expect(LegacyNativeModules.ARScreenPresenterModule.switchTab).toHaveBeenCalledWith("search") expect( LegacyNativeModules.ARScreenPresenterModule.popToRootAndScrollToTop ).toHaveBeenCalledWith("search") @@ -143,7 +159,7 @@ describe(navigate, () => { it("passes tab props when switching", async () => { await navigate("/search?query=banksy") - expect(GlobalStore.actions.bottomTabs.switchTab).toHaveBeenCalledWith("search") + expect(LegacyNativeModules.ARScreenPresenterModule.switchTab).toHaveBeenCalledWith("search") expect( LegacyNativeModules.ARScreenPresenterModule.popToRootAndScrollToTop ).toHaveBeenCalledWith("search") @@ -155,7 +171,7 @@ describe(navigate, () => { it("switches tab before pushing in cases where that's required", async () => { await navigate("/conversation/234") - expect(GlobalStore.actions.bottomTabs.switchTab).toHaveBeenCalledWith("inbox") + expect(LegacyNativeModules.ARScreenPresenterModule.switchTab).toHaveBeenCalledWith("inbox") await flushPromiseQueue() expect(args(LegacyNativeModules.ARScreenPresenterModule.pushView as any)) .toMatchInlineSnapshot(` @@ -183,7 +199,7 @@ describe(navigate, () => { await flushPromiseQueue() - expect(GlobalStore.actions.bottomTabs.switchTab).toHaveBeenCalledWith("profile") + expect(LegacyNativeModules.ARScreenPresenterModule.switchTab).toHaveBeenCalledWith("profile") expect(args(LegacyNativeModules.ARScreenPresenterModule.pushView as any)) .toMatchInlineSnapshot(` Array [ diff --git a/src/app/navigation/navigate.ts b/src/app/navigation/navigate.ts index a5960673daa..af3e5482fec 100644 --- a/src/app/navigation/navigate.ts +++ b/src/app/navigation/navigate.ts @@ -1,7 +1,6 @@ import { ActionType, OwnerType, Screen } from "@artsy/cohesion" import { addBreadcrumb } from "@sentry/react-native" import { AppModule, modules, ViewOptions } from "app/AppRegistry" -import { __unsafe_switchTab } from "app/NativeModules/ARScreenPresenterModule" import { LegacyNativeModules } from "app/NativeModules/LegacyNativeModules" import { BottomTabType } from "app/Scenes/BottomTabs/BottomTabType" import { GlobalStore, unsafe__getSelectedTab } from "app/store/GlobalStore" @@ -11,6 +10,7 @@ import { visualize } from "app/utils/visualizer" import { EventEmitter } from "events" import { Linking, Platform } from "react-native" import { matchRoute } from "./routes" +import { saveDevNavigationStateSelectedTab } from "./useReloadedDevNavigationState" export interface ViewDescriptor extends ViewOptions { type: "react" | "native" @@ -137,11 +137,8 @@ export function switchTab(tab: BottomTabType, props?: object) { if (props) { GlobalStore.actions.bottomTabs.setTabProps({ tab, props }) } - if (Platform.OS === "ios") { - GlobalStore.actions.bottomTabs.switchTab(tab) - } else { - __unsafe_switchTab(tab) - } + LegacyNativeModules.ARScreenPresenterModule.switchTab(tab) + saveDevNavigationStateSelectedTab(tab) } const tracks = { diff --git a/src/app/store/AuthModel.tests.ts b/src/app/store/AuthModel.tests.ts index f087ba480ae..7067aee5ab4 100644 --- a/src/app/store/AuthModel.tests.ts +++ b/src/app/store/AuthModel.tests.ts @@ -8,6 +8,8 @@ import Keychain from "react-native-keychain" import { AuthError } from "./AuthError" import { __globalStoreTestUtils__, GlobalStore } from "./GlobalStore" +jest.unmock("app/NativeModules/LegacyNativeModules") + const mockFetch = jest.fn() ;(global as any).fetch = mockFetch diff --git a/src/app/store/GlobalStore.tsx b/src/app/store/GlobalStore.tsx index 20c1acf950d..7ec0afef849 100644 --- a/src/app/store/GlobalStore.tsx +++ b/src/app/store/GlobalStore.tsx @@ -1,6 +1,7 @@ import { useNavigationState } from "@react-navigation/native" import { __unsafe_mainModalStackRef } from "app/NativeModules/ARScreenPresenterModule" import { ArtsyNativeModule } from "app/NativeModules/ArtsyNativeModule" +import { switchTab } from "app/navigation/navigate" import { loadDevNavigationStateCache } from "app/navigation/useReloadedDevNavigationState" import { BottomTabType } from "app/Scenes/BottomTabs/BottomTabType" import { logAction } from "app/utils/loggers" @@ -55,7 +56,7 @@ function createGlobalStore() { if (!__TEST__) { unpersist().then(async (state) => { - await loadDevNavigationStateCache(store.getActions().bottomTabs.switchTab) + await loadDevNavigationStateCache(switchTab) store.getActions().rehydrate(state) }) } @@ -109,10 +110,6 @@ export const GlobalStoreProvider: React.FC<{}> = ({ children }) => { } export function useSelectedTab(): BottomTabType { - if (Platform.OS === "ios") { - return hooks.useStoreState((state) => state.bottomTabs.sessionState.selectedTab) - } - const tabState = useNavigationState( (state) => state.routes.find((r) => r.state?.type === "tab")?.state ) @@ -251,9 +248,6 @@ export function getCurrentEmissionState() { * react components. */ export function unsafe__getSelectedTab(): BottomTabType { - if (Platform.OS === "ios") { - return globalStoreInstance().getState().bottomTabs.sessionState.selectedTab - } const tabState = __unsafe_mainModalStackRef.current ?.getRootState() .routes.find((r) => r.state?.type === "tab")?.state diff --git a/src/app/store/NativeModel.ts b/src/app/store/NativeModel.ts index 29daa399d44..2cbacb75f27 100644 --- a/src/app/store/NativeModel.ts +++ b/src/app/store/NativeModel.ts @@ -20,6 +20,9 @@ export type NativeEvent = type: "REQUEST_NAVIGATION" payload: { route: string; props: {} } } + | { + type: "REQUEST_MODAL_DISMISS" + } | { type: "MODAL_DISMISSED" } @@ -94,6 +97,9 @@ listenToNativeEvents((event: NativeEvent) => { case "MODAL_DISMISSED": navigationEvents.emit("modalDismissed") return + case "REQUEST_MODAL_DISMISS": + navigationEvents.emit("requestModalDismiss") + return default: assertNever(event) } diff --git a/src/app/store/config/EchoModel.tests.tsx b/src/app/store/config/EchoModel.tests.tsx index 1fa53b672e5..6f8804440ea 100644 --- a/src/app/store/config/EchoModel.tests.tsx +++ b/src/app/store/config/EchoModel.tests.tsx @@ -15,6 +15,7 @@ const laterDate = originalDate.clone().add(2, "days") const appVersion = (version: string) => ({ version, isAndroidBeta: false, + appName: "eigen", }) const _echoLaunchJsonActual = loads.echoLaunchJson() diff --git a/src/app/utils/AdminMenuWrapper.tsx b/src/app/utils/AdminMenuWrapper.tsx index 3e7841c6aa6..25576d4689a 100644 --- a/src/app/utils/AdminMenuWrapper.tsx +++ b/src/app/utils/AdminMenuWrapper.tsx @@ -1,11 +1,10 @@ +import { navigate } from "app/navigation/navigate" import { GlobalStore } from "app/store/GlobalStore" import { Flex } from "palette" -import React, { useRef, useState } from "react" -import { AdminMenu } from "./AdminMenu" +import React, { useRef } from "react" export const AdminMenuWrapper: React.FC = ({ children }) => { const userIsDev = GlobalStore.useAppState((store) => store.artsyPrefs.userIsDev.value) - const [isShowingAdminMenu, setIsShowingAdminMenu] = useState(false) const gestureState = useRef({ lastTapTimestamp: 0, numTaps: 0 }) if (!userIsDev) { @@ -29,13 +28,12 @@ export const AdminMenuWrapper: React.FC = ({ children }) => { if (state.numTaps >= 5) { state.numTaps = 0 - setIsShowingAdminMenu(true) + navigate("/admin2") } return false }} > {children} - {!!isShowingAdminMenu && setIsShowingAdminMenu(false)} />} ) } diff --git a/src/app/utils/PushNotification.ts b/src/app/utils/PushNotification.ts index 8eb193ca61f..8dcdc23f397 100644 --- a/src/app/utils/PushNotification.ts +++ b/src/app/utils/PushNotification.ts @@ -216,9 +216,6 @@ export async function configure() { PushNotification.configure({ // (optional) Called when Token is generated (iOS and Android) onRegister: (token) => { - if (__DEV__) { - console.log("TOKEN:", token) - } saveToken(token.token) }, diff --git a/src/app/utils/jsonFiles.ts b/src/app/utils/jsonFiles.ts index 5766c938d0f..522e68db8ad 100644 --- a/src/app/utils/jsonFiles.ts +++ b/src/app/utils/jsonFiles.ts @@ -1,6 +1,6 @@ import { Echo } from "app/store/config/EchoModel" import appJsonFile from "../../../app.json" -import echoLaunchJsonFile from "../../../Artsy/App/EchoNew.json" +import echoLaunchJsonFile from "../../../ios/Artsy/App/EchoNew.json" export const appJson = () => appJsonFile export const echoLaunchJson = (): Echo => echoLaunchJsonFile diff --git a/src/app/utils/loggers.ts b/src/app/utils/loggers.ts index 76f38bcb553..ae818c67b97 100644 --- a/src/app/utils/loggers.ts +++ b/src/app/utils/loggers.ts @@ -9,7 +9,7 @@ let metaflags = { logRoute: false, logRunningRequest: false, } -if (__DEV__) { +if (__DEV__ || __TEST__) { try { // tslint:disable-next-line:no-var-requires const fileContents = require("../../../metaflags.json") @@ -19,11 +19,11 @@ if (__DEV__) { } export const logAction = metaflags.logAction -export const logDatadog = metaflags.logRunningRequest -export const logEventTracked = metaflags.logRunningRequest -export const logNotification = metaflags.logRunningRequest -export const logOperation = metaflags.logRunningRequest -export const logPrefetching = metaflags.logRunningRequest -export const logRelay = metaflags.logRunningRequest -export const logRoute = metaflags.logRunningRequest +export const logDatadog = metaflags.logDatadog +export const logEventTracked = metaflags.logEventTracked +export const logNotification = metaflags.logNotification +export const logOperation = metaflags.logOperation +export const logPrefetching = metaflags.logPrefetching +export const logRelay = metaflags.logRelay +export const logRoute = metaflags.logRoute export const logRunningRequest = metaflags.logRunningRequest diff --git a/src/app/utils/useInitialNotification.ts b/src/app/utils/useInitialNotification.ts index a31e1ae0a4d..bc30ab9d326 100644 --- a/src/app/utils/useInitialNotification.ts +++ b/src/app/utils/useInitialNotification.ts @@ -1,5 +1,6 @@ import { GlobalStore } from "app/store/GlobalStore" import { useEffect, useState } from "react" +import { Platform } from "react-native" import PushNotification from "react-native-push-notification" import { handlePendingNotification, handleReceivedNotification } from "./PushNotification" @@ -13,7 +14,7 @@ export function useInitialNotification() { ) useEffect(() => { - if (isLoggedIn && !hasHandledInitialNotification) { + if (isLoggedIn && !hasHandledInitialNotification && Platform.OS === "android") { // initial notification is most recent and should be prioritised PushNotification.popInitialNotification((notification) => { if (notification) { diff --git a/src/setupJest.ts b/src/setupJest.ts index ca2121597fb..0cb770ff001 100644 --- a/src/setupJest.ts +++ b/src/setupJest.ts @@ -361,6 +361,12 @@ type OurNativeModules = typeof LegacyNativeModules & { ArtsyNativeModule: typeof function getNativeModules(): OurNativeModules { return { + ARTNativeScreenPresenterModule: { + presentAugmentedRealityVIR: jest.fn(), + presentEmailComposerWithBody: jest.fn(), + presentEmailComposerWithSubject: jest.fn(), + presentMediaPreviewController: jest.fn(), + }, ARTakeCameraPhotoModule: { errorCodes: { cameraNotAvailable: "cameraNotAvailable", @@ -391,7 +397,6 @@ function getNativeModules(): OurNativeModules { didFinishBootstrapping: jest.fn(), reactStateUpdated: jest.fn(), }, - ARTemporaryAPIModule: { requestPrepromptNotificationPermissions: jest.fn(), requestDirectNotificationPermissions: jest.fn(), @@ -404,14 +409,91 @@ function getNativeModules(): OurNativeModules { requestPhotos: jest.fn(), }, ARScreenPresenterModule: { - presentMediaPreviewController: jest.fn(), + switchTab: jest.fn(), dismissModal: jest.fn(), pushView: jest.fn(), goBack: jest.fn(), updateShouldHideBackButton: jest.fn(), + popStack: jest.fn(), + popToRootAndScrollToTop: jest.fn(), + popToRootOrScrollToTop: jest.fn(), + presentModal: jest.fn(), + }, + AREventsModule: { + requestAppStoreRating: jest.fn(), + }, + ArtsyNativeModule: { + launchCount: 3, + setAppStyling: jest.fn(), + setNavigationBarColor: jest.fn(), + setAppLightContrast: jest.fn(), + navigationBarHeight: 11, + lockActivityScreenOrientation: jest.fn(), + gitCommitShortHash: "de4dc0de", + isBetaOrDev: true, + updateAuthState: jest.fn(), + clearUserData: jest.fn(), + }, + } +} + +// ARScreenPresenterModule is no longer a native module on either platform +// so we must mock differently +jest.mock("app/NativeModules/LegacyNativeModules", () => ({ + LegacyNativeModules: { + ARTNativeScreenPresenterModule: { presentAugmentedRealityVIR: jest.fn(), presentEmailComposerWithBody: jest.fn(), presentEmailComposerWithSubject: jest.fn(), + presentMediaPreviewController: jest.fn(), + }, + ARTakeCameraPhotoModule: { + errorCodes: { + cameraNotAvailable: "cameraNotAvailable", + imageMediaNotAvailable: "imageMediaNotAvailable", + cameraAccessDenied: "cameraAccessDenied", + saveFailed: "saveFailed", + }, + triggerCameraModal: jest.fn(), + }, + + ARCocoaConstantsModule: { + UIApplicationOpenSettingsURLString: "UIApplicationOpenSettingsURLString", + AREnabled: true, + CurrentLocale: "en_US", + LocalTimeZone: "", + }, + + ARNotificationsManager: { + nativeState: { + userAgent: "Jest Unit Tests", + authenticationToken: "authenticationToken", + launchCount: 1, + deviceId: "testDevice", + userID: "userID", + userEmail: "user@example.com", + }, + postNotificationName: jest.fn(), + didFinishBootstrapping: jest.fn(), + reactStateUpdated: jest.fn(), + }, + ARTemporaryAPIModule: { + requestPrepromptNotificationPermissions: jest.fn(), + requestDirectNotificationPermissions: jest.fn(), + fetchNotificationPermissions: jest.fn(), + markNotificationsRead: jest.fn(), + setApplicationIconBadgeNumber: jest.fn(), + getUserEmail: jest.fn(), + }, + ARPHPhotoPickerModule: { + requestPhotos: jest.fn(), + }, + ARScreenPresenterModule: { + switchTab: jest.fn(), + dismissModal: jest.fn(), + pushView: jest.fn(), + goBack: jest.fn(), + updateShouldHideBackButton: jest.fn(), popStack: jest.fn(), popToRootAndScrollToTop: jest.fn(), popToRootOrScrollToTop: jest.fn(), @@ -432,8 +514,8 @@ function getNativeModules(): OurNativeModules { updateAuthState: jest.fn(), clearUserData: jest.fn(), }, - } -} + }, +})) Object.assign(NativeModules, getNativeModules()) @@ -466,6 +548,7 @@ jest.mock("app/utils/track/providers", () => ({ jest.mock("app/relay/createEnvironment", () => ({ defaultEnvironment: require("relay-test-utils").createMockEnvironment(), + createEnvironment: require("relay-test-utils").createMockEnvironment, reset(this: { defaultEnvironment: any }) { this.defaultEnvironment = require("relay-test-utils").createMockEnvironment() }, diff --git a/src/storybook/index.js b/src/storybook/index.js index c6efc0c28d6..f827d7a1282 100644 --- a/src/storybook/index.js +++ b/src/storybook/index.js @@ -7,4 +7,11 @@ if (Platform.OS === "android") { RNBootSplash.hide() } -AppRegistry.registerComponent("Artsy", () => StorybookUIRoot) +if (__DEV__) { + try { + const fileContent = require("./metaflags.json") + } catch {} +} + +const appName = Platform.OS === "ios" ? require("../../app.json").appName : "Artsy" +AppRegistry.registerComponent(appName, () => StorybookUIRoot) diff --git a/storybook.json b/storybook.json deleted file mode 100644 index 16ab5e8770a..00000000000 --- a/storybook.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "startStorybook": false -} diff --git a/yarn.lock b/yarn.lock index 9861a4d01df..ae2944bb0f3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3487,10 +3487,10 @@ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.8.tgz#edf1bf1dbf4e04413ca8e5b17b3b7d7d54b59818" integrity sha512-YSBPTLTVm2e2OoQIDYx8HaeWJ5tTToLH67kXR7zYNGupXMEHa2++G8k+DczX2cFVgalypqtyZIcU19AFcmOpmg== -"@types/lodash@4.14.179": - version "4.14.179" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.179.tgz#490ec3288088c91295780237d2497a3aa9dfb5c5" - integrity sha512-uwc1x90yCKqGcIOAT6DwOSuxnrAbpkdPsUOZtwrXb4D/6wZs+6qG7QnIawDuZWg0sWpxl+ltIKCaLoMlna678w== +"@types/lodash@4.14.180": + version "4.14.180" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.180.tgz#4ab7c9ddfc92ec4a887886483bc14c79fb380670" + integrity sha512-XOKXa1KIxtNXgASAnwj7cnttJxS4fksBRywK/9LzRV5YxrF80BXZIGeQSuoESQ/VkUj30Ae0+YcuHc15wJCB2g== "@types/luxon@2.0.9": version "2.0.9" @@ -5322,6 +5322,16 @@ concat-map@0.0.1: resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= +concat-stream@^1.4.7: + version "1.6.2" + resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" + integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== + dependencies: + buffer-from "^1.0.0" + inherits "^2.0.3" + readable-stream "^2.2.2" + typedarray "^0.0.6" + concurrently@7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/concurrently/-/concurrently-7.0.0.tgz#78d31b441cec338dab03316c221a2f9a67c529b0" @@ -5960,6 +5970,13 @@ drange@^1.0.0: resolved "https://registry.yarnpkg.com/drange/-/drange-1.1.1.tgz#b2aecec2aab82fcef11dbbd7b9e32b83f8f6c0b8" integrity sha512-pYxfDYpued//QpnLIm4Avk7rsNtAtQkUES2cwAYSvD/wd2pKD71gN2Ebj3e7klzXwjocvE8c5vx/1fxwpqmSxA== +duplexer2@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.0.2.tgz#c614dcf67e2fb14995a91711e5a617e8a60a31db" + integrity sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds= + dependencies: + readable-stream "~1.1.9" + duplexer3@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" @@ -7670,7 +7687,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -8159,6 +8176,11 @@ is-wsl@^2.1.1, is-wsl@^2.2.0: dependencies: is-docker "^2.0.0" +isarray@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" + integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= + isarray@1.0.0, isarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" @@ -11884,7 +11906,17 @@ read-pkg@^5.2.0: string_decoder "^1.1.1" util-deprecate "^1.0.1" -readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.3.5, readable-stream@~2.3.6: +"readable-stream@>=1.0.33-1 <1.1.0-0": + version "1.0.34" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" + integrity sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw= + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + +readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.2.2, readable-stream@^2.3.5, readable-stream@~2.3.6: version "2.3.7" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== @@ -11897,6 +11929,16 @@ readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable string_decoder "~1.1.1" util-deprecate "~1.0.1" +readable-stream@~1.1.9: + version "1.1.14" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" + integrity sha1-fPTFTvZI44EwhMY23SB54WbAgdk= + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + readdirp@~3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" @@ -12829,6 +12871,15 @@ split-string@^3.0.1, split-string@^3.0.2: dependencies: extend-shallow "^3.0.0" +sponge@0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/sponge/-/sponge-0.1.0.tgz#83ffe3dff05f75d923ad17861a34a179e71d9a35" + integrity sha1-g//j3/BfddkjrReGGjSheecdmjU= + dependencies: + concat-stream "^1.4.7" + duplexer2 "0.0.2" + through2 "^0.6.3" + sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" @@ -13051,6 +13102,11 @@ string_decoder@^1.1.1: dependencies: safe-buffer "~5.2.0" +string_decoder@~0.10.x: + version "0.10.31" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" + integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ= + string_decoder@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" @@ -13380,6 +13436,14 @@ throttle-debounce@^3.0.1: resolved "https://registry.yarnpkg.com/throttle-debounce/-/throttle-debounce-3.0.1.tgz#32f94d84dfa894f786c9a1f290e7a645b6a19abb" integrity sha512-dTEWWNu6JmeVXY0ZYoPuH5cRIwc0MeGbJwah9KUNYSJwommQpCzTySTpEe8Gs1J23aeWEuAobe4Ag7EHVt/LOg== +through2@^0.6.3: + version "0.6.5" + resolved "https://registry.yarnpkg.com/through2/-/through2-0.6.5.tgz#41ab9c67b29d57209071410e1d7a7a968cd3ad48" + integrity sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg= + dependencies: + readable-stream ">=1.0.33-1 <1.1.0-0" + xtend ">=4.0.0 <4.1.0-0" + through2@^2.0.0, through2@^2.0.1: version "2.0.5" resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" @@ -13670,6 +13734,11 @@ typedarray-to-buffer@^3.1.2, typedarray-to-buffer@^3.1.5: dependencies: is-typedarray "^1.0.0" +typedarray@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= + typescript-memoize@^1.0.0-alpha.3: version "1.0.0-alpha.3" resolved "https://registry.yarnpkg.com/typescript-memoize/-/typescript-memoize-1.0.0-alpha.3.tgz#699a5415f886694a8d6e2e5451bc28a39a6bc2f9" @@ -14441,7 +14510,7 @@ xmldoc@^1.1.2: dependencies: sax "^1.2.1" -xtend@^4.0.0, xtend@~4.0.0, xtend@~4.0.1: +"xtend@>=4.0.0 <4.1.0-0", xtend@^4.0.0, xtend@~4.0.0, xtend@~4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==