diff --git a/Sources/EQNNotificationContent/Base.lproj/MainInterface.storyboard b/Sources/EQNNotificationContent/Base.lproj/MainInterface.storyboard
new file mode 100644
index 0000000..6e3e79d
--- /dev/null
+++ b/Sources/EQNNotificationContent/Base.lproj/MainInterface.storyboard
@@ -0,0 +1,87 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Sources/EQNNotificationContent/Info.plist b/Sources/EQNNotificationContent/Info.plist
new file mode 100644
index 0000000..b70ef07
--- /dev/null
+++ b/Sources/EQNNotificationContent/Info.plist
@@ -0,0 +1,47 @@
+
+
+
+
+ CFBundleDevelopmentRegion
+ $(DEVELOPMENT_LANGUAGE)
+ CFBundleDisplayName
+ EQNNotificationContent
+ CFBundleExecutable
+ $(EXECUTABLE_NAME)
+ CFBundleIdentifier
+ $(PRODUCT_BUNDLE_IDENTIFIER)
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleName
+ $(PRODUCT_NAME)
+ CFBundlePackageType
+ XPC!
+ CFBundleShortVersionString
+ 2.0
+ CFBundleVersion
+ 1.9
+ NSAppTransportSecurity
+
+ NSAllowsArbitraryLoads
+
+
+ NSExtension
+
+ NSExtensionAttributes
+
+ UNNotificationExtensionCategory
+ notifica_con_mappa
+ UNNotificationExtensionDefaultContentHidden
+
+ UNNotificationExtensionInitialContentSizeRatio
+ 1.5
+ UNNotificationExtensionUserInteractionEnabled
+
+
+ NSExtensionMainStoryboard
+ MainInterface
+ NSExtensionPointIdentifier
+ com.apple.usernotifications.content-extension
+
+
+
diff --git a/Sources/EQNNotificationContent/NotificationViewController.h b/Sources/EQNNotificationContent/NotificationViewController.h
new file mode 100644
index 0000000..fc440e7
--- /dev/null
+++ b/Sources/EQNNotificationContent/NotificationViewController.h
@@ -0,0 +1,18 @@
+//
+// NotificationViewController.h
+// EQNNotificationContent
+//
+// Created by Luca Beretta on 03/01/2019.
+// Copyright © 2019 Luca Beretta. All rights reserved.
+//
+
+#import
+#import
+
+@interface NotificationViewController : UIViewController
+@property (weak, nonatomic) IBOutlet UILabel *titolo;
+@property (weak, nonatomic) IBOutlet UILabel *descrizione;
+@property (weak, nonatomic) IBOutlet UILabel *onda;
+@property (weak, nonatomic) IBOutlet MKMapView *mappa;
+
+@end
diff --git a/Sources/EQNNotificationContent/NotificationViewController.m b/Sources/EQNNotificationContent/NotificationViewController.m
new file mode 100644
index 0000000..e22d3f2
--- /dev/null
+++ b/Sources/EQNNotificationContent/NotificationViewController.m
@@ -0,0 +1,83 @@
+//
+// NotificationViewController.m
+// EQNNotificationContent
+//
+// Created by Luca Beretta on 03/01/2019.
+// Copyright © 2019 Luca Beretta. All rights reserved.
+//
+
+#import "NotificationViewController.h"
+#import
+#import
+#import
+#import "PastquakesAnnotation.h"
+#import "ReteSismicaAnnotation.h"
+
+@interface NotificationViewController ()
+@property (nonatomic, strong) NSDictionary *info;
+@property (nonatomic, strong) NSURLSession *session;
+
+@end
+
+@implementation NotificationViewController
+
+- (void)viewDidLoad {
+ [super viewDidLoad];
+ // Do any required interface initialization here.
+
+}
+
+-(void)didReceiveNotification:(UNNotification *)notification {
+
+ self.titolo.text = notification.request.content.title;
+ self.descrizione.text = notification.request.content.body;
+ NSDictionary *dict = notification.request.content.userInfo;
+ CLLocation *coordinate = [[CLLocation alloc] initWithLatitude:[dict[@"latitude"] doubleValue] longitude:[dict[@"longitude"] doubleValue]];
+ MKCoordinateSpan span = MKCoordinateSpanMake(10.5, 10.5);
+ MKCoordinateRegion region = MKCoordinateRegionMake(coordinate.coordinate, span);
+ self.mappa.delegate = self;
+ [self.mappa setCenterCoordinate:coordinate.coordinate animated:NO];
+ [self.mappa setRegion:region animated:YES];
+ self.mappa.scrollEnabled = NO;
+
+ if ([dict[@"type"] isEqualToString:@"eqn"]) {
+
+ PastquakesAnnotation *annotation = [[PastquakesAnnotation alloc] initWithTitle:notification.request.content.body location:coordinate.coordinate intensita:[dict[@"intensity"] intValue]];
+ [self.mappa addAnnotation:annotation];
+
+ }
+ else if ([dict[@"type"] isEqualToString:@"manual"]){
+
+ ReteSismicaAnnotation *annotation = [[ReteSismicaAnnotation alloc] initWithTitle:notification.request.content.body location:coordinate.coordinate magnitudo:[dict[@"magnitudo"] intValue]];
+ [self.mappa addAnnotation:annotation];
+
+ }
+
+ self.onda.text = [NSString stringWithFormat:@"%@ %@ %@", NSLocalizedString(@"Onda sismica in", @""), dict[@"wave_speed"], NSLocalizedString(@"secondi", @"")];
+}
+-(MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id)annotation{
+
+ if ([annotation isKindOfClass:[PastquakesAnnotation class]]) {
+ PastquakesAnnotation *anLocation = (PastquakesAnnotation *)annotation;
+ MKAnnotationView *annotationView = [mapView dequeueReusableAnnotationViewWithIdentifier:IDENTIFIER_ANNOTATION_PASTQUAKES];
+ if (annotationView == nil)
+ annotationView = anLocation.annotationView;
+ else
+ annotationView.annotation = anLocation;
+
+ return annotationView;
+ }
+ else if ([annotation isKindOfClass:[ReteSismicaAnnotation class]]) {
+ ReteSismicaAnnotation *anLocation = (ReteSismicaAnnotation *)annotation;
+ MKAnnotationView *annotationView = [mapView dequeueReusableAnnotationViewWithIdentifier:IDENTIFIER_ANNOTATION_RETESMARTPHONE];
+ if (annotationView == nil)
+ annotationView = anLocation.annotationView;
+ else
+ annotationView.annotation = anLocation;
+
+ return annotationView;
+ }
+ return nil;
+
+}
+@end
diff --git a/Sources/EQNNotificationContent/es.lproj/MainInterface.strings b/Sources/EQNNotificationContent/es.lproj/MainInterface.strings
new file mode 100644
index 0000000..fc45eb5
--- /dev/null
+++ b/Sources/EQNNotificationContent/es.lproj/MainInterface.strings
@@ -0,0 +1,9 @@
+
+/* Class = "UILabel"; text = "Label"; ObjectID = "bT3-3m-qLh"; */
+"bT3-3m-qLh.text" = "Label";
+
+/* Class = "UILabel"; text = "Label"; ObjectID = "f3d-th-bgU"; */
+"f3d-th-bgU.text" = "Label";
+
+/* Class = "UILabel"; text = "Label"; ObjectID = "pCT-Wh-lut"; */
+"pCT-Wh-lut.text" = "Label";
diff --git a/Sources/EQNNotificationContent/it.lproj/MainInterface.strings b/Sources/EQNNotificationContent/it.lproj/MainInterface.strings
new file mode 100644
index 0000000..fc45eb5
--- /dev/null
+++ b/Sources/EQNNotificationContent/it.lproj/MainInterface.strings
@@ -0,0 +1,9 @@
+
+/* Class = "UILabel"; text = "Label"; ObjectID = "bT3-3m-qLh"; */
+"bT3-3m-qLh.text" = "Label";
+
+/* Class = "UILabel"; text = "Label"; ObjectID = "f3d-th-bgU"; */
+"f3d-th-bgU.text" = "Label";
+
+/* Class = "UILabel"; text = "Label"; ObjectID = "pCT-Wh-lut"; */
+"pCT-Wh-lut.text" = "Label";
diff --git a/Sources/EQNNotificationService/Info.plist b/Sources/EQNNotificationService/Info.plist
new file mode 100644
index 0000000..10f3c29
--- /dev/null
+++ b/Sources/EQNNotificationService/Info.plist
@@ -0,0 +1,36 @@
+
+
+
+
+ CFBundleDevelopmentRegion
+ $(DEVELOPMENT_LANGUAGE)
+ CFBundleDisplayName
+ EQNNotificationService
+ CFBundleExecutable
+ $(EXECUTABLE_NAME)
+ CFBundleIdentifier
+ $(PRODUCT_BUNDLE_IDENTIFIER)
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleName
+ $(PRODUCT_NAME)
+ CFBundlePackageType
+ XPC!
+ CFBundleShortVersionString
+ 2.0
+ CFBundleVersion
+ 1.9
+ NSAppTransportSecurity
+
+ NSAllowsArbitraryLoads
+
+
+ NSExtension
+
+ NSExtensionPointIdentifier
+ com.apple.usernotifications.service
+ NSExtensionPrincipalClass
+ NotificationService
+
+
+
diff --git a/Sources/EQNNotificationService/NotificationService.h b/Sources/EQNNotificationService/NotificationService.h
new file mode 100644
index 0000000..3984cfe
--- /dev/null
+++ b/Sources/EQNNotificationService/NotificationService.h
@@ -0,0 +1,13 @@
+//
+// NotificationService.h
+// EQNNotificationService
+//
+// Created by Luca Beretta on 19/12/18.
+// Copyright © 2018 Luca Beretta. All rights reserved.
+//
+
+#import
+
+@interface NotificationService : UNNotificationServiceExtension
+
+@end
diff --git a/Sources/EQNNotificationService/NotificationService.m b/Sources/EQNNotificationService/NotificationService.m
new file mode 100644
index 0000000..116edf5
--- /dev/null
+++ b/Sources/EQNNotificationService/NotificationService.m
@@ -0,0 +1,320 @@
+//
+// NotificationService.m
+// EQNNotificationService
+//
+// Created by Luca Beretta on 19/12/18.
+// Copyright © 2018 Luca Beretta. All rights reserved.
+//
+
+#import "NotificationService.h"
+#import "EQNAllertaSismica.h"
+@interface NotificationService ()
+
+@property (nonatomic, strong) void (^contentHandler)(UNNotificationContent *contentToDeliver);
+@property (nonatomic, strong) UNMutableNotificationContent *bestAttemptContent;
+@property (nonatomic, strong) NSURLSession *session;
+@end
+
+@implementation NotificationService
+
+/*
+- (void)didReceiveNotificationRequest:(UNNotificationRequest *)request withContentHandler:(void (^)(UNNotificationContent * _Nonnull))contentHandler {
+ self.contentHandler = contentHandler;
+ self.bestAttemptContent = [request.content mutableCopy];
+
+ // Modify the notification content here...
+ self.bestAttemptContent.title = [NSString stringWithFormat:@"%@ [modified]", self.bestAttemptContent.title];
+ self.contentHandler(self.bestAttemptContent);
+}
+*/
+- (void)didReceiveNotificationRequest:(UNNotificationRequest *)request withContentHandler:(void (^)(UNNotificationContent *_Nonnull))contentHandler
+{
+ self.contentHandler = contentHandler;
+ self.bestAttemptContent = [request.content mutableCopy];
+
+ // Modify the notification content here...
+
+
+ // Configure the notification's payload.
+ UNMutableNotificationContent* content = [[UNMutableNotificationContent alloc] init];
+ content.title = [NSString localizedUserNotificationStringForKey:request.content.title arguments:nil];
+ content.body = [NSString localizedUserNotificationStringForKey:request.content.body
+ arguments:nil];
+ content.sound = [UNNotificationSound defaultSound];
+
+ self.bestAttemptContent.title = content.title;
+ self.bestAttemptContent.body = content.body;
+
+ /*
+ // Deliver the notification in five seconds.
+ UNTimeIntervalNotificationTrigger* trigger = [UNTimeIntervalNotificationTrigger
+ triggerWithTimeInterval:5 repeats:NO];
+ UNNotificationRequest* request = [UNNotificationRequest requestWithIdentifier:@"FiveSecond"
+ content:content trigger:trigger];
+
+ // Schedule the notification.
+ UNUserNotificationCenter* center = [UNUserNotificationCenter currentNotificationCenter];
+ [center addNotificationRequest:request];
+ */
+
+ // check for media attachment, example here uses custom payload keys mediaUrl and mediaType
+ NSDictionary *userInfo = request.content.userInfo;
+ NSString *messaggioModificato = @"non modificato";
+
+ if (userInfo == nil)
+ {
+
+ [self contentComplete];
+ return;
+ }
+
+
+ if ([userInfo objectForKey:@"type"])
+ {
+
+ NSString *stringURL = @"http://www.earthquakenetwork.it/icons/";
+
+ if ([[userInfo objectForKey:@"type"] isEqualToString:@"eqn"]) {
+
+ self.bestAttemptContent.sound = [UNNotificationSound soundNamed:[EQNAllertaSismica center].tonoAllarme];
+
+
+ NSString *intensity = [userInfo objectForKey:@"intensity"];
+ switch ([intensity intValue]) {
+ case 0:
+ stringURL = [stringURL stringByAppendingString:@"star_white1.png"];
+ break;
+ case 1:
+ stringURL = [stringURL stringByAppendingString:@"star_lightblue1.png"];
+ break;
+ case 2:
+ stringURL = [stringURL stringByAppendingString:@"star_blue1.png"];
+ break;
+ default:
+ break;
+ }
+
+ }
+ else if ([[userInfo objectForKey:@"type"] isEqualToString:@"manual"]) {
+
+
+ NSString *intensity = [userInfo objectForKey:@"magnitude"];
+ switch ([intensity intValue]) {
+ case 0:
+ stringURL = [stringURL stringByAppendingString:@"star_green1.png"];
+ break;
+ case 1:
+ stringURL = [stringURL stringByAppendingString:@"star_yellow1.png"];
+ break;
+ case 2:
+ stringURL = [stringURL stringByAppendingString:@"star_red1.png"];
+ break;
+ default:
+ break;
+
+ }
+ }
+ else if ([[userInfo objectForKey:@"type"] isEqualToString:@"official"]) {
+
+ NSString *provaider = [userInfo objectForKey:@"provider"];
+ double intensity = [[userInfo objectForKey:@"magnitude"] doubleValue];
+
+ NSString *colore = @"green";
+
+ if (intensity < 3.5)
+ colore = @"_green";
+ else if (intensity < 4.5)
+ colore = @"_yellow";
+ else if (intensity < 5.5)
+ colore = @"_red";
+ else
+ colore = @"_purple";
+
+ if ([provaider isEqualToString:@"USGS"])
+ stringURL = [stringURL stringByAppendingString:[NSString stringWithFormat:@"star%@2.png", colore]];
+ if ([provaider isEqualToString:@"SGC"])
+ stringURL = [stringURL stringByAppendingString:[NSString stringWithFormat:@"star3%@2.png", colore]];
+ if ([provaider isEqualToString:@"CSN"])
+ stringURL = [stringURL stringByAppendingString:[NSString stringWithFormat:@"star3f%@2.png", colore]];
+ if ([provaider isEqualToString:@"SSN"])
+ stringURL = [stringURL stringByAppendingString:[NSString stringWithFormat:@"star4%@2.png", colore]];
+ if ([provaider isEqualToString:@"INPRES"])
+ stringURL = [stringURL stringByAppendingString:[NSString stringWithFormat:@"star4r%@2.png", colore]];
+ if ([provaider isEqualToString:@"FUNVISIS"])
+ stringURL = [stringURL stringByAppendingString:[NSString stringWithFormat:@"star6%@2.png", colore]];
+ if ([provaider isEqualToString:@"Ineter"])
+ stringURL = [stringURL stringByAppendingString:[NSString stringWithFormat:@"triangle%@2.png", colore]];
+ if ([provaider isEqualToString:@"RSN"])
+ stringURL = [stringURL stringByAppendingString:[NSString stringWithFormat:@"triangle2%@2.png", colore]];
+ if ([provaider isEqualToString:@"PHIVOLCS"])
+ stringURL = [stringURL stringByAppendingString:[NSString stringWithFormat:@"triround_inner%@2.png", colore]];
+ if ([provaider isEqualToString:@"IGEPN"])
+ stringURL = [stringURL stringByAppendingString:[NSString stringWithFormat:@"triround%@2.png", colore]];
+ if ([provaider isEqualToString:@"INGV"])
+ stringURL = [stringURL stringByAppendingString:[NSString stringWithFormat:@"circle%@2.png", colore]];
+ if ([provaider isEqualToString:@"EMSC"])
+ stringURL = [stringURL stringByAppendingString:[NSString stringWithFormat:@"dyamond%@2.png", colore]];
+ if ([provaider isEqualToString:@"IGP"])
+ stringURL = [stringURL stringByAppendingString:[NSString stringWithFormat:@"dyamond_round%@2.png", colore]];
+ if ([provaider isEqualToString:@"JMA"])
+ stringURL = [stringURL stringByAppendingString:[NSString stringWithFormat:@"esa%@2.png", colore]];
+ if ([provaider isEqualToString:@"GEONET"])
+ stringURL = [stringURL stringByAppendingString:[NSString stringWithFormat:@"oct%@2.png", colore]];
+ if ([provaider isEqualToString:@"CSI"])
+ stringURL = [stringURL stringByAppendingString:[NSString stringWithFormat:@"penta%@2.png", colore]];
+ if ([provaider isEqualToString:@"IGN"])
+ stringURL = [stringURL stringByAppendingString:[NSString stringWithFormat:@"square%@2.png", colore]];
+ }
+ else if ([[userInfo objectForKey:@"type"] isEqualToString:@"tsunami"]){
+
+ NSString *color = [userInfo objectForKey:@"color"];
+
+ if ([color isEqualToString:@"gr"])
+ stringURL = [stringURL stringByAppendingString:@"tsunami_green.png"];
+ if ([color isEqualToString:@"ye"])
+ stringURL = [stringURL stringByAppendingString:@"tsunami_yellow.png"];
+ if ([color isEqualToString:@"or"])
+ stringURL = [stringURL stringByAppendingString:@"tsunami_orange.png"];
+ if ([color isEqualToString:@"bl"])
+ stringURL = [stringURL stringByAppendingString:@"tsunami_blue.png"];
+ if ([color isEqualToString:@"re"])
+ stringURL = [stringURL stringByAppendingString:@"tsunami_red.png"];
+
+ messaggioModificato = [self setMessage:[userInfo objectForKey:@"message"]];
+
+ }
+
+ [self loadAttachmentForUrlString:stringURL
+ completionHandler: ^(UNNotificationAttachment *attachment) {
+ self.bestAttemptContent.attachments = [NSArray arrayWithObjects:attachment, nil];
+
+ if (![messaggioModificato isEqualToString:@"non modificato"])
+ self.bestAttemptContent.body = [NSString stringWithFormat:@"%@", messaggioModificato];
+
+ }];
+
+ }
+}
+
+-(NSString *)setMessage:(NSString *)message{
+
+ BOOL warning = false;
+ BOOL watch = false;
+ BOOL threat = false;
+ BOOL threatFinal = false;
+ BOOL cancellation = false;
+ BOOL information = false;
+ BOOL supplement = false;
+
+ NSString * _message;
+
+ if ([message.lowercaseString containsString:@"warning"])
+ warning = YES;
+ if ([message.lowercaseString containsString:@"watch"])
+ watch = YES;
+ if ([message.lowercaseString containsString:@"threat"])
+ threat = YES;
+ if ([message.lowercaseString containsString:@"final"])
+ threatFinal = YES;
+ if ([message.lowercaseString containsString:@"cancellation"])
+ cancellation = YES;
+ if ([message.lowercaseString containsString:@"information"])
+ information = YES;
+ if ([message.lowercaseString containsString:@"supplement"])
+ supplement = YES;
+
+
+ if (warning){
+ if (supplement)
+ _message = NSLocalizedString(@"Supplemento di allerta", @"");
+ else if(cancellation)
+ _message = NSLocalizedString(@"Allerta cancellata", @"");
+ else
+ _message = NSLocalizedString(@"Allerta Tsunami", @"");
+ }
+ else if (watch){
+ if (supplement)
+ _message = NSLocalizedString(@"Supplemento di valutazione", @"");
+ else if(cancellation)
+ _message = NSLocalizedString(@"Valutazione cancellata", @"");
+ else
+ _message = NSLocalizedString(@"Valutazione Tsunami", @"");
+ }
+
+ else if (threat){
+ if (threatFinal)
+ _message = NSLocalizedString(@"Pericolo cessato", @"");
+ else
+ _message = NSLocalizedString(@"Pericolo tsunami", @"");
+ }
+ else if (information){
+ _message = NSLocalizedString(@"Messaggio informativo", @"");
+ }
+ else if (supplement){
+ _message = NSLocalizedString(@"Messaggio supplementare", @"");
+ }
+ return _message;
+
+}
+
+- (void)serviceExtensionTimeWillExpire {
+ // Called just before the extension will be terminated by the system.
+ // Use this as an opportunity to deliver your "best attempt" at modified content, otherwise the original push payload will be used.
+
+ [self contentComplete];
+
+ self.contentHandler(self.bestAttemptContent);
+}
+
+- (void)loadAttachmentForUrlString:(NSString *)urlString
+ completionHandler:(void (^)(UNNotificationAttachment *))completionHandler
+{
+ __block UNNotificationAttachment *attachment = nil;
+ __block NSURL *attachmentURL = [NSURL URLWithString:urlString];
+
+ NSString *fileExt = [@"." stringByAppendingString:[urlString pathExtension]];
+
+ self.session = [NSURLSession sessionWithConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]];
+
+ NSURLSessionDownloadTask *task = [self.session downloadTaskWithURL:attachmentURL
+ completionHandler: ^(NSURL *temporaryFileLocation, NSURLResponse *response, NSError *error) {
+ if (error != nil)
+ {
+ NSLog(@"%@", error.localizedDescription);
+
+ self.bestAttemptContent.body = [NSString stringWithFormat:@"%@ [error], %@", self.bestAttemptContent.body,error.localizedDescription];
+
+ }
+ else
+ {
+ NSFileManager *fileManager = [NSFileManager defaultManager];
+ NSURL *localURL = [NSURL fileURLWithPath:[temporaryFileLocation.path
+ stringByAppendingString:fileExt]];
+ [fileManager moveItemAtURL:temporaryFileLocation
+ toURL:localURL
+ error:&error];
+
+ NSError *attachmentError = nil;
+ attachment = [UNNotificationAttachment attachmentWithIdentifier:[attachmentURL lastPathComponent]
+ URL:localURL
+ options:nil
+ error:&attachmentError];
+ if (attachmentError)
+ {
+ NSLog(@"%@", attachmentError.localizedDescription);
+
+ self.bestAttemptContent.body = [NSString stringWithFormat:@"%@ [attachmentError], %@", self.bestAttemptContent.body,error.localizedDescription];
+ }
+ }
+ completionHandler(attachment);
+ }];
+
+ [task resume];
+}
+
+- (void)contentComplete
+{
+ [self.session invalidateAndCancel];
+ self.contentHandler(self.bestAttemptContent);
+}
+@end
diff --git a/Sources/Earthquake Network.xcodeproj/project.pbxproj b/Sources/Earthquake Network.xcodeproj/project.pbxproj
new file mode 100644
index 0000000..1634bce
--- /dev/null
+++ b/Sources/Earthquake Network.xcodeproj/project.pbxproj
@@ -0,0 +1,1408 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 48;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ 4AF6047375F3EA53A42B2380 /* libPods-Earthquake Network.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 51164624757711E06B0778D4 /* libPods-Earthquake Network.a */; };
+ 8C10B0B92281FE7F00125C9F /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 8C10B0BD2281FE7F00125C9F /* Localizable.strings */; };
+ 8C10B0BA2281FE7F00125C9F /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 8C10B0BD2281FE7F00125C9F /* Localizable.strings */; };
+ 8C10B0BB2281FE7F00125C9F /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 8C10B0BD2281FE7F00125C9F /* Localizable.strings */; };
+ 8C13E84B220B2E7E0009CFE4 /* MenuSelezioneEntiViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C13E84A220B2E7E0009CFE4 /* MenuSelezioneEntiViewController.m */; };
+ 8C13E84F220B89360009CFE4 /* ElencoFiltroEntiTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C13E84E220B89360009CFE4 /* ElencoFiltroEntiTableViewController.m */; };
+ 8C14112E21ED2FA300A59729 /* AreaInteresseTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C14112D21ED2FA300A59729 /* AreaInteresseTableViewController.m */; };
+ 8C14113121ED3E5B00A59729 /* AllertaSismiTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C14113021ED3E5B00A59729 /* AllertaSismiTableViewController.m */; };
+ 8C14113721EE502800A59729 /* EQNAllertaSismica.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C14113621EE502800A59729 /* EQNAllertaSismica.m */; };
+ 8C149FA321E54E85002C44FD /* NotificheSismiTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C149FA221E54E85002C44FD /* NotificheSismiTableViewController.m */; };
+ 8C29EAFB2258A4DD00FD90A9 /* DettagliAbbonamentoViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8C29EAFA2258A4DD00FD90A9 /* DettagliAbbonamentoViewController.swift */; };
+ 8C2B251121938BFD00E0E25E /* SegnalazioniUtenteDettagliMappa.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C2B251021938BFD00E0E25E /* SegnalazioniUtenteDettagliMappa.m */; };
+ 8C2B25142193927E00E0E25E /* ReteSismiDettagliMappa.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C2B25132193927E00E0E25E /* ReteSismiDettagliMappa.m */; };
+ 8C465D9A21F653AB00F04673 /* Assets.xcassets in Frameworks */ = {isa = PBXBuildFile; fileRef = 8CBD3DD12149B9AD0070C963 /* Assets.xcassets */; };
+ 8C465D9B21F653CA00F04673 /* Assets.xcassets in Frameworks */ = {isa = PBXBuildFile; fileRef = 8CBD3DD12149B9AD0070C963 /* Assets.xcassets */; };
+ 8C465D9C21F7BBE700F04673 /* PastquakesAnnotation.m in Frameworks */ = {isa = PBXBuildFile; fileRef = 8C602249218EDBE200C799C2 /* PastquakesAnnotation.m */; };
+ 8C465D9D21F7BBE700F04673 /* PastquakesAnnotation.h in Frameworks */ = {isa = PBXBuildFile; fileRef = 8C602248218EDBE200C799C2 /* PastquakesAnnotation.h */; };
+ 8C465D9E21F7BD8700F04673 /* PastquakesAnnotation.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C602249218EDBE200C799C2 /* PastquakesAnnotation.m */; };
+ 8C465D9F21F7BE0600F04673 /* Assets.xcassets in Sources */ = {isa = PBXBuildFile; fileRef = 8CBD3DD12149B9AD0070C963 /* Assets.xcassets */; };
+ 8C483C9721FA662900259FD2 /* alert_star_trek.wav in Frameworks */ = {isa = PBXBuildFile; fileRef = 8CF12CC721DE43A400613AC5 /* alert_star_trek.wav */; };
+ 8C483C9A21FA664000259FD2 /* EQNAllertaSismica.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C14113621EE502800A59729 /* EQNAllertaSismica.m */; };
+ 8C483C9B21FA665C00259FD2 /* EQNAllertaSismica.h in Frameworks */ = {isa = PBXBuildFile; fileRef = 8C14113521EE502800A59729 /* EQNAllertaSismica.h */; };
+ 8C483C9C21FA665C00259FD2 /* EQNAllertaSismica.m in Frameworks */ = {isa = PBXBuildFile; fileRef = 8C14113621EE502800A59729 /* EQNAllertaSismica.m */; };
+ 8C483C9D21FA68B300259FD2 /* alert_star_trek.wav in Sources */ = {isa = PBXBuildFile; fileRef = 8CF12CC721DE43A400613AC5 /* alert_star_trek.wav */; };
+ 8C483CA521FBC06D00259FD2 /* alerta_japanese.m4r in Resources */ = {isa = PBXBuildFile; fileRef = 8C483CA421FBC06D00259FD2 /* alerta_japanese.m4r */; };
+ 8C483CA621FBC06D00259FD2 /* alerta_japanese.m4r in Resources */ = {isa = PBXBuildFile; fileRef = 8C483CA421FBC06D00259FD2 /* alerta_japanese.m4r */; };
+ 8C483CA721FBC06D00259FD2 /* alerta_japanese.m4r in Resources */ = {isa = PBXBuildFile; fileRef = 8C483CA421FBC06D00259FD2 /* alerta_japanese.m4r */; };
+ 8C483CA921FBC1E900259FD2 /* alerta_mexico.m4r in Resources */ = {isa = PBXBuildFile; fileRef = 8C483CA821FBC1E800259FD2 /* alerta_mexico.m4r */; };
+ 8C483CAA21FBC1E900259FD2 /* alerta_mexico.m4r in Resources */ = {isa = PBXBuildFile; fileRef = 8C483CA821FBC1E800259FD2 /* alerta_mexico.m4r */; };
+ 8C483CAB21FBC1E900259FD2 /* alerta_mexico.m4r in Resources */ = {isa = PBXBuildFile; fileRef = 8C483CA821FBC1E800259FD2 /* alerta_mexico.m4r */; };
+ 8C483CAE21FDA53B00259FD2 /* StoreKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8C483CAD21FDA53B00259FD2 /* StoreKit.framework */; };
+ 8C483CB821FDACD300259FD2 /* IAPHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8C483CB721FDACD300259FD2 /* IAPHelper.swift */; };
+ 8C483CB921FDACD300259FD2 /* IAPHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8C483CB721FDACD300259FD2 /* IAPHelper.swift */; };
+ 8C483CBA21FDACD300259FD2 /* IAPHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8C483CB721FDACD300259FD2 /* IAPHelper.swift */; };
+ 8C483CBC21FDACE500259FD2 /* VersioneProProducts.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8C483CBB21FDACE500259FD2 /* VersioneProProducts.swift */; };
+ 8C483CBD21FDACE500259FD2 /* VersioneProProducts.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8C483CBB21FDACE500259FD2 /* VersioneProProducts.swift */; };
+ 8C483CBE21FDACE500259FD2 /* VersioneProProducts.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8C483CBB21FDACE500259FD2 /* VersioneProProducts.swift */; };
+ 8C483CC021FDACEE00259FD2 /* DetailViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8C483CBF21FDACEE00259FD2 /* DetailViewController.swift */; };
+ 8C483CC121FDACEE00259FD2 /* DetailViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8C483CBF21FDACEE00259FD2 /* DetailViewController.swift */; };
+ 8C483CC221FDACEE00259FD2 /* DetailViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8C483CBF21FDACEE00259FD2 /* DetailViewController.swift */; };
+ 8C483CC421FDACF400259FD2 /* ProductCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8C483CC321FDACF400259FD2 /* ProductCell.swift */; };
+ 8C483CC521FDACF400259FD2 /* ProductCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8C483CC321FDACF400259FD2 /* ProductCell.swift */; };
+ 8C483CC621FDACF400259FD2 /* ProductCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8C483CC321FDACF400259FD2 /* ProductCell.swift */; };
+ 8C483CCD21FDB52500259FD2 /* MasterViewController1.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8C483CCC21FDB52500259FD2 /* MasterViewController1.swift */; };
+ 8C483CCE21FDB52500259FD2 /* MasterViewController1.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8C483CCC21FDB52500259FD2 /* MasterViewController1.swift */; };
+ 8C483CCF21FDB52500259FD2 /* MasterViewController1.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8C483CCC21FDB52500259FD2 /* MasterViewController1.swift */; };
+ 8C4B0B7E21CACE3F00AED489 /* NotificationService.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C4B0B7D21CACE3F00AED489 /* NotificationService.m */; };
+ 8C4B0B8221CACE3F00AED489 /* EQNNotificationService.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = 8C4B0B7A21CACE3F00AED489 /* EQNNotificationService.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
+ 8C4DD4F9228237E000AE77ED /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 8C4DD4FB228237E000AE77ED /* InfoPlist.strings */; };
+ 8C4E343F215012FA008B0D2A /* EQNManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C4E343E215012FA008B0D2A /* EQNManager.m */; };
+ 8C4E34422152B5E8008B0D2A /* EQNRilevamento.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C4E34412152B5E8008B0D2A /* EQNRilevamento.m */; };
+ 8C4E34452152B707008B0D2A /* EQMAccelerometroManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C4E34442152B707008B0D2A /* EQMAccelerometroManager.m */; };
+ 8C4E344B2152EE5B008B0D2A /* EQNGeneratoreURLServer.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C4E344A2152EE5B008B0D2A /* EQNGeneratoreURLServer.m */; };
+ 8C593E8A217BA2470008B260 /* EQNSegnalazione.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C593E89217BA2470008B260 /* EQNSegnalazione.m */; };
+ 8C5C0A6E21E51F3C000B5EFD /* ManuTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C5C0A6D21E51F3C000B5EFD /* ManuTableViewController.m */; };
+ 8C5EA22D21763103002DC156 /* MapKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8C5EA22C21763102002DC156 /* MapKit.framework */; };
+ 8C5EA23121764816002DC156 /* PrioritaViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C5EA23021764816002DC156 /* PrioritaViewController.m */; };
+ 8C5EA2342176820B002DC156 /* VersionePROViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C5EA2332176820B002DC156 /* VersionePROViewController.m */; };
+ 8C5EA23A2177B3ED002DC156 /* MasterViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C5EA2392177B3ED002DC156 /* MasterViewController.m */; };
+ 8C5EA23D2177B51C002DC156 /* SegnalazioniViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C5EA23C2177B51C002DC156 /* SegnalazioniViewController.m */; };
+ 8C602246218D9DB200C799C2 /* PastquakesDettagliMappa.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C602245218D9DB200C799C2 /* PastquakesDettagliMappa.m */; };
+ 8C60224A218EDBE200C799C2 /* PastquakesAnnotation.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C602249218EDBE200C799C2 /* PastquakesAnnotation.m */; };
+ 8C6CBAE521597E79005C426A /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 8C6CBAE421597E79005C426A /* GoogleService-Info.plist */; };
+ 8C7A3B66225A5EA40045B266 /* NSDictionary+BVJSONString.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C7A3B64225A5EA30045B266 /* NSDictionary+BVJSONString.m */; };
+ 8C7CD64821F7D0F800835812 /* ReteSismicaAnnotation.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CD08637218B3BEE0000CB5E /* ReteSismicaAnnotation.m */; };
+ 8C7CD64921F7D11700835812 /* ReteSismicaAnnotation.m in Frameworks */ = {isa = PBXBuildFile; fileRef = 8CD08637218B3BEE0000CB5E /* ReteSismicaAnnotation.m */; };
+ 8C7CD64A21F7D11700835812 /* ReteSismicaAnnotation.h in Frameworks */ = {isa = PBXBuildFile; fileRef = 8CD08636218B3BEE0000CB5E /* ReteSismicaAnnotation.h */; };
+ 8C7E945A21E548A600B0B770 /* DettadliMenuTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C7E945921E548A600B0B770 /* DettadliMenuTableViewController.m */; };
+ 8C8EBBA721540039002784BA /* EQNUser.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C8EBBA621540039002784BA /* EQNUser.m */; };
+ 8C9B755C2233A25100F8FDEE /* MenuFiltroEntiViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C9B755B2233A25100F8FDEE /* MenuFiltroEntiViewController.m */; };
+ 8C9B755F2233BFDE00F8FDEE /* FiltroEnti.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C9B755E2233BFDE00F8FDEE /* FiltroEnti.m */; };
+ 8CA46BA12194532E00C63C16 /* SismaAnnotation.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CA46BA02194532E00C63C16 /* SismaAnnotation.m */; };
+ 8CABD7212194B7C700C3E09C /* ImpostazioniViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CABD7202194B7C700C3E09C /* ImpostazioniViewController.m */; };
+ 8CADAA9421B2627D0044E256 /* LogViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CADAA9321B2627D0044E256 /* LogViewController.m */; };
+ 8CAFD7C521825E4A00F8BD29 /* EQNSisma.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CAFD7C421825E4A00F8BD29 /* EQNSisma.m */; };
+ 8CAFD7C82182648600F8BD29 /* EQNRetiSismiViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CAFD7C72182648600F8BD29 /* EQNRetiSismiViewController.m */; };
+ 8CBD3DC72149B9AD0070C963 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CBD3DC62149B9AD0070C963 /* AppDelegate.m */; };
+ 8CBD3DCA2149B9AD0070C963 /* ReteSmartphone.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CBD3DC92149B9AD0070C963 /* ReteSmartphone.m */; };
+ 8CBD3DCD2149B9AD0070C963 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 8CBD3DCB2149B9AD0070C963 /* Main.storyboard */; };
+ 8CBD3DD02149B9AD0070C963 /* Earthquake_Network.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = 8CBD3DCE2149B9AD0070C963 /* Earthquake_Network.xcdatamodeld */; };
+ 8CBD3DD22149B9AD0070C963 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 8CBD3DD12149B9AD0070C963 /* Assets.xcassets */; };
+ 8CBD3DD52149B9AD0070C963 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 8CBD3DD32149B9AD0070C963 /* LaunchScreen.storyboard */; };
+ 8CBD3DD82149B9AD0070C963 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CBD3DD72149B9AD0070C963 /* main.m */; };
+ 8CC1B15A217CB09100F22178 /* DettagliMappaViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CC1B159217CB09100F22178 /* DettagliMappaViewController.m */; };
+ 8CC2B44F214AC7F8002ED1B2 /* CoreMotion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8CC2B44E214AC7F8002ED1B2 /* CoreMotion.framework */; };
+ 8CCE164421E67F1300173CD9 /* EQNImpostazioniNotifiche.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CCE164321E67F1300173CD9 /* EQNImpostazioniNotifiche.m */; };
+ 8CCE164821E69AEC00173CD9 /* TempoRealeTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CCE164721E69AEC00173CD9 /* TempoRealeTableViewController.m */; };
+ 8CCE164B21E7BAB200173CD9 /* EQNNotificheTempoReale.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CCE164A21E7BAB200173CD9 /* EQNNotificheTempoReale.m */; };
+ 8CCE164E21E7BACE00173CD9 /* EQNNotificheSegnalazioniUtente.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CCE164D21E7BACE00173CD9 /* EQNNotificheSegnalazioniUtente.m */; };
+ 8CCE165121E7BAEC00173CD9 /* EQNNotificeReteSismiche.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CCE165021E7BAEC00173CD9 /* EQNNotificeReteSismiche.m */; };
+ 8CCE165521EA378800173CD9 /* SegnalazioniUtentiTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CCE165421EA378800173CD9 /* SegnalazioniUtentiTableViewController.m */; };
+ 8CCE165821EB1E0000173CD9 /* RetiSismicheTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CCE165721EB1E0000173CD9 /* RetiSismicheTableViewController.m */; };
+ 8CCE165B21EB7AD800173CD9 /* ListaEntiTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CCE165A21EB7AD800173CD9 /* ListaEntiTableViewController.m */; };
+ 8CCE165E21EB9F2400173CD9 /* NotificheTsunamiTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CCE165D21EB9F2400173CD9 /* NotificheTsunamiTableViewController.m */; };
+ 8CCE166121EBA37500173CD9 /* EQNNotificheTsunami.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CCE166021EBA37500173CD9 /* EQNNotificheTsunami.m */; };
+ 8CCE166421EBEFBD00173CD9 /* MessaggioInformativoTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CCE166321EBEFBD00173CD9 /* MessaggioInformativoTableViewController.m */; };
+ 8CD0862E218A41930000CB5E /* CellDettagliMappaTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CD0862D218A41930000CB5E /* CellDettagliMappaTableViewCell.m */; };
+ 8CD08631218ADFCA0000CB5E /* Cell_Reti_sismicheTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CD08630218ADFCA0000CB5E /* Cell_Reti_sismicheTableViewCell.m */; };
+ 8CD08635218AF6030000CB5E /* Cell_Meteo_TableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CD08634218AF6030000CB5E /* Cell_Meteo_TableViewCell.m */; };
+ 8CD08638218B3BEE0000CB5E /* ReteSismicaAnnotation.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CD08637218B3BEE0000CB5E /* ReteSismicaAnnotation.m */; };
+ 8CEAE3D42211482E00AF948F /* InformazioniViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CEAE3D32211482E00AF948F /* InformazioniViewController.m */; };
+ 8CEAE3DA22114D1800AF948F /* info.txt in Resources */ = {isa = PBXBuildFile; fileRef = 8CEAE3D522114D1600AF948F /* info.txt */; };
+ 8CEAE3DB22114D1800AF948F /* privacy.txt in Resources */ = {isa = PBXBuildFile; fileRef = 8CEAE3D622114D1600AF948F /* privacy.txt */; };
+ 8CEAE3DC22114D1800AF948F /* author.txt in Resources */ = {isa = PBXBuildFile; fileRef = 8CEAE3D722114D1700AF948F /* author.txt */; };
+ 8CEAE3DD22114D1800AF948F /* faq.txt in Resources */ = {isa = PBXBuildFile; fileRef = 8CEAE3D822114D1700AF948F /* faq.txt */; };
+ 8CEAE3DE22114D1800AF948F /* disclaimer.txt in Resources */ = {isa = PBXBuildFile; fileRef = 8CEAE3D922114D1700AF948F /* disclaimer.txt */; };
+ 8CEAE3E0221214F700AF948F /* AcquistiProViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8CEAE3DF221214F700AF948F /* AcquistiProViewController.swift */; };
+ 8CEAE4D92163E23E001A42B9 /* SWRevealViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CEAE4D82163E23D001A42B9 /* SWRevealViewController.m */; };
+ 8CECF64B2214A22300E01A6D /* AbbonamentiViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8CECF64A2214A22300E01A6D /* AbbonamentiViewController.swift */; };
+ 8CF05B51218C41FB0055012B /* PickerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CF05B4B218C41F90055012B /* PickerViewController.m */; };
+ 8CF05B52218C41FB0055012B /* TBDInputViewControllerData.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8CF05B4E218C41FA0055012B /* TBDInputViewControllerData.xib */; };
+ 8CF05B53218C41FB0055012B /* PickerViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8CF05B4F218C41FA0055012B /* PickerViewController.xib */; };
+ 8CF05B54218C41FB0055012B /* TBDInputViewControllerData.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CF05B50218C41FB0055012B /* TBDInputViewControllerData.m */; };
+ 8CF05B57218C93BA0055012B /* EQNUtility.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CF05B56218C93BA0055012B /* EQNUtility.m */; };
+ 8CF12CCA21DE43A500613AC5 /* alert_star_trek.wav in Resources */ = {isa = PBXBuildFile; fileRef = 8CF12CC721DE43A400613AC5 /* alert_star_trek.wav */; };
+ 8CF12CD321DE49B600613AC5 /* UserNotifications.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8CF12CD221DE49B600613AC5 /* UserNotifications.framework */; };
+ 8CF12CD521DE49B600613AC5 /* UserNotificationsUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8CF12CD421DE49B600613AC5 /* UserNotificationsUI.framework */; };
+ 8CF12CD921DE49B600613AC5 /* NotificationViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CF12CD821DE49B600613AC5 /* NotificationViewController.m */; };
+ 8CF12CDC21DE49B600613AC5 /* MainInterface.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 8CF12CDA21DE49B600613AC5 /* MainInterface.storyboard */; };
+ 8CF12CE021DE49B600613AC5 /* EQNNotificationContent.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = 8CF12CD121DE49B600613AC5 /* EQNNotificationContent.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
+ 8CF4F4D2216D2C780057110B /* EQNReteSmartphone.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CF4F4D1216D2C780057110B /* EQNReteSmartphone.m */; };
+ 8CF4F4D5216D336B0057110B /* EQNDatoGrafico.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CF4F4D4216D336B0057110B /* EQNDatoGrafico.m */; };
+ 8CF4F4D8216D3A110057110B /* EQNAreaCheck.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CF4F4D7216D3A110057110B /* EQNAreaCheck.m */; };
+ 8CF4F4DB216D44930057110B /* EQNPastquakes.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CF4F4DA216D44930057110B /* EQNPastquakes.m */; };
+ 8CF4F4DE2175352E0057110B /* WaitViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CF4F4DD2175352E0057110B /* WaitViewController.m */; };
+ 8CF6604F214C0E58009F4314 /* EQNCalibrazione.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CF6604E214C0E58009F4314 /* EQNCalibrazione.m */; };
+ 8CF66053214C12DC009F4314 /* EQNMath.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CF66052214C12DC009F4314 /* EQNMath.m */; };
+ 8CF66058214C566B009F4314 /* ServerRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CF66055214C566A009F4314 /* ServerRequest.m */; };
+ 8CF66059214C566B009F4314 /* Reachability.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CF66056214C566A009F4314 /* Reachability.m */; };
+ 8CFA63202197F9C10099EB0E /* TsunamiViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CFA631F2197F9C10099EB0E /* TsunamiViewController.m */; };
+ 8CFA6323219A2C610099EB0E /* Tsunami.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CFA6322219A2C610099EB0E /* Tsunami.m */; };
+ 8CFA6326219A41590099EB0E /* DettagliTsunamiViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CFA6325219A41590099EB0E /* DettagliTsunamiViewController.m */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXContainerItemProxy section */
+ 8C4B0B8021CACE3F00AED489 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 8CBD3DBA2149B9AD0070C963 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 8C4B0B7921CACE3F00AED489;
+ remoteInfo = EQNNotificationService;
+ };
+ 8CF12CDE21DE49B600613AC5 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 8CBD3DBA2149B9AD0070C963 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 8CF12CD021DE49B600613AC5;
+ remoteInfo = EQNNotificationContent;
+ };
+/* End PBXContainerItemProxy section */
+
+/* Begin PBXCopyFilesBuildPhase section */
+ 8CADAAA521B98C550044E256 /* Embed App Extensions */ = {
+ isa = PBXCopyFilesBuildPhase;
+ buildActionMask = 2147483647;
+ dstPath = "";
+ dstSubfolderSpec = 13;
+ files = (
+ 8CF12CE021DE49B600613AC5 /* EQNNotificationContent.appex in Embed App Extensions */,
+ 8C4B0B8221CACE3F00AED489 /* EQNNotificationService.appex in Embed App Extensions */,
+ );
+ name = "Embed App Extensions";
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXCopyFilesBuildPhase section */
+
+/* Begin PBXFileReference section */
+ 40CD2E5581CF2FA3D52F392D /* Pods-Earthquake Network.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Earthquake Network.release.xcconfig"; path = "Pods/Target Support Files/Pods-Earthquake Network/Pods-Earthquake Network.release.xcconfig"; sourceTree = ""; };
+ 51164624757711E06B0778D4 /* libPods-Earthquake Network.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Earthquake Network.a"; sourceTree = BUILT_PRODUCTS_DIR; };
+ 8C10B0AF2281FBE800125C9F /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Main.strings; sourceTree = ""; };
+ 8C10B0B02281FBE800125C9F /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/LaunchScreen.strings; sourceTree = ""; };
+ 8C10B0B12281FBE800125C9F /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/MainInterface.strings; sourceTree = ""; };
+ 8C10B0B22281FD6900125C9F /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Main.strings; sourceTree = ""; };
+ 8C10B0B32281FD6A00125C9F /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/LaunchScreen.strings; sourceTree = ""; };
+ 8C10B0B42281FD6B00125C9F /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/MainInterface.strings; sourceTree = ""; };
+ 8C10B0BC2281FE7F00125C9F /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Localizable.strings; sourceTree = ""; };
+ 8C10B0BE2281FE9E00125C9F /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = ""; };
+ 8C10B0BF2281FEA000125C9F /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Localizable.strings; sourceTree = ""; };
+ 8C10B0C42282360900125C9F /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
+ 8C13E849220B2E7E0009CFE4 /* MenuSelezioneEntiViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MenuSelezioneEntiViewController.h; sourceTree = ""; };
+ 8C13E84A220B2E7E0009CFE4 /* MenuSelezioneEntiViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MenuSelezioneEntiViewController.m; sourceTree = ""; };
+ 8C13E84D220B89360009CFE4 /* ElencoFiltroEntiTableViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ElencoFiltroEntiTableViewController.h; sourceTree = ""; };
+ 8C13E84E220B89360009CFE4 /* ElencoFiltroEntiTableViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ElencoFiltroEntiTableViewController.m; sourceTree = ""; };
+ 8C14112C21ED2FA300A59729 /* AreaInteresseTableViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AreaInteresseTableViewController.h; sourceTree = ""; };
+ 8C14112D21ED2FA300A59729 /* AreaInteresseTableViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AreaInteresseTableViewController.m; sourceTree = ""; };
+ 8C14112F21ED3E5B00A59729 /* AllertaSismiTableViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AllertaSismiTableViewController.h; sourceTree = ""; };
+ 8C14113021ED3E5B00A59729 /* AllertaSismiTableViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AllertaSismiTableViewController.m; sourceTree = ""; };
+ 8C14113521EE502800A59729 /* EQNAllertaSismica.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EQNAllertaSismica.h; sourceTree = ""; };
+ 8C14113621EE502800A59729 /* EQNAllertaSismica.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EQNAllertaSismica.m; sourceTree = ""; };
+ 8C149FA121E54E85002C44FD /* NotificheSismiTableViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NotificheSismiTableViewController.h; sourceTree = ""; };
+ 8C149FA221E54E85002C44FD /* NotificheSismiTableViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = NotificheSismiTableViewController.m; sourceTree = ""; };
+ 8C29EAFA2258A4DD00FD90A9 /* DettagliAbbonamentoViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DettagliAbbonamentoViewController.swift; sourceTree = ""; };
+ 8C2B250F21938BFD00E0E25E /* SegnalazioniUtenteDettagliMappa.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SegnalazioniUtenteDettagliMappa.h; sourceTree = ""; };
+ 8C2B251021938BFD00E0E25E /* SegnalazioniUtenteDettagliMappa.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SegnalazioniUtenteDettagliMappa.m; sourceTree = ""; };
+ 8C2B25122193927E00E0E25E /* ReteSismiDettagliMappa.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ReteSismiDettagliMappa.h; sourceTree = ""; };
+ 8C2B25132193927E00E0E25E /* ReteSismiDettagliMappa.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ReteSismiDettagliMappa.m; sourceTree = ""; };
+ 8C465D9721F6539700F04673 /* Earthquake Network.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; path = "Earthquake Network.xcodeproj"; sourceTree = ""; };
+ 8C483CA421FBC06D00259FD2 /* alerta_japanese.m4r */ = {isa = PBXFileReference; lastKnownFileType = file; path = alerta_japanese.m4r; sourceTree = ""; };
+ 8C483CA821FBC1E800259FD2 /* alerta_mexico.m4r */ = {isa = PBXFileReference; lastKnownFileType = file; path = alerta_mexico.m4r; sourceTree = ""; };
+ 8C483CAD21FDA53B00259FD2 /* StoreKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = StoreKit.framework; path = System/Library/Frameworks/StoreKit.framework; sourceTree = SDKROOT; };
+ 8C483CB021FDA8C700259FD2 /* Earthquake Network-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Earthquake Network-Bridging-Header.h"; sourceTree = ""; };
+ 8C483CB521FDACD100259FD2 /* EQNNotificationService-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "EQNNotificationService-Bridging-Header.h"; sourceTree = ""; };
+ 8C483CB621FDACD100259FD2 /* EQNNotificationContent-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "EQNNotificationContent-Bridging-Header.h"; sourceTree = ""; };
+ 8C483CB721FDACD300259FD2 /* IAPHelper.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IAPHelper.swift; sourceTree = ""; };
+ 8C483CBB21FDACE500259FD2 /* VersioneProProducts.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VersioneProProducts.swift; sourceTree = ""; };
+ 8C483CBF21FDACEE00259FD2 /* DetailViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DetailViewController.swift; sourceTree = ""; };
+ 8C483CC321FDACF400259FD2 /* ProductCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ProductCell.swift; sourceTree = ""; };
+ 8C483CCC21FDB52500259FD2 /* MasterViewController1.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MasterViewController1.swift; sourceTree = ""; };
+ 8C4B0B7A21CACE3F00AED489 /* EQNNotificationService.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = EQNNotificationService.appex; sourceTree = BUILT_PRODUCTS_DIR; };
+ 8C4B0B7C21CACE3F00AED489 /* NotificationService.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NotificationService.h; sourceTree = ""; };
+ 8C4B0B7D21CACE3F00AED489 /* NotificationService.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = NotificationService.m; sourceTree = ""; };
+ 8C4B0B7F21CACE3F00AED489 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
+ 8C4DD4FA228237E000AE77ED /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; };
+ 8C4DD4FC228237E200AE77ED /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/InfoPlist.strings; sourceTree = ""; };
+ 8C4DD4FD228237E400AE77ED /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/InfoPlist.strings; sourceTree = ""; };
+ 8C4E343D215012FA008B0D2A /* EQNManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EQNManager.h; sourceTree = ""; };
+ 8C4E343E215012FA008B0D2A /* EQNManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EQNManager.m; sourceTree = ""; };
+ 8C4E34402152B5E8008B0D2A /* EQNRilevamento.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EQNRilevamento.h; sourceTree = ""; };
+ 8C4E34412152B5E8008B0D2A /* EQNRilevamento.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EQNRilevamento.m; sourceTree = ""; };
+ 8C4E34432152B707008B0D2A /* EQMAccelerometroManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EQMAccelerometroManager.h; sourceTree = ""; };
+ 8C4E34442152B707008B0D2A /* EQMAccelerometroManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EQMAccelerometroManager.m; sourceTree = ""; };
+ 8C4E34492152EE5B008B0D2A /* EQNGeneratoreURLServer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EQNGeneratoreURLServer.h; sourceTree = ""; };
+ 8C4E344A2152EE5B008B0D2A /* EQNGeneratoreURLServer.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EQNGeneratoreURLServer.m; sourceTree = ""; };
+ 8C593E88217BA2470008B260 /* EQNSegnalazione.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EQNSegnalazione.h; sourceTree = ""; };
+ 8C593E89217BA2470008B260 /* EQNSegnalazione.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EQNSegnalazione.m; sourceTree = ""; };
+ 8C5C0A6C21E51F3C000B5EFD /* ManuTableViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ManuTableViewController.h; sourceTree = ""; };
+ 8C5C0A6D21E51F3C000B5EFD /* ManuTableViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ManuTableViewController.m; sourceTree = ""; };
+ 8C5EA22C21763102002DC156 /* MapKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MapKit.framework; path = System/Library/Frameworks/MapKit.framework; sourceTree = SDKROOT; };
+ 8C5EA22F21764816002DC156 /* PrioritaViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PrioritaViewController.h; sourceTree = ""; };
+ 8C5EA23021764816002DC156 /* PrioritaViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PrioritaViewController.m; sourceTree = ""; };
+ 8C5EA2322176820B002DC156 /* VersionePROViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = VersionePROViewController.h; sourceTree = ""; };
+ 8C5EA2332176820B002DC156 /* VersionePROViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = VersionePROViewController.m; sourceTree = ""; };
+ 8C5EA2382177B3ED002DC156 /* MasterViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MasterViewController.h; sourceTree = ""; };
+ 8C5EA2392177B3ED002DC156 /* MasterViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MasterViewController.m; sourceTree = ""; };
+ 8C5EA23B2177B51C002DC156 /* SegnalazioniViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SegnalazioniViewController.h; sourceTree = ""; };
+ 8C5EA23C2177B51C002DC156 /* SegnalazioniViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SegnalazioniViewController.m; sourceTree = ""; };
+ 8C602244218D9DB200C799C2 /* PastquakesDettagliMappa.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PastquakesDettagliMappa.h; sourceTree = ""; };
+ 8C602245218D9DB200C799C2 /* PastquakesDettagliMappa.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PastquakesDettagliMappa.m; sourceTree = ""; };
+ 8C602248218EDBE200C799C2 /* PastquakesAnnotation.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PastquakesAnnotation.h; sourceTree = ""; };
+ 8C602249218EDBE200C799C2 /* PastquakesAnnotation.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PastquakesAnnotation.m; sourceTree = ""; };
+ 8C6CBAE421597E79005C426A /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = ""; };
+ 8C7A3B64225A5EA30045B266 /* NSDictionary+BVJSONString.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSDictionary+BVJSONString.m"; sourceTree = ""; };
+ 8C7A3B65225A5EA40045B266 /* NSDictionary+BVJSONString.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSDictionary+BVJSONString.h"; sourceTree = ""; };
+ 8C7E945821E548A600B0B770 /* DettadliMenuTableViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DettadliMenuTableViewController.h; sourceTree = ""; };
+ 8C7E945921E548A600B0B770 /* DettadliMenuTableViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = DettadliMenuTableViewController.m; sourceTree = ""; };
+ 8C8EBBA521540039002784BA /* EQNUser.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EQNUser.h; sourceTree = ""; };
+ 8C8EBBA621540039002784BA /* EQNUser.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EQNUser.m; sourceTree = ""; };
+ 8C9B755A2233A25100F8FDEE /* MenuFiltroEntiViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MenuFiltroEntiViewController.h; sourceTree = ""; };
+ 8C9B755B2233A25100F8FDEE /* MenuFiltroEntiViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MenuFiltroEntiViewController.m; sourceTree = ""; };
+ 8C9B755D2233BFDE00F8FDEE /* FiltroEnti.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = FiltroEnti.h; sourceTree = ""; };
+ 8C9B755E2233BFDE00F8FDEE /* FiltroEnti.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = FiltroEnti.m; sourceTree = ""; };
+ 8CA46B9F2194532E00C63C16 /* SismaAnnotation.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SismaAnnotation.h; sourceTree = ""; };
+ 8CA46BA02194532E00C63C16 /* SismaAnnotation.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SismaAnnotation.m; sourceTree = ""; };
+ 8CABD71F2194B7C700C3E09C /* ImpostazioniViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ImpostazioniViewController.h; sourceTree = ""; };
+ 8CABD7202194B7C700C3E09C /* ImpostazioniViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ImpostazioniViewController.m; sourceTree = ""; };
+ 8CADAA9221B2627D0044E256 /* LogViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LogViewController.h; sourceTree = ""; };
+ 8CADAA9321B2627D0044E256 /* LogViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = LogViewController.m; sourceTree = ""; };
+ 8CAFD7C321825E4A00F8BD29 /* EQNSisma.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EQNSisma.h; sourceTree = ""; };
+ 8CAFD7C421825E4A00F8BD29 /* EQNSisma.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EQNSisma.m; sourceTree = ""; };
+ 8CAFD7C62182648600F8BD29 /* EQNRetiSismiViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EQNRetiSismiViewController.h; sourceTree = ""; };
+ 8CAFD7C72182648600F8BD29 /* EQNRetiSismiViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EQNRetiSismiViewController.m; sourceTree = ""; };
+ 8CBD3DC22149B9AD0070C963 /* Earthquake Network.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Earthquake Network.app"; sourceTree = BUILT_PRODUCTS_DIR; };
+ 8CBD3DC52149B9AD0070C963 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; };
+ 8CBD3DC62149B9AD0070C963 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; };
+ 8CBD3DC82149B9AD0070C963 /* ReteSmartphone.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ReteSmartphone.h; sourceTree = ""; };
+ 8CBD3DC92149B9AD0070C963 /* ReteSmartphone.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ReteSmartphone.m; sourceTree = ""; };
+ 8CBD3DCC2149B9AD0070C963 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; };
+ 8CBD3DCF2149B9AD0070C963 /* Earthquake_Network.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = Earthquake_Network.xcdatamodel; sourceTree = ""; };
+ 8CBD3DD12149B9AD0070C963 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; };
+ 8CBD3DD42149B9AD0070C963 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; };
+ 8CBD3DD72149B9AD0070C963 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; };
+ 8CBD3DDE2149BA300070C963 /* Earthquake Network.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = "Earthquake Network.entitlements"; sourceTree = ""; };
+ 8CC1B158217CB09100F22178 /* DettagliMappaViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DettagliMappaViewController.h; sourceTree = ""; };
+ 8CC1B159217CB09100F22178 /* DettagliMappaViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = DettagliMappaViewController.m; sourceTree = ""; };
+ 8CC2B44E214AC7F8002ED1B2 /* CoreMotion.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMotion.framework; path = System/Library/Frameworks/CoreMotion.framework; sourceTree = SDKROOT; };
+ 8CCE164221E67F1300173CD9 /* EQNImpostazioniNotifiche.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EQNImpostazioniNotifiche.h; sourceTree = ""; };
+ 8CCE164321E67F1300173CD9 /* EQNImpostazioniNotifiche.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EQNImpostazioniNotifiche.m; sourceTree = ""; };
+ 8CCE164621E69AEC00173CD9 /* TempoRealeTableViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TempoRealeTableViewController.h; sourceTree = ""; };
+ 8CCE164721E69AEC00173CD9 /* TempoRealeTableViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = TempoRealeTableViewController.m; sourceTree = ""; };
+ 8CCE164921E7BAB200173CD9 /* EQNNotificheTempoReale.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EQNNotificheTempoReale.h; sourceTree = ""; };
+ 8CCE164A21E7BAB200173CD9 /* EQNNotificheTempoReale.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EQNNotificheTempoReale.m; sourceTree = ""; };
+ 8CCE164C21E7BACE00173CD9 /* EQNNotificheSegnalazioniUtente.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EQNNotificheSegnalazioniUtente.h; sourceTree = ""; };
+ 8CCE164D21E7BACE00173CD9 /* EQNNotificheSegnalazioniUtente.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EQNNotificheSegnalazioniUtente.m; sourceTree = ""; };
+ 8CCE164F21E7BAEC00173CD9 /* EQNNotificeReteSismiche.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EQNNotificeReteSismiche.h; sourceTree = ""; };
+ 8CCE165021E7BAEC00173CD9 /* EQNNotificeReteSismiche.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EQNNotificeReteSismiche.m; sourceTree = ""; };
+ 8CCE165321EA378800173CD9 /* SegnalazioniUtentiTableViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SegnalazioniUtentiTableViewController.h; sourceTree = ""; };
+ 8CCE165421EA378800173CD9 /* SegnalazioniUtentiTableViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SegnalazioniUtentiTableViewController.m; sourceTree = ""; };
+ 8CCE165621EB1E0000173CD9 /* RetiSismicheTableViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RetiSismicheTableViewController.h; sourceTree = ""; };
+ 8CCE165721EB1E0000173CD9 /* RetiSismicheTableViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RetiSismicheTableViewController.m; sourceTree = ""; };
+ 8CCE165921EB7AD800173CD9 /* ListaEntiTableViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ListaEntiTableViewController.h; sourceTree = ""; };
+ 8CCE165A21EB7AD800173CD9 /* ListaEntiTableViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ListaEntiTableViewController.m; sourceTree = ""; };
+ 8CCE165C21EB9F2400173CD9 /* NotificheTsunamiTableViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NotificheTsunamiTableViewController.h; sourceTree = ""; };
+ 8CCE165D21EB9F2400173CD9 /* NotificheTsunamiTableViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = NotificheTsunamiTableViewController.m; sourceTree = ""; };
+ 8CCE165F21EBA37500173CD9 /* EQNNotificheTsunami.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EQNNotificheTsunami.h; sourceTree = ""; };
+ 8CCE166021EBA37500173CD9 /* EQNNotificheTsunami.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EQNNotificheTsunami.m; sourceTree = ""; };
+ 8CCE166221EBEFBD00173CD9 /* MessaggioInformativoTableViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MessaggioInformativoTableViewController.h; sourceTree = ""; };
+ 8CCE166321EBEFBD00173CD9 /* MessaggioInformativoTableViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MessaggioInformativoTableViewController.m; sourceTree = ""; };
+ 8CD0862C218A41930000CB5E /* CellDettagliMappaTableViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CellDettagliMappaTableViewCell.h; sourceTree = ""; };
+ 8CD0862D218A41930000CB5E /* CellDettagliMappaTableViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = CellDettagliMappaTableViewCell.m; sourceTree = ""; };
+ 8CD0862F218ADFCA0000CB5E /* Cell_Reti_sismicheTableViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Cell_Reti_sismicheTableViewCell.h; sourceTree = ""; };
+ 8CD08630218ADFCA0000CB5E /* Cell_Reti_sismicheTableViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = Cell_Reti_sismicheTableViewCell.m; sourceTree = ""; };
+ 8CD08633218AF6030000CB5E /* Cell_Meteo_TableViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Cell_Meteo_TableViewCell.h; sourceTree = ""; };
+ 8CD08634218AF6030000CB5E /* Cell_Meteo_TableViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = Cell_Meteo_TableViewCell.m; sourceTree = ""; };
+ 8CD08636218B3BEE0000CB5E /* ReteSismicaAnnotation.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ReteSismicaAnnotation.h; sourceTree = ""; };
+ 8CD08637218B3BEE0000CB5E /* ReteSismicaAnnotation.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ReteSismicaAnnotation.m; sourceTree = ""; };
+ 8CEAE3D22211482E00AF948F /* InformazioniViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = InformazioniViewController.h; sourceTree = ""; };
+ 8CEAE3D32211482E00AF948F /* InformazioniViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = InformazioniViewController.m; sourceTree = ""; };
+ 8CEAE3D522114D1600AF948F /* info.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = info.txt; sourceTree = ""; };
+ 8CEAE3D622114D1600AF948F /* privacy.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = privacy.txt; sourceTree = ""; };
+ 8CEAE3D722114D1700AF948F /* author.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = author.txt; sourceTree = ""; };
+ 8CEAE3D822114D1700AF948F /* faq.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = faq.txt; sourceTree = ""; };
+ 8CEAE3D922114D1700AF948F /* disclaimer.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = disclaimer.txt; sourceTree = ""; };
+ 8CEAE3DF221214F700AF948F /* AcquistiProViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AcquistiProViewController.swift; sourceTree = ""; };
+ 8CEAE4D72163E23D001A42B9 /* SWRevealViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SWRevealViewController.h; sourceTree = ""; };
+ 8CEAE4D82163E23D001A42B9 /* SWRevealViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SWRevealViewController.m; sourceTree = ""; };
+ 8CECF64A2214A22300E01A6D /* AbbonamentiViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AbbonamentiViewController.swift; sourceTree = ""; };
+ 8CF05B4B218C41F90055012B /* PickerViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PickerViewController.m; sourceTree = ""; };
+ 8CF05B4C218C41F90055012B /* TBDInputViewControllerData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TBDInputViewControllerData.h; sourceTree = ""; };
+ 8CF05B4D218C41FA0055012B /* PickerViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PickerViewController.h; sourceTree = ""; };
+ 8CF05B4E218C41FA0055012B /* TBDInputViewControllerData.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = TBDInputViewControllerData.xib; sourceTree = ""; };
+ 8CF05B4F218C41FA0055012B /* PickerViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = PickerViewController.xib; sourceTree = ""; };
+ 8CF05B50218C41FB0055012B /* TBDInputViewControllerData.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TBDInputViewControllerData.m; sourceTree = ""; };
+ 8CF05B55218C93BA0055012B /* EQNUtility.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EQNUtility.h; sourceTree = ""; };
+ 8CF05B56218C93BA0055012B /* EQNUtility.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EQNUtility.m; sourceTree = ""; };
+ 8CF12CC721DE43A400613AC5 /* alert_star_trek.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; path = alert_star_trek.wav; sourceTree = ""; };
+ 8CF12CD121DE49B600613AC5 /* EQNNotificationContent.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = EQNNotificationContent.appex; sourceTree = BUILT_PRODUCTS_DIR; };
+ 8CF12CD221DE49B600613AC5 /* UserNotifications.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UserNotifications.framework; path = System/Library/Frameworks/UserNotifications.framework; sourceTree = SDKROOT; };
+ 8CF12CD421DE49B600613AC5 /* UserNotificationsUI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UserNotificationsUI.framework; path = System/Library/Frameworks/UserNotificationsUI.framework; sourceTree = SDKROOT; };
+ 8CF12CD721DE49B600613AC5 /* NotificationViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NotificationViewController.h; sourceTree = ""; };
+ 8CF12CD821DE49B600613AC5 /* NotificationViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = NotificationViewController.m; sourceTree = ""; };
+ 8CF12CDB21DE49B600613AC5 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/MainInterface.storyboard; sourceTree = ""; };
+ 8CF12CDD21DE49B600613AC5 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
+ 8CF4F4D0216D2C780057110B /* EQNReteSmartphone.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EQNReteSmartphone.h; sourceTree = ""; };
+ 8CF4F4D1216D2C780057110B /* EQNReteSmartphone.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EQNReteSmartphone.m; sourceTree = ""; };
+ 8CF4F4D3216D336B0057110B /* EQNDatoGrafico.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EQNDatoGrafico.h; sourceTree = ""; };
+ 8CF4F4D4216D336B0057110B /* EQNDatoGrafico.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EQNDatoGrafico.m; sourceTree = ""; };
+ 8CF4F4D6216D3A110057110B /* EQNAreaCheck.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EQNAreaCheck.h; sourceTree = ""; };
+ 8CF4F4D7216D3A110057110B /* EQNAreaCheck.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EQNAreaCheck.m; sourceTree = ""; };
+ 8CF4F4D9216D44930057110B /* EQNPastquakes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EQNPastquakes.h; sourceTree = ""; };
+ 8CF4F4DA216D44930057110B /* EQNPastquakes.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EQNPastquakes.m; sourceTree = ""; };
+ 8CF4F4DC2175352E0057110B /* WaitViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WaitViewController.h; sourceTree = ""; };
+ 8CF4F4DD2175352E0057110B /* WaitViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = WaitViewController.m; sourceTree = ""; };
+ 8CF6604D214C0E58009F4314 /* EQNCalibrazione.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EQNCalibrazione.h; sourceTree = ""; };
+ 8CF6604E214C0E58009F4314 /* EQNCalibrazione.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EQNCalibrazione.m; sourceTree = ""; };
+ 8CF66050214C0F7F009F4314 /* Costanti.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Costanti.h; sourceTree = ""; };
+ 8CF66051214C12DC009F4314 /* EQNMath.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EQNMath.h; sourceTree = ""; };
+ 8CF66052214C12DC009F4314 /* EQNMath.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EQNMath.m; sourceTree = ""; };
+ 8CF66054214C566A009F4314 /* Reachability.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Reachability.h; sourceTree = ""; };
+ 8CF66055214C566A009F4314 /* ServerRequest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ServerRequest.m; sourceTree = ""; };
+ 8CF66056214C566A009F4314 /* Reachability.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Reachability.m; sourceTree = ""; };
+ 8CF66057214C566B009F4314 /* ServerRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ServerRequest.h; sourceTree = ""; };
+ 8CFA631E2197F9C10099EB0E /* TsunamiViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TsunamiViewController.h; sourceTree = ""; };
+ 8CFA631F2197F9C10099EB0E /* TsunamiViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = TsunamiViewController.m; sourceTree = ""; };
+ 8CFA6321219A2C610099EB0E /* Tsunami.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Tsunami.h; sourceTree = ""; };
+ 8CFA6322219A2C610099EB0E /* Tsunami.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = Tsunami.m; sourceTree = ""; };
+ 8CFA6324219A41590099EB0E /* DettagliTsunamiViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DettagliTsunamiViewController.h; sourceTree = ""; };
+ 8CFA6325219A41590099EB0E /* DettagliTsunamiViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = DettagliTsunamiViewController.m; sourceTree = ""; };
+ C4FB0D7EEA34F8222369E1BB /* Pods-Earthquake Network.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Earthquake Network.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Earthquake Network/Pods-Earthquake Network.debug.xcconfig"; sourceTree = ""; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ 8C4B0B7721CACE3F00AED489 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 8C483C9B21FA665C00259FD2 /* EQNAllertaSismica.h in Frameworks */,
+ 8C483C9C21FA665C00259FD2 /* EQNAllertaSismica.m in Frameworks */,
+ 8C483C9721FA662900259FD2 /* alert_star_trek.wav in Frameworks */,
+ 8C465D9B21F653CA00F04673 /* Assets.xcassets in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 8CBD3DBF2149B9AD0070C963 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 8C5EA22D21763103002DC156 /* MapKit.framework in Frameworks */,
+ 8CC2B44F214AC7F8002ED1B2 /* CoreMotion.framework in Frameworks */,
+ 4AF6047375F3EA53A42B2380 /* libPods-Earthquake Network.a in Frameworks */,
+ 8C483CAE21FDA53B00259FD2 /* StoreKit.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 8CF12CCE21DE49B600613AC5 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 8C7CD64921F7D11700835812 /* ReteSismicaAnnotation.m in Frameworks */,
+ 8C7CD64A21F7D11700835812 /* ReteSismicaAnnotation.h in Frameworks */,
+ 8C465D9C21F7BBE700F04673 /* PastquakesAnnotation.m in Frameworks */,
+ 8C465D9D21F7BBE700F04673 /* PastquakesAnnotation.h in Frameworks */,
+ 8C465D9A21F653AB00F04673 /* Assets.xcassets in Frameworks */,
+ 8CF12CD521DE49B600613AC5 /* UserNotificationsUI.framework in Frameworks */,
+ 8CF12CD321DE49B600613AC5 /* UserNotifications.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ 8C465D9821F6539700F04673 /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ );
+ name = Products;
+ sourceTree = "";
+ };
+ 8C483CAF21FDA7DA00259FD2 /* Acquisti in App */ = {
+ isa = PBXGroup;
+ children = (
+ 8CEAE3D722114D1700AF948F /* author.txt */,
+ 8CEAE3D922114D1700AF948F /* disclaimer.txt */,
+ 8CEAE3D822114D1700AF948F /* faq.txt */,
+ 8CEAE3D522114D1600AF948F /* info.txt */,
+ 8CEAE3D622114D1600AF948F /* privacy.txt */,
+ 8C483CB721FDACD300259FD2 /* IAPHelper.swift */,
+ 8C483CBB21FDACE500259FD2 /* VersioneProProducts.swift */,
+ 8C483CBF21FDACEE00259FD2 /* DetailViewController.swift */,
+ 8C483CC321FDACF400259FD2 /* ProductCell.swift */,
+ 8C483CCC21FDB52500259FD2 /* MasterViewController1.swift */,
+ 8C483CB021FDA8C700259FD2 /* Earthquake Network-Bridging-Header.h */,
+ 8C483CB521FDACD100259FD2 /* EQNNotificationService-Bridging-Header.h */,
+ 8C483CB621FDACD100259FD2 /* EQNNotificationContent-Bridging-Header.h */,
+ 8CEAE3DF221214F700AF948F /* AcquistiProViewController.swift */,
+ 8CECF64A2214A22300E01A6D /* AbbonamentiViewController.swift */,
+ 8C29EAFA2258A4DD00FD90A9 /* DettagliAbbonamentoViewController.swift */,
+ );
+ path = "Acquisti in App";
+ sourceTree = "";
+ };
+ 8C4B0B7B21CACE3F00AED489 /* EQNNotificationService */ = {
+ isa = PBXGroup;
+ children = (
+ 8C4B0B7C21CACE3F00AED489 /* NotificationService.h */,
+ 8C4B0B7D21CACE3F00AED489 /* NotificationService.m */,
+ 8C4B0B7F21CACE3F00AED489 /* Info.plist */,
+ );
+ path = EQNNotificationService;
+ sourceTree = "";
+ };
+ 8C5EA22E217645C8002DC156 /* ViewController */ = {
+ isa = PBXGroup;
+ children = (
+ 8CCE164521E69A9300173CD9 /* impostazioniNotifiche */,
+ 8C602247218D9DBF00C799C2 /* Dettagli mappa */,
+ 8CF05B4A218C41E60055012B /* inputView */,
+ 8CD08632218AF5C80000CB5E /* cellTableView */,
+ 8CEAE4D72163E23D001A42B9 /* SWRevealViewController.h */,
+ 8CEAE4D82163E23D001A42B9 /* SWRevealViewController.m */,
+ 8CBD3DC82149B9AD0070C963 /* ReteSmartphone.h */,
+ 8CBD3DC92149B9AD0070C963 /* ReteSmartphone.m */,
+ 8CF4F4DC2175352E0057110B /* WaitViewController.h */,
+ 8CF4F4DD2175352E0057110B /* WaitViewController.m */,
+ 8C5EA22F21764816002DC156 /* PrioritaViewController.h */,
+ 8C5EA23021764816002DC156 /* PrioritaViewController.m */,
+ 8C5EA2322176820B002DC156 /* VersionePROViewController.h */,
+ 8C5EA2332176820B002DC156 /* VersionePROViewController.m */,
+ 8C5EA2382177B3ED002DC156 /* MasterViewController.h */,
+ 8C5EA2392177B3ED002DC156 /* MasterViewController.m */,
+ 8C5EA23B2177B51C002DC156 /* SegnalazioniViewController.h */,
+ 8C5EA23C2177B51C002DC156 /* SegnalazioniViewController.m */,
+ 8CAFD7C62182648600F8BD29 /* EQNRetiSismiViewController.h */,
+ 8CAFD7C72182648600F8BD29 /* EQNRetiSismiViewController.m */,
+ 8CABD71F2194B7C700C3E09C /* ImpostazioniViewController.h */,
+ 8CABD7202194B7C700C3E09C /* ImpostazioniViewController.m */,
+ 8CFA631E2197F9C10099EB0E /* TsunamiViewController.h */,
+ 8CFA631F2197F9C10099EB0E /* TsunamiViewController.m */,
+ 8CFA6324219A41590099EB0E /* DettagliTsunamiViewController.h */,
+ 8CFA6325219A41590099EB0E /* DettagliTsunamiViewController.m */,
+ 8CADAA9221B2627D0044E256 /* LogViewController.h */,
+ 8CADAA9321B2627D0044E256 /* LogViewController.m */,
+ 8C13E849220B2E7E0009CFE4 /* MenuSelezioneEntiViewController.h */,
+ 8C13E84A220B2E7E0009CFE4 /* MenuSelezioneEntiViewController.m */,
+ 8C13E84D220B89360009CFE4 /* ElencoFiltroEntiTableViewController.h */,
+ 8C13E84E220B89360009CFE4 /* ElencoFiltroEntiTableViewController.m */,
+ 8CEAE3D22211482E00AF948F /* InformazioniViewController.h */,
+ 8CEAE3D32211482E00AF948F /* InformazioniViewController.m */,
+ 8C9B755A2233A25100F8FDEE /* MenuFiltroEntiViewController.h */,
+ 8C9B755B2233A25100F8FDEE /* MenuFiltroEntiViewController.m */,
+ );
+ path = ViewController;
+ sourceTree = "";
+ };
+ 8C602247218D9DBF00C799C2 /* Dettagli mappa */ = {
+ isa = PBXGroup;
+ children = (
+ 8CC1B158217CB09100F22178 /* DettagliMappaViewController.h */,
+ 8CC1B159217CB09100F22178 /* DettagliMappaViewController.m */,
+ 8C602244218D9DB200C799C2 /* PastquakesDettagliMappa.h */,
+ 8C602245218D9DB200C799C2 /* PastquakesDettagliMappa.m */,
+ 8C2B250F21938BFD00E0E25E /* SegnalazioniUtenteDettagliMappa.h */,
+ 8C2B251021938BFD00E0E25E /* SegnalazioniUtenteDettagliMappa.m */,
+ 8C2B25122193927E00E0E25E /* ReteSismiDettagliMappa.h */,
+ 8C2B25132193927E00E0E25E /* ReteSismiDettagliMappa.m */,
+ );
+ path = "Dettagli mappa";
+ sourceTree = "";
+ };
+ 8C60224B218EDBF700C799C2 /* annotation */ = {
+ isa = PBXGroup;
+ children = (
+ 8CD08636218B3BEE0000CB5E /* ReteSismicaAnnotation.h */,
+ 8CD08637218B3BEE0000CB5E /* ReteSismicaAnnotation.m */,
+ 8C602248218EDBE200C799C2 /* PastquakesAnnotation.h */,
+ 8C602249218EDBE200C799C2 /* PastquakesAnnotation.m */,
+ 8CA46B9F2194532E00C63C16 /* SismaAnnotation.h */,
+ 8CA46BA02194532E00C63C16 /* SismaAnnotation.m */,
+ );
+ path = annotation;
+ sourceTree = "";
+ };
+ 8CBD3DB92149B9AD0070C963 = {
+ isa = PBXGroup;
+ children = (
+ 8C4DD4FB228237E000AE77ED /* InfoPlist.strings */,
+ 8CBD3DC42149B9AD0070C963 /* Earthquake Network */,
+ 8C4B0B7B21CACE3F00AED489 /* EQNNotificationService */,
+ 8CF12CD621DE49B600613AC5 /* EQNNotificationContent */,
+ 8CBD3DC32149B9AD0070C963 /* Products */,
+ 8CC2B44D214AC7F8002ED1B2 /* Frameworks */,
+ A7982CE92BD5D51B8E2AA92F /* Pods */,
+ );
+ sourceTree = "";
+ };
+ 8CBD3DC32149B9AD0070C963 /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 8CBD3DC22149B9AD0070C963 /* Earthquake Network.app */,
+ 8C4B0B7A21CACE3F00AED489 /* EQNNotificationService.appex */,
+ 8CF12CD121DE49B600613AC5 /* EQNNotificationContent.appex */,
+ );
+ name = Products;
+ sourceTree = "";
+ };
+ 8CBD3DC42149B9AD0070C963 /* Earthquake Network */ = {
+ isa = PBXGroup;
+ children = (
+ 8C483CAF21FDA7DA00259FD2 /* Acquisti in App */,
+ 8C483CA421FBC06D00259FD2 /* alerta_japanese.m4r */,
+ 8CF12CC721DE43A400613AC5 /* alert_star_trek.wav */,
+ 8C483CA821FBC1E800259FD2 /* alerta_mexico.m4r */,
+ 8C5EA22E217645C8002DC156 /* ViewController */,
+ 8CF66054214C566A009F4314 /* Reachability.h */,
+ 8CF66056214C566A009F4314 /* Reachability.m */,
+ 8CF66057214C566B009F4314 /* ServerRequest.h */,
+ 8CF66055214C566A009F4314 /* ServerRequest.m */,
+ 8C7A3B65225A5EA40045B266 /* NSDictionary+BVJSONString.h */,
+ 8C7A3B64225A5EA30045B266 /* NSDictionary+BVJSONString.m */,
+ 8CF66050214C0F7F009F4314 /* Costanti.h */,
+ 8CF66049214C09E0009F4314 /* model */,
+ 8CBD3DDE2149BA300070C963 /* Earthquake Network.entitlements */,
+ 8CBD3DC52149B9AD0070C963 /* AppDelegate.h */,
+ 8CBD3DC62149B9AD0070C963 /* AppDelegate.m */,
+ 8C10B0C42282360900125C9F /* Info.plist */,
+ 8CBD3DCB2149B9AD0070C963 /* Main.storyboard */,
+ 8CBD3DD12149B9AD0070C963 /* Assets.xcassets */,
+ 8CBD3DD32149B9AD0070C963 /* LaunchScreen.storyboard */,
+ 8C6CBAE421597E79005C426A /* GoogleService-Info.plist */,
+ 8CBD3DD72149B9AD0070C963 /* main.m */,
+ 8CBD3DCE2149B9AD0070C963 /* Earthquake_Network.xcdatamodeld */,
+ 8C10B0BD2281FE7F00125C9F /* Localizable.strings */,
+ );
+ path = "Earthquake Network";
+ sourceTree = "";
+ };
+ 8CC2B44D214AC7F8002ED1B2 /* Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ 8C483CAD21FDA53B00259FD2 /* StoreKit.framework */,
+ 8C465D9721F6539700F04673 /* Earthquake Network.xcodeproj */,
+ 8C5EA22C21763102002DC156 /* MapKit.framework */,
+ 8CC2B44E214AC7F8002ED1B2 /* CoreMotion.framework */,
+ 51164624757711E06B0778D4 /* libPods-Earthquake Network.a */,
+ 8CF12CD221DE49B600613AC5 /* UserNotifications.framework */,
+ 8CF12CD421DE49B600613AC5 /* UserNotificationsUI.framework */,
+ );
+ name = Frameworks;
+ sourceTree = "";
+ };
+ 8CCE164521E69A9300173CD9 /* impostazioniNotifiche */ = {
+ isa = PBXGroup;
+ children = (
+ 8C5C0A6C21E51F3C000B5EFD /* ManuTableViewController.h */,
+ 8C5C0A6D21E51F3C000B5EFD /* ManuTableViewController.m */,
+ 8C7E945821E548A600B0B770 /* DettadliMenuTableViewController.h */,
+ 8C7E945921E548A600B0B770 /* DettadliMenuTableViewController.m */,
+ 8C149FA121E54E85002C44FD /* NotificheSismiTableViewController.h */,
+ 8C149FA221E54E85002C44FD /* NotificheSismiTableViewController.m */,
+ 8CCE164621E69AEC00173CD9 /* TempoRealeTableViewController.h */,
+ 8CCE164721E69AEC00173CD9 /* TempoRealeTableViewController.m */,
+ 8CCE165321EA378800173CD9 /* SegnalazioniUtentiTableViewController.h */,
+ 8CCE165421EA378800173CD9 /* SegnalazioniUtentiTableViewController.m */,
+ 8CCE165621EB1E0000173CD9 /* RetiSismicheTableViewController.h */,
+ 8CCE165721EB1E0000173CD9 /* RetiSismicheTableViewController.m */,
+ 8CCE165921EB7AD800173CD9 /* ListaEntiTableViewController.h */,
+ 8CCE165A21EB7AD800173CD9 /* ListaEntiTableViewController.m */,
+ 8CCE165C21EB9F2400173CD9 /* NotificheTsunamiTableViewController.h */,
+ 8CCE165D21EB9F2400173CD9 /* NotificheTsunamiTableViewController.m */,
+ 8CCE166221EBEFBD00173CD9 /* MessaggioInformativoTableViewController.h */,
+ 8CCE166321EBEFBD00173CD9 /* MessaggioInformativoTableViewController.m */,
+ 8C14112C21ED2FA300A59729 /* AreaInteresseTableViewController.h */,
+ 8C14112D21ED2FA300A59729 /* AreaInteresseTableViewController.m */,
+ 8C14112F21ED3E5B00A59729 /* AllertaSismiTableViewController.h */,
+ 8C14113021ED3E5B00A59729 /* AllertaSismiTableViewController.m */,
+ );
+ path = impostazioniNotifiche;
+ sourceTree = "";
+ };
+ 8CCE165221EA370200173CD9 /* impostazioni notifiche */ = {
+ isa = PBXGroup;
+ children = (
+ 8CCE164221E67F1300173CD9 /* EQNImpostazioniNotifiche.h */,
+ 8CCE164321E67F1300173CD9 /* EQNImpostazioniNotifiche.m */,
+ 8CCE164921E7BAB200173CD9 /* EQNNotificheTempoReale.h */,
+ 8CCE164A21E7BAB200173CD9 /* EQNNotificheTempoReale.m */,
+ 8CCE164C21E7BACE00173CD9 /* EQNNotificheSegnalazioniUtente.h */,
+ 8CCE164D21E7BACE00173CD9 /* EQNNotificheSegnalazioniUtente.m */,
+ 8CCE164F21E7BAEC00173CD9 /* EQNNotificeReteSismiche.h */,
+ 8CCE165021E7BAEC00173CD9 /* EQNNotificeReteSismiche.m */,
+ 8CCE165F21EBA37500173CD9 /* EQNNotificheTsunami.h */,
+ 8CCE166021EBA37500173CD9 /* EQNNotificheTsunami.m */,
+ 8C14113521EE502800A59729 /* EQNAllertaSismica.h */,
+ 8C14113621EE502800A59729 /* EQNAllertaSismica.m */,
+ );
+ path = "impostazioni notifiche";
+ sourceTree = "";
+ };
+ 8CD08632218AF5C80000CB5E /* cellTableView */ = {
+ isa = PBXGroup;
+ children = (
+ 8CD0862F218ADFCA0000CB5E /* Cell_Reti_sismicheTableViewCell.h */,
+ 8CD08630218ADFCA0000CB5E /* Cell_Reti_sismicheTableViewCell.m */,
+ 8CD0862C218A41930000CB5E /* CellDettagliMappaTableViewCell.h */,
+ 8CD0862D218A41930000CB5E /* CellDettagliMappaTableViewCell.m */,
+ 8CD08633218AF6030000CB5E /* Cell_Meteo_TableViewCell.h */,
+ 8CD08634218AF6030000CB5E /* Cell_Meteo_TableViewCell.m */,
+ );
+ path = cellTableView;
+ sourceTree = "";
+ };
+ 8CF05B4A218C41E60055012B /* inputView */ = {
+ isa = PBXGroup;
+ children = (
+ 8CF05B4D218C41FA0055012B /* PickerViewController.h */,
+ 8CF05B4B218C41F90055012B /* PickerViewController.m */,
+ 8CF05B4F218C41FA0055012B /* PickerViewController.xib */,
+ 8CF05B4C218C41F90055012B /* TBDInputViewControllerData.h */,
+ 8CF05B50218C41FB0055012B /* TBDInputViewControllerData.m */,
+ 8CF05B4E218C41FA0055012B /* TBDInputViewControllerData.xib */,
+ );
+ path = inputView;
+ sourceTree = "";
+ };
+ 8CF12CD621DE49B600613AC5 /* EQNNotificationContent */ = {
+ isa = PBXGroup;
+ children = (
+ 8CF12CD721DE49B600613AC5 /* NotificationViewController.h */,
+ 8CF12CD821DE49B600613AC5 /* NotificationViewController.m */,
+ 8CF12CDA21DE49B600613AC5 /* MainInterface.storyboard */,
+ 8CF12CDD21DE49B600613AC5 /* Info.plist */,
+ );
+ path = EQNNotificationContent;
+ sourceTree = "";
+ };
+ 8CF66049214C09E0009F4314 /* model */ = {
+ isa = PBXGroup;
+ children = (
+ 8CCE165221EA370200173CD9 /* impostazioni notifiche */,
+ 8C60224B218EDBF700C799C2 /* annotation */,
+ 8C8EBBA521540039002784BA /* EQNUser.h */,
+ 8C8EBBA621540039002784BA /* EQNUser.m */,
+ 8C4E343D215012FA008B0D2A /* EQNManager.h */,
+ 8C4E343E215012FA008B0D2A /* EQNManager.m */,
+ 8CF66051214C12DC009F4314 /* EQNMath.h */,
+ 8CF66052214C12DC009F4314 /* EQNMath.m */,
+ 8C4E34432152B707008B0D2A /* EQMAccelerometroManager.h */,
+ 8C4E34442152B707008B0D2A /* EQMAccelerometroManager.m */,
+ 8CF6604D214C0E58009F4314 /* EQNCalibrazione.h */,
+ 8CF6604E214C0E58009F4314 /* EQNCalibrazione.m */,
+ 8C4E34402152B5E8008B0D2A /* EQNRilevamento.h */,
+ 8C4E34412152B5E8008B0D2A /* EQNRilevamento.m */,
+ 8C4E34492152EE5B008B0D2A /* EQNGeneratoreURLServer.h */,
+ 8C4E344A2152EE5B008B0D2A /* EQNGeneratoreURLServer.m */,
+ 8CF4F4D0216D2C780057110B /* EQNReteSmartphone.h */,
+ 8CF4F4D1216D2C780057110B /* EQNReteSmartphone.m */,
+ 8CF4F4D3216D336B0057110B /* EQNDatoGrafico.h */,
+ 8CF4F4D4216D336B0057110B /* EQNDatoGrafico.m */,
+ 8CF4F4D6216D3A110057110B /* EQNAreaCheck.h */,
+ 8CF4F4D7216D3A110057110B /* EQNAreaCheck.m */,
+ 8CF4F4D9216D44930057110B /* EQNPastquakes.h */,
+ 8CF4F4DA216D44930057110B /* EQNPastquakes.m */,
+ 8C593E88217BA2470008B260 /* EQNSegnalazione.h */,
+ 8C593E89217BA2470008B260 /* EQNSegnalazione.m */,
+ 8CAFD7C321825E4A00F8BD29 /* EQNSisma.h */,
+ 8CAFD7C421825E4A00F8BD29 /* EQNSisma.m */,
+ 8CF05B55218C93BA0055012B /* EQNUtility.h */,
+ 8CF05B56218C93BA0055012B /* EQNUtility.m */,
+ 8CFA6321219A2C610099EB0E /* Tsunami.h */,
+ 8CFA6322219A2C610099EB0E /* Tsunami.m */,
+ 8C9B755D2233BFDE00F8FDEE /* FiltroEnti.h */,
+ 8C9B755E2233BFDE00F8FDEE /* FiltroEnti.m */,
+ );
+ path = model;
+ sourceTree = "";
+ };
+ A7982CE92BD5D51B8E2AA92F /* Pods */ = {
+ isa = PBXGroup;
+ children = (
+ C4FB0D7EEA34F8222369E1BB /* Pods-Earthquake Network.debug.xcconfig */,
+ 40CD2E5581CF2FA3D52F392D /* Pods-Earthquake Network.release.xcconfig */,
+ );
+ name = Pods;
+ sourceTree = "";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+ 8C4B0B7921CACE3F00AED489 /* EQNNotificationService */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 8C4B0B8321CACE3F00AED489 /* Build configuration list for PBXNativeTarget "EQNNotificationService" */;
+ buildPhases = (
+ 8C4B0B7621CACE3F00AED489 /* Sources */,
+ 8C4B0B7721CACE3F00AED489 /* Frameworks */,
+ 8C4B0B7821CACE3F00AED489 /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = EQNNotificationService;
+ productName = EQNNotificationService;
+ productReference = 8C4B0B7A21CACE3F00AED489 /* EQNNotificationService.appex */;
+ productType = "com.apple.product-type.app-extension";
+ };
+ 8CBD3DC12149B9AD0070C963 /* Earthquake Network */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 8CBD3DDB2149B9AD0070C963 /* Build configuration list for PBXNativeTarget "Earthquake Network" */;
+ buildPhases = (
+ 566F2B7433267D7429970520 /* [CP] Check Pods Manifest.lock */,
+ 8CBD3DBE2149B9AD0070C963 /* Sources */,
+ 8CBD3DBF2149B9AD0070C963 /* Frameworks */,
+ 8CBD3DC02149B9AD0070C963 /* Resources */,
+ 7E813A93FDCDA54E246F0BC7 /* [CP] Copy Pods Resources */,
+ 8CADAAA521B98C550044E256 /* Embed App Extensions */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ 8C4B0B8121CACE3F00AED489 /* PBXTargetDependency */,
+ 8CF12CDF21DE49B600613AC5 /* PBXTargetDependency */,
+ );
+ name = "Earthquake Network";
+ productName = "Earthquake Network";
+ productReference = 8CBD3DC22149B9AD0070C963 /* Earthquake Network.app */;
+ productType = "com.apple.product-type.application";
+ };
+ 8CF12CD021DE49B600613AC5 /* EQNNotificationContent */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 8CF12CE121DE49B600613AC5 /* Build configuration list for PBXNativeTarget "EQNNotificationContent" */;
+ buildPhases = (
+ 8CF12CCD21DE49B600613AC5 /* Sources */,
+ 8CF12CCE21DE49B600613AC5 /* Frameworks */,
+ 8CF12CCF21DE49B600613AC5 /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = EQNNotificationContent;
+ productName = EQNNotificationContent;
+ productReference = 8CF12CD121DE49B600613AC5 /* EQNNotificationContent.appex */;
+ productType = "com.apple.product-type.app-extension";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ 8CBD3DBA2149B9AD0070C963 /* Project object */ = {
+ isa = PBXProject;
+ attributes = {
+ LastUpgradeCheck = 1010;
+ ORGANIZATIONNAME = "Luca Beretta";
+ TargetAttributes = {
+ 8C4B0B7921CACE3F00AED489 = {
+ CreatedOnToolsVersion = 9.2;
+ LastSwiftMigration = 1010;
+ ProvisioningStyle = Automatic;
+ };
+ 8CBD3DC12149B9AD0070C963 = {
+ CreatedOnToolsVersion = 9.2;
+ LastSwiftMigration = 1010;
+ ProvisioningStyle = Automatic;
+ SystemCapabilities = {
+ com.apple.BackgroundModes = {
+ enabled = 1;
+ };
+ com.apple.InAppPurchase = {
+ enabled = 1;
+ };
+ com.apple.Push = {
+ enabled = 1;
+ };
+ };
+ };
+ 8CF12CD021DE49B600613AC5 = {
+ CreatedOnToolsVersion = 9.2;
+ LastSwiftMigration = 1010;
+ ProvisioningStyle = Automatic;
+ };
+ };
+ };
+ buildConfigurationList = 8CBD3DBD2149B9AD0070C963 /* Build configuration list for PBXProject "Earthquake Network" */;
+ compatibilityVersion = "Xcode 8.0";
+ developmentRegion = en;
+ hasScannedForEncodings = 0;
+ knownRegions = (
+ en,
+ Base,
+ it,
+ es,
+ );
+ mainGroup = 8CBD3DB92149B9AD0070C963;
+ productRefGroup = 8CBD3DC32149B9AD0070C963 /* Products */;
+ projectDirPath = "";
+ projectReferences = (
+ {
+ ProductGroup = 8C465D9821F6539700F04673 /* Products */;
+ ProjectRef = 8C465D9721F6539700F04673 /* Earthquake Network.xcodeproj */;
+ },
+ );
+ projectRoot = "";
+ targets = (
+ 8CBD3DC12149B9AD0070C963 /* Earthquake Network */,
+ 8C4B0B7921CACE3F00AED489 /* EQNNotificationService */,
+ 8CF12CD021DE49B600613AC5 /* EQNNotificationContent */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+ 8C4B0B7821CACE3F00AED489 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 8C483CA621FBC06D00259FD2 /* alerta_japanese.m4r in Resources */,
+ 8C10B0BA2281FE7F00125C9F /* Localizable.strings in Resources */,
+ 8C483CAA21FBC1E900259FD2 /* alerta_mexico.m4r in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 8CBD3DC02149B9AD0070C963 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 8CEAE3DD22114D1800AF948F /* faq.txt in Resources */,
+ 8C4DD4F9228237E000AE77ED /* InfoPlist.strings in Resources */,
+ 8CEAE3DE22114D1800AF948F /* disclaimer.txt in Resources */,
+ 8CF05B52218C41FB0055012B /* TBDInputViewControllerData.xib in Resources */,
+ 8CEAE3DB22114D1800AF948F /* privacy.txt in Resources */,
+ 8CF12CCA21DE43A500613AC5 /* alert_star_trek.wav in Resources */,
+ 8C483CA921FBC1E900259FD2 /* alerta_mexico.m4r in Resources */,
+ 8CBD3DD52149B9AD0070C963 /* LaunchScreen.storyboard in Resources */,
+ 8CEAE3DA22114D1800AF948F /* info.txt in Resources */,
+ 8C483CA521FBC06D00259FD2 /* alerta_japanese.m4r in Resources */,
+ 8CEAE3DC22114D1800AF948F /* author.txt in Resources */,
+ 8C10B0B92281FE7F00125C9F /* Localizable.strings in Resources */,
+ 8C6CBAE521597E79005C426A /* GoogleService-Info.plist in Resources */,
+ 8CBD3DD22149B9AD0070C963 /* Assets.xcassets in Resources */,
+ 8CF05B53218C41FB0055012B /* PickerViewController.xib in Resources */,
+ 8CBD3DCD2149B9AD0070C963 /* Main.storyboard in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 8CF12CCF21DE49B600613AC5 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 8CF12CDC21DE49B600613AC5 /* MainInterface.storyboard in Resources */,
+ 8C10B0BB2281FE7F00125C9F /* Localizable.strings in Resources */,
+ 8C483CA721FBC06D00259FD2 /* alerta_japanese.m4r in Resources */,
+ 8C483CAB21FBC1E900259FD2 /* alerta_mexico.m4r in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXShellScriptBuildPhase section */
+ 566F2B7433267D7429970520 /* [CP] Check Pods Manifest.lock */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
+ "${PODS_ROOT}/Manifest.lock",
+ );
+ name = "[CP] Check Pods Manifest.lock";
+ outputPaths = (
+ "$(DERIVED_FILE_DIR)/Pods-Earthquake Network-checkManifestLockResult.txt",
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
+ showEnvVarsInLog = 0;
+ };
+ 7E813A93FDCDA54E246F0BC7 /* [CP] Copy Pods Resources */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ "${SRCROOT}/Pods/Target Support Files/Pods-Earthquake Network/Pods-Earthquake Network-resources.sh",
+ "${PODS_ROOT}/GoogleMaps/Maps/Frameworks/GoogleMaps.framework/Resources/GoogleMaps.bundle",
+ "${PODS_ROOT}/GooglePlaces/Frameworks/GooglePlaces.framework/Resources/GooglePlaces.bundle",
+ );
+ name = "[CP] Copy Pods Resources";
+ outputPaths = (
+ "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/GoogleMaps.bundle",
+ "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/GooglePlaces.bundle",
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Earthquake Network/Pods-Earthquake Network-resources.sh\"\n";
+ showEnvVarsInLog = 0;
+ };
+/* End PBXShellScriptBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ 8C4B0B7621CACE3F00AED489 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 8C483CCE21FDB52500259FD2 /* MasterViewController1.swift in Sources */,
+ 8C483CB921FDACD300259FD2 /* IAPHelper.swift in Sources */,
+ 8C483C9D21FA68B300259FD2 /* alert_star_trek.wav in Sources */,
+ 8C483C9A21FA664000259FD2 /* EQNAllertaSismica.m in Sources */,
+ 8C483CC121FDACEE00259FD2 /* DetailViewController.swift in Sources */,
+ 8C483CBD21FDACE500259FD2 /* VersioneProProducts.swift in Sources */,
+ 8C483CC521FDACF400259FD2 /* ProductCell.swift in Sources */,
+ 8C4B0B7E21CACE3F00AED489 /* NotificationService.m in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 8CBD3DBE2149B9AD0070C963 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 8CF05B54218C41FB0055012B /* TBDInputViewControllerData.m in Sources */,
+ 8CCE166121EBA37500173CD9 /* EQNNotificheTsunami.m in Sources */,
+ 8C483CCD21FDB52500259FD2 /* MasterViewController1.swift in Sources */,
+ 8C5EA23121764816002DC156 /* PrioritaViewController.m in Sources */,
+ 8CCE165121E7BAEC00173CD9 /* EQNNotificeReteSismiche.m in Sources */,
+ 8C13E84B220B2E7E0009CFE4 /* MenuSelezioneEntiViewController.m in Sources */,
+ 8CF4F4DB216D44930057110B /* EQNPastquakes.m in Sources */,
+ 8CCE165821EB1E0000173CD9 /* RetiSismicheTableViewController.m in Sources */,
+ 8CCE165521EA378800173CD9 /* SegnalazioniUtentiTableViewController.m in Sources */,
+ 8C483CC021FDACEE00259FD2 /* DetailViewController.swift in Sources */,
+ 8CFA6323219A2C610099EB0E /* Tsunami.m in Sources */,
+ 8CCE164E21E7BACE00173CD9 /* EQNNotificheSegnalazioniUtente.m in Sources */,
+ 8C4E343F215012FA008B0D2A /* EQNManager.m in Sources */,
+ 8CCE165E21EB9F2400173CD9 /* NotificheTsunamiTableViewController.m in Sources */,
+ 8C7E945A21E548A600B0B770 /* DettadliMenuTableViewController.m in Sources */,
+ 8CABD7212194B7C700C3E09C /* ImpostazioniViewController.m in Sources */,
+ 8CFA63202197F9C10099EB0E /* TsunamiViewController.m in Sources */,
+ 8CCE164421E67F1300173CD9 /* EQNImpostazioniNotifiche.m in Sources */,
+ 8C14113721EE502800A59729 /* EQNAllertaSismica.m in Sources */,
+ 8CECF64B2214A22300E01A6D /* AbbonamentiViewController.swift in Sources */,
+ 8C483CC421FDACF400259FD2 /* ProductCell.swift in Sources */,
+ 8CEAE3D42211482E00AF948F /* InformazioniViewController.m in Sources */,
+ 8C483CBC21FDACE500259FD2 /* VersioneProProducts.swift in Sources */,
+ 8C483CB821FDACD300259FD2 /* IAPHelper.swift in Sources */,
+ 8C4E344B2152EE5B008B0D2A /* EQNGeneratoreURLServer.m in Sources */,
+ 8CCE164821E69AEC00173CD9 /* TempoRealeTableViewController.m in Sources */,
+ 8CF4F4D5216D336B0057110B /* EQNDatoGrafico.m in Sources */,
+ 8CF66058214C566B009F4314 /* ServerRequest.m in Sources */,
+ 8CD08638218B3BEE0000CB5E /* ReteSismicaAnnotation.m in Sources */,
+ 8CD0862E218A41930000CB5E /* CellDettagliMappaTableViewCell.m in Sources */,
+ 8CBD3DD02149B9AD0070C963 /* Earthquake_Network.xcdatamodeld in Sources */,
+ 8C9B755F2233BFDE00F8FDEE /* FiltroEnti.m in Sources */,
+ 8CF66059214C566B009F4314 /* Reachability.m in Sources */,
+ 8C593E8A217BA2470008B260 /* EQNSegnalazione.m in Sources */,
+ 8C14112E21ED2FA300A59729 /* AreaInteresseTableViewController.m in Sources */,
+ 8C29EAFB2258A4DD00FD90A9 /* DettagliAbbonamentoViewController.swift in Sources */,
+ 8CBD3DCA2149B9AD0070C963 /* ReteSmartphone.m in Sources */,
+ 8C13E84F220B89360009CFE4 /* ElencoFiltroEntiTableViewController.m in Sources */,
+ 8CFA6326219A41590099EB0E /* DettagliTsunamiViewController.m in Sources */,
+ 8CAFD7C521825E4A00F8BD29 /* EQNSisma.m in Sources */,
+ 8CF6604F214C0E58009F4314 /* EQNCalibrazione.m in Sources */,
+ 8C2B25142193927E00E0E25E /* ReteSismiDettagliMappa.m in Sources */,
+ 8CF05B51218C41FB0055012B /* PickerViewController.m in Sources */,
+ 8CF4F4DE2175352E0057110B /* WaitViewController.m in Sources */,
+ 8CD08635218AF6030000CB5E /* Cell_Meteo_TableViewCell.m in Sources */,
+ 8C149FA321E54E85002C44FD /* NotificheSismiTableViewController.m in Sources */,
+ 8CD08631218ADFCA0000CB5E /* Cell_Reti_sismicheTableViewCell.m in Sources */,
+ 8C2B251121938BFD00E0E25E /* SegnalazioniUtenteDettagliMappa.m in Sources */,
+ 8C5EA23A2177B3ED002DC156 /* MasterViewController.m in Sources */,
+ 8C14113121ED3E5B00A59729 /* AllertaSismiTableViewController.m in Sources */,
+ 8CCE164B21E7BAB200173CD9 /* EQNNotificheTempoReale.m in Sources */,
+ 8CEAE4D92163E23E001A42B9 /* SWRevealViewController.m in Sources */,
+ 8CF4F4D2216D2C780057110B /* EQNReteSmartphone.m in Sources */,
+ 8CBD3DD82149B9AD0070C963 /* main.m in Sources */,
+ 8CF05B57218C93BA0055012B /* EQNUtility.m in Sources */,
+ 8C4E34422152B5E8008B0D2A /* EQNRilevamento.m in Sources */,
+ 8C7A3B66225A5EA40045B266 /* NSDictionary+BVJSONString.m in Sources */,
+ 8CF66053214C12DC009F4314 /* EQNMath.m in Sources */,
+ 8C60224A218EDBE200C799C2 /* PastquakesAnnotation.m in Sources */,
+ 8C5EA2342176820B002DC156 /* VersionePROViewController.m in Sources */,
+ 8CC1B15A217CB09100F22178 /* DettagliMappaViewController.m in Sources */,
+ 8C5EA23D2177B51C002DC156 /* SegnalazioniViewController.m in Sources */,
+ 8CF4F4D8216D3A110057110B /* EQNAreaCheck.m in Sources */,
+ 8C4E34452152B707008B0D2A /* EQMAccelerometroManager.m in Sources */,
+ 8C9B755C2233A25100F8FDEE /* MenuFiltroEntiViewController.m in Sources */,
+ 8CBD3DC72149B9AD0070C963 /* AppDelegate.m in Sources */,
+ 8CCE165B21EB7AD800173CD9 /* ListaEntiTableViewController.m in Sources */,
+ 8CA46BA12194532E00C63C16 /* SismaAnnotation.m in Sources */,
+ 8C602246218D9DB200C799C2 /* PastquakesDettagliMappa.m in Sources */,
+ 8CAFD7C82182648600F8BD29 /* EQNRetiSismiViewController.m in Sources */,
+ 8CEAE3E0221214F700AF948F /* AcquistiProViewController.swift in Sources */,
+ 8C8EBBA721540039002784BA /* EQNUser.m in Sources */,
+ 8CADAA9421B2627D0044E256 /* LogViewController.m in Sources */,
+ 8CCE166421EBEFBD00173CD9 /* MessaggioInformativoTableViewController.m in Sources */,
+ 8C5C0A6E21E51F3C000B5EFD /* ManuTableViewController.m in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 8CF12CCD21DE49B600613AC5 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 8C7CD64821F7D0F800835812 /* ReteSismicaAnnotation.m in Sources */,
+ 8C465D9F21F7BE0600F04673 /* Assets.xcassets in Sources */,
+ 8C465D9E21F7BD8700F04673 /* PastquakesAnnotation.m in Sources */,
+ 8C483CBA21FDACD300259FD2 /* IAPHelper.swift in Sources */,
+ 8C483CBE21FDACE500259FD2 /* VersioneProProducts.swift in Sources */,
+ 8C483CCF21FDB52500259FD2 /* MasterViewController1.swift in Sources */,
+ 8C483CC621FDACF400259FD2 /* ProductCell.swift in Sources */,
+ 8CF12CD921DE49B600613AC5 /* NotificationViewController.m in Sources */,
+ 8C483CC221FDACEE00259FD2 /* DetailViewController.swift in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXTargetDependency section */
+ 8C4B0B8121CACE3F00AED489 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = 8C4B0B7921CACE3F00AED489 /* EQNNotificationService */;
+ targetProxy = 8C4B0B8021CACE3F00AED489 /* PBXContainerItemProxy */;
+ };
+ 8CF12CDF21DE49B600613AC5 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = 8CF12CD021DE49B600613AC5 /* EQNNotificationContent */;
+ targetProxy = 8CF12CDE21DE49B600613AC5 /* PBXContainerItemProxy */;
+ };
+/* End PBXTargetDependency section */
+
+/* Begin PBXVariantGroup section */
+ 8C10B0BD2281FE7F00125C9F /* Localizable.strings */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 8C10B0BC2281FE7F00125C9F /* it */,
+ 8C10B0BE2281FE9E00125C9F /* en */,
+ 8C10B0BF2281FEA000125C9F /* es */,
+ );
+ name = Localizable.strings;
+ sourceTree = "";
+ };
+ 8C4DD4FB228237E000AE77ED /* InfoPlist.strings */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 8C4DD4FA228237E000AE77ED /* en */,
+ 8C4DD4FC228237E200AE77ED /* it */,
+ 8C4DD4FD228237E400AE77ED /* es */,
+ );
+ name = InfoPlist.strings;
+ sourceTree = "";
+ };
+ 8CBD3DCB2149B9AD0070C963 /* Main.storyboard */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 8CBD3DCC2149B9AD0070C963 /* Base */,
+ 8C10B0AF2281FBE800125C9F /* it */,
+ 8C10B0B22281FD6900125C9F /* es */,
+ );
+ name = Main.storyboard;
+ sourceTree = "";
+ };
+ 8CBD3DD32149B9AD0070C963 /* LaunchScreen.storyboard */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 8CBD3DD42149B9AD0070C963 /* Base */,
+ 8C10B0B02281FBE800125C9F /* it */,
+ 8C10B0B32281FD6A00125C9F /* es */,
+ );
+ name = LaunchScreen.storyboard;
+ sourceTree = "";
+ };
+ 8CF12CDA21DE49B600613AC5 /* MainInterface.storyboard */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 8CF12CDB21DE49B600613AC5 /* Base */,
+ 8C10B0B12281FBE800125C9F /* it */,
+ 8C10B0B42281FD6B00125C9F /* es */,
+ );
+ name = MainInterface.storyboard;
+ sourceTree = "";
+ };
+/* End PBXVariantGroup section */
+
+/* Begin XCBuildConfiguration section */
+ 8C4B0B8421CACE3F00AED489 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ CLANG_ENABLE_MODULES = YES;
+ CODE_SIGN_STYLE = Automatic;
+ DEVELOPMENT_TEAM = WJA4MR4CPC;
+ INFOPLIST_FILE = EQNNotificationService/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 11.2;
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = com.finazzi.distquake.EQNNotificationService;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SKIP_INSTALL = YES;
+ SWIFT_OBJC_BRIDGING_HEADER = "Earthquake Network/Acquisti in App/EQNNotificationService-Bridging-Header.h";
+ SWIFT_OPTIMIZATION_LEVEL = "-Onone";
+ SWIFT_VERSION = 4.2;
+ TARGETED_DEVICE_FAMILY = 1;
+ };
+ name = Debug;
+ };
+ 8C4B0B8521CACE3F00AED489 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ CLANG_ENABLE_MODULES = YES;
+ CODE_SIGN_STYLE = Automatic;
+ DEVELOPMENT_TEAM = WJA4MR4CPC;
+ INFOPLIST_FILE = EQNNotificationService/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 11.2;
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = com.finazzi.distquake.EQNNotificationService;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SKIP_INSTALL = YES;
+ SWIFT_OBJC_BRIDGING_HEADER = "Earthquake Network/Acquisti in App/EQNNotificationService-Bridging-Header.h";
+ SWIFT_VERSION = 4.2;
+ TARGETED_DEVICE_FAMILY = 1;
+ };
+ name = Release;
+ };
+ 8CBD3DD92149B9AD0070C963 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ 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_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_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";
+ COPY_PHASE_STRIP = NO;
+ DEBUG_INFORMATION_FORMAT = dwarf;
+ 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 = 11.2;
+ MTL_ENABLE_DEBUG_INFO = YES;
+ ONLY_ACTIVE_ARCH = YES;
+ SDKROOT = iphoneos;
+ };
+ name = Debug;
+ };
+ 8CBD3DDA2149B9AD0070C963 /* Release */ = {
+ isa = XCBuildConfiguration;
+ 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_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_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";
+ COPY_PHASE_STRIP = NO;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ 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 = 11.2;
+ MTL_ENABLE_DEBUG_INFO = NO;
+ SDKROOT = iphoneos;
+ SWIFT_COMPILATION_MODE = wholemodule;
+ VALIDATE_PRODUCT = YES;
+ };
+ name = Release;
+ };
+ 8CBD3DDC2149B9AD0070C963 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = C4FB0D7EEA34F8222369E1BB /* Pods-Earthquake Network.debug.xcconfig */;
+ buildSettings = {
+ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+ CLANG_ENABLE_MODULES = YES;
+ CODE_SIGN_ENTITLEMENTS = "Earthquake Network/Earthquake Network.entitlements";
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+ CODE_SIGN_STYLE = Automatic;
+ DEFINES_MODULE = YES;
+ DEVELOPMENT_TEAM = WJA4MR4CPC;
+ INFOPLIST_FILE = "Earthquake Network/Info.plist";
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = com.finazzi.distquake;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ PROVISIONING_PROFILE = "";
+ PROVISIONING_PROFILE_SPECIFIER = "";
+ SWIFT_OBJC_BRIDGING_HEADER = "Earthquake Network/Acquisti in App/Earthquake Network-Bridging-Header.h";
+ SWIFT_OPTIMIZATION_LEVEL = "-Onone";
+ SWIFT_VERSION = 4.2;
+ TARGETED_DEVICE_FAMILY = 1;
+ };
+ name = Debug;
+ };
+ 8CBD3DDD2149B9AD0070C963 /* Release */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 40CD2E5581CF2FA3D52F392D /* Pods-Earthquake Network.release.xcconfig */;
+ buildSettings = {
+ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+ CLANG_ENABLE_MODULES = YES;
+ CODE_SIGN_ENTITLEMENTS = "Earthquake Network/Earthquake Network.entitlements";
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+ CODE_SIGN_STYLE = Automatic;
+ DEFINES_MODULE = YES;
+ DEVELOPMENT_TEAM = WJA4MR4CPC;
+ INFOPLIST_FILE = "Earthquake Network/Info.plist";
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = com.finazzi.distquake;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ PROVISIONING_PROFILE = "";
+ PROVISIONING_PROFILE_SPECIFIER = "";
+ SWIFT_OBJC_BRIDGING_HEADER = "Earthquake Network/Acquisti in App/Earthquake Network-Bridging-Header.h";
+ SWIFT_VERSION = 4.2;
+ TARGETED_DEVICE_FAMILY = 1;
+ };
+ name = Release;
+ };
+ 8CF12CE221DE49B600613AC5 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ CLANG_ENABLE_MODULES = YES;
+ CODE_SIGN_STYLE = Automatic;
+ DEVELOPMENT_TEAM = WJA4MR4CPC;
+ INFOPLIST_FILE = EQNNotificationContent/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 11.2;
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = com.finazzi.distquake.EQNNotificationContent;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SKIP_INSTALL = YES;
+ SWIFT_OBJC_BRIDGING_HEADER = "Earthquake Network/Acquisti in App/EQNNotificationContent-Bridging-Header.h";
+ SWIFT_OPTIMIZATION_LEVEL = "-Onone";
+ SWIFT_VERSION = 4.2;
+ TARGETED_DEVICE_FAMILY = 1;
+ };
+ name = Debug;
+ };
+ 8CF12CE321DE49B600613AC5 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ CLANG_ENABLE_MODULES = YES;
+ CODE_SIGN_STYLE = Automatic;
+ DEVELOPMENT_TEAM = WJA4MR4CPC;
+ INFOPLIST_FILE = EQNNotificationContent/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 11.2;
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = com.finazzi.distquake.EQNNotificationContent;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SKIP_INSTALL = YES;
+ SWIFT_OBJC_BRIDGING_HEADER = "Earthquake Network/Acquisti in App/EQNNotificationContent-Bridging-Header.h";
+ SWIFT_VERSION = 4.2;
+ TARGETED_DEVICE_FAMILY = 1;
+ };
+ name = Release;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ 8C4B0B8321CACE3F00AED489 /* Build configuration list for PBXNativeTarget "EQNNotificationService" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 8C4B0B8421CACE3F00AED489 /* Debug */,
+ 8C4B0B8521CACE3F00AED489 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 8CBD3DBD2149B9AD0070C963 /* Build configuration list for PBXProject "Earthquake Network" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 8CBD3DD92149B9AD0070C963 /* Debug */,
+ 8CBD3DDA2149B9AD0070C963 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 8CBD3DDB2149B9AD0070C963 /* Build configuration list for PBXNativeTarget "Earthquake Network" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 8CBD3DDC2149B9AD0070C963 /* Debug */,
+ 8CBD3DDD2149B9AD0070C963 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 8CF12CE121DE49B600613AC5 /* Build configuration list for PBXNativeTarget "EQNNotificationContent" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 8CF12CE221DE49B600613AC5 /* Debug */,
+ 8CF12CE321DE49B600613AC5 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+
+/* Begin XCVersionGroup section */
+ 8CBD3DCE2149B9AD0070C963 /* Earthquake_Network.xcdatamodeld */ = {
+ isa = XCVersionGroup;
+ children = (
+ 8CBD3DCF2149B9AD0070C963 /* Earthquake_Network.xcdatamodel */,
+ );
+ currentVersion = 8CBD3DCF2149B9AD0070C963 /* Earthquake_Network.xcdatamodel */;
+ path = Earthquake_Network.xcdatamodeld;
+ sourceTree = "";
+ versionGroupType = wrapper.xcdatamodel;
+ };
+/* End XCVersionGroup section */
+ };
+ rootObject = 8CBD3DBA2149B9AD0070C963 /* Project object */;
+}
diff --git a/Sources/Earthquake Network.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Sources/Earthquake Network.xcodeproj/project.xcworkspace/contents.xcworkspacedata
new file mode 100644
index 0000000..cd91c11
--- /dev/null
+++ b/Sources/Earthquake Network.xcodeproj/project.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,7 @@
+
+
+
+
+
diff --git a/Sources/Earthquake Network.xcodeproj/project.xcworkspace/xcuserdata/lucaberetta.xcuserdatad/UserInterfaceState.xcuserstate b/Sources/Earthquake Network.xcodeproj/project.xcworkspace/xcuserdata/lucaberetta.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 0000000..aedc477
Binary files /dev/null and b/Sources/Earthquake Network.xcodeproj/project.xcworkspace/xcuserdata/lucaberetta.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/Sources/Earthquake Network.xcodeproj/xcuserdata/lucaberetta.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/Sources/Earthquake Network.xcodeproj/xcuserdata/lucaberetta.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
new file mode 100644
index 0000000..fe2b454
--- /dev/null
+++ b/Sources/Earthquake Network.xcodeproj/xcuserdata/lucaberetta.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
@@ -0,0 +1,5 @@
+
+
+
diff --git a/Sources/Earthquake Network.xcodeproj/xcuserdata/lucaberetta.xcuserdatad/xcschemes/Earthquake Network.xcscheme b/Sources/Earthquake Network.xcodeproj/xcuserdata/lucaberetta.xcuserdatad/xcschemes/Earthquake Network.xcscheme
new file mode 100644
index 0000000..4e322a9
--- /dev/null
+++ b/Sources/Earthquake Network.xcodeproj/xcuserdata/lucaberetta.xcuserdatad/xcschemes/Earthquake Network.xcscheme
@@ -0,0 +1,92 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Sources/Earthquake Network.xcodeproj/xcuserdata/lucaberetta.xcuserdatad/xcschemes/xcschememanagement.plist b/Sources/Earthquake Network.xcodeproj/xcuserdata/lucaberetta.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 0000000..258ff1b
--- /dev/null
+++ b/Sources/Earthquake Network.xcodeproj/xcuserdata/lucaberetta.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,47 @@
+
+
+
+
+ SchemeUserState
+
+ EQNNotificationContent.xcscheme
+
+ orderHint
+ 6
+
+ EQNNotificationContent.xcscheme_^#shared#^_
+
+ orderHint
+ 6
+
+ EQNNotificationService.xcscheme
+
+ orderHint
+ 5
+
+ EQNNotificationService.xcscheme_^#shared#^_
+
+ orderHint
+ 5
+
+ Earthquake Network.xcscheme
+
+ orderHint
+ 0
+
+ NotificationService.xcscheme
+
+ orderHint
+ 5
+
+
+ SuppressBuildableAutocreation
+
+ 8CBD3DC12149B9AD0070C963
+
+ primary
+
+
+
+
+
diff --git a/Sources/Earthquake Network.xcworkspace/contents.xcworkspacedata b/Sources/Earthquake Network.xcworkspace/contents.xcworkspacedata
new file mode 100644
index 0000000..e32c9a5
--- /dev/null
+++ b/Sources/Earthquake Network.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
diff --git a/Sources/Earthquake Network.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Sources/Earthquake Network.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
new file mode 100644
index 0000000..18d9810
--- /dev/null
+++ b/Sources/Earthquake Network.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
@@ -0,0 +1,8 @@
+
+
+
+
+ IDEDidComputeMac32BitWarning
+
+
+
diff --git a/Sources/Earthquake Network.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/Sources/Earthquake Network.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
new file mode 100644
index 0000000..0c67376
--- /dev/null
+++ b/Sources/Earthquake Network.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/Sources/Earthquake Network.xcworkspace/xcuserdata/lucaberetta.xcuserdatad/UserInterfaceState.xcuserstate b/Sources/Earthquake Network.xcworkspace/xcuserdata/lucaberetta.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 0000000..a915eac
Binary files /dev/null and b/Sources/Earthquake Network.xcworkspace/xcuserdata/lucaberetta.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/Sources/Earthquake Network.xcworkspace/xcuserdata/lucaberetta.xcuserdatad/WorkspaceSettings.xcsettings b/Sources/Earthquake Network.xcworkspace/xcuserdata/lucaberetta.xcuserdatad/WorkspaceSettings.xcsettings
new file mode 100644
index 0000000..f25782d
--- /dev/null
+++ b/Sources/Earthquake Network.xcworkspace/xcuserdata/lucaberetta.xcuserdatad/WorkspaceSettings.xcsettings
@@ -0,0 +1,18 @@
+
+
+
+
+ BuildLocationStyle
+ UseAppPreferences
+ CustomBuildLocationType
+ RelativeToDerivedData
+ DerivedDataLocationStyle
+ Default
+ EnabledFullIndexStoreVisibility
+
+ IssueFilterStyle
+ ShowActiveSchemeOnly
+ LiveSourceIssuesEnabled
+
+
+
diff --git a/Sources/Earthquake Network.xcworkspace/xcuserdata/lucaberetta.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/Sources/Earthquake Network.xcworkspace/xcuserdata/lucaberetta.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
new file mode 100644
index 0000000..92c17ec
--- /dev/null
+++ b/Sources/Earthquake Network.xcworkspace/xcuserdata/lucaberetta.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
@@ -0,0 +1,87 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Sources/Earthquake Network/Acquisti in App/AbbonamentiViewController.swift b/Sources/Earthquake Network/Acquisti in App/AbbonamentiViewController.swift
new file mode 100644
index 0000000..f3fdd27
--- /dev/null
+++ b/Sources/Earthquake Network/Acquisti in App/AbbonamentiViewController.swift
@@ -0,0 +1,339 @@
+//
+// AbbonamentiViewController.swift
+// Earthquake Network
+//
+// Created by Luca Beretta on 13/02/2019.
+// Copyright © 2019 Luca Beretta. All rights reserved.
+//
+
+import UIKit
+import StoreKit
+
+class AbbonamentiViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {
+
+ @IBOutlet weak var actionView: UIActivityIndicatorView!
+ @IBOutlet weak var tableView: UITableView!
+
+ @IBOutlet weak var tiolo: UILabel!
+ @IBOutlet weak var dettaglioAcquisto: UITextView!
+
+ @IBOutlet weak var immagine: UIImageView!
+ @IBOutlet weak var descrizione: UILabel!
+ // var products: [SKProduct] = []
+ var productsMensile: [SKProduct] = []
+ var productsAnnuale: [SKProduct] = []
+ var anProdotto: SKProduct!
+ var isAcquisto = false
+ override func viewDidLoad() {
+ super.viewDidLoad()
+
+ let restoreButton = UIBarButtonItem(title: "Restore",
+ style: .plain,
+ target: self,
+ action: #selector(MasterViewController1.restoreTapped(_:)))
+ navigationItem.rightBarButtonItem = restoreButton
+
+ NotificationCenter.default.addObserver(self, selector: #selector(handlePurchaseNotification(_:)),
+ name: .IAPHelperPurchaseNotification,
+ object: nil)
+
+ NotificationCenter.default.addObserver(self, selector: #selector(fail(_:)),
+ name: .IAPHelperPurchaseNotificationFail,
+ object: nil)
+ // Do any additional setup after loading the view.
+ }
+ override func viewDidAppear(_ animated: Bool) {
+ super.viewDidAppear(animated)
+
+ reload()
+ }
+
+ func aggirnaView(){
+
+ if self.isAcquisto {
+
+ self.immagine.isHidden = false
+ self.tableView.isHidden = true
+ self.tiolo.textColor = UIColor.black
+ self.dettaglioAcquisto.isHidden = false
+
+ if let prodotto = anProdotto{
+
+ if VersioneProProducts.store.isProductPurchased(prodotto.productIdentifier) {
+
+
+ descrizione.isHidden = true
+ switch prodotto.productIdentifier{
+
+ case "com.finazzi.distquake.Abbonamento10k.annualeAutomatico", "com.finazzi.distquake.Abbonamento10k.annualeAutomaticoScontato":
+
+ immagine.image = UIImage.init(named: "top_10k")
+ self.descrizione.text = NSLocalizedString("Sei abbonato: priorità 10000 persone, rinnovo annuale ", comment: "")
+
+
+ break
+ case "com.finazzi.distquake.Abbonamento10k.mensileAutomatico" :
+
+ immagine.image = UIImage.init(named: "top_10k")
+ self.tiolo.text = NSLocalizedString("Sei abbonato: priorità 10000 persone, rinnovo mensile ", comment: "")
+
+ break
+
+ case "com.finazzi.distquake.Abbonamento100k.annualeAutomatico",
+ "com.finazzi.distquake.Abbonamento100k.annualeAutomaticoscontato":
+
+ immagine.image = UIImage.init(named: "top_100k")
+ self.tiolo.text = NSLocalizedString("Sei abbonato: priorità 100000 persone, rinnovo annuale ", comment: "")
+
+
+ break
+ case "com.finazzi.distquake.Abbonamento100k.mensileAutomatico" :
+
+ immagine.image = UIImage.init(named: "top_100k")
+ self.tiolo.text = NSLocalizedString("Sei abbonato: priorità 100000 persone, rinnovo mensile ", comment: "")
+
+
+ break
+
+ default:
+
+ break
+
+ }
+
+ self.dettaglioAcquisto.text = NSLocalizedString("• L'abbonamento si rinnova automaticamente a meno che il rinnovo automatico non venga disattivato almeno 24 ore prima della fine del periodo corrente\n\n• L'abbonamento verrà addebitato per il rinnovo entro 24 ore prima della fine del periodo corrente e identificato il costo del rinnovo\n\n• Le sottoscrizioni possono essere gestite dall'utente e il rinnovo automatico può essere disattivato accedendo alle Impostazioni account dell'utente dopo l'acquisto.\n\n", comment: "")
+
+ }
+
+ } else {
+
+ self.immagine.isHidden = true
+ self.tableView.isHidden = false
+ self.tiolo.textColor = UIColor.red
+ self.tiolo.text = NSLocalizedString("Nessuna sottoscrizione attiva. Nella lista delle persone da allertare ", comment: "")
+ self.descrizione.isHidden = false
+ self.dettaglioAcquisto.isHidden = true
+
+ }
+ }
+
+ }
+
+ @objc func reload() {
+ productsMensile = []
+ productsAnnuale = []
+
+ tableView.reloadData()
+ VersioneProProducts.store.requestProducts{ [weak self] success, products in
+ guard let self = self else { return }
+ if success {
+ for prodoct in products!{
+
+ if VersioneProProducts.store.isProductPurchased(prodoct.productIdentifier) {
+
+ self.isAcquisto = true
+ self.anProdotto = prodoct
+ self.aggirnaView()
+
+ }else{
+ if self.checkDiscount() {
+
+ if prodoct.productIdentifier == "com.finazzi.distquake.Abbonamento10k.mensileAutomatico" ||
+ prodoct.productIdentifier == "com.finazzi.distquake.Abbonamento100k.mensileAutomatico" {
+ self.productsMensile.append(prodoct)
+
+ } else if prodoct.productIdentifier == "com.finazzi.distquake.Abbonamento10k.annualeAutomaticoScontato" ||
+ prodoct.productIdentifier == "com.finazzi.distquake.Abbonamento100k.annualeAutomaticoscontato"
+
+ {
+
+ self.productsAnnuale.append(prodoct)
+
+ }
+ }else{
+
+ if prodoct.productIdentifier == "com.finazzi.distquake.Abbonamento10k.mensileAutomatico" ||
+ prodoct.productIdentifier == "com.finazzi.distquake.Abbonamento100k.mensileAutomatico"{
+ self.productsMensile.append(prodoct)
+
+ }
+ else if
+ prodoct.productIdentifier == "com.finazzi.distquake.Abbonamento10k.annualeAutomatico" ||
+ prodoct.productIdentifier == "com.finazzi.distquake.Abbonamento100k.annualeAutomatico"
+ {
+
+ self.productsAnnuale.append(prodoct)
+
+ }
+
+ }
+
+ }
+ }
+
+ self.actionView.stopAnimating()
+ self.tableView.reloadData()
+ }
+
+ }
+ }
+
+ @objc func restoreTapped(_ sender: AnyObject) {
+
+ self.actionView.startAnimating()
+
+ VersioneProProducts.store.restorePurchases()
+ }
+
+ @objc func fail(_ notification: Notification){
+
+ self.actionView.stopAnimating()
+
+ }
+
+ @objc func handlePurchaseNotification(_ notification: Notification) {
+
+ /*guard
+ let productID = notification.object as? String,
+ let index = products.index(where: { product -> Bool in
+ product.productIdentifier == productID
+
+ })
+ else { return }*/
+
+ reload()
+
+ // tableView.reloadRows(at: [IndexPath(row: index, section: 0)], with: .fade)
+ self.tableView.reloadData()
+
+ }
+
+ func checkDiscount() -> Bool {
+
+ var minute = 0;
+ let i = UserDefaults.standard.integer(forKey:CONTEGGIO_APERTURE_PER_SCONTO)
+ if let date = UserDefaults.standard.object(forKey:DATA_APERTURE_PER_SCONTO){
+
+ minute = EQNUtility.getDifferenceMinute(date as? Date)
+ }
+ if (i >= 15 && minute <= TEMPO_APERTURE_PER_SCONTO){
+ return true
+ }
+ else{
+ return false;
+ }
+
+ }
+
+
+
+ // MARK: - Navigation
+
+ // In a storyboard-based application, you will often want to do a little preparation before navigation
+ override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
+ // Get the new view controller using segue.destination.
+ // Pass the selected object to the new view controller.
+ if segue.identifier == "dettagliAbbonamento"{
+
+ let prodotto = sender as! SKProduct
+
+ let dettagli = segue.destination as! DettagliAbbonamentoViewController
+ dettagli.prodotto = prodotto
+
+ }
+ }
+
+
+}
+
+// MARK: - UITableViewDataSource
+
+extension AbbonamentiViewController {
+
+ func numberOfSections(in tableView: UITableView) -> Int {
+
+ return 2
+ }
+
+
+ func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView?{
+
+ let headerView = tableView.dequeueReusableCell(withIdentifier: "sessione")
+ let titolo = headerView?.viewWithTag(1) as! UILabel
+ if section == 0 {
+
+ titolo.text = NSLocalizedString("Abbonamenti mensili", comment: "")
+ } else {
+
+ titolo.text = NSLocalizedString("Abbonamenti annuali", comment: "")
+ }
+ return headerView
+ }
+ func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat{
+
+ return 44
+ }
+
+ func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
+
+ if section == 0{
+ return productsMensile.count
+ }
+
+ return productsAnnuale.count
+
+ }
+
+ func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
+
+ return 174
+ }
+
+ func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
+
+ switch indexPath.section {
+ case 0:
+ let product = productsMensile[indexPath.row]
+ let cell = tableView.dequeueReusableCell(withIdentifier: "servizioPriorità", for: indexPath) as! ProductCell
+
+ cell.product = product
+ cell.buyButtonHandler = { product in
+ VersioneProProducts.store.buyProduct(product)
+ }
+
+ return cell
+
+ default:
+
+ let product = productsAnnuale[indexPath.row]
+
+ let cell = tableView.dequeueReusableCell(withIdentifier: "servizioPriorità", for: indexPath) as! ProductCell
+
+ cell.product = product
+ cell.buyButtonHandler = { product in
+ VersioneProProducts.store.buyProduct(product)
+ }
+
+ return cell
+ }
+
+
+ }
+
+ func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
+
+ var anProdotto : SKProduct!
+
+ switch indexPath.section {
+ case 0:
+ anProdotto = self.productsMensile[indexPath.row]
+ default:
+ anProdotto = self.productsAnnuale[indexPath.row]
+
+ }
+ performSegue(withIdentifier: "dettagliAbbonamento", sender: anProdotto)
+ }
+}
+
+
+
diff --git a/Sources/Earthquake Network/Acquisti in App/AcquistiProViewController.swift b/Sources/Earthquake Network/Acquisti in App/AcquistiProViewController.swift
new file mode 100644
index 0000000..4b21bcb
--- /dev/null
+++ b/Sources/Earthquake Network/Acquisti in App/AcquistiProViewController.swift
@@ -0,0 +1,164 @@
+//
+// AcquistiProViewController.swift
+// Earthquake Network
+//
+// Created by Luca Beretta on 11/02/2019.
+// Copyright © 2019 Luca Beretta. All rights reserved.
+//
+
+import UIKit
+
+class AcquistiProViewController: UIViewController {
+
+ @IBOutlet weak var prezzolabel: UILabel!
+ @IBOutlet weak var descrizioneOfferta: UITextView!
+ @IBOutlet weak var titoloSconto: UILabel!
+ @IBOutlet weak var pulsanteAcquista: UIButton!
+
+ var restorClicked = false
+
+ var products: [SKProduct] = []
+ var prodotto = SKProduct.init()
+
+ override func viewDidLoad() {
+ super.viewDidLoad()
+
+
+ // Do any additional setup after loading the view.
+ let viewNavigationBar = UIView.init(frame:CGRect(x: -18, y: 5, width: 150, height:44))
+ let imageLogo = UIImageView.init(frame:CGRect(x:-18,y: 5,width: 38,height: 38))
+
+ imageLogo.image = UIImage(named:"distquake_app_wave")
+ viewNavigationBar.addSubview(imageLogo)
+
+ let textForNavi = UILabel.init(frame:CGRect(x: 25, y: 5, width: 160, height:38))
+ textForNavi.text = NSLocalizedString("Rilevatore Terremoti", comment: "titolo navigation bar")
+ viewNavigationBar.addSubview(textForNavi)
+ // self.navigationItem.titleView = viewNavigationBar;
+
+ let restoreButton = UIBarButtonItem(title: "Restore",
+ style: .plain,
+ target: self,
+ action: #selector(AcquistiProViewController.restoreTapped(_:)))
+ navigationItem.rightBarButtonItem = restoreButton
+
+ NotificationCenter.default.addObserver(self, selector: #selector(handlePurchaseNotification(_:)),
+ name: .IAPHelperPurchaseNotification,
+ object: nil)
+ self.descrizioneOfferta.text = NSLocalizedString("Puoi convertire la tua app nella versione PRO senza doverla scariche dallo store. La versione PRO a notifiche e allerte tramite sintetizazione vocale, la visione in realtà aumentata, l'allerta sui movimenti rilevati dal proprio smartphone e non ha alcuna pubblicità. In più sostieni il progetto di ricerca il quale non sostiene finanziamenti esterni. Grazie per considerare l'acquisto! Alternativamente il passaggio alla versione PRO è GRATUITO sottoscrivendo uno degli abbonamenti annuali della lista di priorità.\n\nPrivacy: http://wp.earthquakenetwork.it/privacy/ \n\nTermini e condizioni: http://wp.earthquakenetwork.it/it/terms-conditions/", comment: "versione pro")
+ pulsanteAcquista.isEnabled = false
+
+ VersioneProProducts.store.requestProducts{ [weak self] success, products in
+ guard let self = self else { return }
+ if success {
+ self.products = products!
+ for prodoct in self.products{
+
+ if self.checkDiscount() {
+ if prodoct.productIdentifier == "com.finazzi.distquake.ProPrezzoPieno"{
+ self.prodotto = prodoct
+
+ }
+ }else{
+
+ if prodoct.productIdentifier == "com.finazzi.distquake.VersioneProScontata"{
+ self.prodotto = prodoct
+
+ }
+
+ }
+
+ }
+
+
+ // self.prezzolabel.text = self.prodotto.price
+ AcquistiProViewController.priceFormatter.locale = self.prodotto.priceLocale
+ self.prezzolabel.text = AcquistiProViewController.priceFormatter.string(from: self.prodotto.price)
+ self.pulsanteAcquista.isEnabled = true
+ self.titoloSconto.text = NSLocalizedString("Stai acquistando la verisone pro, verrà rimossa la pubblicità", comment: "")
+
+ if UserDefaults.standard.bool(forKey: "com.finazzi.distquake.ProPrezzoPieno") ||
+ UserDefaults.standard.bool(forKey: "com.finazzi.distquake.VersioneProScontata") ||
+ UserDefaults.standard.bool(forKey:"com.finazzi.distquake.Abbonamento10k.annualeAutomatico") ||
+
+ UserDefaults.standard.bool(forKey: "com.finazzi.distquake.Abbonamento10k.annualeAutomaticoScontato") ||
+ UserDefaults.standard.bool(forKey: "com.finazzi.distquake.Abbonamento100k.annualeAutomatico") ||
+ UserDefaults.standard.bool(forKey: "com.finazzi.distquake.Abbonamento100k.annualeAutomaticoscontato") {
+
+ self.pulsanteAcquista.isEnabled = false
+
+ self.prezzolabel.text = ""
+ }
+ }
+ }
+ }
+
+ @objc func handlePurchaseNotification(_ notification: Notification) {
+ guard
+ let productID = notification.object as? String,
+
+ let _ = products.index(where: { product -> Bool in
+ product.productIdentifier == productID
+ })
+ else { return }
+
+ if self.restorClicked {
+ self.restorClicked = false
+ let alert = UIAlertController(title: NSLocalizedString("Conferma", comment: "allerta acquisto o restor pro"), message: NSLocalizedString("Hai ripristinato il prodotto da te acquistato", comment: "allerta acquisto o restor pro"), preferredStyle: .alert)
+ alert.addAction(UIAlertAction(title: "OK", style: .default, handler: nil))
+ self.present(alert, animated: true)
+ }
+
+ }
+
+ @objc func restoreTapped(_ sender: AnyObject) {
+ self.restorClicked = true
+ VersioneProProducts.store.restorePurchases()
+ }
+
+ func checkDiscount() -> Bool {
+
+ var minute = 0;
+ let i = UserDefaults.standard.integer(forKey:CONTEGGIO_APERTURE_PER_SCONTO)
+ if let date = UserDefaults.standard.object(forKey:DATA_APERTURE_PER_SCONTO){
+
+ minute = EQNUtility.getDifferenceMinute(date as? Date)
+ }
+ if (i >= 15 && minute <= TEMPO_APERTURE_PER_SCONTO){
+ return true
+ }
+ else{
+ return false;
+ }
+
+ }
+
+ static let priceFormatter: NumberFormatter = {
+ let formatter = NumberFormatter()
+
+ formatter.formatterBehavior = .behavior10_4
+ formatter.numberStyle = .currency
+
+ return formatter
+ }()
+
+
+ // VersioneProProducts.store.buyProduct(product)
+
+ @IBAction func acquistaProdotto(_ sender: Any) {
+
+ VersioneProProducts.store.buyProduct(prodotto)
+ }
+
+
+ /*
+ // MARK: - Navigation
+
+ // In a storyboard-based application, you will often want to do a little preparation before navigation
+ override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
+ // Get the new view controller using segue.destination.
+ // Pass the selected object to the new view controller.
+ }
+ */
+
+}
diff --git a/Sources/Earthquake Network/Acquisti in App/DetailViewController.swift b/Sources/Earthquake Network/Acquisti in App/DetailViewController.swift
new file mode 100644
index 0000000..38e91ab
--- /dev/null
+++ b/Sources/Earthquake Network/Acquisti in App/DetailViewController.swift
@@ -0,0 +1,50 @@
+/// Copyright (c) 2018 Razeware LLC
+///
+/// Permission is hereby granted, free of charge, to any person obtaining a copy
+/// of this software and associated documentation files (the "Software"), to deal
+/// in the Software without restriction, including without limitation the rights
+/// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+/// copies of the Software, and to permit persons to whom the Software is
+/// furnished to do so, subject to the following conditions:
+///
+/// The above copyright notice and this permission notice shall be included in
+/// all copies or substantial portions of the Software.
+///
+/// Notwithstanding the foregoing, you may not use, copy, modify, merge, publish,
+/// distribute, sublicense, create a derivative work, and/or sell copies of the
+/// Software in any work that is designed, intended, or marketed for pedagogical or
+/// instructional purposes related to programming, coding, application development,
+/// or information technology. Permission for such use, copying, modification,
+/// merger, publication, distribution, sublicensing, creation of derivative works,
+/// or sale is expressly withheld.
+///
+/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+/// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+/// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+/// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+/// THE SOFTWARE.
+
+import UIKit
+
+class DetailViewController: UIViewController {
+
+ @IBOutlet weak var imageView: UIImageView?
+
+ var image: UIImage? {
+ didSet {
+ configureView()
+ }
+ }
+
+ override func viewDidLoad() {
+ super.viewDidLoad()
+
+ configureView()
+ }
+
+ func configureView() {
+ imageView?.image = image
+ }
+}
diff --git a/Sources/Earthquake Network/Acquisti in App/DettagliAbbonamentoViewController.swift b/Sources/Earthquake Network/Acquisti in App/DettagliAbbonamentoViewController.swift
new file mode 100644
index 0000000..7cad51f
--- /dev/null
+++ b/Sources/Earthquake Network/Acquisti in App/DettagliAbbonamentoViewController.swift
@@ -0,0 +1,123 @@
+//
+// DettagliAbbonamentoViewController.swift
+// Earthquake Network
+//
+// Created by Luca Beretta on 06/04/2019.
+// Copyright © 2019 Luca Beretta. All rights reserved.
+//
+
+import UIKit
+
+class DettagliAbbonamentoViewController: UIViewController {
+
+ @IBOutlet weak var immagine: UIImageView!
+ @IBOutlet weak var titolo: UILabel!
+ @IBOutlet weak var labelPagamento: UILabel!
+ @IBOutlet weak var prezzo: UILabel!
+ @IBOutlet weak var dettagliAcquisto: UILabel!
+ @IBOutlet weak var linkTextView: UITextView!
+ @IBOutlet weak var actionView: UIActivityIndicatorView!
+ @IBOutlet weak var dettagli: UILabel!
+ public var prodotto: SKProduct!
+
+ @IBAction func sottoscrivi(_ sender: Any) {
+
+ self.actionView.startAnimating()
+ VersioneProProducts.store.buyProduct(prodotto)
+
+ }
+
+ var buyButtonHandler: ((_ product: SKProduct) -> Void)?
+
+ static let priceFormatter: NumberFormatter = {
+ let formatter = NumberFormatter()
+
+ formatter.formatterBehavior = .behavior10_4
+ formatter.numberStyle = .currency
+
+ return formatter
+ }()
+
+ override func viewDidLoad() {
+ super.viewDidLoad()
+
+ self.linkTextView.text = NSLocalizedString("Privacy: http://wp.earthquakenetwork.it/privacy/\n\nTermini e condizioni: http://wp.earthquakenetwork.it/it/terms-conditions/", comment: "")
+
+ // Do any additional setup after loading the view.
+ var personeAllertate : NSString
+
+ switch prodotto.productIdentifier{
+
+ case "com.finazzi.distquake.Abbonamento10k.mensileAutomatico":
+ immagine.image = UIImage.init(named: "top_10k")
+ titolo.text = NSLocalizedString("Abbonamento mensile, priorità 10000 persone ", comment: "")
+ labelPagamento.text = self.prodotto.localizedTitle + ",\n" + NSLocalizedString("pagerai al mese:", comment: "")
+ personeAllertate = NSLocalizedString(" 10000 persone allertate.", comment: "") as NSString
+
+
+ break
+
+ case "com.finazzi.distquake.Abbonamento100k.mensileAutomatico" :
+
+ immagine.image = UIImage.init(named: "top_100k")
+ titolo.text = NSLocalizedString("Abbonamento mensile, priorità 100000 persone ", comment: "")
+ labelPagamento.text = self.prodotto.localizedTitle + ",\n" + NSLocalizedString("pagerai al mese:", comment: "")
+ personeAllertate = NSLocalizedString(" 100000 persone allertate.", comment: "") as NSString
+
+ break
+
+ case "com.finazzi.distquake.Abbonamento100k.annualeAutomatico", "com.finazzi.distquake.Abbonamento100k.annualeAutomaticoscontato":
+ immagine.image = UIImage.init(named: "top_100k")
+ titolo.text = NSLocalizedString("Abbonamento annuale, priorità 100000 persone ", comment: "")
+ labelPagamento.text = self.prodotto.localizedTitle + ",\n" + NSLocalizedString("pagerai all'anno:", comment: "")
+ personeAllertate = NSLocalizedString(" 100000 persone allertate.", comment: "") as NSString
+
+ break
+ case "com.finazzi.distquake.Abbonamento10k.annualeAutomatico", "com.finazzi.distquake.Abbonamento10k.annualeAutomaticoScontato":
+
+ immagine.image = UIImage.init(named: "top_10k")
+ titolo.text = NSLocalizedString("Abbonamento annuale, priorità 10000 persone ", comment: "")
+ labelPagamento.text = self.prodotto.localizedTitle + ",\n" + NSLocalizedString("pagerai all'anno:", comment: "")
+ personeAllertate = NSLocalizedString(" 10000 persone allertate.", comment: "") as NSString
+
+ break
+
+ default:
+ personeAllertate = NSLocalizedString(" 10000 persone allertate.", comment: "") as NSString
+
+ break
+
+ }
+
+ DettagliAbbonamentoViewController.priceFormatter.locale = prodotto.priceLocale
+ prezzo.text = ProductCell.priceFormatter.string(from: prodotto.price)! as String
+
+ dettagli.text = NSLocalizedString("• Il pagamento verrà addebitato sull'account iTunes alla conferma dell'acquisto\n\n• L'abbonamento si rinnova automaticamente a meno che il rinnovo automatico non venga disattivato almeno 24 ore prima della fine del periodo corrente\n\n• L'abbonamento verrà addebitato per il rinnovo entro 24 ore prima della fine del periodo corrente e identificato il costo del rinnovo\n\n• Le sottoscrizioni possono essere gestite dall'utente e il rinnovo automatico può essere disattivato accedendo alle Impostazioni account dell'utente dopo l'acquisto.", comment: "")
+
+ dettagliAcquisto.text = NSLocalizedString("Puoi entrare a fare parte delle liste di priorità prime", comment: "") + (personeAllertate as String)
+
+ NotificationCenter.default.addObserver(self, selector: #selector(handlePurchaseNotification(_:)),
+ name: .IAPHelperPurchaseNotification,
+ object: nil)
+ }
+
+
+ /*
+ // MARK: - Navigation
+
+ // In a storyboard-based application, you will often want to do a little preparation before navigation
+ override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
+ // Get the new view controller using segue.destination.
+ // Pass the selected object to the new view controller.
+ }
+ */
+
+
+ @objc func handlePurchaseNotification(_ notification: Notification) {
+
+ self.actionView.stopAnimating()
+ navigationController?.popViewController(animated: true)
+
+ }
+
+}
diff --git a/Sources/Earthquake Network/Acquisti in App/EQNNotificationContent-Bridging-Header.h b/Sources/Earthquake Network/Acquisti in App/EQNNotificationContent-Bridging-Header.h
new file mode 100644
index 0000000..1b2cb5d
--- /dev/null
+++ b/Sources/Earthquake Network/Acquisti in App/EQNNotificationContent-Bridging-Header.h
@@ -0,0 +1,4 @@
+//
+// Use this file to import your target's public headers that you would like to expose to Swift.
+//
+
diff --git a/Sources/Earthquake Network/Acquisti in App/EQNNotificationService-Bridging-Header.h b/Sources/Earthquake Network/Acquisti in App/EQNNotificationService-Bridging-Header.h
new file mode 100644
index 0000000..1b2cb5d
--- /dev/null
+++ b/Sources/Earthquake Network/Acquisti in App/EQNNotificationService-Bridging-Header.h
@@ -0,0 +1,4 @@
+//
+// Use this file to import your target's public headers that you would like to expose to Swift.
+//
+
diff --git a/Sources/Earthquake Network/Acquisti in App/Earthquake Network-Bridging-Header.h b/Sources/Earthquake Network/Acquisti in App/Earthquake Network-Bridging-Header.h
new file mode 100644
index 0000000..194bd92
--- /dev/null
+++ b/Sources/Earthquake Network/Acquisti in App/Earthquake Network-Bridging-Header.h
@@ -0,0 +1,7 @@
+//
+// Use this file to import your target's public headers that you would like to expose to Swift.
+//
+
+#import "EQNUtility.h"
+#import "costanti.h"
+
diff --git a/Sources/Earthquake Network/Acquisti in App/IAPHelper.swift b/Sources/Earthquake Network/Acquisti in App/IAPHelper.swift
new file mode 100644
index 0000000..4768a05
--- /dev/null
+++ b/Sources/Earthquake Network/Acquisti in App/IAPHelper.swift
@@ -0,0 +1,192 @@
+/// Copyright (c) 2018 Razeware LLC
+///
+/// Permission is hereby granted, free of charge, to any person obtaining a copy
+/// of this software and associated documentation files (the "Software"), to deal
+/// in the Software without restriction, including without limitation the rights
+/// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+/// copies of the Software, and to permit persons to whom the Software is
+/// furnished to do so, subject to the following conditions:
+///
+/// The above copyright notice and this permission notice shall be included in
+/// all copies or substantial portions of the Software.
+///
+/// Notwithstanding the foregoing, you may not use, copy, modify, merge, publish,
+/// distribute, sublicense, create a derivative work, and/or sell copies of the
+/// Software in any work that is designed, intended, or marketed for pedagogical or
+/// instructional purposes related to programming, coding, application development,
+/// or information technology. Permission for such use, copying, modification,
+/// merger, publication, distribution, sublicensing, creation of derivative works,
+/// or sale is expressly withheld.
+///
+/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+/// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+/// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+/// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+/// THE SOFTWARE.
+
+import StoreKit
+
+public typealias ProductIdentifier = String
+public typealias ProductsRequestCompletionHandler = (_ success: Bool, _ products: [SKProduct]?) -> Void
+
+extension Notification.Name {
+ static let IAPHelperPurchaseNotification = Notification.Name("IAPHelperPurchaseNotification")
+ static let IAPHelperPurchaseNotificationFail = Notification.Name("IAPHelperPurchaseNotificationFail")
+
+}
+
+open class IAPHelper: NSObject {
+
+ private let productIdentifiers: Set
+ private var purchasedProductIdentifiers: Set = []
+ private var productsRequest: SKProductsRequest?
+ private var productsRequestCompletionHandler: ProductsRequestCompletionHandler?
+
+ let receiptURL = Bundle.main.appStoreReceiptURL
+
+ public init(productIds: Set) {
+ productIdentifiers = productIds
+ for productIdentifier in productIds {
+ let purchased = UserDefaults.standard.bool(forKey: productIdentifier)
+ if purchased {
+ purchasedProductIdentifiers.insert(productIdentifier)
+ print("Previously purchased: \(productIdentifier)")
+ } else {
+ print("Not purchased: \(productIdentifier)")
+ }
+ }
+ super.init()
+
+ SKPaymentQueue.default().add(self)
+ }
+
+}
+
+// MARK: - StoreKit API
+
+extension IAPHelper {
+
+ public func requestProducts(_ completionHandler: @escaping ProductsRequestCompletionHandler) {
+ productsRequest?.cancel()
+ productsRequestCompletionHandler = completionHandler
+
+ productsRequest = SKProductsRequest(productIdentifiers: productIdentifiers)
+ productsRequest!.delegate = self
+ productsRequest!.start()
+ }
+
+ public func buyProduct(_ product: SKProduct) {
+
+ print("Buying \(product.productIdentifier)...")
+ let payment = SKPayment(product: product)
+ SKPaymentQueue.default().add(payment)
+
+ }
+
+ public func isProductPurchased(_ productIdentifier: ProductIdentifier) -> Bool {
+ return purchasedProductIdentifiers.contains(productIdentifier)
+ }
+
+ public class func canMakePayments() -> Bool {
+ return SKPaymentQueue.canMakePayments()
+ }
+
+ public func restorePurchases() {
+ SKPaymentQueue.default().restoreCompletedTransactions()
+ }
+}
+
+// MARK: - SKProductsRequestDelegate
+
+extension IAPHelper: SKProductsRequestDelegate {
+
+ public func productsRequest(_ request: SKProductsRequest, didReceive response: SKProductsResponse) {
+
+ print("Loaded list of products...")
+ let products = response.products
+ productsRequestCompletionHandler?(true, products)
+ clearRequestAndHandler()
+
+ for p in products {
+ print("Found product: \(p.productIdentifier) \(p.localizedTitle) \(p.price.floatValue)")
+ }
+ }
+
+ public func request(_ request: SKRequest, didFailWithError error: Error) {
+ print("Failed to load list of products.")
+ print("Error: \(error.localizedDescription)")
+ productsRequestCompletionHandler?(false, nil)
+ clearRequestAndHandler()
+ }
+
+ private func clearRequestAndHandler() {
+ productsRequest = nil
+ productsRequestCompletionHandler = nil
+ }
+}
+
+// MARK: - SKPaymentTransactionObserver
+
+extension IAPHelper: SKPaymentTransactionObserver {
+
+ public func paymentQueue(_ queue: SKPaymentQueue, updatedTransactions transactions: [SKPaymentTransaction]) {
+ for transaction in transactions {
+ switch (transaction.transactionState) {
+ case .purchased:
+ complete(transaction: transaction)
+ break
+ case .failed:
+ fail(transaction: transaction)
+ break
+ case .restored:
+ restore(transaction: transaction)
+ break
+ case .deferred:
+ break
+ case .purchasing:
+ break
+ }
+ }
+ }
+
+ private func complete(transaction: SKPaymentTransaction) {
+
+ print("complete...")
+ deliverPurchaseNotificationFor(identifier: transaction.payment.productIdentifier)
+ SKPaymentQueue.default().finishTransaction(transaction)
+
+ }
+
+ private func restore(transaction: SKPaymentTransaction) {
+ guard let productIdentifier = transaction.original?.payment.productIdentifier else { return }
+
+ print("restore... \(productIdentifier)")
+ deliverPurchaseNotificationFor(identifier: productIdentifier)
+ SKPaymentQueue.default().finishTransaction(transaction)
+ }
+
+ private func fail(transaction: SKPaymentTransaction) {
+
+ print("fail...")
+ if let transactionError = transaction.error as NSError?,
+ let localizedDescription = transaction.error?.localizedDescription,
+ transactionError.code != SKError.paymentCancelled.rawValue {
+ print("Transaction Error: \(localizedDescription)")
+
+ }
+ NotificationCenter.default.post(name: .IAPHelperPurchaseNotificationFail, object: nil)
+ SKPaymentQueue.default().finishTransaction(transaction)
+ }
+
+ private func deliverPurchaseNotificationFor(identifier: String?) {
+ guard let identifier = identifier else { return }
+
+ purchasedProductIdentifiers.insert(identifier)
+ UserDefaults.standard.set(true, forKey: identifier)
+ NotificationCenter.default.post(name: .IAPHelperPurchaseNotification, object: identifier)
+ }
+
+}
+
diff --git a/Sources/Earthquake Network/Acquisti in App/MasterViewController1.swift b/Sources/Earthquake Network/Acquisti in App/MasterViewController1.swift
new file mode 100644
index 0000000..7d91cc2
--- /dev/null
+++ b/Sources/Earthquake Network/Acquisti in App/MasterViewController1.swift
@@ -0,0 +1,144 @@
+/// Copyright (c) 2018 Razeware LLC
+///
+/// Permission is hereby granted, free of charge, to any person obtaining a copy
+/// of this software and associated documentation files (the "Software"), to deal
+/// in the Software without restriction, including without limitation the rights
+/// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+/// copies of the Software, and to permit persons to whom the Software is
+/// furnished to do so, subject to the following conditions:
+///
+/// The above copyright notice and this permission notice shall be included in
+/// all copies or substantial portions of the Software.
+///
+/// Notwithstanding the foregoing, you may not use, copy, modify, merge, publish,
+/// distribute, sublicense, create a derivative work, and/or sell copies of the
+/// Software in any work that is designed, intended, or marketed for pedagogical or
+/// instructional purposes related to programming, coding, application development,
+/// or information technology. Permission for such use, copying, modification,
+/// merger, publication, distribution, sublicensing, creation of derivative works,
+/// or sale is expressly withheld.
+///
+/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+/// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+/// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+/// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+/// THE SOFTWARE.
+
+import UIKit
+import StoreKit
+
+class MasterViewController1: UITableViewController {
+
+ let showDetailSegueIdentifier = "showDetail"
+
+ var products: [SKProduct] = []
+
+ override func shouldPerformSegue(withIdentifier identifier: String, sender: Any?) -> Bool {
+ if identifier == showDetailSegueIdentifier {
+ guard let indexPath = tableView.indexPathForSelectedRow else {
+ return false
+ }
+
+ let product = products[indexPath.row]
+
+ return VersioneProProducts.store.isProductPurchased(product.productIdentifier)
+ }
+
+ return true
+ }
+
+ override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
+ if segue.identifier == showDetailSegueIdentifier {
+ guard let indexPath = tableView.indexPathForSelectedRow else { return }
+
+ let product = products[indexPath.row]
+
+ if let name = resourceNameForProductIdentifier(product.productIdentifier),
+ let detailViewController = segue.destination as? DetailViewController {
+ let image = UIImage(named: name)
+ detailViewController.image = image
+ }
+ }
+ }
+
+ override func viewDidLoad() {
+ super.viewDidLoad()
+
+ title = "RazeFaces"
+
+ refreshControl = UIRefreshControl()
+ refreshControl?.addTarget(self, action: #selector(MasterViewController1.reload), for: .valueChanged)
+
+ let restoreButton = UIBarButtonItem(title: "Restore",
+ style: .plain,
+ target: self,
+ action: #selector(MasterViewController1.restoreTapped(_:)))
+ navigationItem.rightBarButtonItem = restoreButton
+
+ NotificationCenter.default.addObserver(self, selector: #selector(MasterViewController1.handlePurchaseNotification(_:)),
+ name: .IAPHelperPurchaseNotification,
+ object: nil)
+ }
+
+ override func viewDidAppear(_ animated: Bool) {
+ super.viewDidAppear(animated)
+
+ reload()
+ }
+
+ @objc func reload() {
+ products = []
+
+ tableView.reloadData()
+
+ VersioneProProducts.store.requestProducts{ [weak self] success, products in
+ guard let self = self else { return }
+ if success {
+ self.products = products!
+
+ self.tableView.reloadData()
+ }
+
+ self.refreshControl?.endRefreshing()
+ }
+ }
+
+ @objc func restoreTapped(_ sender: AnyObject) {
+ VersioneProProducts.store.restorePurchases()
+ }
+
+ @objc func handlePurchaseNotification(_ notification: Notification) {
+ guard
+ let productID = notification.object as? String,
+ let index = products.index(where: { product -> Bool in
+ product.productIdentifier == productID
+ })
+ else { return }
+
+ tableView.reloadRows(at: [IndexPath(row: index, section: 0)], with: .fade)
+ }
+}
+
+// MARK: - UITableViewDataSource
+
+extension MasterViewController1 {
+
+ override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
+ return products.count
+ }
+
+ override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
+ let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as! ProductCell
+
+ let product = products[indexPath.row]
+
+ cell.product = product
+ cell.buyButtonHandler = { product in
+ VersioneProProducts.store.buyProduct(product)
+ }
+
+ return cell
+ }
+}
diff --git a/Sources/Earthquake Network/Acquisti in App/ProductCell.swift b/Sources/Earthquake Network/Acquisti in App/ProductCell.swift
new file mode 100644
index 0000000..eb228e4
--- /dev/null
+++ b/Sources/Earthquake Network/Acquisti in App/ProductCell.swift
@@ -0,0 +1,139 @@
+/// Copyright (c) 2018 Razeware LLC
+///
+/// Permission is hereby granted, free of charge, to any person obtaining a copy
+/// of this software and associated documentation files (the "Software"), to deal
+/// in the Software without restriction, including without limitation the rights
+/// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+/// copies of the Software, and to permit persons to whom the Software is
+/// furnished to do so, subject to the following conditions:
+///
+/// The above copyright notice and this permission notice shall be included in
+/// all copies or substantial portions of the Software.
+///
+/// Notwithstanding the foregoing, you may not use, copy, modify, merge, publish,
+/// distribute, sublicense, create a derivative work, and/or sell copies of the
+/// Software in any work that is designed, intended, or marketed for pedagogical or
+/// instructional purposes related to programming, coding, application development,
+/// or information technology. Permission for such use, copying, modification,
+/// merger, publication, distribution, sublicensing, creation of derivative works,
+/// or sale is expressly withheld.
+///
+/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+/// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+/// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+/// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+/// THE SOFTWARE.
+
+import UIKit
+import StoreKit
+
+class ProductCell: UITableViewCell {
+
+
+ @IBOutlet weak var immagine: UIImageView!
+ @IBOutlet weak var descrizione: UILabel!
+ @IBOutlet weak var titolo: UILabel!
+
+ @IBOutlet weak var sottoscrivibutton: UIButton!
+ @IBAction func sottoscrivi(_ sender: Any) {
+
+ // buyButtonHandler?(product!)
+
+ }
+
+
+ static let priceFormatter: NumberFormatter = {
+ let formatter = NumberFormatter()
+
+ formatter.formatterBehavior = .behavior10_4
+ formatter.numberStyle = .currency
+
+ return formatter
+ }()
+
+ var buyButtonHandler: ((_ product: SKProduct) -> Void)?
+
+ var product: SKProduct? {
+ didSet {
+ guard let product = product else { return }
+
+ // textLabel?.text = product.localizedTitle
+
+ ProductCell.priceFormatter.locale = product.priceLocale
+ self.descrizione.text = product.localizedDescription
+ self.titolo?.text = product.localizedTitle
+ self.sottoscrivibutton.setTitle( NSLocalizedString("DETTAGLI", comment: "pulsante abbonamenti"), for: .normal)
+
+ if product.productIdentifier == "com.finazzi.distquake.Abbonamento100k.mensileAutomatico" ||
+ product.productIdentifier == "com.finazzi.distquake.Abbonamento100k.annualeAutomaticoscontato" ||
+ product.productIdentifier == "com.finazzi.distquake.Abbonamento100k.annualeAutomatico"{
+
+ self.immagine.image = UIImage.init(named: "top_100k")
+
+ }
+ else{
+
+ self.immagine.image = UIImage.init(named: "top_10k")
+
+ }
+
+ if #available(iOS 11.2, *),
+ let period = product.introductoryPrice?.subscriptionPeriod
+ {
+ _ = period.unit.description(capitalizeFirstLetter: true, numberOfUnits: period.numberOfUnits)
+
+ } else {
+ // Fallback
+ }
+
+
+
+ }
+ }
+
+ override func prepareForReuse() {
+ super.prepareForReuse()
+
+ textLabel?.text = ""
+ detailTextLabel?.text = ""
+ accessoryView = nil
+ }
+
+ func newBuyButton() -> UIButton {
+ let button = UIButton(type: .system)
+ button.setTitleColor(tintColor, for: .normal)
+ button.setTitle("Buy", for: .normal)
+ button.addTarget(self, action: #selector(ProductCell.buyButtonTapped(_:)), for: .touchUpInside)
+ button.sizeToFit()
+
+ return button
+ }
+
+ @objc func buyButtonTapped(_ sender: AnyObject) {
+ buyButtonHandler?(product!)
+ }
+}
+
+@available(iOSApplicationExtension 11.2, *)
+extension SKProduct.PeriodUnit {
+ func description(capitalizeFirstLetter: Bool = false, numberOfUnits: Int? = nil) -> String {
+ let period:String = {
+ switch self {
+ case .day: return "day"
+ case .week: return "week"
+ case .month: return "month"
+ case .year: return "year"
+ }
+ }()
+
+ var numUnits = ""
+ var plural = ""
+ if let numberOfUnits = numberOfUnits {
+ numUnits = "\(numberOfUnits) " // Add space for formatting
+ plural = numberOfUnits > 1 ? "s" : ""
+ }
+ return "\(numUnits)\(capitalizeFirstLetter ? period.capitalized : period)\(plural)"
+ }
+}
diff --git a/Sources/Earthquake Network/Acquisti in App/Termogea 02-13/DistributionSummary.plist b/Sources/Earthquake Network/Acquisti in App/Termogea 02-13/DistributionSummary.plist
new file mode 100644
index 0000000..8de960e
--- /dev/null
+++ b/Sources/Earthquake Network/Acquisti in App/Termogea 02-13/DistributionSummary.plist
@@ -0,0 +1,34 @@
+
+
+
+
+ Termogea.ipa
+
+
+ architectures
+
+ armv7
+ arm64
+
+ certificate
+
+ SHA1
+
+ dateExpires
+
+ type
+ Unknown
+
+ name
+ Telegea.app
+ team
+
+ id
+ 4E74YD2Y2V
+ name
+ DEK Italia S.R.L
+
+
+
+
+
diff --git a/Sources/Earthquake Network/Acquisti in App/Termogea 02-13/ExportOptions.plist b/Sources/Earthquake Network/Acquisti in App/Termogea 02-13/ExportOptions.plist
new file mode 100644
index 0000000..bc77442
--- /dev/null
+++ b/Sources/Earthquake Network/Acquisti in App/Termogea 02-13/ExportOptions.plist
@@ -0,0 +1,20 @@
+
+
+
+
+ compileBitcode
+
+ destination
+ export
+ method
+ ad-hoc
+ signingStyle
+ automatic
+ stripSwiftSymbols
+
+ teamID
+ 4E74YD2Y2V
+ thinning
+ <none>
+
+
diff --git a/Sources/Earthquake Network/Acquisti in App/Termogea 02-13/Packaging.log b/Sources/Earthquake Network/Acquisti in App/Termogea 02-13/Packaging.log
new file mode 100644
index 0000000..ff85b04
--- /dev/null
+++ b/Sources/Earthquake Network/Acquisti in App/Termogea 02-13/Packaging.log
@@ -0,0 +1,3553 @@
+2019-02-12 23:21:28 +0000 Initial pipeline context: ', distributionTask(resolved)='2', distributionDestination(resolved)='1', distributionMethod(resolved)='', team(resolved)=''>
+ Chain (12, self inclusive):
+ '>
+ '>
+ '>
+ '>
+ '>
+ '>
+ '>
+ '>
+ '>
+
+
+
+
+2019-02-12 23:21:28 +0000 Processing step: IDEDistributionCreateDestRootStep
+2019-02-12 23:21:28 +0000 Processing step: IDEDistributionCopyItemStep
+2019-02-12 23:21:28 +0000 Running /usr/bin/ditto '-V' '/Users/lucaberetta/Library/Developer/Xcode/Archives/2019-02-13/Termogea 13-02-2019, 00.17.xcarchive/Products/Applications/Telegea.app' '/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app'
+2019-02-12 23:21:28 +0000 >>> Copying /Users/lucaberetta/Library/Developer/Xcode/Archives/2019-02-13/Termogea 13-02-2019, 00.17.xcarchive/Products/Applications/Telegea.app
+2019-02-12 23:21:28 +0000 copying file ./_CodeSignature/CodeResources ...
+2019-02-12 23:21:28 +0000 15845 bytes for ./_CodeSignature/CodeResources
+2019-02-12 23:21:28 +0000 copying file ./open-24.ttf ...
+2019-02-12 23:21:28 +0000 26988 bytes for ./open-24.ttf
+2019-02-12 23:21:28 +0000 copying file ./en.lproj/Localizable.strings ...
+2019-02-12 23:21:28 +0000 1200 bytes for ./en.lproj/Localizable.strings
+2019-02-12 23:21:28 +0000 copying file ./Telegea ...
+2019-02-12 23:21:28 +0000 2886192 bytes for ./Telegea
+2019-02-12 23:21:28 +0000 copying file ./ActionTableViewController.nib ...
+2019-02-12 23:21:28 +0000 1514 bytes for ./ActionTableViewController.nib
+2019-02-12 23:21:28 +0000 copying file ./it.lproj/LaunchScreen.strings ...
+2019-02-12 23:21:28 +0000 1 bytes for ./it.lproj/LaunchScreen.strings
+2019-02-12 23:21:28 +0000 copying file ./it.lproj/Main.strings ...
+2019-02-12 23:21:28 +0000 1028 bytes for ./it.lproj/Main.strings
+2019-02-12 23:21:28 +0000 copying file ./it.lproj/Localizable.strings ...
+2019-02-12 23:21:28 +0000 768 bytes for ./it.lproj/Localizable.strings
+2019-02-12 23:21:28 +0000 copying file ./AppIcon60x60@2x.png ...
+2019-02-12 23:21:28 +0000 5324 bytes for ./AppIcon60x60@2x.png
+2019-02-12 23:21:28 +0000 copying file ./AppIcon29x29@2x.png ...
+2019-02-12 23:21:28 +0000 2413 bytes for ./AppIcon29x29@2x.png
+2019-02-12 23:21:28 +0000 copying file ./AppIcon40x40@3x.png ...
+2019-02-12 23:21:28 +0000 5324 bytes for ./AppIcon40x40@3x.png
+2019-02-12 23:21:28 +0000 copying file ./AppIcon40x40@2x.png ...
+2019-02-12 23:21:28 +0000 3707 bytes for ./AppIcon40x40@2x.png
+2019-02-12 23:21:28 +0000 copying file ./AppIcon29x29@3x.png ...
+2019-02-12 23:21:28 +0000 3593 bytes for ./AppIcon29x29@3x.png
+copying file ./AppIcon60x60@3x.png ...
+2019-02-12 23:21:28 +0000 5979 bytes for ./AppIcon60x60@3x.png
+2019-02-12 23:21:28 +0000 copying file ./Base.lproj/Main.storyboardc/nH3-va-oWn-view-Kjf-R9-c4O.nib ...
+2019-02-12 23:21:28 +0000 15012 bytes for ./Base.lproj/Main.storyboardc/nH3-va-oWn-view-Kjf-R9-c4O.nib
+2019-02-12 23:21:28 +0000 copying file ./Base.lproj/Main.storyboardc/ab0-Np-nDb-view-1DQ-TN-WO8.nib ...
+2019-02-12 23:21:28 +0000 2291 bytes for ./Base.lproj/Main.storyboardc/ab0-Np-nDb-view-1DQ-TN-WO8.nib
+2019-02-12 23:21:28 +0000 copying file ./Base.lproj/Main.storyboardc/LoadingZoneViewController.nib ...
+2019-02-12 23:21:28 +0000 1267 bytes for ./Base.lproj/Main.storyboardc/LoadingZoneViewController.nib
+2019-02-12 23:21:28 +0000 copying file ./Base.lproj/Main.storyboardc/RootViewController.nib ...
+2019-02-12 23:21:28 +0000 949 bytes for ./Base.lproj/Main.storyboardc/RootViewController.nib
+copying file ./Base.lproj/Main.storyboardc/weQ-Ch-B8p-view-Uu0-nz-514.nib ...
+2019-02-12 23:21:28 +0000 10125 bytes for ./Base.lproj/Main.storyboardc/weQ-Ch-B8p-view-Uu0-nz-514.nib
+copying file ./Base.lproj/Main.storyboardc/PageViewController.nib ...
+2019-02-12 23:21:28 +0000 954 bytes for ./Base.lproj/Main.storyboardc/PageViewController.nib
+2019-02-12 23:21:28 +0000 copying file ./Base.lproj/Main.storyboardc/nav.nib ...
+2019-02-12 23:21:28 +0000 2524 bytes for ./Base.lproj/Main.storyboardc/nav.nib
+copying file ./Base.lproj/Main.storyboardc/ListTableViewController.nib ...
+2019-02-12 23:21:28 +0000 1458 bytes for ./Base.lproj/Main.storyboardc/ListTableViewController.nib
+copying file ./Base.lproj/Main.storyboardc/LoginViewController.nib ...
+2019-02-12 23:21:28 +0000 998 bytes for ./Base.lproj/Main.storyboardc/LoginViewController.nib
+2019-02-12 23:21:28 +0000 copying file ./Base.lproj/Main.storyboardc/PageContentViewController.nib ...
+2019-02-12 23:21:28 +0000 1150 bytes for ./Base.lproj/Main.storyboardc/PageContentViewController.nib
+2019-02-12 23:21:28 +0000 copying file ./Base.lproj/Main.storyboardc/BYZ-38-t0r-view-8bC-Xf-vdC.nib ...
+2019-02-12 23:21:28 +0000 7105 bytes for ./Base.lproj/Main.storyboardc/BYZ-38-t0r-view-8bC-Xf-vdC.nib
+copying file ./Base.lproj/Main.storyboardc/ManagerViewController.nib ...
+2019-02-12 23:21:28 +0000 1604 bytes for ./Base.lproj/Main.storyboardc/ManagerViewController.nib
+2019-02-12 23:21:28 +0000 copying file ./Base.lproj/Main.storyboardc/xyI-FE-Jw4-view-46u-ev-qKG.nib ...
+2019-02-12 23:21:28 +0000 1894 bytes for ./Base.lproj/Main.storyboardc/xyI-FE-Jw4-view-46u-ev-qKG.nib
+2019-02-12 23:21:28 +0000 copying file ./Base.lproj/Main.storyboardc/TAc-QK-t0h-view-DQA-FY-yPG.nib ...
+2019-02-12 23:21:28 +0000 8525 bytes for ./Base.lproj/Main.storyboardc/TAc-QK-t0h-view-DQA-FY-yPG.nib
+copying file ./Base.lproj/Main.storyboardc/Info.plist ...
+2019-02-12 23:21:28 +0000 565 bytes for ./Base.lproj/Main.storyboardc/Info.plist
+2019-02-12 23:21:28 +0000 copying file ./Base.lproj/LaunchScreen.storyboardc/01J-lp-oVM-view-Ze5-6b-2t3.nib ...
+2019-02-12 23:21:28 +0000 1804 bytes for ./Base.lproj/LaunchScreen.storyboardc/01J-lp-oVM-view-Ze5-6b-2t3.nib
+copying file ./Base.lproj/LaunchScreen.storyboardc/UIViewController-01J-lp-oVM.nib ...
+2019-02-12 23:21:28 +0000 832 bytes for ./Base.lproj/LaunchScreen.storyboardc/UIViewController-01J-lp-oVM.nib
+copying file ./Base.lproj/LaunchScreen.storyboardc/Info.plist ...
+2019-02-12 23:21:28 +0000 258 bytes for ./Base.lproj/LaunchScreen.storyboardc/Info.plist
+2019-02-12 23:21:28 +0000 copying file ./Assets.car ...
+2019-02-12 23:21:28 +0000 1944712 bytes for ./Assets.car
+2019-02-12 23:21:28 +0000 copying file ./AppIcon40x40@2x~ipad.png ...
+2019-02-12 23:21:28 +0000 3707 bytes for ./AppIcon40x40@2x~ipad.png
+copying file ./AppIcon76x76@2x~ipad.png ...
+2019-02-12 23:21:28 +0000 5996 bytes for ./AppIcon76x76@2x~ipad.png
+2019-02-12 23:21:28 +0000 copying file ./AppIcon83.5x83.5@2x~ipad.png ...
+2019-02-12 23:21:28 +0000 8541 bytes for ./AppIcon83.5x83.5@2x~ipad.png
+copying file ./AppIcon29x29@2x~ipad.png ...
+2019-02-12 23:21:28 +0000 2413 bytes for ./AppIcon29x29@2x~ipad.png
+2019-02-12 23:21:28 +0000 copying file ./ActionTableViewCell.nib ...
+2019-02-12 23:21:28 +0000 2836 bytes for ./ActionTableViewCell.nib
+2019-02-12 23:21:28 +0000 copying file ./AppIcon40x40~ipad.png ...
+2019-02-12 23:21:28 +0000 2574 bytes for ./AppIcon40x40~ipad.png
+copying file ./AppIcon20x20~ipad.png ...
+2019-02-12 23:21:28 +0000 1386 bytes for ./AppIcon20x20~ipad.png
+2019-02-12 23:21:28 +0000 copying file ./embedded.mobileprovision ...
+2019-02-12 23:21:28 +0000 7607 bytes for ./embedded.mobileprovision
+copying file ./AppIcon20x20@2x~ipad.png ...
+2019-02-12 23:21:28 +0000 2574 bytes for ./AppIcon20x20@2x~ipad.png
+2019-02-12 23:21:28 +0000 copying file ./Info.plist ...
+2019-02-12 23:21:28 +0000 1339 bytes for ./Info.plist
+2019-02-12 23:21:28 +0000 copying file ./PkgInfo ...
+2019-02-12 23:21:28 +0000 8 bytes for ./PkgInfo
+2019-02-12 23:21:28 +0000 copying file ./AppIcon76x76~ipad.png ...
+2019-02-12 23:21:28 +0000 5379 bytes for ./AppIcon76x76~ipad.png
+2019-02-12 23:21:28 +0000 /usr/bin/ditto exited with 0
+2019-02-12 23:21:28 +0000 Processing step: IDEDistributionEmbedProfileStep
+2019-02-12 23:21:28 +0000 Processing step: IDEDistributionAppThinningPlistStep
+2019-02-12 23:21:28 +0000 Skipping step: IDEDistributionAppThinningPlistStep because it said so
+2019-02-12 23:21:28 +0000 Processing step: IDEDistributionCompileBitcodeStep
+2019-02-12 23:21:28 +0000 Running /Applications/Xcode.app/Contents/Developer/usr/bin/ipatool '/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root' '--json' '/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool-json-filepath-JqodKx' '--compile-bitcode' '--output' '/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/IDEIPAProcessor.AppThinning.Raz' '--toolchain' '/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr' '--platforms' '/Applications/Xcode.app/Contents/Developer/Platforms' '--app-store-tools-build-version' '10B61'
+2019-02-12 23:21:28 +0000 ruby 2.3.7p456 (2018-03-28 revision 63024) [universal.x86_64-darwin18]
+2019-02-12 23:21:28 +0000 /Applications/Xcode.app/Contents/Developer/usr/bin/ipatool:3155: warning: shadowing outer local variable - c
+2019-02-12 23:21:28 +0000 /Applications/Xcode.app/Contents/Developer/usr/bin/ipatool:3161: warning: shadowing outer local variable - c
+/Applications/Xcode.app/Contents/Developer/usr/bin/ipatool:3164: warning: shadowing outer local variable - c
+2019-02-12 23:21:28 +0000 /Applications/Xcode.app/Contents/Developer/usr/bin/ipatool:3154: warning: assigned but unused variable - prod
+2019-02-12 23:21:28 +0000 /Applications/Xcode.app/Contents/Developer/usr/bin/ipatool:3428: warning: mismatched indentations at 'end' with 'def' at 3355
+2019-02-12 23:21:28 +0000 /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/gems/2.3.0/gems/libxml-ruby-2.9.0/lib/libxml/schema/type.rb:8: warning: method redefined; discarding old annotation
+2019-02-12 23:21:28 +0000 /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/gems/2.3.0/gems/libxml-ruby-2.9.0/lib/libxml/schema/element.rb:18: warning: method redefined; discarding old annotation
+2019-02-12 23:21:28 +0000 OS X 10.14.2 18C54
+2019-02-12 23:21:28 +0000 ENV: {"PATH"=>"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin:/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/local/bin:/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/libexec:/Applications/Xcode.app/Contents/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/local/bin:/Applications/Xcode.app/Contents/Developer/Tools:/usr/bin:/bin:/usr/sbin:/sbin", "MallocNanoZone"=>"0", "TMPDIR"=>"/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/", "LOGNAME"=>"lucaberetta", "COMMAND_MODE"=>"unix2003", "HOME"=>"/Users/lucaberetta", "XPC_FLAGS"=>"0x0", "Apple_PubSub_Socket_Render"=>"/private/tmp/com.apple.launchd.q5QQu9H2zW/Render", "USER"=>"lucaberetta", "SSH_AUTH_SOCK"=>"/private/tmp/com.apple.launchd.SQFT0f0fTU/Listeners", "XPC_SERVICE_NAME"=>"com.apple.xpc.launchd.oneshot.0x10000014.Xcode", "CA_ASSERT_MAIN_THREAD_TRANSACTIONS"=>"1", "SHELL"=>"/bin/bash", "__CF_USER_TEXT_ENCODING"=>"0x1F5:0x0:0x4", "CA_DEBUG_TRANSACTIONS"=>"1"}
+ARGV: ["/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root", "--json", "/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool-json-filepath-JqodKx", "--compile-bitcode", "--output", "/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/IDEIPAProcessor.AppThinning.Raz", "--toolchain", "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr", "--platforms", "/Applications/Xcode.app/Contents/Developer/Platforms", "--app-store-tools-build-version", "10B61"]
+2019-02-12 23:21:28 +0000 ---
+IPA contents:
+2019-02-12 23:21:28 +0000 /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root
+/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload
+/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app
+/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/ActionTableViewCell.nib
+/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/ActionTableViewController.nib
+/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/AppIcon20x20@2x~ipad.png
+/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/AppIcon20x20~ipad.png
+/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/AppIcon29x29@2x.png
+/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/AppIcon29x29@2x~ipad.png
+/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/AppIcon29x29@3x.png
+/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/AppIcon40x40@2x.png
+/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/AppIcon40x40@2x~ipad.png
+/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/AppIcon40x40@3x.png
+/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/AppIcon40x40~ipad.png
+/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/AppIcon60x60@2x.png
+/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/AppIcon60x60@3x.png
+/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/AppIcon76x76@2x~ipad.png
+/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/AppIcon76x76~ipad.png
+/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/AppIcon83.5x83.5@2x~ipad.png
+/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Assets.car
+/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Base.lproj
+/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Base.lproj/LaunchScreen.storyboardc
+/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Base.lproj/LaunchScreen.storyboardc/01J-lp-oVM-view-Ze5-6b-2t3.nib
+/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Base.lproj/LaunchScreen.storyboardc/Info.plist
+/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Base.lproj/LaunchScreen.storyboardc/UIViewController-01J-lp-oVM.nib
+/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Base.lproj/Main.storyboardc
+/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Base.lproj/Main.storyboardc/BYZ-38-t0r-view-8bC-Xf-vdC.nib
+/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Base.lproj/Main.storyboardc/Info.plist
+/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Base.lproj/Main.storyboardc/ListTableViewController.nib
+/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Base.lproj/Main.storyboardc/LoadingZoneViewController.nib
+/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Base.lproj/Main.storyboardc/LoginViewController.nib
+/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Base.lproj/Main.storyboardc/ManagerViewController.nib
+/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Base.
+2019-02-12 23:21:28 +0000 lproj/Main.storyboardc/PageContentViewController.nib
+/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Base.lproj/Main.storyboardc/PageViewController.nib
+/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Base.lproj/Main.storyboardc/RootViewController.nib
+/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Base.lproj/Main.storyboardc/TAc-QK-t0h-view-DQA-FY-yPG.nib
+/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Base.lproj/Main.storyboardc/ab0-Np-nDb-view-1DQ-TN-WO8.nib
+/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Base.lproj/Main.storyboardc/nH3-va-oWn-view-Kjf-R9-c4O.nib
+/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Base.lproj/Main.storyboardc/nav.nib
+/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Base.lproj/Main.storyboardc/weQ-Ch-B8p-view-Uu0-nz-514.nib
+/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Base.lproj/Main.storyboardc/xyI-FE-Jw4-view-46u-ev-qKG.nib
+/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Info.plist
+/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/PkgInfo
+/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Telegea
+/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/_CodeSignature
+/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/_CodeSignature/CodeResources
+/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/embedded.mobileprovision
+/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/en.lproj
+/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/en.lproj/Localizable.strings
+/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/it.lproj
+/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/it.lproj/LaunchScreen.strings
+/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/it.lproj/Localizable.strings
+/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/it.lproj/Main.strings
+/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/open-24.ttf
+---
+2019-02-12 23:21:28 +0000 warning: Configuration issue: platform AppleTVSimulator.platform doesn't have any non-simulator SDKs; ignoring it
+2019-02-12 23:21:28 +0000 warning: Configuration issue: platform WatchSimulator.platform doesn't have any non-simulator SDKs; ignoring it
+2019-02-12 23:21:28 +0000 warning: Configuration issue: platform iPhoneSimulator.platform doesn't have any non-simulator SDKs; ignoring it
+2019-02-12 23:21:28 +0000 Scanning IPA...
+2019-02-12 23:21:28 +0000 /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/ActionTableViewCell.nib
+2019-02-12 23:21:28 +0000 Command exited with pid 25837 exit 0:
+ /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/ActionTableViewCell.nib
+ Stdout:
+ data
+
+ Stderr:
+
+2019-02-12 23:21:28 +0000 /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/ActionTableViewController.nib
+2019-02-12 23:21:28 +0000 Command exited with pid 25838 exit 0:
+ /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/ActionTableViewController.nib
+ Stdout:
+ data
+
+ Stderr:
+
+2019-02-12 23:21:28 +0000 /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/AppIcon20x20@2x\~ipad.png
+2019-02-12 23:21:28 +0000 Command exited with pid 25839 exit 0:
+ /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/AppIcon20x20@2x\~ipad.png
+ Stdout:
+ PNG image data (CgBI), 40 x 40, 8-bit/color RGBA, non-interlaced
+
+ Stderr:
+
+2019-02-12 23:21:28 +0000 /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/AppIcon20x20\~ipad.png
+2019-02-12 23:21:28 +0000 Command exited with pid 25840 exit 0:
+ /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/AppIcon20x20\~ipad.png
+ Stdout:
+ PNG image data (CgBI), 20 x 20, 8-bit/color RGBA, non-interlaced
+
+ Stderr:
+
+2019-02-12 23:21:28 +0000 /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/AppIcon29x29@2x.png
+2019-02-12 23:21:28 +0000 Command exited with pid 25841 exit 0:
+ /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/AppIcon29x29@2x.png
+ Stdout:
+ PNG image data (CgBI), 58 x 58, 8-bit/color RGBA, non-interlaced
+
+ Stderr:
+
+2019-02-12 23:21:28 +0000 /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/AppIcon29x29@2x\~ipad.png
+2019-02-12 23:21:28 +0000 Command exited with pid 25842 exit 0:
+ /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/AppIcon29x29@2x\~ipad.png
+ Stdout:
+ PNG image data (CgBI), 58 x 58, 8-bit/color RGBA, non-interlaced
+
+ Stderr:
+
+2019-02-12 23:21:28 +0000 /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/AppIcon29x29@3x.png
+2019-02-12 23:21:28 +0000 Command exited with pid 25843 exit 0:
+ /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/AppIcon29x29@3x.png
+ Stdout:
+ PNG image data (CgBI), 87 x 87, 8-bit/color RGBA, non-interlaced
+
+ Stderr:
+
+2019-02-12 23:21:28 +0000 /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/AppIcon40x40@2x.png
+2019-02-12 23:21:28 +0000 Command exited with pid 25844 exit 0:
+ /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/AppIcon40x40@2x.png
+ Stdout:
+ PNG image data (CgBI), 80 x 80, 8-bit/color RGBA, non-interlaced
+
+ Stderr:
+
+2019-02-12 23:21:28 +0000 /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/AppIcon40x40@2x\~ipad.png
+2019-02-12 23:21:28 +0000 Command exited with pid 25845 exit 0:
+ /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/AppIcon40x40@2x\~ipad.png
+ Stdout:
+ PNG image data (CgBI), 80 x 80, 8-bit/color RGBA, non-interlaced
+
+ Stderr:
+
+2019-02-12 23:21:28 +0000 /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/AppIcon40x40@3x.png
+2019-02-12 23:21:28 +0000 Command exited with pid 25846 exit 0:
+ /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/AppIcon40x40@3x.png
+ Stdout:
+ PNG image data (CgBI), 120 x 120, 8-bit/color RGBA, non-interlaced
+
+ Stderr:
+
+2019-02-12 23:21:28 +0000 /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/AppIcon40x40\~ipad.png
+2019-02-12 23:21:28 +0000 Command exited with pid 25847 exit 0:
+ /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/AppIcon40x40\~ipad.png
+ Stdout:
+ PNG image data (CgBI), 40 x 40, 8-bit/color RGBA, non-interlaced
+
+ Stderr:
+
+2019-02-12 23:21:28 +0000 /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/AppIcon60x60@2x.png
+2019-02-12 23:21:28 +0000 Command exited with pid 25848 exit 0:
+ /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/AppIcon60x60@2x.png
+ Stdout:
+ PNG image data (CgBI), 120 x 120, 8-bit/color RGBA, non-interlaced
+
+ Stderr:
+
+2019-02-12 23:21:28 +0000 /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/AppIcon60x60@3x.png
+2019-02-12 23:21:28 +0000 Command exited with pid 25849 exit 0:
+ /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/AppIcon60x60@3x.png
+ Stdout:
+ PNG image data (CgBI), 180 x 180, 8-bit/color RGBA, non-interlaced
+
+ Stderr:
+
+2019-02-12 23:21:28 +0000 /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/AppIcon76x76@2x\~ipad.png
+2019-02-12 23:21:28 +0000 Command exited with pid 25850 exit 0:
+ /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/AppIcon76x76@2x\~ipad.png
+ Stdout:
+ PNG image data (CgBI), 152 x 152, 8-bit/color RGBA, non-interlaced
+
+ Stderr:
+
+2019-02-12 23:21:28 +0000 /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/AppIcon76x76\~ipad.png
+2019-02-12 23:21:28 +0000 Command exited with pid 25851 exit 0:
+ /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/AppIcon76x76\~ipad.png
+ Stdout:
+ PNG image data (CgBI), 76 x 76, 8-bit/color RGBA, non-interlaced
+
+ Stderr:
+
+2019-02-12 23:21:28 +0000 /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/AppIcon83.5x83.5@2x\~ipad.png
+2019-02-12 23:21:28 +0000 Command exited with pid 25852 exit 0:
+ /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/AppIcon83.5x83.5@2x\~ipad.png
+ Stdout:
+ PNG image data (CgBI), 167 x 167, 8-bit/color RGBA, non-interlaced
+
+ Stderr:
+
+2019-02-12 23:21:28 +0000 /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Assets.car
+2019-02-12 23:21:28 +0000 Command exited with pid 25853 exit 0:
+ /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Assets.car
+ Stdout:
+ Mac OS X bill of materials (BOM) file
+
+ Stderr:
+
+2019-02-12 23:21:28 +0000 /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Base.lproj/LaunchScreen.storyboardc/01J-lp-oVM-view-Ze5-6b-2t3.nib
+2019-02-12 23:21:28 +0000 Command exited with pid 25855 exit 0:
+ /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Base.lproj/LaunchScreen.storyboardc/01J-lp-oVM-view-Ze5-6b-2t3.nib
+ Stdout:
+ data
+
+ Stderr:
+
+2019-02-12 23:21:28 +0000 /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Base.lproj/LaunchScreen.storyboardc/Info.plist
+2019-02-12 23:21:28 +0000 Command exited with pid 25856 exit 0:
+ /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Base.lproj/LaunchScreen.storyboardc/Info.plist
+ Stdout:
+ Apple binary property list
+
+ Stderr:
+
+2019-02-12 23:21:28 +0000 /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Base.lproj/LaunchScreen.storyboardc/UIViewController-01J-lp-oVM.nib
+2019-02-12 23:21:28 +0000 Command exited with pid 25857 exit 0:
+ /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Base.lproj/LaunchScreen.storyboardc/UIViewController-01J-lp-oVM.nib
+ Stdout:
+ data
+
+ Stderr:
+
+2019-02-12 23:21:28 +0000 /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Base.lproj/Main.storyboardc/BYZ-38-t0r-view-8bC-Xf-vdC.nib
+2019-02-12 23:21:28 +0000 Command exited with pid 25859 exit 0:
+ /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Base.lproj/Main.storyboardc/BYZ-38-t0r-view-8bC-Xf-vdC.nib
+ Stdout:
+ data
+
+ Stderr:
+
+2019-02-12 23:21:28 +0000 /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Base.lproj/Main.storyboardc/Info.plist
+2019-02-12 23:21:28 +0000 Command exited with pid 25860 exit 0:
+ /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Base.lproj/Main.storyboardc/Info.plist
+ Stdout:
+ Apple binary property list
+
+ Stderr:
+
+2019-02-12 23:21:28 +0000 /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Base.lproj/Main.storyboardc/ListTableViewController.nib
+2019-02-12 23:21:28 +0000 Command exited with pid 25861 exit 0:
+ /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Base.lproj/Main.storyboardc/ListTableViewController.nib
+ Stdout:
+ data
+
+ Stderr:
+
+2019-02-12 23:21:28 +0000 /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Base.lproj/Main.storyboardc/LoadingZoneViewController.nib
+2019-02-12 23:21:28 +0000 Command exited with pid 25862 exit 0:
+ /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Base.lproj/Main.storyboardc/LoadingZoneViewController.nib
+ Stdout:
+ data
+
+ Stderr:
+
+2019-02-12 23:21:28 +0000 /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Base.lproj/Main.storyboardc/LoginViewController.nib
+2019-02-12 23:21:28 +0000 Command exited with pid 25863 exit 0:
+ /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Base.lproj/Main.storyboardc/LoginViewController.nib
+ Stdout:
+ data
+
+ Stderr:
+
+2019-02-12 23:21:28 +0000 /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Base.lproj/Main.storyboardc/ManagerViewController.nib
+2019-02-12 23:21:28 +0000 Command exited with pid 25864 exit 0:
+ /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Base.lproj/Main.storyboardc/ManagerViewController.nib
+ Stdout:
+ data
+
+ Stderr:
+
+2019-02-12 23:21:28 +0000 /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Base.lproj/Main.storyboardc/PageContentViewController.nib
+2019-02-12 23:21:28 +0000 Command exited with pid 25865 exit 0:
+ /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Base.lproj/Main.storyboardc/PageContentViewController.nib
+ Stdout:
+ data
+
+ Stderr:
+
+2019-02-12 23:21:28 +0000 /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Base.lproj/Main.storyboardc/PageViewController.nib
+2019-02-12 23:21:28 +0000 Command exited with pid 25866 exit 0:
+ /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Base.lproj/Main.storyboardc/PageViewController.nib
+ Stdout:
+ data
+
+ Stderr:
+
+2019-02-12 23:21:28 +0000 /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Base.lproj/Main.storyboardc/RootViewController.nib
+2019-02-12 23:21:28 +0000 Command exited with pid 25867 exit 0:
+ /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Base.lproj/Main.storyboardc/RootViewController.nib
+ Stdout:
+ data
+
+ Stderr:
+
+2019-02-12 23:21:28 +0000 /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Base.lproj/Main.storyboardc/TAc-QK-t0h-view-DQA-FY-yPG.nib
+2019-02-12 23:21:28 +0000 Command exited with pid 25868 exit 0:
+ /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Base.lproj/Main.storyboardc/TAc-QK-t0h-view-DQA-FY-yPG.nib
+ Stdout:
+ data
+
+ Stderr:
+
+2019-02-12 23:21:28 +0000 /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Base.lproj/Main.storyboardc/ab0-Np-nDb-view-1DQ-TN-WO8.nib
+2019-02-12 23:21:28 +0000 Command exited with pid 25869 exit 0:
+ /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Base.lproj/Main.storyboardc/ab0-Np-nDb-view-1DQ-TN-WO8.nib
+ Stdout:
+ data
+
+ Stderr:
+
+2019-02-12 23:21:28 +0000 /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Base.lproj/Main.storyboardc/nH3-va-oWn-view-Kjf-R9-c4O.nib
+2019-02-12 23:21:28 +0000 Command exited with pid 25870 exit 0:
+ /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Base.lproj/Main.storyboardc/nH3-va-oWn-view-Kjf-R9-c4O.nib
+ Stdout:
+ data
+
+ Stderr:
+
+2019-02-12 23:21:28 +0000 /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Base.lproj/Main.storyboardc/nav.nib
+2019-02-12 23:21:28 +0000 Command exited with pid 25871 exit 0:
+ /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Base.lproj/Main.storyboardc/nav.nib
+ Stdout:
+ data
+
+ Stderr:
+
+2019-02-12 23:21:28 +0000 /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Base.lproj/Main.storyboardc/weQ-Ch-B8p-view-Uu0-nz-514.nib
+2019-02-12 23:21:28 +0000 Command exited with pid 25872 exit 0:
+ /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Base.lproj/Main.storyboardc/weQ-Ch-B8p-view-Uu0-nz-514.nib
+ Stdout:
+ data
+
+ Stderr:
+
+2019-02-12 23:21:28 +0000 /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Base.lproj/Main.storyboardc/xyI-FE-Jw4-view-46u-ev-qKG.nib
+2019-02-12 23:21:28 +0000 Command exited with pid 25873 exit 0:
+ /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Base.lproj/Main.storyboardc/xyI-FE-Jw4-view-46u-ev-qKG.nib
+ Stdout:
+ data
+
+ Stderr:
+
+2019-02-12 23:21:28 +0000 /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Info.plist
+2019-02-12 23:21:28 +0000 Command exited with pid 25874 exit 0:
+ /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Info.plist
+ Stdout:
+ Apple binary property list
+
+ Stderr:
+
+2019-02-12 23:21:28 +0000 /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/PkgInfo
+2019-02-12 23:21:28 +0000 Command exited with pid 25875 exit 0:
+ /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/PkgInfo
+ Stdout:
+ ASCII text, with no line terminators
+
+ Stderr:
+
+2019-02-12 23:21:28 +0000 /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Telegea
+2019-02-12 23:21:28 +0000 Command exited with pid 25876 exit 0:
+ /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Telegea
+ Stdout:
+ Mach-O universal binary with 2 architectures: [arm_v7:Mach-O executable arm_v7] [arm64]
+ /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Telegea (for architecture armv7): Mach-O executable arm_v7
+ /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Telegea (for architecture arm64): Mach-O 64-bit executable arm64
+
+ Stderr:
+
+2019-02-12 23:21:28 +0000 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/lipo -info /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Telegea
+2019-02-12 23:21:28 +0000 Command exited with pid 25877 exit 0:
+ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/lipo -info /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Telegea
+ Stdout:
+ Architectures in the fat file: /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Telegea are: armv7 arm64
+
+ Stderr:
+
+2019-02-12 23:21:28 +0000 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/otool -h -v -m -arch all /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Telegea
+2019-02-12 23:21:28 +0000 Command exited with pid 25878 exit 0:
+ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/otool -h -v -m -arch all /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Telegea
+ Stdout:
+ Mach header
+ magic cputype cpusubtype caps filetype ncmds sizeofcmds flags
+ MH_MAGIC ARM V7 0x00 EXECUTE 26 3112 NOUNDEFS DYLDLINK TWOLEVEL PIE
+ Mach header
+ magic cputype cpusubtype caps filetype ncmds sizeofcmds flags
+ MH_MAGIC_64 ARM64 ALL 0x00 EXECUTE 26 3624 NOUNDEFS DYLDLINK TWOLEVEL PIE
+
+ Stderr:
+
+2019-02-12 23:21:28 +0000 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/otool -l -v -m -arch armv7 /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Telegea
+2019-02-12 23:21:28 +0000 Command exited with pid 25880 exit 0:
+ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/otool -l -v -m -arch armv7 /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Telegea
+ Stdout:
+ /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Telegea:
+ Mach header
+ magic cputype cpusubtype caps filetype ncmds sizeofcmds flags
+ MH_MAGIC ARM V7 0x00 EXECUTE 26 3112 NOUNDEFS DYLDLINK TWOLEVEL PIE
+ Load command 0
+ cmd LC_SEGMENT
+ cmdsize 56
+ segname __PAGEZERO
+ vmaddr 0x00000000
+ vmsize 0x00004000
+ fileoff 0
+ filesize 0
+ maxprot ---
+ initprot ---
+ nsects 0
+ flags (none)
+ Load command 1
+ cmd LC_SEGMENT
+ cmdsize 736
+ segname __TEXT
+ vmaddr 0x00004000
+ vmsize 0x00028000
+ fileoff 0
+ filesize 163840
+ maxprot r-x
+ initprot r-x
+ nsects 10
+ flags (none)
+ Section
+ sectname __text
+ segname __TEXT
+ addr 0x0000ba84
+ size 0x00017b00
+ offset 31364
+ align 2^2 (4)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes PURE_INSTRUCTIONS SOME_INSTRUCTIONS
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __picsymbolstub4
+ segname __TEXT
+ addr 0x00023584
+ size 0x00000480
+ offset 128388
+ align 2^2 (4)
+ reloff 0
+ nreloc 0
+ type S_SYMBOL_STUBS
+ attributes PURE_INSTRUCTIONS SOME_INSTRUCTIONS
+ reserved1 0 (index into indirect symbol table)
+ reserved2 16 (size of stubs)
+ Section
+ sectname __stub_helper
+ segname __TEXT
+ addr 0x00023a04
+ size 0x00000384
+ offset 129540
+ align 2^2 (4)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes PURE_INSTRUCTIONS SOME_INSTRUCTIONS
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __objc_methname
+ segname __TEXT
+ addr 0x00023d88
+ size 0x00004a8c
+ offset 130440
+ align 2^0 (1)
+ reloff 0
+ nreloc 0
+ type S_CSTRING_LITERALS
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __cstring
+ segname __TEXT
+ addr 0x00028814
+ size 0x000019d5
+ offset 149524
+ align 2^0 (1)
+ reloff 0
+ nreloc 0
+ type S_CSTRING_LITERALS
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __objc_classname
+ segname __TEXT
+ addr 0x0002a1e9
+ size 0x00000344
+ offset 156137
+ align 2^0 (1)
+ reloff 0
+ nreloc 0
+ type S_CSTRING_LITERALS
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __objc_methtype
+ segname __TEXT
+ addr 0x0002a52d
+ size 0x00001a53
+ offset 156973
+ align 2^0 (1)
+ reloff 0
+ nreloc 0
+ type S_CSTRING_LITERALS
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __gcc_except_tab
+ segname __TEXT
+ addr 0x0002bf80
+ size 0x00000020
+ offset 163712
+ align 2^2 (4)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __const
+ segname __TEXT
+ addr 0x0002bfa0
+ size
+2019-02-12 23:21:28 +0000 0x00000008
+ offset 163744
+ align 2^2 (4)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __ustring
+ segname __TEXT
+ addr 0x0002bfa8
+ size 0x00000056
+ offset 163752
+ align 2^1 (2)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Load command 2
+ cmd LC_SEGMENT
+ cmdsize 1144
+ segname __DATA
+ vmaddr 0x0002c000
+ vmsize 0x00008000
+ fileoff 163840
+ filesize 32768
+ maxprot rw-
+ initprot rw-
+ nsects 16
+ flags (none)
+ Section
+ sectname __nl_symbol_ptr
+ segname __DATA
+ addr 0x0002c000
+ size 0x00000068
+ offset 163840
+ align 2^2 (4)
+ reloff 0
+ nreloc 0
+ type S_NON_LAZY_SYMBOL_POINTERS
+ attributes (none)
+ reserved1 72 (index into indirect symbol table)
+ reserved2 0
+ Section
+ sectname __la_symbol_ptr
+ segname __DATA
+ addr 0x0002c068
+ size 0x00000120
+ offset 163944
+ align 2^2 (4)
+ reloff 0
+ nreloc 0
+ type S_LAZY_SYMBOL_POINTERS
+ attributes (none)
+ reserved1 98 (index into indirect symbol table)
+ reserved2 0
+ Section
+ sectname __const
+ segname __DATA
+ addr 0x0002c188
+ size 0x00000750
+ offset 164232
+ align 2^2 (4)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __cfstring
+ segname __DATA
+ addr 0x0002c8d8
+ size 0x000008c0
+ offset 166104
+ align 2^2 (4)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __objc_classlist
+ segname __DATA
+ addr 0x0002d198
+ size 0x00000060
+ offset 168344
+ align 2^2 (4)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes NO_DEAD_STRIP
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __objc_catlist
+ segname __DATA
+ addr 0x0002d1f8
+ size 0x00000000
+ offset 168440
+ align 2^0 (1)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes NO_DEAD_STRIP
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __objc_protolist
+ segname __DATA
+ addr 0x0002d1f8
+ size 0x00000040
+ offset 168440
+ align 2^2 (4)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __objc_imageinfo
+ segname __DATA
+ addr 0x0002d238
+ size 0x00000008
+ offset 168504
+ align 2^2 (4)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __objc_const
+ segname __DATA
+ addr 0x0002d240
+ size 0x00003e04
+ offset 168512
+ align 2^3 (8)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __objc_selrefs
+ segname __DATA
+ addr 0x00031044
+ size 0x00000800
+ offset 184388
+ align 2^2 (4)
+ reloff 0
+2019-02-12 23:21:28 +0000
+ nreloc 0
+ type S_LITERAL_POINTERS
+ attributes NO_DEAD_STRIP
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __objc_classrefs
+ segname __DATA
+ addr 0x00031844
+ size 0x000000f0
+ offset 186436
+ align 2^2 (4)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes NO_DEAD_STRIP
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __objc_superrefs
+ segname __DATA
+ addr 0x00031934
+ size 0x00000054
+ offset 186676
+ align 2^2 (4)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes NO_DEAD_STRIP
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __objc_ivar
+ segname __DATA
+ addr 0x00031988
+ size 0x000001f0
+ offset 186760
+ align 2^2 (4)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __objc_data
+ segname __DATA
+ addr 0x00031b78
+ size 0x000003c0
+ offset 187256
+ align 2^2 (4)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __data
+ segname __DATA
+ addr 0x00031f38
+ size 0x00000344
+ offset 188216
+ align 2^2 (4)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __bss
+ segname __DATA
+ addr 0x0003227c
+ size 0x00000008
+ offset 0
+ align 2^2 (4)
+ reloff 0
+ nreloc 0
+ type S_ZEROFILL
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Load command 3
+ cmd LC_SEGMENT
+ cmdsize 124
+ segname __LLVM
+ vmaddr 0x00034000
+ vmsize 0x0011c000
+ fileoff 196608
+ filesize 1163264
+ maxprot rw-
+ initprot rw-
+ nsects 1
+ flags NORELOC
+ Section
+ sectname __bundle
+ segname __LLVM
+ addr 0x00034000
+ size 0x0011b84a
+ offset 196608
+ align 2^0 (1)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Load command 4
+ cmd LC_SEGMENT
+ cmdsize 56
+ segname __LINKEDIT
+ vmaddr 0x00150000
+ vmsize 0x00010000
+ fileoff 1359872
+ filesize 51296
+ maxprot r--
+ initprot r--
+ nsects 0
+ flags (none)
+ Load command 5
+ cmd LC_DYLD_INFO_ONLY
+ cmdsize 48
+ rebase_off 1359872
+ rebase_size 1372
+ bind_off 1361244
+ bind_size 3184
+ weak_bind_off 0
+ weak_bind_size 0
+ lazy_bind_off 1364428
+ lazy_bind_size 2116
+ export_off 1366544
+ export_size 28
+ Load command 6
+ cmd LC_SYMTAB
+ cmdsize 24
+ symoff 1367772
+ nsyms 162
+ stroff 1370396
+ strsize 4036
+ Load command 7
+ cmd LC_DYSYMTAB
+ cmdsize 80
+ ilocalsym 0
+ nlocalsym 1
+ iextdefsym 1
+ nextdefsym 1
+ iundefsym 2
+ nundefsym 160
+ tocoff 0
+ ntoc 0
+ modtaboff 0
+ nmodtab 0
+ extrefsymoff 0
+ nextrefsyms 0
+ indirectsymoff 1369716
+ nindirectsyms 170
+ extreloff 0
+ nextrel 0
+ locrelof
+2019-02-12 23:21:28 +0000 f 0
+ nlocrel 0
+ Load command 8
+ cmd LC_LOAD_DYLINKER
+ cmdsize 28
+ name /usr/lib/dyld (offset 12)
+ Load command 9
+ cmd LC_UUID
+ cmdsize 24
+ uuid 8EE7DC18-45DB-305E-B0E3-58619FAE735C
+ Load command 10
+ cmd LC_VERSION_MIN_IPHONEOS
+ cmdsize 16
+ version 9.0
+ sdk 12.1
+ Load command 11
+ cmd LC_SOURCE_VERSION
+ cmdsize 16
+ version 0.0
+ Load command 12
+ cmd LC_MAIN
+ cmdsize 24
+ entryoff 105241
+ stacksize 0
+ Load command 13
+ cmd LC_ENCRYPTION_INFO
+ cmdsize 20
+ cryptoff 16384
+ cryptsize 147456
+ cryptid 0
+ Load command 14
+ cmd LC_LOAD_DYLIB
+ cmdsize 80
+ name /System/Library/Frameworks/Security.framework/Security (offset 24)
+ time stamp 2 Thu Jan 1 01:00:02 1970
+ current version 58286.222.2
+ compatibility version 1.0.0
+ Load command 15
+ cmd LC_LOAD_DYLIB
+ cmdsize 84
+ name /System/Library/Frameworks/Foundation.framework/Foundation (offset 24)
+ time stamp 2 Thu Jan 1 01:00:02 1970
+ current version 1560.10.0
+ compatibility version 300.0.0
+ Load command 16
+ cmd LC_LOAD_DYLIB
+ cmdsize 52
+ name /usr/lib/libobjc.A.dylib (offset 24)
+ time stamp 2 Thu Jan 1 01:00:02 1970
+ current version 228.0.0
+ compatibility version 1.0.0
+ Load command 17
+ cmd LC_LOAD_DYLIB
+ cmdsize 52
+ name /usr/lib/libSystem.B.dylib (offset 24)
+ time stamp 2 Thu Jan 1 01:00:02 1970
+ current version 1252.200.5
+ compatibility version 1.0.0
+ Load command 18
+ cmd LC_LOAD_DYLIB
+ cmdsize 92
+ name /System/Library/Frameworks/CoreFoundation.framework/CoreFoundation (offset 24)
+ time stamp 2 Thu Jan 1 01:00:02 1970
+ current version 1560.10.0
+ compatibility version 150.0.0
+ Load command 19
+ cmd LC_LOAD_DYLIB
+ cmdsize 88
+ name /System/Library/Frameworks/CoreGraphics.framework/CoreGraphics (offset 24)
+ time stamp 2 Thu Jan 1 01:00:02 1970
+ current version 1245.9.2
+ compatibility version 64.0.0
+ Load command 20
+ cmd LC_LOAD_DYLIB
+ cmdsize 104
+ name /System/Library/Frameworks/SystemConfiguration.framework/SystemConfiguration (offset 24)
+ time stamp 2 Thu Jan 1 01:00:02 1970
+ current version 963.200.27
+ compatibility version 1.0.0
+ Load command 21
+ cmd LC_LOAD_DYLIB
+ cmdsize 76
+ name /System/Library/Frameworks/UIKit.framework/UIKit (offset 24)
+ time stamp 2 Thu Jan 1 01:00:02 1970
+ current version 61000.0.0
+ compatibility version 1.0.0
+ Load command 22
+ cmd LC_RPATH
+ cmdsize 40
+ path @executable_path/Frameworks (offset 12)
+ Load command 23
+ cmd LC_FUNCTION_STARTS
+ cmdsize 16
+ dataoff 1366572
+ datasize 920
+ Load command 24
+ cmd LC_DATA_IN_CODE
+ cmdsize 16
+ dataoff 1367492
+ datasize 280
+ Load command 25
+ cmd LC_CODE_SIGNATURE
+ cmdsize 16
+ dataoff 1374432
+ datasize 36736
+
+ Stderr:
+
+2019-02-12 23:21:28 +0000 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/otool -l -v -m -arch arm64 /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Telegea
+2019-02-12 23:21:28 +0000 Command exited with pid 25882 exit 0:
+ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/otool -l -v -m -arch arm64 /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Telegea
+ Stdout:
+ /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Telegea:
+ Mach header
+ magic cputype cpusubtype caps filetype ncmds sizeofcmds flags
+ MH_MAGIC_64 ARM64 ALL 0x00 EXECUTE 26 3624 NOUNDEFS DYLDLINK TWOLEVEL PIE
+ Load command 0
+ cmd LC_SEGMENT_64
+ cmdsize 72
+ segname __PAGEZERO
+ vmaddr 0x0000000000000000
+ vmsize 0x0000000100000000
+ fileoff 0
+ filesize 0
+ maxprot ---
+ initprot ---
+ nsects 0
+ flags (none)
+ Load command 1
+ cmd LC_SEGMENT_64
+ cmdsize 952
+ segname __TEXT
+ vmaddr 0x0000000100000000
+ vmsize 0x0000000000028000
+ fileoff 0
+ filesize 163840
+ maxprot r-x
+ initprot r-x
+ nsects 11
+ flags (none)
+ Section
+ sectname __text
+ segname __TEXT
+ addr 0x0000000100004728
+ size 0x000000000001a568
+ offset 18216
+ align 2^2 (4)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes PURE_INSTRUCTIONS SOME_INSTRUCTIONS
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __stubs
+ segname __TEXT
+ addr 0x000000010001ec90
+ size 0x0000000000000324
+ offset 126096
+ align 2^2 (4)
+ reloff 0
+ nreloc 0
+ type S_SYMBOL_STUBS
+ attributes PURE_INSTRUCTIONS SOME_INSTRUCTIONS
+ reserved1 0 (index into indirect symbol table)
+ reserved2 12 (size of stubs)
+ Section
+ sectname __stub_helper
+ segname __TEXT
+ addr 0x000000010001efb4
+ size 0x000000000000033c
+ offset 126900
+ align 2^2 (4)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes PURE_INSTRUCTIONS SOME_INSTRUCTIONS
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __const
+ segname __TEXT
+ addr 0x000000010001f2f0
+ size 0x00000000000001e8
+ offset 127728
+ align 2^4 (16)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __objc_methname
+ segname __TEXT
+ addr 0x000000010001f4d8
+ size 0x0000000000004a9e
+ offset 128216
+ align 2^0 (1)
+ reloff 0
+ nreloc 0
+ type S_CSTRING_LITERALS
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __cstring
+ segname __TEXT
+ addr 0x0000000100023f76
+ size 0x00000000000019dd
+ offset 147318
+ align 2^0 (1)
+ reloff 0
+ nreloc 0
+ type S_CSTRING_LITERALS
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __objc_classname
+ segname __TEXT
+ addr 0x0000000100025953
+ size 0x0000000000000342
+ offset 153939
+ align 2^0 (1)
+ reloff 0
+ nreloc 0
+ type S_CSTRING_LITERALS
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __objc_methtype
+ segname __TEXT
+ addr 0x0000000100025c95
+ size 0x0000000000001b1a
+ offset 154773
+ align 2^0 (1)
+ reloff 0
+ nreloc 0
+ type S_CSTRING_LITERALS
+ attributes (none)
+ r
+2019-02-12 23:21:28 +0000 eserved1 0
+ reserved2 0
+ Section
+ sectname __gcc_except_tab
+ segname __TEXT
+ addr 0x00000001000277b0
+ size 0x00000000000000cc
+ offset 161712
+ align 2^2 (4)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __ustring
+ segname __TEXT
+ addr 0x000000010002787c
+ size 0x0000000000000056
+ offset 161916
+ align 2^1 (2)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __unwind_info
+ segname __TEXT
+ addr 0x00000001000278d4
+ size 0x0000000000000728
+ offset 162004
+ align 2^2 (4)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Load command 2
+ cmd LC_SEGMENT_64
+ cmdsize 1352
+ segname __DATA
+ vmaddr 0x0000000100028000
+ vmsize 0x000000000000c000
+ fileoff 163840
+ filesize 49152
+ maxprot rw-
+ initprot rw-
+ nsects 16
+ flags (none)
+ Section
+ sectname __got
+ segname __DATA
+ addr 0x0000000100028000
+ size 0x00000000000000c8
+ offset 163840
+ align 2^3 (8)
+ reloff 0
+ nreloc 0
+ type S_NON_LAZY_SYMBOL_POINTERS
+ attributes (none)
+ reserved1 67 (index into indirect symbol table)
+ reserved2 0
+ Section
+ sectname __la_symbol_ptr
+ segname __DATA
+ addr 0x00000001000280c8
+ size 0x0000000000000218
+ offset 164040
+ align 2^3 (8)
+ reloff 0
+ nreloc 0
+ type S_LAZY_SYMBOL_POINTERS
+ attributes (none)
+ reserved1 92 (index into indirect symbol table)
+ reserved2 0
+ Section
+ sectname __const
+ segname __DATA
+ addr 0x00000001000282e0
+ size 0x0000000000000e60
+ offset 164576
+ align 2^3 (8)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __cfstring
+ segname __DATA
+ addr 0x0000000100029140
+ size 0x0000000000001180
+ offset 168256
+ align 2^3 (8)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __objc_classlist
+ segname __DATA
+ addr 0x000000010002a2c0
+ size 0x00000000000000c0
+ offset 172736
+ align 2^3 (8)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes NO_DEAD_STRIP
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __objc_catlist
+ segname __DATA
+ addr 0x000000010002a380
+ size 0x0000000000000000
+ offset 172928
+ align 2^0 (1)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes NO_DEAD_STRIP
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __objc_protolist
+ segname __DATA
+ addr 0x000000010002a380
+ size 0x0000000000000080
+ offset 172928
+ align 2^3 (8)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __objc_imageinfo
+ segname __DATA
+ addr 0x000000010002a400
+ size 0x0000000000000008
+ offset 173056
+ align 2^2 (4)
+
+2019-02-12 23:21:28 +0000 reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __objc_const
+ segname __DATA
+ addr 0x000000010002a408
+ size 0x00000000000073d8
+ offset 173064
+ align 2^3 (8)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __objc_selrefs
+ segname __DATA
+ addr 0x00000001000317e0
+ size 0x0000000000001008
+ offset 202720
+ align 2^3 (8)
+ reloff 0
+ nreloc 0
+ type S_LITERAL_POINTERS
+ attributes NO_DEAD_STRIP
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __objc_classrefs
+ segname __DATA
+ addr 0x00000001000327e8
+ size 0x00000000000001e0
+ offset 206824
+ align 2^3 (8)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes NO_DEAD_STRIP
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __objc_superrefs
+ segname __DATA
+ addr 0x00000001000329c8
+ size 0x00000000000000a8
+ offset 207304
+ align 2^3 (8)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes NO_DEAD_STRIP
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __objc_ivar
+ segname __DATA
+ addr 0x0000000100032a70
+ size 0x00000000000001f0
+ offset 207472
+ align 2^2 (4)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __objc_data
+ segname __DATA
+ addr 0x0000000100032c60
+ size 0x0000000000000780
+ offset 207968
+ align 2^3 (8)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __data
+ segname __DATA
+ addr 0x00000001000333e0
+ size 0x0000000000000608
+ offset 209888
+ align 2^3 (8)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __bss
+ segname __DATA
+ addr 0x00000001000339e8
+ size 0x0000000000000010
+ offset 0
+ align 2^3 (8)
+ reloff 0
+ nreloc 0
+ type S_ZEROFILL
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Load command 3
+ cmd LC_SEGMENT_64
+ cmdsize 152
+ segname __LLVM
+ vmaddr 0x0000000100034000
+ vmsize 0x0000000000120000
+ fileoff 212992
+ filesize 1179648
+ maxprot rw-
+ initprot rw-
+ nsects 1
+ flags NORELOC
+ Section
+ sectname __bundle
+ segname __LLVM
+ addr 0x0000000100034000
+ size 0x000000000011e839
+ offset 212992
+ align 2^0 (1)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Load command 4
+ cmd LC_SEGMENT_64
+ cmdsize 72
+ segname __LINKEDIT
+ vmaddr 0x0000000100154000
+ vmsize 0x0000000000010000
+ fileoff 1392640
+ filesize 51760
+ maxprot r--
+ initprot r--
+ nsects 0
+ flags (none)
+ Load command 5
+ cmd LC_DYLD_INFO_ONLY
+ cmdsize 48
+ rebase_off 1392640
+ rebase_size 1376
+ bind_off 1394016
+ bind_size 3192
+ weak_bi
+2019-02-12 23:21:28 +0000 nd_off 0
+ weak_bind_size 0
+ lazy_bind_off 1397208
+ lazy_bind_size 1984
+ export_off 1399192
+ export_size 32
+ Load command 6
+ cmd LC_SYMTAB
+ cmdsize 24
+ symoff 1400168
+ nsyms 157
+ stroff 1403316
+ strsize 3928
+ Load command 7
+ cmd LC_DYSYMTAB
+ cmdsize 80
+ ilocalsym 0
+ nlocalsym 1
+ iextdefsym 1
+ nextdefsym 1
+ iundefsym 2
+ nundefsym 155
+ tocoff 0
+ ntoc 0
+ modtaboff 0
+ nmodtab 0
+ extrefsymoff 0
+ nextrefsyms 0
+ indirectsymoff 1402680
+ nindirectsyms 159
+ extreloff 0
+ nextrel 0
+ locreloff 0
+ nlocrel 0
+ Load command 8
+ cmd LC_LOAD_DYLINKER
+ cmdsize 32
+ name /usr/lib/dyld (offset 12)
+ Load command 9
+ cmd LC_UUID
+ cmdsize 24
+ uuid B9008DD1-4500-3E7C-A200-9A37DFBCA9F2
+ Load command 10
+ cmd LC_VERSION_MIN_IPHONEOS
+ cmdsize 16
+ version 9.0
+ sdk 12.1
+ Load command 11
+ cmd LC_SOURCE_VERSION
+ cmdsize 16
+ version 0.0
+ Load command 12
+ cmd LC_MAIN
+ cmdsize 24
+ entryoff 100300
+ stacksize 0
+ Load command 13
+ cmd LC_ENCRYPTION_INFO_64
+ cmdsize 24
+ cryptoff 16384
+ cryptsize 147456
+ cryptid 0
+ pad 0
+ Load command 14
+ cmd LC_LOAD_DYLIB
+ cmdsize 80
+ name /System/Library/Frameworks/Security.framework/Security (offset 24)
+ time stamp 2 Thu Jan 1 01:00:02 1970
+ current version 58286.222.2
+ compatibility version 1.0.0
+ Load command 15
+ cmd LC_LOAD_DYLIB
+ cmdsize 88
+ name /System/Library/Frameworks/Foundation.framework/Foundation (offset 24)
+ time stamp 2 Thu Jan 1 01:00:02 1970
+ current version 1560.10.0
+ compatibility version 300.0.0
+ Load command 16
+ cmd LC_LOAD_DYLIB
+ cmdsize 56
+ name /usr/lib/libobjc.A.dylib (offset 24)
+ time stamp 2 Thu Jan 1 01:00:02 1970
+ current version 228.0.0
+ compatibility version 1.0.0
+ Load command 17
+ cmd LC_LOAD_DYLIB
+ cmdsize 56
+ name /usr/lib/libSystem.B.dylib (offset 24)
+ time stamp 2 Thu Jan 1 01:00:02 1970
+ current version 1252.200.5
+ compatibility version 1.0.0
+ Load command 18
+ cmd LC_LOAD_DYLIB
+ cmdsize 96
+ name /System/Library/Frameworks/CoreFoundation.framework/CoreFoundation (offset 24)
+ time stamp 2 Thu Jan 1 01:00:02 1970
+ current version 1560.10.0
+ compatibility version 150.0.0
+ Load command 19
+ cmd LC_LOAD_DYLIB
+ cmdsize 88
+ name /System/Library/Frameworks/CoreGraphics.framework/CoreGraphics (offset 24)
+ time stamp 2 Thu Jan 1 01:00:02 1970
+ current version 1245.9.2
+ compatibility version 64.0.0
+ Load command 20
+ cmd LC_LOAD_DYLIB
+ cmdsize 104
+ name /System/Library/Frameworks/SystemConfiguration.framework/SystemConfiguration (offset 24)
+ time stamp 2 Thu Jan 1 01:00:02 1970
+ current version 963.200.27
+ compatibility version 1.0.0
+ Load command 21
+ cmd LC_LOAD_DYLIB
+ cmdsize 80
+ name /System/Library/Frameworks/UIKit.framework/UIKit (offset 24)
+ time stamp 2 Thu Jan 1 01:00:02 1970
+ current version 61000.0.0
+ compatibility version 1.0.0
+ Load command 22
+2019-02-12 23:21:28 +0000
+ cmd LC_RPATH
+ cmdsize 40
+ path @executable_path/Frameworks (offset 12)
+ Load command 23
+ cmd LC_FUNCTION_STARTS
+ cmdsize 16
+ dataoff 1399224
+ datasize 928
+ Load command 24
+ cmd LC_DATA_IN_CODE
+ cmdsize 16
+ dataoff 1400152
+ datasize 16
+ Load command 25
+ cmd LC_CODE_SIGNATURE
+ cmdsize 16
+ dataoff 1407248
+ datasize 37152
+
+ Stderr:
+
+2019-02-12 23:21:28 +0000 /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/_CodeSignature/CodeResources
+2019-02-12 23:21:28 +0000 Command exited with pid 25884 exit 0:
+ /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/_CodeSignature/CodeResources
+ Stdout:
+ XML 1.0 document text, ASCII text
+
+ Stderr:
+
+2019-02-12 23:21:28 +0000 /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/embedded.mobileprovision
+2019-02-12 23:21:28 +0000 Command exited with pid 25885 exit 0:
+ /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/embedded.mobileprovision
+ Stdout:
+ data
+
+ Stderr:
+
+2019-02-12 23:21:28 +0000 /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/en.lproj/Localizable.strings
+2019-02-12 23:21:28 +0000 Command exited with pid 25886 exit 0:
+ /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/en.lproj/Localizable.strings
+ Stdout:
+ Apple binary property list
+
+ Stderr:
+
+2019-02-12 23:21:28 +0000 /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/it.lproj/LaunchScreen.strings
+2019-02-12 23:21:28 +0000 Command exited with pid 25887 exit 0:
+ /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/it.lproj/LaunchScreen.strings
+ Stdout:
+ very short file (no magic)
+
+ Stderr:
+
+2019-02-12 23:21:28 +0000 /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/it.lproj/Localizable.strings
+2019-02-12 23:21:28 +0000 Command exited with pid 25888 exit 0:
+ /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/it.lproj/Localizable.strings
+ Stdout:
+ Apple binary property list
+
+ Stderr:
+
+2019-02-12 23:21:28 +0000 /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/it.lproj/Main.strings
+2019-02-12 23:21:28 +0000 Command exited with pid 25889 exit 0:
+ /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/it.lproj/Main.strings
+ Stdout:
+ ASCII text
+
+ Stderr:
+
+2019-02-12 23:21:28 +0000 /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/open-24.ttf
+2019-02-12 23:21:28 +0000 Command exited with pid 25890 exit 0:
+ /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/open-24.ttf
+ Stdout:
+ TrueType Font data, 11 tables, 1st "OS/2", 48 names, Macintosh, Open 24 Display st | this font is an original design of southype | free for personal use.Regula
+
+ Stderr:
+
+2019-02-12 23:21:29 +0000 Complete LinkageGraph:
+ Telegea.app/Telegea armv7 ->
+
+ Telegea.app/Telegea arm64 ->
+2019-02-12 23:21:29 +0000 Validating IPA structure...
+2019-02-12 23:21:29 +0000 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/lipo -thin armv7 /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Telegea -output /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-in/armv7/Payload/Telegea.app/Telegea
+2019-02-12 23:21:29 +0000 Compiling bitcode...
+2019-02-12 23:21:29 +0000 Command exited with pid 25927 exit 0:
+ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/lipo -thin armv7 /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Telegea -output /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-in/armv7/Payload/Telegea.app/Telegea
+ Stdout:
+
+ Stderr:
+
+2019-02-12 23:21:29 +0000 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/lipo -thin arm64 /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Telegea -output /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-in/arm64/Payload/Telegea.app/Telegea
+2019-02-12 23:21:29 +0000 Command exited with pid 25928 exit 0:
+ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/lipo -thin arm64 /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Telegea -output /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-in/arm64/Payload/Telegea.app/Telegea
+ Stdout:
+
+ Stderr:
+
+2019-02-12 23:21:29 +0000 /Applications/Xcode.app/Contents/Developer/usr/bin/bitcode-build-tool -v -t /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin --sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.1.sdk -o /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-out/armv7/Payload/Telegea.app/Telegea --generate-dsym /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-out/armv7/Payload/Telegea.app/Telegea.dSYM --strip-swift-symbols /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-in/armv7/Payload/Telegea.app/Telegea
+2019-02-12 23:21:29 +0000 Compiling bitcode for armv7...
+ Compiling armv7 bitcode in 'Telegea'
+2019-02-12 23:21:31 +0000 Command exited with pid 25929 exit 0:
+ /Applications/Xcode.app/Contents/Developer/usr/bin/bitcode-build-tool -v -t /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin --sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.1.sdk -o /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-out/armv7/Payload/Telegea.app/Telegea --generate-dsym /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-out/armv7/Payload/Telegea.app/Telegea.dSYM --strip-swift-symbols /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-in/armv7/Payload/Telegea.app/Telegea
+ Stdout:
+ Debug: SDK path: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.1.sdk
+ Debug: PATH: ['/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin', '/Applications/Xcode.app/Contents/Developer/usr/bin']
+ Debug: Using: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/lipo
+ MachoInfo: cd /
+ "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/lipo" "-info" "/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-in/armv7/Payload/Telegea.app/Telegea"
+ -= Output =-
+ Non-fat file: /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-in/armv7/Payload/Telegea.app/Telegea is architecture: armv7
+ Exited with 0
+
+ Debug: Command took 0 seconds
+ Debug: Using: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/dwarfdump
+ GetUUID: cd /
+ "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/dwarfdump" "-u" "/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-in/armv7/Payload/Telegea.app/Telegea"
+ -= Output =-
+ UUID: 8EE7DC18-45DB-305E-B0E3-58619FAE735C (armv7) /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-in/armv7/Payload/Telegea.app/Telegea
+ Exited with 0
+
+ Debug: Command took 0 seconds
+ Debug: Using: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/segedit
+ ExtractXAR: cd /
+ "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/segedit" "/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-in/armv7/Payload/Telegea.app/Telegea" "-extract" "__LLVM" "__bundle" "/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/Telegea31V2p4/Telegea.armv7.xar"
+ -= Output =-
+ Exited with 0
+
+ Debug: Command took 0 seconds
+ Debug: Bitcode bundle version: 1.0
+ Debug: Setting platform to: iOS
+ Debug: Using: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld
+ Debug: Using: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
+ Clang: cd /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/tempwNNF3V
+ "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" "-cc1" "-triple" "thumbv7-apple-ios9.0.0" "-emit-obj" "-disable-llvm-passes" "-target-abi" "apcs-gnu" "-mfloat-abi" "soft" "-Os" "-mllvm" "-arm-bitcode-compatibility" "-mllvm" "-fast-isel=0" "-x" "ir" "01" "-o" "01.o"
+ -= Output =-
+ Exited with 0
+
+ Debug: Command took 0 seconds
+ Clang: cd /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/tempwNNF3V
+ "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" "-cc1" "-triple" "thumbv7-apple-ios9.0.0" "-emit-obj" "-disable-llvm-passes" "-target-abi" "apcs-gnu" "-mfloat-abi" "soft" "-Os" "-mllvm" "-arm-bitcode-compatibility" "-mllvm" "-fast-isel=0" "-x" "ir" "02" "-o" "02.o"
+2019-02-12 23:21:31 +0000 -= Output =-
+ Exited with 0
+
+ Debug: Command took 0 seconds
+ Clang: cd /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/tempwNNF3V
+ "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" "-cc1" "-triple" "thumbv7-apple-ios9.0.0" "-emit-obj" "-disable-llvm-passes" "-target-abi" "apcs-gnu" "-mfloat-abi" "soft" "-Os" "-mllvm" "-arm-bitcode-compatibility" "-mllvm" "-fast-isel=0" "-x" "ir" "03" "-o" "03.o"
+ -= Output =-
+ Exited with 0
+
+ Debug: Command took 0 seconds
+ Clang: cd /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/tempwNNF3V
+ "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" "-cc1" "-triple" "thumbv7-apple-ios9.0.0" "-emit-obj" "-disable-llvm-passes" "-target-abi" "apcs-gnu" "-mfloat-abi" "soft" "-Os" "-mllvm" "-arm-bitcode-compatibility" "-mllvm" "-fast-isel=0" "-x" "ir" "04" "-o" "04.o"
+ -= Output =-
+ Exited with 0
+
+ Debug: Command took 0 seconds
+ Clang: cd /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/tempwNNF3V
+ "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" "-cc1" "-triple" "thumbv7-apple-ios9.0.0" "-emit-obj" "-disable-llvm-passes" "-target-abi" "apcs-gnu" "-mfloat-abi" "soft" "-Os" "-mllvm" "-arm-bitcode-compatibility" "-mllvm" "-fast-isel=0" "-x" "ir" "05" "-o" "05.o"
+ -= Output =-
+ Exited with 0
+
+ Debug: Command took 0 seconds
+ Clang: cd /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/tempwNNF3V
+ "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" "-cc1" "-triple" "thumbv7-apple-ios9.0.0" "-emit-obj" "-disable-llvm-passes" "-target-abi" "apcs-gnu" "-mfloat-abi" "soft" "-Os" "-mllvm" "-arm-bitcode-compatibility" "-mllvm" "-fast-isel=0" "-x" "ir" "06" "-o" "06.o"
+ -= Output =-
+ Exited with 0
+
+ Debug: Command took 0 seconds
+ Clang: cd /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/tempwNNF3V
+ "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" "-cc1" "-triple" "thumbv7-apple-ios9.0.0" "-emit-obj" "-disable-llvm-passes" "-target-abi" "apcs-gnu" "-mfloat-abi" "soft" "-Os" "-mllvm" "-arm-bitcode-compatibility" "-mllvm" "-fast-isel=0" "-x" "ir" "07" "-o" "07.o"
+ -= Output =-
+ Exited with 0
+
+ Debug: Command took 0 seconds
+ Clang: cd /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/tempwNNF3V
+ "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" "-cc1" "-triple" "thumbv7-apple-ios9.0.0" "-emit-obj" "-disable-llvm-passes" "-target-abi" "apcs-gnu" "-mfloat-abi" "soft" "-Os" "-mllvm" "-arm-bitcode-compatibility" "-mllvm" "-fast-isel=0" "-x" "ir" "08" "-o" "08.o"
+ -= Output =-
+ Exited with 0
+
+ Debug: Command took 0 seconds
+ Clang: cd /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/tempwNNF3V
+ "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" "-cc1" "-triple" "thumbv7-apple-ios9.0.0" "-emit-obj" "-disable-llvm-passes" "-target-abi" "apcs-gnu" "-mfloat-abi" "soft" "-Os" "-mllvm" "-arm-bitcode-compatibility" "-mllvm" "-fast-isel=0" "-x" "ir" "09" "-o" "09.o"
+ -= Output =-
+ Exited with 0
+
+ Debug: Command took 0 seconds
+ Clang: cd /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/tempwNNF3V
+ "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" "-cc1" "-triple" "thumbv7-apple-ios9.0.0" "-emit-obj" "-disable-llvm-passes" "-target-abi" "apcs-gnu" "-mfloat-abi" "soft" "-Os" "-mllvm" "-arm-bitcode-compatibility" "-mllvm" "-fast-isel=0" "-x" "ir" "10" "-o" "10.o"
+ -= Output =-
+ Exited with 0
+
+ Debug: Command took 0 seconds
+ Clang: cd /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/tempwNNF3V
+ "/Applic
+2019-02-12 23:21:31 +0000 ations/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" "-cc1" "-triple" "thumbv7-apple-ios9.0.0" "-emit-obj" "-disable-llvm-passes" "-target-abi" "apcs-gnu" "-mfloat-abi" "soft" "-Os" "-mllvm" "-arm-bitcode-compatibility" "-mllvm" "-fast-isel=0" "-x" "ir" "11" "-o" "11.o"
+ -= Output =-
+ Exited with 0
+
+ Debug: Command took 0 seconds
+ Clang: cd /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/tempwNNF3V
+ "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" "-cc1" "-triple" "thumbv7-apple-ios9.0.0" "-emit-obj" "-disable-llvm-passes" "-target-abi" "apcs-gnu" "-mfloat-abi" "soft" "-Os" "-mllvm" "-arm-bitcode-compatibility" "-mllvm" "-fast-isel=0" "-x" "ir" "12" "-o" "12.o"
+ -= Output =-
+ Exited with 0
+
+ Debug: Command took 0 seconds
+ Clang: cd /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/tempwNNF3V
+ "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" "-cc1" "-triple" "thumbv7-apple-ios9.0.0" "-emit-obj" "-disable-llvm-passes" "-target-abi" "apcs-gnu" "-mfloat-abi" "soft" "-Os" "-mllvm" "-arm-bitcode-compatibility" "-mllvm" "-fast-isel=0" "-x" "ir" "13" "-o" "13.o"
+ -= Output =-
+ Exited with 0
+
+ Debug: Command took 0 seconds
+ Clang: cd /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/tempwNNF3V
+ "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" "-cc1" "-triple" "thumbv7-apple-ios9.0.0" "-emit-obj" "-disable-llvm-passes" "-target-abi" "apcs-gnu" "-mfloat-abi" "soft" "-Os" "-mllvm" "-arm-bitcode-compatibility" "-mllvm" "-fast-isel=0" "-x" "ir" "14" "-o" "14.o"
+ -= Output =-
+ Exited with 0
+
+ Debug: Command took 0 seconds
+ Clang: cd /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/tempwNNF3V
+ "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" "-cc1" "-triple" "thumbv7-apple-ios9.0.0" "-emit-obj" "-disable-llvm-passes" "-target-abi" "apcs-gnu" "-mfloat-abi" "soft" "-Os" "-mllvm" "-arm-bitcode-compatibility" "-mllvm" "-fast-isel=0" "-x" "ir" "15" "-o" "15.o"
+ -= Output =-
+ Exited with 0
+
+ Debug: Command took 0 seconds
+ Clang: cd /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/tempwNNF3V
+ "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" "-cc1" "-triple" "thumbv7-apple-ios9.0.0" "-emit-obj" "-disable-llvm-passes" "-target-abi" "apcs-gnu" "-mfloat-abi" "soft" "-Os" "-mllvm" "-arm-bitcode-compatibility" "-mllvm" "-fast-isel=0" "-x" "ir" "16" "-o" "16.o"
+ -= Output =-
+ Exited with 0
+
+ Debug: Command took 0 seconds
+ Clang: cd /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/tempwNNF3V
+ "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" "-cc1" "-triple" "thumbv7-apple-ios9.0.0" "-emit-obj" "-disable-llvm-passes" "-target-abi" "apcs-gnu" "-mfloat-abi" "soft" "-Os" "-mllvm" "-arm-bitcode-compatibility" "-mllvm" "-fast-isel=0" "-x" "ir" "17" "-o" "17.o"
+ -= Output =-
+ Exited with 0
+
+ Debug: Command took 0 seconds
+ Clang: cd /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/tempwNNF3V
+ "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" "-cc1" "-triple" "thumbv7-apple-ios9.0.0" "-emit-obj" "-disable-llvm-passes" "-target-abi" "apcs-gnu" "-mfloat-abi" "soft" "-Os" "-mllvm" "-arm-bitcode-compatibility" "-mllvm" "-fast-isel=0" "-x" "ir" "18" "-o" "18.o"
+ -= Output =-
+ Exited with 0
+
+ Debug: Command took 0 seconds
+ Clang: cd /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/tempwNNF3V
+ "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" "-cc1" "-triple" "thumbv7-apple-ios9.0.0" "-emit-obj" "-disable-llvm-passes" "-target-abi" "apcs-
+2019-02-12 23:21:31 +0000 gnu" "-mfloat-abi" "soft" "-Os" "-mllvm" "-arm-bitcode-compatibility" "-mllvm" "-fast-isel=0" "-x" "ir" "19" "-o" "19.o"
+ -= Output =-
+ Exited with 0
+
+ Debug: Command took 0 seconds
+ Clang: cd /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/tempwNNF3V
+ "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" "-cc1" "-triple" "thumbv7-apple-ios9.0.0" "-emit-obj" "-disable-llvm-passes" "-target-abi" "apcs-gnu" "-mfloat-abi" "soft" "-Os" "-mllvm" "-arm-bitcode-compatibility" "-mllvm" "-fast-isel=0" "-x" "ir" "20" "-o" "20.o"
+ -= Output =-
+ Exited with 0
+
+ Debug: Command took 0 seconds
+ Clang: cd /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/tempwNNF3V
+ "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" "-cc1" "-triple" "thumbv7-apple-ios9.0.0" "-emit-obj" "-disable-llvm-passes" "-target-abi" "apcs-gnu" "-mfloat-abi" "soft" "-Os" "-mllvm" "-arm-bitcode-compatibility" "-mllvm" "-fast-isel=0" "-x" "ir" "21" "-o" "21.o"
+ -= Output =-
+ Exited with 0
+
+ Debug: Command took 0 seconds
+ Debug: Found framework/dylib: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.1.sdk/System/Library/Frameworks/Security.framework/Security.tbd
+ Debug: Found framework/dylib: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.1.sdk/System/Library/Frameworks/Foundation.framework/Foundation.tbd
+ Debug: Found framework/dylib: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.1.sdk/usr/lib/libobjc.A.tbd
+ Debug: Found framework/dylib: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.1.sdk/usr/lib/libSystem.B.tbd
+ Debug: Found framework/dylib: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.1.sdk/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation.tbd
+ Debug: Found framework/dylib: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.1.sdk/System/Library/Frameworks/CoreGraphics.framework/CoreGraphics.tbd
+ Debug: Found framework/dylib: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.1.sdk/System/Library/Frameworks/SystemConfiguration.framework/SystemConfiguration.tbd
+ Debug: Found framework/dylib: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.1.sdk/System/Library/Frameworks/UIKit.framework/UIKit.tbd
+ Debug: Found framework/dylib: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.1.sdk/usr/lib/libobjc.A.tbd
+ Ld: cd /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/tempwNNF3V
+ "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld" "-arch" "armv7" "-execute" "-ios_version_min" "9.0.0" "-e" "_main" "-rpath" "@executable_path/Frameworks" "-executable_path" "/Users/lucaberetta/Library/Developer/Xcode/DerivedData/Telegea-bpsltimmskdeibexizjvihztmrby/Build/Intermediates.noindex/ArchiveIntermediates/Telegea/IntermediateBuildFilesPath/Telegea.build/Release-iphoneos/Telegea.build/Objects-normal/armv7/Telegea" "-dead_strip" "-syslibroot" "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.1.sdk" "-sdk_version" "12.1.0" "-filelist" "/private/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/Telegea31V2p4/Telegea.armv7.out.LinkFileList" "-ignore_auto_link" "-allow_dead_duplicates" "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.1.sdk/System/Library/Frameworks/Security.framework/Security.tbd" "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.1.sdk/System/Library/Frameworks/Foundation.framewor
+2019-02-12 23:21:31 +0000 k/Foundation.tbd" "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.1.sdk/usr/lib/libobjc.A.tbd" "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.1.sdk/usr/lib/libSystem.B.tbd" "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.1.sdk/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation.tbd" "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.1.sdk/System/Library/Frameworks/CoreGraphics.framework/CoreGraphics.tbd" "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.1.sdk/System/Library/Frameworks/SystemConfiguration.framework/SystemConfiguration.tbd" "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.1.sdk/System/Library/Frameworks/UIKit.framework/UIKit.tbd" "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.1.sdk/usr/lib/libobjc.A.tbd" "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/10.0.0/lib/darwin/libclang_rt.ios.a" "-o" "/private/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/Telegea31V2p4/Telegea.armv7.out"
+ -= Output =-
+ Exited with 0
+
+ Debug: Command took 0 seconds
+ warning: Cannot genarte useful dsym from input macho file: /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-in/armv7/Payload/Telegea.app/Telegea
+
+ GetUUID: cd /
+ "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/dwarfdump" "-u" "/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-out/armv7/Payload/Telegea.app/Telegea"
+ -= Output =-
+ UUID: 97E38482-C1CA-38C4-A1A3-AB6C9DB6820B (armv7) /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-out/armv7/Payload/Telegea.app/Telegea
+ Exited with 0
+
+ Debug: Command took 0 seconds
+ Debug: Using: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/dsymutil
+ Dsymutil: cd /
+ "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/dsymutil" "/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-out/armv7/Payload/Telegea.app/Telegea" "-o" "/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-out/armv7/Payload/Telegea.app/Telegea.dSYM"
+ -= Output =-
+ Exited with 0
+
+ Debug: Command took 0 seconds
+ Debug: Using: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/strip
+ StripSymbols: cd /
+ "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/strip" "/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-out/armv7/Payload/Telegea.app/Telegea"
+ -= Output =-
+ Exited with 0
+
+ Debug: Command took 0 seconds
+
+ Stderr:
+
+/Applications/Xcode.app/Contents/Developer/usr/bin/symbols -failIfMissingDsym -symbolsPackageDir /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-out/armv7/Payload/Telegea.app /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-out/armv7/Payload/Telegea.app/Telegea
+2019-02-12 23:21:32 +0000 Command exited with pid 25963 exit 0:
+ /Applications/Xcode.app/Contents/Developer/usr/bin/symbols -failIfMissingDsym -symbolsPackageDir /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-out/armv7/Payload/Telegea.app /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-out/armv7/Payload/Telegea.app/Telegea
+ Stdout:
+ /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-out/armv7/Payload/Telegea.app/Telegea [armv7, 0.008092 seconds]:
+
+ Stderr:
+
+2019-02-12 23:21:32 +0000 /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-out/armv7/Payload/Telegea.app/Telegea.dSYM/Contents/Resources/DWARF/Telegea
+2019-02-12 23:21:32 +0000 Command exited with pid 25964 exit 0:
+ /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-out/armv7/Payload/Telegea.app/Telegea.dSYM/Contents/Resources/DWARF/Telegea
+ Stdout:
+ Mach-O dSYM companion file arm_v7
+
+ Stderr:
+
+2019-02-12 23:21:32 +0000 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/lipo -info /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-out/armv7/Payload/Telegea.app/Telegea.dSYM/Contents/Resources/DWARF/Telegea
+2019-02-12 23:21:32 +0000 Command exited with pid 25965 exit 0:
+ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/lipo -info /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-out/armv7/Payload/Telegea.app/Telegea.dSYM/Contents/Resources/DWARF/Telegea
+ Stdout:
+ Non-fat file: /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-out/armv7/Payload/Telegea.app/Telegea.dSYM/Contents/Resources/DWARF/Telegea is architecture: armv7
+
+ Stderr:
+
+2019-02-12 23:21:32 +0000 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/otool -h -v -m -arch all /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-out/armv7/Payload/Telegea.app/Telegea.dSYM/Contents/Resources/DWARF/Telegea
+2019-02-12 23:21:32 +0000 Command exited with pid 25966 exit 0:
+ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/otool -h -v -m -arch all /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-out/armv7/Payload/Telegea.app/Telegea.dSYM/Contents/Resources/DWARF/Telegea
+ Stdout:
+ Mach header
+ magic cputype cpusubtype caps filetype ncmds sizeofcmds flags
+ MH_MAGIC ARM V7 0x00 DSYM 7 2844 0x00000000
+
+ Stderr:
+
+2019-02-12 23:21:32 +0000 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/otool -l -v -m -arch armv7 /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-out/armv7/Payload/Telegea.app/Telegea.dSYM/Contents/Resources/DWARF/Telegea
+2019-02-12 23:21:32 +0000 Command exited with pid 25968 exit 0:
+ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/otool -l -v -m -arch armv7 /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-out/armv7/Payload/Telegea.app/Telegea.dSYM/Contents/Resources/DWARF/Telegea
+ Stdout:
+ /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-out/armv7/Payload/Telegea.app/Telegea.dSYM/Contents/Resources/DWARF/Telegea:
+ Mach header
+ magic cputype cpusubtype caps filetype ncmds sizeofcmds flags
+ MH_MAGIC ARM V7 0x00 DSYM 7 2844 0x00000000
+ Load command 0
+ cmd LC_UUID
+ cmdsize 24
+ uuid 97E38482-C1CA-38C4-A1A3-AB6C9DB6820B
+ Load command 1
+ cmd LC_SYMTAB
+ cmdsize 24
+ symoff 4096
+ nsyms 996
+ stroff 16048
+ strsize 13551
+ Load command 2
+ cmd LC_SEGMENT
+ cmdsize 56
+ segname __PAGEZERO
+ vmaddr 0x00000000
+ vmsize 0x00004000
+ fileoff 0
+ filesize 0
+ maxprot ---
+ initprot ---
+ nsects 0
+ flags (none)
+ Load command 3
+ cmd LC_SEGMENT
+ cmdsize 736
+ segname __TEXT
+ vmaddr 0x00004000
+ vmsize 0x00028000
+ fileoff 0
+ filesize 0
+ maxprot r-x
+ initprot r-x
+ nsects 10
+ flags (none)
+ Section
+ sectname __text
+ segname __TEXT
+ addr 0x0000ba84
+ size 0x00017b00
+ offset 0
+ align 2^2 (4)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes PURE_INSTRUCTIONS SOME_INSTRUCTIONS
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __picsymbolstub4
+ segname __TEXT
+ addr 0x00023584
+ size 0x00000480
+ offset 0
+ align 2^2 (4)
+ reloff 0
+ nreloc 0
+ type S_SYMBOL_STUBS
+ attributes PURE_INSTRUCTIONS SOME_INSTRUCTIONS
+ reserved1 0 (index into indirect symbol table)
+ reserved2 16 (size of stubs)
+ Section
+ sectname __stub_helper
+ segname __TEXT
+ addr 0x00023a04
+ size 0x00000384
+ offset 0
+ align 2^2 (4)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes PURE_INSTRUCTIONS SOME_INSTRUCTIONS
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __objc_methname
+ segname __TEXT
+ addr 0x00023d88
+ size 0x00004a8c
+ offset 0
+ align 2^0 (1)
+ reloff 0
+ nreloc 0
+ type S_CSTRING_LITERALS
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __cstring
+ segname __TEXT
+ addr 0x00028814
+ size 0x000019d5
+ offset 0
+ align 2^0 (1)
+ reloff 0
+ nreloc 0
+ type S_CSTRING_LITERALS
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __objc_classname
+ segname __TEXT
+ addr 0x0002a1e9
+ size 0x00000344
+ offset 0
+ align 2^0 (1)
+ reloff 0
+ nreloc 0
+ type S_CSTRING_LITERALS
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __objc_methtype
+ segname __TEXT
+ addr 0x0002a52d
+ size 0x00001a53
+ offset 0
+ align 2^0 (1)
+ reloff 0
+ nreloc 0
+ type S_CSTRING_LITERALS
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __gcc_except_tab
+ segname __TEXT
+ addr 0x0002bf80
+
+2019-02-12 23:21:32 +0000 size 0x00000020
+ offset 0
+ align 2^2 (4)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __const
+ segname __TEXT
+ addr 0x0002bfa0
+ size 0x00000008
+ offset 0
+ align 2^2 (4)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __ustring
+ segname __TEXT
+ addr 0x0002bfa8
+ size 0x00000056
+ offset 0
+ align 2^1 (2)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Load command 4
+ cmd LC_SEGMENT
+ cmdsize 1144
+ segname __DATA
+ vmaddr 0x0002c000
+ vmsize 0x00008000
+ fileoff 0
+ filesize 0
+ maxprot rw-
+ initprot rw-
+ nsects 16
+ flags (none)
+ Section
+ sectname __nl_symbol_ptr
+ segname __DATA
+ addr 0x0002c000
+ size 0x00000068
+ offset 0
+ align 2^2 (4)
+ reloff 0
+ nreloc 0
+ type S_NON_LAZY_SYMBOL_POINTERS
+ attributes (none)
+ reserved1 72 (index into indirect symbol table)
+ reserved2 0
+ Section
+ sectname __la_symbol_ptr
+ segname __DATA
+ addr 0x0002c068
+ size 0x00000120
+ offset 0
+ align 2^2 (4)
+ reloff 0
+ nreloc 0
+ type S_LAZY_SYMBOL_POINTERS
+ attributes (none)
+ reserved1 98 (index into indirect symbol table)
+ reserved2 0
+ Section
+ sectname __const
+ segname __DATA
+ addr 0x0002c188
+ size 0x00000750
+ offset 0
+ align 2^2 (4)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __cfstring
+ segname __DATA
+ addr 0x0002c8d8
+ size 0x000008c0
+ offset 0
+ align 2^2 (4)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __objc_classlist
+ segname __DATA
+ addr 0x0002d198
+ size 0x00000060
+ offset 0
+ align 2^2 (4)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes NO_DEAD_STRIP
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __objc_catlist
+ segname __DATA
+ addr 0x0002d1f8
+ size 0x00000000
+ offset 0
+ align 2^0 (1)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes NO_DEAD_STRIP
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __objc_protolist
+ segname __DATA
+ addr 0x0002d1f8
+ size 0x00000040
+ offset 0
+ align 2^2 (4)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __objc_imageinfo
+ segname __DATA
+ addr 0x0002d238
+ size 0x00000008
+ offset 0
+ align 2^2 (4)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __objc_const
+ segname __DATA
+ addr 0x0002d240
+ size 0x00003e04
+ offset 0
+ align 2^3 (8)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ at
+2019-02-12 23:21:32 +0000 tributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __objc_selrefs
+ segname __DATA
+ addr 0x00031044
+ size 0x00000800
+ offset 0
+ align 2^2 (4)
+ reloff 0
+ nreloc 0
+ type S_LITERAL_POINTERS
+ attributes NO_DEAD_STRIP
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __objc_classrefs
+ segname __DATA
+ addr 0x00031844
+ size 0x000000f0
+ offset 0
+ align 2^2 (4)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes NO_DEAD_STRIP
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __objc_superrefs
+ segname __DATA
+ addr 0x00031934
+ size 0x00000054
+ offset 0
+ align 2^2 (4)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes NO_DEAD_STRIP
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __objc_ivar
+ segname __DATA
+ addr 0x00031988
+ size 0x000001f0
+ offset 0
+ align 2^2 (4)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __objc_data
+ segname __DATA
+ addr 0x00031b78
+ size 0x000003c0
+ offset 0
+ align 2^2 (4)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __data
+ segname __DATA
+ addr 0x00031f38
+ size 0x00000344
+ offset 0
+ align 2^2 (4)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __bss
+ segname __DATA
+ addr 0x0003227c
+ size 0x00000008
+ offset 0
+ align 2^2 (4)
+ reloff 0
+ nreloc 0
+ type S_ZEROFILL
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Load command 5
+ cmd LC_SEGMENT
+ cmdsize 56
+ segname __LINKEDIT
+ vmaddr 0x00034000
+ vmsize 0x00007000
+ fileoff 4096
+ filesize 25503
+ maxprot r--
+ initprot r--
+ nsects 0
+ flags (none)
+ Load command 6
+ cmd LC_SEGMENT
+ cmdsize 804
+ segname __DWARF
+ vmaddr 0x0003b000
+ vmsize 0x00014000
+ fileoff 32768
+ filesize 80931
+ maxprot rwx
+ initprot rw-
+ nsects 11
+ flags (none)
+ Section
+ sectname __debug_line
+ segname __DWARF
+ addr 0x0003b000
+ size 0x00007ad1
+ offset 32768
+ align 2^0 (1)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __debug_pubnames
+ segname __DWARF
+ addr 0x00042ad1
+ size 0x00003375
+ offset 64209
+ align 2^0 (1)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __debug_aranges
+ segname __DWARF
+ addr 0x00045e46
+ size 0x00000300
+ offset 77382
+ align 2^0 (1)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __debug_info
+ segname __DWARF
+ addr 0x00046146
+ size 0x000028b8
+ offset 78150
+ align 2^0 (1)
+
+2019-02-12 23:21:32 +0000 reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __debug_ranges
+ segname __DWARF
+ addr 0x000489fe
+ size 0x00000098
+ offset 88574
+ align 2^0 (1)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __debug_abbrev
+ segname __DWARF
+ addr 0x00048a96
+ size 0x00000062
+ offset 88726
+ align 2^0 (1)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __debug_str
+ segname __DWARF
+ addr 0x00048af8
+ size 0x000021d7
+ offset 88824
+ align 2^0 (1)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __apple_names
+ segname __DWARF
+ addr 0x0004accf
+ size 0x00003edc
+ offset 97487
+ align 2^0 (1)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __apple_namespac
+ segname __DWARF
+ addr 0x0004ebab
+ size 0x00000024
+ offset 113579
+ align 2^0 (1)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __apple_types
+ segname __DWARF
+ addr 0x0004ebcf
+ size 0x00000030
+ offset 113615
+ align 2^0 (1)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __apple_objc
+ segname __DWARF
+ addr 0x0004ebff
+ size 0x00000024
+ offset 113663
+ align 2^0 (1)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes (none)
+ reserved1 0
+ reserved2 0
+
+ Stderr:
+
+2019-02-12 23:21:32 +0000 warning: Could not determine platform for armv7 in /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-out/armv7/Payload/Telegea.app/Telegea.dSYM/Contents/Resources/DWARF/Telegea
+2019-02-12 23:21:32 +0000 /Applications/Xcode.app/Contents/Developer/usr/bin/bitcode-build-tool -v -t /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin --sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.1.sdk -o /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-out/arm64/Payload/Telegea.app/Telegea --generate-dsym /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-out/arm64/Payload/Telegea.app/Telegea.dSYM --strip-swift-symbols /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-in/arm64/Payload/Telegea.app/Telegea
+2019-02-12 23:21:32 +0000 Compiling bitcode for arm64...
+ Compiling arm64 bitcode in 'Telegea'
+2019-02-12 23:21:34 +0000 Command exited with pid 25970 exit 0:
+ /Applications/Xcode.app/Contents/Developer/usr/bin/bitcode-build-tool -v -t /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin --sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.1.sdk -o /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-out/arm64/Payload/Telegea.app/Telegea --generate-dsym /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-out/arm64/Payload/Telegea.app/Telegea.dSYM --strip-swift-symbols /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-in/arm64/Payload/Telegea.app/Telegea
+ Stdout:
+ Debug: SDK path: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.1.sdk
+ Debug: PATH: ['/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin', '/Applications/Xcode.app/Contents/Developer/usr/bin']
+ Debug: Using: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/lipo
+ MachoInfo: cd /
+ "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/lipo" "-info" "/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-in/arm64/Payload/Telegea.app/Telegea"
+ -= Output =-
+ Non-fat file: /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-in/arm64/Payload/Telegea.app/Telegea is architecture: arm64
+ Exited with 0
+
+ Debug: Command took 0 seconds
+ Debug: Using: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/dwarfdump
+ GetUUID: cd /
+ "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/dwarfdump" "-u" "/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-in/arm64/Payload/Telegea.app/Telegea"
+ -= Output =-
+ UUID: B9008DD1-4500-3E7C-A200-9A37DFBCA9F2 (arm64) /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-in/arm64/Payload/Telegea.app/Telegea
+ Exited with 0
+
+ Debug: Command took 0 seconds
+ Debug: Using: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/segedit
+ ExtractXAR: cd /
+ "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/segedit" "/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-in/arm64/Payload/Telegea.app/Telegea" "-extract" "__LLVM" "__bundle" "/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/TelegeaI1iiSl/Telegea.arm64.xar"
+ -= Output =-
+ Exited with 0
+
+ Debug: Command took 0 seconds
+ Debug: Bitcode bundle version: 1.0
+ Debug: Setting platform to: iOS
+ Debug: Using: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld
+ Debug: Using: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
+ Clang: cd /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/tempMcpupR
+ "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" "-cc1" "-triple" "arm64-apple-ios9.0.0" "-emit-obj" "-disable-llvm-passes" "-target-abi" "darwinpcs" "-Os" "-x" "ir" "01" "-o" "01.o"
+ -= Output =-
+ Exited with 0
+
+ Debug: Command took 0 seconds
+ Clang: cd /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/tempMcpupR
+ "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" "-cc1" "-triple" "arm64-apple-ios9.0.0" "-emit-obj" "-disable-llvm-passes" "-target-abi" "darwinpcs" "-Os" "-x" "ir" "02" "-o" "02.o"
+ -= Output =-
+ Exited with 0
+
+ Debug: Command took 0 seconds
+ Clang: cd /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/tempMcpupR
+2019-02-12 23:21:34 +0000 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" "-cc1" "-triple" "arm64-apple-ios9.0.0" "-emit-obj" "-disable-llvm-passes" "-target-abi" "darwinpcs" "-Os" "-x" "ir" "03" "-o" "03.o"
+ -= Output =-
+ Exited with 0
+
+ Debug: Command took 0 seconds
+ Clang: cd /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/tempMcpupR
+ "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" "-cc1" "-triple" "arm64-apple-ios9.0.0" "-emit-obj" "-disable-llvm-passes" "-target-abi" "darwinpcs" "-Os" "-x" "ir" "04" "-o" "04.o"
+ -= Output =-
+ Exited with 0
+
+ Debug: Command took 0 seconds
+ Clang: cd /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/tempMcpupR
+ "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" "-cc1" "-triple" "arm64-apple-ios9.0.0" "-emit-obj" "-disable-llvm-passes" "-target-abi" "darwinpcs" "-Os" "-x" "ir" "05" "-o" "05.o"
+ -= Output =-
+ Exited with 0
+
+ Debug: Command took 0 seconds
+ Clang: cd /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/tempMcpupR
+ "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" "-cc1" "-triple" "arm64-apple-ios9.0.0" "-emit-obj" "-disable-llvm-passes" "-target-abi" "darwinpcs" "-Os" "-x" "ir" "06" "-o" "06.o"
+ -= Output =-
+ Exited with 0
+
+ Debug: Command took 0 seconds
+ Clang: cd /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/tempMcpupR
+ "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" "-cc1" "-triple" "arm64-apple-ios9.0.0" "-emit-obj" "-disable-llvm-passes" "-target-abi" "darwinpcs" "-Os" "-x" "ir" "07" "-o" "07.o"
+ -= Output =-
+ Exited with 0
+
+ Debug: Command took 0 seconds
+ Clang: cd /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/tempMcpupR
+ "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" "-cc1" "-triple" "arm64-apple-ios9.0.0" "-emit-obj" "-disable-llvm-passes" "-target-abi" "darwinpcs" "-Os" "-x" "ir" "08" "-o" "08.o"
+ -= Output =-
+ Exited with 0
+
+ Debug: Command took 0 seconds
+ Clang: cd /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/tempMcpupR
+ "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" "-cc1" "-triple" "arm64-apple-ios9.0.0" "-emit-obj" "-disable-llvm-passes" "-target-abi" "darwinpcs" "-Os" "-x" "ir" "09" "-o" "09.o"
+ -= Output =-
+ Exited with 0
+
+ Debug: Command took 0 seconds
+ Clang: cd /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/tempMcpupR
+ "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" "-cc1" "-triple" "arm64-apple-ios9.0.0" "-emit-obj" "-disable-llvm-passes" "-target-abi" "darwinpcs" "-Os" "-x" "ir" "10" "-o" "10.o"
+ -= Output =-
+ Exited with 0
+
+ Debug: Command took 0 seconds
+ Clang: cd /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/tempMcpupR
+ "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" "-cc1" "-triple" "arm64-apple-ios9.0.0" "-emit-obj" "-disable-llvm-passes" "-target-abi" "darwinpcs" "-Os" "-x" "ir" "11" "-o" "11.o"
+ -= Output =-
+ Exited with 0
+
+ Debug: Command took 0 seconds
+ Clang: cd /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/tempMcpupR
+ "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" "-cc1" "-triple" "arm64-apple-ios9.0.0" "-emit-obj" "-disable-llvm-passes" "-target-abi" "darwinpcs" "-Os" "-x" "ir" "12" "-o" "12.o"
+ -= Output =-
+ Exited with 0
+
+ Debug: Command took 0 seconds
+ Clang: cd /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/tempMcpupR
+ "/Applications/Xcode.app/Contents/Deve
+2019-02-12 23:21:34 +0000 loper/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" "-cc1" "-triple" "arm64-apple-ios9.0.0" "-emit-obj" "-disable-llvm-passes" "-target-abi" "darwinpcs" "-Os" "-x" "ir" "13" "-o" "13.o"
+ -= Output =-
+ Exited with 0
+
+ Debug: Command took 0 seconds
+ Clang: cd /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/tempMcpupR
+ "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" "-cc1" "-triple" "arm64-apple-ios9.0.0" "-emit-obj" "-disable-llvm-passes" "-target-abi" "darwinpcs" "-Os" "-x" "ir" "14" "-o" "14.o"
+ -= Output =-
+ Exited with 0
+
+ Debug: Command took 0 seconds
+ Clang: cd /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/tempMcpupR
+ "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" "-cc1" "-triple" "arm64-apple-ios9.0.0" "-emit-obj" "-disable-llvm-passes" "-target-abi" "darwinpcs" "-Os" "-x" "ir" "15" "-o" "15.o"
+ -= Output =-
+ Exited with 0
+
+ Debug: Command took 0 seconds
+ Clang: cd /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/tempMcpupR
+ "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" "-cc1" "-triple" "arm64-apple-ios9.0.0" "-emit-obj" "-disable-llvm-passes" "-target-abi" "darwinpcs" "-Os" "-x" "ir" "16" "-o" "16.o"
+ -= Output =-
+ Exited with 0
+
+ Debug: Command took 0 seconds
+ Clang: cd /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/tempMcpupR
+ "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" "-cc1" "-triple" "arm64-apple-ios9.0.0" "-emit-obj" "-disable-llvm-passes" "-target-abi" "darwinpcs" "-Os" "-x" "ir" "17" "-o" "17.o"
+ -= Output =-
+ Exited with 0
+
+ Debug: Command took 0 seconds
+ Clang: cd /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/tempMcpupR
+ "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" "-cc1" "-triple" "arm64-apple-ios9.0.0" "-emit-obj" "-disable-llvm-passes" "-target-abi" "darwinpcs" "-Os" "-x" "ir" "18" "-o" "18.o"
+ -= Output =-
+ Exited with 0
+
+ Debug: Command took 0 seconds
+ Clang: cd /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/tempMcpupR
+ "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" "-cc1" "-triple" "arm64-apple-ios9.0.0" "-emit-obj" "-disable-llvm-passes" "-target-abi" "darwinpcs" "-Os" "-x" "ir" "19" "-o" "19.o"
+ -= Output =-
+ Exited with 0
+
+ Debug: Command took 0 seconds
+ Clang: cd /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/tempMcpupR
+ "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" "-cc1" "-triple" "arm64-apple-ios9.0.0" "-emit-obj" "-disable-llvm-passes" "-target-abi" "darwinpcs" "-Os" "-x" "ir" "20" "-o" "20.o"
+ -= Output =-
+ Exited with 0
+
+ Debug: Command took 0 seconds
+ Clang: cd /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/tempMcpupR
+ "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" "-cc1" "-triple" "arm64-apple-ios9.0.0" "-emit-obj" "-disable-llvm-passes" "-target-abi" "darwinpcs" "-Os" "-x" "ir" "21" "-o" "21.o"
+ -= Output =-
+ Exited with 0
+
+ Debug: Command took 0 seconds
+ Debug: Found framework/dylib: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.1.sdk/System/Library/Frameworks/Security.framework/Security.tbd
+ Debug: Found framework/dylib: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.1.sdk/System/Library/Frameworks/Foundation.framework/Foundation.tbd
+ Debug: Found framework/dylib: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.1.sdk/usr/lib/libobjc.A.tbd
+ De
+2019-02-12 23:21:34 +0000 bug: Found framework/dylib: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.1.sdk/usr/lib/libSystem.B.tbd
+ Debug: Found framework/dylib: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.1.sdk/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation.tbd
+ Debug: Found framework/dylib: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.1.sdk/System/Library/Frameworks/CoreGraphics.framework/CoreGraphics.tbd
+ Debug: Found framework/dylib: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.1.sdk/System/Library/Frameworks/SystemConfiguration.framework/SystemConfiguration.tbd
+ Debug: Found framework/dylib: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.1.sdk/System/Library/Frameworks/UIKit.framework/UIKit.tbd
+ Debug: Found framework/dylib: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.1.sdk/usr/lib/libobjc.A.tbd
+ Ld: cd /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/tempMcpupR
+ "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld" "-arch" "arm64" "-execute" "-ios_version_min" "9.0.0" "-e" "_main" "-rpath" "@executable_path/Frameworks" "-executable_path" "/Users/lucaberetta/Library/Developer/Xcode/DerivedData/Telegea-bpsltimmskdeibexizjvihztmrby/Build/Intermediates.noindex/ArchiveIntermediates/Telegea/IntermediateBuildFilesPath/Telegea.build/Release-iphoneos/Telegea.build/Objects-normal/arm64/Telegea" "-dead_strip" "-syslibroot" "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.1.sdk" "-sdk_version" "12.1.0" "-filelist" "/private/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/TelegeaI1iiSl/Telegea.arm64.out.LinkFileList" "-ignore_auto_link" "-allow_dead_duplicates" "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.1.sdk/System/Library/Frameworks/Security.framework/Security.tbd" "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.1.sdk/System/Library/Frameworks/Foundation.framework/Foundation.tbd" "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.1.sdk/usr/lib/libobjc.A.tbd" "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.1.sdk/usr/lib/libSystem.B.tbd" "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.1.sdk/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation.tbd" "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.1.sdk/System/Library/Frameworks/CoreGraphics.framework/CoreGraphics.tbd" "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.1.sdk/System/Library/Frameworks/SystemConfiguration.framework/SystemConfiguration.tbd" "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.1.sdk/System/Library/Frameworks/UIKit.framework/UIKit.tbd" "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.1.sdk/usr/lib/libobjc.A.tbd" "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/10.0.0/lib/darwin/libclang_rt.ios.a" "-o" "/private/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/TelegeaI1iiSl/Telegea.arm64.out"
+ -= Output =-
+ Exited with 0
+
+ Debug: Command took 0 seconds
+ warning: Cannot genarte useful dsym from input macho file: /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-in/arm64/Payload/Telegea.app/Telegea
+
+ GetUUID: cd /
+ "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/dwarfdump" "-u" "/var/folders/1c/5qnq9bmd
+2019-02-12 23:21:34 +0000 1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-out/arm64/Payload/Telegea.app/Telegea"
+ -= Output =-
+ UUID: 832E6F39-A32D-309F-9143-3F0F97C9E793 (arm64) /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-out/arm64/Payload/Telegea.app/Telegea
+ Exited with 0
+
+ Debug: Command took 0 seconds
+ Debug: Using: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/dsymutil
+ Dsymutil: cd /
+ "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/dsymutil" "/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-out/arm64/Payload/Telegea.app/Telegea" "-o" "/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-out/arm64/Payload/Telegea.app/Telegea.dSYM"
+ -= Output =-
+ Exited with 0
+
+ Debug: Command took 0 seconds
+ Debug: Using: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/strip
+ StripSymbols: cd /
+ "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/strip" "/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-out/arm64/Payload/Telegea.app/Telegea"
+ -= Output =-
+ Exited with 0
+
+ Debug: Command took 0 seconds
+
+ Stderr:
+
+/Applications/Xcode.app/Contents/Developer/usr/bin/symbols -failIfMissingDsym -symbolsPackageDir /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-out/arm64/Payload/Telegea.app /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-out/arm64/Payload/Telegea.app/Telegea
+2019-02-12 23:21:34 +0000 Command exited with pid 26005 exit 0:
+ /Applications/Xcode.app/Contents/Developer/usr/bin/symbols -failIfMissingDsym -symbolsPackageDir /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-out/arm64/Payload/Telegea.app /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-out/arm64/Payload/Telegea.app/Telegea
+ Stdout:
+ /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-out/arm64/Payload/Telegea.app/Telegea [arm64, 0.008857 seconds]:
+
+ Stderr:
+
+2019-02-12 23:21:34 +0000 /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-out/arm64/Payload/Telegea.app/Telegea.dSYM/Contents/Resources/DWARF/Telegea
+2019-02-12 23:21:34 +0000 Command exited with pid 26006 exit 0:
+ /usr/bin/file -b -- /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-out/arm64/Payload/Telegea.app/Telegea.dSYM/Contents/Resources/DWARF/Telegea
+ Stdout:
+ Mach-O 64-bit dSYM companion file arm64
+
+ Stderr:
+
+2019-02-12 23:21:34 +0000 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/lipo -info /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-out/arm64/Payload/Telegea.app/Telegea.dSYM/Contents/Resources/DWARF/Telegea
+2019-02-12 23:21:34 +0000 Command exited with pid 26007 exit 0:
+ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/lipo -info /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-out/arm64/Payload/Telegea.app/Telegea.dSYM/Contents/Resources/DWARF/Telegea
+ Stdout:
+ Non-fat file: /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-out/arm64/Payload/Telegea.app/Telegea.dSYM/Contents/Resources/DWARF/Telegea is architecture: arm64
+
+ Stderr:
+
+2019-02-12 23:21:34 +0000 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/otool -h -v -m -arch all /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-out/arm64/Payload/Telegea.app/Telegea.dSYM/Contents/Resources/DWARF/Telegea
+2019-02-12 23:21:34 +0000 Command exited with pid 26008 exit 0:
+ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/otool -h -v -m -arch all /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-out/arm64/Payload/Telegea.app/Telegea.dSYM/Contents/Resources/DWARF/Telegea
+ Stdout:
+ Mach header
+ magic cputype cpusubtype caps filetype ncmds sizeofcmds flags
+ MH_MAGIC_64 ARM64 ALL 0x00 DSYM 7 3448 0x00000000
+
+ Stderr:
+
+2019-02-12 23:21:34 +0000 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/otool -l -v -m -arch arm64 /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-out/arm64/Payload/Telegea.app/Telegea.dSYM/Contents/Resources/DWARF/Telegea
+2019-02-12 23:21:34 +0000 Command exited with pid 26010 exit 0:
+ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/otool -l -v -m -arch arm64 /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-out/arm64/Payload/Telegea.app/Telegea.dSYM/Contents/Resources/DWARF/Telegea
+ Stdout:
+ /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-out/arm64/Payload/Telegea.app/Telegea.dSYM/Contents/Resources/DWARF/Telegea:
+ Mach header
+ magic cputype cpusubtype caps filetype ncmds sizeofcmds flags
+ MH_MAGIC_64 ARM64 ALL 0x00 DSYM 7 3448 0x00000000
+ Load command 0
+ cmd LC_UUID
+ cmdsize 24
+ uuid 832E6F39-A32D-309F-9143-3F0F97C9E793
+ Load command 1
+ cmd LC_SYMTAB
+ cmdsize 24
+ symoff 4096
+ nsyms 981
+ stroff 19792
+ strsize 13170
+ Load command 2
+ cmd LC_SEGMENT_64
+ cmdsize 72
+ segname __PAGEZERO
+ vmaddr 0x0000000000000000
+ vmsize 0x0000000100000000
+ fileoff 0
+ filesize 0
+ maxprot ---
+ initprot ---
+ nsects 0
+ flags (none)
+ Load command 3
+ cmd LC_SEGMENT_64
+ cmdsize 952
+ segname __TEXT
+ vmaddr 0x0000000100000000
+ vmsize 0x0000000000028000
+ fileoff 0
+ filesize 0
+ maxprot r-x
+ initprot r-x
+ nsects 11
+ flags (none)
+ Section
+ sectname __text
+ segname __TEXT
+ addr 0x0000000100004728
+ size 0x000000000001a568
+ offset 0
+ align 2^2 (4)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes PURE_INSTRUCTIONS SOME_INSTRUCTIONS
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __stubs
+ segname __TEXT
+ addr 0x000000010001ec90
+ size 0x0000000000000324
+ offset 0
+ align 2^2 (4)
+ reloff 0
+ nreloc 0
+ type S_SYMBOL_STUBS
+ attributes PURE_INSTRUCTIONS SOME_INSTRUCTIONS
+ reserved1 0 (index into indirect symbol table)
+ reserved2 12 (size of stubs)
+ Section
+ sectname __stub_helper
+ segname __TEXT
+ addr 0x000000010001efb4
+ size 0x000000000000033c
+ offset 0
+ align 2^2 (4)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes PURE_INSTRUCTIONS SOME_INSTRUCTIONS
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __const
+ segname __TEXT
+ addr 0x000000010001f2f0
+ size 0x00000000000001e8
+ offset 0
+ align 2^4 (16)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __objc_methname
+ segname __TEXT
+ addr 0x000000010001f4d8
+ size 0x0000000000004a9e
+ offset 0
+ align 2^0 (1)
+ reloff 0
+ nreloc 0
+ type S_CSTRING_LITERALS
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __cstring
+ segname __TEXT
+ addr 0x0000000100023f76
+ size 0x00000000000019dd
+ offset 0
+ align 2^0 (1)
+ reloff 0
+ nreloc 0
+ type S_CSTRING_LITERALS
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __objc_classname
+ segname __TEXT
+ addr 0x0000000100025953
+ size 0x0000000000000342
+ offset 0
+ align 2^0 (1)
+ reloff 0
+ nreloc 0
+ type S_CSTRING_LITERALS
+ attributes (none)
+ reserved1 0
+
+2019-02-12 23:21:34 +0000 reserved2 0
+ Section
+ sectname __objc_methtype
+ segname __TEXT
+ addr 0x0000000100025c95
+ size 0x0000000000001b1a
+ offset 0
+ align 2^0 (1)
+ reloff 0
+ nreloc 0
+ type S_CSTRING_LITERALS
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __gcc_except_tab
+ segname __TEXT
+ addr 0x00000001000277b0
+ size 0x00000000000000cc
+ offset 0
+ align 2^2 (4)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __ustring
+ segname __TEXT
+ addr 0x000000010002787c
+ size 0x0000000000000056
+ offset 0
+ align 2^1 (2)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __unwind_info
+ segname __TEXT
+ addr 0x00000001000278d4
+ size 0x0000000000000728
+ offset 0
+ align 2^2 (4)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Load command 4
+ cmd LC_SEGMENT_64
+ cmdsize 1352
+ segname __DATA
+ vmaddr 0x0000000100028000
+ vmsize 0x000000000000c000
+ fileoff 0
+ filesize 0
+ maxprot rw-
+ initprot rw-
+ nsects 16
+ flags (none)
+ Section
+ sectname __got
+ segname __DATA
+ addr 0x0000000100028000
+ size 0x00000000000000c8
+ offset 0
+ align 2^3 (8)
+ reloff 0
+ nreloc 0
+ type S_NON_LAZY_SYMBOL_POINTERS
+ attributes (none)
+ reserved1 67 (index into indirect symbol table)
+ reserved2 0
+ Section
+ sectname __la_symbol_ptr
+ segname __DATA
+ addr 0x00000001000280c8
+ size 0x0000000000000218
+ offset 0
+ align 2^3 (8)
+ reloff 0
+ nreloc 0
+ type S_LAZY_SYMBOL_POINTERS
+ attributes (none)
+ reserved1 92 (index into indirect symbol table)
+ reserved2 0
+ Section
+ sectname __const
+ segname __DATA
+ addr 0x00000001000282e0
+ size 0x0000000000000e60
+ offset 0
+ align 2^3 (8)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __cfstring
+ segname __DATA
+ addr 0x0000000100029140
+ size 0x0000000000001180
+ offset 0
+ align 2^3 (8)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __objc_classlist
+ segname __DATA
+ addr 0x000000010002a2c0
+ size 0x00000000000000c0
+ offset 0
+ align 2^3 (8)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes NO_DEAD_STRIP
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __objc_catlist
+ segname __DATA
+ addr 0x000000010002a380
+ size 0x0000000000000000
+ offset 0
+ align 2^0 (1)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes NO_DEAD_STRIP
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __objc_protolist
+ segname __DATA
+ addr 0x000000010002a380
+ size 0x0000000000000080
+ offset 0
+ align 2^3 (8)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+
+2019-02-12 23:21:34 +0000 attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __objc_imageinfo
+ segname __DATA
+ addr 0x000000010002a400
+ size 0x0000000000000008
+ offset 0
+ align 2^2 (4)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __objc_const
+ segname __DATA
+ addr 0x000000010002a408
+ size 0x00000000000073d8
+ offset 0
+ align 2^3 (8)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __objc_selrefs
+ segname __DATA
+ addr 0x00000001000317e0
+ size 0x0000000000001008
+ offset 0
+ align 2^3 (8)
+ reloff 0
+ nreloc 0
+ type S_LITERAL_POINTERS
+ attributes NO_DEAD_STRIP
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __objc_classrefs
+ segname __DATA
+ addr 0x00000001000327e8
+ size 0x00000000000001e0
+ offset 0
+ align 2^3 (8)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes NO_DEAD_STRIP
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __objc_superrefs
+ segname __DATA
+ addr 0x00000001000329c8
+ size 0x00000000000000a8
+ offset 0
+ align 2^3 (8)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes NO_DEAD_STRIP
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __objc_ivar
+ segname __DATA
+ addr 0x0000000100032a70
+ size 0x00000000000001f0
+ offset 0
+ align 2^2 (4)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __objc_data
+ segname __DATA
+ addr 0x0000000100032c60
+ size 0x0000000000000780
+ offset 0
+ align 2^3 (8)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __data
+ segname __DATA
+ addr 0x00000001000333e0
+ size 0x0000000000000608
+ offset 0
+ align 2^3 (8)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __bss
+ segname __DATA
+ addr 0x00000001000339e8
+ size 0x0000000000000010
+ offset 0
+ align 2^3 (8)
+ reloff 0
+ nreloc 0
+ type S_ZEROFILL
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Load command 5
+ cmd LC_SEGMENT_64
+ cmdsize 72
+ segname __LINKEDIT
+ vmaddr 0x0000000100034000
+ vmsize 0x0000000000008000
+ fileoff 4096
+ filesize 28866
+ maxprot r--
+ initprot r--
+ nsects 0
+ flags (none)
+ Load command 6
+ cmd LC_SEGMENT_64
+ cmdsize 952
+ segname __DWARF
+ vmaddr 0x000000010003c000
+ vmsize 0x0000000000013000
+ fileoff 36864
+ filesize 77040
+ maxprot rwx
+ initprot rw-
+ nsects 11
+ flags (none)
+ Section
+ sectname __debug_line
+ segname __DWARF
+ addr 0x000000010003c000
+ size 0x0000000000005fea
+ offset 36864
+ align 2^0 (1)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes (none)
+ reserved1 0
+ reserved2 0
+2019-02-12 23:21:34 +0000 Section
+ sectname __debug_pubnames
+ segname __DWARF
+ addr 0x0000000100041fea
+ size 0x0000000000003375
+ offset 61418
+ align 2^0 (1)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __debug_aranges
+ segname __DWARF
+ addr 0x000000010004535f
+ size 0x0000000000000410
+ offset 74591
+ align 2^0 (1)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __debug_info
+ segname __DWARF
+ addr 0x000000010004576f
+ size 0x000000000000342b
+ offset 75631
+ align 2^0 (1)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __debug_ranges
+ segname __DWARF
+ addr 0x0000000100048b9a
+ size 0x0000000000000030
+ offset 88986
+ align 2^0 (1)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __debug_abbrev
+ segname __DWARF
+ addr 0x0000000100048bca
+ size 0x0000000000000053
+ offset 89034
+ align 2^0 (1)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __debug_str
+ segname __DWARF
+ addr 0x0000000100048c1d
+ size 0x00000000000021bb
+ offset 89117
+ align 2^0 (1)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __apple_names
+ segname __DWARF
+ addr 0x000000010004add8
+ size 0x0000000000003ea0
+ offset 97752
+ align 2^0 (1)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __apple_namespac
+ segname __DWARF
+ addr 0x000000010004ec78
+ size 0x0000000000000024
+ offset 113784
+ align 2^0 (1)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __apple_types
+ segname __DWARF
+ addr 0x000000010004ec9c
+ size 0x0000000000000030
+ offset 113820
+ align 2^0 (1)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes (none)
+ reserved1 0
+ reserved2 0
+ Section
+ sectname __apple_objc
+ segname __DWARF
+ addr 0x000000010004eccc
+ size 0x0000000000000024
+ offset 113868
+ align 2^0 (1)
+ reloff 0
+ nreloc 0
+ type S_REGULAR
+ attributes (none)
+ reserved1 0
+ reserved2 0
+
+ Stderr:
+
+2019-02-12 23:21:34 +0000 warning: Could not determine platform for arm64 in /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-out/arm64/Payload/Telegea.app/Telegea.dSYM/Contents/Resources/DWARF/Telegea
+2019-02-12 23:21:34 +0000 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/lipo -create -arch armv7 /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-out/armv7/Payload/Telegea.app/Telegea -arch arm64 /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-out/arm64/Payload/Telegea.app/Telegea -output /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/universal-MachOs/Payload/Telegea.app/Telegea
+2019-02-12 23:21:34 +0000 Command exited with pid 26012 exit 0:
+ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/lipo -create -arch armv7 /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-out/armv7/Payload/Telegea.app/Telegea -arch arm64 /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-out/arm64/Payload/Telegea.app/Telegea -output /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/universal-MachOs/Payload/Telegea.app/Telegea
+ Stdout:
+
+ Stderr:
+
+2019-02-12 23:21:34 +0000 Creating universal IPA contents for all variants
+ Creating directory /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/IDEIPAProcessor.AppThinning.Raz/universal
+ Copying Telegea.app output payload directory
+2019-02-12 23:21:34 +0000 /Library/Ruby/Gems/2.3.0/gems/CFPropertyList-2.3.6/lib/cfpropertylist/rbCFPropertyList.rb:394: warning: File.exists? is a deprecated name, use File.exist? instead
+2019-02-12 23:21:34 +0000 Copying .dSYM files to /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/IDEIPAProcessor.AppThinning.Raz/universal/dSYMs
+ Copying .symbols files to /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/IDEIPAProcessor.AppThinning.Raz/universal/Symbols
+2019-02-12 23:21:34 +0000 /Applications/Xcode.app/Contents/Developer/usr/bin/ipatool exited with 0
+2019-02-12 23:21:34 +0000 ipatool JSON: {
+ alerts = (
+ {
+ code = 3299;
+ description = "Configuration issue: platform AppleTVSimulator.platform doesn't have any non-simulator SDKs; ignoring it";
+ info = {
+ };
+ level = WARN;
+ },
+ {
+ code = 3299;
+ description = "Configuration issue: platform WatchSimulator.platform doesn't have any non-simulator SDKs; ignoring it";
+ info = {
+ };
+ level = WARN;
+ },
+ {
+ code = 3299;
+ description = "Configuration issue: platform iPhoneSimulator.platform doesn't have any non-simulator SDKs; ignoring it";
+ info = {
+ };
+ level = WARN;
+ },
+ {
+ code = 1782;
+ description = "Could not determine platform for armv7 in /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-out/armv7/Payload/Telegea.app/Telegea.dSYM/Contents/Resources/DWARF/Telegea";
+ info = {
+ };
+ level = WARN;
+ },
+ {
+ code = 1782;
+ description = "Could not determine platform for arm64 in /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/ipatool20190213-25825-6e3lf5/thinned-out/arm64/Payload/Telegea.app/Telegea.dSYM/Contents/Resources/DWARF/Telegea";
+ info = {
+ };
+ level = WARN;
+ }
+ );
+ thinnableAssetCatalogs = (
+ "/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Assets.car"
+ );
+ universalIPA = {
+ path = "/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/IDEIPAProcessor.AppThinning.Raz/universal";
+ };
+}
+2019-02-12 23:21:34 +0000 Processing step: IDEDistributionCodeSlimmingStep
+2019-02-12 23:21:34 +0000 Processing step: IDEDistributionCopyBCSymbolMapsStep
+2019-02-12 23:21:34 +0000 Processing step: IDEDistributionSymbolsStep
+2019-02-12 23:21:34 +0000 Skipping step: IDEDistributionSymbolsStep because it said so
+2019-02-12 23:21:34 +0000 Processing step: IDEDistributionAppThinningStep
+2019-02-12 23:21:34 +0000 Skipping step: IDEDistributionAppThinningStep because it said so
+2019-02-12 23:21:34 +0000 Processing step: IDEDistributionArchThinningStep
+2019-02-12 23:21:34 +0000 Running /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/lipo '/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app/Telegea' '-verify_arch' 'arm64e'
+2019-02-12 23:21:34 +0000 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/lipo exited with 1
+2019-02-12 23:21:34 +0000 Skipping architecture thinning for item "Telegea" because arch "arm64e" wasn't found
+2019-02-12 23:21:34 +0000 Processing step: IDEDistributionODRStep
+2019-02-12 23:21:34 +0000 Processing step: IDEDistributionStripXattrsStep
+2019-02-12 23:21:34 +0000 Running /usr/bin/xattr '-crs' '/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app'
+2019-02-12 23:21:34 +0000 /usr/bin/xattr exited with 0
+2019-02-12 23:21:34 +0000 Processing step: IDEDistributionCodesignStep
+2019-02-12 23:21:34 +0000 Entitlements for '>: {
+ "application-identifier" = "4E74YD2Y2V.com.dekitalia.termogea";
+ "com.apple.developer.team-identifier" = 4E74YD2Y2V;
+ "get-task-allow" = 0;
+ "keychain-access-groups" = (
+ "4E74YD2Y2V.com.dekitalia.termogea"
+ );
+}
+2019-02-12 23:21:34 +0000 Writing entitlements for '> to: /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/entitlementstCo9pI
+2019-02-12 23:21:34 +0000 Running /usr/bin/codesign '-vvv' '--force' '--sign' 'AF8A09DE2DA26E9B85755CE5DF3BB1172504C013' '--entitlements' '/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/entitlementstCo9pI' '--preserve-metadata=identifier,flags,runtime' '/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app'
+2019-02-12 23:21:34 +0000 /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root/Payload/Telegea.app: signed app bundle with Mach-O universal (armv7 arm64) [com.dekitalia.termogea]
+2019-02-12 23:21:34 +0000 /usr/bin/codesign exited with 0
+2019-02-12 23:21:34 +0000 Processing step: IDEDistributionZipODRItemStep
+2019-02-12 23:21:34 +0000 Skipping step: IDEDistributionZipODRItemStep because it said so
+2019-02-12 23:21:34 +0000 Processing step: IDEDistributionCreateIPAStep
+2019-02-12 23:21:34 +0000 Running /usr/bin/ditto '-V' '-c' '-k' '--norsrc' '/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root' '/var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Packages/Termogea.ipa'
+2019-02-12 23:21:34 +0000 >>> Copying /var/folders/1c/5qnq9bmd1bdf67gynx1h6px80000gn/T/XcodeDistPipeline.hE6/Root
+2019-02-12 23:21:34 +0000 copying file ./Payload/Telegea.app/_CodeSignature/CodeResources ...
+2019-02-12 23:21:34 +0000 15845 bytes for ./Payload/Telegea.app/_CodeSignature/CodeResources
+2019-02-12 23:21:34 +0000 copying file ./Payload/Telegea.app/open-24.ttf ...
+2019-02-12 23:21:34 +0000 26988 bytes for ./Payload/Telegea.app/open-24.ttf
+2019-02-12 23:21:34 +0000 copying file ./Payload/Telegea.app/en.lproj/Localizable.strings ...
+2019-02-12 23:21:34 +0000 1200 bytes for ./Payload/Telegea.app/en.lproj/Localizable.strings
+copying file ./Payload/Telegea.app/Telegea ...
+2019-02-12 23:21:34 +0000 511936 bytes for ./Payload/Telegea.app/Telegea
+copying file ./Payload/Telegea.app/ActionTableViewController.nib ...
+2019-02-12 23:21:34 +0000 1514 bytes for ./Payload/Telegea.app/ActionTableViewController.nib
+2019-02-12 23:21:34 +0000 copying file ./Payload/Telegea.app/it.lproj/LaunchScreen.strings ...
+2019-02-12 23:21:34 +0000 1 bytes for ./Payload/Telegea.app/it.lproj/LaunchScreen.strings
+copying file ./Payload/Telegea.app/it.lproj/Main.strings ...
+2019-02-12 23:21:34 +0000 1028 bytes for ./Payload/Telegea.app/it.lproj/Main.strings
+2019-02-12 23:21:34 +0000 copying file ./Payload/Telegea.app/it.lproj/Localizable.strings ...
+2019-02-12 23:21:34 +0000 768 bytes for ./Payload/Telegea.app/it.lproj/Localizable.strings
+copying file ./Payload/Telegea.app/AppIcon60x60@2x.png ...
+2019-02-12 23:21:34 +0000 5324 bytes for ./Payload/Telegea.app/AppIcon60x60@2x.png
+2019-02-12 23:21:34 +0000 copying file ./Payload/Telegea.app/AppIcon29x29@2x.png ...
+2019-02-12 23:21:34 +0000 2413 bytes for ./Payload/Telegea.app/AppIcon29x29@2x.png
+copying file ./Payload/Telegea.app/AppIcon40x40@3x.png ...
+2019-02-12 23:21:34 +0000 5324 bytes for ./Payload/Telegea.app/AppIcon40x40@3x.png
+copying file ./Payload/Telegea.app/AppIcon40x40@2x.png ...
+2019-02-12 23:21:34 +0000 3707 bytes for ./Payload/Telegea.app/AppIcon40x40@2x.png
+copying file ./Payload/Telegea.app/AppIcon29x29@3x.png ...
+2019-02-12 23:21:34 +0000 3593 bytes for ./Payload/Telegea.app/AppIcon29x29@3x.png
+copying file ./Payload/Telegea.app/AppIcon60x60@3x.png ...
+2019-02-12 23:21:34 +0000 5979 bytes for ./Payload/Telegea.app/AppIcon60x60@3x.png
+2019-02-12 23:21:34 +0000 copying file ./Payload/Telegea.app/Base.lproj/Main.storyboardc/nH3-va-oWn-view-Kjf-R9-c4O.nib ...
+2019-02-12 23:21:34 +0000 15012 bytes for ./Payload/Telegea.app/Base.lproj/Main.storyboardc/nH3-va-oWn-view-Kjf-R9-c4O.nib
+copying file ./Payload/Telegea.app/Base.lproj/Main.storyboardc/ab0-Np-nDb-view-1DQ-TN-WO8.nib ...
+2019-02-12 23:21:34 +0000 2291 bytes for ./Payload/Telegea.app/Base.lproj/Main.storyboardc/ab0-Np-nDb-view-1DQ-TN-WO8.nib
+copying file ./Payload/Telegea.app/Base.lproj/Main.storyboardc/LoadingZoneViewController.nib ...
+2019-02-12 23:21:34 +0000 1267 bytes for ./Payload/Telegea.app/Base.lproj/Main.storyboardc/LoadingZoneViewController.nib
+2019-02-12 23:21:34 +0000 copying file ./Payload/Telegea.app/Base.lproj/Main.storyboardc/RootViewController.nib ...
+2019-02-12 23:21:34 +0000 949 bytes for ./Payload/Telegea.app/Base.lproj/Main.storyboardc/RootViewController.nib
+copying file ./Payload/Telegea.app/Base.lproj/Main.storyboardc/weQ-Ch-B8p-view-Uu0-nz-514.nib ...
+2019-02-12 23:21:34 +0000 10125 bytes for ./Payload/Telegea.app/Base.lproj/Main.storyboardc/weQ-Ch-B8p-view-Uu0-nz-514.nib
+copying file ./Payload/Telegea.app/Base.lproj/Main.storyboardc/PageViewController.nib ...
+2019-02-12 23:21:34 +0000 954 bytes for ./Payload/Telegea.app/Base.lproj/Main.storyboardc/PageViewController.nib
+2019-02-12 23:21:34 +0000 copying file ./Payload/Telegea.app/Base.lproj/Main.storyboardc/nav.nib ...
+2019-02-12 23:21:34 +0000 2524 bytes for ./Payload/Telegea.app/Base.lproj/Main.storyboardc/nav.nib
+copying file ./Payload/Telegea.app/Base.lproj/Main.storyboardc/ListTableViewController.nib ...
+2019-02-12 23:21:34 +0000 1458 bytes for ./Payload/Telegea.app/Base.lproj/Main.storyboardc/ListTableViewController.nib
+2019-02-12 23:21:34 +0000 copying file ./Payload/Telegea.app/Base.lproj/Main.storyboardc/LoginViewController.nib ...
+998 bytes for ./Payload/Telegea.app/Base.lproj/Main.storyboardc/LoginViewController.nib
+2019-02-12 23:21:34 +0000 copying file ./Payload/Telegea.app/Base.lproj/Main.storyboardc/PageContentViewController.nib ...
+2019-02-12 23:21:34 +0000 1150 bytes for ./Payload/Telegea.app/Base.lproj/Main.storyboardc/PageContentViewController.nib
+copying file ./Payload/Telegea.app/Base.lproj/Main.storyboardc/BYZ-38-t0r-view-8bC-Xf-vdC.nib ...
+2019-02-12 23:21:34 +0000 7105 bytes for ./Payload/Telegea.app/Base.lproj/Main.storyboardc/BYZ-38-t0r-view-8bC-Xf-vdC.nib
+copying file ./Payload/Telegea.app/Base.lproj/Main.storyboardc/ManagerViewController.nib ...
+2019-02-12 23:21:34 +0000 1604 bytes for ./Payload/Telegea.app/Base.lproj/Main.storyboardc/ManagerViewController.nib
+copying file ./Payload/Telegea.app/Base.lproj/Main.storyboardc/xyI-FE-Jw4-view-46u-ev-qKG.nib ...
+2019-02-12 23:21:34 +0000 1894 bytes for ./Payload/Telegea.app/Base.lproj/Main.storyboardc/xyI-FE-Jw4-view-46u-ev-qKG.nib
+2019-02-12 23:21:34 +0000 copying file ./Payload/Telegea.app/Base.lproj/Main.storyboardc/TAc-QK-t0h-view-DQA-FY-yPG.nib ...
+2019-02-12 23:21:34 +0000 8525 bytes for ./Payload/Telegea.app/Base.lproj/Main.storyboardc/TAc-QK-t0h-view-DQA-FY-yPG.nib
+copying file ./Payload/Telegea.app/Base.lproj/Main.storyboardc/Info.plist ...
+2019-02-12 23:21:34 +0000 565 bytes for ./Payload/Telegea.app/Base.lproj/Main.storyboardc/Info.plist
+2019-02-12 23:21:34 +0000 copying file ./Payload/Telegea.app/Base.lproj/LaunchScreen.storyboardc/01J-lp-oVM-view-Ze5-6b-2t3.nib ...
+2019-02-12 23:21:34 +0000 1804 bytes for ./Payload/Telegea.app/Base.lproj/LaunchScreen.storyboardc/01J-lp-oVM-view-Ze5-6b-2t3.nib
+2019-02-12 23:21:34 +0000 copying file ./Payload/Telegea.app/Base.lproj/LaunchScreen.storyboardc/UIViewController-01J-lp-oVM.nib ...
+2019-02-12 23:21:34 +0000 832 bytes for ./Payload/Telegea.app/Base.lproj/LaunchScreen.storyboardc/UIViewController-01J-lp-oVM.nib
+copying file ./Payload/Telegea.app/Base.lproj/LaunchScreen.storyboardc/Info.plist ...
+2019-02-12 23:21:35 +0000 258 bytes for ./Payload/Telegea.app/Base.lproj/LaunchScreen.storyboardc/Info.plist
+2019-02-12 23:21:35 +0000 copying file ./Payload/Telegea.app/Assets.car ...
+2019-02-12 23:21:35 +0000 1944712 bytes for ./Payload/Telegea.app/Assets.car
+copying file ./Payload/Telegea.app/AppIcon40x40@2x~ipad.png ...
+2019-02-12 23:21:35 +0000 3707 bytes for ./Payload/Telegea.app/AppIcon40x40@2x~ipad.png
+copying file ./Payload/Telegea.app/AppIcon76x76@2x~ipad.png ...
+5996 bytes for ./Payload/Telegea.app/AppIcon76x76@2x~ipad.png
+copying file ./Payload/Telegea.app/AppIcon83.5x83.5@2x~ipad.png ...
+8541 bytes for ./Payload/Telegea.app/AppIcon83.5x83.5@2x~ipad.png
+copying file ./Payload/Telegea.app/AppIcon29x29@2x~ipad.png ...
+2019-02-12 23:21:35 +0000 2413 bytes for ./Payload/Telegea.app/AppIcon29x29@2x~ipad.png
+copying file ./Payload/Telegea.app/ActionTableViewCell.nib ...
+2019-02-12 23:21:35 +0000 2836 bytes for ./Payload/Telegea.app/ActionTableViewCell.nib
+copying file ./Payload/Telegea.app/AppIcon40x40~ipad.png ...
+2019-02-12 23:21:35 +0000 2574 bytes for ./Payload/Telegea.app/AppIcon40x40~ipad.png
+copying file ./Payload/Telegea.app/AppIcon20x20~ipad.png ...
+2019-02-12 23:21:35 +0000 1386 bytes for ./Payload/Telegea.app/AppIcon20x20~ipad.png
+copying file ./Payload/Telegea.app/embedded.mobileprovision ...
+2019-02-12 23:21:35 +0000 7619 bytes for ./Payload/Telegea.app/embedded.mobileprovision
+copying file ./Payload/Telegea.app/AppIcon20x20@2x~ipad.png ...
+2019-02-12 23:21:35 +0000 2574 bytes for ./Payload/Telegea.app/AppIcon20x20@2x~ipad.png
+copying file ./Payload/Telegea.app/Info.plist ...
+2019-02-12 23:21:35 +0000 3190 bytes for ./Payload/Telegea.app/Info.plist
+2019-02-12 23:21:35 +0000 copying file ./Payload/Telegea.app/PkgInfo ...
+8 bytes for ./Payload/Telegea.app/PkgInfo
+2019-02-12 23:21:35 +0000 copying file ./Payload/Telegea.app/AppIcon76x76~ipad.png ...
+2019-02-12 23:21:35 +0000 5379 bytes for ./Payload/Telegea.app/AppIcon76x76~ipad.png
+2019-02-12 23:21:35 +0000 /usr/bin/ditto exited with 0
+2019-02-12 23:21:35 +0000 Processing step: IDEDistributionAppStoreInformationStep
+2019-02-12 23:21:35 +0000 Skipping step: IDEDistributionAppStoreInformationStep because it said so
+2019-02-12 23:21:35 +0000 Processing step: IDEDistributionCreateManifestStep
diff --git a/Sources/Earthquake Network/Acquisti in App/Termogea 02-13/Termogea.ipa b/Sources/Earthquake Network/Acquisti in App/Termogea 02-13/Termogea.ipa
new file mode 100644
index 0000000..ed8d566
Binary files /dev/null and b/Sources/Earthquake Network/Acquisti in App/Termogea 02-13/Termogea.ipa differ
diff --git a/Sources/Earthquake Network/Acquisti in App/VersioneProProducts.swift b/Sources/Earthquake Network/Acquisti in App/VersioneProProducts.swift
new file mode 100644
index 0000000..92cf5c7
--- /dev/null
+++ b/Sources/Earthquake Network/Acquisti in App/VersioneProProducts.swift
@@ -0,0 +1,53 @@
+/// Copyright (c) 2018 Razeware LLC
+///
+/// Permission is hereby granted, free of charge, to any person obtaining a copy
+/// of this software and associated documentation files (the "Software"), to deal
+/// in the Software without restriction, including without limitation the rights
+/// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+/// copies of the Software, and to permit persons to whom the Software is
+/// furnished to do so, subject to the following conditions:
+///
+/// The above copyright notice and this permission notice shall be included in
+/// all copies or substantial portions of the Software.
+///
+/// Notwithstanding the foregoing, you may not use, copy, modify, merge, publish,
+/// distribute, sublicense, create a derivative work, and/or sell copies of the
+/// Software in any work that is designed, intended, or marketed for pedagogical or
+/// instructional purposes related to programming, coding, application development,
+/// or information technology. Permission for such use, copying, modification,
+/// merger, publication, distribution, sublicensing, creation of derivative works,
+/// or sale is expressly withheld.
+///
+/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+/// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+/// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+/// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+/// THE SOFTWARE.
+
+import Foundation
+
+public struct VersioneProProducts {
+
+ public static let SwiftShopping1 = "com.finazzi.distquake.ProPrezzoPieno"
+ public static let SwiftShopping2 = "com.finazzi.distquake.VersioneProScontata"
+
+ public static let SwiftShopping4 = "com.finazzi.distquake.Abbonamento10k.mensileAutomatico"
+ public static let SwiftShopping = "com.finazzi.distquake.Abbonamento10k.annualeAutomatico"
+ public static let SwiftShopping3 = "com.finazzi.distquake.Abbonamento10k.annualeAutomaticoScontato"
+
+ public static let SwiftShopping7 = "com.finazzi.distquake.Abbonamento100k.mensileAutomatico"
+ public static let SwiftShopping5 = "com.finazzi.distquake.Abbonamento100k.annualeAutomatico"
+ public static let SwiftShopping6 = "com.finazzi.distquake.Abbonamento100k.annualeAutomaticoscontato"
+
+
+ // com.finazzi.distquake.AbbonamentoAnnuale.scontato
+ private static let productIdentifiers: Set = [VersioneProProducts.SwiftShopping, VersioneProProducts.SwiftShopping1, VersioneProProducts.SwiftShopping2, VersioneProProducts.SwiftShopping3, VersioneProProducts.SwiftShopping4, VersioneProProducts.SwiftShopping5, VersioneProProducts.SwiftShopping6, VersioneProProducts.SwiftShopping7]
+
+ public static let store = IAPHelper(productIds: VersioneProProducts.productIdentifiers)
+}
+
+func resourceNameForProductIdentifier(_ productIdentifier: String) -> String? {
+ return productIdentifier.components(separatedBy: ".").last
+}
diff --git a/Sources/Earthquake Network/Acquisti in App/author.txt b/Sources/Earthquake Network/Acquisti in App/author.txt
new file mode 100644
index 0000000..04963f1
--- /dev/null
+++ b/Sources/Earthquake Network/Acquisti in App/author.txt
@@ -0,0 +1,5 @@
+Francesco Finazzi è ricercatore in Statistica all'Università degli Studi di Bergamo.
+Ha conseguito il Dottorato di Ricerca in Statistica Applicata ed è laureato in Ingegneria Informatica.
+
+Per maggiori informazioni sugli sviluppi del progetto Earthquake Network si prega di visitare
+la pagina di ricerca dell'autore (www.researchgate.net/profile/Francesco_Finazzi) e la pagina web del progetto (www.earthquakenetwork.it).
diff --git a/Sources/Earthquake Network/Acquisti in App/disclaimer.txt b/Sources/Earthquake Network/Acquisti in App/disclaimer.txt
new file mode 100644
index 0000000..0b48f7a
--- /dev/null
+++ b/Sources/Earthquake Network/Acquisti in App/disclaimer.txt
@@ -0,0 +1 @@
+Il progetto di ricerca Earthquake Network è attualmente in fase sperimentale e l’autore non si assume alcuna responsabilità circa il mancato rilevamento di terremoti o falsi allarmi. Altresì, l’autore non garantisce la correttezza delle informazioni rilasciate dalle agenzie di monitoraggio sismico nazionali ed internazionali e non si assume alcuna responsabilità circa l’uso improprio di tali informazioni da parte dell'utilizzatore dell'applicazione Rilevatore Terremoto.
diff --git a/Sources/Earthquake Network/Acquisti in App/faq.txt b/Sources/Earthquake Network/Acquisti in App/faq.txt
new file mode 100644
index 0000000..40a3f8d
--- /dev/null
+++ b/Sources/Earthquake Network/Acquisti in App/faq.txt
@@ -0,0 +1,77 @@
+P: Cos'è Rilevatore Terremoto?
+R: Rilevatore Terremoto è la prima applicazione Android in grado di rilevare terremoti attraverso una rete globale di smartphone o tablet.
+
+P: Come funziona?
+R: Quando lo smartphone rileva le onde di un terremoto, l'evento viene notificato ad un server assieme alla tua posizione geografica. Il server decide se si sta verificando un terremoto e nel caso allerta tutti gli utenti dell'app.
+
+P: Perché è utile?
+R: Se l'epicentro del terremoto non è troppo vicino alla tua posizione, l'app può avvisarti prima che l'onda sismica ti raggiunga.
+
+P: Quali terremoti può rilevare l'app in modo automatico?
+R: Tipicamente terremoti abbastanza forti che possono provocare danni a cose e persone.
+
+P: Il terremoto viene sicuramente rilevato?
+R: Affinché il terremoto venga rilevato deve esserci una rete di smartphone con l'app installata nella zona del terremoto.
+
+P: Cosa succede se gli smartphone che compongono la rete di Earthquake Network rilevano un terremoto?
+R: Riceverai un'allerta in tempo reale. L'allerta avrà come icona una stella di colore bianco, azzuro o blu e potrai visualizzare su mappa la posizione del terremoto.
+
+P: Che significato ha il colore bianco, azzurro e blu?
+R: La stella è bianca se la rete smartphone non è stata in grado di stabilire l'intensità del terremoto, azzurra se il terremoto è debole e blu se forte.
+
+P: Lo smartphone deve essere in carica per poter ricevere l'allerta?
+R: No, gli smartphone in carica sono usati per rilevare il terremoto ma l'allerta viene ricevuta da tutti in qualsiasi momento se Internet è attivo.
+
+P: Il GPS deve essere attivo?
+R: No, è sufficiente abilitare la localizzazione in modalità basso consume. In nessun caso l'APP necessita del GPS attivo.
+
+P: So che la rete smartphone ha rilevato un terremoto ma io non ho ricevuto alcuna allerta, come mai?
+R: Verifica di non aver installato sullo smartphone app per il risparmio batteria, o di non aver abilitato sullo smartphone delle impostazioni che impediscono alle app di ricevere notifiche in tempo reale.
+
+P: Ho uno smartphone Huawei, devo fare qualcosa di particolare?
+R: Sì, devi aggiungere la app alla lista delle app protette e devi consentirgli di funzionare in background. Cerca in Google le istruzioni per il tuo modello di smartphone.
+
+P: Perché non viene fornita la magnitudo del terremoto rilevato in tempo reale?
+R: Per il momento la rete smartphone non può stimarla. La distinzione tra terremoto lieve (stella azzurra) e forte (stella blu) è una funzione sperimentale.
+
+P: Come devo usare l'applicazione?
+R: Lancia l'applicazione e usa il tuo smartphone come sempre. L'applicazione funziona come un sismometro solo se lo smartphone è in carica e se lo schermo è spento.
+
+P: Consuma batteria?
+R: No. L'applicazione usa l'accelerometro solo quando lo smartphone è in carica.
+
+P: Posso notificare manualmente un terremoto?
+R: Sì, muovendoti sulla pagina "Segnalazioni" e seguendo le istruzioni. Gli utenti ricevono in tempo reale anche le segnalazioni di terremoto manuali degli altri utenti.
+
+P: Come posso visualizzare le segnalazioni degli altri utenti?
+R: Cliccando sulla mappa nella pagina "Segnalazioni". Le icone rappresentano le segnalazioni nelle ultime 24 ore. Stella verde: intensità lieve ; stella giallR: intensità forte; stella rossR: intensità molto forte; stella nerR: terremoto dichiarato come falso dagli altri utenti.
+
+P: La mia segnalazione non è comparsa sulla mappa, come mai?
+R: Le segnalazioni compaiono e vengono notificate solo se abbastanza utenti segnalano il terremoto. Questo per evitare falsi allarmi.
+
+P: Cosa mostra la pagina "Lista sismi"?
+R: Mostra i terremoti rilevati dalle diverse reti sismiche nazionali e mondiali.
+
+P: Cosa succede se una delle reti sismiche nazionali o internazionali rileva un terremoto?
+R: Riceverai una notifica del terremoto. La notifica avrà un'icona con forme e colori diversi e la lettara "A" nel mezzo. La forma rappresenta la rete che ha rilevato il terremoto mentre il colore rappresenta la magnitudine. Verde: da M2.0 a M3.5; giallo: da M3.5 a M4.5; rosso: da M4.5 a M5.5; violR: oltre M5.5.
+
+P: Come posso limitare il numero delle notifiche?
+R: Dalla pagina delle opzioni. Puoi scegliere la magnitudine minima, la distanza massima del terremoto e le reti sismiche da cui ricevere le notifiche.
+
+P: L'applicazione registra informazioni personali?
+R: No. Solo la posizione geografica è rilevata in modo anonimo e viene cancellata dal server dopo 10 minuti se non si verificano terremoti.
+
+P: Perché dovrei tenere questa applicazione sul mio smartphone?
+R: Affinchè i terremoti vengano rilevati in tempo reale è necessario che la app sia installata su un buon numero di smartphone. Grazie per la tua collaborazione!
+
+P: Perché questa applicazione ha la pubblicità?
+R: Perché il progetto di ricerca di cui la app fa parte non è finanziato. Le entrate derivanti dalla pubblicità servono per mantenere attivo il progetto.
+
+P: Cos'è la sezione "Mappa rete" nella pagina principale?
+R: Consente di accedere alla mappa in tempo reale della rete di smartphone di Earthquake network. I pallini verdi sono gli smartphone in grado di rilevare terremoti.
+
+P: Cos'è la sezione "Stato sismometro" nella pagina principale?
+R: E' la pagina dove puoi vedere se il tuo smartphone può funzionare come un sismometro. Per maggiori dettagli clicca i semafori rossi e verdi.
+
+P: Come posso essere parte di questo progetto o supportarlo?
+R: Contatta l'autore all'indirizzo finazzif@gmail.com
diff --git a/Sources/Earthquake Network/Acquisti in App/info.txt b/Sources/Earthquake Network/Acquisti in App/info.txt
new file mode 100644
index 0000000..0471426
--- /dev/null
+++ b/Sources/Earthquake Network/Acquisti in App/info.txt
@@ -0,0 +1,22 @@
+Il progetto di ricerca Earthquake Network mira a sviluppare un sistema di allerta terremoti basato su reti di smartphone (e tablet). Gli smartphone sono in grado di rilevare terremoti grazie al sensore accelerometrico di cui dispongono e possono comunicare istantaneamente l’informazione attraverso Internet.
+
+Quando il terremoto è rilevato da più smartphone nella rete, gli utenti dell’applicazione sono allertati in tempo reale. Poiché le onde del terremoto si propagano con una certa velocità, è possibile allertare in anticipo la popolazione non ancora raggiunta dalle onde sismiche.
+
+Si fa presente che il progetto è attualmente in fase sperimentale. Il rilevamento è influenzato dal numero di smartphone attivi nell’aerea colpita dal terremoto così come dalla loro distribuzione spaziale e dalla sensibilità dei sensori degli smartphone.
+
+L’applicazione mostra altresì le informazioni sui terremoti rilevati dalle agenzie di monitoraggio sismico nazionali ed internazionali. Queste informazioni sono tipicamente pubblicate con ritardi che vanno da pochi minuti ad alcune ore, a secoda dell’agenzia. L’uso dei dati rilasciati dalla agenzie sottostà a specifiche regole e limitazioni; per maggiori informazioni si consultino le pagine web delle agenzie incluse nell’applicazione e qui sotto riportate.
+
+USGS (U.S. Geological Survey): www.usgs.gov
+EMSC (European-Mediterranean Seismological Centre): www.emsc-csem.org
+GeoNet (Earthquake Commission and GNS Science): www.geonet.org.nz
+CSN (Centro Sismologico Nacional): www.sismologia.cl
+INGV (Istituto Nazionale di Geofisica e Vulcanologia): www.ingv.it
+IGN (Instituto Geográfico Nacional): www.ign.es
+CSI (China Seismic Information): www.csi.ac.cn
+JMA (Japanese Meteorological Agency): www.jma.go.jp
+Ineter (Instituto Nicaragüense de Estudios Territoriales): www.ineter.gob.ni
+SSN (Servicio Sismológico Nacional): www.ssn.unam.mx
+SGC (Servicio Geológico Colombiano): www2.sgc.gov.co
+RSN (Red Sismológica Nacional): www.rsn.ucr.ac.cr
+Funvisis (Fundación Venezolana de Investigaciones Sismológicas): www.funvisis.gob.ve
+INPRES (Instituto Nacional de Prevención Sísmica): www.inpres.gov.ar
diff --git a/Sources/Earthquake Network/Acquisti in App/privacy.txt b/Sources/Earthquake Network/Acquisti in App/privacy.txt
new file mode 100644
index 0000000..d29c915
--- /dev/null
+++ b/Sources/Earthquake Network/Acquisti in App/privacy.txt
@@ -0,0 +1,9 @@
+L'applicazione Rilevatore Terremoto necessita di raccogliere dati dal tuo dispositivo mobile al fine di implementare la rilevazione in tempo reale dei terremoti ed inviare l'allerta in tempo reale ai dispositivi. Quando si verifica un terremoto ed il terremoto è rilevato dal tuo dispositivo, lo stesso invia un messaggio al server del progetto di ricerca Earthquake Network. Il messaggio include la posizione del dispositivo e le informazioni necessarie per riconoscere il terremoto. Il messaggio non include informazioni personali.
+
+Le informazioni sono salvate in modo anonimo sul server e sono eventualmente analizzate per migliorare le rilevazioni di terremoto future ed al fine di pubblicare articoli di ricerca su riviste scientifiche.
+
+Inoltre, i messaggi delle chat di gruppo sono salvati sul server per un massimo di 2 giorni, mentre i messaggi privati tra utenti sono salvati in tabelle criptate.
+
+In caso si voglia rimuovere dal server del progetto Earthquake Network qualsiasi informazione sul proprio dispositivo, si prega di inviare una mail all'indirizzo finazzif@gmail.com con l'ID presente nel menù laterale della app Rilevatore Terremoto.
+
+Il responsabile del trattamento dei dati è Francesco Finazzi, fondatore del progetto Earthquake Network.
\ No newline at end of file
diff --git a/Sources/Earthquake Network/AppDelegate.h b/Sources/Earthquake Network/AppDelegate.h
new file mode 100644
index 0000000..cb3d9d4
--- /dev/null
+++ b/Sources/Earthquake Network/AppDelegate.h
@@ -0,0 +1,24 @@
+//
+// AppDelegate.h
+// Earthquake Network
+//
+// Created by Luca Beretta on 12/09/18.
+// Copyright © 2018 Luca Beretta. All rights reserved.
+//
+
+#import
+#import
+#import "MasterViewController.h"
+#import "ReteSmartphone.h"
+@interface AppDelegate : UIResponder
+
+@property (strong, nonatomic) UIWindow *window;
+@property (strong, nonatomic) MasterViewController *masterViewController;
+@property (strong, nonatomic) ReteSmartphone *reteSmartphone;
+@property (readonly, strong) NSPersistentContainer *persistentContainer;
+
+- (void)saveContext;
+
+
+@end
+
diff --git a/Sources/Earthquake Network/AppDelegate.m b/Sources/Earthquake Network/AppDelegate.m
new file mode 100644
index 0000000..b377a74
--- /dev/null
+++ b/Sources/Earthquake Network/AppDelegate.m
@@ -0,0 +1,345 @@
+//
+// AppDelegate.m
+// Earthquake Network
+//
+// Created by Luca Beretta on 12/09/18.
+// Copyright © 2018 Luca Beretta. All rights reserved.
+//
+
+#import "AppDelegate.h"
+#import "EQNUser.h"
+#import "Costanti.h"
+#import "EQMAccelerometroManager.h"
+#import "EQNManager.h"
+#import "MasterViewController.h"
+#import "EQNUtility.h"
+#import "EQNAllertaSismica.h"
+#import "EQNAllertaSismica.h"
+#import "EQNNotificheSegnalazioniUtente.h"
+#import "EQNNotificeReteSismiche.h"
+
+@import GoogleMaps;
+@import Firebase;
+@import UserNotifications;
+@import GoogleMobileAds;
+
+@interface AppDelegate ()
+
+@end
+
+@implementation AppDelegate
+
+- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
+ // Override point for customization after application launch.
+ [GMSServices provideAPIKey:GOOGLE_MAP_KEY];
+ [GADMobileAds configureWithApplicationID:EQN_ADMOB_APP_IDA];
+ [EQNUser defaultUser];
+ [EQNManager defaultManager];
+ [FIRApp configure];
+ [FIRMessaging messaging].delegate = self;
+ if ([UNUserNotificationCenter class] != nil) {
+ // iOS 10 or later
+ // For iOS 10 display notification (sent via APNS)
+ [UNUserNotificationCenter currentNotificationCenter].delegate = self;
+ UNAuthorizationOptions authOptions = UNAuthorizationOptionAlert |
+ UNAuthorizationOptionSound | UNAuthorizationOptionBadge;
+ [[UNUserNotificationCenter currentNotificationCenter]
+ requestAuthorizationWithOptions:authOptions
+ completionHandler:^(BOOL granted, NSError * _Nullable error) {
+ // ...
+
+ [self registraNotifica];
+ }];
+ } else {
+ // iOS 10 notifications aren't available; fall back to iOS 8-9 notifications.
+ /* UIUserNotificationType allNotificationTypes =
+ (UIUserNotificationTypeSound | UIUserNotificationTypeAlert | UIUserNotificationTypeBadge);
+ UIUserNotificationSettings *settings =
+ [UIUserNotificationSettings settingsForTypes:allNotificationTypes categories:nil];
+ [application registerUserNotificationSettings:settings]; */
+ [self registraNotifica];
+
+
+ }
+ [application setMinimumBackgroundFetchInterval:UIApplicationBackgroundFetchIntervalMinimum];
+ [application registerForRemoteNotifications];
+
+ // [[NSUserDefaults standardUserDefaults] setBool:NO forKey:EQN_ACQ_IN_APP];
+
+ NSURL *receiptURL = [[NSBundle mainBundle] appStoreReceiptURL];
+ NSData *receipt = [NSData dataWithContentsOfURL:receiptURL];
+ if (!receipt) { /* No local receipt -- handle the error. */ }
+ else{
+
+ NSLog(@"ricevuta presente");
+ }
+
+ /* ... Send the receipt data to your server ... */
+
+ return YES;
+}
+
+-(void)registraNotifica{
+
+ UNNotificationCategory *category = [UNNotificationCategory categoryWithIdentifier:@"notifica_con_mappa" actions:@[] intentIdentifiers:@[] options:UNNotificationCategoryOptionNone];
+ [[UNUserNotificationCenter currentNotificationCenter] setNotificationCategories:[NSSet setWithObject: category]];
+}
+
+- (void)applicationWillResignActive:(UIApplication *)application {
+ // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
+ // Use this method to pause ongoing tasks, disable timers, and invalidate graphics rendering callbacks. Games should use this method to pause the game.
+}
+
+
+- (void)applicationDidEnterBackground:(UIApplication *)application {
+ // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
+ // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
+ [[EQNManager defaultManager] avviaManager];
+ [[EQMAccelerometroManager sharedInstance] startUpdatingLocationBackground];
+
+ NSUInteger i = [[NSUserDefaults standardUserDefaults] integerForKey:CONTEGGIO_APERTURE_PER_SCONTO];
+ i++;
+ if (i == 15)
+ [[NSUserDefaults standardUserDefaults] setObject:[NSDate date] forKey:DATA_APERTURE_PER_SCONTO];
+
+
+ [[NSUserDefaults standardUserDefaults] setInteger:i forKey:CONTEGGIO_APERTURE_PER_SCONTO];
+}
+
+
+- (void)applicationWillEnterForeground:(UIApplication *)application {
+ // Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background.
+ [[EQNManager defaultManager] stopManager];
+ [[EQMAccelerometroManager sharedInstance] stopUpdatingLocation];
+
+}
+
+
+- (void)applicationDidBecomeActive:(UIApplication *)application {
+ // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
+
+}
+
+
+- (void)applicationWillTerminate:(UIApplication *)application {
+ // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
+ // Saves changes in the application's managed object context before the application terminates.
+ [self saveContext];
+}
+
+-(void)application:(UIApplication *)application didRegisterUserNotificationSettings:(UIUserNotificationSettings *)notificationSettings{
+
+
+}
+
+/////// Gestione Notifiche
+
+- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {
+ // If you are receiving a notification message while your app is in the background,
+ // this callback will not be fired till the user taps on the notification launching the application.
+ // TODO: Handle data of notification
+
+ // With swizzling disabled you must let Messaging know about the message, for Analytics
+ [[FIRMessaging messaging] appDidReceiveMessage:userInfo];
+
+ // Print message ID.
+
+ NSLog(@"userInfo %@", userInfo);
+
+ if (userInfo[@"type"]) {
+ NSLog(@"Message ID: %@", userInfo[@"type"]);
+ }
+
+ // Print full message.
+ NSLog(@"%@", userInfo);
+}
+
+- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
+fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler {
+ // If you are receiving a notification message while your app is in the background,
+ // this callback will not be fired till the user taps on the notification launching the application.
+ // TODO: Handle data of notification
+ /*
+ NSString* jsonString = userInfo[@"gcm.notification.userInfo"];
+ NSData* jsonData = [jsonString dataUsingEncoding:NSUTF8StringEncoding];
+ NSError *jsonError;
+ NSDictionary *JSON = [NSJSONSerialization JSONObjectWithData:jsonData
+ options:NSJSONReadingAllowFragments
+ error:&jsonError];
+
+ if ([JSON[@"type"] isEqualToString:@"eqn"]) {
+ NSDate *dataRicezione = [NSDate date];
+ [[NSUserDefaults standardUserDefaults] setObject:dataRicezione forKey:NOTIFICHE_RETE_SMARTPHONE_DATA_NOTIFICA];
+ [EQNUtility writeArrayWithCustomObjToUserDefaults:NOTIFICHE_RETE_SMARTPHONE_DIZIONARIO_NOTIFICA withDict:JSON];
+ [[NSUserDefaults standardUserDefaults] synchronize];
+ }
+
+ [self.reteSmartphone fetchNewDataWithCompletionHandler:^(UIBackgroundFetchResult result) {
+ completionHandler(result);
+ }];*/
+
+
+ completionHandler(UIBackgroundFetchResultNewData);
+}
+
+////////////// APPLICAZIONE IN PRIMO PIANO //////////////////////
+
+// Receive displayed notifications for iOS 10 devices.
+// Handle incoming notification messages while app is in the foreground.
+- (void)userNotificationCenter:(UNUserNotificationCenter *)center
+ willPresentNotification:(UNNotification *)notification
+ withCompletionHandler:(void (^)(UNNotificationPresentationOptions))completionHandler {
+ NSDictionary *userInfo = notification.request.content.userInfo;
+
+ NSIndexPath *indexPath;
+ if ([userInfo[@"type"] isEqualToString:@"eqn"]) {
+ NSDate *dataRicezione = [NSDate date];
+ [[NSUserDefaults standardUserDefaults] setObject:dataRicezione forKey:NOTIFICHE_RETE_SMARTPHONE_DATA_NOTIFICA];
+
+ [EQNUtility writeArrayWithCustomObjToUserDefaults:NOTIFICHE_RETE_SMARTPHONE_DIZIONARIO_NOTIFICA withDict:userInfo];
+ indexPath = [NSIndexPath indexPathForRow:0 inSection:0];
+
+ [[NSUserDefaults standardUserDefaults] synchronize];
+ }
+ else if([userInfo[@"type"] isEqualToString:@"manual"])
+ indexPath = [NSIndexPath indexPathForRow:1 inSection:0];
+ else if([userInfo[@"type"] isEqualToString:@"official"])
+ indexPath = [NSIndexPath indexPathForRow:2 inSection:0];
+ else if([userInfo[@"type"] isEqualToString:@"tsunami"])
+ indexPath = [NSIndexPath indexPathForRow:3 inSection:0];
+
+ // [self.masterViewController selezionaItem:indexPath];
+ [self.masterViewController sincronizza];
+
+
+ // Change this to your preferred presentation option
+ completionHandler(UNNotificationPresentationOptionAlert);
+}
+
+
+////////////// DOPO AVER CLICCATO SULLA NOTIFICA //////////////////////
+// Handle notification messages after display notification is tapped by the user.
+- (void)userNotificationCenter:(UNUserNotificationCenter *)center
+didReceiveNotificationResponse:(UNNotificationResponse *)response
+ withCompletionHandler:(void(^)(void))completionHandler {
+
+ // response.notification.request.content.sound = [UNNotificationSound soundNamed:[EQNAllertaSismica center].tonoAllarme];
+ NSDictionary *userInfo = response.notification.request.content.userInfo;
+ NSIndexPath *indexPath;
+ if ([userInfo[@"type"] isEqualToString:@"eqn"]) {
+ NSDate *dataRicezione = [NSDate date];
+ [[NSUserDefaults standardUserDefaults] setObject:dataRicezione forKey:NOTIFICHE_RETE_SMARTPHONE_DATA_NOTIFICA];
+
+ [EQNUtility writeArrayWithCustomObjToUserDefaults:NOTIFICHE_RETE_SMARTPHONE_DIZIONARIO_NOTIFICA withDict:userInfo];
+ indexPath = [NSIndexPath indexPathForRow:0 inSection:0];
+
+ [[NSUserDefaults standardUserDefaults] synchronize];
+ }
+ else if([userInfo[@"type"] isEqualToString:@"manual"])
+ indexPath = [NSIndexPath indexPathForRow:1 inSection:0];
+ else if([userInfo[@"type"] isEqualToString:@"official"])
+ indexPath = [NSIndexPath indexPathForRow:2 inSection:0];
+ else if([userInfo[@"type"] isEqualToString:@"tsunami"])
+ indexPath = [NSIndexPath indexPathForRow:3 inSection:0];
+ [self.masterViewController sincronizza];
+ [self.masterViewController selezionaItem:indexPath];
+
+ // Print full message.
+ completionHandler();
+}
+
+-(void)application:(UIApplication *)application performFetchWithCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler{
+
+ [self.masterViewController fetchNewDataWithCompletionHandler:^(UIBackgroundFetchResult result) {
+ completionHandler(result);
+ }];
+}
+
+
+#pragma mark - Core Data stack
+
+@synthesize persistentContainer = _persistentContainer;
+
+- (NSPersistentContainer *)persistentContainer {
+ // The persistent container for the application. This implementation creates and returns a container, having loaded the store for the application to it.
+ @synchronized (self) {
+ if (_persistentContainer == nil) {
+ _persistentContainer = [[NSPersistentContainer alloc] initWithName:@"Earthquake_Network"];
+ [_persistentContainer loadPersistentStoresWithCompletionHandler:^(NSPersistentStoreDescription *storeDescription, NSError *error) {
+ if (error != nil) {
+ // Replace this implementation with code to handle the error appropriately.
+ // abort() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development.
+
+ /*
+ Typical reasons for an error here include:
+ * The parent directory does not exist, cannot be created, or disallows writing.
+ * The persistent store is not accessible, due to permissions or data protection when the device is locked.
+ * The device is out of space.
+ * The store could not be migrated to the current model version.
+ Check the error message to determine what the actual problem was.
+ */
+ NSLog(@"Unresolved error %@, %@", error, error.userInfo);
+ abort();
+ }
+ }];
+ }
+ }
+
+ return _persistentContainer;
+}
+
+#pragma mark - Core Data Saving support
+
+
+
+- (void)saveContext {
+ NSManagedObjectContext *context = self.persistentContainer.viewContext;
+ NSError *error = nil;
+ if ([context hasChanges] && ![context save:&error]) {
+ // Replace this implementation with code to handle the error appropriately.
+ // abort() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development.
+ NSLog(@"Unresolved error %@, %@", error, error.userInfo);
+ abort();
+ }
+}
+
+- (void)messaging:(FIRMessaging *)messaging didReceiveRegistrationToken:(NSString *)fcmToken {
+
+ // Notify about received token.
+ // NSDictionary *dataDict = [NSDictionary dictionaryWithObject:fcmToken forKey:@"token"];
+ // [[NSNotificationCenter defaultCenter] postNotificationName:NOTIFICA_TOKEN object:nil userInfo:dataDict];
+
+ NSLog(@"fcmToken %@", fcmToken);
+ if (![[NSUserDefaults standardUserDefaults] objectForKey:TOKEN_USER]) {
+
+ [EQNAllertaSismica center].isAbilitato = YES;
+ [EQNAllertaSismica center].raggioSismiLievi = @"300";
+ [EQNAllertaSismica center].raggioSismiForti = @"600";
+ [EQNAllertaSismica center].sismiDaNotificare = @"0";
+ [EQNAllertaSismica center].isSimiSenzaIntensita = YES;;
+ [[EQNAllertaSismica center] saveUserInfo];
+
+ [EQNNotificheSegnalazioniUtente center].isAbilitato = YES;
+ [EQNNotificheSegnalazioniUtente center].distanzaPosizione = @"300";
+ [[EQNNotificheSegnalazioniUtente center] saveUserInfo];
+
+ [EQNNotificeReteSismiche center].isAbilitato = YES;
+ [EQNNotificeReteSismiche center].distanzaPosizione = @"1000";
+ [EQNNotificeReteSismiche center].distanzaVicini = @"100";
+ [EQNNotificeReteSismiche center].isAbilitaVicini = NO;
+ [EQNNotificeReteSismiche center].energiaSisma = @"3.5";
+ [EQNNotificeReteSismiche center].energiaTerremotiForti = @"7.5";
+ [[EQNNotificeReteSismiche center] saveUserInfo];
+
+ }
+
+ [[NSUserDefaults standardUserDefaults] setObject:fcmToken forKey:TOKEN_USER];
+ [EQNUser defaultUser].tokenUser = fcmToken;
+
+ // TODO: If necessary send token to application server.
+ // Note: This callback is fired at each app startup and whenever a new token is generated.
+}
+
+
+
+@end
diff --git a/Sources/Earthquake Network/Assets.xcassets/AppIcon.appiconset/20.png b/Sources/Earthquake Network/Assets.xcassets/AppIcon.appiconset/20.png
new file mode 100644
index 0000000..390e85b
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/AppIcon.appiconset/20.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/AppIcon.appiconset/20@2x-1.png b/Sources/Earthquake Network/Assets.xcassets/AppIcon.appiconset/20@2x-1.png
new file mode 100644
index 0000000..31e35ae
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/AppIcon.appiconset/20@2x-1.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/AppIcon.appiconset/20@2x-2.png b/Sources/Earthquake Network/Assets.xcassets/AppIcon.appiconset/20@2x-2.png
new file mode 100644
index 0000000..31e35ae
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/AppIcon.appiconset/20@2x-2.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/AppIcon.appiconset/20@2x.png b/Sources/Earthquake Network/Assets.xcassets/AppIcon.appiconset/20@2x.png
new file mode 100644
index 0000000..31e35ae
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/AppIcon.appiconset/20@2x.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/AppIcon.appiconset/20@3x.png b/Sources/Earthquake Network/Assets.xcassets/AppIcon.appiconset/20@3x.png
new file mode 100644
index 0000000..ce0b25e
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/AppIcon.appiconset/20@3x.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/AppIcon.appiconset/29.png b/Sources/Earthquake Network/Assets.xcassets/AppIcon.appiconset/29.png
new file mode 100644
index 0000000..76bcc60
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/AppIcon.appiconset/29.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/AppIcon.appiconset/29@2x-1.png b/Sources/Earthquake Network/Assets.xcassets/AppIcon.appiconset/29@2x-1.png
new file mode 100644
index 0000000..78e1a6b
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/AppIcon.appiconset/29@2x-1.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/AppIcon.appiconset/29@2x.png b/Sources/Earthquake Network/Assets.xcassets/AppIcon.appiconset/29@2x.png
new file mode 100644
index 0000000..78e1a6b
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/AppIcon.appiconset/29@2x.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/AppIcon.appiconset/29@3x.png b/Sources/Earthquake Network/Assets.xcassets/AppIcon.appiconset/29@3x.png
new file mode 100644
index 0000000..224a20a
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/AppIcon.appiconset/29@3x.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/AppIcon.appiconset/40@2x-1.png b/Sources/Earthquake Network/Assets.xcassets/AppIcon.appiconset/40@2x-1.png
new file mode 100644
index 0000000..a3de65e
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/AppIcon.appiconset/40@2x-1.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/AppIcon.appiconset/40@2x.png b/Sources/Earthquake Network/Assets.xcassets/AppIcon.appiconset/40@2x.png
new file mode 100644
index 0000000..a3de65e
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/AppIcon.appiconset/40@2x.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/AppIcon.appiconset/40@3x-1.png b/Sources/Earthquake Network/Assets.xcassets/AppIcon.appiconset/40@3x-1.png
new file mode 100644
index 0000000..48927c2
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/AppIcon.appiconset/40@3x-1.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/AppIcon.appiconset/40@3x.png b/Sources/Earthquake Network/Assets.xcassets/AppIcon.appiconset/40@3x.png
new file mode 100644
index 0000000..48927c2
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/AppIcon.appiconset/40@3x.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/AppIcon.appiconset/60@3x.png b/Sources/Earthquake Network/Assets.xcassets/AppIcon.appiconset/60@3x.png
new file mode 100644
index 0000000..076e292
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/AppIcon.appiconset/60@3x.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/AppIcon.appiconset/76.png b/Sources/Earthquake Network/Assets.xcassets/AppIcon.appiconset/76.png
new file mode 100644
index 0000000..957c4d2
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/AppIcon.appiconset/76.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/AppIcon.appiconset/76@2x.png b/Sources/Earthquake Network/Assets.xcassets/AppIcon.appiconset/76@2x.png
new file mode 100644
index 0000000..ff4990f
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/AppIcon.appiconset/76@2x.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/AppIcon.appiconset/83.5.png b/Sources/Earthquake Network/Assets.xcassets/AppIcon.appiconset/83.5.png
new file mode 100644
index 0000000..8caf372
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/AppIcon.appiconset/83.5.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/AppIcon.appiconset/Contents.json b/Sources/Earthquake Network/Assets.xcassets/AppIcon.appiconset/Contents.json
new file mode 100644
index 0000000..8f2dfa4
--- /dev/null
+++ b/Sources/Earthquake Network/Assets.xcassets/AppIcon.appiconset/Contents.json
@@ -0,0 +1,116 @@
+{
+ "images" : [
+ {
+ "size" : "20x20",
+ "idiom" : "iphone",
+ "filename" : "20@2x.png",
+ "scale" : "2x"
+ },
+ {
+ "size" : "20x20",
+ "idiom" : "iphone",
+ "filename" : "20@3x.png",
+ "scale" : "3x"
+ },
+ {
+ "size" : "29x29",
+ "idiom" : "iphone",
+ "filename" : "29@2x.png",
+ "scale" : "2x"
+ },
+ {
+ "size" : "29x29",
+ "idiom" : "iphone",
+ "filename" : "29@3x.png",
+ "scale" : "3x"
+ },
+ {
+ "size" : "40x40",
+ "idiom" : "iphone",
+ "filename" : "40@2x.png",
+ "scale" : "2x"
+ },
+ {
+ "size" : "40x40",
+ "idiom" : "iphone",
+ "filename" : "40@3x.png",
+ "scale" : "3x"
+ },
+ {
+ "size" : "60x60",
+ "idiom" : "iphone",
+ "filename" : "40@3x-1.png",
+ "scale" : "2x"
+ },
+ {
+ "size" : "60x60",
+ "idiom" : "iphone",
+ "filename" : "60@3x.png",
+ "scale" : "3x"
+ },
+ {
+ "size" : "20x20",
+ "idiom" : "ipad",
+ "filename" : "20.png",
+ "scale" : "1x"
+ },
+ {
+ "size" : "20x20",
+ "idiom" : "ipad",
+ "filename" : "20@2x-1.png",
+ "scale" : "2x"
+ },
+ {
+ "size" : "29x29",
+ "idiom" : "ipad",
+ "filename" : "29.png",
+ "scale" : "1x"
+ },
+ {
+ "size" : "29x29",
+ "idiom" : "ipad",
+ "filename" : "29@2x-1.png",
+ "scale" : "2x"
+ },
+ {
+ "size" : "40x40",
+ "idiom" : "ipad",
+ "filename" : "20@2x-2.png",
+ "scale" : "1x"
+ },
+ {
+ "size" : "40x40",
+ "idiom" : "ipad",
+ "filename" : "40@2x-1.png",
+ "scale" : "2x"
+ },
+ {
+ "size" : "76x76",
+ "idiom" : "ipad",
+ "filename" : "76.png",
+ "scale" : "1x"
+ },
+ {
+ "size" : "76x76",
+ "idiom" : "ipad",
+ "filename" : "76@2x.png",
+ "scale" : "2x"
+ },
+ {
+ "size" : "83.5x83.5",
+ "idiom" : "ipad",
+ "filename" : "83.5.png",
+ "scale" : "2x"
+ },
+ {
+ "size" : "1024x1024",
+ "idiom" : "ios-marketing",
+ "filename" : "iOS_icon.png",
+ "scale" : "1x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/Sources/Earthquake Network/Assets.xcassets/AppIcon.appiconset/iOS_icon.png b/Sources/Earthquake Network/Assets.xcassets/AppIcon.appiconset/iOS_icon.png
new file mode 100644
index 0000000..1b22e87
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/AppIcon.appiconset/iOS_icon.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/Contents.json b/Sources/Earthquake Network/Assets.xcassets/Contents.json
new file mode 100644
index 0000000..da4a164
--- /dev/null
+++ b/Sources/Earthquake Network/Assets.xcassets/Contents.json
@@ -0,0 +1,6 @@
+{
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/Sources/Earthquake Network/Assets.xcassets/back.imageset/Contents.json b/Sources/Earthquake Network/Assets.xcassets/back.imageset/Contents.json
new file mode 100644
index 0000000..3bad3d0
--- /dev/null
+++ b/Sources/Earthquake Network/Assets.xcassets/back.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "back.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "back@2x.png",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "back@3x.png",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/Sources/Earthquake Network/Assets.xcassets/back.imageset/back.png b/Sources/Earthquake Network/Assets.xcassets/back.imageset/back.png
new file mode 100644
index 0000000..afff000
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/back.imageset/back.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/back.imageset/back@2x.png b/Sources/Earthquake Network/Assets.xcassets/back.imageset/back@2x.png
new file mode 100644
index 0000000..b37d78e
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/back.imageset/back@2x.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/back.imageset/back@3x.png b/Sources/Earthquake Network/Assets.xcassets/back.imageset/back@3x.png
new file mode 100644
index 0000000..d83922c
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/back.imageset/back@3x.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/clock.imageset/Contents.json b/Sources/Earthquake Network/Assets.xcassets/clock.imageset/Contents.json
new file mode 100644
index 0000000..cea62d8
--- /dev/null
+++ b/Sources/Earthquake Network/Assets.xcassets/clock.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "ic_history_grey600_24dp.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "ic_history_grey600_24dp @2x.png",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "ic_history_grey600_24dp @3x.png",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/Sources/Earthquake Network/Assets.xcassets/clock.imageset/ic_history_grey600_24dp @2x.png b/Sources/Earthquake Network/Assets.xcassets/clock.imageset/ic_history_grey600_24dp @2x.png
new file mode 100644
index 0000000..433f0dc
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/clock.imageset/ic_history_grey600_24dp @2x.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/clock.imageset/ic_history_grey600_24dp @3x.png b/Sources/Earthquake Network/Assets.xcassets/clock.imageset/ic_history_grey600_24dp @3x.png
new file mode 100644
index 0000000..153dd6b
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/clock.imageset/ic_history_grey600_24dp @3x.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/clock.imageset/ic_history_grey600_24dp.png b/Sources/Earthquake Network/Assets.xcassets/clock.imageset/ic_history_grey600_24dp.png
new file mode 100644
index 0000000..4693668
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/clock.imageset/ic_history_grey600_24dp.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/distquake_app_pro.imageset/Contents.json b/Sources/Earthquake Network/Assets.xcassets/distquake_app_pro.imageset/Contents.json
new file mode 100644
index 0000000..74ccf5d
--- /dev/null
+++ b/Sources/Earthquake Network/Assets.xcassets/distquake_app_pro.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "distquake_app_pro.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "distquake_app_pro-1.png",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "distquake_app_pro-2.png",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/Sources/Earthquake Network/Assets.xcassets/distquake_app_pro.imageset/distquake_app_pro-1.png b/Sources/Earthquake Network/Assets.xcassets/distquake_app_pro.imageset/distquake_app_pro-1.png
new file mode 100644
index 0000000..860a57c
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/distquake_app_pro.imageset/distquake_app_pro-1.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/distquake_app_pro.imageset/distquake_app_pro-2.png b/Sources/Earthquake Network/Assets.xcassets/distquake_app_pro.imageset/distquake_app_pro-2.png
new file mode 100644
index 0000000..393ba1c
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/distquake_app_pro.imageset/distquake_app_pro-2.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/distquake_app_pro.imageset/distquake_app_pro.png b/Sources/Earthquake Network/Assets.xcassets/distquake_app_pro.imageset/distquake_app_pro.png
new file mode 100644
index 0000000..8363da2
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/distquake_app_pro.imageset/distquake_app_pro.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/distquake_app_wave.imageset/Contents.json b/Sources/Earthquake Network/Assets.xcassets/distquake_app_wave.imageset/Contents.json
new file mode 100644
index 0000000..f2bc4de
--- /dev/null
+++ b/Sources/Earthquake Network/Assets.xcassets/distquake_app_wave.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "distquake_app_wave.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "distquake_app_wave-1.png",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "distquake_app_wave-2.png",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/Sources/Earthquake Network/Assets.xcassets/distquake_app_wave.imageset/distquake_app_wave-1.png b/Sources/Earthquake Network/Assets.xcassets/distquake_app_wave.imageset/distquake_app_wave-1.png
new file mode 100644
index 0000000..1856a55
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/distquake_app_wave.imageset/distquake_app_wave-1.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/distquake_app_wave.imageset/distquake_app_wave-2.png b/Sources/Earthquake Network/Assets.xcassets/distquake_app_wave.imageset/distquake_app_wave-2.png
new file mode 100644
index 0000000..28e3415
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/distquake_app_wave.imageset/distquake_app_wave-2.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/distquake_app_wave.imageset/distquake_app_wave.png b/Sources/Earthquake Network/Assets.xcassets/distquake_app_wave.imageset/distquake_app_wave.png
new file mode 100644
index 0000000..35bd2fa
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/distquake_app_wave.imageset/distquake_app_wave.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/distquake_app_wave_small.imageset/Contents.json b/Sources/Earthquake Network/Assets.xcassets/distquake_app_wave_small.imageset/Contents.json
new file mode 100644
index 0000000..edfcb78
--- /dev/null
+++ b/Sources/Earthquake Network/Assets.xcassets/distquake_app_wave_small.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "distquake_app_wave_small.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "distquake_app_wave_small-2.png",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "distquake_app_wave_small-1.png",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/Sources/Earthquake Network/Assets.xcassets/distquake_app_wave_small.imageset/distquake_app_wave_small-1.png b/Sources/Earthquake Network/Assets.xcassets/distquake_app_wave_small.imageset/distquake_app_wave_small-1.png
new file mode 100644
index 0000000..017f427
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/distquake_app_wave_small.imageset/distquake_app_wave_small-1.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/distquake_app_wave_small.imageset/distquake_app_wave_small-2.png b/Sources/Earthquake Network/Assets.xcassets/distquake_app_wave_small.imageset/distquake_app_wave_small-2.png
new file mode 100644
index 0000000..7d85532
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/distquake_app_wave_small.imageset/distquake_app_wave_small-2.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/distquake_app_wave_small.imageset/distquake_app_wave_small.png b/Sources/Earthquake Network/Assets.xcassets/distquake_app_wave_small.imageset/distquake_app_wave_small.png
new file mode 100644
index 0000000..88819c2
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/distquake_app_wave_small.imageset/distquake_app_wave_small.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/dor.imageset/Contents.json b/Sources/Earthquake Network/Assets.xcassets/dor.imageset/Contents.json
new file mode 100644
index 0000000..bfb771d
--- /dev/null
+++ b/Sources/Earthquake Network/Assets.xcassets/dor.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "dor.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "dor2x.png",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "dor3x.png",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/Sources/Earthquake Network/Assets.xcassets/dor.imageset/dor.png b/Sources/Earthquake Network/Assets.xcassets/dor.imageset/dor.png
new file mode 100644
index 0000000..8b0f361
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/dor.imageset/dor.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/dor.imageset/dor2x.png b/Sources/Earthquake Network/Assets.xcassets/dor.imageset/dor2x.png
new file mode 100644
index 0000000..3b7ed87
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/dor.imageset/dor2x.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/dor.imageset/dor3x.png b/Sources/Earthquake Network/Assets.xcassets/dor.imageset/dor3x.png
new file mode 100644
index 0000000..6a51159
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/dor.imageset/dor3x.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/dyamond_green.imageset/Contents.json b/Sources/Earthquake Network/Assets.xcassets/dyamond_green.imageset/Contents.json
new file mode 100644
index 0000000..19372bd
--- /dev/null
+++ b/Sources/Earthquake Network/Assets.xcassets/dyamond_green.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "dyamond_green-1.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "dyamond_green-2.png",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "dyamond_green.png",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/Sources/Earthquake Network/Assets.xcassets/dyamond_green.imageset/dyamond_green-1.png b/Sources/Earthquake Network/Assets.xcassets/dyamond_green.imageset/dyamond_green-1.png
new file mode 100644
index 0000000..71b5973
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/dyamond_green.imageset/dyamond_green-1.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/dyamond_green.imageset/dyamond_green-2.png b/Sources/Earthquake Network/Assets.xcassets/dyamond_green.imageset/dyamond_green-2.png
new file mode 100644
index 0000000..a320802
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/dyamond_green.imageset/dyamond_green-2.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/dyamond_green.imageset/dyamond_green.png b/Sources/Earthquake Network/Assets.xcassets/dyamond_green.imageset/dyamond_green.png
new file mode 100644
index 0000000..5d02608
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/dyamond_green.imageset/dyamond_green.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/dyamond_red.imageset/Contents.json b/Sources/Earthquake Network/Assets.xcassets/dyamond_red.imageset/Contents.json
new file mode 100644
index 0000000..f819bd0
--- /dev/null
+++ b/Sources/Earthquake Network/Assets.xcassets/dyamond_red.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "dyamond_red-1.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "dyamond_red-2.png",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "dyamond_red.png",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/Sources/Earthquake Network/Assets.xcassets/dyamond_red.imageset/dyamond_red-1.png b/Sources/Earthquake Network/Assets.xcassets/dyamond_red.imageset/dyamond_red-1.png
new file mode 100644
index 0000000..2f3c799
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/dyamond_red.imageset/dyamond_red-1.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/dyamond_red.imageset/dyamond_red-2.png b/Sources/Earthquake Network/Assets.xcassets/dyamond_red.imageset/dyamond_red-2.png
new file mode 100644
index 0000000..873d17d
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/dyamond_red.imageset/dyamond_red-2.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/dyamond_red.imageset/dyamond_red.png b/Sources/Earthquake Network/Assets.xcassets/dyamond_red.imageset/dyamond_red.png
new file mode 100644
index 0000000..a824143
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/dyamond_red.imageset/dyamond_red.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/dyamond_yellow.imageset/Contents.json b/Sources/Earthquake Network/Assets.xcassets/dyamond_yellow.imageset/Contents.json
new file mode 100644
index 0000000..c6a6500
--- /dev/null
+++ b/Sources/Earthquake Network/Assets.xcassets/dyamond_yellow.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "dyamond_yellow-1.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "dyamond_yellow-2.png",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "dyamond_yellow.png",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/Sources/Earthquake Network/Assets.xcassets/dyamond_yellow.imageset/dyamond_yellow-1.png b/Sources/Earthquake Network/Assets.xcassets/dyamond_yellow.imageset/dyamond_yellow-1.png
new file mode 100644
index 0000000..c7472f5
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/dyamond_yellow.imageset/dyamond_yellow-1.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/dyamond_yellow.imageset/dyamond_yellow-2.png b/Sources/Earthquake Network/Assets.xcassets/dyamond_yellow.imageset/dyamond_yellow-2.png
new file mode 100644
index 0000000..2a38953
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/dyamond_yellow.imageset/dyamond_yellow-2.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/dyamond_yellow.imageset/dyamond_yellow.png b/Sources/Earthquake Network/Assets.xcassets/dyamond_yellow.imageset/dyamond_yellow.png
new file mode 100644
index 0000000..ea07a8e
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/dyamond_yellow.imageset/dyamond_yellow.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/heart.imageset/Contents.json b/Sources/Earthquake Network/Assets.xcassets/heart.imageset/Contents.json
new file mode 100644
index 0000000..d3ce675
--- /dev/null
+++ b/Sources/Earthquake Network/Assets.xcassets/heart.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "ic_heart_pulse_grey600_24dp.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "ic_heart_pulse_grey600_24dp @2x.png",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "ic_heart_pulse_grey600_24dp @3x.png",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/Sources/Earthquake Network/Assets.xcassets/heart.imageset/ic_heart_pulse_grey600_24dp @2x.png b/Sources/Earthquake Network/Assets.xcassets/heart.imageset/ic_heart_pulse_grey600_24dp @2x.png
new file mode 100644
index 0000000..4ca2452
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/heart.imageset/ic_heart_pulse_grey600_24dp @2x.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/heart.imageset/ic_heart_pulse_grey600_24dp @3x.png b/Sources/Earthquake Network/Assets.xcassets/heart.imageset/ic_heart_pulse_grey600_24dp @3x.png
new file mode 100644
index 0000000..8606091
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/heart.imageset/ic_heart_pulse_grey600_24dp @3x.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/heart.imageset/ic_heart_pulse_grey600_24dp.png b/Sources/Earthquake Network/Assets.xcassets/heart.imageset/ic_heart_pulse_grey600_24dp.png
new file mode 100644
index 0000000..247493a
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/heart.imageset/ic_heart_pulse_grey600_24dp.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/ic_action_settings.imageset/Contents.json b/Sources/Earthquake Network/Assets.xcassets/ic_action_settings.imageset/Contents.json
new file mode 100644
index 0000000..bdc30c5
--- /dev/null
+++ b/Sources/Earthquake Network/Assets.xcassets/ic_action_settings.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "ic_action_settings.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "ic_action_settings @2x.png",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "ic_action_settings @3x.png",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/Sources/Earthquake Network/Assets.xcassets/ic_action_settings.imageset/ic_action_settings @2x.png b/Sources/Earthquake Network/Assets.xcassets/ic_action_settings.imageset/ic_action_settings @2x.png
new file mode 100644
index 0000000..068ddc0
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/ic_action_settings.imageset/ic_action_settings @2x.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/ic_action_settings.imageset/ic_action_settings @3x.png b/Sources/Earthquake Network/Assets.xcassets/ic_action_settings.imageset/ic_action_settings @3x.png
new file mode 100644
index 0000000..d26d9dc
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/ic_action_settings.imageset/ic_action_settings @3x.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/ic_action_settings.imageset/ic_action_settings.png b/Sources/Earthquake Network/Assets.xcassets/ic_action_settings.imageset/ic_action_settings.png
new file mode 100644
index 0000000..e408740
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/ic_action_settings.imageset/ic_action_settings.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/ic_action_share.imageset/Contents.json b/Sources/Earthquake Network/Assets.xcassets/ic_action_share.imageset/Contents.json
new file mode 100644
index 0000000..8ac27fb
--- /dev/null
+++ b/Sources/Earthquake Network/Assets.xcassets/ic_action_share.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "ic_action_share.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "ic_action_share copia.png",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "ic_action_share copia2.png",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/Sources/Earthquake Network/Assets.xcassets/ic_action_share.imageset/ic_action_share copia.png b/Sources/Earthquake Network/Assets.xcassets/ic_action_share.imageset/ic_action_share copia.png
new file mode 100644
index 0000000..407d951
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/ic_action_share.imageset/ic_action_share copia.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/ic_action_share.imageset/ic_action_share copia2.png b/Sources/Earthquake Network/Assets.xcassets/ic_action_share.imageset/ic_action_share copia2.png
new file mode 100644
index 0000000..bd52c4a
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/ic_action_share.imageset/ic_action_share copia2.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/ic_action_share.imageset/ic_action_share.png b/Sources/Earthquake Network/Assets.xcassets/ic_action_share.imageset/ic_action_share.png
new file mode 100644
index 0000000..7c9a4ca
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/ic_action_share.imageset/ic_action_share.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/ic_arrow_drop_down_48px-128.imageset/Contents.json b/Sources/Earthquake Network/Assets.xcassets/ic_arrow_drop_down_48px-128.imageset/Contents.json
new file mode 100644
index 0000000..46ca5bf
--- /dev/null
+++ b/Sources/Earthquake Network/Assets.xcassets/ic_arrow_drop_down_48px-128.imageset/Contents.json
@@ -0,0 +1,21 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "ic_arrow_drop_down_48px-128.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/Sources/Earthquake Network/Assets.xcassets/ic_arrow_drop_down_48px-128.imageset/ic_arrow_drop_down_48px-128.png b/Sources/Earthquake Network/Assets.xcassets/ic_arrow_drop_down_48px-128.imageset/ic_arrow_drop_down_48px-128.png
new file mode 100644
index 0000000..9e6544b
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/ic_arrow_drop_down_48px-128.imageset/ic_arrow_drop_down_48px-128.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/ic_compass_outline_grey.imageset/Contents.json b/Sources/Earthquake Network/Assets.xcassets/ic_compass_outline_grey.imageset/Contents.json
new file mode 100644
index 0000000..27b91bd
--- /dev/null
+++ b/Sources/Earthquake Network/Assets.xcassets/ic_compass_outline_grey.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "ic_compass_outline_grey.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "ic_compass_outline_grey@2x.png",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "ic_compass_outline_grey@3x.png",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/Sources/Earthquake Network/Assets.xcassets/ic_compass_outline_grey.imageset/ic_compass_outline_grey.png b/Sources/Earthquake Network/Assets.xcassets/ic_compass_outline_grey.imageset/ic_compass_outline_grey.png
new file mode 100644
index 0000000..2e1f2af
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/ic_compass_outline_grey.imageset/ic_compass_outline_grey.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/ic_compass_outline_grey.imageset/ic_compass_outline_grey@2x.png b/Sources/Earthquake Network/Assets.xcassets/ic_compass_outline_grey.imageset/ic_compass_outline_grey@2x.png
new file mode 100644
index 0000000..fcca304
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/ic_compass_outline_grey.imageset/ic_compass_outline_grey@2x.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/ic_compass_outline_grey.imageset/ic_compass_outline_grey@3x.png b/Sources/Earthquake Network/Assets.xcassets/ic_compass_outline_grey.imageset/ic_compass_outline_grey@3x.png
new file mode 100644
index 0000000..af575e9
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/ic_compass_outline_grey.imageset/ic_compass_outline_grey@3x.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/ic_filter_grey600_24dp.imageset/Contents.json b/Sources/Earthquake Network/Assets.xcassets/ic_filter_grey600_24dp.imageset/Contents.json
new file mode 100644
index 0000000..090e1de
--- /dev/null
+++ b/Sources/Earthquake Network/Assets.xcassets/ic_filter_grey600_24dp.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "ic_filter_grey600_24dp.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "ic_filter_grey600_24dp-1.png",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "ic_filter_grey600_24dp-2.png",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/Sources/Earthquake Network/Assets.xcassets/ic_filter_grey600_24dp.imageset/ic_filter_grey600_24dp-1.png b/Sources/Earthquake Network/Assets.xcassets/ic_filter_grey600_24dp.imageset/ic_filter_grey600_24dp-1.png
new file mode 100644
index 0000000..9ab93a6
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/ic_filter_grey600_24dp.imageset/ic_filter_grey600_24dp-1.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/ic_filter_grey600_24dp.imageset/ic_filter_grey600_24dp-2.png b/Sources/Earthquake Network/Assets.xcassets/ic_filter_grey600_24dp.imageset/ic_filter_grey600_24dp-2.png
new file mode 100644
index 0000000..490cec3
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/ic_filter_grey600_24dp.imageset/ic_filter_grey600_24dp-2.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/ic_filter_grey600_24dp.imageset/ic_filter_grey600_24dp.png b/Sources/Earthquake Network/Assets.xcassets/ic_filter_grey600_24dp.imageset/ic_filter_grey600_24dp.png
new file mode 100644
index 0000000..7fd57b4
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/ic_filter_grey600_24dp.imageset/ic_filter_grey600_24dp.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/ic_help_outline_black_24dp.imageset/Contents.json b/Sources/Earthquake Network/Assets.xcassets/ic_help_outline_black_24dp.imageset/Contents.json
new file mode 100644
index 0000000..2cb613e
--- /dev/null
+++ b/Sources/Earthquake Network/Assets.xcassets/ic_help_outline_black_24dp.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "ic_help_outline_black_24dp.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "ic_help_outline_black_24dp@2x.png",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "ic_help_outline_black_24dp@3x.png",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/Sources/Earthquake Network/Assets.xcassets/ic_help_outline_black_24dp.imageset/ic_help_outline_black_24dp.png b/Sources/Earthquake Network/Assets.xcassets/ic_help_outline_black_24dp.imageset/ic_help_outline_black_24dp.png
new file mode 100644
index 0000000..c0b4f58
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/ic_help_outline_black_24dp.imageset/ic_help_outline_black_24dp.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/ic_help_outline_black_24dp.imageset/ic_help_outline_black_24dp@2x.png b/Sources/Earthquake Network/Assets.xcassets/ic_help_outline_black_24dp.imageset/ic_help_outline_black_24dp@2x.png
new file mode 100644
index 0000000..3687bb6
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/ic_help_outline_black_24dp.imageset/ic_help_outline_black_24dp@2x.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/ic_help_outline_black_24dp.imageset/ic_help_outline_black_24dp@3x.png b/Sources/Earthquake Network/Assets.xcassets/ic_help_outline_black_24dp.imageset/ic_help_outline_black_24dp@3x.png
new file mode 100644
index 0000000..49e8346
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/ic_help_outline_black_24dp.imageset/ic_help_outline_black_24dp@3x.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/ic_info_outline_black_24dp.imageset/Contents.json b/Sources/Earthquake Network/Assets.xcassets/ic_info_outline_black_24dp.imageset/Contents.json
new file mode 100644
index 0000000..6e373d7
--- /dev/null
+++ b/Sources/Earthquake Network/Assets.xcassets/ic_info_outline_black_24dp.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "ic_info_outline_black_24dp.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "ic_info_outline_black_24dp@2x.png",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "ic_info_outline_black_24dp@3x.png",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/Sources/Earthquake Network/Assets.xcassets/ic_info_outline_black_24dp.imageset/ic_info_outline_black_24dp.png b/Sources/Earthquake Network/Assets.xcassets/ic_info_outline_black_24dp.imageset/ic_info_outline_black_24dp.png
new file mode 100644
index 0000000..23a2860
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/ic_info_outline_black_24dp.imageset/ic_info_outline_black_24dp.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/ic_info_outline_black_24dp.imageset/ic_info_outline_black_24dp@2x.png b/Sources/Earthquake Network/Assets.xcassets/ic_info_outline_black_24dp.imageset/ic_info_outline_black_24dp@2x.png
new file mode 100644
index 0000000..6417ec6
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/ic_info_outline_black_24dp.imageset/ic_info_outline_black_24dp@2x.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/ic_info_outline_black_24dp.imageset/ic_info_outline_black_24dp@3x.png b/Sources/Earthquake Network/Assets.xcassets/ic_info_outline_black_24dp.imageset/ic_info_outline_black_24dp@3x.png
new file mode 100644
index 0000000..47efbec
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/ic_info_outline_black_24dp.imageset/ic_info_outline_black_24dp@3x.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/ic_person_black_24dp.imageset/Contents.json b/Sources/Earthquake Network/Assets.xcassets/ic_person_black_24dp.imageset/Contents.json
new file mode 100644
index 0000000..6b670f9
--- /dev/null
+++ b/Sources/Earthquake Network/Assets.xcassets/ic_person_black_24dp.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "ic_person_black_24dp.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "ic_person_black_24dp@2x.png",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "ic_person_black_24dp@3x.png",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/Sources/Earthquake Network/Assets.xcassets/ic_person_black_24dp.imageset/ic_person_black_24dp.png b/Sources/Earthquake Network/Assets.xcassets/ic_person_black_24dp.imageset/ic_person_black_24dp.png
new file mode 100644
index 0000000..3e1fa0a
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/ic_person_black_24dp.imageset/ic_person_black_24dp.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/ic_person_black_24dp.imageset/ic_person_black_24dp@2x.png b/Sources/Earthquake Network/Assets.xcassets/ic_person_black_24dp.imageset/ic_person_black_24dp@2x.png
new file mode 100644
index 0000000..54fc49b
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/ic_person_black_24dp.imageset/ic_person_black_24dp@2x.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/ic_person_black_24dp.imageset/ic_person_black_24dp@3x.png b/Sources/Earthquake Network/Assets.xcassets/ic_person_black_24dp.imageset/ic_person_black_24dp@3x.png
new file mode 100644
index 0000000..e9a0c2f
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/ic_person_black_24dp.imageset/ic_person_black_24dp@3x.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/ic_settings_black_24dp.imageset/Contents.json b/Sources/Earthquake Network/Assets.xcassets/ic_settings_black_24dp.imageset/Contents.json
new file mode 100644
index 0000000..ff53a02
--- /dev/null
+++ b/Sources/Earthquake Network/Assets.xcassets/ic_settings_black_24dp.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "ic_settings_black_24dp.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "ic_settings_black_24dp@2x.png",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "ic_settings_black_24dp@3x.png",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/Sources/Earthquake Network/Assets.xcassets/ic_settings_black_24dp.imageset/ic_settings_black_24dp.png b/Sources/Earthquake Network/Assets.xcassets/ic_settings_black_24dp.imageset/ic_settings_black_24dp.png
new file mode 100644
index 0000000..d788943
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/ic_settings_black_24dp.imageset/ic_settings_black_24dp.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/ic_settings_black_24dp.imageset/ic_settings_black_24dp@2x.png b/Sources/Earthquake Network/Assets.xcassets/ic_settings_black_24dp.imageset/ic_settings_black_24dp@2x.png
new file mode 100644
index 0000000..b40ee05
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/ic_settings_black_24dp.imageset/ic_settings_black_24dp@2x.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/ic_settings_black_24dp.imageset/ic_settings_black_24dp@3x.png b/Sources/Earthquake Network/Assets.xcassets/ic_settings_black_24dp.imageset/ic_settings_black_24dp@3x.png
new file mode 100644
index 0000000..e18303a
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/ic_settings_black_24dp.imageset/ic_settings_black_24dp@3x.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/ic_shield_half_full_black_24dp.imageset/Contents.json b/Sources/Earthquake Network/Assets.xcassets/ic_shield_half_full_black_24dp.imageset/Contents.json
new file mode 100644
index 0000000..53f035c
--- /dev/null
+++ b/Sources/Earthquake Network/Assets.xcassets/ic_shield_half_full_black_24dp.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "ic_shield_half_full_black_24dp.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "ic_shield_half_full_black_24dp@2x.png",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "ic_shield_half_full_black_24dp@3x.png",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/Sources/Earthquake Network/Assets.xcassets/ic_shield_half_full_black_24dp.imageset/ic_shield_half_full_black_24dp.png b/Sources/Earthquake Network/Assets.xcassets/ic_shield_half_full_black_24dp.imageset/ic_shield_half_full_black_24dp.png
new file mode 100644
index 0000000..5d6de17
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/ic_shield_half_full_black_24dp.imageset/ic_shield_half_full_black_24dp.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/ic_shield_half_full_black_24dp.imageset/ic_shield_half_full_black_24dp@2x.png b/Sources/Earthquake Network/Assets.xcassets/ic_shield_half_full_black_24dp.imageset/ic_shield_half_full_black_24dp@2x.png
new file mode 100644
index 0000000..1f0fc57
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/ic_shield_half_full_black_24dp.imageset/ic_shield_half_full_black_24dp@2x.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/ic_shield_half_full_black_24dp.imageset/ic_shield_half_full_black_24dp@3x.png b/Sources/Earthquake Network/Assets.xcassets/ic_shield_half_full_black_24dp.imageset/ic_shield_half_full_black_24dp@3x.png
new file mode 100644
index 0000000..39d31c0
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/ic_shield_half_full_black_24dp.imageset/ic_shield_half_full_black_24dp@3x.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/ic_star_border_black_24dp.imageset/Contents.json b/Sources/Earthquake Network/Assets.xcassets/ic_star_border_black_24dp.imageset/Contents.json
new file mode 100644
index 0000000..8c913fa
--- /dev/null
+++ b/Sources/Earthquake Network/Assets.xcassets/ic_star_border_black_24dp.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "ic_star_border_black_24dp.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "ic_star_border_black_24dp@2x.png",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "ic_star_border_black_24dp@3x.png",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/Sources/Earthquake Network/Assets.xcassets/ic_star_border_black_24dp.imageset/ic_star_border_black_24dp.png b/Sources/Earthquake Network/Assets.xcassets/ic_star_border_black_24dp.imageset/ic_star_border_black_24dp.png
new file mode 100644
index 0000000..82e2c7a
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/ic_star_border_black_24dp.imageset/ic_star_border_black_24dp.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/ic_star_border_black_24dp.imageset/ic_star_border_black_24dp@2x.png b/Sources/Earthquake Network/Assets.xcassets/ic_star_border_black_24dp.imageset/ic_star_border_black_24dp@2x.png
new file mode 100644
index 0000000..a4dba51
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/ic_star_border_black_24dp.imageset/ic_star_border_black_24dp@2x.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/ic_star_border_black_24dp.imageset/ic_star_border_black_24dp@3x.png b/Sources/Earthquake Network/Assets.xcassets/ic_star_border_black_24dp.imageset/ic_star_border_black_24dp@3x.png
new file mode 100644
index 0000000..aec91f1
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/ic_star_border_black_24dp.imageset/ic_star_border_black_24dp@3x.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/ic_verified_user_black_24dp.imageset/Contents.json b/Sources/Earthquake Network/Assets.xcassets/ic_verified_user_black_24dp.imageset/Contents.json
new file mode 100644
index 0000000..1b547cd
--- /dev/null
+++ b/Sources/Earthquake Network/Assets.xcassets/ic_verified_user_black_24dp.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "ic_verified_user_black_24dp.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "ic_verified_user_black_24dp@2x.png",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "ic_verified_user_black_24dp@3x.png",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/Sources/Earthquake Network/Assets.xcassets/ic_verified_user_black_24dp.imageset/ic_verified_user_black_24dp.png b/Sources/Earthquake Network/Assets.xcassets/ic_verified_user_black_24dp.imageset/ic_verified_user_black_24dp.png
new file mode 100644
index 0000000..5436a0d
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/ic_verified_user_black_24dp.imageset/ic_verified_user_black_24dp.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/ic_verified_user_black_24dp.imageset/ic_verified_user_black_24dp@2x.png b/Sources/Earthquake Network/Assets.xcassets/ic_verified_user_black_24dp.imageset/ic_verified_user_black_24dp@2x.png
new file mode 100644
index 0000000..ce560d2
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/ic_verified_user_black_24dp.imageset/ic_verified_user_black_24dp@2x.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/ic_verified_user_black_24dp.imageset/ic_verified_user_black_24dp@3x.png b/Sources/Earthquake Network/Assets.xcassets/ic_verified_user_black_24dp.imageset/ic_verified_user_black_24dp@3x.png
new file mode 100644
index 0000000..60f5f20
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/ic_verified_user_black_24dp.imageset/ic_verified_user_black_24dp@3x.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/if_sync.imageset/Contents.json b/Sources/Earthquake Network/Assets.xcassets/if_sync.imageset/Contents.json
new file mode 100644
index 0000000..59d48b9
--- /dev/null
+++ b/Sources/Earthquake Network/Assets.xcassets/if_sync.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "ic_action_refresh.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "ic_action_refresh @2x.png",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "ic_action_refresh @3x.png",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/Sources/Earthquake Network/Assets.xcassets/if_sync.imageset/ic_action_refresh @2x.png b/Sources/Earthquake Network/Assets.xcassets/if_sync.imageset/ic_action_refresh @2x.png
new file mode 100644
index 0000000..e0f0ca2
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/if_sync.imageset/ic_action_refresh @2x.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/if_sync.imageset/ic_action_refresh @3x.png b/Sources/Earthquake Network/Assets.xcassets/if_sync.imageset/ic_action_refresh @3x.png
new file mode 100644
index 0000000..723185d
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/if_sync.imageset/ic_action_refresh @3x.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/if_sync.imageset/ic_action_refresh.png b/Sources/Earthquake Network/Assets.xcassets/if_sync.imageset/ic_action_refresh.png
new file mode 100644
index 0000000..8f7e16b
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/if_sync.imageset/ic_action_refresh.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/menu.imageset/Contents.json b/Sources/Earthquake Network/Assets.xcassets/menu.imageset/Contents.json
new file mode 100644
index 0000000..acf46f4
--- /dev/null
+++ b/Sources/Earthquake Network/Assets.xcassets/menu.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "menu.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "menu@2x.png",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "menu@3x.png",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/Sources/Earthquake Network/Assets.xcassets/menu.imageset/menu.png b/Sources/Earthquake Network/Assets.xcassets/menu.imageset/menu.png
new file mode 100644
index 0000000..34c5f6b
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/menu.imageset/menu.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/menu.imageset/menu@2x.png b/Sources/Earthquake Network/Assets.xcassets/menu.imageset/menu@2x.png
new file mode 100644
index 0000000..177f9f3
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/menu.imageset/menu@2x.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/menu.imageset/menu@3x.png b/Sources/Earthquake Network/Assets.xcassets/menu.imageset/menu@3x.png
new file mode 100644
index 0000000..d21cf59
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/menu.imageset/menu@3x.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/message.imageset/Contents.json b/Sources/Earthquake Network/Assets.xcassets/message.imageset/Contents.json
new file mode 100644
index 0000000..ac596f0
--- /dev/null
+++ b/Sources/Earthquake Network/Assets.xcassets/message.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "message-1.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "message-2.png",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "message.png",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/Sources/Earthquake Network/Assets.xcassets/message.imageset/message-1.png b/Sources/Earthquake Network/Assets.xcassets/message.imageset/message-1.png
new file mode 100644
index 0000000..8ff5839
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/message.imageset/message-1.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/message.imageset/message-2.png b/Sources/Earthquake Network/Assets.xcassets/message.imageset/message-2.png
new file mode 100644
index 0000000..830ae73
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/message.imageset/message-2.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/message.imageset/message.png b/Sources/Earthquake Network/Assets.xcassets/message.imageset/message.png
new file mode 100644
index 0000000..4d68d12
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/message.imageset/message.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/priority.imageset/Contents.json b/Sources/Earthquake Network/Assets.xcassets/priority.imageset/Contents.json
new file mode 100644
index 0000000..becb7d3
--- /dev/null
+++ b/Sources/Earthquake Network/Assets.xcassets/priority.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "priority.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "priority copia 2.png",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "priority copia 3.png",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/Sources/Earthquake Network/Assets.xcassets/priority.imageset/priority copia 2.png b/Sources/Earthquake Network/Assets.xcassets/priority.imageset/priority copia 2.png
new file mode 100644
index 0000000..3ad0f2c
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/priority.imageset/priority copia 2.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/priority.imageset/priority copia 3.png b/Sources/Earthquake Network/Assets.xcassets/priority.imageset/priority copia 3.png
new file mode 100644
index 0000000..8ec0732
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/priority.imageset/priority copia 3.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/priority.imageset/priority.png b/Sources/Earthquake Network/Assets.xcassets/priority.imageset/priority.png
new file mode 100644
index 0000000..20ea3d9
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/priority.imageset/priority.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/star_blue.imageset/Contents.json b/Sources/Earthquake Network/Assets.xcassets/star_blue.imageset/Contents.json
new file mode 100644
index 0000000..21101be
--- /dev/null
+++ b/Sources/Earthquake Network/Assets.xcassets/star_blue.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "star_blue-1.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "star_blue.png",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "star_blue-2.png",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/Sources/Earthquake Network/Assets.xcassets/star_blue.imageset/star_blue-1.png b/Sources/Earthquake Network/Assets.xcassets/star_blue.imageset/star_blue-1.png
new file mode 100644
index 0000000..1562b1d
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/star_blue.imageset/star_blue-1.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/star_blue.imageset/star_blue-2.png b/Sources/Earthquake Network/Assets.xcassets/star_blue.imageset/star_blue-2.png
new file mode 100644
index 0000000..cb54dfa
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/star_blue.imageset/star_blue-2.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/star_blue.imageset/star_blue.png b/Sources/Earthquake Network/Assets.xcassets/star_blue.imageset/star_blue.png
new file mode 100644
index 0000000..841d96b
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/star_blue.imageset/star_blue.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/star_blue1.imageset/Contents.json b/Sources/Earthquake Network/Assets.xcassets/star_blue1.imageset/Contents.json
new file mode 100644
index 0000000..b2f8df3
--- /dev/null
+++ b/Sources/Earthquake Network/Assets.xcassets/star_blue1.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "star_blue1-2.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "star_blue1.png",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "star_blue1-1.png",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/Sources/Earthquake Network/Assets.xcassets/star_blue1.imageset/star_blue1-1.png b/Sources/Earthquake Network/Assets.xcassets/star_blue1.imageset/star_blue1-1.png
new file mode 100644
index 0000000..78e4d19
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/star_blue1.imageset/star_blue1-1.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/star_blue1.imageset/star_blue1-2.png b/Sources/Earthquake Network/Assets.xcassets/star_blue1.imageset/star_blue1-2.png
new file mode 100644
index 0000000..ab2ebee
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/star_blue1.imageset/star_blue1-2.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/star_blue1.imageset/star_blue1.png b/Sources/Earthquake Network/Assets.xcassets/star_blue1.imageset/star_blue1.png
new file mode 100644
index 0000000..d130f1e
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/star_blue1.imageset/star_blue1.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/star_green.imageset/Contents.json b/Sources/Earthquake Network/Assets.xcassets/star_green.imageset/Contents.json
new file mode 100644
index 0000000..64945b2
--- /dev/null
+++ b/Sources/Earthquake Network/Assets.xcassets/star_green.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "star_green1-1.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "star_green1-2.png",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "star_green1.png",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/Sources/Earthquake Network/Assets.xcassets/star_green.imageset/star_green1-1.png b/Sources/Earthquake Network/Assets.xcassets/star_green.imageset/star_green1-1.png
new file mode 100644
index 0000000..527e1a4
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/star_green.imageset/star_green1-1.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/star_green.imageset/star_green1-2.png b/Sources/Earthquake Network/Assets.xcassets/star_green.imageset/star_green1-2.png
new file mode 100644
index 0000000..76807d4
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/star_green.imageset/star_green1-2.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/star_green.imageset/star_green1.png b/Sources/Earthquake Network/Assets.xcassets/star_green.imageset/star_green1.png
new file mode 100644
index 0000000..7ad3f7c
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/star_green.imageset/star_green1.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/star_lightblue.imageset/Contents.json b/Sources/Earthquake Network/Assets.xcassets/star_lightblue.imageset/Contents.json
new file mode 100644
index 0000000..d10b166
--- /dev/null
+++ b/Sources/Earthquake Network/Assets.xcassets/star_lightblue.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "star_lightblue-1.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "star_lightblue.png",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "star_lightblue-2.png",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/Sources/Earthquake Network/Assets.xcassets/star_lightblue.imageset/star_lightblue-1.png b/Sources/Earthquake Network/Assets.xcassets/star_lightblue.imageset/star_lightblue-1.png
new file mode 100644
index 0000000..6b42811
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/star_lightblue.imageset/star_lightblue-1.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/star_lightblue.imageset/star_lightblue-2.png b/Sources/Earthquake Network/Assets.xcassets/star_lightblue.imageset/star_lightblue-2.png
new file mode 100644
index 0000000..5f3eab2
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/star_lightblue.imageset/star_lightblue-2.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/star_lightblue.imageset/star_lightblue.png b/Sources/Earthquake Network/Assets.xcassets/star_lightblue.imageset/star_lightblue.png
new file mode 100644
index 0000000..06e6f10
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/star_lightblue.imageset/star_lightblue.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/star_lightblue1.imageset/Contents.json b/Sources/Earthquake Network/Assets.xcassets/star_lightblue1.imageset/Contents.json
new file mode 100644
index 0000000..2767bda
--- /dev/null
+++ b/Sources/Earthquake Network/Assets.xcassets/star_lightblue1.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "star_lightblue1.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "star_lightblue1-1.png",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "star_lightblue1-2.png",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/Sources/Earthquake Network/Assets.xcassets/star_lightblue1.imageset/star_lightblue1-1.png b/Sources/Earthquake Network/Assets.xcassets/star_lightblue1.imageset/star_lightblue1-1.png
new file mode 100644
index 0000000..3c66866
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/star_lightblue1.imageset/star_lightblue1-1.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/star_lightblue1.imageset/star_lightblue1-2.png b/Sources/Earthquake Network/Assets.xcassets/star_lightblue1.imageset/star_lightblue1-2.png
new file mode 100644
index 0000000..b488c51
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/star_lightblue1.imageset/star_lightblue1-2.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/star_lightblue1.imageset/star_lightblue1.png b/Sources/Earthquake Network/Assets.xcassets/star_lightblue1.imageset/star_lightblue1.png
new file mode 100644
index 0000000..53bab60
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/star_lightblue1.imageset/star_lightblue1.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/star_red1.imageset/Contents.json b/Sources/Earthquake Network/Assets.xcassets/star_red1.imageset/Contents.json
new file mode 100644
index 0000000..93865a5
--- /dev/null
+++ b/Sources/Earthquake Network/Assets.xcassets/star_red1.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "star_red1.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "star_red1-1.png",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "star_red1-2.png",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/Sources/Earthquake Network/Assets.xcassets/star_red1.imageset/star_red1-1.png b/Sources/Earthquake Network/Assets.xcassets/star_red1.imageset/star_red1-1.png
new file mode 100644
index 0000000..9779403
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/star_red1.imageset/star_red1-1.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/star_red1.imageset/star_red1-2.png b/Sources/Earthquake Network/Assets.xcassets/star_red1.imageset/star_red1-2.png
new file mode 100644
index 0000000..7fe78df
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/star_red1.imageset/star_red1-2.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/star_red1.imageset/star_red1.png b/Sources/Earthquake Network/Assets.xcassets/star_red1.imageset/star_red1.png
new file mode 100644
index 0000000..98fc654
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/star_red1.imageset/star_red1.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/star_white.imageset/Contents.json b/Sources/Earthquake Network/Assets.xcassets/star_white.imageset/Contents.json
new file mode 100644
index 0000000..0ad4081
--- /dev/null
+++ b/Sources/Earthquake Network/Assets.xcassets/star_white.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "star_white-2.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "star_white.png",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "star_white-1.png",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/Sources/Earthquake Network/Assets.xcassets/star_white.imageset/star_white-1.png b/Sources/Earthquake Network/Assets.xcassets/star_white.imageset/star_white-1.png
new file mode 100644
index 0000000..0a272c1
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/star_white.imageset/star_white-1.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/star_white.imageset/star_white-2.png b/Sources/Earthquake Network/Assets.xcassets/star_white.imageset/star_white-2.png
new file mode 100644
index 0000000..9135ff3
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/star_white.imageset/star_white-2.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/star_white.imageset/star_white.png b/Sources/Earthquake Network/Assets.xcassets/star_white.imageset/star_white.png
new file mode 100644
index 0000000..b529ac6
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/star_white.imageset/star_white.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/star_white1.imageset/Contents.json b/Sources/Earthquake Network/Assets.xcassets/star_white1.imageset/Contents.json
new file mode 100644
index 0000000..1b22117
--- /dev/null
+++ b/Sources/Earthquake Network/Assets.xcassets/star_white1.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "star_white1-2.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "star_white1-1.png",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "star_white1.png",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/Sources/Earthquake Network/Assets.xcassets/star_white1.imageset/star_white1-1.png b/Sources/Earthquake Network/Assets.xcassets/star_white1.imageset/star_white1-1.png
new file mode 100644
index 0000000..d024097
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/star_white1.imageset/star_white1-1.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/star_white1.imageset/star_white1-2.png b/Sources/Earthquake Network/Assets.xcassets/star_white1.imageset/star_white1-2.png
new file mode 100644
index 0000000..6164401
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/star_white1.imageset/star_white1-2.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/star_white1.imageset/star_white1.png b/Sources/Earthquake Network/Assets.xcassets/star_white1.imageset/star_white1.png
new file mode 100644
index 0000000..1f4f0c6
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/star_white1.imageset/star_white1.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/star_yellow.imageset/Contents.json b/Sources/Earthquake Network/Assets.xcassets/star_yellow.imageset/Contents.json
new file mode 100644
index 0000000..7eb272b
--- /dev/null
+++ b/Sources/Earthquake Network/Assets.xcassets/star_yellow.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "star_yellow.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "star_yellow1.png",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "star_yellow1-1.png",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/Sources/Earthquake Network/Assets.xcassets/star_yellow.imageset/star_yellow.png b/Sources/Earthquake Network/Assets.xcassets/star_yellow.imageset/star_yellow.png
new file mode 100644
index 0000000..4250801
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/star_yellow.imageset/star_yellow.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/star_yellow.imageset/star_yellow1-1.png b/Sources/Earthquake Network/Assets.xcassets/star_yellow.imageset/star_yellow1-1.png
new file mode 100644
index 0000000..503829c
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/star_yellow.imageset/star_yellow1-1.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/star_yellow.imageset/star_yellow1.png b/Sources/Earthquake Network/Assets.xcassets/star_yellow.imageset/star_yellow1.png
new file mode 100644
index 0000000..a3ea088
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/star_yellow.imageset/star_yellow1.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/top_100k.imageset/Contents.json b/Sources/Earthquake Network/Assets.xcassets/top_100k.imageset/Contents.json
new file mode 100644
index 0000000..bb797f6
--- /dev/null
+++ b/Sources/Earthquake Network/Assets.xcassets/top_100k.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "top_100k-1.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "top_100k-2.png",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "top_100k.png",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/Sources/Earthquake Network/Assets.xcassets/top_100k.imageset/top_100k-1.png b/Sources/Earthquake Network/Assets.xcassets/top_100k.imageset/top_100k-1.png
new file mode 100644
index 0000000..6b92bc3
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/top_100k.imageset/top_100k-1.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/top_100k.imageset/top_100k-2.png b/Sources/Earthquake Network/Assets.xcassets/top_100k.imageset/top_100k-2.png
new file mode 100644
index 0000000..ac4323f
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/top_100k.imageset/top_100k-2.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/top_100k.imageset/top_100k.png b/Sources/Earthquake Network/Assets.xcassets/top_100k.imageset/top_100k.png
new file mode 100644
index 0000000..4745029
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/top_100k.imageset/top_100k.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/top_10k.imageset/Contents.json b/Sources/Earthquake Network/Assets.xcassets/top_10k.imageset/Contents.json
new file mode 100644
index 0000000..8b47818
--- /dev/null
+++ b/Sources/Earthquake Network/Assets.xcassets/top_10k.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "top_10k-1.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "top_10k-2.png",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "top_10k.png",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/Sources/Earthquake Network/Assets.xcassets/top_10k.imageset/top_10k-1.png b/Sources/Earthquake Network/Assets.xcassets/top_10k.imageset/top_10k-1.png
new file mode 100644
index 0000000..c2ccc70
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/top_10k.imageset/top_10k-1.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/top_10k.imageset/top_10k-2.png b/Sources/Earthquake Network/Assets.xcassets/top_10k.imageset/top_10k-2.png
new file mode 100644
index 0000000..854ab3a
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/top_10k.imageset/top_10k-2.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/top_10k.imageset/top_10k.png b/Sources/Earthquake Network/Assets.xcassets/top_10k.imageset/top_10k.png
new file mode 100644
index 0000000..2632bdc
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/top_10k.imageset/top_10k.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/weather_01d.imageset/Contents.json b/Sources/Earthquake Network/Assets.xcassets/weather_01d.imageset/Contents.json
new file mode 100644
index 0000000..ab82228
--- /dev/null
+++ b/Sources/Earthquake Network/Assets.xcassets/weather_01d.imageset/Contents.json
@@ -0,0 +1,21 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "weather_01d.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/Sources/Earthquake Network/Assets.xcassets/weather_01d.imageset/weather_01d.png b/Sources/Earthquake Network/Assets.xcassets/weather_01d.imageset/weather_01d.png
new file mode 100644
index 0000000..7d2f792
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/weather_01d.imageset/weather_01d.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/weather_01n.imageset/Contents.json b/Sources/Earthquake Network/Assets.xcassets/weather_01n.imageset/Contents.json
new file mode 100644
index 0000000..dd4944e
--- /dev/null
+++ b/Sources/Earthquake Network/Assets.xcassets/weather_01n.imageset/Contents.json
@@ -0,0 +1,21 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "weather_01n.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/Sources/Earthquake Network/Assets.xcassets/weather_01n.imageset/weather_01n.png b/Sources/Earthquake Network/Assets.xcassets/weather_01n.imageset/weather_01n.png
new file mode 100644
index 0000000..19d0c2e
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/weather_01n.imageset/weather_01n.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/weather_02d.imageset/Contents.json b/Sources/Earthquake Network/Assets.xcassets/weather_02d.imageset/Contents.json
new file mode 100644
index 0000000..2a902f4
--- /dev/null
+++ b/Sources/Earthquake Network/Assets.xcassets/weather_02d.imageset/Contents.json
@@ -0,0 +1,21 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "weather_02d.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/Sources/Earthquake Network/Assets.xcassets/weather_02d.imageset/weather_02d.png b/Sources/Earthquake Network/Assets.xcassets/weather_02d.imageset/weather_02d.png
new file mode 100644
index 0000000..d86a99c
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/weather_02d.imageset/weather_02d.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/weather_02n.imageset/Contents.json b/Sources/Earthquake Network/Assets.xcassets/weather_02n.imageset/Contents.json
new file mode 100644
index 0000000..c1a7665
--- /dev/null
+++ b/Sources/Earthquake Network/Assets.xcassets/weather_02n.imageset/Contents.json
@@ -0,0 +1,21 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "weather_02n.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/Sources/Earthquake Network/Assets.xcassets/weather_02n.imageset/weather_02n.png b/Sources/Earthquake Network/Assets.xcassets/weather_02n.imageset/weather_02n.png
new file mode 100644
index 0000000..780c35c
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/weather_02n.imageset/weather_02n.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/weather_03d.imageset/Contents.json b/Sources/Earthquake Network/Assets.xcassets/weather_03d.imageset/Contents.json
new file mode 100644
index 0000000..4f91ed0
--- /dev/null
+++ b/Sources/Earthquake Network/Assets.xcassets/weather_03d.imageset/Contents.json
@@ -0,0 +1,21 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "weather_03d.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/Sources/Earthquake Network/Assets.xcassets/weather_03d.imageset/weather_03d.png b/Sources/Earthquake Network/Assets.xcassets/weather_03d.imageset/weather_03d.png
new file mode 100644
index 0000000..8a4a8e9
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/weather_03d.imageset/weather_03d.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/weather_03n.imageset/Contents.json b/Sources/Earthquake Network/Assets.xcassets/weather_03n.imageset/Contents.json
new file mode 100644
index 0000000..253cc3c
--- /dev/null
+++ b/Sources/Earthquake Network/Assets.xcassets/weather_03n.imageset/Contents.json
@@ -0,0 +1,21 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "weather_03n.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/Sources/Earthquake Network/Assets.xcassets/weather_03n.imageset/weather_03n.png b/Sources/Earthquake Network/Assets.xcassets/weather_03n.imageset/weather_03n.png
new file mode 100644
index 0000000..8a4a8e9
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/weather_03n.imageset/weather_03n.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/weather_04d.imageset/Contents.json b/Sources/Earthquake Network/Assets.xcassets/weather_04d.imageset/Contents.json
new file mode 100644
index 0000000..ed4df03
--- /dev/null
+++ b/Sources/Earthquake Network/Assets.xcassets/weather_04d.imageset/Contents.json
@@ -0,0 +1,21 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "weather_04d.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/Sources/Earthquake Network/Assets.xcassets/weather_04d.imageset/weather_04d.png b/Sources/Earthquake Network/Assets.xcassets/weather_04d.imageset/weather_04d.png
new file mode 100644
index 0000000..4677b85
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/weather_04d.imageset/weather_04d.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/weather_04n.imageset/Contents.json b/Sources/Earthquake Network/Assets.xcassets/weather_04n.imageset/Contents.json
new file mode 100644
index 0000000..fd0473d
--- /dev/null
+++ b/Sources/Earthquake Network/Assets.xcassets/weather_04n.imageset/Contents.json
@@ -0,0 +1,21 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "weather_04n.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/Sources/Earthquake Network/Assets.xcassets/weather_04n.imageset/weather_04n.png b/Sources/Earthquake Network/Assets.xcassets/weather_04n.imageset/weather_04n.png
new file mode 100644
index 0000000..4677b85
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/weather_04n.imageset/weather_04n.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/weather_09d.imageset/Contents.json b/Sources/Earthquake Network/Assets.xcassets/weather_09d.imageset/Contents.json
new file mode 100644
index 0000000..a3b0e4f
--- /dev/null
+++ b/Sources/Earthquake Network/Assets.xcassets/weather_09d.imageset/Contents.json
@@ -0,0 +1,21 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "weather_09d.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/Sources/Earthquake Network/Assets.xcassets/weather_09d.imageset/weather_09d.png b/Sources/Earthquake Network/Assets.xcassets/weather_09d.imageset/weather_09d.png
new file mode 100644
index 0000000..b7cb53b
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/weather_09d.imageset/weather_09d.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/weather_09n.imageset/Contents.json b/Sources/Earthquake Network/Assets.xcassets/weather_09n.imageset/Contents.json
new file mode 100644
index 0000000..5544beb
--- /dev/null
+++ b/Sources/Earthquake Network/Assets.xcassets/weather_09n.imageset/Contents.json
@@ -0,0 +1,21 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "weather_09n.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/Sources/Earthquake Network/Assets.xcassets/weather_09n.imageset/weather_09n.png b/Sources/Earthquake Network/Assets.xcassets/weather_09n.imageset/weather_09n.png
new file mode 100644
index 0000000..b7cb53b
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/weather_09n.imageset/weather_09n.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/weather_10d.imageset/Contents.json b/Sources/Earthquake Network/Assets.xcassets/weather_10d.imageset/Contents.json
new file mode 100644
index 0000000..4dbe297
--- /dev/null
+++ b/Sources/Earthquake Network/Assets.xcassets/weather_10d.imageset/Contents.json
@@ -0,0 +1,21 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "weather_10d.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/Sources/Earthquake Network/Assets.xcassets/weather_10d.imageset/weather_10d.png b/Sources/Earthquake Network/Assets.xcassets/weather_10d.imageset/weather_10d.png
new file mode 100644
index 0000000..b1e1f83
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/weather_10d.imageset/weather_10d.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/weather_10n.imageset/Contents.json b/Sources/Earthquake Network/Assets.xcassets/weather_10n.imageset/Contents.json
new file mode 100644
index 0000000..01e3441
--- /dev/null
+++ b/Sources/Earthquake Network/Assets.xcassets/weather_10n.imageset/Contents.json
@@ -0,0 +1,21 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "weather_10n.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/Sources/Earthquake Network/Assets.xcassets/weather_10n.imageset/weather_10n.png b/Sources/Earthquake Network/Assets.xcassets/weather_10n.imageset/weather_10n.png
new file mode 100644
index 0000000..b09628e
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/weather_10n.imageset/weather_10n.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/weather_11d.imageset/Contents.json b/Sources/Earthquake Network/Assets.xcassets/weather_11d.imageset/Contents.json
new file mode 100644
index 0000000..cb0638b
--- /dev/null
+++ b/Sources/Earthquake Network/Assets.xcassets/weather_11d.imageset/Contents.json
@@ -0,0 +1,21 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "weather_11d.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/Sources/Earthquake Network/Assets.xcassets/weather_11d.imageset/weather_11d.png b/Sources/Earthquake Network/Assets.xcassets/weather_11d.imageset/weather_11d.png
new file mode 100644
index 0000000..f3ce654
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/weather_11d.imageset/weather_11d.png differ
diff --git a/Sources/Earthquake Network/Assets.xcassets/weather_11n.imageset/Contents.json b/Sources/Earthquake Network/Assets.xcassets/weather_11n.imageset/Contents.json
new file mode 100644
index 0000000..b9d0f7f
--- /dev/null
+++ b/Sources/Earthquake Network/Assets.xcassets/weather_11n.imageset/Contents.json
@@ -0,0 +1,21 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "weather_11n.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/Sources/Earthquake Network/Assets.xcassets/weather_11n.imageset/weather_11n.png b/Sources/Earthquake Network/Assets.xcassets/weather_11n.imageset/weather_11n.png
new file mode 100644
index 0000000..f3ce654
Binary files /dev/null and b/Sources/Earthquake Network/Assets.xcassets/weather_11n.imageset/weather_11n.png differ
diff --git a/Sources/Earthquake Network/Base.lproj/LaunchScreen.storyboard b/Sources/Earthquake Network/Base.lproj/LaunchScreen.storyboard
new file mode 100644
index 0000000..9d9a985
--- /dev/null
+++ b/Sources/Earthquake Network/Base.lproj/LaunchScreen.storyboard
@@ -0,0 +1,45 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Sources/Earthquake Network/Base.lproj/Main.storyboard b/Sources/Earthquake Network/Base.lproj/Main.storyboard
new file mode 100644
index 0000000..db65555
--- /dev/null
+++ b/Sources/Earthquake Network/Base.lproj/Main.storyboard
@@ -0,0 +1,4938 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Lorem ipsum dolor sit er elit lamet, consectetaur cillium adipisicing pecu, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Nam liber te conscient to factor tum poen legum odioque civiuda.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ When smartphones near the epicentre detect a quake in real time, the server alerts all the persons with the app. The alert process can take up to 10 seconds. Now you can buy a priority in order to be among the first 10'000 or 100'000 people alerted.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Sources/Earthquake Network/Costanti.h b/Sources/Earthquake Network/Costanti.h
new file mode 100644
index 0000000..10be575
--- /dev/null
+++ b/Sources/Earthquake Network/Costanti.h
@@ -0,0 +1,343 @@
+//
+// Costanti.h
+// Earthquake Network
+//
+// Created by Luca Beretta on 14/09/18.
+// Copyright © 2018 Luca Beretta. All rights reserved.
+//
+
+#ifndef Costanti_h
+#define Costanti_h
+
+// costante gravitazionale
+#define G 9.81
+
+// URL registrazione server
+#define URL_SERVER_REGISTRAZIONE @"http://srv.earthquakenetwork.it/distquake_upload_gcm_regid2.php"
+// URL posizione server
+#define URL_SERVER_POSIZIONE @"http://srv.earthquakenetwork.it/distquake_upload_gcm_latlon.php"
+
+#define URL_SERVER_CAL_RIL @"http://srv.earthquakenetwork.it/distquake_upload4.php"
+// download rete smartphone
+#define URL_SERVER_DOWNLOAD @"http://srv.earthquakenetwork.it/distquake_count_redis.php"
+// download grafico smartphone
+#define URL_SERVER_GEAFICO_UTENTI @"http://srv.earthquakenetwork.it/distquake_download_users.php"
+// download area check
+#define URL_SERVER_AREA_CHECK @"http://srv.earthquakenetwork.it/distquake_download_areacheck.php"
+// download pastquakes
+#define URL_SERVER_PAST_QUAKES @"http://srv.earthquakenetwork.it/distquake_download_pastquakes.php"
+// download Utenti disponibili
+#define URL_SERVER_UTENTI_DISPONIBILI @"http://srv.earthquakenetwork.it/distquake_count_top_redis.php"
+// download tempo disponibili passare a Pro
+#define URL_SERVER_TEMPO_DISPONIBILI @"http://srv.earthquakenetwork.it/distquake_download_offer_status.php"
+// download segnalazioni
+#define URL_SERVER_DOWNLOAD_SEGNALAZIONI_UTENTE @"http://srv.earthquakenetwork.it/distquake_download_manual.php"
+// Invio segnalazione
+#define URL_SERVER_UPLOAD_SEGNALAZIONI_UTENTE @"http://srv.earthquakenetwork.it/distquake_upload_manual3.php"
+#define URL_SERVER_UPLOAD_SEGNALAZIONI_COMMENTO_UTENTE @"http://srv.earthquakenetwork.it/distquake_upload_manual_message.php"
+
+// upload impostazioni // http://srv.earthquakenetwork.it/distquake_upload_settings8.php
+
+#define URL_SERVER_UPLOAD_IMPOSTAZIONI @"http://srv.earthquakenetwork.it/distquake_upload_settings9.php"
+
+#define URL_LINK_MESSAGGIO @"http://www.finazzieng.it/mysql/distquake_download_message.php"
+
+// twitter
+#define TWITTER_LINK @"https://twitter.com/SismoDetector"
+
+#define TEMPO_INVIO_MESSAGGIO 5
+#define TEMPO_INVIO_COMMENTO 30
+
+
+// informazioni menu sinistra
+
+#define INDIRIZZO_INGLESE @"http://wp.earthquakenetwork.it/en"
+#define INDIRIZZO_ITALIANO @"http://wp.earthquakenetwork.it/it"
+#define INDIRIZZO_SPAGNOLO @"http://wp.earthquakenetwork.it/es"
+
+
+// download reti sismiche
+#define URL_SERVER_DOWNLOAD_RETI_SISMICHE @"http://srv.earthquakenetwork.it/distquake_download_automatic14.php"
+// Mappa locale
+#define URL_SERVER_MAPPA_LOCALE_UTENTE @"https://fusiontables.googleusercontent.com/embedviz?viz=MAP&q=select+col2+from+1nEJRfnVQzL0qNA1pDc2nPDX"
+// Tsunami
+#define URL_SERVER_DOWNLOAD_TSUNAMI @"http://srv.earthquakenetwork.it/distquake_download_tsunami.php"
+
+#define URL_SERVER_MAPPA_LOCALE @"httpS://fusiontables.googleusercontent.com/embedviz?viz=MAP&qselect+col2+from+1nEJRfnVQzL0qNA1pDc2nPDX"
+
+// colori navigation bar
+#define COLORE_BARRA_NAVIGAZIONE [UIColor colorWithRed:198.0/255.0 green:213.0/255.0 blue:247.0/255.0 alpha:1.0]
+
+// colori celle tableview rete sismi
+#define COLORE_CELLA_MAGNITUTE_LEGGERA [UIColor colorWithRed:208.0/255.0 green:234.0/255.0 blue:201.0/255.0 alpha:1.0]
+#define COLORE_CELLA_MAGNITUTE_LEGGERA_ETI [UIColor colorWithRed:215.0/255.0 green:253.0/255.0 blue:210.0/255.0 alpha:1.0]
+#define COLORE_CELLA_MAGNITUTE_MEDIA [UIColor colorWithRed:254.0/255.0 green:252.0/255.0 blue:203.0/255.0 alpha:1.0]
+#define COLORE_CELLA_MAGNITUTE_MEDIA_ETI [UIColor colorWithRed:255.0/255.0 green:255.0/255.0 blue:245.0/255.0 alpha:1.0]
+#define COLORE_CELLA_MAGNITUTE_FORTE [UIColor colorWithRed:254.0/255.0 green:186.0/255.0 blue:186.0/255.0 alpha:1.0]
+#define COLORE_CELLA_MAGNITUTE_FORTE_ETI [UIColor colorWithRed:252.0/255.0 green:219.0/255.0 blue:219.0/255.0 alpha:1.0]
+
+#define COLORE_CELLA_MAGNITUTE_FORTE_TESTO [UIColor colorWithRed:240.0/255.0 green:0.0/255.0 blue:14.0/255.0 alpha:1.0]
+#define COLORE_CELLA_MAGNITUTE_MEDIA_TESTO [UIColor colorWithRed:238.0/255.0 green:185.0/255.0 blue:14.0/255.0 alpha:1.0]
+#define COLORE_CELLA_MAGNITUTE_LEGGERA_TESTO [UIColor colorWithRed:26.0/255.0 green:144.0/255.0 blue:20.0/255.0 alpha:1.0]
+
+// rete Smartphone
+#define IDENTIFIER_ANNOTATION_RETESMARTPHONE @"IDENTIFIER_ANNOTATION_RETESMARTPHONE"
+// pastequakes
+#define IDENTIFIER_ANNOTATION_PASTQUAKES @"IDENTIFIER_ANNOTATION_PASTQUAKES"
+
+// sismi
+#define IDENTIFIER_ANNOTATION_SISMI @"IDENTIFIER_ANNOTATION_SISMI"
+// rete smartphone notifiche
+#define IDENTIFIER_ANNOTATION_RS_NOTIFICA @"IDENTIFIER_ANNOTATION_RS_NOTIFICA"
+
+// filtriMappaTime
+typedef enum : NSInteger {
+ dieciMinuti = 0,
+ unOra,
+ dueOre,
+ seiOre,
+ dodiciOre,
+ unGiorno,
+ unaSettimana,
+ unMese,
+ unAnno
+} EQNFiltriMappa;
+
+// cella tipo Rete sismica
+
+typedef enum : NSInteger {
+ defaultCell = 0,
+ mappaCell,
+ meteoCell
+
+} EQNReteSismicaCell;
+
+// dettagli Mappa tipo
+typedef enum : NSInteger {
+ reteSmartphone = 0,
+ reteSismica,
+ segnalazioneUtenti
+
+} EQNTipoDettagliMappa;
+
+typedef enum : NSInteger {
+ reteSmartphoneController = 0,
+ reteSismicaController,
+ segnalazioneUtentiController,
+ tsunamiControler
+
+} EQNController;
+
+
+// IMPOSTAZIONI NAZIONE RETE SISMICA
+
+typedef enum : NSInteger {
+ mondo = 0,
+ italia,
+ spagna,
+ cina,
+ giappone,
+ nicaragua,
+ messico,
+ colombia,
+ costaRica,
+ chile,
+ venezuela,
+ nuovaZelanda,
+ argentina,
+ equador,
+ filippine,
+ perù,
+ repubblicaDomenicana,
+ altro
+
+} EQNNazioneSelect;
+
+typedef enum : NSInteger {
+ annulla = 0,
+ nazione,
+ enti
+
+} EQNfiltroEnti;
+// Chiave googleMaps
+
+#define GOOGLE_MAP_KEY @"AIzaSyDc2V2vpBmbSnAisiN18rY17Dm7lzVWNAg"
+
+// NOTIFICHE
+#define NOTIFICA_DOWNLOAD_TERMINATO @"NOTIFICA_DOWNLOAD_TERMINATO"
+
+#define MESSAGGIO @"MESSAGGIO_ERRORE"
+
+typedef enum : NSInteger {
+ registrazione = 0,
+ posizione,
+ calibrazione,
+ rilevamento,
+ downloadDati,
+ graficoSmartPhone,
+ areaCheck,
+ pastquakes,
+ utentiDisponibili,
+ tempoDisponibile,
+ segnalazioneManuale,
+ tsunami,
+ segnalazzioneTerremoto,
+ commentoTerremoto,
+ impostazioniNotifiche
+} EQNTipoChiamata;
+
+// Manager
+#define MANAGER_DATA_RETE_SMARTPHONE @"MANAGER_DATA_RETE_SMARTPHONE"
+#define MANAGER_DATA_AREA_CHECK @"MANAGER_DATA_AREA_CHECK"
+#define MANAGER_DATA_DATI_GRAFICO_UTENTI @"MANAGER_DATA_DATI_GRAFICO_UTENTI"
+#define MANAGER_DATA_DATI_PASTQUAKES @"MANAGER_DATA_DATI_PASTQUAKES"
+#define MANAGER_DATA_ELENCO_SEGNALAZIONI_MANUALI @"MANAGER_DATA_ELENCO_SEGNALAZIONI_MANUALI"
+#define MANAGER_DATA_RETI_SISMICHE @"MANAGER_DATA_RETI_SISMICHE"
+#define MANAGER_DATA_LISTA_TSUNAMI @"MANAGER_DATA_LISTA_TSUNAMI"
+
+
+// chiavi rMax e rMin
+#define rMax @"rMax"
+#define rMin @"rMin"
+
+// costante frequenza campionamento accelerometro
+#define kUpdateInterval (1.0f / 100.0f)
+
+// costante distanza posizione per avviare la segnalazone
+#define DISTANZA_METRI_SEGNALAZIONE 8000
+#define TEMPO_AGGIORNAMENTO_POSIZIONE 5400
+
+//////////////////////////////////////// RILEVAMENTO ////////////////////////////////////////
+// secondi durata rilevamento
+#define SECONDI_RILIEVO 3
+// Soglia deviazione standard se superata lo stato del rilievo è positivo altrimenti negativo
+#define SOGLIA_DEVIAZIONE_RILIEVO 1.8
+// stato rilievo
+// il parametro viene inviato al server e_t1
+typedef enum : NSInteger {
+ negativo = 0,
+ positivo
+} EQNRilevamentoSoglia;
+
+//////////////////////////////////////// CALIBRAZIONE ////////////////////////////////////////
+// secondi durata calibrazione
+#define SECONDI_CALIBRAZIONE 120
+#define TEMPO_LATENZA_CALIBRAZIONE 120
+#define TEMPO_RIPETIZIONE_CALIBRAZIONE 1800
+
+// soglia valore che il valore massimo r non deve superare
+#define SOGLIAMAX 0.2
+// soglia valore che il valore minimo r non deve superare
+#define SOGLIAMIN -0.2
+// stato calibrazione
+// il parametro viene inviato al server e_t
+typedef enum : NSInteger {
+ calibrato = 0,
+ nonCalibrato
+} EQNStatoCal;
+
+//////////////////////////////////////// SEGNALAZIONE MANUALE TERREMOTI ////////////////////////////////////////
+#define CODE_MESSAGE_EQN @"CODE_MESSAGE_EQN"
+#define DATA_MESSAGE_EQN @"DATA_MESSAGE_EQN"
+
+
+//////////////////////////////////////// USER ////////////////////////////////////////
+
+#define TOKEN_USER @"EQNToken_User"
+#define USER_ID @"EQNUSER_ID"
+#define LAST_LOCATION @"EQNLast_Location"
+#define DISTANZA_USER @"EQNDistanza_User"
+#define NOTIFICA_TOKEN @"FCMToken_EQN"
+#endif /* Costanti_h */
+
+
+/////////////////////////////////// impostazioni ////////////////////////////////////
+
+#define NOTIFICHE_SISMI @"NOTIFICHE_SISMI"
+#define NOTIFICHE_ORA_INIZIO @"NOTIFICHE_ORA_INIZIO"
+#define NOTIFICHE_ORA_FINE @"NOTIFICHE_ORA_FINE"
+#define NOTIFICHE_ATTIVA_ORARIO @"NOTIFICHE_ATTIVA_ORARIO"
+
+
+#define INFORMAZIONI_APP_MENU @"INFORMAZIONI_APP_MENU"
+
+
+///////////////////// Tempo reale /////////////////////////////////
+#define NOTIFICHE_TR_DISTANZA_TEMPO_REALE_LIEVE @"NOTIFICHE_TR_DISTANZA_TEMPO_REALE_LIEVE"
+#define NOTIFICHE_TR_DISTANZA_TEMPO_REALE_FORTE @"NOTIFICHE_TR_DISTANZA_TEMPO_REALE_FORTE"
+#define NOTIFICHE_TR_ATTIVA_TEMPO_REALE @"NOTIFICHE_TR_ATTIVA_TEMPO_REALE"
+#define NOTIFICHE_TR_ATTIVA_SISMI_SENZA_INTENSITA @"NOTIFICHE_TR_ATTIVA_SISMI_SENZA_INTENSITA"
+#define NOTIFICHE_TR_ATTIVA_SISMI_FORTI @"NOTIFICHE_TR_ATTIVA_SISMI_FORTI"
+
+/////////////////// Segnalazioni Utente ////////////////////////////
+#define NOTIFICHE_SU_DISTANZA_POSIZIONE @"NOTIFICHE_SU_DISTANZA_POSIZIONE"
+#define NOTIFICHE_SU_ATTIVA_SEGNALAZIONE_UTENTE @"NOTIFICHE_SU_ATTIVA_SEGNALAZIONE_UTENTE"
+
+/////////////////// Reti sismiche ////////////////////////////
+#define NOTIFICHE_DISTANZA_POSIZIONE_RETI_SISMICHE @"NOTIFICHE_DISTANZA_POSIZIONE_RETI_SISMICHE"
+#define NOTIFICHE_ATTIVA_RETI_SISMICHE @"NOTIFICHE_ATTIVA_RETI_SISMICHE"
+#define NOTIFICHE_ATTIVA_RETI_SISMICHE_VICINE @"NOTIFICHE_ATTIVA_RETI_SISMICHE_VICINE"
+#define NOTIFICHE_ATTIVA_RETI_TERREMOTI_FORTI @"NOTIFICHE_ATTIVA_RETI_TERREMOTI_FORTI"
+#define NOTIFICHE_ATTIVA_RETI_ENERGIA_SISMI @"NOTIFICHE_ATTIVA_RETI_ENERGIA_SISMI"
+#define NOTIFICHE_ATTIVA_RETI_DISTANZA_VICINI @"NOTIFICHE_ATTIVA_RETI_DISTANZA_VICINI"
+#define NOTIFICHE_ATTIVA_RETI_ENERGIA_FORTI @"NOTIFICHE_ATTIVA_RETI_ENERGIA_FORTI"
+#define NOTIFICHE_ATTIVA_RETI_LISTA_ENTI @"NOTIFICHE_ATTIVA_RETI_LISTA_ENTI"
+
+
+#define IMPOSTAZIONE_NAZIONE_RETI_SISMICHEI @"IMPOSTAZIONE_NAZIONE_RETI_SISMICHEI"
+#define IMPOSTAZIONE_ENTI_RETI_SISMICHEI @"IMPOSTAZIONE_ENTI_RETI_SISMICHEI"
+#define IMPOSTAZIONE_TIPO_FILTRO_RETI_SISMICHEI @"IMPOSTAZIONE_TIPO_FILTRO_RETI_SISMICHEI"
+
+
+/////////////////// Tsunami ////////////////////////////
+#define NOTIFICHE_ORA_INIZIO_TSUNAMI @"NOTIFICHE_ORA_INIZIO_TSUNAMI"
+#define NOTIFICHE_ORA_FINE_TSUNAMI @"NOTIFICHE_ORA_FINE_TSUNAMI"
+#define NOTIFICHE_ABILITATO_TSUNAMI @"NOTIFICHE_ABILITATO_TSUNAMI"
+#define NOTIFICHE_ABILITATO_ITERVALLO_TSUNAMI @"NOTIFICHE_ABILITATO_ITERVALLO_TSUNAMI"
+#define NOTIFICHE_LISTA_MESSAGGI__TSUNAMI @"NOTIFICHE_LISTA_MESSAGGI__TSUNAMI"
+#define NOTIFICHE_LISTA_AREE_INTERESSE_TSUNAMI @"NOTIFICHE_LISTA_AREE_INTERESSE_TSUNAMI"
+
+/////////////////// Allera sismica ////////////////////////////
+#define NOTIFICHE_ALLERA_SISMICA_ABILITATO @"NOTIFICHE_ALLERA_SISMICA_ABILITATO"
+#define NOTIFICHE_ALLERA_SISMICA_SISMI_DA_NOTIFICARE @"NOTIFICHE_ALLERA_SISMICA_SISMI_DA_NOTIFICARE"
+#define NOTIFICHE_ALLERA_SISMICA_SENZA_INTENSITA @"NOTIFICHE_ALLERA_SISMICA_SENZA_INTENSITA"
+#define NOTIFICHE_ALLERA_SISMICA_RAGGIO_SISMI_LIEVI @"NOTIFICHE_ALLERA_SISMICA_RAGGIO_SISMI_LIEVI"
+#define NOTIFICHE_ALLERA_SISMICA_RAGGIO_SISMI_FORTI @"NOTIFICHE_ALLERA_SISMICA_RAGGIO_SISMI_FORTI"
+#define NOTIFICHE_ALLERA_SISMICA_TONO_ALLARME @"NOTIFICHE_ALLERA_SISMICA_TONO_ALLARME"
+#define NOTIFICHE_ALLERA_SISMICA_IMPOSTA_VOLUME @"NOTIFICHE_ALLERA_SISMICA_IMPOSTA_VOLUME"
+#define NOTIFICHE_ALLERA_SISMICA_TESTA_ALLARME @"NOTIFICHE_ALLERA_SISMICA_TESTA_ALLARME"
+#define NOTIFICHE_ALLERA_SISMICA_ABILITA_INTERVALLO @"NOTIFICHE_ALLERA_SISMICA_ABILITA_INTERVALLO"
+#define NOTIFICHE_ALLERA_SISMICA_ORA_INIZIO @"NOTIFICHE_ALLERA_SISMICA_ORA_INIZIO"
+#define NOTIFICHE_ALLERA_SISMICA_ORA_FINE @"NOTIFICHE_ALLERA_SISMICA_ORA_INIZIO"
+
+// NOTIFICHE RETE SMARTPHONE
+#define NOTIFICHE_RETE_SMARTPHONE_DATA_NOTIFICA @"NOTIFICHE_RETE_SMARTPHONE_DATA_NOTIFICA"
+#define NOTIFICHE_RETE_SMARTPHONE_DIZIONARIO_NOTIFICA @"NOTIFICHE_RETE_SMARTPHONE_DIZIONARIO_NOTIFICA"
+#define TEMPO_VISUALIZZAZIONE_NOTIFICA 10800
+
+
+// AD MOB
+//ADMOB_APP_ID
+#define EQN_ADMOB_APP_IDA @"ca-app-pub-0053870219990922~2021960172"
+#define EQN_ADMOB_ANNUNCIO_IDA @"ca-app-pub-0053870219990922/3394298808"
+#define EQN_ADMOB_ANNUNCIO_IDA_TEST @"ca-app-pub-3940256099942544/2934735716"
+
+// ACQUISTI IN APP
+#define EQN_ACQ_IN_APP @"EQN_ACQ_IN_APP"
+#define CONTEGGIO_APERTURE_PER_SCONTO @"CONTEGGIO_APERTURE_PER_SCONTO"
+#define DATA_APERTURE_PER_SCONTO @"DATA_APERTURE_PER_SCONTO"
+#define TEMPO_APERTURE_PER_SCONTO 2880
+#define AQUISTO_PRO @"com.finazzi.distquake.ProPrezzoPieno"
+#define AQUISTO_PRO_SCONTATO @"com.finazzi.distquake.VersioneProScontata"
+#define IAPHelperPurchaseNotification @"IAPHelperPurchaseNotification"
+
+// FILTRO ENTI
+#define EQN_MAGNITUDO_MINIMA @"EQN_MAGNITUDO_MINIMA"
+#define EQN_DISTANZA_MASSIMA @"EQN_DISTANZA_MASSIMA"
+#define EQN_ETA_MASSIMA @"EQN_ETA_MASSIMA"
+#define EQN_SISMI_FORTI @"EQN_SISMI_FORTI"
+
+
+#define IS_IPHONE ( [[[UIDevice currentDevice] model] isEqualToString:@"iPhone"] )
+#define IS_HEIGHT_GTE_568 [[UIScreen mainScreen ] bounds].size.height <= 570.0f
+#define IS_IPHONE_5 ( IS_IPHONE && IS_HEIGHT_GTE_568 )
diff --git a/Sources/Earthquake Network/Earthquake Network.entitlements b/Sources/Earthquake Network/Earthquake Network.entitlements
new file mode 100644
index 0000000..903def2
--- /dev/null
+++ b/Sources/Earthquake Network/Earthquake Network.entitlements
@@ -0,0 +1,8 @@
+
+
+
+
+ aps-environment
+ development
+
+
diff --git a/Sources/Earthquake Network/Earthquake_Network.xcdatamodeld/.xccurrentversion b/Sources/Earthquake Network/Earthquake_Network.xcdatamodeld/.xccurrentversion
new file mode 100644
index 0000000..63bbc21
--- /dev/null
+++ b/Sources/Earthquake Network/Earthquake_Network.xcdatamodeld/.xccurrentversion
@@ -0,0 +1,8 @@
+
+
+
+
+ _XCCurrentVersionName
+ Earthquake_Network.xcdatamodel
+
+
diff --git a/Sources/Earthquake Network/Earthquake_Network.xcdatamodeld/Earthquake_Network.xcdatamodel/contents b/Sources/Earthquake Network/Earthquake_Network.xcdatamodeld/Earthquake_Network.xcdatamodel/contents
new file mode 100644
index 0000000..ad82c3b
--- /dev/null
+++ b/Sources/Earthquake Network/Earthquake_Network.xcdatamodeld/Earthquake_Network.xcdatamodel/contents
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/Sources/Earthquake Network/GoogleService-Info-.plist b/Sources/Earthquake Network/GoogleService-Info-.plist
new file mode 100644
index 0000000..cd05d26
--- /dev/null
+++ b/Sources/Earthquake Network/GoogleService-Info-.plist
@@ -0,0 +1,40 @@
+
+
+
+
+ AD_UNIT_ID_FOR_BANNER_TEST
+ ca-app-pub-3940256099942544/2934735716
+ AD_UNIT_ID_FOR_INTERSTITIAL_TEST
+ ca-app-pub-3940256099942544/4411468910
+ CLIENT_ID
+ 899482329945-jhobrnjg3ko2ldsnj4si6jk03d1osk2v.apps.googleusercontent.com
+ REVERSED_CLIENT_ID
+ com.googleusercontent.apps.899482329945-jhobrnjg3ko2ldsnj4si6jk03d1osk2v
+ API_KEY
+ AIzaSyCgZRSGERqXX3KKB9yCwRwo3tmHSN2tYgA
+ GCM_SENDER_ID
+ 899482329945
+ PLIST_VERSION
+ 1
+ BUNDLE_ID
+ com.finazzi.distquake
+ PROJECT_ID
+ hybrid-bastion-406
+ STORAGE_BUCKET
+ hybrid-bastion-406.appspot.com
+ IS_ADS_ENABLED
+
+ IS_ANALYTICS_ENABLED
+
+ IS_APPINVITE_ENABLED
+
+ IS_GCM_ENABLED
+
+ IS_SIGNIN_ENABLED
+
+ GOOGLE_APP_ID
+ 1:899482329945:ios:e9ac57970038fe35
+ DATABASE_URL
+ https://hybrid-bastion-406.firebaseio.com
+
+
\ No newline at end of file
diff --git a/Sources/Earthquake Network/GoogleService-Info.plist b/Sources/Earthquake Network/GoogleService-Info.plist
new file mode 100644
index 0000000..cd05d26
--- /dev/null
+++ b/Sources/Earthquake Network/GoogleService-Info.plist
@@ -0,0 +1,40 @@
+
+
+
+
+ AD_UNIT_ID_FOR_BANNER_TEST
+ ca-app-pub-3940256099942544/2934735716
+ AD_UNIT_ID_FOR_INTERSTITIAL_TEST
+ ca-app-pub-3940256099942544/4411468910
+ CLIENT_ID
+ 899482329945-jhobrnjg3ko2ldsnj4si6jk03d1osk2v.apps.googleusercontent.com
+ REVERSED_CLIENT_ID
+ com.googleusercontent.apps.899482329945-jhobrnjg3ko2ldsnj4si6jk03d1osk2v
+ API_KEY
+ AIzaSyCgZRSGERqXX3KKB9yCwRwo3tmHSN2tYgA
+ GCM_SENDER_ID
+ 899482329945
+ PLIST_VERSION
+ 1
+ BUNDLE_ID
+ com.finazzi.distquake
+ PROJECT_ID
+ hybrid-bastion-406
+ STORAGE_BUCKET
+ hybrid-bastion-406.appspot.com
+ IS_ADS_ENABLED
+
+ IS_ANALYTICS_ENABLED
+
+ IS_APPINVITE_ENABLED
+
+ IS_GCM_ENABLED
+
+ IS_SIGNIN_ENABLED
+
+ GOOGLE_APP_ID
+ 1:899482329945:ios:e9ac57970038fe35
+ DATABASE_URL
+ https://hybrid-bastion-406.firebaseio.com
+
+
\ No newline at end of file
diff --git a/Sources/Earthquake Network/Info.plist b/Sources/Earthquake Network/Info.plist
new file mode 100644
index 0000000..c73f310
--- /dev/null
+++ b/Sources/Earthquake Network/Info.plist
@@ -0,0 +1,68 @@
+
+
+
+
+ CFBundleDevelopmentRegion
+ $(DEVELOPMENT_LANGUAGE)
+ CFBundleDisplayName
+ $(PRODUCT_NAME)
+ CFBundleExecutable
+ $(EXECUTABLE_NAME)
+ CFBundleIdentifier
+ $(PRODUCT_BUNDLE_IDENTIFIER)
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleName
+ $(PRODUCT_NAME)
+ CFBundlePackageType
+ APPL
+ CFBundleShortVersionString
+ 2.0
+ CFBundleVersion
+ 1.9
+ LSApplicationQueriesSchemes
+
+ googlechromes
+ comgooglemaps
+
+ LSRequiresIPhoneOS
+
+ NSAppTransportSecurity
+
+ NSAllowsArbitraryLoads
+
+
+ NSLocationAlwaysAndWhenInUseUsageDescription
+ Ci occorre la tua posizione per inviare messaggi precisi in caso di terremoto
+ NSLocationAlwaysUsageDescription
+ Ci occorre la tua posizione per inviare messaggi precisi in caso di terremoto
+ NSLocationWhenInUseUsageDescription
+ Ci occorre la tua posizione per inviare messaggi precisi in caso di terremoto
+ UIBackgroundModes
+
+ audio
+ fetch
+ location
+ remote-notification
+
+ UILaunchStoryboardName
+ LaunchScreen
+ UIMainStoryboardFile
+ Main
+ UIRequiredDeviceCapabilities
+
+ armv7
+
+ UISupportedInterfaceOrientations
+
+ UIInterfaceOrientationPortrait
+
+ UISupportedInterfaceOrientations~ipad
+
+ UIInterfaceOrientationPortrait
+ UIInterfaceOrientationPortraitUpsideDown
+ UIInterfaceOrientationLandscapeLeft
+ UIInterfaceOrientationLandscapeRight
+
+
+
diff --git a/Sources/Earthquake Network/NSDictionary+BVJSONString.h b/Sources/Earthquake Network/NSDictionary+BVJSONString.h
new file mode 100644
index 0000000..0497ad6
--- /dev/null
+++ b/Sources/Earthquake Network/NSDictionary+BVJSONString.h
@@ -0,0 +1,18 @@
+//
+// NSDictionary+BVJSONString.h
+// Smash
+//
+// Created by Luca Beretta on 24/03/2019.
+// Copyright © 2019 Luca Beretta. All rights reserved.
+//
+
+#import
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface NSDictionary (BVJSONString)
+-(NSString*) bv_jsonStringWithPrettyPrint:(BOOL) prettyPrint;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Sources/Earthquake Network/NSDictionary+BVJSONString.m b/Sources/Earthquake Network/NSDictionary+BVJSONString.m
new file mode 100644
index 0000000..984e332
--- /dev/null
+++ b/Sources/Earthquake Network/NSDictionary+BVJSONString.m
@@ -0,0 +1,25 @@
+//
+// NSDictionary+BVJSONString.m
+// Smash
+//
+// Created by Luca Beretta on 24/03/2019.
+// Copyright © 2019 Luca Beretta. All rights reserved.
+//
+
+#import "NSDictionary+BVJSONString.h"
+
+@implementation NSDictionary (BVJSONString)
+-(NSString*) bv_jsonStringWithPrettyPrint:(BOOL) prettyPrint {
+ NSError *error;
+ NSData *jsonData = [NSJSONSerialization dataWithJSONObject:self
+ options:(NSJSONWritingOptions) (prettyPrint ? NSJSONWritingPrettyPrinted : 0)
+ error:&error];
+
+ if (! jsonData) {
+ NSLog(@"%s: error: %@", __func__, error.localizedDescription);
+ return @"{}";
+ } else {
+ return [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
+ }
+}
+@end
diff --git a/Sources/Earthquake Network/Reachability.h b/Sources/Earthquake Network/Reachability.h
new file mode 100644
index 0000000..50c048c
--- /dev/null
+++ b/Sources/Earthquake Network/Reachability.h
@@ -0,0 +1,64 @@
+/*
+ Copyright (C) 2016 Apple Inc. All Rights Reserved.
+ See LICENSE.txt for this sample’s licensing information
+
+ Abstract:
+ Basic demonstration of how to use the SystemConfiguration Reachablity APIs.
+ */
+
+#import
+#import
+#import
+
+
+typedef enum : NSInteger {
+ NotReachable = 0,
+ ReachableViaWiFi,
+ ReachableViaWWAN
+} NetworkStatus;
+
+#pragma mark IPv6 Support
+//Reachability fully support IPv6. For full details, see ReadMe.md.
+
+
+extern NSString *kReachabilityChangedNotification;
+
+
+@interface Reachability : NSObject
+
+/*!
+ * Use to check the reachability of a given host name.
+ */
++ (instancetype)reachabilityWithHostName:(NSString *)hostName;
+
+/*!
+ * Use to check the reachability of a given IP address.
+ */
++ (instancetype)reachabilityWithAddress:(const struct sockaddr *)hostAddress;
+
+/*!
+ * Checks whether the default route is available. Should be used by applications that do not connect to a particular host.
+ */
++ (instancetype)reachabilityForInternetConnection;
+
+
+#pragma mark reachabilityForLocalWiFi
+//reachabilityForLocalWiFi has been removed from the sample. See ReadMe.md for more information.
+//+ (instancetype)reachabilityForLocalWiFi;
+
+/*!
+ * Start listening for reachability notifications on the current run loop.
+ */
+- (BOOL)startNotifier;
+- (void)stopNotifier;
+
+- (NetworkStatus)currentReachabilityStatus;
+
+/*!
+ * WWAN may be available, but not active until a connection has been established. WiFi may require a connection for VPN on Demand.
+ */
+- (BOOL)connectionRequired;
+
+@end
+
+
diff --git a/Sources/Earthquake Network/Reachability.m b/Sources/Earthquake Network/Reachability.m
new file mode 100644
index 0000000..fd84325
--- /dev/null
+++ b/Sources/Earthquake Network/Reachability.m
@@ -0,0 +1,242 @@
+/*
+ Copyright (C) 2016 Apple Inc. All Rights Reserved.
+ See LICENSE.txt for this sample’s licensing information
+
+ Abstract:
+ Basic demonstration of how to use the SystemConfiguration Reachablity APIs.
+ */
+
+#import
+#import
+#import
+#import
+#import
+
+#import
+
+#import "Reachability.h"
+
+#pragma mark IPv6 Support
+//Reachability fully support IPv6. For full details, see ReadMe.md.
+
+
+NSString *kReachabilityChangedNotification = @"kNetworkReachabilityChangedNotification";
+
+
+#pragma mark - Supporting functions
+
+#define kShouldPrintReachabilityFlags 1
+
+static void PrintReachabilityFlags(SCNetworkReachabilityFlags flags, const char* comment)
+{
+#if kShouldPrintReachabilityFlags
+
+ /* NSLog(@"Reachability Flag Status: %c%c %c%c%c%c%c%c%c %s\n",
+ (flags & kSCNetworkReachabilityFlagsIsWWAN) ? 'W' : '-',
+ (flags & kSCNetworkReachabilityFlagsReachable) ? 'R' : '-',
+
+ (flags & kSCNetworkReachabilityFlagsTransientConnection) ? 't' : '-',
+ (flags & kSCNetworkReachabilityFlagsConnectionRequired) ? 'c' : '-',
+ (flags & kSCNetworkReachabilityFlagsConnectionOnTraffic) ? 'C' : '-',
+ (flags & kSCNetworkReachabilityFlagsInterventionRequired) ? 'i' : '-',
+ (flags & kSCNetworkReachabilityFlagsConnectionOnDemand) ? 'D' : '-',
+ (flags & kSCNetworkReachabilityFlagsIsLocalAddress) ? 'l' : '-',
+ (flags & kSCNetworkReachabilityFlagsIsDirect) ? 'd' : '-',
+ comment
+ );*/
+#endif
+}
+
+
+static void ReachabilityCallback(SCNetworkReachabilityRef target, SCNetworkReachabilityFlags flags, void* info)
+{
+#pragma unused (target, flags)
+ NSCAssert(info != NULL, @"info was NULL in ReachabilityCallback");
+ NSCAssert([(__bridge NSObject*) info isKindOfClass: [Reachability class]], @"info was wrong class in ReachabilityCallback");
+
+ Reachability* noteObject = (__bridge Reachability *)info;
+ // Post a notification to notify the client that the network reachability changed.
+ [[NSNotificationCenter defaultCenter] postNotificationName: kReachabilityChangedNotification object: noteObject];
+}
+
+
+#pragma mark - Reachability implementation
+
+@implementation Reachability
+{
+ SCNetworkReachabilityRef _reachabilityRef;
+}
+
++ (instancetype)reachabilityWithHostName:(NSString *)hostName
+{
+ Reachability* returnValue = NULL;
+ SCNetworkReachabilityRef reachability = SCNetworkReachabilityCreateWithName(NULL, [hostName UTF8String]);
+ if (reachability != NULL)
+ {
+ returnValue= [[self alloc] init];
+ if (returnValue != NULL)
+ {
+ returnValue->_reachabilityRef = reachability;
+ }
+ else {
+ CFRelease(reachability);
+ }
+ }
+ return returnValue;
+}
+
+
++ (instancetype)reachabilityWithAddress:(const struct sockaddr *)hostAddress
+{
+ SCNetworkReachabilityRef reachability = SCNetworkReachabilityCreateWithAddress(kCFAllocatorDefault, hostAddress);
+
+ Reachability* returnValue = NULL;
+
+ if (reachability != NULL)
+ {
+ returnValue = [[self alloc] init];
+ if (returnValue != NULL)
+ {
+ returnValue->_reachabilityRef = reachability;
+ }
+ else {
+ CFRelease(reachability);
+ }
+ }
+ return returnValue;
+}
+
+
++ (instancetype)reachabilityForInternetConnection
+{
+ struct sockaddr_in zeroAddress;
+ bzero(&zeroAddress, sizeof(zeroAddress));
+ zeroAddress.sin_len = sizeof(zeroAddress);
+ zeroAddress.sin_family = AF_INET;
+
+ return [self reachabilityWithAddress: (const struct sockaddr *) &zeroAddress];
+}
+
+#pragma mark reachabilityForLocalWiFi
+//reachabilityForLocalWiFi has been removed from the sample. See ReadMe.md for more information.
+//+ (instancetype)reachabilityForLocalWiFi
+
+
+
+#pragma mark - Start and stop notifier
+
+- (BOOL)startNotifier
+{
+ BOOL returnValue = NO;
+ SCNetworkReachabilityContext context = {0, (__bridge void *)(self), NULL, NULL, NULL};
+
+ if (SCNetworkReachabilitySetCallback(_reachabilityRef, ReachabilityCallback, &context))
+ {
+ if (SCNetworkReachabilityScheduleWithRunLoop(_reachabilityRef, CFRunLoopGetCurrent(), kCFRunLoopDefaultMode))
+ {
+ returnValue = YES;
+ }
+ }
+
+ return returnValue;
+}
+
+
+- (void)stopNotifier
+{
+ if (_reachabilityRef != NULL)
+ {
+ SCNetworkReachabilityUnscheduleFromRunLoop(_reachabilityRef, CFRunLoopGetCurrent(), kCFRunLoopDefaultMode);
+ }
+}
+
+
+- (void)dealloc
+{
+ [self stopNotifier];
+ if (_reachabilityRef != NULL)
+ {
+ CFRelease(_reachabilityRef);
+ }
+}
+
+
+#pragma mark - Network Flag Handling
+
+- (NetworkStatus)networkStatusForFlags:(SCNetworkReachabilityFlags)flags
+{
+ PrintReachabilityFlags(flags, "networkStatusForFlags");
+ if ((flags & kSCNetworkReachabilityFlagsReachable) == 0)
+ {
+ // The target host is not reachable.
+ return NotReachable;
+ }
+
+ NetworkStatus returnValue = NotReachable;
+
+ if ((flags & kSCNetworkReachabilityFlagsConnectionRequired) == 0)
+ {
+ /*
+ If the target host is reachable and no connection is required then we'll assume (for now) that you're on Wi-Fi...
+ */
+ returnValue = ReachableViaWiFi;
+ }
+
+ if ((((flags & kSCNetworkReachabilityFlagsConnectionOnDemand ) != 0) ||
+ (flags & kSCNetworkReachabilityFlagsConnectionOnTraffic) != 0))
+ {
+ /*
+ ... and the connection is on-demand (or on-traffic) if the calling application is using the CFSocketStream or higher APIs...
+ */
+
+ if ((flags & kSCNetworkReachabilityFlagsInterventionRequired) == 0)
+ {
+ /*
+ ... and no [user] intervention is needed...
+ */
+ returnValue = ReachableViaWiFi;
+ }
+ }
+
+ if ((flags & kSCNetworkReachabilityFlagsIsWWAN) == kSCNetworkReachabilityFlagsIsWWAN)
+ {
+ /*
+ ... but WWAN connections are OK if the calling application is using the CFNetwork APIs.
+ */
+ returnValue = ReachableViaWWAN;
+ }
+
+ return returnValue;
+}
+
+
+- (BOOL)connectionRequired
+{
+ NSAssert(_reachabilityRef != NULL, @"connectionRequired called with NULL reachabilityRef");
+ SCNetworkReachabilityFlags flags;
+
+ if (SCNetworkReachabilityGetFlags(_reachabilityRef, &flags))
+ {
+ return (flags & kSCNetworkReachabilityFlagsConnectionRequired);
+ }
+
+ return NO;
+}
+
+
+- (NetworkStatus)currentReachabilityStatus
+{
+ NSAssert(_reachabilityRef != NULL, @"currentNetworkStatus called with NULL SCNetworkReachabilityRef");
+ NetworkStatus returnValue = NotReachable;
+ SCNetworkReachabilityFlags flags;
+
+ if (SCNetworkReachabilityGetFlags(_reachabilityRef, &flags))
+ {
+ returnValue = [self networkStatusForFlags:flags];
+ }
+
+ return returnValue;
+}
+
+
+@end
diff --git a/Sources/Earthquake Network/ServerRequest.h b/Sources/Earthquake Network/ServerRequest.h
new file mode 100644
index 0000000..41fa632
--- /dev/null
+++ b/Sources/Earthquake Network/ServerRequest.h
@@ -0,0 +1,30 @@
+//
+// ServerRequest.h
+// Telegea
+//
+// Created by Luca Beretta on 15/02/17.
+// Copyright © 2017 Luca Beretta. All rights reserved.
+//
+
+#import
+#import
+#import "Costanti.h"
+
+
+@interface ServerRequest : NSObject
+
+@property (nonatomic) BOOL isConnect;
+
+
++(ServerRequest *) defaultServerConnectionSingleton;
+
+-(void)inviaInformazioniAlServerWithURL:(NSURL *)url richiesta:(EQNTipoChiamata )chiamata success:(void(^)(id result)) success failure:(void(^)(NSError *))failure;
+
+-(void)inviaRicevuta:(NSData *)ricevuta success:(void(^)(id result)) success failure:(void(^)(NSError *))failure;
+
+/*
+-(void)sendGetMethod:(NSURLRequest *)request typeRequest:(TypeRequest)type success:(void(^)(id dictionary)) success failure:(void(^)(NSError *))failure;
+
+-(UIAlertController *)mostraAllertWithMessage:(NSString *)messaggio close:(void(^)(BOOL terminato))terminato;
+*/
+@end
diff --git a/Sources/Earthquake Network/ServerRequest.m b/Sources/Earthquake Network/ServerRequest.m
new file mode 100644
index 0000000..a5bbe39
--- /dev/null
+++ b/Sources/Earthquake Network/ServerRequest.m
@@ -0,0 +1,498 @@
+//
+// ServerRequest.m
+// Telegea
+//
+// Created by Luca Beretta on 15/02/17.
+// Copyright © 2017 Luca Beretta. All rights reserved.
+//
+
+#import "ServerRequest.h"
+#import "Reachability.h"
+#import "Costanti.h"
+#import "EQNUtility.h"
+#import "NSDictionary+BVJSONString.h"
+
+//#import "User.h"
+//#import "Portachiavi.h"
+
+@interface ServerRequest (){
+
+ NSURLSession *session;
+
+}
+@property (nonatomic) Reachability *hostReachability;
+@property (nonatomic) Reachability *internetReachability;
+
+@end
+
+@implementation ServerRequest
+
+static ServerRequest *_sharedInstance = nil;
+
++(ServerRequest *) defaultServerConnectionSingleton{
+
+ @synchronized (_sharedInstance) {
+
+ if (_sharedInstance == nil){
+ _sharedInstance = [[ServerRequest alloc] init];
+
+ }
+ [_sharedInstance initSingleton];
+
+ return _sharedInstance;
+ }
+}
+
+-(void)initSingleton{
+
+ NSURLSessionConfiguration *config = [NSURLSessionConfiguration ephemeralSessionConfiguration];
+ session = [NSURLSession sessionWithConfiguration:config];
+
+ // registro notifiche rilevamento connessione
+ [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(reachabilityChanged:) name:kReachabilityChangedNotification object:nil];
+ NSString *remoteHostName = @"http://srv.earthquakenetwork.it";
+
+ self.hostReachability = [Reachability reachabilityWithHostName:remoteHostName];
+ [self.hostReachability startNotifier];
+ [self setValue:@([self updateConnectionhReachability:self.hostReachability]) forKey:@"isConnect"];
+ // self.isConnect = [self updateConnectionhReachability:self.hostReachability];
+
+ self.internetReachability = [Reachability reachabilityForInternetConnection];
+ [self.internetReachability startNotifier];
+ // self.isConnect = [self updateConnectionhReachability:self.internetReachability];
+ [self setValue:@([self updateConnectionhReachability:self.internetReachability]) forKey:@"isConnect"];
+
+}
+
+/*!
+ * Called by Reachability whenever status changes.
+ */
+- (void) reachabilityChanged:(NSNotification *)note
+{
+ Reachability* curReach = [note object];
+ NSParameterAssert([curReach isKindOfClass:[Reachability class]]);
+ // self.isConnect = [self updateConnectionhReachability:curReach];
+
+ [self setValue:@([self updateConnectionhReachability:curReach]) forKey:@"isConnect"];
+}
+
+- (BOOL)updateConnectionhReachability:(Reachability *)reachability
+{
+ NetworkStatus netStatus = [reachability currentReachabilityStatus];
+ switch (netStatus) {
+ case NotReachable:
+ return NO;
+ break;
+ default:
+ return YES;
+ break;
+ }
+
+}
+
+-(void)inviaInformazioniAlServerWithURL:(NSURL *)url richiesta:(EQNTipoChiamata )chiamata success:(void(^)(id result)) success failure:(void(^)(NSError *))failure{
+
+ if (!self.isConnect) {
+
+ NSError *error = [NSError errorWithDomain:NSMachErrorDomain code:401 userInfo:@{MESSAGGIO : NSLocalizedString(@"Nessuna connessione", @"messaggio assenza connesione")}];
+ failure(error);
+
+ }
+
+ NSMutableURLRequest * urlRequest = [NSMutableURLRequest requestWithURL:url];
+ [urlRequest setHTTPMethod:@"GET"];
+
+ dispatch_async(dispatch_get_main_queue(), ^{
+ [UIApplication sharedApplication].networkActivityIndicatorVisible = YES;
+ });
+
+ NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:urlRequest completionHandler:^(NSData *data, NSURLResponse *response, NSError *error){
+
+ NSHTTPURLResponse *httpResp = (NSHTTPURLResponse *)response;
+
+
+ if(!error){
+
+ NSError *jsonError;
+ // NSData *myRequestData = [response dataUsingEncoding:NSUTF8StringEncoding];
+ id JSON = [NSJSONSerialization JSONObjectWithData:data
+ options:NSJSONReadingAllowFragments
+ error:&jsonError];
+
+ if (!jsonError){
+
+ switch (httpResp.statusCode) {
+ case 200:
+ switch (chiamata) {
+ case registrazione:
+ success(JSON);
+ break;
+ case posizione:
+ success(@"success");
+ break;
+ case calibrazione:
+ success(JSON);
+ break;
+ case rilevamento:
+ success(JSON);
+ break;
+ case downloadDati:
+ success(JSON);
+ break;
+ case graficoSmartPhone:
+ success(JSON);
+ break;
+ case areaCheck:
+ success(JSON);
+ break;
+ case pastquakes:
+ success(JSON);
+ break;
+ case utentiDisponibili:
+ success(JSON);
+ break;
+ case segnalazioneManuale:
+ success(JSON);
+ break;
+ case tsunami:
+ success(JSON);
+ break;
+ case segnalazzioneTerremoto:
+ success(JSON);
+ break;
+ case commentoTerremoto:
+ success(JSON);
+ break;
+ case tempoDisponibile:
+ success(JSON);
+ break;
+ case impostazioniNotifiche:
+ success(JSON);
+ break;
+ default:
+ break;
+ }
+ // NSLog(@"Risultato richiesta server %@", JSON);
+ // success(@"");
+ dispatch_async(dispatch_get_main_queue(), ^{
+
+ [UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
+ });
+ }
+ }
+ else{
+
+ NSString* newStr = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
+ if (newStr) {
+ if (chiamata == segnalazzioneTerremoto) {
+
+ NSLog(@"risultato segnalazione %@", [EQNUtility clearStringMessaggi:newStr]);
+ success([EQNUtility clearStringMessaggi:newStr]);
+
+ }
+
+ if (chiamata == rilevamento) {
+
+ /// NSLog(@"newStr %@", newStr);
+
+ success([EQNUtility clearStringMessaggi:newStr]);
+
+
+ }
+
+ if (chiamata == registrazione) {
+
+ NSLog(@"newStr %@", newStr);
+
+ }
+ if (chiamata == tempoDisponibile) {
+
+ NSLog(@"newStr %@", newStr);
+
+ }
+
+ if (chiamata == calibrazione) {
+
+ NSLog(@"calibrazione %@", newStr);
+ success(newStr);
+
+ }
+ if (chiamata == rilevamento) {
+
+ success(newStr);
+
+ }
+ if (chiamata == impostazioniNotifiche) {
+
+ NSLog(@"impostazioniNotifiche %@", newStr);
+
+ success(newStr);
+
+ }
+ if (chiamata == segnalazioneManuale) {
+
+ NSLog(@"segnalazioneManuale %@", newStr);
+
+ }
+ } else{
+
+
+ NSLog(@"Error %@", [jsonError description]);
+
+ NSError *error = [NSError errorWithDomain:NSMachErrorDomain code:0 userInfo:@{MESSAGGIO : NSLocalizedString(@"Username e Password sbagliati", @"messaggio errore inserimento credenziali")}];
+ failure(error);
+ dispatch_async(dispatch_get_main_queue(), ^{
+ [UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
+ });
+
+
+ }
+ }
+
+ }
+
+ }];
+
+ [dataTask resume];
+
+}
+
+-(void)inviaRicevuta:(NSData *)ricevuta success:(void(^)(id result)) success failure:(void(^)(NSError *))failure{
+
+
+ NSString *jsonObjectString = [ricevuta base64EncodedStringWithOptions:0];
+
+ // NSString* BASEURl = @"XXXXXXXXX/XXX/XXXX";
+ // NSString *testReceipt= [BASEURl stringByAppendingString:@"/InApp/iOS/updatePurchase"];
+ NSDictionary *params = @{@"ricevuta" :jsonObjectString};
+ NSString *parametri = [params bv_jsonStringWithPrettyPrint:YES];
+
+ NSMutableURLRequest * urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@""]];
+ [urlRequest setHTTPMethod:@"POST"];
+ [urlRequest addValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
+ [urlRequest addValue:@"application/json" forHTTPHeaderField:@"Accept"];
+ [urlRequest setHTTPBody:[parametri dataUsingEncoding:NSUTF8StringEncoding]];
+
+ NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:urlRequest completionHandler:^(NSData *data, NSURLResponse *response, NSError *error){
+
+ NSHTTPURLResponse *httpResp = (NSHTTPURLResponse *)response;
+
+ if(!error){
+
+ NSError *jsonError;
+ // NSData *myRequestData = [response dataUsingEncoding:NSUTF8StringEncoding];
+ NSDictionary *JSON = [NSJSONSerialization JSONObjectWithData:data
+ options:NSJSONReadingAllowFragments
+ error:&jsonError];
+
+ if (!jsonError){
+
+ switch (httpResp.statusCode) {
+ case 200:
+ success(JSON);
+
+ break;
+
+ default:
+ NSLog(@"httpResp.statusCode %ld", (long)httpResp.statusCode);
+
+ break;
+
+ }
+
+ }
+ }
+ else{
+
+ failure(error.userInfo[@"NSLocalizedDescription"]);
+ NSLog(@"Error %@", error.userInfo);
+
+ }
+
+ }];
+
+ [dataTask resume];
+
+
+}
+
+/*
+-(void)sendGetMethod:(NSURLRequest *)request typeRequest:(TypeRequest)type success:(void(^)(id dictionary)) success failure:(void(^)(NSError *))failure{
+
+ if (!self.isConnect) {
+
+ NSError *error = [NSError errorWithDomain:NSMachErrorDomain code:401 userInfo:@{MESSAGGIO : NSLocalizedString(@"Nessuna connessione", @"messaggio assenza connesione")}];
+ failure(error);
+
+ }
+
+ [UIApplication sharedApplication].networkActivityIndicatorVisible = YES;
+
+ NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error){
+
+ NSHTTPURLResponse *httpResp = (NSHTTPURLResponse *)response;
+
+ if(!error){
+
+ NSError *jsonError;
+
+ NSDictionary *showJSON = [NSJSONSerialization JSONObjectWithData:data
+ options:NSJSONReadingAllowFragments
+ error:&jsonError];
+ if (!jsonError){
+
+ switch (httpResp.statusCode) {
+ case 200:
+ success(showJSON);
+ [UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
+ break;
+ }
+ }
+ else{
+
+ NSError *error;
+ switch (type) {
+ case login:
+ error = [NSError errorWithDomain:NSMachErrorDomain code:login userInfo:@{MESSAGGIO : NSLocalizedString(@"Username e Password sbagliati", @"messaggio errore inserimento credenziali")}];
+ break;
+ case reading:
+ error = [NSError errorWithDomain:NSMachErrorDomain code:reading userInfo:@{MESSAGGIO : NSLocalizedString(@"Errore! Impossibile accedere all'impianto", @"messaggio errore richiesta apikey impianto")}];
+ break;
+ case sending:
+ // error = [NSError errorWithDomain:NSMachErrorDomain code:httpResp.statusCode userInfo:@{MESSAGGIO : NSLocalizedString(@"sending", @"")}];
+ case zona:
+ error = [NSError errorWithDomain:NSMachErrorDomain code:zona userInfo:@{MESSAGGIO : NSLocalizedString(@"Sì è verificato un errore sulla centralina", @"messaggio errore richiesta dev_cmd")}];
+ break;
+ default:
+ error = [NSError errorWithDomain:NSMachErrorDomain code:httpResp.statusCode userInfo:@{MESSAGGIO : NSLocalizedString(@"Errore sconosciuto", @"")}];
+
+ break;
+ }
+ failure(error);
+ [UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
+
+
+ }
+
+ }
+
+ }];
+
+ [dataTask resume];
+}
+
+
+
+-(void)caricaImpianto:(Plant *)plant success:(void(^)(BOOL))success failure:(void(^)(NSError *))failure{
+
+ NSMutableURLRequest * urlRequest = [NSMutableURLRequest requestWithURL:[self urlWithInfo:plant]];
+ [urlRequest setHTTPMethod:@"GET"];
+
+
+ [self sendGetMethod:urlRequest
+ typeRequest:login
+ success:^(NSDictionary *result){
+
+ plant.apikey = result[@"apikey"];
+ [self caricaZoneiWithPlant:plant success:^(BOOL result){
+
+
+ // caricamento zone
+ success(result);
+
+ }failure:^(NSError *error){
+ // caricamento zone
+ failure(error);
+ }];
+ }
+ failure:^(NSError *error){
+
+ // caricamento impianto
+
+ failure(error);
+
+ }];
+
+}
+
+-(NSURL *)urlWithInfo:(Plant *)plant{
+
+ NSURL *url =[NSURL URLWithString:[NSString stringWithFormat:@"%@?%@=%@&%@=%@&%@=%@", LOGIN_URL, USERNAME, [User defaultUser].nome, PSW, [Portachiavi getCredenziali:[User defaultUser].nome], PLANT_ID, plant.plant_id]];
+
+ return url;
+
+}
+
+-(void)caricaZoneiWithPlant:(Plant *)plant success:(void(^)(BOOL))success failure:(void(^)(NSError *))failure{
+
+
+ NSString *url = [NSString stringWithFormat:@"%@?%@=%@&%@=%@&%@=[{\"mod\":10,\"reg\":100}]", DEVICE_COMMANDS_URL, APIKEY, plant.apikey, PLANT_ID, plant.plant_id, DEV_CMD];
+
+ NSURL *theUrl = [NSURL URLWithString:[url stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLFragmentAllowedCharacterSet]]];
+
+ NSMutableURLRequest * urlRequest = [NSMutableURLRequest requestWithURL:theUrl];
+ [urlRequest setHTTPMethod:@"GET"];
+ [self sendGetMethod:urlRequest
+ typeRequest:reading
+ success:^(NSDictionary *result){
+
+ NSArray *valori = result[@"result"];
+ NSNumber *numeroZone;
+
+ if(valori.count == 0){
+ //numeroZone = @1;
+ NSError *error = [NSError errorWithDomain:NSMachErrorDomain code:0 userInfo:@{MESSAGGIO : NSLocalizedString(@"Errore! Impossibile accedere all'impianto", @"messaggio errore richiesta apikey impianto")}];
+ failure(error);
+ return ;
+
+ }
+ else if([[valori firstObject][@"val"] isEqual:[NSNull null]]){
+ //numeroZone = @1;
+ NSError *error = [NSError errorWithDomain:NSMachErrorDomain code:0 userInfo:@{MESSAGGIO : NSLocalizedString(@"Errore! Impossibile accedere all'impianto", @"messaggio errore richiesta apikey impianto")}];
+ failure(error);
+ return ;
+
+ }
+ else
+ numeroZone = [valori firstObject][@"val"];
+
+
+ [plant creaZone:[numeroZone intValue]];
+ success(YES);
+ }
+
+ failure:^(NSError *error){
+ failure(error);
+
+ }];
+
+}
+
+-(UIAlertController *)mostraAllertWithMessage:(NSString *)messaggio close:(void(^)(BOOL terminato))terminato{
+
+ NSString *titolo = @"";
+ if ([messaggio isEqualToString:NSLocalizedString(@"Nessuna connessione", @"messaggio assenza connesione")])
+ titolo = NSLocalizedString(@"Attenzione", @"");
+
+ UIAlertController* alert = [UIAlertController alertControllerWithTitle:titolo//NSLocalizedString(@"Attenzione", @"")
+ message:messaggio
+ preferredStyle:UIAlertControllerStyleAlert];
+ UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"OK", @"")
+ style:UIAlertActionStyleDefault
+ handler:^(UIAlertAction * action) {
+
+ terminato(YES);
+
+ }];
+ [alert addAction:defaultAction];
+
+ return alert;
+}
+
+- (void)dealloc
+{
+ [[NSNotificationCenter defaultCenter] removeObserver:self name:kReachabilityChangedNotification object:nil];
+}
+ */
+
+@end
diff --git a/Sources/Earthquake Network/ViewController/Dettagli mappa/DettagliMappaViewController.h b/Sources/Earthquake Network/ViewController/Dettagli mappa/DettagliMappaViewController.h
new file mode 100644
index 0000000..d803bfb
--- /dev/null
+++ b/Sources/Earthquake Network/ViewController/Dettagli mappa/DettagliMappaViewController.h
@@ -0,0 +1,34 @@
+//
+// DettagliMappaViewController.h
+// Earthquake Network
+//
+// Created by Luca Beretta on 21/10/18.
+// Copyright © 2018 Luca Beretta. All rights reserved.
+//
+
+#import
+#import "Costanti.h"
+#import
+#import
+#import "EQNSegnalazione.h"
+#import "EQNManager.h"
+#import "ReteSismicaAnnotation.h"
+#import "PickerViewController.h"
+#import "EQNUtility.h"
+#import "EQNPastquakes.h"
+
+@interface DettagliMappaViewController : UIViewController
+
+@property (nonatomic, assign) EQNTipoDettagliMappa tipoMappa;
+@property (nonatomic, strong) IBOutlet MKMapView *mapView;
+@property (weak, nonatomic) IBOutlet UIView *containerView;
+@property (weak, nonatomic) IBOutlet UIButton *buttonAzione;
+@property (weak, nonatomic) IBOutlet UILabel *labelAzione;
+@property (weak, nonatomic) IBOutlet UIImageView *imageAzione;
+
+@property (nonatomic, strong) NSArray *filtroArray;
+
+-(void)creaMarcherWithSegnalazione:(id)segnalazione;
+-(IBAction)visualizzaPikerFiltro:(id)sender;
+-(void)applicaFiltroWithTime:(NSNumber *)time;
+@end
diff --git a/Sources/Earthquake Network/ViewController/Dettagli mappa/DettagliMappaViewController.m b/Sources/Earthquake Network/ViewController/Dettagli mappa/DettagliMappaViewController.m
new file mode 100644
index 0000000..acd6433
--- /dev/null
+++ b/Sources/Earthquake Network/ViewController/Dettagli mappa/DettagliMappaViewController.m
@@ -0,0 +1,293 @@
+//
+// DettagliMappaViewController.m
+// Earthquake Network
+//
+// Created by Luca Beretta on 21/10/18.
+// Copyright © 2018 Luca Beretta. All rights reserved.
+//
+
+#import "DettagliMappaViewController.h"
+
+
+@interface DettagliMappaViewController ()
+
+
+@property (nonatomic, strong) PickerViewController *pikerViewController;
+@property (nonatomic, strong) NSMutableArray *annotationArray;
+@end
+
+@implementation DettagliMappaViewController
+
+- (void)viewDidLoad {
+ [super viewDidLoad];
+ // Do any additional setup after loading the view.
+ // coordinate -33.86,151.20 at zoom level 6.
+ UIView *viewNavigationBar = [[UIView alloc] initWithFrame:CGRectMake(-18, 5, 150, 44)];
+ UIImageView *imageLogo = [[UIImageView alloc] initWithFrame:CGRectMake(-18, 5, 38, 38)];
+ imageLogo.image = [UIImage imageNamed:@"distquake_app_wave"];
+ [viewNavigationBar addSubview:imageLogo];
+ UILabel *textForNavi = [[UILabel alloc] initWithFrame:CGRectMake(25, 5, 150, 38)];
+ textForNavi.text = NSLocalizedString(@"Rilevatore Terremoti", @"titolo navigation bar");
+ [viewNavigationBar addSubview:textForNavi];
+ self.navigationItem.titleView = viewNavigationBar;
+ [[UINavigationBar appearance] setBarTintColor:COLORE_BARRA_NAVIGAZIONE];
+ [[UINavigationBar appearance] setTranslucent:NO];
+
+ // self.navigationItem.rightBarButtonItems = [self generePulsantiTipoMappa];
+ self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"back"]
+ style:UIBarButtonItemStyleDone
+ target:self
+ action:@selector(chiudi:)];
+
+
+ self.pikerViewController = [[PickerViewController alloc] initWithNibName:@"PickerViewController" bundle:nil dati:self.filtroArray];
+ self.pikerViewController.delegate = self;
+ /*
+ switch (self.tipoMappa) {
+ case reteSmartphone:
+ [self setUpMappaReteSmartphone];
+ break;
+ case reteSismica:
+ [self setUpMappaReteSismica];
+ break;
+ default:
+ break;
+ }*/
+
+}
+-(void)chiudi:(id)sender{
+
+ [self dismissViewControllerAnimated:YES completion:nil];
+}
+-(void)setUpMappaReteSmartphone{
+
+
+
+}
+
+-(void)setUpSegnalazioniUtente{
+
+ self.labelAzione.text = NSLocalizedString(@"Un giorno", @"");
+ NSArray *lista = [EQNManager defaultManager].elencoSelagnazioniManuali;
+ unsigned unitFlags = NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay;
+ NSDate *now = [NSDate date];
+ NSCalendar *gregorian = [NSCalendar currentCalendar];
+ NSDateComponents *comps = [gregorian components:unitFlags fromDate:now];
+ [comps setHour:[comps hour] - 24];
+ NSDate *hundredYearsAgo = [gregorian dateFromComponents:comps];
+ NSMutableArray *array = [NSMutableArray array];
+ for (EQNSegnalazione *seg in lista) {
+ NSLog(@"data seg %@ confronto %@", seg.date, hundredYearsAgo);
+ if([seg.date laterDate:hundredYearsAgo])
+ [array addObject:seg];
+ }
+
+ if (array.count == 0){
+
+ return;
+ }
+
+ NSSortDescriptor *dateDescriptor = [NSSortDescriptor
+ sortDescriptorWithKey:@"date"
+ ascending:YES];
+ NSArray *sortDescriptors = [NSArray arrayWithObject:dateDescriptor];
+ NSArray *sortedEventArray = [array
+ sortedArrayUsingDescriptors:sortDescriptors];
+
+ for (EQNSegnalazione *seg in sortedEventArray) {
+
+ NSLog(@"seg data %@", seg.date);
+ }
+
+
+ EQNSegnalazione *segnalazione = sortedEventArray[0];
+ CLLocation *coordinate = [[CLLocation alloc] initWithLatitude:[segnalazione.latitude doubleValue] longitude:[segnalazione.longitude doubleValue]];
+ MKCoordinateSpan span = MKCoordinateSpanMake(10.5, 10.5);
+ MKCoordinateRegion region = MKCoordinateRegionMake(coordinate.coordinate, span);
+ self.mapView.delegate = self;
+ [self.mapView setCenterCoordinate:coordinate.coordinate animated:NO];
+ [self.mapView setRegion:region animated:YES];
+ self.mapView.scrollEnabled = NO;
+
+ [self.buttonAzione addTarget:self action:@selector(visualizzaPikerFiltro:) forControlEvents:UIControlEventTouchDown];
+
+ for (EQNPastquakes *seg in array)
+ [self creaMarcherWithSegnalazione:seg];
+
+ [self.mapView addAnnotations:self.annotationArray];
+
+}
+
+-(void)setUpMappaReteSismica{
+
+
+
+}
+
+-(void)creaMarcherWithSegnalazione:(id)segnalazione{
+ /*
+ if(!self.annotationArray)
+ self.annotationArray = [NSMutableArray array];
+ CLLocationCoordinate2D location = CLLocationCoordinate2DMake([segnalazione.latitude doubleValue], [segnalazione.longitude doubleValue]);
+ ReteSismicaAnnotation *anAnnotation = [[ReteSismicaAnnotation alloc] initWithTitle:segnalazione.users location:location magnitudo:[segnalazione.intensity intValue]];
+ [self.annotationArray addObject:anAnnotation];*/
+
+}
+
+-(MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id)annotation{
+ /*
+ if ([annotation isKindOfClass:[ReteSismicaAnnotation class]]) {
+ ReteSismicaAnnotation *anLocation = (ReteSismicaAnnotation *)annotation;
+ MKAnnotationView *annotationView = [mapView dequeueReusableAnnotationViewWithIdentifier:IDENTIFIER_ANNOTATION_RETESMARTPHONE];
+ if (annotationView == nil)
+ annotationView = anLocation.annotationView;
+ else
+ annotationView.annotation = anLocation;
+
+ return annotationView;
+ }
+ else*/
+ return nil;
+}
+
+- (void)didReceiveMemoryWarning {
+ [super didReceiveMemoryWarning];
+ // Dispose of any resources that can be recreated.
+}
+
+-(NSArray *)generePulsantiTipoMappa{
+
+ UIBarButtonItem *item1;
+ UIBarButtonItem *item2;
+ switch (self.tipoMappa) {
+ case reteSmartphone:{
+ item1 = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"ic_action_settings"] style:UIBarButtonItemStyleDone
+ target:self
+ action:@selector(setting)];
+
+ item2 = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"ic_action_share"] style:UIBarButtonItemStyleDone
+ target:self
+ action:@selector(condividi)];
+ return @[item2, item1];
+ }
+ break;
+ case reteSismica:
+ return nil;
+
+ break;
+ case segnalazioneUtenti:
+ return nil;
+
+ break;
+ default:
+ return nil;
+ break;
+ }
+}
+
+-(IBAction)visualizzaPikerFiltro:(id)sender{
+
+ [self addChildViewController:self.pikerViewController];
+ [self.view addSubview:self.pikerViewController.view];
+ UIView *subView=self.pikerViewController.view;
+ UIView *parent=self.view;
+
+ subView.translatesAutoresizingMaskIntoConstraints = NO;
+
+ //Trailing
+ NSLayoutConstraint *trailing =[NSLayoutConstraint
+ constraintWithItem:subView
+ attribute:NSLayoutAttributeTrailing
+ relatedBy:NSLayoutRelationEqual
+ toItem:parent
+ attribute:NSLayoutAttributeTrailing
+ multiplier:1.0f
+ constant:0.f];
+
+ //Leading
+
+ NSLayoutConstraint *leading = [NSLayoutConstraint
+ constraintWithItem:subView
+ attribute:NSLayoutAttributeLeading
+ relatedBy:NSLayoutRelationEqual
+ toItem:parent
+ attribute:NSLayoutAttributeLeading
+ multiplier:1.0f
+ constant:0.f];
+
+ //Bottom
+ NSLayoutConstraint *bottom =[NSLayoutConstraint
+ constraintWithItem:subView
+ attribute:NSLayoutAttributeBottom
+ relatedBy:NSLayoutRelationEqual
+ toItem:parent
+ attribute:NSLayoutAttributeBottom
+ multiplier:1.0f
+ constant:0.f];
+
+ //Height to be fixed for SubView same as AdHeight
+ NSLayoutConstraint *height = [NSLayoutConstraint
+ constraintWithItem:subView
+ attribute:NSLayoutAttributeHeight
+ relatedBy:NSLayoutRelationEqual
+ toItem:nil
+ attribute:NSLayoutAttributeNotAnAttribute
+ multiplier:0
+ constant:200];
+
+ //Add constraints to the Parent
+ [parent addConstraint:trailing];
+ [parent addConstraint:bottom];
+ [parent addConstraint:leading];
+
+ //Add height constraint to the subview, as subview owns it.
+ [subView addConstraint:height];
+
+}
+
+-(void)applicaFiltroWithTime:(NSNumber *)time{
+ /*
+ NSArray *array = [EQNUtility applicaFiltroWithTime:unAnno withList:[EQNManager defaultManager].datiPastQuakes];
+ EQNSegnalazione *segnalazione = array[0];
+ CLLocation *coordinate = [[CLLocation alloc] initWithLatitude:[segnalazione.latitude doubleValue] longitude:[segnalazione.longitude doubleValue]];
+ MKCoordinateSpan span = MKCoordinateSpanMake(10.5, 10.5);
+ MKCoordinateRegion region = MKCoordinateRegionMake(coordinate.coordinate, span);
+ [self.mapView setCenterCoordinate:coordinate.coordinate animated:NO];
+ [self.mapView setRegion:region animated:YES];
+ self.mapView.scrollEnabled = NO;
+
+ for (EQNPastquakes *seg in array)
+ [self creaMarcherWithSegnalazione:seg];
+
+ [self.mapView addAnnotations:self.annotationArray];
+
+ NSLog(@"conto tutti %lu, conto filtrato %lu ",(unsigned long)[EQNManager defaultManager].elencoSelagnazioniManuali.count, (unsigned long)array.count);*/
+
+}
+#pragma mark - PikerControl delegate
+
+-(void)inviaDati:(NSDictionary *)elementi{
+
+ [self.pikerViewController.view removeFromSuperview];
+ [self.pikerViewController removeFromParentViewController];
+ NSNumber *index = elementi[@"indice"];
+ [self.mapView removeAnnotations:self.annotationArray];
+ [self applicaFiltroWithTime:index];
+}
+
+-(void)chiudiView{
+
+ [self.pikerViewController.view removeFromSuperview];
+ [self.pikerViewController removeFromParentViewController];
+}
+/*
+#pragma mark - Navigation
+
+// In a storyboard-based application, you will often want to do a little preparation before navigation
+- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
+ // Get the new view controller using [segue destinationViewController].
+ // Pass the selected object to the new view controller.
+}
+*/
+
+@end
diff --git a/Sources/Earthquake Network/ViewController/Dettagli mappa/PastquakesDettagliMappa.h b/Sources/Earthquake Network/ViewController/Dettagli mappa/PastquakesDettagliMappa.h
new file mode 100644
index 0000000..8d9cca0
--- /dev/null
+++ b/Sources/Earthquake Network/ViewController/Dettagli mappa/PastquakesDettagliMappa.h
@@ -0,0 +1,14 @@
+//
+// PastquakesDettagliMappa.h
+// Earthquake Network
+//
+// Created by Luca Beretta on 03/11/18.
+// Copyright © 2018 Luca Beretta. All rights reserved.
+//
+
+#import "DettagliMappaViewController.h"
+
+@interface PastquakesDettagliMappa : DettagliMappaViewController
+//@property (weak, nonatomic) IBOutlet NSLayoutConstraint *altezzaMappa;
+
+@end
diff --git a/Sources/Earthquake Network/ViewController/Dettagli mappa/PastquakesDettagliMappa.m b/Sources/Earthquake Network/ViewController/Dettagli mappa/PastquakesDettagliMappa.m
new file mode 100644
index 0000000..b7e3e22
--- /dev/null
+++ b/Sources/Earthquake Network/ViewController/Dettagli mappa/PastquakesDettagliMappa.m
@@ -0,0 +1,173 @@
+//
+// PastquakesDettagliMappa.m
+// Earthquake Network
+//
+// Created by Luca Beretta on 03/11/18.
+// Copyright © 2018 Luca Beretta. All rights reserved.
+//
+
+#import "PastquakesDettagliMappa.h"
+#import "PastquakesAnnotation.h"
+
+@interface PastquakesDettagliMappa ()
+
+@property (nonatomic, strong) NSMutableArray *annotationArray;
+@property(nonatomic, strong) GADBannerView *bannerView;
+
+@end
+
+@implementation PastquakesDettagliMappa
+
+- (void)viewDidLoad {
+
+ self.filtroArray = @[NSLocalizedString(@"Ultimo anno", @""), NSLocalizedString(@"Ultimo mese", @""),NSLocalizedString(@"Ultima settimana", @""),NSLocalizedString(@"Ultimo giorno", @""),NSLocalizedString(@"Ultim\'ora", @"")];
+
+ [super viewDidLoad];
+ // Do any additional setup after loading the view.
+ /* UIBarButtonItem *item1 = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"ic_action_settings"]
+ style:UIBarButtonItemStyleDone
+ target:self
+ action:@selector(setting)];
+
+ UIBarButtonItem *item2 = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"ic_action_share"]
+ style:UIBarButtonItemStyleDone
+ target:self
+ action:@selector(condividi)];
+
+ self.navigationItem.rightBarButtonItems = @[item2, item1];*/
+
+ self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"back"]
+ style:UIBarButtonItemStyleDone
+ target:self
+ action:@selector(chiudi:)];
+
+ self.mapView.delegate = self;
+
+ //NSArray *lista = [EQNUtility applicaFiltroWithTime:unGiorno withList:[EQNManager defaultManager].datiPastQuakes];
+/*
+ EQNPastquakes *segnalazione = lista[0];
+ CLLocation *coordinate = [[CLLocation alloc] initWithLatitude:[segnalazione.latitude doubleValue] longitude:[segnalazione.longitude doubleValue]];
+ MKCoordinateSpan span = MKCoordinateSpanMake(10.5, 10.5);
+ MKCoordinateRegion region = MKCoordinateRegionMake(coordinate.coordinate, span);
+ [self.mapView setCenterCoordinate:coordinate.coordinate animated:NO];
+ [self.mapView setRegion:region animated:YES];
+ self.mapView.scrollEnabled = NO;*/
+
+
+ [self.buttonAzione addTarget:self action:@selector(visualizzaPikerFiltro:) forControlEvents:UIControlEventTouchDown];
+ [self applicaFiltroWithTime:@(2)];
+
+ if ([[NSUserDefaults standardUserDefaults] boolForKey:EQN_ACQ_IN_APP])
+ NSLog(@"ciao");
+ else
+ self.bannerView = [EQNUtility ottieniBannerWithController:self position:NO];
+
+
+}
+
+- (void)didReceiveMemoryWarning {
+ [super didReceiveMemoryWarning];
+ // Dispose of any resources that can be recreated.
+}
+
+-(void)creaMarcherWithSegnalazione:(id)segnalazione{
+
+ [super creaMarcherWithSegnalazione:segnalazione];
+
+ if(!self.annotationArray)
+ self.annotationArray = [NSMutableArray array];
+
+ EQNPastquakes *pasq = (EQNPastquakes *)segnalazione;
+
+ CLLocationCoordinate2D location = CLLocationCoordinate2DMake([pasq.latitude doubleValue], [pasq.longitude doubleValue]);
+ PastquakesAnnotation *anAnnotation = [[PastquakesAnnotation alloc] initWithTitle:[NSString stringWithFormat:@"%@ %@ %@",NSLocalizedString(@"Sisma rilevato da", @"") ,pasq.users, NSLocalizedString(@"smartphones", @"")] location:location intensita:[pasq.intensity intValue]];
+ [self.annotationArray addObject:anAnnotation];
+
+}
+
+-(MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id)annotation{
+
+
+ if ([annotation isKindOfClass:[PastquakesAnnotation class]]) {
+ PastquakesAnnotation *anLocation = (PastquakesAnnotation *)annotation;
+ MKAnnotationView *annotationView = [mapView dequeueReusableAnnotationViewWithIdentifier:IDENTIFIER_ANNOTATION_PASTQUAKES];
+ if (annotationView == nil)
+ annotationView = anLocation.annotationView;
+ else
+ annotationView.annotation = anLocation;
+
+ return annotationView;
+ }
+ else
+ return nil;
+
+
+}
+
+
+-(void)applicaFiltroWithTime:(NSNumber *)time{
+
+ EQNFiltriMappa filtro = unGiorno;
+ switch ([time intValue]) {
+ case 0:
+ filtro = unAnno;
+ break;
+ case 1:
+ filtro = unMese;
+ break;
+ case 2:
+ filtro = unaSettimana;
+ break;
+ case 3:
+ filtro = unGiorno;
+ break;
+ case 4:
+ filtro = unOra;
+ break;
+ default:
+ break;
+ }
+
+ NSArray *lista = [EQNUtility applicaFiltroWithTime:filtro withList:[EQNManager defaultManager].datiPastQuakes];
+
+ // EQNPastquakes *segnalazione = lista[0];
+ // CLLocation *coordinate = [[CLLocation alloc] initWithLatitude:[segnalazione.latitude doubleValue] longitude:[segnalazione.longitude doubleValue]];
+ // MKCoordinateSpan span = MKCoordinateSpanMake(10.5, 10.5);
+ // MKCoordinateRegion region = MKCoordinateRegionMake(coordinate.coordinate, span);
+ // [self.mapView setCenterCoordinate:coordinate.coordinate animated:NO];
+ // [self.mapView setRegion:region animated:YES];
+
+ self.mapView.scrollEnabled = YES;
+
+ [self.annotationArray removeAllObjects];
+
+ for (EQNPastquakes *seg in lista)
+ [self creaMarcherWithSegnalazione:seg];
+
+ NSLog(@"Lista sismi %lu", (unsigned long)lista.count);
+
+ [self.mapView addAnnotations:self.annotationArray];
+ [self.mapView showAnnotations:self.annotationArray animated:YES];
+ self.labelAzione.text = self.filtroArray[[time intValue]];
+ /*
+ MKMapRect zoomRect = MKMapRectNull;
+ for (id annotation in self.mapView .annotations)
+ {
+ MKMapPoint annotationPoint = MKMapPointForCoordinate(annotation.coordinate);
+ MKMapRect pointRect = MKMapRectMake(annotationPoint.x, annotationPoint.y, 0.1, 0.1);
+ zoomRect = MKMapRectUnion(zoomRect, pointRect);
+ }
+ [mapView setVisibleMapRect:zoomRect animated:YES];*/
+
+}
+/*
+#pragma mark - Navigation
+
+// In a storyboard-based application, you will often want to do a little preparation before navigation
+- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
+ // Get the new view controller using [segue destinationViewController].
+ // Pass the selected object to the new view controller.
+}
+*/
+
+@end
diff --git a/Sources/Earthquake Network/ViewController/Dettagli mappa/ReteSismiDettagliMappa.h b/Sources/Earthquake Network/ViewController/Dettagli mappa/ReteSismiDettagliMappa.h
new file mode 100644
index 0000000..6bc08cd
--- /dev/null
+++ b/Sources/Earthquake Network/ViewController/Dettagli mappa/ReteSismiDettagliMappa.h
@@ -0,0 +1,16 @@
+//
+// ReteSismiDettagliMappa.h
+// Earthquake Network
+//
+// Created by Luca Beretta on 07/11/18.
+// Copyright © 2018 Luca Beretta. All rights reserved.
+//
+
+#import "DettagliMappaViewController.h"
+#import "EQNSisma.h"
+
+
+@interface ReteSismiDettagliMappa : DettagliMappaViewController
+
+@property (nonatomic, strong) EQNSisma *sisma;
+@end
diff --git a/Sources/Earthquake Network/ViewController/Dettagli mappa/ReteSismiDettagliMappa.m b/Sources/Earthquake Network/ViewController/Dettagli mappa/ReteSismiDettagliMappa.m
new file mode 100644
index 0000000..a157d5e
--- /dev/null
+++ b/Sources/Earthquake Network/ViewController/Dettagli mappa/ReteSismiDettagliMappa.m
@@ -0,0 +1,101 @@
+//
+// ReteSismiDettagliMappa.m
+// Earthquake Network
+//
+// Created by Luca Beretta on 07/11/18.
+// Copyright © 2018 Luca Beretta. All rights reserved.
+//
+
+#import "ReteSismiDettagliMappa.h"
+#import "SismaAnnotation.h"
+
+@interface ReteSismiDettagliMappa ()
+@property(nonatomic, strong) GADBannerView *bannerView;
+
+@end
+
+@implementation ReteSismiDettagliMappa
+
+- (void)viewDidLoad {
+
+
+ self.mapView.delegate = self;
+
+ [super viewDidLoad];
+ // Do any additional setup after loading the view.
+
+
+ self.navigationController.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"back"]
+ style:UIBarButtonItemStyleDone
+ target:self
+ action:@selector(chiudi:)];
+
+
+ for (EQNSisma *sismi in [EQNManager defaultManager].retiSismiche ) {
+ [self creaMarcherWithSegnalazione:sismi];
+
+ }
+
+ if (![[NSUserDefaults standardUserDefaults] boolForKey:EQN_ACQ_IN_APP]){
+ self.bannerView = [EQNUtility ottieniBannerWithController:self position:YES];
+
+ }
+}
+
+- (void)didReceiveMemoryWarning {
+ [super didReceiveMemoryWarning];
+ // Dispose of any resources that can be recreated.
+}
+
+
+-(void)creaMarcherWithSegnalazione:(id)segnalazione{
+
+ [super creaMarcherWithSegnalazione:segnalazione];
+
+ CLLocationCoordinate2D location = CLLocationCoordinate2DMake([self.sisma.latitude doubleValue], [self.sisma.longitude doubleValue]);
+ SismaAnnotation *anAnnotation = [[SismaAnnotation alloc] initWithTitle:self.sisma.place location:location intensita:[self.sisma.magnitude doubleValue]];
+
+ [self.mapView addAnnotation:anAnnotation];
+
+ CLLocation *coordinate = [[CLLocation alloc] initWithLatitude:[self.sisma.latitude doubleValue] longitude:[self.sisma.longitude doubleValue]];
+ MKCoordinateSpan span = MKCoordinateSpanMake(10.5, 10.5);
+ MKCoordinateRegion region = MKCoordinateRegionMake(coordinate.coordinate, span);
+ [self.mapView setCenterCoordinate:coordinate.coordinate animated:NO];
+ [self.mapView setRegion:region animated:YES];
+
+}
+
+-(MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id)annotation{
+
+
+ if ([annotation isKindOfClass:[SismaAnnotation class]]) {
+ SismaAnnotation *anLocation = (SismaAnnotation *)annotation;
+ MKAnnotationView *annotationView = [mapView dequeueReusableAnnotationViewWithIdentifier:IDENTIFIER_ANNOTATION_SISMI];
+ if (annotationView == nil)
+ annotationView = anLocation.annotationView;
+ else
+ annotationView.annotation = anLocation;
+
+ return annotationView;
+ }
+ else
+ return nil;
+
+
+}
+
+ // apriImpostazioni
+
+
+
+/*
+#pragma mark - Navigation
+
+// In a storyboard-based application, you will often want to do a little preparation before navigation
+- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
+ // Get the new view controller using [segue destinationViewController].
+ // Pass the selected object to the new view controller.
+}
+*/
+
+@end
diff --git a/Sources/Earthquake Network/ViewController/Dettagli mappa/SegnalazioniUtenteDettagliMappa.h b/Sources/Earthquake Network/ViewController/Dettagli mappa/SegnalazioniUtenteDettagliMappa.h
new file mode 100644
index 0000000..a2082b6
--- /dev/null
+++ b/Sources/Earthquake Network/ViewController/Dettagli mappa/SegnalazioniUtenteDettagliMappa.h
@@ -0,0 +1,13 @@
+//
+// SegnalazioniUtenteDettagliMappa.h
+// Earthquake Network
+//
+// Created by Luca Beretta on 07/11/18.
+// Copyright © 2018 Luca Beretta. All rights reserved.
+//
+
+#import "DettagliMappaViewController.h"
+
+@interface SegnalazioniUtenteDettagliMappa : DettagliMappaViewController
+
+@end
diff --git a/Sources/Earthquake Network/ViewController/Dettagli mappa/SegnalazioniUtenteDettagliMappa.m b/Sources/Earthquake Network/ViewController/Dettagli mappa/SegnalazioniUtenteDettagliMappa.m
new file mode 100644
index 0000000..38520c3
--- /dev/null
+++ b/Sources/Earthquake Network/ViewController/Dettagli mappa/SegnalazioniUtenteDettagliMappa.m
@@ -0,0 +1,195 @@
+//
+// SegnalazioniUtenteDettagliMappa.m
+// Earthquake Network
+//
+// Created by Luca Beretta on 07/11/18.
+// Copyright © 2018 Luca Beretta. All rights reserved.
+//
+
+#import "SegnalazioniUtenteDettagliMappa.h"
+#import "ReteSismicaAnnotation.h"
+@interface SegnalazioniUtenteDettagliMappa ()
+
+@property (nonatomic, strong) NSMutableArray *annotationArray;
+@property(nonatomic, strong) GADBannerView *bannerView;
+
+@end
+
+@implementation SegnalazioniUtenteDettagliMappa
+
+- (void)viewDidLoad {
+
+ self.filtroArray = @[NSLocalizedString(@"Un giorno", @""), NSLocalizedString(@"Dodici ore", @""),NSLocalizedString(@"Sei ore", @""),NSLocalizedString(@"Due ore", @""),NSLocalizedString(@"Un ora", @""), NSLocalizedString(@"Dieci minuti", @"")];
+
+ [super viewDidLoad];
+
+ /*
+ // Do any additional setup after loading the view.
+ UIBarButtonItem *item1 = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"ic_action_settings"]
+ style:UIBarButtonItemStyleDone
+ target:self
+ action:@selector(setting)];
+
+ UIBarButtonItem *item2 = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"ic_action_share"]
+ style:UIBarButtonItemStyleDone
+ target:self
+ action:@selector(condividi)];
+
+
+
+ self.navigationItem.rightBarButtonItems = @[item2, item1];*/
+
+ self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"back"]
+ style:UIBarButtonItemStyleDone
+ target:self
+ action:@selector(chiudi:)];
+
+ self.mapView.delegate = self;
+
+ [self.buttonAzione addTarget:self action:@selector(visualizzaPikerFiltro:) forControlEvents:UIControlEventTouchDown];
+ [self applicaFiltroWithTime:@(0)];
+
+ if (![[NSUserDefaults standardUserDefaults] boolForKey:EQN_ACQ_IN_APP]){
+ self.bannerView = [EQNUtility ottieniBannerWithController:self position:NO];
+
+ }
+}
+
+- (void)didReceiveMemoryWarning {
+ [super didReceiveMemoryWarning];
+ // Dispose of any resources that can be recreated.
+}
+
+-(void)creaMarcherWithSegnalazione:(id)segnalazione{
+
+ [super creaMarcherWithSegnalazione:segnalazione];
+
+ if(!self.annotationArray)
+ self.annotationArray = [NSMutableArray array];
+
+ EQNSegnalazione *anSegnalazione = (EQNSegnalazione *)segnalazione;
+
+ CLLocationCoordinate2D location = CLLocationCoordinate2DMake([anSegnalazione.latitude doubleValue], [anSegnalazione.longitude doubleValue]);
+ ReteSismicaAnnotation *anAnnotation = [[ReteSismicaAnnotation alloc] initWithTitle:anSegnalazione.address location:location magnitudo:[anSegnalazione.magnitude intValue]];
+ [self.annotationArray addObject:anAnnotation];
+
+}
+-(MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id)annotation{
+
+
+ if ([annotation isKindOfClass:[ReteSismicaAnnotation class]]) {
+ ReteSismicaAnnotation *anLocation = (ReteSismicaAnnotation *)annotation;
+ MKAnnotationView *annotationView = [mapView dequeueReusableAnnotationViewWithIdentifier:IDENTIFIER_ANNOTATION_RETESMARTPHONE];
+ if (annotationView == nil)
+ annotationView = anLocation.annotationView;
+ else
+ annotationView.annotation = anLocation;
+
+ return annotationView;
+ }
+ else
+ return nil;
+
+
+}
+
+
+-(void)applicaFiltroWithTime:(NSNumber *)time{
+
+ EQNFiltriMappa filtro = unGiorno;
+ switch ([time intValue]) {
+ case 0:
+ filtro = unGiorno;
+ break;
+ case 1:
+ filtro = dodiciOre;
+ break;
+ case 2:
+ filtro = seiOre;
+ break;
+ case 3:
+ filtro = dueOre;
+ break;
+ case 4:
+ filtro = unOra;
+ break;
+ case 5:
+ filtro = dieciMinuti;
+ break;
+ default:
+ break;
+ }
+
+ NSArray *lista = [EQNUtility applicaFiltroWithTime:filtro withList:[EQNManager defaultManager].elencoSelagnazioniManuali];
+
+
+ // EQNPastquakes *segnalazione = lista[0];
+ // CLLocation *coordinate = [[CLLocation alloc] initWithLatitude:[segnalazione.latitude doubleValue] longitude:[segnalazione.longitude doubleValue]];
+ // MKCoordinateSpan span = MKCoordinateSpanMake(10.5, 10.5);
+ // MKCoordinateRegion region = MKCoordinateRegionMake(coordinate.coordinate, span);
+ // [self.mapView setCenterCoordinate:coordinate.coordinate animated:NO];
+ // [self.mapView setRegion:region animated:YES];
+
+ self.mapView.scrollEnabled = YES;
+
+ [self.annotationArray removeAllObjects];
+
+ for (EQNSegnalazione *seg in lista)
+ [self creaMarcherWithSegnalazione:seg];
+
+ [self.mapView addAnnotations:self.annotationArray];
+ [self.mapView showAnnotations:self.annotationArray animated:YES];
+ self.labelAzione.text = self.filtroArray[[time intValue]];
+
+ if (lista.count == 0) {
+ return;
+ }
+
+ NSSortDescriptor *dateDescriptor = [NSSortDescriptor
+ sortDescriptorWithKey:@"date"
+ ascending:YES];
+ NSArray *sortDescriptors = [NSArray arrayWithObject:dateDescriptor];
+ NSArray *sortedEventArray = [lista
+ sortedArrayUsingDescriptors:sortDescriptors];
+
+ for (EQNSegnalazione *seg in sortedEventArray) {
+
+ NSLog(@"seg data %@", seg.date);
+ }
+
+
+ EQNSegnalazione *segnalazione = sortedEventArray[0];
+ CLLocation *coordinate = [[CLLocation alloc] initWithLatitude:[segnalazione.latitude doubleValue] longitude:[segnalazione.longitude doubleValue]];
+ MKCoordinateSpan span = MKCoordinateSpanMake(10.5, 10.5);
+ MKCoordinateRegion region = MKCoordinateRegionMake(coordinate.coordinate, span);
+ self.mapView.delegate = self;
+ [self.mapView setCenterCoordinate:coordinate.coordinate animated:NO];
+ [self.mapView setRegion:region animated:YES];
+ self.mapView.scrollEnabled = NO;
+
+ [self.buttonAzione addTarget:self action:@selector(visualizzaPikerFiltro:) forControlEvents:UIControlEventTouchDown];
+
+
+ /*
+ MKMapRect zoomRect = MKMapRectNull;
+ for (id annotation in self.mapView .annotations)
+ {
+ MKMapPoint annotationPoint = MKMapPointForCoordinate(annotation.coordinate);
+ MKMapRect pointRect = MKMapRectMake(annotationPoint.x, annotationPoint.y, 0.1, 0.1);
+ zoomRect = MKMapRectUnion(zoomRect, pointRect);
+ }
+ [mapView setVisibleMapRect:zoomRect animated:YES];*/
+
+}
+
+/*
+#pragma mark - Navigation
+
+// In a storyboard-based application, you will often want to do a little preparation before navigation
+- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
+ // Get the new view controller using [segue destinationViewController].
+ // Pass the selected object to the new view controller.
+}
+*/
+
+@end
diff --git a/Sources/Earthquake Network/ViewController/DettagliTsunamiViewController.h b/Sources/Earthquake Network/ViewController/DettagliTsunamiViewController.h
new file mode 100644
index 0000000..e770b53
--- /dev/null
+++ b/Sources/Earthquake Network/ViewController/DettagliTsunamiViewController.h
@@ -0,0 +1,14 @@
+//
+// DettagliTsunamiViewController.h
+// Earthquake Network
+//
+// Created by Luca Beretta on 13/11/18.
+// Copyright © 2018 Luca Beretta. All rights reserved.
+//
+
+#import
+
+@interface DettagliTsunamiViewController : UIViewController
+
+@property (nonatomic, strong) NSURL *link;
+@end
diff --git a/Sources/Earthquake Network/ViewController/DettagliTsunamiViewController.m b/Sources/Earthquake Network/ViewController/DettagliTsunamiViewController.m
new file mode 100644
index 0000000..d1c7035
--- /dev/null
+++ b/Sources/Earthquake Network/ViewController/DettagliTsunamiViewController.m
@@ -0,0 +1,48 @@
+//
+// DettagliTsunamiViewController.m
+// Earthquake Network
+//
+// Created by Luca Beretta on 13/11/18.
+// Copyright © 2018 Luca Beretta. All rights reserved.
+//
+
+#import "DettagliTsunamiViewController.h"
+
+@interface DettagliTsunamiViewController ()
+
+@property (weak, nonatomic) IBOutlet UIWebView *webView;
+- (IBAction)chiudi:(id)sender;
+
+@end
+
+@implementation DettagliTsunamiViewController
+
+- (void)viewDidLoad {
+ [super viewDidLoad];
+ // Do any additional setup after loading the view.
+ NSURLRequest *requestObj = [NSURLRequest requestWithURL:self.link];
+ [self.webView loadRequest:requestObj];
+
+ //Load the request in the UIWebView.
+}
+
+- (void)didReceiveMemoryWarning {
+ [super didReceiveMemoryWarning];
+ // Dispose of any resources that can be recreated.
+}
+
+/*
+#pragma mark - Navigation
+
+// In a storyboard-based application, you will often want to do a little preparation before navigation
+- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
+ // Get the new view controller using [segue destinationViewController].
+ // Pass the selected object to the new view controller.
+}
+*/
+
+- (IBAction)chiudi:(id)sender {
+
+ [self dismissViewControllerAnimated:YES completion:nil];
+}
+@end
diff --git a/Sources/Earthquake Network/ViewController/EQNRetiSismiViewController.h b/Sources/Earthquake Network/ViewController/EQNRetiSismiViewController.h
new file mode 100644
index 0000000..05cce57
--- /dev/null
+++ b/Sources/Earthquake Network/ViewController/EQNRetiSismiViewController.h
@@ -0,0 +1,13 @@
+//
+// EQNRetiSismiViewController.h
+// Earthquake Network
+//
+// Created by Luca Beretta on 25/10/18.
+// Copyright © 2018 Luca Beretta. All rights reserved.
+//
+
+#import
+
+@interface EQNRetiSismiViewController : UIViewController
+-(void)aggiornaTabella:(id)sender;
+@end
diff --git a/Sources/Earthquake Network/ViewController/EQNRetiSismiViewController.m b/Sources/Earthquake Network/ViewController/EQNRetiSismiViewController.m
new file mode 100644
index 0000000..791f198
--- /dev/null
+++ b/Sources/Earthquake Network/ViewController/EQNRetiSismiViewController.m
@@ -0,0 +1,191 @@
+//
+// EQNRetiSismiViewController.m
+// Earthquake Network
+//
+// Created by Luca Beretta on 25/10/18.
+// Copyright © 2018 Luca Beretta. All rights reserved.
+//
+
+#import "EQNRetiSismiViewController.h"
+#import "EQNManager.h"
+#import "EQNSisma.h"
+#import "Costanti.h"
+#import
+#import "CellDettagliMappaTableViewCell.h"
+#import "Cell_Reti_sismicheTableViewCell.h"
+#import "Cell_Meteo_TableViewCell.h"
+#import "ReteSismiDettagliMappa.h"
+#import "SismaAnnotation.h"
+#import