text: //
  //     Generated by class-dump 3.5 (64 bit).
  //
  //     class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2013 by Steve Nygard.
  //
  
  #pragma mark Blocks
  
  typedef void (^CDUnknownBlockType)(void); // return type and parameters are unknown
  
  #pragma mark Named Structures
  
  struct __va_list_tag {
      unsigned int _field1;
      unsigned int _field2;
      void *_field3;
      void *_field4;
  };
  
  #pragma mark -
  
  //
  // File: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/PrivateFrameworks/PersistentConnection.framework/PersistentConnection
  // UUID: 78EE1B73-6FAC-3E8A-948B-800FC7858EBE
  //
  //                           Arch: x86_64
  //                Current version: 1.0.0
  //          Compatibility version: 1.0.0
  //                 Source version: 290.0.0.0.0
  //            Minimum iOS version: 8.0.0
  //                    SDK version: 8.0.0
  //
  // Objective-C Garbage Collection: Unsupported
  //
  
  @protocol CUTPowerMonitorDelegate <NSObject>
  
  @optional
  - (void)cutPowerMonitorSystemHasPoweredOn:(CUTPowerMonitor *)arg1;
  - (void)cutPowerMonitorBatteryConnectedStateDidChange:(CUTPowerMonitor *)arg1;
  @end
  
  @protocol NSLocking
  - (void)unlock;
  - (void)lock;
  @end
  
  @protocol NSObject
  @property(readonly, copy) NSString *description;
  @property(readonly) Class superclass;
  @property(readonly) unsigned long long hash;
  - (struct _NSZone *)zone;
  - (unsigned long long)retainCount;
  - (id)autorelease;
  - (oneway void)release;
  - (id)retain;
  - (_Bool)respondsToSelector:(SEL)arg1;
  - (_Bool)conformsToProtocol:(Protocol *)arg1;
  - (_Bool)isMemberOfClass:(Class)arg1;
  - (_Bool)isKindOfClass:(Class)arg1;
  - (_Bool)isProxy;
  - (id)performSelector:(SEL)arg1 withObject:(id)arg2 withObject:(id)arg3;
  - (id)performSelector:(SEL)arg1 withObject:(id)arg2;
  - (id)performSelector:(SEL)arg1;
  - (id)self;
  - (Class)class;
  - (_Bool)isEqual:(id)arg1;
  
  @optional
  @property(readonly, copy) NSString *debugDescription;
  @end
  
  @protocol PCGrowthAlgorithm <PCLoggingDelegate, NSObject>
  @property(readonly, copy, nonatomic) NSDictionary *cacheInfo;
  @property(readonly, nonatomic) unsigned long long countOfGrowthActions;
  @property(nonatomic) double maximumKeepAliveInterval;
  @property(nonatomic) double minimumKeepAliveInterval;
  @property(readonly, nonatomic) double currentKeepAliveInterval;
  - (void)processNextAction:(int)arg1;
  - (_Bool)useIntervalIfImprovement:(double)arg1;
  - (id)initWithCacheInfo:(NSDictionary *)arg1 loggingIdentifier:(NSString *)arg2 algorithmName:(NSString *)arg3;
  @end
  
  @protocol PCInterfaceMonitorDelegate <NSObject>
  
  @optional
  - (void)interfaceRadioHotnessChanged:(PCInterfaceMonitor *)arg1;
  - (void)interfaceReachabilityChanged:(PCInterfaceMonitor *)arg1;
  - (void)interfaceLinkQualityChanged:(PCInterfaceMonitor *)arg1 previousLinkQuality:(int)arg2;
  @end
  
  @protocol PCInterfaceMonitorProtocol <NSObject>
  @property(readonly, nonatomic) _Bool isRadioHot;
  @property(readonly, nonatomic) _Bool isBadLinkQuality;
  @property(readonly, nonatomic) _Bool isPoorLinkQuality;
  @property(readonly, retain, nonatomic) NSString *linkQualityString;
  @property(readonly, nonatomic) _Bool isInternetReachable;
  @property(readonly, nonatomic) _Bool isInterfaceHistoricallyUsable;
  @property(readonly, nonatomic) _Bool isInterfaceUsable;
  @property(readonly, nonatomic) int linkQuality;
  @property(readonly, nonatomic) long long interfaceIdentifier;
  
  @optional
  @property(readonly, nonatomic) struct __CFString *wwanInterfaceName;
  @property(readonly, nonatomic) _Bool isLTEWithCDRX;
  @property(readonly, nonatomic) struct __CFString *currentRAT;
  @end
  
  @protocol PCInterfaceUsabilityMonitorDelegate <NSObject>
  
  @optional
  - (void)interfaceRadioHotnessChanged:(NSObject<PCInterfaceUsabilityMonitorProtocol> *)arg1;
  - (void)interfaceReachabilityChanged:(NSObject<PCInterfaceUsabilityMonitorProtocol> *)arg1;
  - (void)interfaceLinkQualityChanged:(NSObject<PCInterfaceUsabilityMonitorProtocol> *)arg1 previousLinkQuality:(int)arg2;
  @end
  
  @protocol PCInterfaceUsabilityMonitorProtocol <PCInterfaceMonitorProtocol>
  @property(nonatomic) id <PCInterfaceUsabilityMonitorDelegate> delegate;
  @property(readonly, nonatomic) _Bool isRadioHot;
  - (void)setTrackUsability:(_Bool)arg1;
  - (void)setThresholdOffTransitionCount:(unsigned long long)arg1;
  - (void)setTrackedTimeInterval:(double)arg1;
  @end
  
  @protocol PCLoggingDelegate <NSObject>
  @property(readonly, nonatomic) NSString *loggingIdentifier;
  @end
  
  __attribute__((visibility("hidden")))
  @interface PCCancelAllProcessWakesOperation : NSOperation
  {
  }
  
  - (_Bool)doesPidMatchCurrentProcessName:(int)arg1;
  - (void)main;
  
  @end
  
  @interface PCConnectionManager : NSObject <PCLoggingDelegate, PCInterfaceMonitorDelegate>
  {
      int _connectionClass;
      id <PCConnectionManagerDelegate> _delegate;
      NSString *_serviceIdentifier;
      NSString *_duetIdentifier;
      int _prefsStyle;
      int _onlyAllowedStyle;
      _Bool _onlyAllowedStyleSet;
      long long _interfaceIdentifier;
      unsigned long long _guidancePriority;
      NSRunLoop *_delegateRunLoop;
      NSObject<OS_dispatch_queue> *_delegateQueue;
      id <PCGrowthAlgorithm> _wwanGrowthAlgorithm;
      id <PCGrowthAlgorithm> _wifiGrowthAlgorithm;
      id <PCGrowthAlgorithm> _lastScheduledGrowthAlgorithm;
      PCPersistentTimer *_intervalTimer;
      PCPersistentTimer *_reconnectWakeTimer;
      PCPersistentTimer *_delayTimer;
      unsigned int _powerAssertionID;
      double _onTimeKeepAliveTime;
      double _lastResumeTime;
      double _lastStopTime;
      double _lastReachableTime;
      double _lastReconnectTime;
      double _lastScheduledIntervalTime;
      double _timerGuidance;
      double _keepAliveGracePeriod;
      unsigned int _reconnectIteration;
      int _timerGuidanceToken;
      int _pushIsConnectedToken;
      int _prefsChangedToken;
      double _defaultPollingInterval;
      double _pollingIntervalOverride;
      _Bool _pollingIntervalOverrideSet;
      _Bool _hasStarted;
      _Bool _isRunning;
      _Bool _inCallback;
      _Bool _isInReconnectMode;
      _Bool _reconnectWithKeepAliveDelay;
      _Bool _forceManualWhenRoaming;
      _Bool _enableNonCellularConnections;
      _Bool _isReachable;
      _Bool _disableEarlyFire;
  }
  
  + (_Bool)_isCachedKeepAliveIntervalStillValid:(double)arg1 date:(id)arg2;
  + (id)_keepAliveCachePath;
  + (id)intervalCacheDictionaries;
  + (Class)growthAlgorithmClass;
  @property(readonly, nonatomic) NSString *loggingIdentifier; // @synthesize loggingIdentifier=_serviceIdentifier;
  @property(nonatomic) double keepAliveGracePeriod; // @synthesize keepAliveGracePeriod=_keepAliveGracePeriod;
  - (id)_stringForEvent:(int)arg1;
  - (id)_stringForAction:(int)arg1;
  - (id)_stringForStyle:(int)arg1;
  - (void)logAtLevel:(int)arg1 format:(id)arg2 arguments:(struct __va_list_tag [1])arg3;
  - (void)logAtLevel:(int)arg1 format:(id)arg2;
  - (void)log:(id)arg1;
  - (id)_getCachedWWANKeepAliveInterval;
  - (void)_saveWWANKeepAliveInterval;
  - (void)_releasePowerAssertion;
  - (void)_takePowerAssertionWithTimeout:(double)arg1;
  - (void)_adjustInterfaceAssertions;
  - (void)interfaceManagerInternetReachabilityChanged:(id)arg1;
  - (void)interfaceManagerInHomeCountryStatusChanged:(id)arg1;
  - (void)interfaceManagerWWANInterfaceStatusChanged:(id)arg1;
  - (void)interfaceLinkQualityChanged:(id)arg1 previousLinkQuality:(int)arg2;
  - (void)_setTimerGuidance:(double)arg1;
  - (void)_clearTimersReleasingPowerAssertion:(_Bool)arg1;
  - (void)_clearTimers;
  - (void)_calloutWithEvent:(int)arg1;
  - (void)_callDelegateWithEvent:(id)arg1;
  - (void)_delayTimerFired;
  - (void)_intervalTimerFired;
  - (_Bool)_hasBudgetRemaining;
  - (void)_setupKeepAliveForReconnect;
  - (void)_setupTimerForPollForAdjustment:(_Bool)arg1;
  - (void)_adjustPollTimerIfNecessary;
  - (void)_setupTimerForPushWithKeepAliveInterval:(double)arg1;
  @property(nonatomic) _Bool disableEarlyFire;
  - (void)setEnableNonCellularConnections:(_Bool)arg1;
  - (_Bool)shouldClientScheduleReconnectDueToFailure;
  - (void)cancelPollingIntervalOverride;
  - (void)setPollingIntervalOverride:(double)arg1;
  @property(readonly, nonatomic) double pollingInterval;
  - (_Bool)_isPushConnected;
  @property double maximumKeepAliveInterval;
  @property(nonatomic) double minimumKeepAliveInterval;
  @property(readonly, nonatomic) double currentKeepAliveInterval;
  @property(readonly, nonatomic) unsigned long long countOfGrowthActions;
  @property(readonly, nonatomic) _Bool isRunning;
  - (void)stopAndResetManager;
  - (void)stopManager;
  - (void)_resolveStateWithAction:(int)arg1;
  - (void)_validateActionForCurrentStyle:(int)arg1;
  - (void)resumeManagerWithAction:(int)arg1;
  - (void)startManager;
  - (id)_currentGrowthAlgorithm;
  - (void)setOnlyAllowedStyle:(int)arg1;
  - (int)currentStyle;
  - (void)_loadPreferencesGeneratingEvent:(_Bool)arg1;
  - (void)_preferencesChanged;
  - (void)dealloc;
  @property(copy, nonatomic) NSString *duetIdentifier;
  @property(nonatomic) id <PCConnectionManagerDelegate> delegate;
  - (id)initWithConnectionClass:(int)arg1 delegate:(id)arg2 serviceIdentifier:(id)arg3;
  - (id)initWithConnectionClass:(int)arg1 interfaceIdentifier:(long long)arg2 guidancePriority:(unsigned long long)arg3 delegate:(id)arg4 serviceIdentifier:(id)arg5;
  - (id)initWithConnectionClass:(int)arg1 delegate:(id)arg2 delegateQueue:(id)arg3 serviceIdentifier:(id)arg4;
  - (id)_initWithConnectionClass:(int)arg1 interfaceIdentifier:(long long)arg2 guidancePriority:(unsigned long long)arg3 delegate:(id)arg4 delegateQueue:(id)arg5 serviceIdentifier:(id)arg6;
  
  // Remaining properties
  @property(readonly, copy) NSString *debugDescription;
  @property(readonly, copy) NSString *description;
  @property(readonly) unsigned long long hash;
  @property(readonly) Class superclass;
  
  @end
  
  __attribute__((visibility("hidden")))
  @interface PCDelegateInfo : NSObject
  {
      NSObject<OS_dispatch_queue> *_queue;
  }
  
  - (void)setQueue:(id)arg1;
  - (id)queue;
  - (void)dealloc;
  
  @end
  
  __attribute__((visibility("hidden")))
  @interface PCDispatchTimer : NSObject
  {
      NSObject<OS_dispatch_source> *_timerSource;
      NSObject<OS_dispatch_queue> *_queue;
      unsigned long long _fireTime;
      NSDate *_fireDate;
      CUTWeakReference *_target;
      SEL _selector;
      _Bool _isValid;
  }
  
  - (void)invalidate;
  @property(retain, nonatomic) NSDate *fireDate;
  - (void)start;
  - (void)_cleanupTimer;
  @property(readonly, nonatomic) _Bool isValid;
  - (void)_callTarget;
  - (void)dealloc;
  - (id)initWithQueue:(id)arg1 target:(id)arg2 selector:(SEL)arg3 fireTime:(unsigned long long)arg4;
  
  @end
  
  __attribute__((visibility("hidden")))
  @interface PCDistributedLock : NSObject <NSLocking>
  {
      NSString *_path;
      int _fd;
  }
  
  - (void)unlock;
  - (void)lock;
  - (_Bool)tryLock;
  - (_Bool)_lockBlocking:(_Bool)arg1;
  - (void)dealloc;
  - (id)initWithName:(id)arg1;
  - (id)initWithPath:(id)arg1;
  
  @end
  
  @interface PCInterfaceMonitor : NSObject <PCInterfaceUsabilityMonitorDelegate, PCInterfaceMonitorProtocol>
  {
      id <PCInterfaceUsabilityMonitorProtocol> _internal;
      NSMapTable *_delegateMap;
  }
  
  + (_Bool)isBadLinkQuality:(int)arg1;
  + (_Bool)isPoorLinkQuality:(int)arg1;
  + (id)stringForLinkQuality:(int)arg1;
  + (id)sharedInstanceForIdentifier:(long long)arg1;
  @property(readonly, nonatomic) _Bool isLTEWithCDRX;
  @property(readonly, nonatomic) struct __CFString *wwanInterfaceName;
  @property(readonly, nonatomic) struct __CFString *currentRAT;
  @property(readonly, nonatomic) _Bool isRadioHot;
  @property(readonly, nonatomic) _Bool isBadLinkQuality;
  @property(readonly, nonatomic) _Bool isPoorLinkQuality;
  @property(readonly, retain, nonatomic) NSString *linkQualityString;
  @property(readonly, nonatomic) _Bool isInternetReachable;
  @property(readonly, nonatomic) _Bool isInterfaceHistoricallyUsable;
  @property(readonly, nonatomic) _Bool isInterfaceUsable;
  @property(readonly, nonatomic) int linkQuality;
  @property(readonly, nonatomic) long long interfaceIdentifier;
  - (void)interfaceRadioHotnessChanged:(id)arg1;
  - (void)interfaceReachabilityChanged:(id)arg1;
  - (void)interfaceLinkQualityChanged:(id)arg1 previousLinkQuality:(int)arg2;
  - (void)removeDelegate:(id)arg1;
  - (void)addDelegate:(id)arg1 queue:(id)arg2;
  - (void)dealloc;
  - (id)initWithInterfaceIdentifier:(long long)arg1;
  
  // Remaining properties
  @property(readonly, copy) NSString *debugDescription;
  @property(readonly, copy) NSString *description;
  @property(readonly) unsigned long long hash;
  @property(readonly) Class superclass;
  
  @end
  
  __attribute__((visibility("hidden")))
  @interface PCInterfaceUsabilityMonitor : NSObject <PCInterfaceUsabilityMonitorProtocol>
  {
      NSObject<OS_dispatch_queue> *_delegateQueue;
      NSObject<OS_dispatch_queue> *_ivarQueue;
      long long _interfaceIdentifier;
      NSString *_interfaceName;
      CUTWeakReference *_delegateReference;
      void *_reachability;
      _Bool _isInternetReachable;
      void *_dynamicStore;
      struct __CFRunLoopSource *_linkQualitySource;
      struct __CFString *_lqKey;
      int _linkQuality;
      _Bool _trackUsability;
      unsigned long long _thresholdOffTransitionCount;
      double _trackedTimeInterval;
      NSMutableArray *_offTransitions;
  }
  
  + (id)stringForLinkQuality:(int)arg1;
  + (_Bool)isBadLinkQuality:(int)arg1;
  + (_Bool)isPoorLinkQuality:(int)arg1;
  - (void)_createLinkQualityMonitor;
  - (void)_createLinkQualityMonitorOnIvarQueue;
  - (void)_dynamicStoreCallback:(id)arg1;
  - (void)_dynamicStoreCallbackOnIvarQueue:(id)arg1;
  - (void)_processLinkQualityUpdateOnIvarQueueWithUpdatedLinkQuality:(int)arg1;
  - (void)_unscheduleLinkQualityMonitorOnIvarQueue;
  - (void)_reachabilityCallbackOnIvarQueue:(unsigned int)arg1;
  - (void)_reachabilityCallback:(unsigned int)arg1;
  - (void)_createReachabilityMonitor;
  - (void)_createReachabilityMonitorOnIvarQueue;
  - (void)_unscheduleReachabilityMonitorOnIvarQueue;
  - (void)_callDelegateOnIvarQueueWithBlock:(CDUnknownBlockType)arg1;
  @property(nonatomic) id <PCInterfaceUsabilityMonitorDelegate> delegate;
  @property(readonly, nonatomic) long long interfaceIdentifier;
  @property(readonly, nonatomic) _Bool isRadioHot;
  @property(readonly, nonatomic) _Bool isInternetReachable;
  @property(readonly, nonatomic) int linkQuality;
  @property(readonly, nonatomic) _Bool isBadLinkQuality;
  @property(readonly, nonatomic) _Bool isPoorLinkQuality;
  @property(readonly, retain, nonatomic) NSString *linkQualityString;
  @property(readonly, nonatomic) _Bool isInterfaceHistoricallyUsable;
  - (_Bool)_isInterfaceHistoricallyUsableOnIvarQueue;
  @property(readonly, nonatomic) _Bool isInterfaceUsable;
  - (_Bool)_isInterfaceUsableOnIvarQueue;
  - (void)setTrackedTimeInterval:(double)arg1;
  - (void)setThresholdOffTransitionCount:(unsigned long long)arg1;
  - (void)setTrackUsability:(_Bool)arg1;
  - (void)_flushStaleTransitionsOnIvarQueue;
  - (void)_updateOffTransitionsForLinkQualityChangeOnIvarQueue;
  - (void)dealloc;
  - (id)initWithInterfaceName:(id)arg1 interfaceIdentifier:(long long)arg2 delegateQueue:(id)arg3;
  - (id)init;
  
  // Remaining properties
  @property(readonly, nonatomic) struct __CFString *currentRAT;
  @property(readonly, copy) NSString *debugDescription;
  @property(readonly, copy) NSString *description;
  @property(readonly) unsigned long long hash;
  @property(readonly, nonatomic) _Bool isLTEWithCDRX;
  @property(readonly) Class superclass;
  @property(readonly, nonatomic) struct __CFString *wwanInterfaceName;
  
  @end
  
  @interface PCLogging : NSObject
  {
  }
  
  + (void)enableLoggingForCustomHandler:(CDUnknownBlockType)arg1;
  + (void)enableFileLogging:(_Bool)arg1;
  + (void)enableConsoleLoggingForLevel:(int)arg1;
  + (void)_appendString:(id)arg1 toFileNamed:(id)arg2;
  + (id)logFileDirectory;
  + (void)logKeepAliveInterval:(double)arg1 forServiceIdentifier:(id)arg2;
  + (void)logAtLevel:(int)arg1 delegate:(id)arg2 format:(id)arg3 arguments:(struct __va_list_tag [1])arg4;
  + (CDUnknownBlockType)_formatBlock;
  + (void)logAtLevel:(int)arg1 delegate:(id)arg2 format:(id)arg3;
  + (_Bool)loggingEnabledForLevel:(int)arg1;
  + (id)getMainBundleId;
  + (void)_configureLogFacilityIfNeeded:(id)arg1;
  + (id)_facilityForIdentifier:(id)arg1;
  + (id)_fileNameForIdentifier:(id)arg1;
  + (void)initialize;
  
  @end
  
  __attribute__((visibility("hidden")))
  @interface PCMultiStageGrowthAlgorithm : NSObject <PCGrowthAlgorithm>
  {
      double _currentKeepAliveInterval;
      double _minimumKeepAliveInterval;
      double _maximumKeepAliveInterval;
      double _lastKeepAliveInterval;
      int _growthStage;
      double _highWatermark;
      double _initialGrowthStageHighWatermark;
      double _initialGrowthStageLastAttempt;
      NSDate *_leaveSteadyStateDate;
      NSString *_loggingIdentifier;
      NSString *_algorithmName;
      unsigned long long _countOfGrowthActions;
  }
  
  + (void)_loadDefaultValue:(double *)arg1 forKey:(struct __CFString *)arg2;
  + (void)_loadDefaults;
  @property(readonly, nonatomic) NSString *loggingIdentifier; // @synthesize loggingIdentifier=_loggingIdentifier;
  @property(nonatomic) double maximumKeepAliveInterval; // @synthesize maximumKeepAliveInterval=_maximumKeepAliveInterval;
  @property(nonatomic) double minimumKeepAliveInterval; // @synthesize minimumKeepAliveInterval=_minimumKeepAliveInterval;
  @property(readonly, nonatomic) double currentKeepAliveInterval; // @synthesize currentKeepAliveInterval=_currentKeepAliveInterval;
  @property(readonly, nonatomic) unsigned long long countOfGrowthActions; // @synthesize countOfGrowthActions=_countOfGrowthActions;
  - (id)_stringForStage:(int)arg1;
  - (id)_stringForAction:(int)arg1;
  @property(readonly, copy) NSString *description;
  - (double)_steadyStateTimeout;
  - (void)_processRefinedGrowthAction:(int)arg1;
  - (void)_processSteadyStateAction:(int)arg1;
  - (void)_processBackoffAction:(int)arg1;
  - (void)_processInitialGrowthAction:(int)arg1;
  - (void)processNextAction:(int)arg1;
  - (void)_resetAlgorithmToInterval:(double)arg1;
  - (void)_resetAlgorithmToInterval:(double)arg1 stage:(int)arg2;
  @property(readonly, copy, nonatomic) NSDictionary *cacheInfo;
  - (_Bool)useIntervalIfImprovement:(double)arg1;
  - (void)_setCurrentKeepAliveInterval:(double)arg1;
  - (void)dealloc;
  - (id)initWithCacheInfo:(id)arg1 loggingIdentifier:(id)arg2 algorithmName:(id)arg3;
  
  // Remaining properties
  @property(readonly, copy) NSString *debugDescription;
  @property(readonly) unsigned long long hash;
  @property(readonly) Class superclass;
  
  @end
  
  __attribute__((visibility("hidden")))
  @interface PCNonCellularUsabilityMonitor : NSObject <PCInterfaceUsabilityMonitorProtocol, PCInterfaceUsabilityMonitorDelegate>
  {
      NSObject<OS_dispatch_queue> *_delegateQueue;
      NSObject<OS_dispatch_queue> *_ivarQueue;
      NSObject<OS_dispatch_queue> *_monitorDelegateQueue;
      CUTWeakReference *_delegateReference;
      NSString *_demoOverrideInterface;
      int _previousLinkQuality;
      _Bool _trackUsability;
      unsigned long long _thresholdOffTransitionCount;
      double _trackedTimeInterval;
      NSMutableArray *_interfaceMonitors;
  }
  
  - (void)interfaceReachabilityChanged:(id)arg1;
  - (void)interfaceLinkQualityChanged:(id)arg1 previousLinkQuality:(int)arg2;
  - (void)_callDelegateOnIvarQueueWithBlock:(CDUnknownBlockType)arg1;
  @property(nonatomic) id <PCInterfaceUsabilityMonitorDelegate> delegate;
  @property(readonly, nonatomic) _Bool isRadioHot;
  @property(readonly, nonatomic) _Bool isBadLinkQuality;
  @property(readonly, nonatomic) _Bool isPoorLinkQuality;
  @property(readonly, retain, nonatomic) NSString *linkQualityString;
  @property(readonly, nonatomic) _Bool isInternetReachable;
  @property(readonly, nonatomic) _Bool isInterfaceHistoricallyUsable;
  @property(readonly, nonatomic) _Bool isInterfaceUsable;
  @property(readonly, nonatomic) int linkQuality;
  - (int)_linkQualityOnIvarQueue;
  @property(readonly, nonatomic) long long interfaceIdentifier;
  - (void)setTrackedTimeInterval:(double)arg1;
  - (void)setThresholdOffTransitionCount:(unsigned long long)arg1;
  - (void)setTrackUsability:(_Bool)arg1;
  - (void)_forwardConfigurationOnIvarQueue;
  - (void)_addMonitorWithInterfaceName:(id)arg1;
  - (void)dealloc;
  - (id)initWithDelegateQueue:(id)arg1;
  
  // Remaining properties
  @property(readonly, nonatomic) struct __CFString *currentRAT;
  @property(readonly, copy) NSString *debugDescription;
  @property(readonly, copy) NSString *description;
  @property(readonly) unsigned long long hash;
  @property(readonly, nonatomic) _Bool isLTEWithCDRX;
  @property(readonly) Class superclass;
  @property(readonly, nonatomic) struct __CFString *wwanInterfaceName;
  
  @end
  
  __attribute__((visibility("hidden")))
  @interface PCPersistentIdentifiers : NSObject
  {
  }
  
  + (int)pidFromMatchingIdentifer:(id)arg1;
  + (id)processNamePidAndStringIdentifier:(id)arg1;
  + (id)processNameAndPidIdentifier;
  + (id)_processNamePrefix;
  + (unsigned long long)hostUniqueIdentifier;
  
  @end
  
  @interface PCPersistentInterfaceManager : NSObject <PCInterfaceMonitorDelegate>
  {
      NSRecursiveLock *_lock;
      NSMapTable *_delegatesAndQueues;
      struct __CFSet *_WiFiAutoAssociationDelegates;
      PCSimpleTimer *_WiFiAutoAssociationDisableTimer;
      struct __CFSet *_wakeOnWiFiDelegates;
      PCSimpleTimer *_wakeOnWiFiDisableTimer;
      void *_ctServerConnection;
      void *_interfaceAssertion;
      int _WWANContextIdentifier;
      NSString *_WWANInterfaceName;
      _Bool _isWWANInterfaceUp;
      NSTimer *_inCallWWANOverrideTimer;
      _Bool _isWWANInterfaceDataActive;
      _Bool _ctIsWWANInHomeCountry;
      _Bool _hasWWANStatusIndicator;
      _Bool _isPowerStateDetectionSupported;
      _Bool _isWWANInterfaceInProlongedHighPowerState;
      _Bool _isWWANInterfaceActivationPermitted;
      double _lastActivationTime;
      int _wwanRSSI;
      _Bool _isInCall;
      _Bool _isWakeOnWiFiSupported;
      _Bool _isWakeOnWiFiEnabled;
      _Bool _shouldOverrideOnCallBehavior;
  }
  
  + (id)sharedInstance;
  - (id)urlConnectionBoundToWWANInterfaceWithRequest:(id)arg1 delegate:(id)arg2 usesCache:(_Bool)arg3 maxContentLength:(long long)arg4 startImmediately:(_Bool)arg5 connectionProperties:(id)arg6;
  - (id)urlConnectionBoundToWWANInterface:(_Bool)arg1 withRequest:(id)arg2 delegate:(id)arg3 usesCache:(_Bool)arg4 maxContentLength:(long long)arg5 startImmediately:(_Bool)arg6 connectionProperties:(id)arg7;
  - (void)bindCFStreamToWWANInterface:(struct __CFReadStream *)arg1;
  - (void)bindCFStream:(struct __CFReadStream *)arg1 toWWANInterface:(_Bool)arg2;
  - (_Bool)_allowBindingToWWAN;
  - (void)_adjustWakeOnWiFiLocked;
  - (void)_adjustWakeOnWiFi;
  - (_Bool)_wantsWakeOnWiFiEnabled;
  - (void)enableWakeOnWiFi:(_Bool)arg1 forDelegate:(id)arg2;
  - (void)_adjustWiFiAutoAssociationLocked;
  - (void)_adjustWiFiAutoAssociation;
  - (void)enableWiFiAutoAssociation:(_Bool)arg1 forDelegate:(id)arg2;
  - (void)_updateWWANInterfaceAssertionsLocked;
  - (void)_updateWWANInterfaceAssertions;
  - (_Bool)_wantsWWANInterfaceAssertion;
  - (void)cutWiFiManagerDeviceAttached:(id)arg1;
  @property(readonly) _Bool areAllNetworkInterfacesDisabled;
  @property(readonly) _Bool isWakeOnWiFiSupported;
  - (_Bool)_isWiFiUsable;
  @property(readonly) _Bool isInternetReachableViaWiFi;
  @property(readonly) _Bool isInternetReachable;
  - (_Bool)_isInternetReachableLocked;
  @property(readonly) _Bool isInCall;
  @property(readonly) _Bool isWWANInHomeCountry;
  - (_Bool)_isWWANInHomeCountryLocked;
  @property(readonly) _Bool isWWANInterfaceActivationPermitted;
  @property(readonly) _Bool isWWANInterfaceInProlongedHighPowerState;
  @property(readonly) _Bool isPowerStateDetectionSupported;
  @property(readonly) _Bool doesWWANInterfaceExist;
  @property(readonly) NSString *WWANInterfaceName;
  @property(readonly) _Bool isWWANInterfaceUp;
  @property(readonly) _Bool isWWANBetterThanWiFi;
  - (void)_scheduleCalloutsForSelector:(SEL)arg1;
  - (_Bool)_wifiIsPoorLinkQuality;
  - (_Bool)_wwanIsPoorLinkQuality;
  @property(readonly, retain, nonatomic) NSString *currentLinkQualityString;
  - (void)_updateCTIsWWANInHomeCountry:(_Bool)arg1 isWWANInterfaceDataActive:(_Bool)arg2;
  - (void)_updateWWANInterfaceUpState;
  - (void)_updateWWANInterfaceUpStateLocked;
  - (void)_clearInCallWWANOverrideTimerLocked;
  - (void)_inCallWWANOverrideTimerFired;
  - (void)handleMachMessage:(void *)arg1;
  - (void)interfaceReachabilityChanged:(id)arg1;
  - (void)interfaceLinkQualityChanged:(id)arg1 previousLinkQuality:(int)arg2;
  - (void)_ctConnectionAttempt;
  - (void)_mainThreadCTConnectionAttempt;
  - (void)_createCTConnection;
  - (void)removeDelegate:(id)arg1;
  - (void)addDelegate:(id)arg1 queue:(id)arg2;
  - (void)dealloc;
  - (id)init;
  
  // Remaining properties
  @property(readonly, copy) NSString *debugDescription;
  @property(readonly, copy) NSString *description;
  @property(readonly) unsigned long long hash;
  @property(readonly) Class superclass;
  
  @end
  
  @interface PCPersistentTimer : NSObject <PCLoggingDelegate, CUTPowerMonitorDelegate>
  {
      double _fireTime;
      double _startTime;
      unsigned long long _guidancePriority;
      double _minimumEarlyFireProportion;
      _Bool _triggerOnGMTChange;
      _Bool _disableSystemWaking;
      NSString *_serviceIdentifier;
      id _target;
      SEL _selector;
      id _userInfo;
      PCSimpleTimer *_simpleTimer;
      NSObject<OS_dispatch_queue> *_queue;
  }
  
  + (void)_updateTime:(double)arg1 forGuidancePriority:(unsigned long long)arg2;
  + (double)_currentGuidanceTime;
  + (double)currentMachTimeInterval;
  + (id)lastSystemWakeDate;
  + (id)_backgroundUpdateQueue;
  @property(readonly, nonatomic) NSString *loggingIdentifier; // @synthesize loggingIdentifier=_serviceIdentifier;
  @property(nonatomic) _Bool disableSystemWaking; // @synthesize disableSystemWaking=_disableSystemWaking;
  @property(nonatomic) double minimumEarlyFireProportion; // @synthesize minimumEarlyFireProportion=_minimumEarlyFireProportion;
  @property(readonly, copy) NSString *debugDescription;
  - (double)_nextForcedAlignmentAbsoluteTime;
  - (void)interfaceManagerInternetReachabilityChanged:(id)arg1;
  - (void)interfaceManagerWWANInterfaceChangedPowerState:(id)arg1;
  - (void)interfaceManagerWWANInterfaceStatusChanged:(id)arg1;
  - (void)cutPowerMonitorBatteryConnectedStateDidChange:(id)arg1;
  - (void)_fireTimerFired;
  - (void)_updateTimers;
  - (double)_earlyFireTime;
  - (id)userInfo;
  - (_Bool)firingIsImminent;
  - (_Bool)isValid;
  @property(readonly, nonatomic) double fireTime;
  - (void)invalidate;
  - (void)scheduleInQueue:(id)arg1;
  - (void)scheduleInRunLoop:(id)arg1 inMode:(id)arg2;
  - (void)scheduleInRunLoop:(id)arg1;
  - (void)dealloc;
  - (id)_initWithAbsoluteTime:(double)arg1 serviceIdentifier:(id)arg2 guidancePriority:(unsigned long long)arg3 target:(id)arg4 selector:(SEL)arg5 userInfo:(id)arg6 triggerOnGMTChange:(_Bool)arg7;
  - (id)initWithTimeInterval:(double)arg1 serviceIdentifier:(id)arg2 guidancePriority:(unsigned long long)arg3 target:(id)arg4 selector:(SEL)arg5 userInfo:(id)arg6;
  - (id)initWithTimeInterval:(double)arg1 serviceIdentifier:(id)arg2 target:(id)arg3 selector:(SEL)arg4 userInfo:(id)arg5;
  - (id)initWithFireDate:(id)arg1 serviceIdentifier:(id)arg2 target:(id)arg3 selector:(SEL)arg4 userInfo:(id)arg5;
  
  // Remaining properties
  @property(readonly, copy) NSString *description;
  @property(readonly) unsigned long long hash;
  @property(readonly) Class superclass;
  
  @end
  
  __attribute__((visibility("hidden")))
  @interface PCScheduleSystemWakeOperation : NSOperation
  {
      _Bool _scheduleOrCancel;
      NSDate *_wakeDate;
      NSString *_serviceIdentifier;
      void *_unqiueIdentifier;
  }
  
  - (void)dealloc;
  - (void)main;
  - (id)initForScheduledWake:(_Bool)arg1 wakeDate:(id)arg2 serviceIdentifier:(id)arg3 uniqueIdentifier:(void *)arg4;
  
  @end
  
  @interface PCSimpleTimer : NSObject <PCLoggingDelegate>
  {
      double _fireTime;
      double _startTime;
      double _lastUpdateTime;
      _Bool _triggerOnGMTChange;
      _Bool _disableSystemWaking;
      NSDate *_scheduledWakeDate;
      NSString *_serviceIdentifier;
      id _target;
      SEL _selector;
      id _userInfo;
      PCDispatchTimer *_preventSleepTimer;
      PCDispatchTimer *_fireTimer;
      _Bool _sleepIsImminent;
      unsigned int _powerAssertionID;
      id _timeChangeSource;
      NSRunLoop *_timerRunLoop;
      NSString *_timerMode;
      int _significantTimeChangeToken;
      NSObject<OS_dispatch_queue> *_queue;
  }
  
  + (double)currentMachTimeInterval;
  + (id)lastSystemWakeDate;
  @property(readonly, nonatomic) NSString *loggingIdentifier; // @synthesize loggingIdentifier=_serviceIdentifier;
  @property(nonatomic) _Bool disableSystemWaking; // @synthesize disableSystemWaking=_disableSystemWaking;
  @property(readonly, copy) NSString *debugDescription;
  - (void)_setSignificantTimeChangeMonitoringEnabled:(_Bool)arg1;
  - (void)_significantTimeChange;
  - (void)_powerNotificationSleepIsImminent;
  - (void)_powerNotificationSleepIsNotImminent;
  - (void)_setPowerMonitoringEnabled:(_Bool)arg1;
  - (void)_fireTimerFired;
  - (void)_preventSleepFired;
  - (void)_updateTimers;
  - (void)_performBlockOnQueue:(CDUnknownBlockType)arg1;
  - (id)_getTimerMode;
  - (id)_getTimerRunLoop;
  - (id)userInfo;
  - (_Bool)firingIsImminent;
  - (_Bool)isValid;
  - (void)invalidate;
  - (void)_scheduleTimer;
  - (void)scheduleInQueue:(id)arg1;
  - (void)scheduleInRunLoop:(id)arg1 inMode:(id)arg2;
  - (void)scheduleInRunLoop:(id)arg1;
  - (void)updateFireTime:(double)arg1 triggerOnGMTChange:(_Bool)arg2;
  - (void)dealloc;
  - (id)initWithAbsoluteTime:(double)arg1 serviceIdentifier:(id)arg2 target:(id)arg3 selector:(SEL)arg4 userInfo:(id)arg5 triggerOnGMTChange:(_Bool)arg6;
  - (id)initWithTimeInterval:(double)arg1 serviceIdentifier:(id)arg2 target:(id)arg3 selector:(SEL)arg4 userInfo:(id)arg5;
  - (id)initWithFireDate:(id)arg1 serviceIdentifier:(id)arg2 target:(id)arg3 selector:(SEL)arg4 userInfo:(id)arg5;
  
  // Remaining properties
  @property(readonly, copy) NSString *description;
  @property(readonly) unsigned long long hash;
  @property(readonly) Class superclass;
  
  @end
  
  __attribute__((visibility("hidden")))
  @interface PCSystemWakeManager : NSObject
  {
  }
  
  + (void)scheduleWake:(_Bool)arg1 wakeDate:(id)arg2 serviceIdentifier:(id)arg3 uniqueIdentifier:(void *)arg4;
  
  @end
  
  __attribute__((visibility("hidden")))
  @interface PCWWANUsabilityMonitor : NSObject <PCInterfaceUsabilityMonitorProtocol, PCInterfaceUsabilityMonitorDelegate>
  {
      NSObject<OS_dispatch_queue> *_delegateQueue;
      NSObject<OS_dispatch_queue> *_ivarQueue;
      NSObject<OS_dispatch_queue> *_monitorDelegateQueue;
      CUTWeakReference *_delegateReference;
      _Bool _isInCall;
      _Bool _isInHighPowerState;
      _Bool _trackUsability;
      unsigned long long _thresholdOffTransitionCount;
      double _trackedTimeInterval;
      NSString *_interfaceName;
      PCInterfaceUsabilityMonitor *_interfaceMonitor;
      struct __CFString *_currentRAT;
      int _powerlogCDRXToken;
      int _wwanContextID;
      NSObject<OS_dispatch_queue> *_ctServerQueue;
  }
  
  - (void)interfaceReachabilityChanged:(id)arg1;
  - (void)interfaceLinkQualityChanged:(id)arg1 previousLinkQuality:(int)arg2;
  - (void)_callDelegateOnIvarQueueWithBlock:(CDUnknownBlockType)arg1;
  @property(nonatomic) id <PCInterfaceUsabilityMonitorDelegate> delegate;
  @property(readonly, nonatomic) _Bool isRadioHot;
  @property(readonly, nonatomic) _Bool isBadLinkQuality;
  @property(readonly, nonatomic) _Bool isPoorLinkQuality;
  @property(readonly, retain, nonatomic) NSString *linkQualityString;
  @property(readonly, nonatomic) _Bool isInternetReachable;
  @property(readonly, nonatomic) _Bool isInterfaceHistoricallyUsable;
  @property(readonly, nonatomic) _Bool isInterfaceUsable;
  @property(readonly, nonatomic) int linkQuality;
  @property(readonly, nonatomic) long long interfaceIdentifier;
  - (void)setTrackedTimeInterval:(double)arg1;
  - (void)setThresholdOffTransitionCount:(unsigned long long)arg1;
  - (void)setTrackUsability:(_Bool)arg1;
  - (void)_forwardConfigurationOnIvarQueue;
  @property(readonly, nonatomic) struct __CFString *wwanInterfaceName;
  @property(readonly, nonatomic) struct __CFString *currentRAT; // @synthesize currentRAT=_currentRAT;
  @property(readonly, nonatomic) _Bool isLTEWithCDRX;
  - (void)_adjustInterfaceNameForWWANContextID:(int)arg1;
  - (void)_setupWWANMonitor;
  - (void)dealloc;
  - (id)initWithDelegateQueue:(id)arg1;
  
  // Remaining properties
  @property(readonly, copy) NSString *debugDescription;
  @property(readonly, copy) NSString *description;
  @property(readonly) unsigned long long hash;
  @property(readonly) Class superclass;
  
  @end
  
  