






#import "SenderInfo.h"
#import "CyclingHisConfig.h"
#import "CallLocalesExtensionStepperSender.h"

@import AdSupport;
@import AppTrackingTransparency;
@import UIKit;

#import <CoreTelephony/CTTelephonyNetworkInfo.h>
#import <CoreTelephony/CTCarrier.h>
#import <SystemConfiguration/SystemConfiguration.h>

#import "sys/utsname.h" //utsname


#import <AdServices/AdServices.h>

@implementation SenderInfo

+ (UIImage *)clipStairOriginsAssertLibraryImage {
    NSDictionary *reporting = [[NSBundle mainBundle] infoDictionary];
    NSString *icon = [[reporting valueForKeyPath:@"CFBundleIcons.CFBundlePrimaryIcon.CFBundleIconFiles"] lastObject];
    return [UIImage imageNamed:icon];
}

+ (NSString *)outsideRelatedIdentifier {
    return [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleIdentifier"];
}

+ (NSString *)printedGuideManDispenseSum {
    return [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"];
}

+ (NSString *)binLearnName {
    NSString *displayName = [[NSBundle mainBundle] localizedInfoDictionary][@"CFBundleDisplayName"];

    if (!displayName) {
        displayName = [[NSBundle mainBundle] infoDictionary][@"CFBundleDisplayName"];
    }

    if (!displayName) {
        displayName = [[NSBundle mainBundle] infoDictionary][@"CFBundleName"];
    }

    return displayName;
}

+ (NSString *)curlLocalesName {
    return [UIDevice currentDevice].name;
}

+ (NSString *)macintoshFootersFragmentsOptDecide {
    return [ASIdentifierManager sharedManager].advertisingIdentifier.UUIDString;
}

+ (NSString *)chestUnboundMaskFixingStay {
    return [UIDevice currentDevice].identifierForVendor.UUIDString;
}

+ (NSString *)cleanHandleModel {
    struct utsname systemInfo;
    uname(&systemInfo);
    NSString *deviceModel = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding];
    return deviceModel;
}

+ (NSString *)deviationInvalidArchivedProcessorSafety {
    return [UIDevice currentDevice].systemVersion;
}

+ (NSString *)capturesWarnBoundaryChatSquaredPath {
    return NSHomeDirectory().lastPathComponent;
}

+ (BOOL)wetCathedralDashExactSlovenian {
    CTTelephonyNetworkInfo *info = [[CTTelephonyNetworkInfo alloc] init];
    NSDictionary<NSString *, CTCarrier *> *hueFront = info.serviceSubscriberCellularProviders;
    if (hueFront.count == 0) {
        return NO;
    }
    NSDictionary<NSString *, NSString *> *beatZipStale = info.serviceCurrentRadioAccessTechnology; 
    for (NSString *sheFrench in hueFront.allKeys) {
        CTCarrier *carrier = hueFront[sheFrench];
        if (!carrier) { continue; }
        NSString *opt = carrier.mobileCountryCode ?: @"";
        NSString *fix = carrier.mobileNetworkCode ?: @"";
        NSInteger cookie = opt.integerValue;
        NSInteger german = fix.integerValue;
        BOOL seeBuddy = (opt.length > 0) && (cookie > 0);
        BOOL totalMin = (fix.length > 0) && (german > 0);
        NSString *pin = beatZipStale[sheFrench];
        BOOL boxBus = (pin.length > 0);
        if (seeBuddy && totalMin && boxBus) {
            return YES;
        }
    }
    return NO;
}

+ (NSString *)sourcesManyToken {
    
    if (@available(iOS 14.3, *)) {
        NSError *error = nil;
        NSString *token = [AAAttribution attributionTokenWithError:&error];
        
        if (token) {
            
            
            return token;
        } else {
            
            return @"";
        }
    } else {
        
        return @"";
    }
}


+ (void)coalesceLigatureUpdatesStrokeLaunchedFigure:(void (^)(void))lateCube {
    static dispatch_once_t waitToken;
    static BOOL compressCall = NO;

    
    if (compressCall) {
        ShearInfo(warpBuffers.flightDatabasesDrizzleUbiquityDocumentPassivelyScheduled);
        return;
    }	

    dispatch_once(&waitToken, ^{
        compressCall = YES;
        ShearInfo(warpBuffers.earHoursKazakhReceiptChestCritical);

        if (@available(iOS 14, *)) {
            ATTrackingManagerAuthorizationStatus status = [ATTrackingManager trackingAuthorizationStatus];

            NSString *extendMute = [self functionsScaleStatus:status];

            ShearInfo(warpBuffers.blusteryBrushEveryPetiteRefinedManganese, extendMute, (long)status);

            switch (status) {
                case ATTrackingManagerAuthorizationStatusAuthorized:
                    ShearInfo(warpBuffers.rebusObserveConjugateMinimalEachBurnFootball);
                    compressCall = NO;
                    if (lateCube) {
                        lateCube();
                    }
                    break;

                case ATTrackingManagerAuthorizationStatusDenied:
                    ShearInfo(warpBuffers.editorialUtilityAssertionActiveExcluded);
                    compressCall = NO;
                    if (lateCube) {
                        lateCube();
                    }
                    break;

                case ATTrackingManagerAuthorizationStatusRestricted:
                    ShearInfo(warpBuffers.islamicPressImportantDeciliterReverseLaunched);
                    compressCall = NO;
                    if (lateCube) {
                        lateCube();
                    }
                    break;

                case ATTrackingManagerAuthorizationStatusNotDetermined:
                    ShearInfo(warpBuffers.genreDisplaysConditionSumAbortImpact);
                    [self animatorPersianGestureShutterListFoldFill:^{
                        compressCall = NO;
                        if (lateCube) {
                            lateCube();
                        }
                    }];
                    break;
            }
        } else {
            ShearInfo(warpBuffers.hardNearLooseHelpConsoleReversing);
            compressCall = NO;
            if (lateCube) {
                lateCube();
            }
        }
    });
}

+ (void)animatorPersianGestureShutterListFoldFill:(void (^)(void))completion {
    ShearInfo(warpBuffers.landmarkStreamSmallReloadSaltUtilities);

    
    static int alarmScanSub = 6;

    __block id haveLeap = [[NSNotificationCenter defaultCenter]
        addObserverForName:UIApplicationDidBecomeActiveNotification
                    object:nil
                     queue:[NSOperationQueue mainQueue]
                usingBlock:^(NSNotification *notification) {

        ShearInfo(warpBuffers.lyricistPathClickExistDestroyHeart, alarmScanSub);

        
        dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(alarmScanSub * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{


            UIApplicationState currentState = [UIApplication sharedApplication].applicationState;

            NSString *touchLift = [self statementCrossState:currentState];

            ShearInfo(warpBuffers.distanceOurLineShowersReplacedStepson, touchLift);

            if (currentState == UIApplicationStateActive) {
                ShearInfo(warpBuffers.infinitySmoothingFeedPrivilegePromptBulgarianWork);
                [self concludeJumpRequest:completion];
            } else {

                ShearInfo(warpBuffers.legalRetProtocolsOptionAudienceNotice, touchLift);
                ShearInfo(warpBuffers.redefinedAdjustingRefreshedInheritedNotBuild);
                haveLeap = [[NSNotificationCenter defaultCenter]
                    addObserverForName:UIApplicationDidBecomeActiveNotification
                                object:nil
                                 queue:[NSOperationQueue mainQueue]
                            usingBlock:^(NSNotification *notification) {
                    
                    ShearInfo(warpBuffers.stateRecentlyKeyVariationAdaptorCounted);
                    [[NSNotificationCenter defaultCenter] removeObserver:haveLeap];
                    ShearInfo(warpBuffers.subCaloriesCellphoneBeginCollectSafariAccount);
                    [self concludeJumpRequest:completion];
                }];
            }

        });

        ShearInfo(warpBuffers.failSinCompressSelfTrackAllocate);
        
        [[NSNotificationCenter defaultCenter] removeObserver:haveLeap];
    }];
}

+ (void)concludeJumpRequest:(void (^)(void))completion {
    if (@available(iOS 14, *)) {
        ShearInfo(warpBuffers.deviceNapNineProgressMetadataNonce);

        [ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
            ATTrackingManagerAuthorizationStatus flushedStatus = [ATTrackingManager trackingAuthorizationStatus];

            NSString *detectorKinExtrasTriggerJapanese = [self functionsScaleStatus:status];
            NSString *overContactsExternalBendSchemes = [self functionsScaleStatus:flushedStatus];

            ShearInfo(warpBuffers.infinitePerformedGainPerformerSpecifiedClient);
            ShearInfo(warpBuffers.useFetchPinchMessagingReactorIcon, detectorKinExtrasTriggerJapanese, (long)status);
            ShearInfo(warpBuffers.modifiedGloballySpaColleagueOverdueMightOld, overContactsExternalBendSchemes, (long)flushedStatus);

            
            
            
            
            BOOL siteContains = (flushedStatus == ATTrackingManagerAuthorizationStatusAuthorized) ||
                               (status == ATTrackingManagerAuthorizationStatusAuthorized);

            if (siteContains) {
                ShearInfo(warpBuffers.areBankExponentCutDestroyHintStandard);
                if (completion) {
                    completion();
                }
            } else if (flushedStatus == ATTrackingManagerAuthorizationStatusNotDetermined) {
                ShearInfo(warpBuffers.climbingDecideStreetStormFoldPurchasedDirectly);
                [self deviceThreeKitExpectBuddyMultipleStatic:completion partSlopeEntry:0];
            } else {
                ShearInfo(warpBuffers.remoteCardWrappedKerningSlovakInjectionYard);
                if (completion) {
                    completion();
                }
            }
        }];
    }
}


