// !$*UTF8*$! { archiveVersion = 1; classes = { }; objectVersion = 52; objects = { /* Begin PBXBuildFile section */ 0E0AD49027BD53CB00FBB520 /* ProfileView+Welcome.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E0AD48F27BD53CB00FBB520 /* ProfileView+Welcome.swift */; }; 0E0BD27327B2EA2C00583AC5 /* MainView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E0BD27227B2EA2C00583AC5 /* MainView.swift */; }; 0E0BD27627B2EB2200583AC5 /* DonateView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E0BD27527B2EB2200583AC5 /* DonateView.swift */; }; 0E0BD27927B2EBE500583AC5 /* ShortcutsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E0BD27827B2EBE500583AC5 /* ShortcutsView.swift */; }; 0E0C0729236087A100155AAC /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 0E0C072B236087A100155AAC /* InfoPlist.strings */; }; 0E12BC8F27F62C8600B2F912 /* Validators.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E12BC8E27F62C8500B2F912 /* Validators.swift */; }; 0E2A8D4927ADF87F00207D04 /* PassepartoutApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E2A8D4727ADF87F00207D04 /* PassepartoutApp.swift */; }; 0E2A8D4F27B04BBA00207D04 /* OrganizerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E2A8D4E27B04BB900207D04 /* OrganizerView.swift */; }; 0E2AC24522EC3AC10037B4B0 /* Settings.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 0E2AC24422EC3AC10037B4B0 /* Settings.bundle */; }; 0E2C171B27CB5A3B007E8488 /* GenericCreditsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E2C171A27CB5A3A007E8488 /* GenericCreditsView.swift */; }; 0E2C172B27CB63F9007E8488 /* Reviewer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E2C172A27CB63F9007E8488 /* Reviewer.swift */; }; 0E2DE71C27DCCFE80067B9E1 /* TunnelKit+Identifiable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E2DE71B27DCCFE80067B9E1 /* TunnelKit+Identifiable.swift */; }; 0E2DE71F27DCD0290067B9E1 /* TunnelKit+L10n.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E2DE71E27DCD0290067B9E1 /* TunnelKit+L10n.swift */; }; 0E2DE72527DCDF550067B9E1 /* WireGuard+L10n.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E2DE72427DCDF550067B9E1 /* WireGuard+L10n.swift */; }; 0E34A2B627CAA8CC00C73B67 /* Core+L10n.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E34A2B527CAA8CC00C73B67 /* Core+L10n.swift */; }; 0E34A2B927CAA96A00C73B67 /* OpenVPN+L10n.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E34A2AF27CAA84500C73B67 /* OpenVPN+L10n.swift */; }; 0E34A2CF27CADA6300C73B67 /* GenericVersionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E34A2CE27CADA6300C73B67 /* GenericVersionView.swift */; }; 0E34AC7627F83FE20042F2AB /* OrganizerView+VPN.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E34AC7527F83FE20042F2AB /* OrganizerView+VPN.swift */; }; 0E34AC7827F840890042F2AB /* OrganizerView+Scene.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E34AC7727F840890042F2AB /* OrganizerView+Scene.swift */; }; 0E34AC7A27F8431D0042F2AB /* OrganizerView+Shortcuts.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E34AC7927F8431D0042F2AB /* OrganizerView+Shortcuts.swift */; }; 0E34AC7C27F845510042F2AB /* OrganizerView+Profiles.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E34AC7B27F845510042F2AB /* OrganizerView+Profiles.swift */; }; 0E34AC7E27F849050042F2AB /* OrganizerView+AddProfileMenu.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E34AC7D27F849050042F2AB /* OrganizerView+AddProfileMenu.swift */; }; 0E34AC8227F892C40042F2AB /* OnDemandView+SSID.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E34AC8127F892C40042F2AB /* OnDemandView+SSID.swift */; }; 0E3B7FCD27E47B3700C66F13 /* AddHostView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E3B7FCC27E47B3700C66F13 /* AddHostView.swift */; }; 0E3B7FD627E5173A00C66F13 /* ProfileView+VPN.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E3B7FD527E5173A00C66F13 /* ProfileView+VPN.swift */; }; 0E3B7FDA27E51A0200C66F13 /* ProfileView+Provider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E3B7FD927E51A0200C66F13 /* ProfileView+Provider.swift */; }; 0E44689627B051C300A14CE4 /* ProfileView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E44689527B051C300A14CE4 /* ProfileView.swift */; }; 0E44689C27B11B5300A14CE4 /* AboutView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E44689B27B11B5300A14CE4 /* AboutView.swift */; }; 0E49F6BB27D7638300385834 /* EndpointAdvancedView+OpenVPN.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E49F6BA27D7638300385834 /* EndpointAdvancedView+OpenVPN.swift */; }; 0E49F6BD27D7639000385834 /* EndpointAdvancedView+WireGuard.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E49F6BC27D7639000385834 /* EndpointAdvancedView+WireGuard.swift */; }; 0E49F6BF27D764AF00385834 /* EndpointAdvancedView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E49F6BE27D764AF00385834 /* EndpointAdvancedView.swift */; }; 0E53249927D26B51002565C3 /* ProductManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E53249627D26B51002565C3 /* ProductManager.swift */; }; 0E53249D27D28FC7002565C3 /* Kvitto in Frameworks */ = {isa = PBXBuildFile; productRef = 0E53249C27D28FC7002565C3 /* Kvitto */; }; 0E5324A627D297BB002565C3 /* InApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E5324A527D297BB002565C3 /* InApp.swift */; }; 0E5324A927D2AC55002565C3 /* LongContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E5324A827D2AC55002565C3 /* LongContentView.swift */; }; 0E5349BE27C16A4500C71BB3 /* StyledPicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E5349BD27C16A4500C71BB3 /* StyledPicker.swift */; }; 0E5349C627C176C200C71BB3 /* EndpointView+OpenVPN.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E5349C527C176C200C71BB3 /* EndpointView+OpenVPN.swift */; }; 0E5349C827C176D100C71BB3 /* EndpointView+WireGuard.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E5349C727C176D100C71BB3 /* EndpointView+WireGuard.swift */; }; 0E53E63727E34FE2001D4902 /* AppContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E53E63627E34FE2001D4902 /* AppContext.swift */; }; 0E5683B927C2825D00EAF1CD /* DiagnosticsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E5683B827C2825D00EAF1CD /* DiagnosticsView.swift */; }; 0E6059CB27FCC5DE003F4063 /* Flags.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 0E6059C827FCC5DD003F4063 /* Flags.xcassets */; }; 0E6059CC27FCC5DE003F4063 /* Providers.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 0E6059C927FCC5DE003F4063 /* Providers.xcassets */; }; 0E6059CD27FCC5DE003F4063 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 0E6059CA27FCC5DE003F4063 /* Assets.xcassets */; }; 0E6059CF27FCC618003F4063 /* SwiftGen+Assets.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E6059CE27FCC618003F4063 /* SwiftGen+Assets.swift */; }; 0E71ACDD27C0295C00F85C4B /* View+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E71ACDC27C0295B00F85C4B /* View+Extensions.swift */; }; 0E71ACE327C0F2E400F85C4B /* Providers+L10n.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E71ACE227C0F2E300F85C4B /* Providers+L10n.swift */; }; 0E71ACE927C1055300F85C4B /* NetworkSettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E71ACE827C1055200F85C4B /* NetworkSettingsView.swift */; }; 0E71ACEB27C1060D00F85C4B /* EndpointView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E71ACEA27C1060D00F85C4B /* EndpointView.swift */; }; 0E71ACEF27C106B500F85C4B /* ProviderPresetView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E71ACEE27C106B400F85C4B /* ProviderPresetView.swift */; }; 0E71ACF127C1073800F85C4B /* ProviderLocationView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E71ACF027C1073800F85C4B /* ProviderLocationView.swift */; }; 0E71ACF727C107CA00F85C4B /* DebugLogView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E71ACF627C107C900F85C4B /* DebugLogView.swift */; }; 0E71ACF927C12E4800F85C4B /* CreditsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E71ACF827C12E4800F85C4B /* CreditsView.swift */; }; 0E71ACFB27C12E5300F85C4B /* VersionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E71ACFA27C12E5300F85C4B /* VersionView.swift */; }; 0E71ACFD27C1321A00F85C4B /* ActivityView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E71ACFC27C1321A00F85C4B /* ActivityView.swift */; }; 0E90DFE627BACC1500EF5078 /* AddHostViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E90DFE527BACC1500EF5078 /* AddHostViewModel.swift */; }; 0E92D7C627F103300033CB7B /* ProfileView+Configuration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E92D7C527F103300033CB7B /* ProfileView+Configuration.swift */; }; 0E92D7C927F1042A0033CB7B /* ProfileView+Extra.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E92D7C827F1042A0033CB7B /* ProfileView+Extra.swift */; }; 0E92D7F427F104B80033CB7B /* ProfileView+Diagnostics.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E92D7F327F104B80033CB7B /* ProfileView+Diagnostics.swift */; }; 0E9AA978259F756A003FAFF1 /* PacketTunnelProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E9AA977259F756A003FAFF1 /* PacketTunnelProvider.swift */; }; 0E9C233027F47032007D5FC7 /* IntentsManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E9C232F27F47032007D5FC7 /* IntentsManager.swift */; }; 0E9C233327F47E95007D5FC7 /* IntentDispatcher+Activities.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E9C233227F47E95007D5FC7 /* IntentDispatcher+Activities.swift */; }; 0E9C3B6C27FB3A9C00D0F02E /* ReloadingSection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E9C3B6B27FB3A9C00D0F02E /* ReloadingSection.swift */; }; 0E9C3B6F27FC573E00D0F02E /* CloudKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0E9C3B6E27FC573E00D0F02E /* CloudKit.framework */; }; 0E9E5AEF27B44CF1008C95DA /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 0E9E5AE227B44CF1008C95DA /* Localizable.strings */; }; 0E9ED48127FD9BAE003B2316 /* CopySavingButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E9ED48027FD9BAE003B2316 /* CopySavingButton.swift */; }; 0EA591162733DDDA0096F796 /* Intents.intentdefinition in Sources */ = {isa = PBXBuildFile; fileRef = 0EA591142733DDDA0096F796 /* Intents.intentdefinition */; }; 0EB17EA727D226B400D473B5 /* Constants.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0EB17EA127D2263700D473B5 /* Constants.swift */; }; 0EB17EA927D226C900D473B5 /* Constants.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0EB17EA127D2263700D473B5 /* Constants.swift */; }; 0EB17EAA27D226C900D473B5 /* Constants+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0EB17EA527D2263700D473B5 /* Constants+Extensions.swift */; }; 0EB17EAE27D226CF00D473B5 /* LocalProduct.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0EB17EA327D2263700D473B5 /* LocalProduct.swift */; }; 0EB17EBA27D2560300D473B5 /* PassepartoutProviders+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0EB17EB927D2560300D473B5 /* PassepartoutProviders+Extensions.swift */; }; 0EB2B1482733FB6F007705AB /* PassepartoutOpenVPNTunnel.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = 0EDE8DBF20C86910004C739C /* PassepartoutOpenVPNTunnel.appex */; platformFilter = ios; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; 0EB3413027C7761A00483410 /* Binding+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0EB3412F27C7761A00483410 /* Binding+Extensions.swift */; }; 0EB34BCA27C6A70200B126DA /* OnDemandView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0EB34BC927C6A70200B126DA /* OnDemandView.swift */; }; 0EB34BCC27C6F41D00B126DA /* Theme.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0EB34BCB27C6F41D00B126DA /* Theme.swift */; }; 0EB4042C27CA0E8C00378B1A /* Unlocalized.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0EB4042B27CA0E8B00378B1A /* Unlocalized.swift */; }; 0EB4042E27CA136300378B1A /* AddingTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0EB4042D27CA136200378B1A /* AddingTextField.swift */; }; 0EBC074C27EB673C00208AD9 /* ProfileView+Rename.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0EBC074B27EB673C00208AD9 /* ProfileView+Rename.swift */; }; 0EBC075527EBC83800208AD9 /* MailComposerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0EBC075427EBC83800208AD9 /* MailComposerView.swift */; }; 0EBC075B27EC4FFF00208AD9 /* ReportIssueView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0EBC075A27EC4FFF00208AD9 /* ReportIssueView.swift */; }; 0EBC075D27EC529000208AD9 /* DebugLog+Constants.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0EBC075C27EC529000208AD9 /* DebugLog+Constants.swift */; }; 0EBC076027EC587900208AD9 /* SwiftGen+Strings.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0EBC075F27EC587900208AD9 /* SwiftGen+Strings.swift */; }; 0ECF71EE27B6A99300CDB528 /* AccountView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0ECF71ED27B6A99300CDB528 /* AccountView.swift */; }; 0ED1D6DC27DBA41700983466 /* DiagnosticsView+OpenVPN.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0ED1D6DB27DBA41700983466 /* DiagnosticsView+OpenVPN.swift */; }; 0ED1D6DE27DBA42100983466 /* DiagnosticsView+WireGuard.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0ED1D6DD27DBA42100983466 /* DiagnosticsView+WireGuard.swift */; }; 0ED2B33927D3C49800FD8EA9 /* OpenVPNAppExtension in Frameworks */ = {isa = PBXBuildFile; productRef = 0ED2B33827D3C49800FD8EA9 /* OpenVPNAppExtension */; }; 0ED2B34527D3C77800FD8EA9 /* NetworkExtension.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0ED31C3920CF39510027975F /* NetworkExtension.framework */; }; 0ED2B35B27D3C94F00FD8EA9 /* PacketTunnelProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0ED2B35A27D3C94F00FD8EA9 /* PacketTunnelProvider.swift */; }; 0ED2B36027D3C99100FD8EA9 /* PassepartoutWireGuardTunnel.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = 0ED2B34A27D3C77800FD8EA9 /* PassepartoutWireGuardTunnel.appex */; platformFilter = ios; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; 0ED2B36727D3C9A300FD8EA9 /* WireGuardAppExtension in Frameworks */ = {isa = PBXBuildFile; productRef = 0ED2B36627D3C9A300FD8EA9 /* WireGuardAppExtension */; }; 0ED30DCC27EA197D0057D8A3 /* RevealingSecureField.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0ED30DCB27EA197C0057D8A3 /* RevealingSecureField.swift */; }; 0ED30DCF27EA1EF80057D8A3 /* PaywallView+Beta.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0ED30DCE27EA1EF80057D8A3 /* PaywallView+Beta.swift */; }; 0ED30DD227EA1F650057D8A3 /* PaywallView+Purchase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0ED30DD127EA1F650057D8A3 /* PaywallView+Purchase.swift */; }; 0ED30DDB27EA351C0057D8A3 /* Constants+Tunnel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0ED30DDA27EA351C0057D8A3 /* Constants+Tunnel.swift */; }; 0ED30DDD27EA35230057D8A3 /* Constants.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0EB17EA127D2263700D473B5 /* Constants.swift */; }; 0ED31C3A20CF39510027975F /* NetworkExtension.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0ED31C3920CF39510027975F /* NetworkExtension.framework */; }; 0ED89C1527DE0A0C008B36D6 /* Shortcut.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0ED89C1427DE0A0C008B36D6 /* Shortcut.swift */; }; 0ED89C1727DE0E05008B36D6 /* IntentEditView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0ED89C1627DE0E05008B36D6 /* IntentEditView.swift */; }; 0ED89C1C27DE3ABC008B36D6 /* ShortcutsView+Add.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0ED89C1B27DE3ABC008B36D6 /* ShortcutsView+Add.swift */; }; 0ED89C1E27DE3F8D008B36D6 /* IntentAddView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0ED89C1D27DE3F8D008B36D6 /* IntentAddView.swift */; }; 0ED89C2027DE423B008B36D6 /* ShortcutsView+ConnectTo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0ED89C1F27DE423B008B36D6 /* ShortcutsView+ConnectTo.swift */; }; 0ED89C2527DE45A3008B36D6 /* ProfileHeaderRow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0ED89C2427DE45A3008B36D6 /* ProfileHeaderRow.swift */; }; 0EDE02C227F61C79000FBE3C /* EditableTextList.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0EDE02C127F61C79000FBE3C /* EditableTextList.swift */; }; 0EE8B7E327FF340F00B68621 /* VPNProtocolType+FileExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0EE8B7E227FF340F00B68621 /* VPNProtocolType+FileExtensions.swift */; }; 0EED0BB92733CEDA00C9FC68 /* PassepartoutCore in Frameworks */ = {isa = PBXBuildFile; productRef = 0EED0BB82733CEDA00C9FC68 /* PassepartoutCore */; }; 0EF0FAF627DD0211007EB181 /* PaywallView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0EF0FAF527DD0211007EB181 /* PaywallView.swift */; }; 0EF0FAF727DD159C007EB181 /* IntentDispatcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0EA591122733DD4E0096F796 /* IntentDispatcher.swift */; }; 0EF0FAF927DD212C007EB181 /* IntentActivity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0EF0FAF827DD212C007EB181 /* IntentActivity.swift */; }; 0EF2212B27E667EA001D0BD7 /* AddProviderView+Name.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0EF2212A27E667EA001D0BD7 /* AddProviderView+Name.swift */; }; 0EF2212D27E66EB5001D0BD7 /* AddProviderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0EF2212C27E66EB5001D0BD7 /* AddProviderView.swift */; }; 0EF2212F27E66F60001D0BD7 /* AddProfileView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0EF2212E27E66F60001D0BD7 /* AddProfileView.swift */; }; 0EF2213127E674BD001D0BD7 /* AddProviderViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0EF2213027E674BD001D0BD7 /* AddProviderViewModel.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ 0E6059C627FCC33D003F4063 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 0E57F63020C83FC5008323CF /* Project object */; proxyType = 1; remoteGlobalIDString = 0E9AAA60259F7D7E003FAFF1; remoteInfo = "PassepartoutLauncher-macOS"; }; 0EB2B1492733FB6F007705AB /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 0E57F63020C83FC5008323CF /* Project object */; proxyType = 1; remoteGlobalIDString = 0EDE8DBE20C86910004C739C; remoteInfo = "PassepartoutTunnel-iOS"; }; 0ECF71FB27B6DA6700CDB528 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 0E57F63020C83FC5008323CF /* Project object */; proxyType = 1; remoteGlobalIDString = 0ECF71F327B6D9CD00CDB528; remoteInfo = "PassepartoutWireGuard-iOS"; }; 0ED2B36127D3C99100FD8EA9 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 0E57F63020C83FC5008323CF /* Project object */; proxyType = 1; remoteGlobalIDString = 0ED2B33E27D3C77800FD8EA9; remoteInfo = "WireGuardTunnel-iOS"; }; 0ED2B36A27D3CAB100FD8EA9 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 0E57F63020C83FC5008323CF /* Project object */; proxyType = 1; remoteGlobalIDString = 0ECF71F327B6D9CD00CDB528; remoteInfo = "WireGuardGo-iOS"; }; /* End PBXContainerItemProxy section */ /* Begin PBXCopyFilesBuildPhase section */ 0E3152B7223F9EF500F61841 /* Embed Frameworks */ = { isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; dstPath = ""; dstSubfolderSpec = 10; files = ( ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; }; 0EB2B14B2733FB6F007705AB /* Embed App Extensions */ = { isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; dstPath = ""; dstSubfolderSpec = 13; files = ( 0ED2B36027D3C99100FD8EA9 /* PassepartoutWireGuardTunnel.appex in Embed App Extensions */, 0EB2B1482733FB6F007705AB /* PassepartoutOpenVPNTunnel.appex in Embed App Extensions */, ); name = "Embed App Extensions"; runOnlyForDeploymentPostprocessing = 0; }; /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ 0E0AD48F27BD53CB00FBB520 /* ProfileView+Welcome.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "ProfileView+Welcome.swift"; sourceTree = ""; }; 0E0BD27227B2EA2C00583AC5 /* MainView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainView.swift; sourceTree = ""; }; 0E0BD27527B2EB2200583AC5 /* DonateView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DonateView.swift; sourceTree = ""; }; 0E0BD27827B2EBE500583AC5 /* ShortcutsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShortcutsView.swift; sourceTree = ""; }; 0E0C072A236087A100155AAC /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; 0E0C072C236087C800155AAC /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/InfoPlist.strings; sourceTree = ""; }; 0E12BC8E27F62C8500B2F912 /* Validators.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Validators.swift; sourceTree = ""; }; 0E1C0A52238FFF97009FC087 /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pl; path = pl.lproj/InfoPlist.strings; sourceTree = ""; }; 0E23B4A12298559800304C30 /* Config.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Config.xcconfig; sourceTree = ""; }; 0E2A8D4727ADF87F00207D04 /* PassepartoutApp.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PassepartoutApp.swift; sourceTree = ""; }; 0E2A8D4E27B04BB900207D04 /* OrganizerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OrganizerView.swift; sourceTree = ""; }; 0E2AC24422EC3AC10037B4B0 /* Settings.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = Settings.bundle; sourceTree = ""; }; 0E2C171A27CB5A3A007E8488 /* GenericCreditsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GenericCreditsView.swift; sourceTree = ""; }; 0E2C172A27CB63F9007E8488 /* Reviewer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Reviewer.swift; sourceTree = ""; }; 0E2DE71B27DCCFE80067B9E1 /* TunnelKit+Identifiable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "TunnelKit+Identifiable.swift"; sourceTree = ""; }; 0E2DE71E27DCD0290067B9E1 /* TunnelKit+L10n.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "TunnelKit+L10n.swift"; sourceTree = ""; }; 0E2DE72427DCDF550067B9E1 /* WireGuard+L10n.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "WireGuard+L10n.swift"; sourceTree = ""; }; 0E34A2AF27CAA84500C73B67 /* OpenVPN+L10n.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "OpenVPN+L10n.swift"; sourceTree = ""; }; 0E34A2B527CAA8CC00C73B67 /* Core+L10n.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Core+L10n.swift"; sourceTree = ""; }; 0E34A2CE27CADA6300C73B67 /* GenericVersionView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GenericVersionView.swift; sourceTree = ""; }; 0E34AC7527F83FE20042F2AB /* OrganizerView+VPN.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "OrganizerView+VPN.swift"; sourceTree = ""; }; 0E34AC7727F840890042F2AB /* OrganizerView+Scene.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "OrganizerView+Scene.swift"; sourceTree = ""; }; 0E34AC7927F8431D0042F2AB /* OrganizerView+Shortcuts.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "OrganizerView+Shortcuts.swift"; sourceTree = ""; }; 0E34AC7B27F845510042F2AB /* OrganizerView+Profiles.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "OrganizerView+Profiles.swift"; sourceTree = ""; }; 0E34AC7D27F849050042F2AB /* OrganizerView+AddProfileMenu.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "OrganizerView+AddProfileMenu.swift"; sourceTree = ""; }; 0E34AC8127F892C40042F2AB /* OnDemandView+SSID.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "OnDemandView+SSID.swift"; sourceTree = ""; }; 0E3B7FCC27E47B3700C66F13 /* AddHostView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddHostView.swift; sourceTree = ""; }; 0E3B7FD527E5173A00C66F13 /* ProfileView+VPN.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "ProfileView+VPN.swift"; sourceTree = ""; }; 0E3B7FD927E51A0200C66F13 /* ProfileView+Provider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "ProfileView+Provider.swift"; sourceTree = ""; }; 0E44689527B051C300A14CE4 /* ProfileView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProfileView.swift; sourceTree = ""; }; 0E44689B27B11B5300A14CE4 /* AboutView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AboutView.swift; sourceTree = ""; }; 0E49F6BA27D7638300385834 /* EndpointAdvancedView+OpenVPN.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "EndpointAdvancedView+OpenVPN.swift"; sourceTree = ""; }; 0E49F6BC27D7639000385834 /* EndpointAdvancedView+WireGuard.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "EndpointAdvancedView+WireGuard.swift"; sourceTree = ""; }; 0E49F6BE27D764AF00385834 /* EndpointAdvancedView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EndpointAdvancedView.swift; sourceTree = ""; }; 0E53249627D26B51002565C3 /* ProductManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ProductManager.swift; sourceTree = ""; }; 0E5324A527D297BB002565C3 /* InApp.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = InApp.swift; sourceTree = ""; }; 0E5324A827D2AC55002565C3 /* LongContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LongContentView.swift; sourceTree = ""; }; 0E5349BD27C16A4500C71BB3 /* StyledPicker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StyledPicker.swift; sourceTree = ""; }; 0E5349C527C176C200C71BB3 /* EndpointView+OpenVPN.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "EndpointView+OpenVPN.swift"; sourceTree = ""; }; 0E5349C727C176D100C71BB3 /* EndpointView+WireGuard.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "EndpointView+WireGuard.swift"; sourceTree = ""; }; 0E53E63627E34FE2001D4902 /* AppContext.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppContext.swift; sourceTree = ""; }; 0E5683B827C2825D00EAF1CD /* DiagnosticsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DiagnosticsView.swift; sourceTree = ""; }; 0E57F63820C83FC5008323CF /* Passepartout.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Passepartout.app; sourceTree = BUILT_PRODUCTS_DIR; }; 0E57F64720C83FC7008323CF /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 0E6059C827FCC5DD003F4063 /* Flags.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Flags.xcassets; sourceTree = ""; }; 0E6059C927FCC5DE003F4063 /* Providers.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Providers.xcassets; sourceTree = ""; }; 0E6059CA27FCC5DE003F4063 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 0E6059CE27FCC618003F4063 /* SwiftGen+Assets.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "SwiftGen+Assets.swift"; sourceTree = ""; }; 0E71ACDC27C0295B00F85C4B /* View+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "View+Extensions.swift"; sourceTree = ""; }; 0E71ACE227C0F2E300F85C4B /* Providers+L10n.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Providers+L10n.swift"; sourceTree = ""; }; 0E71ACE827C1055200F85C4B /* NetworkSettingsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NetworkSettingsView.swift; sourceTree = ""; }; 0E71ACEA27C1060D00F85C4B /* EndpointView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EndpointView.swift; sourceTree = ""; }; 0E71ACEE27C106B400F85C4B /* ProviderPresetView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProviderPresetView.swift; sourceTree = ""; }; 0E71ACF027C1073800F85C4B /* ProviderLocationView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProviderLocationView.swift; sourceTree = ""; }; 0E71ACF627C107C900F85C4B /* DebugLogView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DebugLogView.swift; sourceTree = ""; }; 0E71ACF827C12E4800F85C4B /* CreditsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CreditsView.swift; sourceTree = ""; }; 0E71ACFA27C12E5300F85C4B /* VersionView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VersionView.swift; sourceTree = ""; }; 0E71ACFC27C1321A00F85C4B /* ActivityView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ActivityView.swift; sourceTree = ""; }; 0E90DFE527BACC1500EF5078 /* AddHostViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddHostViewModel.swift; sourceTree = ""; }; 0E92D7C527F103300033CB7B /* ProfileView+Configuration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "ProfileView+Configuration.swift"; sourceTree = ""; }; 0E92D7C827F1042A0033CB7B /* ProfileView+Extra.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "ProfileView+Extra.swift"; sourceTree = ""; }; 0E92D7F327F104B80033CB7B /* ProfileView+Diagnostics.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "ProfileView+Diagnostics.swift"; sourceTree = ""; }; 0E9AA977259F756A003FAFF1 /* PacketTunnelProvider.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PacketTunnelProvider.swift; sourceTree = ""; }; 0E9C232F27F47032007D5FC7 /* IntentsManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IntentsManager.swift; sourceTree = ""; }; 0E9C233227F47E95007D5FC7 /* IntentDispatcher+Activities.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "IntentDispatcher+Activities.swift"; sourceTree = ""; }; 0E9C3B6B27FB3A9C00D0F02E /* ReloadingSection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReloadingSection.swift; sourceTree = ""; }; 0E9C3B6E27FC573E00D0F02E /* CloudKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CloudKit.framework; path = System/Library/Frameworks/CloudKit.framework; sourceTree = SDKROOT; }; 0E9E5AE327B44CF1008C95DA /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Localizable.strings; sourceTree = ""; }; 0E9E5AE427B44CF1008C95DA /* el */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = el; path = el.lproj/Localizable.strings; sourceTree = ""; }; 0E9E5AE527B44CF1008C95DA /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = ""; }; 0E9E5AE627B44CF1008C95DA /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = ""; }; 0E9E5AE727B44CF1008C95DA /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Localizable.strings; sourceTree = ""; }; 0E9E5AE827B44CF1008C95DA /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Localizable.strings; sourceTree = ""; }; 0E9E5AE927B44CF1008C95DA /* sv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/Localizable.strings; sourceTree = ""; }; 0E9E5AEA27B44CF1008C95DA /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pl; path = pl.lproj/Localizable.strings; sourceTree = ""; }; 0E9E5AEB27B44CF1008C95DA /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Localizable.strings; sourceTree = ""; }; 0E9E5AEC27B44CF1008C95DA /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = ""; }; 0E9E5AED27B44CF1008C95DA /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Localizable.strings; sourceTree = ""; }; 0E9E5AEE27B44CF1008C95DA /* pt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pt; path = pt.lproj/Localizable.strings; sourceTree = ""; }; 0E9ED48027FD9BAE003B2316 /* CopySavingButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CopySavingButton.swift; sourceTree = ""; }; 0EA26DC827353020000F251A /* PassepartoutCore */ = {isa = PBXFileReference; lastKnownFileType = folder; path = PassepartoutCore; sourceTree = ""; }; 0EA591122733DD4E0096F796 /* IntentDispatcher.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IntentDispatcher.swift; sourceTree = ""; }; 0EA591152733DDDA0096F796 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.intentdefinition; name = Base; path = Base.lproj/Intents.intentdefinition; sourceTree = ""; }; 0EA591182733DDF60096F796 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Intents.strings; sourceTree = ""; }; 0EA5911A2733DDF80096F796 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Intents.strings"; sourceTree = ""; }; 0EA5911C2733DDF80096F796 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Intents.strings; sourceTree = ""; }; 0EA5911E2733DDF90096F796 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Intents.strings; sourceTree = ""; }; 0EA591202733DDF90096F796 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Intents.strings; sourceTree = ""; }; 0EA591222733DDFA0096F796 /* el */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = el; path = el.lproj/Intents.strings; sourceTree = ""; }; 0EA591242733DDFA0096F796 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Intents.strings; sourceTree = ""; }; 0EA591262733DDFB0096F796 /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pl; path = pl.lproj/Intents.strings; sourceTree = ""; }; 0EA591282733DDFB0096F796 /* pt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pt; path = pt.lproj/Intents.strings; sourceTree = ""; }; 0EA5912A2733DDFC0096F796 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Intents.strings; sourceTree = ""; }; 0EA5912C2733DDFC0096F796 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Intents.strings; sourceTree = ""; }; 0EA5912E2733DDFD0096F796 /* sv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/Intents.strings; sourceTree = ""; }; 0EB17EA127D2263700D473B5 /* Constants.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Constants.swift; sourceTree = ""; }; 0EB17EA327D2263700D473B5 /* LocalProduct.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LocalProduct.swift; sourceTree = ""; }; 0EB17EA527D2263700D473B5 /* Constants+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Constants+Extensions.swift"; sourceTree = ""; }; 0EB17EB927D2560300D473B5 /* PassepartoutProviders+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "PassepartoutProviders+Extensions.swift"; sourceTree = ""; }; 0EB3412F27C7761A00483410 /* Binding+Extensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Binding+Extensions.swift"; sourceTree = ""; }; 0EB34BC927C6A70200B126DA /* OnDemandView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OnDemandView.swift; sourceTree = ""; }; 0EB34BCB27C6F41D00B126DA /* Theme.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Theme.swift; sourceTree = ""; }; 0EB4042B27CA0E8B00378B1A /* Unlocalized.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Unlocalized.swift; sourceTree = ""; }; 0EB4042D27CA136200378B1A /* AddingTextField.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddingTextField.swift; sourceTree = ""; }; 0EBC074B27EB673C00208AD9 /* ProfileView+Rename.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "ProfileView+Rename.swift"; sourceTree = ""; }; 0EBC075427EBC83800208AD9 /* MailComposerView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MailComposerView.swift; sourceTree = ""; }; 0EBC075A27EC4FFF00208AD9 /* ReportIssueView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReportIssueView.swift; sourceTree = ""; }; 0EBC075C27EC529000208AD9 /* DebugLog+Constants.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "DebugLog+Constants.swift"; sourceTree = ""; }; 0EBC075F27EC587900208AD9 /* SwiftGen+Strings.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "SwiftGen+Strings.swift"; sourceTree = ""; }; 0EBE2FD02360F88C00F0D5AB /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/InfoPlist.strings"; sourceTree = ""; }; 0EBE2FD12360F88E00F0D5AB /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/InfoPlist.strings; sourceTree = ""; }; 0EBE2FD22360F88F00F0D5AB /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/InfoPlist.strings; sourceTree = ""; }; 0EBE2FD32360F89200F0D5AB /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/InfoPlist.strings; sourceTree = ""; }; 0EBE2FD42360F89300F0D5AB /* el */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = el; path = el.lproj/InfoPlist.strings; sourceTree = ""; }; 0EBE2FD52360F89400F0D5AB /* pt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pt; path = pt.lproj/InfoPlist.strings; sourceTree = ""; }; 0EBE2FD62360F89500F0D5AB /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/InfoPlist.strings; sourceTree = ""; }; 0EBE2FD72360F89600F0D5AB /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/InfoPlist.strings; sourceTree = ""; }; 0EBE2FD82360F89600F0D5AB /* sv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/InfoPlist.strings; sourceTree = ""; }; 0ECF71ED27B6A99300CDB528 /* AccountView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountView.swift; sourceTree = ""; }; 0ED1D6DB27DBA41700983466 /* DiagnosticsView+OpenVPN.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "DiagnosticsView+OpenVPN.swift"; sourceTree = ""; }; 0ED1D6DD27DBA42100983466 /* DiagnosticsView+WireGuard.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "DiagnosticsView+WireGuard.swift"; sourceTree = ""; }; 0ED2B34A27D3C77800FD8EA9 /* PassepartoutWireGuardTunnel.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = PassepartoutWireGuardTunnel.appex; sourceTree = BUILT_PRODUCTS_DIR; }; 0ED2B35A27D3C94F00FD8EA9 /* PacketTunnelProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PacketTunnelProvider.swift; sourceTree = ""; }; 0ED30DCB27EA197C0057D8A3 /* RevealingSecureField.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RevealingSecureField.swift; sourceTree = ""; }; 0ED30DCE27EA1EF80057D8A3 /* PaywallView+Beta.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "PaywallView+Beta.swift"; sourceTree = ""; }; 0ED30DD127EA1F650057D8A3 /* PaywallView+Purchase.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "PaywallView+Purchase.swift"; sourceTree = ""; }; 0ED30DDA27EA351C0057D8A3 /* Constants+Tunnel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Constants+Tunnel.swift"; sourceTree = ""; }; 0ED31C3920CF39510027975F /* NetworkExtension.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = NetworkExtension.framework; path = System/Library/Frameworks/NetworkExtension.framework; sourceTree = SDKROOT; }; 0ED31C3B20CF39510027975F /* Tunnel.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Tunnel.entitlements; sourceTree = ""; }; 0ED89C1427DE0A0C008B36D6 /* Shortcut.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Shortcut.swift; sourceTree = ""; }; 0ED89C1627DE0E05008B36D6 /* IntentEditView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IntentEditView.swift; sourceTree = ""; }; 0ED89C1B27DE3ABC008B36D6 /* ShortcutsView+Add.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "ShortcutsView+Add.swift"; sourceTree = ""; }; 0ED89C1D27DE3F8D008B36D6 /* IntentAddView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IntentAddView.swift; sourceTree = ""; }; 0ED89C1F27DE423B008B36D6 /* ShortcutsView+ConnectTo.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "ShortcutsView+ConnectTo.swift"; sourceTree = ""; }; 0ED89C2427DE45A3008B36D6 /* ProfileHeaderRow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProfileHeaderRow.swift; sourceTree = ""; }; 0EDE02C127F61C79000FBE3C /* EditableTextList.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EditableTextList.swift; sourceTree = ""; }; 0EDE8DBF20C86910004C739C /* PassepartoutOpenVPNTunnel.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = PassepartoutOpenVPNTunnel.appex; sourceTree = BUILT_PRODUCTS_DIR; }; 0EDE8DC320C86910004C739C /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 0EDE8DD220C86978004C739C /* NotificationCenter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = NotificationCenter.framework; path = System/Library/Frameworks/NotificationCenter.framework; sourceTree = SDKROOT; }; 0EDE8DE220C86A13004C739C /* App.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = App.entitlements; sourceTree = ""; }; 0EE8B7E227FF340F00B68621 /* VPNProtocolType+FileExtensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "VPNProtocolType+FileExtensions.swift"; sourceTree = ""; }; 0EF0FAF527DD0211007EB181 /* PaywallView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaywallView.swift; sourceTree = ""; }; 0EF0FAF827DD212C007EB181 /* IntentActivity.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IntentActivity.swift; sourceTree = ""; }; 0EF2212A27E667EA001D0BD7 /* AddProviderView+Name.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "AddProviderView+Name.swift"; sourceTree = ""; }; 0EF2212C27E66EB5001D0BD7 /* AddProviderView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddProviderView.swift; sourceTree = ""; }; 0EF2212E27E66F60001D0BD7 /* AddProfileView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddProfileView.swift; sourceTree = ""; }; 0EF2213027E674BD001D0BD7 /* AddProviderViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddProviderViewModel.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ 0E57F63520C83FC5008323CF /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( 0E9C3B6F27FC573E00D0F02E /* CloudKit.framework in Frameworks */, 0EED0BB92733CEDA00C9FC68 /* PassepartoutCore in Frameworks */, 0E53249D27D28FC7002565C3 /* Kvitto in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; 0ED2B34327D3C77800FD8EA9 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( 0ED2B34527D3C77800FD8EA9 /* NetworkExtension.framework in Frameworks */, 0ED2B36727D3C9A300FD8EA9 /* WireGuardAppExtension in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; 0EDE8DBC20C86910004C739C /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( 0ED2B33927D3C49800FD8EA9 /* OpenVPNAppExtension in Frameworks */, 0ED31C3A20CF39510027975F /* NetworkExtension.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ 0E0BD25527B130AD00583AC5 /* Views */ = { isa = PBXGroup; children = ( 0EC54E1927F214C9002522D0 /* AddProfile */, 0EC54E1A27F214E7002522D0 /* Paywall */, 0EC54E1B27F214F1002522D0 /* Profile */, 0E44689B27B11B5300A14CE4 /* AboutView.swift */, 0ECF71ED27B6A99300CDB528 /* AccountView.swift */, 0E71ACF827C12E4800F85C4B /* CreditsView.swift */, 0E71ACF627C107C900F85C4B /* DebugLogView.swift */, 0E5683B827C2825D00EAF1CD /* DiagnosticsView.swift */, 0ED1D6DB27DBA41700983466 /* DiagnosticsView+OpenVPN.swift */, 0ED1D6DD27DBA42100983466 /* DiagnosticsView+WireGuard.swift */, 0E0BD27527B2EB2200583AC5 /* DonateView.swift */, 0E71ACEA27C1060D00F85C4B /* EndpointView.swift */, 0E49F6BE27D764AF00385834 /* EndpointAdvancedView.swift */, 0E49F6BA27D7638300385834 /* EndpointAdvancedView+OpenVPN.swift */, 0E49F6BC27D7639000385834 /* EndpointAdvancedView+WireGuard.swift */, 0E5349C527C176C200C71BB3 /* EndpointView+OpenVPN.swift */, 0E5349C727C176D100C71BB3 /* EndpointView+WireGuard.swift */, 0E0BD27227B2EA2C00583AC5 /* MainView.swift */, 0E71ACE827C1055200F85C4B /* NetworkSettingsView.swift */, 0EB34BC927C6A70200B126DA /* OnDemandView.swift */, 0E34AC8127F892C40042F2AB /* OnDemandView+SSID.swift */, 0E2A8D4E27B04BB900207D04 /* OrganizerView.swift */, 0E34AC7D27F849050042F2AB /* OrganizerView+AddProfileMenu.swift */, 0E34AC7B27F845510042F2AB /* OrganizerView+Profiles.swift */, 0E34AC7727F840890042F2AB /* OrganizerView+Scene.swift */, 0E34AC7927F8431D0042F2AB /* OrganizerView+Shortcuts.swift */, 0E34AC7527F83FE20042F2AB /* OrganizerView+VPN.swift */, 0ED89C2427DE45A3008B36D6 /* ProfileHeaderRow.swift */, 0E44689527B051C300A14CE4 /* ProfileView.swift */, 0E92D7C527F103300033CB7B /* ProfileView+Configuration.swift */, 0E92D7F327F104B80033CB7B /* ProfileView+Diagnostics.swift */, 0E92D7C827F1042A0033CB7B /* ProfileView+Extra.swift */, 0E3B7FD927E51A0200C66F13 /* ProfileView+Provider.swift */, 0E3B7FD527E5173A00C66F13 /* ProfileView+VPN.swift */, 0E0AD48F27BD53CB00FBB520 /* ProfileView+Welcome.swift */, 0E71ACF027C1073800F85C4B /* ProviderLocationView.swift */, 0E71ACEE27C106B400F85C4B /* ProviderPresetView.swift */, 0EBC075A27EC4FFF00208AD9 /* ReportIssueView.swift */, 0E0BD27827B2EBE500583AC5 /* ShortcutsView.swift */, 0ED89C1B27DE3ABC008B36D6 /* ShortcutsView+Add.swift */, 0ED89C1F27DE423B008B36D6 /* ShortcutsView+ConnectTo.swift */, 0E71ACFA27C12E5300F85C4B /* VersionView.swift */, ); path = Views; sourceTree = ""; }; 0E0BD26427B25EC800583AC5 /* Shared */ = { isa = PBXGroup; children = ( 0EB17EA027D2263700D473B5 /* Constants */, 0E49F6C927DB398100385834 /* Extensions */, 0E92781227E7CD530057BB81 /* InApp */, 0EA591112733DD4E0096F796 /* Intents */, 0E34A2B827CAA8EA00C73B67 /* L10n */, 0E2C171C27CB6307007E8488 /* Reusable */, 0E6059CA27FCC5DE003F4063 /* Assets.xcassets */, 0E6059C827FCC5DD003F4063 /* Flags.xcassets */, 0E6059C927FCC5DE003F4063 /* Providers.xcassets */, 0E2AC24422EC3AC10037B4B0 /* Settings.bundle */, 0EDE8DE220C86A13004C739C /* App.entitlements */, 0E57F64720C83FC7008323CF /* Info.plist */, 0E0C072B236087A100155AAC /* InfoPlist.strings */, 0E2A8D4727ADF87F00207D04 /* PassepartoutApp.swift */, ); path = Shared; sourceTree = ""; }; 0E2C171C27CB6307007E8488 /* Reusable */ = { isa = PBXGroup; children = ( 0EB4042D27CA136200378B1A /* AddingTextField.swift */, 0EB3412F27C7761A00483410 /* Binding+Extensions.swift */, 0E9ED48027FD9BAE003B2316 /* CopySavingButton.swift */, 0EDE02C127F61C79000FBE3C /* EditableTextList.swift */, 0E2C171A27CB5A3A007E8488 /* GenericCreditsView.swift */, 0E34A2CE27CADA6300C73B67 /* GenericVersionView.swift */, 0E5324A527D297BB002565C3 /* InApp.swift */, 0EF0FAF827DD212C007EB181 /* IntentActivity.swift */, 0E5324A827D2AC55002565C3 /* LongContentView.swift */, 0E9C3B6B27FB3A9C00D0F02E /* ReloadingSection.swift */, 0ED30DCB27EA197C0057D8A3 /* RevealingSecureField.swift */, 0E2C172A27CB63F9007E8488 /* Reviewer.swift */, 0ED89C1427DE0A0C008B36D6 /* Shortcut.swift */, 0E5349BD27C16A4500C71BB3 /* StyledPicker.swift */, 0E12BC8E27F62C8500B2F912 /* Validators.swift */, 0E71ACDC27C0295B00F85C4B /* View+Extensions.swift */, ); path = Reusable; sourceTree = ""; }; 0E34A2B827CAA8EA00C73B67 /* L10n */ = { isa = PBXGroup; children = ( 0E9E5AE227B44CF1008C95DA /* Localizable.strings */, 0E34A2B527CAA8CC00C73B67 /* Core+L10n.swift */, 0E34A2AF27CAA84500C73B67 /* OpenVPN+L10n.swift */, 0E71ACE227C0F2E300F85C4B /* Providers+L10n.swift */, 0E2DE71E27DCD0290067B9E1 /* TunnelKit+L10n.swift */, 0EB4042B27CA0E8B00378B1A /* Unlocalized.swift */, 0E2DE72427DCDF550067B9E1 /* WireGuard+L10n.swift */, ); path = L10n; sourceTree = ""; }; 0E49F6C927DB398100385834 /* Extensions */ = { isa = PBXGroup; children = ( 0EBC075C27EC529000208AD9 /* DebugLog+Constants.swift */, 0EB17EB927D2560300D473B5 /* PassepartoutProviders+Extensions.swift */, 0E2DE71B27DCCFE80067B9E1 /* TunnelKit+Identifiable.swift */, 0EE8B7E227FF340F00B68621 /* VPNProtocolType+FileExtensions.swift */, ); path = Extensions; sourceTree = ""; }; 0E57F62F20C83FC5008323CF = { isa = PBXGroup; children = ( 0EE315DB2733104700F5D461 /* Packages */, 0E23B4A12298559800304C30 /* Config.xcconfig */, 0E9AA982259F7674003FAFF1 /* Passepartout */, 0E57F63920C83FC5008323CF /* Products */, 374B9F085E1148C37CF9117A /* Frameworks */, ); sourceTree = ""; }; 0E57F63920C83FC5008323CF /* Products */ = { isa = PBXGroup; children = ( 0E57F63820C83FC5008323CF /* Passepartout.app */, 0EDE8DBF20C86910004C739C /* PassepartoutOpenVPNTunnel.appex */, 0ED2B34A27D3C77800FD8EA9 /* PassepartoutWireGuardTunnel.appex */, ); name = Products; sourceTree = ""; }; 0E57F63A20C83FC5008323CF /* iOS */ = { isa = PBXGroup; children = ( 0EBC075327EBC7FC00208AD9 /* Reusable */, 0ECF71E227B64FFC00CDB528 /* ViewModels */, 0E0BD25527B130AD00583AC5 /* Views */, ); path = iOS; sourceTree = ""; }; 0E92781227E7CD530057BB81 /* InApp */ = { isa = PBXGroup; children = ( 0EB17EA327D2263700D473B5 /* LocalProduct.swift */, 0E53249627D26B51002565C3 /* ProductManager.swift */, ); path = InApp; sourceTree = ""; }; 0E9AA982259F7674003FAFF1 /* Passepartout */ = { isa = PBXGroup; children = ( 0E9AA983259F76C5003FAFF1 /* App */, 0ED30DD627EA33220057D8A3 /* Shared */, 0EDE8DC020C86910004C739C /* Tunnel */, ); path = Passepartout; sourceTree = ""; }; 0E9AA983259F76C5003FAFF1 /* App */ = { isa = PBXGroup; children = ( 0E0BD26427B25EC800583AC5 /* Shared */, 0E57F63A20C83FC5008323CF /* iOS */, ); path = App; sourceTree = ""; }; 0EA591112733DD4E0096F796 /* Intents */ = { isa = PBXGroup; children = ( 0EA591142733DDDA0096F796 /* Intents.intentdefinition */, 0EA591122733DD4E0096F796 /* IntentDispatcher.swift */, 0E9C233227F47E95007D5FC7 /* IntentDispatcher+Activities.swift */, 0E9C232F27F47032007D5FC7 /* IntentsManager.swift */, ); path = Intents; sourceTree = ""; }; 0EB17EA027D2263700D473B5 /* Constants */ = { isa = PBXGroup; children = ( 0E53E63627E34FE2001D4902 /* AppContext.swift */, 0EB17EA527D2263700D473B5 /* Constants+Extensions.swift */, 0E6059CE27FCC618003F4063 /* SwiftGen+Assets.swift */, 0EBC075F27EC587900208AD9 /* SwiftGen+Strings.swift */, 0EB34BCB27C6F41D00B126DA /* Theme.swift */, ); path = Constants; sourceTree = ""; }; 0EBC075327EBC7FC00208AD9 /* Reusable */ = { isa = PBXGroup; children = ( 0E71ACFC27C1321A00F85C4B /* ActivityView.swift */, 0ED89C1D27DE3F8D008B36D6 /* IntentAddView.swift */, 0ED89C1627DE0E05008B36D6 /* IntentEditView.swift */, 0EBC075427EBC83800208AD9 /* MailComposerView.swift */, ); path = Reusable; sourceTree = ""; }; 0EC54E1927F214C9002522D0 /* AddProfile */ = { isa = PBXGroup; children = ( 0E3B7FCC27E47B3700C66F13 /* AddHostView.swift */, 0EF2212E27E66F60001D0BD7 /* AddProfileView.swift */, 0EF2212C27E66EB5001D0BD7 /* AddProviderView.swift */, 0EF2212A27E667EA001D0BD7 /* AddProviderView+Name.swift */, ); path = AddProfile; sourceTree = ""; }; 0EC54E1A27F214E7002522D0 /* Paywall */ = { isa = PBXGroup; children = ( 0EF0FAF527DD0211007EB181 /* PaywallView.swift */, 0ED30DCE27EA1EF80057D8A3 /* PaywallView+Beta.swift */, 0ED30DD127EA1F650057D8A3 /* PaywallView+Purchase.swift */, ); path = Paywall; sourceTree = ""; }; 0EC54E1B27F214F1002522D0 /* Profile */ = { isa = PBXGroup; children = ( 0EBC074B27EB673C00208AD9 /* ProfileView+Rename.swift */, ); path = Profile; sourceTree = ""; }; 0ECF71E227B64FFC00CDB528 /* ViewModels */ = { isa = PBXGroup; children = ( 0E90DFE527BACC1500EF5078 /* AddHostViewModel.swift */, 0EF2213027E674BD001D0BD7 /* AddProviderViewModel.swift */, ); path = ViewModels; sourceTree = ""; }; 0ED2B33C27D3C52900FD8EA9 /* OpenVPN */ = { isa = PBXGroup; children = ( 0ED30DDA27EA351C0057D8A3 /* Constants+Tunnel.swift */, 0E9AA977259F756A003FAFF1 /* PacketTunnelProvider.swift */, ); path = OpenVPN; sourceTree = ""; }; 0ED2B33D27D3C53400FD8EA9 /* WireGuard */ = { isa = PBXGroup; children = ( 0ED2B35A27D3C94F00FD8EA9 /* PacketTunnelProvider.swift */, ); path = WireGuard; sourceTree = ""; }; 0ED30DD627EA33220057D8A3 /* Shared */ = { isa = PBXGroup; children = ( 0EB17EA127D2263700D473B5 /* Constants.swift */, ); path = Shared; sourceTree = ""; }; 0EDE8DC020C86910004C739C /* Tunnel */ = { isa = PBXGroup; children = ( 0ED2B33C27D3C52900FD8EA9 /* OpenVPN */, 0ED2B33D27D3C53400FD8EA9 /* WireGuard */, 0ED31C3B20CF39510027975F /* Tunnel.entitlements */, 0EDE8DC320C86910004C739C /* Info.plist */, ); path = Tunnel; sourceTree = ""; }; 0EE315DB2733104700F5D461 /* Packages */ = { isa = PBXGroup; children = ( 0EA26DC827353020000F251A /* PassepartoutCore */, ); name = Packages; sourceTree = ""; }; 374B9F085E1148C37CF9117A /* Frameworks */ = { isa = PBXGroup; children = ( 0E9C3B6E27FC573E00D0F02E /* CloudKit.framework */, 0ED31C3920CF39510027975F /* NetworkExtension.framework */, 0EDE8DD220C86978004C739C /* NotificationCenter.framework */, ); name = Frameworks; sourceTree = ""; }; /* End PBXGroup section */ /* Begin PBXLegacyTarget section */ 0ECF71F327B6D9CD00CDB528 /* WireGuardGo */ = { isa = PBXLegacyTarget; buildArgumentsString = "$(ACTION)"; buildConfigurationList = 0ECF71F427B6D9CD00CDB528 /* Build configuration list for PBXLegacyTarget "WireGuardGo" */; buildPhases = ( ); buildToolPath = "$(PROJECT_DIR)/Passepartout/App/Scripts/build_wireguard_go_bridge.sh"; buildWorkingDirectory = ""; dependencies = ( ); name = WireGuardGo; passBuildSettingsInEnvironment = 1; productName = "PassepartoutWireGuard-iOS"; }; /* End PBXLegacyTarget section */ /* Begin PBXNativeTarget section */ 0E57F63720C83FC5008323CF /* Passepartout */ = { isa = PBXNativeTarget; buildConfigurationList = 0E57F65520C83FC7008323CF /* Build configuration list for PBXNativeTarget "Passepartout" */; buildPhases = ( 0EADDC7227F0677F0093E303 /* Copy Core Data codegen */, 0E9E5AF427B44E59008C95DA /* Refresh Localizations */, 0E57F63420C83FC5008323CF /* Sources */, 0E57F63520C83FC5008323CF /* Frameworks */, 0E57F63620C83FC5008323CF /* Resources */, 0E3152B7223F9EF500F61841 /* Embed Frameworks */, 0EB2B14B2733FB6F007705AB /* Embed App Extensions */, 0EBEF138274E4C7F00EAC689 /* Drop Extra Frameworks In Extensions */, ); buildRules = ( ); dependencies = ( 0ECF71FC27B6DA6700CDB528 /* PBXTargetDependency */, 0EB2B14A2733FB6F007705AB /* PBXTargetDependency */, 0ED2B36227D3C99100FD8EA9 /* PBXTargetDependency */, 0E6059C727FCC33D003F4063 /* PBXTargetDependency */, ); name = Passepartout; packageProductDependencies = ( 0EED0BB82733CEDA00C9FC68 /* PassepartoutCore */, 0E53249C27D28FC7002565C3 /* Kvitto */, ); productName = Passepartout; productReference = 0E57F63820C83FC5008323CF /* Passepartout.app */; productType = "com.apple.product-type.application"; }; 0ED2B33E27D3C77800FD8EA9 /* WireGuardTunnel */ = { isa = PBXNativeTarget; buildConfigurationList = 0ED2B34727D3C77800FD8EA9 /* Build configuration list for PBXNativeTarget "WireGuardTunnel" */; buildPhases = ( 0ED2B34027D3C77800FD8EA9 /* Sources */, 0ED2B34327D3C77800FD8EA9 /* Frameworks */, 0ED2B34627D3C77800FD8EA9 /* Resources */, ); buildRules = ( ); dependencies = ( 0ED2B36B27D3CAB100FD8EA9 /* PBXTargetDependency */, ); name = WireGuardTunnel; packageProductDependencies = ( 0ED2B36627D3C9A300FD8EA9 /* WireGuardAppExtension */, ); productName = "Passepartout-iOS-Tunnel"; productReference = 0ED2B34A27D3C77800FD8EA9 /* PassepartoutWireGuardTunnel.appex */; productType = "com.apple.product-type.app-extension"; }; 0EDE8DBE20C86910004C739C /* OpenVPNTunnel */ = { isa = PBXNativeTarget; buildConfigurationList = 0EDE8DC920C86910004C739C /* Build configuration list for PBXNativeTarget "OpenVPNTunnel" */; buildPhases = ( 0EDE8DBB20C86910004C739C /* Sources */, 0EDE8DBC20C86910004C739C /* Frameworks */, 0EDE8DBD20C86910004C739C /* Resources */, ); buildRules = ( ); dependencies = ( ); name = OpenVPNTunnel; packageProductDependencies = ( 0ED2B33827D3C49800FD8EA9 /* OpenVPNAppExtension */, ); productName = "Passepartout-iOS-Tunnel"; productReference = 0EDE8DBF20C86910004C739C /* PassepartoutOpenVPNTunnel.appex */; productType = "com.apple.product-type.app-extension"; }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ 0E57F63020C83FC5008323CF /* Project object */ = { isa = PBXProject; attributes = { LastSwiftUpdateCheck = 1230; LastUpgradeCheck = 1240; ORGANIZATIONNAME = "Davide De Rosa"; TargetAttributes = { 0E57F63720C83FC5008323CF = { CreatedOnToolsVersion = 9.4; LastSwiftMigration = 1020; SystemCapabilities = { com.apple.AccessWiFi = { enabled = 1; }; com.apple.ApplicationGroups.iOS = { enabled = 1; }; com.apple.NetworkExtensions.iOS = { enabled = 1; }; com.apple.Siri = { enabled = 1; }; }; }; 0ECF71F327B6D9CD00CDB528 = { CreatedOnToolsVersion = 13.2; }; 0EDE8DBE20C86910004C739C = { CreatedOnToolsVersion = 10.0; LastSwiftMigration = 1020; SystemCapabilities = { com.apple.ApplicationGroups.iOS = { enabled = 1; }; com.apple.NetworkExtensions.iOS = { enabled = 1; }; }; }; }; }; buildConfigurationList = 0E57F63320C83FC5008323CF /* Build configuration list for PBXProject "Passepartout" */; compatibilityVersion = "Xcode 9.3"; developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( en, Base, it, de, ru, nl, el, sv, fr, es, pt, "zh-Hans", pl, ); mainGroup = 0E57F62F20C83FC5008323CF; packageReferences = ( 0E53249B27D28FC7002565C3 /* XCRemoteSwiftPackageReference "Kvitto" */, ); productRefGroup = 0E57F63920C83FC5008323CF /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( 0E57F63720C83FC5008323CF /* Passepartout */, 0EDE8DBE20C86910004C739C /* OpenVPNTunnel */, 0ECF71F327B6D9CD00CDB528 /* WireGuardGo */, 0ED2B33E27D3C77800FD8EA9 /* WireGuardTunnel */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ 0E57F63620C83FC5008323CF /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( 0E6059CB27FCC5DE003F4063 /* Flags.xcassets in Resources */, 0E0C0729236087A100155AAC /* InfoPlist.strings in Resources */, 0E6059CC27FCC5DE003F4063 /* Providers.xcassets in Resources */, 0E6059CD27FCC5DE003F4063 /* Assets.xcassets in Resources */, 0E9E5AEF27B44CF1008C95DA /* Localizable.strings in Resources */, 0E2AC24522EC3AC10037B4B0 /* Settings.bundle in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; 0ED2B34627D3C77800FD8EA9 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; 0EDE8DBD20C86910004C739C /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ 0E9E5AF427B44E59008C95DA /* Refresh Localizations */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( ); inputPaths = ( ); name = "Refresh Localizations"; outputFileListPaths = ( ); outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "PATH=${PATH}:/opt/homebrew/bin\ncd \"${PROJECT_DIR}/Passepartout/App/Shared\"\nswiftgen\n"; }; 0EADDC7227F0677F0093E303 /* Copy Core Data codegen */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( ); inputPaths = ( ); name = "Copy Core Data codegen"; outputFileListPaths = ( ); outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "Passepartout/App/Scripts/copy_coredata_codegen.sh\n"; showEnvVarsInLog = 0; }; 0EBEF138274E4C7F00EAC689 /* Drop Extra Frameworks In Extensions */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( ); inputPaths = ( ); name = "Drop Extra Frameworks In Extensions"; outputFileListPaths = ( ); outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "# Type a script or drag a script file from your workspace to insert its path.\nrm -rf ${BUILT_PRODUCTS_DIR}/${PLUGINS_FOLDER_PATH}/*.appex/Frameworks\n"; }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ 0E57F63420C83FC5008323CF /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( 0EA591162733DDDA0096F796 /* Intents.intentdefinition in Sources */, 0E34AC7827F840890042F2AB /* OrganizerView+Scene.swift in Sources */, 0E0BD27927B2EBE500583AC5 /* ShortcutsView.swift in Sources */, 0E92D7C627F103300033CB7B /* ProfileView+Configuration.swift in Sources */, 0E34AC7A27F8431D0042F2AB /* OrganizerView+Shortcuts.swift in Sources */, 0E34AC7E27F849050042F2AB /* OrganizerView+AddProfileMenu.swift in Sources */, 0E2DE71C27DCCFE80067B9E1 /* TunnelKit+Identifiable.swift in Sources */, 0ED1D6DE27DBA42100983466 /* DiagnosticsView+WireGuard.swift in Sources */, 0EF2213127E674BD001D0BD7 /* AddProviderViewModel.swift in Sources */, 0E90DFE627BACC1500EF5078 /* AddHostViewModel.swift in Sources */, 0E34AC8227F892C40042F2AB /* OnDemandView+SSID.swift in Sources */, 0E9C3B6C27FB3A9C00D0F02E /* ReloadingSection.swift in Sources */, 0E5324A627D297BB002565C3 /* InApp.swift in Sources */, 0E3B7FCD27E47B3700C66F13 /* AddHostView.swift in Sources */, 0EF2212D27E66EB5001D0BD7 /* AddProviderView.swift in Sources */, 0E5349C827C176D100C71BB3 /* EndpointView+WireGuard.swift in Sources */, 0EBC076027EC587900208AD9 /* SwiftGen+Strings.swift in Sources */, 0E5683B927C2825D00EAF1CD /* DiagnosticsView.swift in Sources */, 0E71ACFD27C1321A00F85C4B /* ActivityView.swift in Sources */, 0E44689627B051C300A14CE4 /* ProfileView.swift in Sources */, 0EDE02C227F61C79000FBE3C /* EditableTextList.swift in Sources */, 0E92D7C927F1042A0033CB7B /* ProfileView+Extra.swift in Sources */, 0EBC074C27EB673C00208AD9 /* ProfileView+Rename.swift in Sources */, 0E49F6BD27D7639000385834 /* EndpointAdvancedView+WireGuard.swift in Sources */, 0EB34BCC27C6F41D00B126DA /* Theme.swift in Sources */, 0EB17EA927D226C900D473B5 /* Constants.swift in Sources */, 0E5324A927D2AC55002565C3 /* LongContentView.swift in Sources */, 0ED89C1C27DE3ABC008B36D6 /* ShortcutsView+Add.swift in Sources */, 0E34A2CF27CADA6300C73B67 /* GenericVersionView.swift in Sources */, 0E9C233327F47E95007D5FC7 /* IntentDispatcher+Activities.swift in Sources */, 0EBC075D27EC529000208AD9 /* DebugLog+Constants.swift in Sources */, 0EB17EAA27D226C900D473B5 /* Constants+Extensions.swift in Sources */, 0E53E63727E34FE2001D4902 /* AppContext.swift in Sources */, 0E3B7FD627E5173A00C66F13 /* ProfileView+VPN.swift in Sources */, 0ED89C1E27DE3F8D008B36D6 /* IntentAddView.swift in Sources */, 0ED30DCF27EA1EF80057D8A3 /* PaywallView+Beta.swift in Sources */, 0ECF71EE27B6A99300CDB528 /* AccountView.swift in Sources */, 0E71ACF727C107CA00F85C4B /* DebugLogView.swift in Sources */, 0EF0FAF927DD212C007EB181 /* IntentActivity.swift in Sources */, 0EBC075B27EC4FFF00208AD9 /* ReportIssueView.swift in Sources */, 0ED89C1727DE0E05008B36D6 /* IntentEditView.swift in Sources */, 0E71ACE927C1055300F85C4B /* NetworkSettingsView.swift in Sources */, 0EB34BCA27C6A70200B126DA /* OnDemandView.swift in Sources */, 0E0BD27327B2EA2C00583AC5 /* MainView.swift in Sources */, 0E34AC7C27F845510042F2AB /* OrganizerView+Profiles.swift in Sources */, 0EB17EBA27D2560300D473B5 /* PassepartoutProviders+Extensions.swift in Sources */, 0E3B7FDA27E51A0200C66F13 /* ProfileView+Provider.swift in Sources */, 0E71ACE327C0F2E400F85C4B /* Providers+L10n.swift in Sources */, 0E71ACF127C1073800F85C4B /* ProviderLocationView.swift in Sources */, 0E2A8D4F27B04BBA00207D04 /* OrganizerView.swift in Sources */, 0E49F6BB27D7638300385834 /* EndpointAdvancedView+OpenVPN.swift in Sources */, 0E71ACEF27C106B500F85C4B /* ProviderPresetView.swift in Sources */, 0E0AD49027BD53CB00FBB520 /* ProfileView+Welcome.swift in Sources */, 0E34AC7627F83FE20042F2AB /* OrganizerView+VPN.swift in Sources */, 0EF2212F27E66F60001D0BD7 /* AddProfileView.swift in Sources */, 0EF0FAF627DD0211007EB181 /* PaywallView.swift in Sources */, 0E5349BE27C16A4500C71BB3 /* StyledPicker.swift in Sources */, 0ED89C2527DE45A3008B36D6 /* ProfileHeaderRow.swift in Sources */, 0E2C172B27CB63F9007E8488 /* Reviewer.swift in Sources */, 0E71ACDD27C0295C00F85C4B /* View+Extensions.swift in Sources */, 0ED89C2027DE423B008B36D6 /* ShortcutsView+ConnectTo.swift in Sources */, 0E34A2B627CAA8CC00C73B67 /* Core+L10n.swift in Sources */, 0E6059CF27FCC618003F4063 /* SwiftGen+Assets.swift in Sources */, 0E2A8D4927ADF87F00207D04 /* PassepartoutApp.swift in Sources */, 0EBC075527EBC83800208AD9 /* MailComposerView.swift in Sources */, 0EF0FAF727DD159C007EB181 /* IntentDispatcher.swift in Sources */, 0E12BC8F27F62C8600B2F912 /* Validators.swift in Sources */, 0E9ED48127FD9BAE003B2316 /* CopySavingButton.swift in Sources */, 0E44689C27B11B5300A14CE4 /* AboutView.swift in Sources */, 0E71ACF927C12E4800F85C4B /* CreditsView.swift in Sources */, 0ED89C1527DE0A0C008B36D6 /* Shortcut.swift in Sources */, 0E34A2B927CAA96A00C73B67 /* OpenVPN+L10n.swift in Sources */, 0EB17EAE27D226CF00D473B5 /* LocalProduct.swift in Sources */, 0E71ACEB27C1060D00F85C4B /* EndpointView.swift in Sources */, 0E53249927D26B51002565C3 /* ProductManager.swift in Sources */, 0E9C233027F47032007D5FC7 /* IntentsManager.swift in Sources */, 0EB4042C27CA0E8C00378B1A /* Unlocalized.swift in Sources */, 0EB4042E27CA136300378B1A /* AddingTextField.swift in Sources */, 0EE8B7E327FF340F00B68621 /* VPNProtocolType+FileExtensions.swift in Sources */, 0EF2212B27E667EA001D0BD7 /* AddProviderView+Name.swift in Sources */, 0E2DE71F27DCD0290067B9E1 /* TunnelKit+L10n.swift in Sources */, 0E49F6BF27D764AF00385834 /* EndpointAdvancedView.swift in Sources */, 0E0BD27627B2EB2200583AC5 /* DonateView.swift in Sources */, 0E2C171B27CB5A3B007E8488 /* GenericCreditsView.swift in Sources */, 0ED30DD227EA1F650057D8A3 /* PaywallView+Purchase.swift in Sources */, 0EB3413027C7761A00483410 /* Binding+Extensions.swift in Sources */, 0E2DE72527DCDF550067B9E1 /* WireGuard+L10n.swift in Sources */, 0E71ACFB27C12E5300F85C4B /* VersionView.swift in Sources */, 0ED1D6DC27DBA41700983466 /* DiagnosticsView+OpenVPN.swift in Sources */, 0ED30DCC27EA197D0057D8A3 /* RevealingSecureField.swift in Sources */, 0E92D7F427F104B80033CB7B /* ProfileView+Diagnostics.swift in Sources */, 0E5349C627C176C200C71BB3 /* EndpointView+OpenVPN.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; 0ED2B34027D3C77800FD8EA9 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( 0ED2B35B27D3C94F00FD8EA9 /* PacketTunnelProvider.swift in Sources */, 0ED30DDD27EA35230057D8A3 /* Constants.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; 0EDE8DBB20C86910004C739C /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( 0E9AA978259F756A003FAFF1 /* PacketTunnelProvider.swift in Sources */, 0EB17EA727D226B400D473B5 /* Constants.swift in Sources */, 0ED30DDB27EA351C0057D8A3 /* Constants+Tunnel.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ 0E6059C727FCC33D003F4063 /* PBXTargetDependency */ = { isa = PBXTargetDependency; platformFilter = ios; targetProxy = 0E6059C627FCC33D003F4063 /* PBXContainerItemProxy */; }; 0EB2B14A2733FB6F007705AB /* PBXTargetDependency */ = { isa = PBXTargetDependency; platformFilter = ios; target = 0EDE8DBE20C86910004C739C /* OpenVPNTunnel */; targetProxy = 0EB2B1492733FB6F007705AB /* PBXContainerItemProxy */; }; 0ECF71FC27B6DA6700CDB528 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = 0ECF71F327B6D9CD00CDB528 /* WireGuardGo */; targetProxy = 0ECF71FB27B6DA6700CDB528 /* PBXContainerItemProxy */; }; 0ED2B36227D3C99100FD8EA9 /* PBXTargetDependency */ = { isa = PBXTargetDependency; platformFilter = ios; target = 0ED2B33E27D3C77800FD8EA9 /* WireGuardTunnel */; targetProxy = 0ED2B36127D3C99100FD8EA9 /* PBXContainerItemProxy */; }; 0ED2B36B27D3CAB100FD8EA9 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = 0ECF71F327B6D9CD00CDB528 /* WireGuardGo */; targetProxy = 0ED2B36A27D3CAB100FD8EA9 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin PBXVariantGroup section */ 0E0C072B236087A100155AAC /* InfoPlist.strings */ = { isa = PBXVariantGroup; children = ( 0E0C072A236087A100155AAC /* en */, 0E0C072C236087C800155AAC /* it */, 0EBE2FD02360F88C00F0D5AB /* zh-Hans */, 0EBE2FD12360F88E00F0D5AB /* fr */, 0EBE2FD22360F88F00F0D5AB /* nl */, 0EBE2FD32360F89200F0D5AB /* de */, 0EBE2FD42360F89300F0D5AB /* el */, 0EBE2FD52360F89400F0D5AB /* pt */, 0EBE2FD62360F89500F0D5AB /* ru */, 0EBE2FD72360F89600F0D5AB /* es */, 0EBE2FD82360F89600F0D5AB /* sv */, 0E1C0A52238FFF97009FC087 /* pl */, ); name = InfoPlist.strings; sourceTree = ""; }; 0E9E5AE227B44CF1008C95DA /* Localizable.strings */ = { isa = PBXVariantGroup; children = ( 0E9E5AE327B44CF1008C95DA /* de */, 0E9E5AE427B44CF1008C95DA /* el */, 0E9E5AE527B44CF1008C95DA /* zh-Hans */, 0E9E5AE627B44CF1008C95DA /* en */, 0E9E5AE727B44CF1008C95DA /* es */, 0E9E5AE827B44CF1008C95DA /* it */, 0E9E5AE927B44CF1008C95DA /* sv */, 0E9E5AEA27B44CF1008C95DA /* pl */, 0E9E5AEB27B44CF1008C95DA /* ru */, 0E9E5AEC27B44CF1008C95DA /* fr */, 0E9E5AED27B44CF1008C95DA /* nl */, 0E9E5AEE27B44CF1008C95DA /* pt */, ); name = Localizable.strings; sourceTree = ""; }; 0EA591142733DDDA0096F796 /* Intents.intentdefinition */ = { isa = PBXVariantGroup; children = ( 0EA591152733DDDA0096F796 /* Base */, 0EA591182733DDF60096F796 /* en */, 0EA5911A2733DDF80096F796 /* zh-Hans */, 0EA5911C2733DDF80096F796 /* nl */, 0EA5911E2733DDF90096F796 /* fr */, 0EA591202733DDF90096F796 /* de */, 0EA591222733DDFA0096F796 /* el */, 0EA591242733DDFA0096F796 /* it */, 0EA591262733DDFB0096F796 /* pl */, 0EA591282733DDFB0096F796 /* pt */, 0EA5912A2733DDFC0096F796 /* ru */, 0EA5912C2733DDFC0096F796 /* es */, 0EA5912E2733DDFD0096F796 /* sv */, ); name = Intents.intentdefinition; sourceTree = ""; }; /* End PBXVariantGroup section */ /* Begin XCBuildConfiguration section */ 0E57F65320C83FC7008323CF /* Debug */ = { isa = XCBuildConfiguration; baseConfigurationReference = 0E23B4A12298559800304C30 /* Config.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; 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_IDENTITY = "iPhone Developer"; CURRENT_PROJECT_VERSION = 3000; DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_BITCODE = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = gnu11; GCC_DYNAMIC_NO_PIC = NO; GCC_NO_COMMON_BLOCKS = YES; GCC_OPTIMIZATION_LEVEL = 0; GCC_PREPROCESSOR_DEFINITIONS = ( "DEBUG=1", "$(inherited)", ); 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 = 14.0; MACOSX_DEPLOYMENT_TARGET = 11.0; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2,6"; }; name = Debug; }; 0E57F65420C83FC7008323CF /* Release */ = { isa = XCBuildConfiguration; baseConfigurationReference = 0E23B4A12298559800304C30 /* Config.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; 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_IDENTITY = "iPhone Developer"; CURRENT_PROJECT_VERSION = 3000; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_BITCODE = NO; 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; IPHONEOS_DEPLOYMENT_TARGET = 14.0; MACOSX_DEPLOYMENT_TARGET = 11.0; SDKROOT = iphoneos; SWIFT_COMPILATION_MODE = wholemodule; SWIFT_OPTIMIZATION_LEVEL = "-O"; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2,6"; VALIDATE_PRODUCT = YES; }; name = Release; }; 0E57F65620C83FC7008323CF /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = Passepartout/App/Shared/App.entitlements; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; CODE_SIGN_STYLE = Manual; CURRENT_PROJECT_VERSION = 3000; DEVELOPMENT_TEAM = DTDYD63ZX9; INFOPLIST_FILE = Passepartout/App/Shared/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", ); MARKETING_VERSION = 2.0.0; PRODUCT_BUNDLE_IDENTIFIER = "$(CFG_APP_ID)"; PRODUCT_NAME = Passepartout; PROVISIONING_PROFILE_SPECIFIER = "match Development com.algoritmico.ios.Passepartout"; "PROVISIONING_PROFILE_SPECIFIER[sdk=macosx*]" = "match Development com.algoritmico.ios.Passepartout catalyst"; SUPPORTS_MACCATALYST = YES; SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = YES; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; TARGETED_DEVICE_FAMILY = "1,2"; }; name = Debug; }; 0E57F65720C83FC7008323CF /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = Passepartout/App/Shared/App.entitlements; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; CODE_SIGN_STYLE = Manual; CURRENT_PROJECT_VERSION = 3000; DEVELOPMENT_TEAM = DTDYD63ZX9; INFOPLIST_FILE = Passepartout/App/Shared/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", ); MARKETING_VERSION = 2.0.0; PRODUCT_BUNDLE_IDENTIFIER = "$(CFG_APP_ID)"; PRODUCT_NAME = Passepartout; PROVISIONING_PROFILE_SPECIFIER = "match Development com.algoritmico.ios.Passepartout"; "PROVISIONING_PROFILE_SPECIFIER[sdk=macosx*]" = "match Development com.algoritmico.ios.Passepartout catalyst"; SUPPORTS_MACCATALYST = YES; SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = YES; TARGETED_DEVICE_FAMILY = "1,2"; }; name = Release; }; 0ECF71F527B6D9CD00CDB528 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { CLANG_CXX_LANGUAGE_STANDARD = "gnu++17"; CODE_SIGN_STYLE = Automatic; COPY_PHASE_STRIP = NO; DEBUGGING_SYMBOLS = YES; DEBUG_INFORMATION_FORMAT = dwarf; DEVELOPMENT_TEAM = DTDYD63ZX9; GCC_GENERATE_DEBUGGING_SYMBOLS = YES; GCC_OPTIMIZATION_LEVEL = 0; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; OTHER_CFLAGS = ""; OTHER_LDFLAGS = ""; PRODUCT_NAME = "$(TARGET_NAME)"; }; name = Debug; }; 0ECF71F627B6D9CD00CDB528 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { CLANG_CXX_LANGUAGE_STANDARD = "gnu++17"; CODE_SIGN_STYLE = Automatic; COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEVELOPMENT_TEAM = DTDYD63ZX9; MTL_ENABLE_DEBUG_INFO = NO; MTL_FAST_MATH = YES; OTHER_CFLAGS = ""; OTHER_LDFLAGS = ""; PRODUCT_NAME = "$(TARGET_NAME)"; }; name = Release; }; 0ED2B34827D3C77800FD8EA9 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { CODE_SIGN_ENTITLEMENTS = Passepartout/Tunnel/Tunnel.entitlements; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; CODE_SIGN_STYLE = Manual; DEVELOPMENT_TEAM = DTDYD63ZX9; INFOPLIST_FILE = Passepartout/Tunnel/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", "@executable_path/../../Frameworks", ); PRODUCT_BUNDLE_IDENTIFIER = "$(CFG_APP_ID).Tunnel.WireGuard"; PRODUCT_NAME = PassepartoutWireGuardTunnel; PROVISIONING_PROFILE_SPECIFIER = "match Development com.algoritmico.ios.Passepartout.Tunnel.WireGuard"; "PROVISIONING_PROFILE_SPECIFIER[sdk=macosx*]" = "match Development com.algoritmico.ios.Passepartout.Tunnel.WireGuard catalyst"; SKIP_INSTALL = YES; SUPPORTS_MACCATALYST = YES; TARGETED_DEVICE_FAMILY = "1,2"; }; name = Debug; }; 0ED2B34927D3C77800FD8EA9 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { CODE_SIGN_ENTITLEMENTS = Passepartout/Tunnel/Tunnel.entitlements; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; CODE_SIGN_STYLE = Manual; DEVELOPMENT_TEAM = DTDYD63ZX9; INFOPLIST_FILE = Passepartout/Tunnel/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", "@executable_path/../../Frameworks", ); PRODUCT_BUNDLE_IDENTIFIER = "$(CFG_APP_ID).Tunnel.WireGuard"; PRODUCT_NAME = PassepartoutWireGuardTunnel; PROVISIONING_PROFILE_SPECIFIER = "match Development com.algoritmico.ios.Passepartout.Tunnel.WireGuard"; "PROVISIONING_PROFILE_SPECIFIER[sdk=macosx*]" = "match Development com.algoritmico.ios.Passepartout.Tunnel.WireGuard catalyst"; SKIP_INSTALL = YES; SUPPORTS_MACCATALYST = YES; TARGETED_DEVICE_FAMILY = "1,2"; }; name = Release; }; 0EDE8DCA20C86910004C739C /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { CODE_SIGN_ENTITLEMENTS = Passepartout/Tunnel/Tunnel.entitlements; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; CODE_SIGN_STYLE = Manual; DEVELOPMENT_TEAM = DTDYD63ZX9; INFOPLIST_FILE = Passepartout/Tunnel/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", "@executable_path/../../Frameworks", ); PRODUCT_BUNDLE_IDENTIFIER = "$(CFG_APP_ID).Tunnel.OpenVPN"; PRODUCT_NAME = PassepartoutOpenVPNTunnel; PROVISIONING_PROFILE_SPECIFIER = "match Development com.algoritmico.ios.Passepartout.Tunnel.OpenVPN"; "PROVISIONING_PROFILE_SPECIFIER[sdk=macosx*]" = "match Development com.algoritmico.ios.Passepartout.Tunnel.OpenVPN catalyst"; SKIP_INSTALL = YES; SUPPORTS_MACCATALYST = YES; TARGETED_DEVICE_FAMILY = "1,2"; }; name = Debug; }; 0EDE8DCB20C86910004C739C /* Release */ = { isa = XCBuildConfiguration; buildSettings = { CODE_SIGN_ENTITLEMENTS = Passepartout/Tunnel/Tunnel.entitlements; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; CODE_SIGN_STYLE = Manual; DEVELOPMENT_TEAM = DTDYD63ZX9; INFOPLIST_FILE = Passepartout/Tunnel/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", "@executable_path/../../Frameworks", ); PRODUCT_BUNDLE_IDENTIFIER = "$(CFG_APP_ID).Tunnel.OpenVPN"; PRODUCT_NAME = PassepartoutOpenVPNTunnel; PROVISIONING_PROFILE_SPECIFIER = "match Development com.algoritmico.ios.Passepartout.Tunnel.OpenVPN"; "PROVISIONING_PROFILE_SPECIFIER[sdk=macosx*]" = "match Development com.algoritmico.ios.Passepartout.Tunnel.OpenVPN catalyst"; SKIP_INSTALL = YES; SUPPORTS_MACCATALYST = YES; TARGETED_DEVICE_FAMILY = "1,2"; }; name = Release; }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ 0E57F63320C83FC5008323CF /* Build configuration list for PBXProject "Passepartout" */ = { isa = XCConfigurationList; buildConfigurations = ( 0E57F65320C83FC7008323CF /* Debug */, 0E57F65420C83FC7008323CF /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; 0E57F65520C83FC7008323CF /* Build configuration list for PBXNativeTarget "Passepartout" */ = { isa = XCConfigurationList; buildConfigurations = ( 0E57F65620C83FC7008323CF /* Debug */, 0E57F65720C83FC7008323CF /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; 0ECF71F427B6D9CD00CDB528 /* Build configuration list for PBXLegacyTarget "WireGuardGo" */ = { isa = XCConfigurationList; buildConfigurations = ( 0ECF71F527B6D9CD00CDB528 /* Debug */, 0ECF71F627B6D9CD00CDB528 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; 0ED2B34727D3C77800FD8EA9 /* Build configuration list for PBXNativeTarget "WireGuardTunnel" */ = { isa = XCConfigurationList; buildConfigurations = ( 0ED2B34827D3C77800FD8EA9 /* Debug */, 0ED2B34927D3C77800FD8EA9 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; 0EDE8DC920C86910004C739C /* Build configuration list for PBXNativeTarget "OpenVPNTunnel" */ = { isa = XCConfigurationList; buildConfigurations = ( 0EDE8DCA20C86910004C739C /* Debug */, 0EDE8DCB20C86910004C739C /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; /* End XCConfigurationList section */ /* Begin XCRemoteSwiftPackageReference section */ 0E53249B27D28FC7002565C3 /* XCRemoteSwiftPackageReference "Kvitto" */ = { isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/Cocoanetics/Kvitto"; requirement = { kind = upToNextMajorVersion; minimumVersion = 1.0.0; }; }; /* End XCRemoteSwiftPackageReference section */ /* Begin XCSwiftPackageProductDependency section */ 0E53249C27D28FC7002565C3 /* Kvitto */ = { isa = XCSwiftPackageProductDependency; package = 0E53249B27D28FC7002565C3 /* XCRemoteSwiftPackageReference "Kvitto" */; productName = Kvitto; }; 0ED2B33827D3C49800FD8EA9 /* OpenVPNAppExtension */ = { isa = XCSwiftPackageProductDependency; productName = OpenVPNAppExtension; }; 0ED2B36627D3C9A300FD8EA9 /* WireGuardAppExtension */ = { isa = XCSwiftPackageProductDependency; productName = WireGuardAppExtension; }; 0EED0BB82733CEDA00C9FC68 /* PassepartoutCore */ = { isa = XCSwiftPackageProductDependency; productName = PassepartoutCore; }; /* End XCSwiftPackageProductDependency section */ }; rootObject = 0E57F63020C83FC5008323CF /* Project object */; }