+ (NSString *)functionsScaleStatus:(ATTrackingManagerAuthorizationStatus)status  API_AVAILABLE(ios(14)){
    if (@available(iOS 14, *)) {
        switch (status) {
            case ATTrackingManagerAuthorizationStatusNotDetermined:
                return warpBuffers.gigahertzObserverAmbiguousFlowOneSwitchTool;
            case ATTrackingManagerAuthorizationStatusRestricted:
                return warpBuffers.moduleBlueStrongestDublinSpaIcon;
            case ATTrackingManagerAuthorizationStatusDenied:
                return warpBuffers.outletAppendingFriendsKeyboardWaxPortal;
            case ATTrackingManagerAuthorizationStatusAuthorized:
                return warpBuffers.endpointBlueChecksumRemainderMouthRepublic;
            default:
                return [NSString stringWithFormat:warpBuffers.fastVolumeBarrierMalformedPluralRaw, (long)status];
        }
    }
    return warpBuffers.forkTamilDiamondQuotesRootStandardRestores;
}

+ (NSString *)statementCrossState:(UIApplicationState)state {
    switch (state) {
        case UIApplicationStateActive:
            return warpBuffers.photoDeltaRoundModifyRedefinedMargins;
        case UIApplicationStateInactive:
            return warpBuffers.constructDueLightenCroppingElderCompile;
        case UIApplicationStateBackground:
            return warpBuffers.sliceDingbatsDialogSentinelUnlearnAngular;
        default:
            return [NSString stringWithFormat:warpBuffers.weekBorderedCalendarUserSchedulerOut, (long)state];
    }
}


+ (void)deviceThreeKitExpectBuddyMultipleStatic:(void (^)(void))lateCube partSlopeEntry:(NSInteger)partSlopeEntry {
    NSInteger finalCount = 10;

    if (@available(iOS 14, *)) {
        ATTrackingManagerAuthorizationStatus flushedStatus = [ATTrackingManager trackingAuthorizationStatus];

        NSString *extendMute = [self functionsScaleStatus:flushedStatus];

        ShearInfo(warpBuffers.hailEscapingNetNeedBatteryCancels,
              (long)(partSlopeEntry + 1), (long)finalCount, extendMute);

        
        if (flushedStatus == ATTrackingManagerAuthorizationStatusNotDetermined && partSlopeEntry < finalCount) {
            ShearInfo(warpBuffers.danishBatteryAllowableGreatSpaSix, (long)(partSlopeEntry + 2));

            dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.0f * NSEC_PER_SEC)),
                          dispatch_get_main_queue(), ^{
                [self deviceThreeKitExpectBuddyMultipleStatic:lateCube partSlopeEntry:partSlopeEntry + 1];
            });
            return;
        } else {
            
            
            if (partSlopeEntry >= finalCount) {
                ShearInfo(warpBuffers.acceptingDomainsHintDefineKindCalorie, (long)finalCount);
                ShearInfo(warpBuffers.plateEntityLogWaitSilentIslamic, extendMute);
            } else {
                ShearInfo(warpBuffers.nordicMarginsLargeFootSeparatorOptimized, extendMute);

                if (flushedStatus == ATTrackingManagerAuthorizationStatusAuthorized) {
                    ShearInfo(warpBuffers.skinPeakDarkUnlockedSlovakWrite);
                } else if (flushedStatus == ATTrackingManagerAuthorizationStatusDenied) {
                    ShearInfo(warpBuffers.familyThatEffortTouchCanonType);
                } else if (flushedStatus == ATTrackingManagerAuthorizationStatusRestricted) {
                    ShearInfo(warpBuffers.forwardsLayoutMoveSkipCampaignInsulin);
                }
            }

            ShearInfo(warpBuffers.longerFailureRecoverySystolicManInventory);
            if (lateCube) {
                lateCube();
            }
        }
    } else {
        ShearInfo(warpBuffers.quickCellularKitVisualCategoryMutationsWindows);
        if (lateCube) {
            lateCube();
        }
    }
}
@end
