├── .gitignore ├── .DS_Store ├── Assets ├── banner.png ├── Widgets.png └── preview.png ├── Corona Widget ├── Widget │ ├── Assets.xcassets │ │ ├── Contents.json │ │ ├── bolt.imageset │ │ │ ├── bolt.png │ │ │ ├── bolt@2x.png │ │ │ ├── bolt@3x.png │ │ │ └── Contents.json │ │ ├── cross.imageset │ │ │ ├── cross.png │ │ │ ├── cross@2x.png │ │ │ ├── cross@3x.png │ │ │ └── Contents.json │ │ ├── virus.imageset │ │ │ ├── virus.png │ │ │ ├── virus@2x.png │ │ │ ├── virus@3x.png │ │ │ └── Contents.json │ │ ├── coffin.imageset │ │ │ ├── coffin.png │ │ │ ├── coffin@2x.png │ │ │ ├── coffin@3x.png │ │ │ └── Contents.json │ │ ├── global.imageset │ │ │ ├── global.png │ │ │ ├── global@2x.png │ │ │ ├── global@3x.png │ │ │ └── Contents.json │ │ ├── AccentColor.colorset │ │ │ └── Contents.json │ │ ├── WidgetBackground.colorset │ │ │ └── Contents.json │ │ └── AppIcon.appiconset │ │ │ └── Contents.json │ ├── CurrentCountry.swift │ ├── Model │ │ ├── CountryData.swift │ │ └── CoronaType.swift │ ├── Extensions │ │ ├── Number.swift │ │ ├── Cases.swift │ │ └── Color.swift │ ├── Widget │ │ ├── MediumWidget.swift │ │ ├── SmallWidget.swift │ │ ├── LargeWidget.swift │ │ └── Widget.swift │ ├── View │ │ ├── PieChart │ │ │ ├── PieChart.swift │ │ │ ├── SlideData.swift │ │ │ ├── PieChartSlide.swift │ │ │ └── PieChartData.swift │ │ ├── SmallWidgetBlock.swift │ │ ├── MediumWidgetBlock.swift │ │ └── LargeWidgetBlock.swift │ ├── Info.plist │ └── Widget.intentdefinition ├── Corona Widget │ ├── Assets.xcassets │ │ ├── Contents.json │ │ ├── mail.imageset │ │ │ ├── mail.png │ │ │ ├── mail@2x.png │ │ │ ├── mail@3x.png │ │ │ └── Contents.json │ │ ├── github.imageset │ │ │ ├── github.png │ │ │ ├── github@2x.png │ │ │ ├── github@3x.png │ │ │ └── Contents.json │ │ ├── LinkedIn.imageset │ │ │ ├── LinkedIn.png │ │ │ ├── LinkedIn@2x.png │ │ │ ├── LinkedIn@3x.png │ │ │ └── Contents.json │ │ ├── AccentColor.colorset │ │ │ └── Contents.json │ │ └── AppIcon.appiconset │ │ │ └── Contents.json │ ├── Preview Content │ │ └── Preview Assets.xcassets │ │ │ └── Contents.json │ ├── View │ │ ├── Corona_WidgetApp.swift │ │ └── ContentView.swift │ ├── Utils │ │ ├── emojiConverter.swift │ │ └── Countries.swift │ ├── Model │ │ ├── SessionStore.swift │ │ ├── CoronaClient.swift │ │ └── CoronaModel.swift │ └── Info.plist └── Corona Widget.xcodeproj │ ├── project.xcworkspace │ ├── contents.xcworkspacedata │ ├── xcuserdata │ │ └── aaryankothari.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcshareddata │ │ └── IDEWorkspaceChecks.plist │ ├── xcuserdata │ └── aaryankothari.xcuserdatad │ │ └── xcschemes │ │ └── xcschememanagement.plist │ └── project.pbxproj ├── .github ├── CODEOWNERS ├── ISSUE_TEMPLATE │ ├── feature_request.md │ └── bug_report.md └── PULL_REQUEST_TEMPLATE.md ├── LICENSE └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | ## User settings 2 | xcuserdata/ 3 | .DS_Store 4 | -------------------------------------------------------------------------------- /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaryankotharii/Corona-Widget/HEAD/.DS_Store -------------------------------------------------------------------------------- /Assets/banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaryankotharii/Corona-Widget/HEAD/Assets/banner.png -------------------------------------------------------------------------------- /Assets/Widgets.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaryankotharii/Corona-Widget/HEAD/Assets/Widgets.png -------------------------------------------------------------------------------- /Assets/preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaryankotharii/Corona-Widget/HEAD/Assets/preview.png -------------------------------------------------------------------------------- /Corona Widget/Widget/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /Corona Widget/Corona Widget/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /Corona Widget/Corona Widget/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /Corona Widget/Widget/Assets.xcassets/bolt.imageset/bolt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaryankotharii/Corona-Widget/HEAD/Corona Widget/Widget/Assets.xcassets/bolt.imageset/bolt.png -------------------------------------------------------------------------------- /Corona Widget/Widget/Assets.xcassets/bolt.imageset/bolt@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaryankotharii/Corona-Widget/HEAD/Corona Widget/Widget/Assets.xcassets/bolt.imageset/bolt@2x.png -------------------------------------------------------------------------------- /Corona Widget/Widget/Assets.xcassets/bolt.imageset/bolt@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaryankotharii/Corona-Widget/HEAD/Corona Widget/Widget/Assets.xcassets/bolt.imageset/bolt@3x.png -------------------------------------------------------------------------------- /Corona Widget/Widget/Assets.xcassets/cross.imageset/cross.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaryankotharii/Corona-Widget/HEAD/Corona Widget/Widget/Assets.xcassets/cross.imageset/cross.png -------------------------------------------------------------------------------- /Corona Widget/Widget/Assets.xcassets/virus.imageset/virus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaryankotharii/Corona-Widget/HEAD/Corona Widget/Widget/Assets.xcassets/virus.imageset/virus.png -------------------------------------------------------------------------------- /Corona Widget/Widget/Assets.xcassets/coffin.imageset/coffin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaryankotharii/Corona-Widget/HEAD/Corona Widget/Widget/Assets.xcassets/coffin.imageset/coffin.png -------------------------------------------------------------------------------- /Corona Widget/Widget/Assets.xcassets/cross.imageset/cross@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaryankotharii/Corona-Widget/HEAD/Corona Widget/Widget/Assets.xcassets/cross.imageset/cross@2x.png -------------------------------------------------------------------------------- /Corona Widget/Widget/Assets.xcassets/cross.imageset/cross@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaryankotharii/Corona-Widget/HEAD/Corona Widget/Widget/Assets.xcassets/cross.imageset/cross@3x.png -------------------------------------------------------------------------------- /Corona Widget/Widget/Assets.xcassets/global.imageset/global.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaryankotharii/Corona-Widget/HEAD/Corona Widget/Widget/Assets.xcassets/global.imageset/global.png -------------------------------------------------------------------------------- /Corona Widget/Widget/Assets.xcassets/virus.imageset/virus@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaryankotharii/Corona-Widget/HEAD/Corona Widget/Widget/Assets.xcassets/virus.imageset/virus@2x.png -------------------------------------------------------------------------------- /Corona Widget/Widget/Assets.xcassets/virus.imageset/virus@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaryankotharii/Corona-Widget/HEAD/Corona Widget/Widget/Assets.xcassets/virus.imageset/virus@3x.png -------------------------------------------------------------------------------- /Corona Widget/Corona Widget/Assets.xcassets/mail.imageset/mail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaryankotharii/Corona-Widget/HEAD/Corona Widget/Corona Widget/Assets.xcassets/mail.imageset/mail.png -------------------------------------------------------------------------------- /Corona Widget/Widget/Assets.xcassets/coffin.imageset/coffin@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaryankotharii/Corona-Widget/HEAD/Corona Widget/Widget/Assets.xcassets/coffin.imageset/coffin@2x.png -------------------------------------------------------------------------------- /Corona Widget/Widget/Assets.xcassets/coffin.imageset/coffin@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaryankotharii/Corona-Widget/HEAD/Corona Widget/Widget/Assets.xcassets/coffin.imageset/coffin@3x.png -------------------------------------------------------------------------------- /Corona Widget/Widget/Assets.xcassets/global.imageset/global@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaryankotharii/Corona-Widget/HEAD/Corona Widget/Widget/Assets.xcassets/global.imageset/global@2x.png -------------------------------------------------------------------------------- /Corona Widget/Widget/Assets.xcassets/global.imageset/global@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaryankotharii/Corona-Widget/HEAD/Corona Widget/Widget/Assets.xcassets/global.imageset/global@3x.png -------------------------------------------------------------------------------- /Corona Widget/Corona Widget/Assets.xcassets/mail.imageset/mail@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaryankotharii/Corona-Widget/HEAD/Corona Widget/Corona Widget/Assets.xcassets/mail.imageset/mail@2x.png -------------------------------------------------------------------------------- /Corona Widget/Corona Widget/Assets.xcassets/mail.imageset/mail@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaryankotharii/Corona-Widget/HEAD/Corona Widget/Corona Widget/Assets.xcassets/mail.imageset/mail@3x.png -------------------------------------------------------------------------------- /Corona Widget/Corona Widget/Assets.xcassets/github.imageset/github.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaryankotharii/Corona-Widget/HEAD/Corona Widget/Corona Widget/Assets.xcassets/github.imageset/github.png -------------------------------------------------------------------------------- /Corona Widget/Corona Widget/Assets.xcassets/LinkedIn.imageset/LinkedIn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaryankotharii/Corona-Widget/HEAD/Corona Widget/Corona Widget/Assets.xcassets/LinkedIn.imageset/LinkedIn.png -------------------------------------------------------------------------------- /Corona Widget/Corona Widget/Assets.xcassets/github.imageset/github@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaryankotharii/Corona-Widget/HEAD/Corona Widget/Corona Widget/Assets.xcassets/github.imageset/github@2x.png -------------------------------------------------------------------------------- /Corona Widget/Corona Widget/Assets.xcassets/github.imageset/github@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaryankotharii/Corona-Widget/HEAD/Corona Widget/Corona Widget/Assets.xcassets/github.imageset/github@3x.png -------------------------------------------------------------------------------- /Corona Widget/Corona Widget/Assets.xcassets/LinkedIn.imageset/LinkedIn@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaryankotharii/Corona-Widget/HEAD/Corona Widget/Corona Widget/Assets.xcassets/LinkedIn.imageset/LinkedIn@2x.png -------------------------------------------------------------------------------- /Corona Widget/Corona Widget/Assets.xcassets/LinkedIn.imageset/LinkedIn@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaryankotharii/Corona-Widget/HEAD/Corona Widget/Corona Widget/Assets.xcassets/LinkedIn.imageset/LinkedIn@3x.png -------------------------------------------------------------------------------- /Corona Widget/Corona Widget.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Corona Widget/Widget/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Corona Widget/Corona Widget/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Corona Widget/Widget/Assets.xcassets/WidgetBackground.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Corona Widget/Widget/CurrentCountry.swift: -------------------------------------------------------------------------------- 1 | // 2 | // CurrentCountry.swift 3 | // Corona Widget 4 | // 5 | // Created by Aaryan Kothari on 24/07/20. 6 | // 7 | 8 | import Foundation 9 | 10 | struct CurrentCountry { 11 | static var county : Country = .unitedStates 12 | } 13 | -------------------------------------------------------------------------------- /Corona Widget/Corona Widget.xcodeproj/project.xcworkspace/xcuserdata/aaryankothari.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaryankotharii/Corona-Widget/HEAD/Corona Widget/Corona Widget.xcodeproj/project.xcworkspace/xcuserdata/aaryankothari.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /Corona Widget/Corona Widget.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Corona Widget/Corona Widget/View/Corona_WidgetApp.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Corona_WidgetApp.swift 3 | // Corona Widget 4 | // 5 | // Created by Aaryan Kothari on 21/07/20. 6 | // 7 | 8 | import SwiftUI 9 | 10 | @main 11 | struct Corona_WidgetApp: App { 12 | var body: some Scene { 13 | WindowGroup { 14 | ContentView() 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | # This is a comment. 2 | # Each line is a file pattern followed by one or more owners. 3 | 4 | # These owners will be the default owners for everything in 5 | # the repo. Unless a later match takes precedence, 6 | # @global-owner1 and @global-owner2 will be requested for 7 | # review when someone opens a pull request. 8 | # Please add names of code owners here and tag the below 9 | # aaryankotharii 10 | * @aaryankotharii 11 | -------------------------------------------------------------------------------- /Corona Widget/Widget/Model/CountryData.swift: -------------------------------------------------------------------------------- 1 | // 2 | // CountryData.swift 3 | // Corona Widget 4 | // 5 | // Created by Aaryan Kothari on 24/07/20. 6 | // 7 | 8 | import Foundation 9 | 10 | struct CountryData{ 11 | var date: Date 12 | var total : Double 13 | var active : Double 14 | var deaths : Double 15 | var recovered : Double 16 | var name : String 17 | var code : String 18 | var emoji : String 19 | } 20 | -------------------------------------------------------------------------------- /Corona Widget/Widget/Extensions/Number.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Number.swift 3 | // Corona Widget 4 | // 5 | // Created by Ravi on 02/10/20. 6 | // 7 | 8 | import Foundation 9 | 10 | extension Double { 11 | func withCommas() -> String { 12 | let numberFormatter = NumberFormatter() 13 | numberFormatter.numberStyle = .decimal 14 | return numberFormatter.string(from: NSNumber(value:self)) ?? "\(Int(self))" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Corona Widget/Widget/Assets.xcassets/bolt.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "bolt.png", 5 | "idiom" : "universal", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "filename" : "bolt@2x.png", 10 | "idiom" : "universal", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "filename" : "bolt@3x.png", 15 | "idiom" : "universal", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "author" : "xcode", 21 | "version" : 1 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /Corona Widget/Corona Widget/Assets.xcassets/mail.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "mail.png", 5 | "idiom" : "universal", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "filename" : "mail@2x.png", 10 | "idiom" : "universal", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "filename" : "mail@3x.png", 15 | "idiom" : "universal", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "author" : "xcode", 21 | "version" : 1 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /Corona Widget/Widget/Assets.xcassets/coffin.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "coffin.png", 5 | "idiom" : "universal", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "filename" : "coffin@2x.png", 10 | "idiom" : "universal", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "filename" : "coffin@3x.png", 15 | "idiom" : "universal", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "author" : "xcode", 21 | "version" : 1 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /Corona Widget/Widget/Assets.xcassets/cross.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "cross.png", 5 | "idiom" : "universal", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "filename" : "cross@2x.png", 10 | "idiom" : "universal", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "filename" : "cross@3x.png", 15 | "idiom" : "universal", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "author" : "xcode", 21 | "version" : 1 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /Corona Widget/Widget/Assets.xcassets/global.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "global.png", 5 | "idiom" : "universal", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "filename" : "global@2x.png", 10 | "idiom" : "universal", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "filename" : "global@3x.png", 15 | "idiom" : "universal", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "author" : "xcode", 21 | "version" : 1 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /Corona Widget/Widget/Assets.xcassets/virus.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "virus.png", 5 | "idiom" : "universal", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "filename" : "virus@2x.png", 10 | "idiom" : "universal", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "filename" : "virus@3x.png", 15 | "idiom" : "universal", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "author" : "xcode", 21 | "version" : 1 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /Corona Widget/Corona Widget/Assets.xcassets/github.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "github.png", 5 | "idiom" : "universal", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "filename" : "github@2x.png", 10 | "idiom" : "universal", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "filename" : "github@3x.png", 15 | "idiom" : "universal", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "author" : "xcode", 21 | "version" : 1 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /Corona Widget/Corona Widget/Assets.xcassets/LinkedIn.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "LinkedIn.png", 5 | "idiom" : "universal", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "filename" : "LinkedIn@2x.png", 10 | "idiom" : "universal", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "filename" : "LinkedIn@3x.png", 15 | "idiom" : "universal", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "author" : "xcode", 21 | "version" : 1 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /Corona Widget/Corona Widget/Utils/emojiConverter.swift: -------------------------------------------------------------------------------- 1 | // 2 | // emojiConverter.swift 3 | // Corona Widget 4 | // 5 | // Created by Aaryan Kothari on 24/07/20. 6 | // 7 | 8 | import Foundation 9 | 10 | //MARK: STRING TO EMOJI CONVERTER 11 | 12 | // function that convertes countryCode to country emoji! 13 | 14 | func convertToEmoji(str: String) -> String { 15 | let lowercased = str.lowercased() 16 | guard lowercased.count == 2 else { return "" } 17 | let regionalIndicators = lowercased.unicodeScalars.map { UnicodeScalar($0.value + (0x1F1E6 - 0x61))! } 18 | return String(regionalIndicators.map { Character($0) }) 19 | } 20 | -------------------------------------------------------------------------------- /Corona Widget/Corona Widget/Model/SessionStore.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SessionStore.swift 3 | // Corona Widget 4 | // 5 | // Created by Aaryan Kothari on 22/07/20. 6 | // 7 | 8 | import Foundation 9 | import Combine 10 | 11 | final class SessionStore: ObservableObject { 12 | @Published var current : Corona? 13 | init(){ 14 | self.fetch{ val in 15 | print(val) 16 | } 17 | } 18 | } 19 | 20 | extension SessionStore{ 21 | func fetch(completion : @escaping(Corona)->()){ 22 | CoronaClient.fetchSummary { 23 | self.current = $0 24 | completion($0) 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /Corona Widget/Corona Widget.xcodeproj/xcuserdata/aaryankothari.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | Corona Widget.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | WidgetExtension.xcscheme_^#shared#^_ 13 | 14 | orderHint 15 | 1 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Is your feature request related to a problem? Please describe.** 11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 12 | 13 | **Describe the solution you'd like** 14 | A clear and concise description of what you want to happen. 15 | 16 | **Describe alternatives you've considered** 17 | A clear and concise description of any alternative solutions or features you've considered. 18 | 19 | **Additional context** 20 | Add any other context or screenshots about the feature request here. 21 | -------------------------------------------------------------------------------- /Corona Widget/Widget/Extensions/Cases.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Cases.swift 3 | // Corona Widget 4 | // 5 | // Created by Aaryan Kothari on 22/07/20. 6 | // 7 | 8 | import Foundation 9 | 10 | // MARK: - EXETNSION SHORTEN NUMBER 11 | 12 | extension Double { 13 | var cases : String { 14 | if self > 100000{ 15 | let value = self/1000000 16 | let string = String(format: "%.2f", value) 17 | print("value2",string) 18 | return string + " M" 19 | } else if self > 1000 { 20 | let value = self/1000 21 | let string = String(Int(value)) 22 | return string + " K" 23 | } else { 24 | return String(Int(self)) 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /Corona Widget/Widget/Widget/MediumWidget.swift: -------------------------------------------------------------------------------- 1 | // 2 | // MediumWidget.swift 3 | // Corona Widget 4 | // 5 | // Created by Aaryan Kothari on 24/07/20. 6 | // 7 | 8 | import SwiftUI 9 | 10 | //MARK: systemMedium Widget 11 | 12 | struct mediumWidget : View { 13 | // MARK - PROPERTIES 14 | var data : Countries 15 | 16 | // MARK - BODY 17 | var body : some View { 18 | HStack{ 19 | PieChart(pieChartData: PieChartData(data: [data.totalActive(), data.TotalDeaths, data.TotalRecovered],colors:[.coronayellow,.coronagrey,.coronagreen])) 20 | .padding(.all,25) 21 | Spacer() 22 | MediumWidgetBlock(data: data) 23 | } //: HSTACK 24 | } //: BODY 25 | } 26 | 27 | //END 28 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Describe the bug** 11 | A clear and concise description of what the bug is. 12 | 13 | **To Reproduce** 14 | Steps to reproduce the behavior: 15 | 1. Go to '...' 16 | 2. Click on '....' 17 | 3. Scroll down to '....' 18 | 4. See error 19 | 20 | **Expected behavior** 21 | A clear and concise description of what you expected to happen. 22 | 23 | **Screenshots** 24 | If applicable, add screenshots to help explain your problem. 25 | 26 | **Testing (please complete the following information):** 27 | - Device: [e.g. iPhone6] 28 | - iOS: [e.g. 14.0] 29 | - Xcode [e.g. 12.0] 30 | 31 | **Additional context** 32 | Add any other context about the problem here. 33 | -------------------------------------------------------------------------------- /Corona Widget/Widget/Extensions/Color.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Corona.swift 3 | // Corona Widget 4 | // 5 | // Created by Aaryan Kothari on 22/07/20. 6 | // 7 | 8 | import SwiftUI 9 | 10 | extension Color { 11 | static let coronapink = Color.init(#colorLiteral(red: 0.9921568627, green: 0.1882352941, blue: 0.4117647059, alpha: 1)) 12 | static let coronayellow = Color.init(#colorLiteral(red: 0.9960784314, green: 0.6705882353, blue: 0, alpha: 1)) 13 | static let coronagrey = Color.init(#colorLiteral(red: 0.2549019608, green: 0.2549019608, blue: 0.2549019608, alpha: 1)) 14 | static let coronagreen = Color.init( #colorLiteral(red: 0.08235294118, green: 0.7960784314, blue: 0.2666666667, alpha: 1)) 15 | static let coronalogo = Color.init( #colorLiteral(red: 0.9607843137, green: 0.537254902, blue: 0.5960784314, alpha: 1)) 16 | } 17 | -------------------------------------------------------------------------------- /Corona Widget/Widget/Model/CoronaType.swift: -------------------------------------------------------------------------------- 1 | // 2 | // CoronaType.swift 3 | // Corona Widget 4 | // 5 | // Created by Aaryan Kothari on 24/07/20. 6 | // 7 | 8 | import Foundation 9 | 10 | // MARK: Type of available data 11 | /// `Four cases:- ` 12 | /// TOTAL 13 | /// ACTIVE 14 | /// DEATHS 15 | /// RECOVERED 16 | 17 | enum coronaType : String { 18 | case total = "Total" 19 | case active = "Active" 20 | case deaths = "Deaths" 21 | case recovered = "Recovered" 22 | 23 | /// Name of icon in `Assets.xcassets` 24 | var image : String { 25 | switch self { 26 | case .total: 27 | return "virus" 28 | case .active: 29 | return "bolt" 30 | case .deaths: 31 | return "coffin" 32 | case .recovered: 33 | return "cross" 34 | } 35 | } 36 | } 37 | 38 | ///END 39 | -------------------------------------------------------------------------------- /Corona Widget/Widget/View/PieChart/PieChart.swift: -------------------------------------------------------------------------------- 1 | // 2 | // PieChart.swift 3 | // Corona Widget 4 | // 5 | // Created by Aaryan Kothari on 24/07/20. 6 | // 7 | 8 | import SwiftUI 9 | import Combine 10 | 11 | struct PieChart: View { 12 | var pieChartData: PieChartData 13 | 14 | var body: some View { 15 | GeometryReader { geometry in 16 | self.makePieChart(geometry, pieChartData: self.pieChartData.data) 17 | } 18 | } 19 | 20 | func makePieChart(_ geometry: GeometryProxy, pieChartData: [SlideData]) -> some View { 21 | return ZStack { 22 | ForEach(0.. 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleDisplayName 8 | Widget 9 | CFBundleExecutable 10 | $(EXECUTABLE_NAME) 11 | CFBundleIdentifier 12 | $(PRODUCT_BUNDLE_IDENTIFIER) 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | $(PRODUCT_NAME) 17 | CFBundlePackageType 18 | $(PRODUCT_BUNDLE_PACKAGE_TYPE) 19 | CFBundleShortVersionString 20 | 1.0 21 | CFBundleVersion 22 | 1 23 | NSExtension 24 | 25 | NSExtensionPointIdentifier 26 | com.apple.widgetkit-extension 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /Corona Widget/Widget/View/SmallWidgetBlock.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SmallWidgetBlock.swift 3 | // WidgetExtension 4 | // 5 | // Created by Aaryan Kothari on 24/09/20. 6 | // 7 | 8 | import SwiftUI 9 | 10 | struct smallWidgetBlock : View { 11 | // MARK - PROPERTIES 12 | var type : coronaType 13 | var count : Double 14 | var color : Color 15 | 16 | // MARK - BODY 17 | var body: some View { 18 | HStack { 19 | Image(type.image) 20 | .resizable(capInsets: EdgeInsets(), resizingMode: .stretch) 21 | .aspectRatio(contentMode: .fit) 22 | 23 | Text(type.rawValue) 24 | .minimumScaleFactor(0.5) 25 | .font(.system(size: 15)) 26 | .lineLimit(1) 27 | .layoutPriority(1) 28 | 29 | Text(count.cases) 30 | .bold() 31 | .minimumScaleFactor(0.5) 32 | .lineLimit(1) 33 | .layoutPriority(1) 34 | .foregroundColor(color) 35 | } //: HSTACK 36 | } //: BODY 37 | } 38 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 Aaryan Kothari 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Corona Widget/Widget/View/PieChart/SlideData.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SlideData.swift 3 | // Corona Widget 4 | // 5 | // Created by Aaryan Kothari on 24/07/20. 6 | // 7 | 8 | import Foundation 9 | import SwiftUI 10 | 11 | class SlideData: Identifiable, ObservableObject { 12 | let id: UUID = UUID() 13 | var data: DataItem! 14 | var startAngle: Angle! = .degrees(0) 15 | var endAngle: Angle! = .degrees(0) 16 | 17 | var annotation: String! = "" 18 | var annotationDeltaX: CGFloat! = 0.0 19 | var annotationDeltaY: CGFloat! = 0.0 20 | 21 | var deltaX: CGFloat! = 0.0 22 | var deltaY: CGFloat! = 0.0 23 | 24 | init() { } 25 | 26 | init(startAngle: Angle, endAngle: Angle) { 27 | self.data = DataItem(name: "", value: 0, color: .black) 28 | self.startAngle = startAngle 29 | self.endAngle = endAngle 30 | } 31 | } 32 | 33 | class DataItem { 34 | var name: String! = "" 35 | var value: Double = 0.0 36 | var color: Color! = .blue 37 | var highlighted: Bool = false 38 | 39 | init(name: String, value: Double, color: Color) { 40 | self.name = name 41 | self.value = value 42 | self.color = color 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /Corona Widget/Widget/View/MediumWidgetBlock.swift: -------------------------------------------------------------------------------- 1 | // 2 | // MediumWidgetBlock.swift 3 | // WidgetExtension 4 | // 5 | // Created by Aaryan Kothari on 24/09/20. 6 | // 7 | 8 | import SwiftUI 9 | 10 | struct MediumWidgetBlock: View { 11 | // MARK - PROPERTIES 12 | var data : Countries 13 | 14 | // MARK - BODY 15 | var body: some View { 16 | VStack(alignment:.leading){ 17 | HStack{ 18 | Text(data.emoji()) 19 | Text(data.Country) 20 | Spacer() 21 | } //: HSTACK 22 | .font(.system(size: 35)) 23 | .foregroundColor(.black) 24 | .padding(.top,20) 25 | VStack(alignment:.leading) { 26 | Text("Total: "+data.TotalConfirmed.cases) 27 | .foregroundColor(.coronapink) 28 | Text("Recovered: "+data.TotalRecovered.cases) 29 | .foregroundColor(.coronagreen) 30 | Text("Deaths: "+data.TotalDeaths.cases) 31 | .foregroundColor(.coronagrey) 32 | Text("Active: "+data.totalActive().cases) 33 | .foregroundColor(.coronayellow) 34 | } //: VSTACK 35 | } //: VSTACK 36 | .padding(.bottom, 15) 37 | } //: BODY 38 | } 39 | -------------------------------------------------------------------------------- /Corona Widget/Corona Widget/Model/CoronaClient.swift: -------------------------------------------------------------------------------- 1 | // 2 | // CoronaClient.swift 3 | // Corona Widget 4 | // 5 | // Created by Aaryan Kothari on 22/07/20. 6 | // 7 | 8 | import Foundation 9 | 10 | // MARK:- NETWORKING CLASS 11 | 12 | // Endoint to fetch stats on Cobid-19 13 | private let url = URL(string: "https://api.covid19api.com/summary") 14 | 15 | 16 | // JSON decoder used to comvert the fetched json into a struct 17 | private var decoder: JSONDecoder{ 18 | let decode = JSONDecoder() 19 | decode.keyDecodingStrategy = .convertFromSnakeCase 20 | return decode 21 | } 22 | 23 | class CoronaClient { 24 | // function to fetch covid-19 stats from `url` 25 | class func fetchSummary(onSuccess: @escaping (Corona) -> Void){ 26 | guard let url = url else { return } 27 | 28 | URLSession.shared.dataTask(with: url) { (data, response, error) in 29 | guard let data = data, error == nil else{ return } 30 | do{ 31 | let coronaData = try decoder.decode(Corona.self, from: data) 32 | DispatchQueue.main.async { 33 | onSuccess(coronaData) 34 | } 35 | }catch{ 36 | print(error.localizedDescription) 37 | } 38 | }.resume() 39 | } 40 | } 41 | 42 | 43 | -------------------------------------------------------------------------------- /Corona Widget/Widget/View/PieChart/PieChartSlide.swift: -------------------------------------------------------------------------------- 1 | // 2 | // PieChartSlide.swift 3 | // Corona Widget 4 | // 5 | // Created by Aaryan Kothari on 24/07/20. 6 | // 7 | 8 | import SwiftUI 9 | 10 | public struct PieChartSlide: View { 11 | var geometry: GeometryProxy 12 | var slideData: SlideData 13 | 14 | var path: Path { 15 | let chartSize = geometry.size.height 16 | let radius = chartSize / 2 17 | let centerX = radius 18 | let centerY = radius 19 | 20 | var path = Path() 21 | path.move(to: CGPoint(x: centerX, y: centerY)) 22 | path.addArc(center: CGPoint(x: centerX, y: centerY), 23 | radius: radius, 24 | startAngle: slideData.startAngle, 25 | endAngle: slideData.endAngle, 26 | clockwise: false) 27 | return path 28 | } 29 | 30 | public var body: some View { 31 | ZStack{ 32 | path.fill(slideData.data.color) 33 | .overlay(path.stroke(Color.white, lineWidth: 1)) 34 | } 35 | } 36 | } 37 | 38 | struct PieChartSlide_Previews: PreviewProvider { 39 | static var previews: some View { 40 | GeometryReader { geometry in 41 | PieChartSlide(geometry: geometry, slideData: SlideData(startAngle: .degrees(-70), endAngle: .degrees(30))) 42 | } 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /Corona Widget/Widget/Widget/SmallWidget.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SmallWidget.swift 3 | // Corona Widget 4 | // 5 | // Created by Aaryan Kothari on 24/07/20. 6 | // 7 | 8 | import SwiftUI 9 | 10 | //MARK: systemSmall Widget 11 | 12 | struct smallWidget : View { 13 | // MARK - PROPERTIES 14 | var data : Countries 15 | 16 | // MARK - BODY 17 | var body : some View { 18 | VStack{ 19 | HStack{ 20 | Spacer() 21 | Text(data.emoji()) 22 | Text(data.Country) 23 | Spacer() 24 | } //: HSTACK 25 | .font(.headline) 26 | .foregroundColor(.white) 27 | .padding(.top, 10) 28 | .padding(.all, 10) 29 | .background(Color.pink) 30 | 31 | VStack(alignment:.leading){ 32 | smallWidgetBlock(type: .total, count: data.TotalConfirmed, color: .coronapink) 33 | smallWidgetBlock(type: .recovered, count: data.TotalRecovered, color: .coronagreen) 34 | smallWidgetBlock(type: .deaths, count: data.TotalRecovered, color: .coronagrey) 35 | smallWidgetBlock(type: .active, count: data.totalActive(), color: .coronayellow) 36 | } //: VSTACK 37 | .padding(.bottom, 15) 38 | Spacer() 39 | } //: VSTACK 40 | } //: BODY 41 | } 42 | 43 | //END 44 | -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | ### Description 2 | Include a summary of the change and relevant motivation/context. List any dependencies that are required for this change. 3 | 4 | Fixes # [ISSUE] 5 | 6 | ### Type of Change: 7 | **Delete irrelevant options.** 8 | 9 | - Code 10 | - Quality Assurance 11 | - User Interface 12 | - Documentation 13 | 14 | **Code/Quality Assurance Only** 15 | - Bug fix (non-breaking change which fixes an issue) 16 | - This change requires a documentation update (software upgrade on readme file) 17 | - New feature (non-breaking change which adds functionality pre-approved by mentors) 18 | 19 | 20 | 21 | ### How Has This Been Tested? 22 | Describe the tests you ran to verify your changes. Provide instructions or GIFs so we can reproduce. List any relevant details for your test. 23 | 24 | 25 | ### Checklist: 26 | **Delete irrelevant options.** 27 | 28 | - [ ] My PR follows the style guidelines of this project 29 | - [ ] I have performed a self-review of my own code or materials 30 | - [ ] I have commented my code or provided relevant documentation, particularly in hard-to-understand areas 31 | - [ ] I have made corresponding changes to the documentation 32 | - [ ] Any dependent changes have been merged 33 | 34 | **Code/Quality Assurance Only** 35 | - [ ] My changes generate no new warnings 36 | - [ ] My PR currently breaks something (fix or feature that would cause existing functionality to not work as expected) 37 | -------------------------------------------------------------------------------- /Corona Widget/Corona Widget/Model/CoronaModel.swift: -------------------------------------------------------------------------------- 1 | 2 | //CoronaModel.swift 3 | //Corona Widget 4 | 5 | //Created by Aaryan Kothari on 22/07/20. 6 | 7 | 8 | import WidgetKit 9 | import SwiftUI 10 | import Intents 11 | 12 | 13 | struct Corona : Codable { 14 | let Global : Global 15 | let Countries : [Countries] 16 | } 17 | 18 | struct Global : Codable { 19 | let NewConfirmed : Double 20 | let TotalConfirmed : Double 21 | let NewDeaths : Double 22 | let TotalDeaths : Double 23 | let NewRecovered : Double 24 | let TotalRecovered : Double 25 | } 26 | 27 | struct Countries : Codable{ 28 | let Country : String 29 | let CountryCode : String 30 | let Slug : String 31 | let NewConfirmed : Double 32 | let TotalConfirmed : Double 33 | let NewDeaths : Double 34 | let TotalDeaths : Double 35 | let NewRecovered : Double 36 | let TotalRecovered : Double 37 | let Date : String 38 | 39 | func totalActive() -> Double { 40 | return TotalConfirmed - TotalDeaths - TotalRecovered 41 | } 42 | 43 | func emoji() -> String { 44 | return convertToEmoji(str: CountryCode) 45 | } 46 | } 47 | 48 | 49 | struct CoronaData : TimelineEntry { 50 | var date = Date() 51 | let Global : Global 52 | let Countries : [Countries] 53 | 54 | init(_ data : Corona){ 55 | self.Global = data.Global 56 | self.Countries = data.Countries 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /Corona Widget/Widget/Widget/LargeWidget.swift: -------------------------------------------------------------------------------- 1 | // 2 | // LargeWidget.swift 3 | // Corona Widget 4 | // 5 | // Created by Aaryan Kothari on 24/07/20. 6 | // 7 | 8 | import WidgetKit 9 | import SwiftUI 10 | import Intents 11 | 12 | //MARK: systemLarge Widget 13 | 14 | struct largeWidget : View { 15 | // MARK - PROPERTIES 16 | var data : CoronaData 17 | 18 | // MARK - BODY 19 | var body : some View { 20 | VStack{ 21 | HStack{ 22 | Image("global") 23 | .resizable(capInsets: EdgeInsets(), resizingMode: .stretch) 24 | .aspectRatio(contentMode: .fit) 25 | .padding(.all,20) 26 | } //: HSTACK 27 | LargeWidgetBlock(data: data) 28 | Spacer() 29 | VStack(alignment:.leading){ 30 | Text("TOP 10 MOST AFFECTED COUNTRIES :-") 31 | .font(.subheadline) 32 | .foregroundColor(.coronapink) 33 | HStack{ 34 | ForEach(topTen(), id:\.self) { emoji in 35 | Text(emoji) 36 | .background(LinearGradient(gradient: Gradient(colors: [.red,.orange,.yellow]), startPoint: .bottomLeading, endPoint: .topTrailing)) 37 | .cornerRadius(5) 38 | } //: FOREACH 39 | } //: HSTACK 40 | .padding(.bottom,30) 41 | } //: VSTACK 42 | } 43 | } 44 | 45 | /// function to find `Top 10` most affected countries 46 | func topTen()->[String]{ 47 | let sorted = data.Countries.sorted { $0.TotalConfirmed > $1.TotalConfirmed} 48 | let final = Array(sorted.prefix(10)).map { $0.CountryCode } 49 | let emojis = final.map { convertToEmoji(str: $0)} 50 | print(emojis) 51 | return emojis 52 | } 53 | } 54 | 55 | //END 56 | -------------------------------------------------------------------------------- /Corona Widget/Corona Widget/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | $(PRODUCT_BUNDLE_PACKAGE_TYPE) 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | 1 21 | INIntentsSupported 22 | 23 | ConfigurationIntent 24 | 25 | LSRequiresIPhoneOS 26 | 27 | NSUserActivityTypes 28 | 29 | ConfigurationIntent 30 | 31 | UIApplicationSceneManifest 32 | 33 | UIApplicationSupportsMultipleScenes 34 | 35 | 36 | UIApplicationSupportsIndirectInputEvents 37 | 38 | UILaunchScreen 39 | 40 | UIRequiredDeviceCapabilities 41 | 42 | armv7 43 | 44 | UISupportedInterfaceOrientations 45 | 46 | UIInterfaceOrientationPortrait 47 | UIInterfaceOrientationLandscapeLeft 48 | UIInterfaceOrientationLandscapeRight 49 | 50 | UISupportedInterfaceOrientations~ipad 51 | 52 | UIInterfaceOrientationPortrait 53 | UIInterfaceOrientationPortraitUpsideDown 54 | UIInterfaceOrientationLandscapeLeft 55 | UIInterfaceOrientationLandscapeRight 56 | 57 | 58 | 59 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

2 | 3 |

4 | 5 | #### A Covid-19 Tracking Widget for iOS 14 6 | 7 | 8 | # WidgetKit 9 | 10 | WidgetKit gives users ready access to content in apps by putting widgets on the iOS Home screen or macOS Notification Center. Widgets now come in multiple sizes, and users can visit the new widget gallery to search, preview sizes, and place them anywhere on the Home screen to access important details at a glance. 11 | [Know more here](https://developer.apple.com/widgets/) 12 | 13 | # Widgets 14 |

15 | 16 |

17 | 18 | Widgets can be made in three sizes, namely : small , medium and large. Users can use their preferred size of widget on their choice of location in the homescreen. 19 | 20 | # Preview 21 | 22 |

23 | 24 |

25 | The type of content that each widget shows varies based on users choice and widget size. 26 | 27 | # Installation 🛠 28 | - Clone / download this repository. 29 | - change the bundle identifier in project settings. 30 | - run the app. 31 | 32 | 33 | ## ⚠️ Xcode 12.0 or above is required to run this project. 34 | 35 | 36 | # How to Use? 37 | - Go to [CurrentCountry.swift](https://github.com/aaryankotharii/Corona-Widget/blob/master/Corona%20Widget/Widget/CurrentCountry.swift) 38 | 39 | ``` swift 40 | struct CurrentCountry { 41 | static let country : Country = .india 42 | } 43 | ``` 44 | 45 | - choose your choice of country from Country enumeraion. default is 🇮🇳 India 46 | - run the application 47 | 48 | # Includes : 49 | - SwiftUI 50 | - WidgetKit 51 | - Intents 52 | - Combine 53 | - Networking 54 | - Charts 55 | 56 | # Author 57 | * [Aaryan Kothari](https://github.com/aaryankotharii) 58 | 59 | # License 60 | 61 | Copyright 2020 [Aaryan Kothari.](https://github.com/aaryankotharii/Corona-Widget/blob/master/LICENSE) 62 | 63 | Licensed under MIT License: https://opensource.org/licenses/MIT 64 | 65 | -------------------------------------------------------------------------------- /Corona Widget/Widget/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "scale" : "2x", 6 | "size" : "20x20" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "scale" : "3x", 11 | "size" : "20x20" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "scale" : "2x", 16 | "size" : "29x29" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "scale" : "3x", 21 | "size" : "29x29" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "scale" : "2x", 26 | "size" : "40x40" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "scale" : "3x", 31 | "size" : "40x40" 32 | }, 33 | { 34 | "idiom" : "iphone", 35 | "scale" : "2x", 36 | "size" : "60x60" 37 | }, 38 | { 39 | "idiom" : "iphone", 40 | "scale" : "3x", 41 | "size" : "60x60" 42 | }, 43 | { 44 | "idiom" : "ipad", 45 | "scale" : "1x", 46 | "size" : "20x20" 47 | }, 48 | { 49 | "idiom" : "ipad", 50 | "scale" : "2x", 51 | "size" : "20x20" 52 | }, 53 | { 54 | "idiom" : "ipad", 55 | "scale" : "1x", 56 | "size" : "29x29" 57 | }, 58 | { 59 | "idiom" : "ipad", 60 | "scale" : "2x", 61 | "size" : "29x29" 62 | }, 63 | { 64 | "idiom" : "ipad", 65 | "scale" : "1x", 66 | "size" : "40x40" 67 | }, 68 | { 69 | "idiom" : "ipad", 70 | "scale" : "2x", 71 | "size" : "40x40" 72 | }, 73 | { 74 | "idiom" : "ipad", 75 | "scale" : "1x", 76 | "size" : "76x76" 77 | }, 78 | { 79 | "idiom" : "ipad", 80 | "scale" : "2x", 81 | "size" : "76x76" 82 | }, 83 | { 84 | "idiom" : "ipad", 85 | "scale" : "2x", 86 | "size" : "83.5x83.5" 87 | }, 88 | { 89 | "idiom" : "ios-marketing", 90 | "scale" : "1x", 91 | "size" : "1024x1024" 92 | } 93 | ], 94 | "info" : { 95 | "author" : "xcode", 96 | "version" : 1 97 | } 98 | } 99 | -------------------------------------------------------------------------------- /Corona Widget/Corona Widget/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "scale" : "2x", 6 | "size" : "20x20" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "scale" : "3x", 11 | "size" : "20x20" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "scale" : "2x", 16 | "size" : "29x29" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "scale" : "3x", 21 | "size" : "29x29" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "scale" : "2x", 26 | "size" : "40x40" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "scale" : "3x", 31 | "size" : "40x40" 32 | }, 33 | { 34 | "idiom" : "iphone", 35 | "scale" : "2x", 36 | "size" : "60x60" 37 | }, 38 | { 39 | "idiom" : "iphone", 40 | "scale" : "3x", 41 | "size" : "60x60" 42 | }, 43 | { 44 | "idiom" : "ipad", 45 | "scale" : "1x", 46 | "size" : "20x20" 47 | }, 48 | { 49 | "idiom" : "ipad", 50 | "scale" : "2x", 51 | "size" : "20x20" 52 | }, 53 | { 54 | "idiom" : "ipad", 55 | "scale" : "1x", 56 | "size" : "29x29" 57 | }, 58 | { 59 | "idiom" : "ipad", 60 | "scale" : "2x", 61 | "size" : "29x29" 62 | }, 63 | { 64 | "idiom" : "ipad", 65 | "scale" : "1x", 66 | "size" : "40x40" 67 | }, 68 | { 69 | "idiom" : "ipad", 70 | "scale" : "2x", 71 | "size" : "40x40" 72 | }, 73 | { 74 | "idiom" : "ipad", 75 | "scale" : "1x", 76 | "size" : "76x76" 77 | }, 78 | { 79 | "idiom" : "ipad", 80 | "scale" : "2x", 81 | "size" : "76x76" 82 | }, 83 | { 84 | "idiom" : "ipad", 85 | "scale" : "2x", 86 | "size" : "83.5x83.5" 87 | }, 88 | { 89 | "idiom" : "ios-marketing", 90 | "scale" : "1x", 91 | "size" : "1024x1024" 92 | } 93 | ], 94 | "info" : { 95 | "author" : "xcode", 96 | "version" : 1 97 | } 98 | } 99 | -------------------------------------------------------------------------------- /Corona Widget/Widget/View/LargeWidgetBlock.swift: -------------------------------------------------------------------------------- 1 | // 2 | // LargeWidgetBlock.swift 3 | // WidgetExtension 4 | // 5 | // Created by Aaryan Kothari on 24/09/20. 6 | // 7 | 8 | import SwiftUI 9 | 10 | struct LargeWidgetBlock: View { 11 | // MARK - PROPERTIES 12 | var data : CoronaData 13 | 14 | // MARK - BODY 15 | var body: some View { 16 | VStack(alignment: .leading, spacing: 5){ 17 | VStack(alignment:.leading){ 18 | countStack(total: data.Global.TotalConfirmed,color: .coronapink, name: "confirmed") 19 | Spacer() 20 | countStack(total: data.Global.TotalRecovered, color: .coronagreen, name: "recovered") 21 | Spacer() 22 | countStack(total: data.Global.TotalDeaths,color: .coronagrey, name: "deaths") 23 | Spacer() 24 | countStack(total: totalActive(),color: .coronayellow, name: "active") 25 | } //: VSTACK 26 | VStack(alignment:.leading, spacing: 3){ 27 | countStack(total: data.Global.NewConfirmed,color: .coronapink, name: "confirmed",isActive: true,type: .total) 28 | countStack(total: data.Global.NewRecovered, color: .coronagreen, name: "recovered",isActive: true,type: .recovered) 29 | countStack(total: data.Global.NewDeaths,color: .coronagrey, name: "deaths",isActive: true,type: .deaths) 30 | } //: VSTACK 31 | } //: VSTACK 32 | } 33 | 34 | /// function to calculate `Global total active` cases 35 | func totalActive()-> Double{ 36 | return data.Global.TotalConfirmed - data.Global.TotalDeaths - data.Global.TotalRecovered 37 | } 38 | } 39 | 40 | struct countStack : View { 41 | // MARK - PROPERTIES 42 | let total : Double 43 | let color : Color 44 | let name : String 45 | var isActive = false 46 | var type : coronaType = .total 47 | 48 | // MARK - BODY 49 | var body: some View { 50 | HStack{ 51 | Group{ 52 | if isActive{ 53 | Image(type.image) 54 | .resizable(capInsets: EdgeInsets(), resizingMode: .stretch) 55 | .aspectRatio(contentMode: .fit) 56 | } //: IF 57 | } //: GROUP 58 | Text((isActive ? "New " : "Total ") + "\(name) : \(total.withCommas())").bold() 59 | } //: HSTACK 60 | } //: BODY 61 | } 62 | -------------------------------------------------------------------------------- /Corona Widget/Corona Widget/View/ContentView.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ContentView.swift 3 | // Corona Widget 4 | // 5 | // Created by Aaryan Kothari on 21/07/20. 6 | // 7 | 8 | import SwiftUI 9 | 10 | // MARK:- THIS IS THE IOS APP FOR WHICH THE WIDGET HAS BEEN MADE. THE CONTENTS OF THIS APP DO NOT AFFECT THE WIDGET. 11 | 12 | struct ContentView: View { 13 | // MARK - PROPERTIES 14 | @ObservedObject var corona = SessionStore() 15 | 16 | // MARK - BODY 17 | var body: some View { 18 | VStack{ 19 | Spacer() 20 | Text("Hey There! 👋") 21 | .font(.system(size: 50, weight: .regular, design: .rounded)) 22 | Spacer() 23 | VStack{ 24 | Text("Total global cases:") 25 | .font(.system(size: 20)) 26 | Text("\(Int(corona.current?.Global.TotalConfirmed ?? 0))") 27 | .font(.system(size: 50)) 28 | .padding() 29 | } //: VSTACK 30 | Spacer() 31 | buttonBar() 32 | } //: VSTACK 33 | .frame(maxWidth: .infinity, maxHeight: .infinity) 34 | .edgesIgnoringSafeArea(.all) 35 | .background(LinearGradient(gradient: Gradient(colors: [.white, Color(#colorLiteral(red: 0.631372549, green: 0.6, blue: 1, alpha: 1))]), startPoint: .top, endPoint: .bottom)) 36 | .onAppear(perform: fetch) 37 | .edgesIgnoringSafeArea(.all) 38 | } //: BODY 39 | 40 | /// FETCH CORONA DATA 41 | func fetch(){ 42 | corona.fetch{ data in } 43 | } 44 | } 45 | 46 | // MARK - BOTTOM BAR WITH SOCIALS 47 | struct buttonBar : View{ 48 | var body : some View { 49 | HStack(spacing:30){ 50 | Link(destination: URL(string: "https://github.com/aaryankotharii")!) { 51 | Image("github") 52 | .resizable() 53 | .renderingMode(.original) 54 | .scaledToFit() 55 | .font(.largeTitle) 56 | } //: LINK 57 | Link(destination: URL(string: "https://www.linkedin.com/in/aaryankotharii")!) { 58 | Image("LinkedIn") 59 | .resizable() 60 | .renderingMode(.original) 61 | .scaledToFit() 62 | .font(.largeTitle) 63 | } //: LINK 64 | Link(destination: URL(string: "https://www.apple.com")!) { 65 | Image("mail") 66 | .resizable() 67 | .renderingMode(.original) 68 | .scaledToFit() 69 | .font(.largeTitle) 70 | } //: LINK 71 | } //: HSTACK 72 | .frame(height: 70, alignment: .center) 73 | .padding(.bottom, 40) 74 | } //: BODY 75 | } 76 | 77 | struct ContentView_Previews: PreviewProvider { 78 | static var previews: some View { 79 | ContentView() 80 | } 81 | } 82 | -------------------------------------------------------------------------------- /Corona Widget/Widget/View/PieChart/PieChartData.swift: -------------------------------------------------------------------------------- 1 | // 2 | // PieChartData.swift 3 | // Corona Widget 4 | // 5 | // Created by Aaryan Kothari on 24/07/20. 6 | // 7 | 8 | import Foundation 9 | import SwiftUI 10 | 11 | class PieChartData: ObservableObject { 12 | @Published private(set) var data: [SlideData] = [] 13 | 14 | init(data: [Double],colors : [Color]) { 15 | var currentAngle: Double = -90 16 | var slides: [SlideData] = [] 17 | let total = data.reduce(0.0, +) 18 | 19 | for index in 0..) -> ()) { 22 | CurrentCountry.county = configuration.country 23 | var entries: [CoronaData] = [] /// List of entries 24 | 25 | /// Widget will refresh every `10 hours` 26 | let refresh = Calendar.current.date(byAdding: .hour, value: 10, to: Date()) ?? Date() 27 | 28 | /// fetching and updating data 29 | coronaStore.fetch{ corona in 30 | entries.append(CoronaData(corona)) 31 | let timeline = Timeline(entries: entries, policy: .after(refresh)) 32 | completion(timeline) 33 | } 34 | } 35 | 36 | 37 | func getSnapshot(for configuration: Intent, in context: Context, completion: @escaping (CoronaData) -> Void) { 38 | coronaStore.fetch{ corona in 39 | completion(CoronaData(corona)) 40 | } 41 | } 42 | 43 | /// `Placeholder`Widget before the data loads from getTimeline 44 | func placeholder(in context: Context) -> CoronaData { 45 | return CoronaData(Corona(Global: Global(NewConfirmed: 0, TotalConfirmed: 0, NewDeaths: 0, TotalDeaths: 0, NewRecovered: 0, TotalRecovered: 0), Countries: [Countries(Country: "India", CountryCode: "IN", Slug: "IN", NewConfirmed: 0, TotalConfirmed: 0, NewDeaths: 0, TotalDeaths: 0, NewRecovered: 0, TotalRecovered: 0, Date: "DATE")])) 46 | } 47 | 48 | } 49 | 50 | // WIDGET with 3 cases 51 | /// small 52 | /// medium 53 | /// large 54 | struct WidgetView : View{ 55 | var data : DataProvider.Entry 56 | @Environment(\.widgetFamily) private var family 57 | var body : some View { 58 | Group { 59 | switch family { 60 | case .systemSmall: 61 | smallWidget(data: Country) 62 | case .systemMedium: 63 | mediumWidget(data: Country) 64 | case .systemLarge: 65 | largeWidget(data: data) 66 | @unknown default: 67 | smallWidget(data: Country) 68 | } 69 | } 70 | } 71 | 72 | /// get country details of selected country 73 | var Country : Countries{ 74 | let country = CurrentCountry.county.initials 75 | let countries = data.Countries 76 | let mycountry = countries.filter { $0.CountryCode == country} 77 | return mycountry.first! 78 | } 79 | } 80 | 81 | 82 | // MARK: - ACTAUL WIDGET 83 | @main /// swiftui 2.0 stuff 84 | struct Config : Widget { 85 | var body: some WidgetConfiguration { 86 | IntentConfiguration(kind: "Widget", intent: ConfigurationIntent.self, provider: DataProvider()) { data in 87 | WidgetView(data: data) 88 | } 89 | .supportedFamilies([.systemSmall,.systemMedium,.systemLarge]) 90 | .description(Text("Current Time widget")) 91 | } 92 | } 93 | -------------------------------------------------------------------------------- /Corona Widget/Corona Widget/Utils/Countries.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Countries.swift 3 | // Corona Widget 4 | // 5 | // Created by Aaryan Kothari on 24/07/20. 6 | // 7 | 8 | import Foundation 9 | 10 | // COUNTRIES 11 | /// list of countries whose widget you want! 12 | /// you can choose your country in `CurrentCountry.swift` 13 | extension Country { 14 | var initials: String { 15 | switch self { 16 | case .unknown: return "US" 17 | case .germany: return "DE" 18 | case .unitedKingdom: return "GB" 19 | case .unitedStates: return "US" 20 | case .afghanistan: return "AF" 21 | case .albania: return "AL" 22 | case .algeria: return "DZ" 23 | case .americanSamoa: return "AS" 24 | case .andorra: return "AD" 25 | case .angola: return "AO" 26 | case .anguilla: return "AI" 27 | case .antarctica: return "AQ" 28 | case .antiguaAndBarbuda: return "AG" 29 | case .argentina: return "AR" 30 | case .armenia: return "AM" 31 | case .aruba: return "AW" 32 | case .australia: return "AU" 33 | case .austria: return "AT" 34 | case .azerbaijan: return "AZ" 35 | case .bahamas: return "BS" 36 | case .bahrain: return "BH" 37 | case .bangladesh: return "BD" 38 | case .barbados: return "BB" 39 | case .belarus: return "BY" 40 | case .belgium: return "BE" 41 | case .belize: return "BZ" 42 | case .benin: return "BJ" 43 | case .bermuda: return "BM" 44 | case .bhutan: return "BT" 45 | case .bolivia: return "BO" 46 | case .bosniaAndHerzegovina: return "BA" 47 | case .botswana: return "BW" 48 | case .bouvetIsland: return "BV" 49 | case .brazil: return "BR" 50 | case .britishIndianOceanTerritory: return "IO" 51 | case .bruneiDarussalam: return "BN" 52 | case .bulgaria: return "BG" 53 | case .burkinaFaso: return "BF" 54 | case .burundi: return "BI" 55 | case .cambodia: return "KH" 56 | case .cameroon: return "CM" 57 | case .canada: return "CA" 58 | case .capeVerde: return "CV" 59 | case .caymanIslands: return "KY" 60 | case .centralAfricanRepublic: return "CF" 61 | case .chad: return "TD" 62 | case .chile: return "CL" 63 | case .china: return "CN" 64 | case .christmasIsland: return "CX" 65 | case .cocosKeelingIslands: return "CC" 66 | case .colombia: return "CO" 67 | case .comoros: return "KM" 68 | case .congo: return "CG" 69 | case .democraticRepublicOfTheCongo: return "CD" 70 | case .cookIslands: return "CK" 71 | case .costaRica: return "CR" 72 | case .coteDivoire: return "CI" 73 | case .croatia: return "HR" 74 | case .cuba: return "CU" 75 | case .cyprus: return "CY" 76 | case .czechRepublic: return "CZ" 77 | case .denmark: return "DK" 78 | case .djibouti: return "DJ" 79 | case .dominica: return "DM" 80 | case .dominicanRepublic: return "DO" 81 | case .ecuador: return "EC" 82 | case .egypt: return "EG" 83 | case .elSalvador: return "SV" 84 | case .equatorialGuinea: return "GQ" 85 | case .eritrea: return "ER" 86 | case .estonia: return "EE" 87 | case .ethiopia: return "ET" 88 | case .falklandIslandsMalvinas: return "FK" 89 | case .faroeIslands: return "FO" 90 | case .fiji: return "FJ" 91 | case .finland: return "FI" 92 | case .france: return "FR" 93 | case .frenchGuiana: return "GF" 94 | case .frenchPolynesia: return "PF" 95 | case .frenchSouthernTerritories: return "TF" 96 | case .gabon: return "GA" 97 | case .gambia: return "GM" 98 | case .georgia: return "GE" 99 | case .ghana: return "GH" 100 | case .gibraltar: return "GI" 101 | case .greece: return "GR" 102 | case .greenland: return "GL" 103 | case .grenada: return "GD" 104 | case .guadeloupe: return "GP" 105 | case .guam: return "GU" 106 | case .guatemala: return "GT" 107 | case .guernsey: return "GG" 108 | case .guinea: return "GN" 109 | case .guineabissau: return "GW" 110 | case .guyana: return "GY" 111 | case .haiti: return "HT" 112 | case .heardIslandAndMcdonaldIslands: return "HM" 113 | case .holySeeVaticanCityState: return "VA" 114 | case .honduras: return "HN" 115 | case .hongKong: return "HK" 116 | case .hungary: return "HU" 117 | case .iceland: return "IS" 118 | case .india: return "IN" 119 | case .indonesia: return "ID" 120 | case .iran: return "IR" 121 | case .iraq: return "IQ" 122 | case .ireland: return "IE" 123 | case .isleOfMan: return "IM" 124 | case .israel: return "IL" 125 | case .italy: return "IT" 126 | case .jamaica: return "JM" 127 | case .japan: return "JP" 128 | case .jersey: return "JE" 129 | case .jordan: return "JO" 130 | case .kazakhstan: return "KZ" 131 | case .kenya: return "KE" 132 | case .kiribati: return "KI" 133 | case .northKorea: return "KP" 134 | case .southKorea: return "KR" 135 | case .kuwait: return "KW" 136 | case .kyrgyzstan: return "KG" 137 | case .laoPeoplesDemocraticRepublic: return "LA" 138 | case .latvia: return "LV" 139 | case .lebanon: return "LB" 140 | case .lesotho: return "LS" 141 | case .liberia: return "LR" 142 | case .libyanArabJamahiriya: return "LY" 143 | case .liechtenstein: return "LI" 144 | case .lithuania: return "LT" 145 | case .luxembourg: return "LU" 146 | case .macao: return "MO" 147 | case .macedonia: return "MK" 148 | case .madagascar: return "MG" 149 | case .malawi: return "MW" 150 | case .malaysia: return "MY" 151 | case .maldives: return "MV" 152 | case .mali: return "ML" 153 | case .malta: return "MT" 154 | case .marshallIslands: return "MH" 155 | case .martinique: return "MQ" 156 | case .mauritania: return "MR" 157 | case .mauritius: return "MU" 158 | case .mayotte: return "YT" 159 | case .mexico: return "MX" 160 | case .micronesia: return "FM" 161 | case .moldova: return "MD" 162 | case .monaco: return "MC" 163 | case .mongolia: return "MN" 164 | case .montenegro: return "ME" 165 | case .montserrat: return "MS" 166 | case .morocco: return "MA" 167 | case .mozambique: return "MZ" 168 | case .myanmar: return "MM" 169 | case .namibia: return "NA" 170 | case .nauru: return "NR" 171 | case .nepal: return "NP" 172 | case .netherlands: return "NL" 173 | case .netherlandsAntilles: return "AN" 174 | case .newCaledonia: return "NC" 175 | case .newZealand: return "NZ" 176 | case .nicaragua: return "NI" 177 | case .niger: return "NE" 178 | case .nigeria: return "NG" 179 | case .niue: return "NU" 180 | case .norfolkIsland: return "NF" 181 | case .northernMarianaIslands: return "MP" 182 | case .norway: return "NO" 183 | case .oman: return "OM" 184 | case .pakistan: return "PK" 185 | case .palau: return "PW" 186 | case .palestinianTerritory: return "NULL" 187 | case .panama: return "PA" 188 | case .papuaNewGuinea: return "PG" 189 | case .paraguay: return "PY" 190 | case .peru: return "PE" 191 | case .philippines: return "PH" 192 | case .pitcairn: return "PN" 193 | case .poland: return "PL" 194 | case .portugal: return "PT" 195 | case .puertoRico: return "PR" 196 | case .qatar: return "QA" 197 | case .reunion: return "RE" 198 | case .romania: return "RO" 199 | case .russianFederation: return "RU" 200 | case .rwanda: return "RW" 201 | case .saintHelena: return "SH" 202 | case .saintKittsAndNevis: return "KN" 203 | case .saintLucia: return "LC" 204 | case .saintPierreAndMiquelon: return "PM" 205 | case .saintVincentAndTheGrenadines: return "VC" 206 | case .samoa: return "WS" 207 | case .sanMarino: return "SM" 208 | case .saoTomeAndPrincipe: return "ST" 209 | case .saudiArabia: return "SA" 210 | case .senegal: return "SN" 211 | case .serbia: return "RS" 212 | case .seychelles: return "SC" 213 | case .sierraLeone: return "SL" 214 | case .singapore: return "SG" 215 | case .slovakia: return "SK" 216 | case .slovenia: return "SI" 217 | case .solomonIslands: return "SB" 218 | case .somalia: return "SO" 219 | case .southAfrica: return "ZA" 220 | case .southGeorgiaAndTheSouthSandwichIslands: return "GS" 221 | case .spain: return "ES" 222 | case .sriLanka: return "LK" 223 | case .sudan: return "SD" 224 | case .suriname: return "SR" 225 | case .svalbardAndJanMayen: return "SJ" 226 | case .swaziland: return "SZ" 227 | case .sweden: return "SE" 228 | case .switzerland: return "CH" 229 | case .syrianArabRepublic: return "SY" 230 | case .taiwan: return "TW" 231 | case .tajikistan: return "TJ" 232 | case .tanzania: return "TZ" 233 | case .thailand: return "TH" 234 | case .timorleste: return "TL" 235 | case .togo: return "TG" 236 | case .tokelau: return "TK" 237 | case .tonga: return "TO" 238 | case .trinidadAndTobago: return "TT" 239 | case .tunisia: return "TN" 240 | case .turkey: return "TR" 241 | case .turkmenistan: return "TM" 242 | case .turksAndCaicosIslands: return "TC" 243 | case .tuvalu: return "TV" 244 | case .uganda: return "UG" 245 | case .ukraine: return "UA" 246 | case .unitedArabEmirates: return "AE" 247 | case .unitedStatesMinorOutlyingIslands: return "UM" 248 | case .uruguay: return "UY" 249 | case .uzbekistan: return "UZ" 250 | case .vanuatu: return "VU" 251 | case .venezuela: return "VE" 252 | case .vietNam: return "VN" 253 | case .virginIslandsUK: return "VG" 254 | case .virginIslandsUS: return "VI" 255 | case .wallisAndFutuna: return "WF" 256 | case .westernSahara: return "EH" 257 | case .yemen: return "YE" 258 | case .zambia: return "ZM" 259 | case .zimbabwe: return "ZW" 260 | } 261 | } 262 | } 263 | -------------------------------------------------------------------------------- /Corona Widget/Corona Widget.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 50; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 5B0F50C124C76B7900F273CD /* Corona_WidgetApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B0F50C024C76B7900F273CD /* Corona_WidgetApp.swift */; }; 11 | 5B0F50C324C76B7900F273CD /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B0F50C224C76B7900F273CD /* ContentView.swift */; }; 12 | 5B0F50C524C76B7E00F273CD /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 5B0F50C424C76B7E00F273CD /* Assets.xcassets */; }; 13 | 5B0F50C824C76B7E00F273CD /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 5B0F50C724C76B7E00F273CD /* Preview Assets.xcassets */; }; 14 | 5B0F50D624C76BD400F273CD /* WidgetKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5B0F50D524C76BD400F273CD /* WidgetKit.framework */; }; 15 | 5B0F50D824C76BD400F273CD /* SwiftUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5B0F50D724C76BD400F273CD /* SwiftUI.framework */; }; 16 | 5B0F50DB24C76BD400F273CD /* Widget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B0F50DA24C76BD400F273CD /* Widget.swift */; }; 17 | 5B0F50DE24C76BD600F273CD /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 5B0F50DD24C76BD600F273CD /* Assets.xcassets */; }; 18 | 5B0F50E024C76BD600F273CD /* Widget.intentdefinition in Sources */ = {isa = PBXBuildFile; fileRef = 5B0F50DC24C76BD400F273CD /* Widget.intentdefinition */; }; 19 | 5B0F50E124C76BD600F273CD /* Widget.intentdefinition in Sources */ = {isa = PBXBuildFile; fileRef = 5B0F50DC24C76BD400F273CD /* Widget.intentdefinition */; }; 20 | 5B0F50E424C76BD600F273CD /* WidgetExtension.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = 5B0F50D324C76BD400F273CD /* WidgetExtension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; 21 | 5B478347251CE3C500A753EB /* SmallWidgetBlock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B478346251CE3C500A753EB /* SmallWidgetBlock.swift */; }; 22 | 5B478349251CE50C00A753EB /* MediumWidgetBlock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B478348251CE50C00A753EB /* MediumWidgetBlock.swift */; }; 23 | 5B47834A251CE58300A753EB /* MediumWidgetBlock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B478348251CE50C00A753EB /* MediumWidgetBlock.swift */; }; 24 | 5B47834B251CE58E00A753EB /* SmallWidgetBlock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B478346251CE3C500A753EB /* SmallWidgetBlock.swift */; }; 25 | 5B47834D251CE64E00A753EB /* LargeWidgetBlock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B47834C251CE64E00A753EB /* LargeWidgetBlock.swift */; }; 26 | 5B47834E251CE6E100A753EB /* LargeWidgetBlock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B47834C251CE64E00A753EB /* LargeWidgetBlock.swift */; }; 27 | 5BB601E724CA9B6600607A17 /* PieChartSlide.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BB601E624CA9B6600607A17 /* PieChartSlide.swift */; }; 28 | 5BB601E824CA9B6D00607A17 /* PieChartSlide.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BB601E624CA9B6600607A17 /* PieChartSlide.swift */; }; 29 | 5BB601EB24CA9B9500607A17 /* SlideData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BB601EA24CA9B9500607A17 /* SlideData.swift */; }; 30 | 5BB601EC24CA9B9D00607A17 /* SlideData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BB601EA24CA9B9500607A17 /* SlideData.swift */; }; 31 | 5BB601EE24CA9C4C00607A17 /* PieChart.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BB601ED24CA9C4C00607A17 /* PieChart.swift */; }; 32 | 5BB601EF24CA9C4C00607A17 /* PieChart.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BB601ED24CA9C4C00607A17 /* PieChart.swift */; }; 33 | 5BB601F124CA9C6D00607A17 /* PieChartData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BB601F024CA9C6D00607A17 /* PieChartData.swift */; }; 34 | 5BB601F224CA9C6D00607A17 /* PieChartData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BB601F024CA9C6D00607A17 /* PieChartData.swift */; }; 35 | 5BBD8BE724C7718500DD1C08 /* Color.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BBD8BE624C7718500DD1C08 /* Color.swift */; }; 36 | 5BBD8BE824C7775600DD1C08 /* Color.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BBD8BE624C7718500DD1C08 /* Color.swift */; }; 37 | 5BBD8BEC24C7ED4D00DD1C08 /* CoronaClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BBD8BEB24C7ED4D00DD1C08 /* CoronaClient.swift */; }; 38 | 5BBD8BEE24C7EE8B00DD1C08 /* CoronaModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BBD8BED24C7EE8B00DD1C08 /* CoronaModel.swift */; }; 39 | 5BBD8BEF24C7EE8C00DD1C08 /* CoronaModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BBD8BED24C7EE8B00DD1C08 /* CoronaModel.swift */; }; 40 | 5BBD8BF024C7F12800DD1C08 /* CoronaClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BBD8BEB24C7ED4D00DD1C08 /* CoronaClient.swift */; }; 41 | 5BBD8BF224C7F13500DD1C08 /* SessionStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BBD8BF124C7F13500DD1C08 /* SessionStore.swift */; }; 42 | 5BBD8BF324C7F13500DD1C08 /* SessionStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BBD8BF124C7F13500DD1C08 /* SessionStore.swift */; }; 43 | 5BBD8BF524C82E9400DD1C08 /* Cases.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BBD8BF424C82E9400DD1C08 /* Cases.swift */; }; 44 | 5BBD8BF624C82E9400DD1C08 /* Cases.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BBD8BF424C82E9400DD1C08 /* Cases.swift */; }; 45 | 5BCD7BE424CAC0190035E50B /* CountryData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BCD7BE324CAC0190035E50B /* CountryData.swift */; }; 46 | 5BCD7BE524CAC0190035E50B /* CountryData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BCD7BE324CAC0190035E50B /* CountryData.swift */; }; 47 | 5BCD7BE724CAC1C30035E50B /* SmallWidget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BCD7BE624CAC1C30035E50B /* SmallWidget.swift */; }; 48 | 5BCD7BE824CAC1C30035E50B /* SmallWidget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BCD7BE624CAC1C30035E50B /* SmallWidget.swift */; }; 49 | 5BCD7BEA24CAC2960035E50B /* MediumWidget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BCD7BE924CAC2960035E50B /* MediumWidget.swift */; }; 50 | 5BCD7BEB24CAC2960035E50B /* MediumWidget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BCD7BE924CAC2960035E50B /* MediumWidget.swift */; }; 51 | 5BCD7BED24CAC6960035E50B /* LargeWidget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BCD7BEC24CAC6960035E50B /* LargeWidget.swift */; }; 52 | 5BCD7BEE24CAC6960035E50B /* LargeWidget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BCD7BEC24CAC6960035E50B /* LargeWidget.swift */; }; 53 | 5BF143C324CAAA6A00BF5729 /* Countries.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BF143C224CAAA6A00BF5729 /* Countries.swift */; }; 54 | 5BF143C424CAAA6A00BF5729 /* Countries.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BF143C224CAAA6A00BF5729 /* Countries.swift */; }; 55 | 5BF143C624CAAB8700BF5729 /* CurrentCountry.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BF143C524CAAB8700BF5729 /* CurrentCountry.swift */; }; 56 | 5BF143C724CAAB8700BF5729 /* CurrentCountry.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BF143C524CAAB8700BF5729 /* CurrentCountry.swift */; }; 57 | 5BF143C924CAAE8200BF5729 /* emojiConverter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BF143C824CAAE8200BF5729 /* emojiConverter.swift */; }; 58 | 5BF143CA24CAAE8200BF5729 /* emojiConverter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BF143C824CAAE8200BF5729 /* emojiConverter.swift */; }; 59 | 5BF143CF24CAB18300BF5729 /* CoronaType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BF143CE24CAB18300BF5729 /* CoronaType.swift */; }; 60 | 5BF143D024CAB18300BF5729 /* CoronaType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BF143CE24CAB18300BF5729 /* CoronaType.swift */; }; 61 | 85B1D3222526644800EE645D /* Number.swift in Sources */ = {isa = PBXBuildFile; fileRef = 85B1D3212526644800EE645D /* Number.swift */; }; 62 | 85B1D3232526644800EE645D /* Number.swift in Sources */ = {isa = PBXBuildFile; fileRef = 85B1D3212526644800EE645D /* Number.swift */; }; 63 | /* End PBXBuildFile section */ 64 | 65 | /* Begin PBXContainerItemProxy section */ 66 | 5B0F50E224C76BD600F273CD /* PBXContainerItemProxy */ = { 67 | isa = PBXContainerItemProxy; 68 | containerPortal = 5B0F50B524C76B7900F273CD /* Project object */; 69 | proxyType = 1; 70 | remoteGlobalIDString = 5B0F50D224C76BD400F273CD; 71 | remoteInfo = WidgetExtension; 72 | }; 73 | /* End PBXContainerItemProxy section */ 74 | 75 | /* Begin PBXCopyFilesBuildPhase section */ 76 | 5B0F50E824C76BD600F273CD /* Embed App Extensions */ = { 77 | isa = PBXCopyFilesBuildPhase; 78 | buildActionMask = 2147483647; 79 | dstPath = ""; 80 | dstSubfolderSpec = 13; 81 | files = ( 82 | 5B0F50E424C76BD600F273CD /* WidgetExtension.appex in Embed App Extensions */, 83 | ); 84 | name = "Embed App Extensions"; 85 | runOnlyForDeploymentPostprocessing = 0; 86 | }; 87 | /* End PBXCopyFilesBuildPhase section */ 88 | 89 | /* Begin PBXFileReference section */ 90 | 5B0F50BD24C76B7900F273CD /* Corona Widget.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Corona Widget.app"; sourceTree = BUILT_PRODUCTS_DIR; }; 91 | 5B0F50C024C76B7900F273CD /* Corona_WidgetApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Corona_WidgetApp.swift; sourceTree = ""; }; 92 | 5B0F50C224C76B7900F273CD /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = ""; }; 93 | 5B0F50C424C76B7E00F273CD /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 94 | 5B0F50C724C76B7E00F273CD /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = ""; }; 95 | 5B0F50C924C76B7E00F273CD /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 96 | 5B0F50D324C76BD400F273CD /* WidgetExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = WidgetExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; }; 97 | 5B0F50D524C76BD400F273CD /* WidgetKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WidgetKit.framework; path = System/Library/Frameworks/WidgetKit.framework; sourceTree = SDKROOT; }; 98 | 5B0F50D724C76BD400F273CD /* SwiftUI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SwiftUI.framework; path = System/Library/Frameworks/SwiftUI.framework; sourceTree = SDKROOT; }; 99 | 5B0F50DA24C76BD400F273CD /* Widget.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Widget.swift; sourceTree = ""; }; 100 | 5B0F50DC24C76BD400F273CD /* Widget.intentdefinition */ = {isa = PBXFileReference; lastKnownFileType = file.intentdefinition; path = Widget.intentdefinition; sourceTree = ""; }; 101 | 5B0F50DD24C76BD600F273CD /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 102 | 5B0F50DF24C76BD600F273CD /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 103 | 5B478346251CE3C500A753EB /* SmallWidgetBlock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SmallWidgetBlock.swift; sourceTree = ""; }; 104 | 5B478348251CE50C00A753EB /* MediumWidgetBlock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MediumWidgetBlock.swift; sourceTree = ""; }; 105 | 5B47834C251CE64E00A753EB /* LargeWidgetBlock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LargeWidgetBlock.swift; sourceTree = ""; }; 106 | 5BB601E624CA9B6600607A17 /* PieChartSlide.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PieChartSlide.swift; sourceTree = ""; }; 107 | 5BB601EA24CA9B9500607A17 /* SlideData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SlideData.swift; sourceTree = ""; }; 108 | 5BB601ED24CA9C4C00607A17 /* PieChart.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PieChart.swift; sourceTree = ""; }; 109 | 5BB601F024CA9C6D00607A17 /* PieChartData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PieChartData.swift; sourceTree = ""; }; 110 | 5BBD8BE624C7718500DD1C08 /* Color.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Color.swift; sourceTree = ""; }; 111 | 5BBD8BEB24C7ED4D00DD1C08 /* CoronaClient.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CoronaClient.swift; sourceTree = ""; }; 112 | 5BBD8BED24C7EE8B00DD1C08 /* CoronaModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CoronaModel.swift; sourceTree = ""; }; 113 | 5BBD8BF124C7F13500DD1C08 /* SessionStore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SessionStore.swift; sourceTree = ""; }; 114 | 5BBD8BF424C82E9400DD1C08 /* Cases.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Cases.swift; sourceTree = ""; }; 115 | 5BCD7BE324CAC0190035E50B /* CountryData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CountryData.swift; sourceTree = ""; }; 116 | 5BCD7BE624CAC1C30035E50B /* SmallWidget.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SmallWidget.swift; sourceTree = ""; }; 117 | 5BCD7BE924CAC2960035E50B /* MediumWidget.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MediumWidget.swift; sourceTree = ""; }; 118 | 5BCD7BEC24CAC6960035E50B /* LargeWidget.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LargeWidget.swift; sourceTree = ""; }; 119 | 5BF143C224CAAA6A00BF5729 /* Countries.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Countries.swift; sourceTree = ""; }; 120 | 5BF143C524CAAB8700BF5729 /* CurrentCountry.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CurrentCountry.swift; sourceTree = ""; }; 121 | 5BF143C824CAAE8200BF5729 /* emojiConverter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = emojiConverter.swift; sourceTree = ""; }; 122 | 5BF143CE24CAB18300BF5729 /* CoronaType.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CoronaType.swift; sourceTree = ""; }; 123 | 85B1D3212526644800EE645D /* Number.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Number.swift; sourceTree = ""; }; 124 | /* End PBXFileReference section */ 125 | 126 | /* Begin PBXFrameworksBuildPhase section */ 127 | 5B0F50BA24C76B7900F273CD /* Frameworks */ = { 128 | isa = PBXFrameworksBuildPhase; 129 | buildActionMask = 2147483647; 130 | files = ( 131 | ); 132 | runOnlyForDeploymentPostprocessing = 0; 133 | }; 134 | 5B0F50D024C76BD400F273CD /* Frameworks */ = { 135 | isa = PBXFrameworksBuildPhase; 136 | buildActionMask = 2147483647; 137 | files = ( 138 | 5B0F50D824C76BD400F273CD /* SwiftUI.framework in Frameworks */, 139 | 5B0F50D624C76BD400F273CD /* WidgetKit.framework in Frameworks */, 140 | ); 141 | runOnlyForDeploymentPostprocessing = 0; 142 | }; 143 | /* End PBXFrameworksBuildPhase section */ 144 | 145 | /* Begin PBXGroup section */ 146 | 5B0F50B424C76B7900F273CD = { 147 | isa = PBXGroup; 148 | children = ( 149 | 5B0F50BF24C76B7900F273CD /* Corona Widget */, 150 | 5B0F50D924C76BD400F273CD /* Widget */, 151 | 5B0F50D424C76BD400F273CD /* Frameworks */, 152 | 5B0F50BE24C76B7900F273CD /* Products */, 153 | ); 154 | sourceTree = ""; 155 | }; 156 | 5B0F50BE24C76B7900F273CD /* Products */ = { 157 | isa = PBXGroup; 158 | children = ( 159 | 5B0F50BD24C76B7900F273CD /* Corona Widget.app */, 160 | 5B0F50D324C76BD400F273CD /* WidgetExtension.appex */, 161 | ); 162 | name = Products; 163 | sourceTree = ""; 164 | }; 165 | 5B0F50BF24C76B7900F273CD /* Corona Widget */ = { 166 | isa = PBXGroup; 167 | children = ( 168 | 5BC6B2B624CB67770073A3FE /* Utils */, 169 | 5BC6B2B524CB67710073A3FE /* View */, 170 | 5BC6B2B424CB67650073A3FE /* Model */, 171 | 5B0F50C424C76B7E00F273CD /* Assets.xcassets */, 172 | 5B0F50C924C76B7E00F273CD /* Info.plist */, 173 | 5B0F50C624C76B7E00F273CD /* Preview Content */, 174 | ); 175 | path = "Corona Widget"; 176 | sourceTree = ""; 177 | }; 178 | 5B0F50C624C76B7E00F273CD /* Preview Content */ = { 179 | isa = PBXGroup; 180 | children = ( 181 | 5B0F50C724C76B7E00F273CD /* Preview Assets.xcassets */, 182 | ); 183 | path = "Preview Content"; 184 | sourceTree = ""; 185 | }; 186 | 5B0F50D424C76BD400F273CD /* Frameworks */ = { 187 | isa = PBXGroup; 188 | children = ( 189 | 5B0F50D524C76BD400F273CD /* WidgetKit.framework */, 190 | 5B0F50D724C76BD400F273CD /* SwiftUI.framework */, 191 | ); 192 | name = Frameworks; 193 | sourceTree = ""; 194 | }; 195 | 5B0F50D924C76BD400F273CD /* Widget */ = { 196 | isa = PBXGroup; 197 | children = ( 198 | 5BCD7BF424CAC9C60035E50B /* Widget */, 199 | 5BCD7BF324CAC9BD0035E50B /* View */, 200 | 5BB601E924CA9B8B00607A17 /* Model */, 201 | 5B0F50EB24C770B000F273CD /* Extensions */, 202 | 5B0F50DC24C76BD400F273CD /* Widget.intentdefinition */, 203 | 5B0F50DD24C76BD600F273CD /* Assets.xcassets */, 204 | 5B0F50DF24C76BD600F273CD /* Info.plist */, 205 | 5BF143C524CAAB8700BF5729 /* CurrentCountry.swift */, 206 | ); 207 | path = Widget; 208 | sourceTree = ""; 209 | }; 210 | 5B0F50EB24C770B000F273CD /* Extensions */ = { 211 | isa = PBXGroup; 212 | children = ( 213 | 5BBD8BE624C7718500DD1C08 /* Color.swift */, 214 | 5BBD8BF424C82E9400DD1C08 /* Cases.swift */, 215 | 85B1D3212526644800EE645D /* Number.swift */, 216 | ); 217 | path = Extensions; 218 | sourceTree = ""; 219 | }; 220 | 5BB601E924CA9B8B00607A17 /* Model */ = { 221 | isa = PBXGroup; 222 | children = ( 223 | 5BF143CE24CAB18300BF5729 /* CoronaType.swift */, 224 | 5BCD7BE324CAC0190035E50B /* CountryData.swift */, 225 | ); 226 | path = Model; 227 | sourceTree = ""; 228 | }; 229 | 5BB601F324CA9E9600607A17 /* PieChart */ = { 230 | isa = PBXGroup; 231 | children = ( 232 | 5BB601EA24CA9B9500607A17 /* SlideData.swift */, 233 | 5BB601E624CA9B6600607A17 /* PieChartSlide.swift */, 234 | 5BB601ED24CA9C4C00607A17 /* PieChart.swift */, 235 | 5BB601F024CA9C6D00607A17 /* PieChartData.swift */, 236 | ); 237 | path = PieChart; 238 | sourceTree = ""; 239 | }; 240 | 5BC6B2B424CB67650073A3FE /* Model */ = { 241 | isa = PBXGroup; 242 | children = ( 243 | 5BBD8BEB24C7ED4D00DD1C08 /* CoronaClient.swift */, 244 | 5BBD8BED24C7EE8B00DD1C08 /* CoronaModel.swift */, 245 | 5BBD8BF124C7F13500DD1C08 /* SessionStore.swift */, 246 | ); 247 | path = Model; 248 | sourceTree = ""; 249 | }; 250 | 5BC6B2B524CB67710073A3FE /* View */ = { 251 | isa = PBXGroup; 252 | children = ( 253 | 5B0F50C024C76B7900F273CD /* Corona_WidgetApp.swift */, 254 | 5B0F50C224C76B7900F273CD /* ContentView.swift */, 255 | ); 256 | path = View; 257 | sourceTree = ""; 258 | }; 259 | 5BC6B2B624CB67770073A3FE /* Utils */ = { 260 | isa = PBXGroup; 261 | children = ( 262 | 5BF143C224CAAA6A00BF5729 /* Countries.swift */, 263 | 5BF143C824CAAE8200BF5729 /* emojiConverter.swift */, 264 | ); 265 | path = Utils; 266 | sourceTree = ""; 267 | }; 268 | 5BCD7BF324CAC9BD0035E50B /* View */ = { 269 | isa = PBXGroup; 270 | children = ( 271 | 5BB601F324CA9E9600607A17 /* PieChart */, 272 | 5B478346251CE3C500A753EB /* SmallWidgetBlock.swift */, 273 | 5B478348251CE50C00A753EB /* MediumWidgetBlock.swift */, 274 | 5B47834C251CE64E00A753EB /* LargeWidgetBlock.swift */, 275 | ); 276 | path = View; 277 | sourceTree = ""; 278 | }; 279 | 5BCD7BF424CAC9C60035E50B /* Widget */ = { 280 | isa = PBXGroup; 281 | children = ( 282 | 5B0F50DA24C76BD400F273CD /* Widget.swift */, 283 | 5BCD7BE624CAC1C30035E50B /* SmallWidget.swift */, 284 | 5BCD7BE924CAC2960035E50B /* MediumWidget.swift */, 285 | 5BCD7BEC24CAC6960035E50B /* LargeWidget.swift */, 286 | ); 287 | path = Widget; 288 | sourceTree = ""; 289 | }; 290 | /* End PBXGroup section */ 291 | 292 | /* Begin PBXNativeTarget section */ 293 | 5B0F50BC24C76B7900F273CD /* Corona Widget */ = { 294 | isa = PBXNativeTarget; 295 | buildConfigurationList = 5B0F50CC24C76B7E00F273CD /* Build configuration list for PBXNativeTarget "Corona Widget" */; 296 | buildPhases = ( 297 | 5B0F50B924C76B7900F273CD /* Sources */, 298 | 5B0F50BA24C76B7900F273CD /* Frameworks */, 299 | 5B0F50BB24C76B7900F273CD /* Resources */, 300 | 5B0F50E824C76BD600F273CD /* Embed App Extensions */, 301 | ); 302 | buildRules = ( 303 | ); 304 | dependencies = ( 305 | 5B0F50E324C76BD600F273CD /* PBXTargetDependency */, 306 | ); 307 | name = "Corona Widget"; 308 | productName = "Corona Widget"; 309 | productReference = 5B0F50BD24C76B7900F273CD /* Corona Widget.app */; 310 | productType = "com.apple.product-type.application"; 311 | }; 312 | 5B0F50D224C76BD400F273CD /* WidgetExtension */ = { 313 | isa = PBXNativeTarget; 314 | buildConfigurationList = 5B0F50E524C76BD600F273CD /* Build configuration list for PBXNativeTarget "WidgetExtension" */; 315 | buildPhases = ( 316 | 5B0F50CF24C76BD400F273CD /* Sources */, 317 | 5B0F50D024C76BD400F273CD /* Frameworks */, 318 | 5B0F50D124C76BD400F273CD /* Resources */, 319 | ); 320 | buildRules = ( 321 | ); 322 | dependencies = ( 323 | ); 324 | name = WidgetExtension; 325 | productName = WidgetExtension; 326 | productReference = 5B0F50D324C76BD400F273CD /* WidgetExtension.appex */; 327 | productType = "com.apple.product-type.app-extension"; 328 | }; 329 | /* End PBXNativeTarget section */ 330 | 331 | /* Begin PBXProject section */ 332 | 5B0F50B524C76B7900F273CD /* Project object */ = { 333 | isa = PBXProject; 334 | attributes = { 335 | LastSwiftUpdateCheck = 1200; 336 | LastUpgradeCheck = 1200; 337 | TargetAttributes = { 338 | 5B0F50BC24C76B7900F273CD = { 339 | CreatedOnToolsVersion = 12.0; 340 | }; 341 | 5B0F50D224C76BD400F273CD = { 342 | CreatedOnToolsVersion = 12.0; 343 | }; 344 | }; 345 | }; 346 | buildConfigurationList = 5B0F50B824C76B7900F273CD /* Build configuration list for PBXProject "Corona Widget" */; 347 | compatibilityVersion = "Xcode 9.3"; 348 | developmentRegion = en; 349 | hasScannedForEncodings = 0; 350 | knownRegions = ( 351 | en, 352 | Base, 353 | ); 354 | mainGroup = 5B0F50B424C76B7900F273CD; 355 | productRefGroup = 5B0F50BE24C76B7900F273CD /* Products */; 356 | projectDirPath = ""; 357 | projectRoot = ""; 358 | targets = ( 359 | 5B0F50BC24C76B7900F273CD /* Corona Widget */, 360 | 5B0F50D224C76BD400F273CD /* WidgetExtension */, 361 | ); 362 | }; 363 | /* End PBXProject section */ 364 | 365 | /* Begin PBXResourcesBuildPhase section */ 366 | 5B0F50BB24C76B7900F273CD /* Resources */ = { 367 | isa = PBXResourcesBuildPhase; 368 | buildActionMask = 2147483647; 369 | files = ( 370 | 5B0F50C824C76B7E00F273CD /* Preview Assets.xcassets in Resources */, 371 | 5B0F50C524C76B7E00F273CD /* Assets.xcassets in Resources */, 372 | ); 373 | runOnlyForDeploymentPostprocessing = 0; 374 | }; 375 | 5B0F50D124C76BD400F273CD /* Resources */ = { 376 | isa = PBXResourcesBuildPhase; 377 | buildActionMask = 2147483647; 378 | files = ( 379 | 5B0F50DE24C76BD600F273CD /* Assets.xcassets in Resources */, 380 | ); 381 | runOnlyForDeploymentPostprocessing = 0; 382 | }; 383 | /* End PBXResourcesBuildPhase section */ 384 | 385 | /* Begin PBXSourcesBuildPhase section */ 386 | 5B0F50B924C76B7900F273CD /* Sources */ = { 387 | isa = PBXSourcesBuildPhase; 388 | buildActionMask = 2147483647; 389 | files = ( 390 | 5BF143C924CAAE8200BF5729 /* emojiConverter.swift in Sources */, 391 | 5B47834A251CE58300A753EB /* MediumWidgetBlock.swift in Sources */, 392 | 5BB601EE24CA9C4C00607A17 /* PieChart.swift in Sources */, 393 | 5BB601F124CA9C6D00607A17 /* PieChartData.swift in Sources */, 394 | 5B0F50C324C76B7900F273CD /* ContentView.swift in Sources */, 395 | 5BBD8BF224C7F13500DD1C08 /* SessionStore.swift in Sources */, 396 | 5BBD8BEE24C7EE8B00DD1C08 /* CoronaModel.swift in Sources */, 397 | 5BF143C624CAAB8700BF5729 /* CurrentCountry.swift in Sources */, 398 | 85B1D3222526644800EE645D /* Number.swift in Sources */, 399 | 5BBD8BE724C7718500DD1C08 /* Color.swift in Sources */, 400 | 5B0F50C124C76B7900F273CD /* Corona_WidgetApp.swift in Sources */, 401 | 5B47834E251CE6E100A753EB /* LargeWidgetBlock.swift in Sources */, 402 | 5BBD8BF524C82E9400DD1C08 /* Cases.swift in Sources */, 403 | 5B47834B251CE58E00A753EB /* SmallWidgetBlock.swift in Sources */, 404 | 5BB601E724CA9B6600607A17 /* PieChartSlide.swift in Sources */, 405 | 5BCD7BE724CAC1C30035E50B /* SmallWidget.swift in Sources */, 406 | 5BB601EB24CA9B9500607A17 /* SlideData.swift in Sources */, 407 | 5BCD7BE424CAC0190035E50B /* CountryData.swift in Sources */, 408 | 5BBD8BEC24C7ED4D00DD1C08 /* CoronaClient.swift in Sources */, 409 | 5BCD7BED24CAC6960035E50B /* LargeWidget.swift in Sources */, 410 | 5BF143C324CAAA6A00BF5729 /* Countries.swift in Sources */, 411 | 5B0F50E124C76BD600F273CD /* Widget.intentdefinition in Sources */, 412 | 5BCD7BEA24CAC2960035E50B /* MediumWidget.swift in Sources */, 413 | 5BF143CF24CAB18300BF5729 /* CoronaType.swift in Sources */, 414 | ); 415 | runOnlyForDeploymentPostprocessing = 0; 416 | }; 417 | 5B0F50CF24C76BD400F273CD /* Sources */ = { 418 | isa = PBXSourcesBuildPhase; 419 | buildActionMask = 2147483647; 420 | files = ( 421 | 5B0F50E024C76BD600F273CD /* Widget.intentdefinition in Sources */, 422 | 85B1D3232526644800EE645D /* Number.swift in Sources */, 423 | 5B478349251CE50C00A753EB /* MediumWidgetBlock.swift in Sources */, 424 | 5B478347251CE3C500A753EB /* SmallWidgetBlock.swift in Sources */, 425 | 5BB601E824CA9B6D00607A17 /* PieChartSlide.swift in Sources */, 426 | 5BBD8BE824C7775600DD1C08 /* Color.swift in Sources */, 427 | 5BBD8BF324C7F13500DD1C08 /* SessionStore.swift in Sources */, 428 | 5B0F50DB24C76BD400F273CD /* Widget.swift in Sources */, 429 | 5BCD7BE524CAC0190035E50B /* CountryData.swift in Sources */, 430 | 5BCD7BEE24CAC6960035E50B /* LargeWidget.swift in Sources */, 431 | 5BF143C724CAAB8700BF5729 /* CurrentCountry.swift in Sources */, 432 | 5BB601EC24CA9B9D00607A17 /* SlideData.swift in Sources */, 433 | 5BCD7BE824CAC1C30035E50B /* SmallWidget.swift in Sources */, 434 | 5BB601F224CA9C6D00607A17 /* PieChartData.swift in Sources */, 435 | 5BBD8BF624C82E9400DD1C08 /* Cases.swift in Sources */, 436 | 5B47834D251CE64E00A753EB /* LargeWidgetBlock.swift in Sources */, 437 | 5BF143CA24CAAE8200BF5729 /* emojiConverter.swift in Sources */, 438 | 5BCD7BEB24CAC2960035E50B /* MediumWidget.swift in Sources */, 439 | 5BF143D024CAB18300BF5729 /* CoronaType.swift in Sources */, 440 | 5BBD8BF024C7F12800DD1C08 /* CoronaClient.swift in Sources */, 441 | 5BBD8BEF24C7EE8C00DD1C08 /* CoronaModel.swift in Sources */, 442 | 5BF143C424CAAA6A00BF5729 /* Countries.swift in Sources */, 443 | 5BB601EF24CA9C4C00607A17 /* PieChart.swift in Sources */, 444 | ); 445 | runOnlyForDeploymentPostprocessing = 0; 446 | }; 447 | /* End PBXSourcesBuildPhase section */ 448 | 449 | /* Begin PBXTargetDependency section */ 450 | 5B0F50E324C76BD600F273CD /* PBXTargetDependency */ = { 451 | isa = PBXTargetDependency; 452 | target = 5B0F50D224C76BD400F273CD /* WidgetExtension */; 453 | targetProxy = 5B0F50E224C76BD600F273CD /* PBXContainerItemProxy */; 454 | }; 455 | /* End PBXTargetDependency section */ 456 | 457 | /* Begin XCBuildConfiguration section */ 458 | 5B0F50CA24C76B7E00F273CD /* Debug */ = { 459 | isa = XCBuildConfiguration; 460 | buildSettings = { 461 | ALWAYS_SEARCH_USER_PATHS = NO; 462 | CLANG_ANALYZER_NONNULL = YES; 463 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; 464 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; 465 | CLANG_CXX_LIBRARY = "libc++"; 466 | CLANG_ENABLE_MODULES = YES; 467 | CLANG_ENABLE_OBJC_ARC = YES; 468 | CLANG_ENABLE_OBJC_WEAK = YES; 469 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 470 | CLANG_WARN_BOOL_CONVERSION = YES; 471 | CLANG_WARN_COMMA = YES; 472 | CLANG_WARN_CONSTANT_CONVERSION = YES; 473 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; 474 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 475 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES; 476 | CLANG_WARN_EMPTY_BODY = YES; 477 | CLANG_WARN_ENUM_CONVERSION = YES; 478 | CLANG_WARN_INFINITE_RECURSION = YES; 479 | CLANG_WARN_INT_CONVERSION = YES; 480 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 481 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; 482 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 483 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 484 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; 485 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 486 | CLANG_WARN_STRICT_PROTOTYPES = YES; 487 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 488 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; 489 | CLANG_WARN_UNREACHABLE_CODE = YES; 490 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 491 | COPY_PHASE_STRIP = NO; 492 | DEBUG_INFORMATION_FORMAT = dwarf; 493 | ENABLE_STRICT_OBJC_MSGSEND = YES; 494 | ENABLE_TESTABILITY = YES; 495 | GCC_C_LANGUAGE_STANDARD = gnu11; 496 | GCC_DYNAMIC_NO_PIC = NO; 497 | GCC_NO_COMMON_BLOCKS = YES; 498 | GCC_OPTIMIZATION_LEVEL = 0; 499 | GCC_PREPROCESSOR_DEFINITIONS = ( 500 | "DEBUG=1", 501 | "$(inherited)", 502 | ); 503 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 504 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 505 | GCC_WARN_UNDECLARED_SELECTOR = YES; 506 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 507 | GCC_WARN_UNUSED_FUNCTION = YES; 508 | GCC_WARN_UNUSED_VARIABLE = YES; 509 | IPHONEOS_DEPLOYMENT_TARGET = 14.0; 510 | MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; 511 | MTL_FAST_MATH = YES; 512 | ONLY_ACTIVE_ARCH = YES; 513 | SDKROOT = iphoneos; 514 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; 515 | SWIFT_OPTIMIZATION_LEVEL = "-Onone"; 516 | }; 517 | name = Debug; 518 | }; 519 | 5B0F50CB24C76B7E00F273CD /* Release */ = { 520 | isa = XCBuildConfiguration; 521 | buildSettings = { 522 | ALWAYS_SEARCH_USER_PATHS = NO; 523 | CLANG_ANALYZER_NONNULL = YES; 524 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; 525 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; 526 | CLANG_CXX_LIBRARY = "libc++"; 527 | CLANG_ENABLE_MODULES = YES; 528 | CLANG_ENABLE_OBJC_ARC = YES; 529 | CLANG_ENABLE_OBJC_WEAK = YES; 530 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 531 | CLANG_WARN_BOOL_CONVERSION = YES; 532 | CLANG_WARN_COMMA = YES; 533 | CLANG_WARN_CONSTANT_CONVERSION = YES; 534 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; 535 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 536 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES; 537 | CLANG_WARN_EMPTY_BODY = YES; 538 | CLANG_WARN_ENUM_CONVERSION = YES; 539 | CLANG_WARN_INFINITE_RECURSION = YES; 540 | CLANG_WARN_INT_CONVERSION = YES; 541 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 542 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; 543 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 544 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 545 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; 546 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 547 | CLANG_WARN_STRICT_PROTOTYPES = YES; 548 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 549 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; 550 | CLANG_WARN_UNREACHABLE_CODE = YES; 551 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 552 | COPY_PHASE_STRIP = NO; 553 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 554 | ENABLE_NS_ASSERTIONS = NO; 555 | ENABLE_STRICT_OBJC_MSGSEND = YES; 556 | GCC_C_LANGUAGE_STANDARD = gnu11; 557 | GCC_NO_COMMON_BLOCKS = YES; 558 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 559 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 560 | GCC_WARN_UNDECLARED_SELECTOR = YES; 561 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 562 | GCC_WARN_UNUSED_FUNCTION = YES; 563 | GCC_WARN_UNUSED_VARIABLE = YES; 564 | IPHONEOS_DEPLOYMENT_TARGET = 14.0; 565 | MTL_ENABLE_DEBUG_INFO = NO; 566 | MTL_FAST_MATH = YES; 567 | SDKROOT = iphoneos; 568 | SWIFT_COMPILATION_MODE = wholemodule; 569 | SWIFT_OPTIMIZATION_LEVEL = "-O"; 570 | VALIDATE_PRODUCT = YES; 571 | }; 572 | name = Release; 573 | }; 574 | 5B0F50CD24C76B7E00F273CD /* Debug */ = { 575 | isa = XCBuildConfiguration; 576 | buildSettings = { 577 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; 578 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 579 | ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; 580 | CODE_SIGN_STYLE = Automatic; 581 | DEVELOPMENT_ASSET_PATHS = "\"Corona Widget/Preview Content\""; 582 | DEVELOPMENT_TEAM = F8CHS6PHQS; 583 | ENABLE_PREVIEWS = YES; 584 | INFOPLIST_FILE = "Corona Widget/Info.plist"; 585 | IPHONEOS_DEPLOYMENT_TARGET = 14.0; 586 | LD_RUNPATH_SEARCH_PATHS = ( 587 | "$(inherited)", 588 | "@executable_path/Frameworks", 589 | ); 590 | PRODUCT_BUNDLE_IDENTIFIER = "ak.Corona-Widget"; 591 | PRODUCT_NAME = "$(TARGET_NAME)"; 592 | SWIFT_VERSION = 5.0; 593 | TARGETED_DEVICE_FAMILY = "1,2"; 594 | }; 595 | name = Debug; 596 | }; 597 | 5B0F50CE24C76B7E00F273CD /* Release */ = { 598 | isa = XCBuildConfiguration; 599 | buildSettings = { 600 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; 601 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 602 | ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; 603 | CODE_SIGN_STYLE = Automatic; 604 | DEVELOPMENT_ASSET_PATHS = "\"Corona Widget/Preview Content\""; 605 | DEVELOPMENT_TEAM = F8CHS6PHQS; 606 | ENABLE_PREVIEWS = YES; 607 | INFOPLIST_FILE = "Corona Widget/Info.plist"; 608 | IPHONEOS_DEPLOYMENT_TARGET = 14.0; 609 | LD_RUNPATH_SEARCH_PATHS = ( 610 | "$(inherited)", 611 | "@executable_path/Frameworks", 612 | ); 613 | PRODUCT_BUNDLE_IDENTIFIER = "ak.Corona-Widget"; 614 | PRODUCT_NAME = "$(TARGET_NAME)"; 615 | SWIFT_VERSION = 5.0; 616 | TARGETED_DEVICE_FAMILY = "1,2"; 617 | }; 618 | name = Release; 619 | }; 620 | 5B0F50E624C76BD600F273CD /* Debug */ = { 621 | isa = XCBuildConfiguration; 622 | buildSettings = { 623 | ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; 624 | ASSETCATALOG_COMPILER_WIDGET_BACKGROUND_COLOR_NAME = WidgetBackground; 625 | CODE_SIGN_STYLE = Automatic; 626 | DEVELOPMENT_TEAM = F8CHS6PHQS; 627 | INFOPLIST_FILE = Widget/Info.plist; 628 | LD_RUNPATH_SEARCH_PATHS = ( 629 | "$(inherited)", 630 | "@executable_path/Frameworks", 631 | "@executable_path/../../Frameworks", 632 | ); 633 | PRODUCT_BUNDLE_IDENTIFIER = "ak.Corona-Widget.Widget"; 634 | PRODUCT_NAME = "$(TARGET_NAME)"; 635 | SKIP_INSTALL = YES; 636 | SWIFT_VERSION = 5.0; 637 | TARGETED_DEVICE_FAMILY = "1,2"; 638 | }; 639 | name = Debug; 640 | }; 641 | 5B0F50E724C76BD600F273CD /* Release */ = { 642 | isa = XCBuildConfiguration; 643 | buildSettings = { 644 | ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; 645 | ASSETCATALOG_COMPILER_WIDGET_BACKGROUND_COLOR_NAME = WidgetBackground; 646 | CODE_SIGN_STYLE = Automatic; 647 | DEVELOPMENT_TEAM = F8CHS6PHQS; 648 | INFOPLIST_FILE = Widget/Info.plist; 649 | LD_RUNPATH_SEARCH_PATHS = ( 650 | "$(inherited)", 651 | "@executable_path/Frameworks", 652 | "@executable_path/../../Frameworks", 653 | ); 654 | PRODUCT_BUNDLE_IDENTIFIER = "ak.Corona-Widget.Widget"; 655 | PRODUCT_NAME = "$(TARGET_NAME)"; 656 | SKIP_INSTALL = YES; 657 | SWIFT_VERSION = 5.0; 658 | TARGETED_DEVICE_FAMILY = "1,2"; 659 | }; 660 | name = Release; 661 | }; 662 | /* End XCBuildConfiguration section */ 663 | 664 | /* Begin XCConfigurationList section */ 665 | 5B0F50B824C76B7900F273CD /* Build configuration list for PBXProject "Corona Widget" */ = { 666 | isa = XCConfigurationList; 667 | buildConfigurations = ( 668 | 5B0F50CA24C76B7E00F273CD /* Debug */, 669 | 5B0F50CB24C76B7E00F273CD /* Release */, 670 | ); 671 | defaultConfigurationIsVisible = 0; 672 | defaultConfigurationName = Release; 673 | }; 674 | 5B0F50CC24C76B7E00F273CD /* Build configuration list for PBXNativeTarget "Corona Widget" */ = { 675 | isa = XCConfigurationList; 676 | buildConfigurations = ( 677 | 5B0F50CD24C76B7E00F273CD /* Debug */, 678 | 5B0F50CE24C76B7E00F273CD /* Release */, 679 | ); 680 | defaultConfigurationIsVisible = 0; 681 | defaultConfigurationName = Release; 682 | }; 683 | 5B0F50E524C76BD600F273CD /* Build configuration list for PBXNativeTarget "WidgetExtension" */ = { 684 | isa = XCConfigurationList; 685 | buildConfigurations = ( 686 | 5B0F50E624C76BD600F273CD /* Debug */, 687 | 5B0F50E724C76BD600F273CD /* Release */, 688 | ); 689 | defaultConfigurationIsVisible = 0; 690 | defaultConfigurationName = Release; 691 | }; 692 | /* End XCConfigurationList section */ 693 | }; 694 | rootObject = 5B0F50B524C76B7900F273CD /* Project object */; 695 | } 696 | -------------------------------------------------------------------------------- /Corona Widget/Widget/Widget.intentdefinition: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | INEnums 6 | 7 | 8 | INEnumDisplayName 9 | Country 10 | INEnumDisplayNameID 11 | 4WN8qy 12 | INEnumGeneratesHeader 13 | 14 | INEnumName 15 | Country 16 | INEnumType 17 | Regular 18 | INEnumValues 19 | 20 | 21 | INEnumValueDisplayName 22 | unknown 23 | INEnumValueDisplayNameID 24 | YZoJiY 25 | INEnumValueName 26 | unknown 27 | 28 | 29 | INEnumValueDisplayName 30 | Germany 31 | INEnumValueDisplayNameID 32 | 9sANua 33 | INEnumValueIndex 34 | 1 35 | INEnumValueName 36 | germany 37 | 38 | 39 | INEnumValueDisplayName 40 | United Kingdom 41 | INEnumValueDisplayNameID 42 | SjIgsm 43 | INEnumValueIndex 44 | 2 45 | INEnumValueName 46 | unitedKingdom 47 | 48 | 49 | INEnumValueDisplayName 50 | United States 51 | INEnumValueDisplayNameID 52 | kiqAUn 53 | INEnumValueIndex 54 | 3 55 | INEnumValueName 56 | unitedStates 57 | 58 | 59 | INEnumValueDisplayName 60 | Afghanistan 61 | INEnumValueDisplayNameID 62 | 3XSA6M 63 | INEnumValueIndex 64 | 4 65 | INEnumValueName 66 | afghanistan 67 | 68 | 69 | INEnumValueDisplayName 70 | Albania 71 | INEnumValueDisplayNameID 72 | 7nqlbe 73 | INEnumValueIndex 74 | 5 75 | INEnumValueName 76 | albania 77 | 78 | 79 | INEnumValueDisplayName 80 | Algeria 81 | INEnumValueDisplayNameID 82 | q6KTc6 83 | INEnumValueIndex 84 | 6 85 | INEnumValueName 86 | algeria 87 | 88 | 89 | INEnumValueDisplayName 90 | American Samoa 91 | INEnumValueDisplayNameID 92 | 8DtWul 93 | INEnumValueIndex 94 | 7 95 | INEnumValueName 96 | americanSamoa 97 | 98 | 99 | INEnumValueDisplayName 100 | Andorra 101 | INEnumValueDisplayNameID 102 | uaI4Ke 103 | INEnumValueIndex 104 | 8 105 | INEnumValueName 106 | andorra 107 | 108 | 109 | INEnumValueDisplayName 110 | Angola 111 | INEnumValueDisplayNameID 112 | rT2EUF 113 | INEnumValueIndex 114 | 9 115 | INEnumValueName 116 | angola 117 | 118 | 119 | INEnumValueDisplayName 120 | Anguilla 121 | INEnumValueDisplayNameID 122 | v3z2tv 123 | INEnumValueIndex 124 | 10 125 | INEnumValueName 126 | anguilla 127 | 128 | 129 | INEnumValueDisplayName 130 | Antarctica 131 | INEnumValueDisplayNameID 132 | iygkjm 133 | INEnumValueIndex 134 | 11 135 | INEnumValueName 136 | antarctica 137 | 138 | 139 | INEnumValueDisplayName 140 | Antigua And Barbuda 141 | INEnumValueDisplayNameID 142 | IwLFfJ 143 | INEnumValueIndex 144 | 12 145 | INEnumValueName 146 | antiguaAndBarbuda 147 | 148 | 149 | INEnumValueDisplayName 150 | Argentina 151 | INEnumValueDisplayNameID 152 | EGCPI5 153 | INEnumValueIndex 154 | 13 155 | INEnumValueName 156 | argentina 157 | 158 | 159 | INEnumValueDisplayName 160 | Armenia 161 | INEnumValueDisplayNameID 162 | mxjgJZ 163 | INEnumValueIndex 164 | 14 165 | INEnumValueName 166 | armenia 167 | 168 | 169 | INEnumValueDisplayName 170 | Aruba 171 | INEnumValueDisplayNameID 172 | psaqzh 173 | INEnumValueIndex 174 | 15 175 | INEnumValueName 176 | aruba 177 | 178 | 179 | INEnumValueDisplayName 180 | Australia 181 | INEnumValueDisplayNameID 182 | qqRXOK 183 | INEnumValueIndex 184 | 16 185 | INEnumValueName 186 | australia 187 | 188 | 189 | INEnumValueDisplayName 190 | Austria 191 | INEnumValueDisplayNameID 192 | bAU1Jn 193 | INEnumValueIndex 194 | 17 195 | INEnumValueName 196 | austria 197 | 198 | 199 | INEnumValueDisplayName 200 | Azerbaijan 201 | INEnumValueDisplayNameID 202 | ynqoRV 203 | INEnumValueIndex 204 | 18 205 | INEnumValueName 206 | azerbaijan 207 | 208 | 209 | INEnumValueDisplayName 210 | Bahamas 211 | INEnumValueDisplayNameID 212 | 78LP4t 213 | INEnumValueIndex 214 | 19 215 | INEnumValueName 216 | bahamas 217 | 218 | 219 | INEnumValueDisplayName 220 | Bahrain 221 | INEnumValueDisplayNameID 222 | OenXvc 223 | INEnumValueIndex 224 | 20 225 | INEnumValueName 226 | bahrain 227 | 228 | 229 | INEnumValueDisplayName 230 | Bangladesh 231 | INEnumValueDisplayNameID 232 | Wxx7T8 233 | INEnumValueIndex 234 | 21 235 | INEnumValueName 236 | bangladesh 237 | 238 | 239 | INEnumValueDisplayName 240 | Barbados 241 | INEnumValueDisplayNameID 242 | p9kn9X 243 | INEnumValueIndex 244 | 22 245 | INEnumValueName 246 | barbados 247 | 248 | 249 | INEnumValueDisplayName 250 | Belarus 251 | INEnumValueDisplayNameID 252 | Iax69U 253 | INEnumValueIndex 254 | 23 255 | INEnumValueName 256 | belarus 257 | 258 | 259 | INEnumValueDisplayName 260 | Belgium 261 | INEnumValueDisplayNameID 262 | pm7RaO 263 | INEnumValueIndex 264 | 24 265 | INEnumValueName 266 | belgium 267 | 268 | 269 | INEnumValueDisplayName 270 | Belize 271 | INEnumValueDisplayNameID 272 | I5HhVG 273 | INEnumValueIndex 274 | 25 275 | INEnumValueName 276 | belize 277 | 278 | 279 | INEnumValueDisplayName 280 | Benin 281 | INEnumValueDisplayNameID 282 | IsRNsS 283 | INEnumValueIndex 284 | 26 285 | INEnumValueName 286 | benin 287 | 288 | 289 | INEnumValueDisplayName 290 | Bermuda 291 | INEnumValueDisplayNameID 292 | n2sEkW 293 | INEnumValueIndex 294 | 27 295 | INEnumValueName 296 | bermuda 297 | 298 | 299 | INEnumValueDisplayName 300 | Bhutan 301 | INEnumValueDisplayNameID 302 | j3Vk6V 303 | INEnumValueIndex 304 | 28 305 | INEnumValueName 306 | bhutan 307 | 308 | 309 | INEnumValueDisplayName 310 | Bolivia 311 | INEnumValueDisplayNameID 312 | HKOGIn 313 | INEnumValueIndex 314 | 29 315 | INEnumValueName 316 | bolivia 317 | 318 | 319 | INEnumValueDisplayName 320 | Bosnia And Herzegovina 321 | INEnumValueDisplayNameID 322 | 0dc0Gr 323 | INEnumValueIndex 324 | 30 325 | INEnumValueName 326 | bosniaAndHerzegovina 327 | 328 | 329 | INEnumValueDisplayName 330 | Botswana 331 | INEnumValueDisplayNameID 332 | 14l2eE 333 | INEnumValueIndex 334 | 31 335 | INEnumValueName 336 | botswana 337 | 338 | 339 | INEnumValueDisplayName 340 | Bouvet Island 341 | INEnumValueDisplayNameID 342 | syt61x 343 | INEnumValueIndex 344 | 32 345 | INEnumValueName 346 | bouvetIsland 347 | 348 | 349 | INEnumValueDisplayName 350 | Brazil 351 | INEnumValueDisplayNameID 352 | N0P7G7 353 | INEnumValueIndex 354 | 33 355 | INEnumValueName 356 | brazil 357 | 358 | 359 | INEnumValueDisplayName 360 | British Indian Ocean Territory 361 | INEnumValueDisplayNameID 362 | FASGgI 363 | INEnumValueIndex 364 | 34 365 | INEnumValueName 366 | britishIndianOceanTerritory 367 | 368 | 369 | INEnumValueDisplayName 370 | Brunei Darussalam 371 | INEnumValueDisplayNameID 372 | 8qf3q4 373 | INEnumValueIndex 374 | 35 375 | INEnumValueName 376 | bruneiDarussalam 377 | 378 | 379 | INEnumValueDisplayName 380 | Bulgaria 381 | INEnumValueDisplayNameID 382 | BGWiiD 383 | INEnumValueIndex 384 | 36 385 | INEnumValueName 386 | bulgaria 387 | 388 | 389 | INEnumValueDisplayName 390 | Burkina Faso 391 | INEnumValueDisplayNameID 392 | jxu6d0 393 | INEnumValueIndex 394 | 37 395 | INEnumValueName 396 | burkinaFaso 397 | 398 | 399 | INEnumValueDisplayName 400 | Burundi 401 | INEnumValueDisplayNameID 402 | pN9321 403 | INEnumValueIndex 404 | 38 405 | INEnumValueName 406 | burundi 407 | 408 | 409 | INEnumValueDisplayName 410 | Cambodia 411 | INEnumValueDisplayNameID 412 | ikr5Wt 413 | INEnumValueIndex 414 | 39 415 | INEnumValueName 416 | cambodia 417 | 418 | 419 | INEnumValueDisplayName 420 | Cameroon 421 | INEnumValueDisplayNameID 422 | HxMZbv 423 | INEnumValueIndex 424 | 40 425 | INEnumValueName 426 | cameroon 427 | 428 | 429 | INEnumValueDisplayName 430 | Canada 431 | INEnumValueDisplayNameID 432 | 1lNhqm 433 | INEnumValueIndex 434 | 41 435 | INEnumValueName 436 | canada 437 | 438 | 439 | INEnumValueDisplayName 440 | Cape Verde 441 | INEnumValueDisplayNameID 442 | 3ECZgh 443 | INEnumValueIndex 444 | 42 445 | INEnumValueName 446 | capeVerde 447 | 448 | 449 | INEnumValueDisplayName 450 | Cayman Islands 451 | INEnumValueDisplayNameID 452 | ZYlvlI 453 | INEnumValueIndex 454 | 43 455 | INEnumValueName 456 | caymanIslands 457 | 458 | 459 | INEnumValueDisplayName 460 | Central African Republic 461 | INEnumValueDisplayNameID 462 | VXVLOo 463 | INEnumValueIndex 464 | 44 465 | INEnumValueName 466 | centralAfricanRepublic 467 | 468 | 469 | INEnumValueDisplayName 470 | Chad 471 | INEnumValueDisplayNameID 472 | 4LqRkR 473 | INEnumValueIndex 474 | 45 475 | INEnumValueName 476 | chad 477 | 478 | 479 | INEnumValueDisplayName 480 | Chile 481 | INEnumValueDisplayNameID 482 | uq8GcU 483 | INEnumValueIndex 484 | 46 485 | INEnumValueName 486 | chile 487 | 488 | 489 | INEnumValueDisplayName 490 | China 491 | INEnumValueDisplayNameID 492 | 4Sslvw 493 | INEnumValueIndex 494 | 47 495 | INEnumValueName 496 | china 497 | 498 | 499 | INEnumValueDisplayName 500 | Christmas Island 501 | INEnumValueDisplayNameID 502 | 9MAiTc 503 | INEnumValueIndex 504 | 48 505 | INEnumValueName 506 | christmasIsland 507 | 508 | 509 | INEnumValueDisplayName 510 | Cocos Keeling Islands 511 | INEnumValueDisplayNameID 512 | 0QLv3q 513 | INEnumValueIndex 514 | 49 515 | INEnumValueName 516 | cocosKeelingIslands 517 | 518 | 519 | INEnumValueDisplayName 520 | Colombia 521 | INEnumValueDisplayNameID 522 | VekV3P 523 | INEnumValueIndex 524 | 50 525 | INEnumValueName 526 | colombia 527 | 528 | 529 | INEnumValueDisplayName 530 | Comoros 531 | INEnumValueDisplayNameID 532 | p7KrvD 533 | INEnumValueIndex 534 | 51 535 | INEnumValueName 536 | comoros 537 | 538 | 539 | INEnumValueDisplayName 540 | Congo 541 | INEnumValueDisplayNameID 542 | A7nf27 543 | INEnumValueIndex 544 | 52 545 | INEnumValueName 546 | congo 547 | 548 | 549 | INEnumValueDisplayName 550 | Democratic Republic Of The Congo 551 | INEnumValueDisplayNameID 552 | 7ijmCp 553 | INEnumValueIndex 554 | 53 555 | INEnumValueName 556 | democraticRepublicOfTheCongo 557 | 558 | 559 | INEnumValueDisplayName 560 | Cook Islands 561 | INEnumValueDisplayNameID 562 | ZYiIzC 563 | INEnumValueIndex 564 | 54 565 | INEnumValueName 566 | cookIslands 567 | 568 | 569 | INEnumValueDisplayName 570 | Costa Rica 571 | INEnumValueDisplayNameID 572 | snjSvA 573 | INEnumValueIndex 574 | 55 575 | INEnumValueName 576 | costaRica 577 | 578 | 579 | INEnumValueDisplayName 580 | Cote Divoire 581 | INEnumValueDisplayNameID 582 | HEjHar 583 | INEnumValueIndex 584 | 56 585 | INEnumValueName 586 | coteDivoire 587 | 588 | 589 | INEnumValueDisplayName 590 | Croatia 591 | INEnumValueDisplayNameID 592 | bVc0Kk 593 | INEnumValueIndex 594 | 57 595 | INEnumValueName 596 | croatia 597 | 598 | 599 | INEnumValueDisplayName 600 | Cuba 601 | INEnumValueDisplayNameID 602 | iXgeDB 603 | INEnumValueIndex 604 | 58 605 | INEnumValueName 606 | cuba 607 | 608 | 609 | INEnumValueDisplayName 610 | Cyprus 611 | INEnumValueDisplayNameID 612 | hLVaZp 613 | INEnumValueIndex 614 | 59 615 | INEnumValueName 616 | cyprus 617 | 618 | 619 | INEnumValueDisplayName 620 | Czech Republic 621 | INEnumValueDisplayNameID 622 | 35NGmG 623 | INEnumValueIndex 624 | 60 625 | INEnumValueName 626 | czechRepublic 627 | 628 | 629 | INEnumValueDisplayName 630 | Denmark 631 | INEnumValueDisplayNameID 632 | hQKGtr 633 | INEnumValueIndex 634 | 61 635 | INEnumValueName 636 | denmark 637 | 638 | 639 | INEnumValueDisplayName 640 | Djibouti 641 | INEnumValueDisplayNameID 642 | Ltnp2P 643 | INEnumValueIndex 644 | 62 645 | INEnumValueName 646 | djibouti 647 | 648 | 649 | INEnumValueDisplayName 650 | Dominica 651 | INEnumValueDisplayNameID 652 | B2tfF4 653 | INEnumValueIndex 654 | 63 655 | INEnumValueName 656 | dominica 657 | 658 | 659 | INEnumValueDisplayName 660 | Dominican Republic 661 | INEnumValueDisplayNameID 662 | Vo574B 663 | INEnumValueIndex 664 | 64 665 | INEnumValueName 666 | dominicanRepublic 667 | 668 | 669 | INEnumValueDisplayName 670 | Ecuador 671 | INEnumValueDisplayNameID 672 | 5BGqy2 673 | INEnumValueIndex 674 | 65 675 | INEnumValueName 676 | ecuador 677 | 678 | 679 | INEnumValueDisplayName 680 | Egypt 681 | INEnumValueDisplayNameID 682 | KstNXb 683 | INEnumValueIndex 684 | 66 685 | INEnumValueName 686 | egypt 687 | 688 | 689 | INEnumValueDisplayName 690 | El Salvador 691 | INEnumValueDisplayNameID 692 | 7iuMbx 693 | INEnumValueIndex 694 | 67 695 | INEnumValueName 696 | elSalvador 697 | 698 | 699 | INEnumValueDisplayName 700 | Equatorial Guinea 701 | INEnumValueDisplayNameID 702 | Zm5AH5 703 | INEnumValueIndex 704 | 68 705 | INEnumValueName 706 | equatorialGuinea 707 | 708 | 709 | INEnumValueDisplayName 710 | Eritrea 711 | INEnumValueDisplayNameID 712 | j0277k 713 | INEnumValueIndex 714 | 69 715 | INEnumValueName 716 | eritrea 717 | 718 | 719 | INEnumValueDisplayName 720 | Estonia 721 | INEnumValueDisplayNameID 722 | 3U32XP 723 | INEnumValueIndex 724 | 70 725 | INEnumValueName 726 | estonia 727 | 728 | 729 | INEnumValueDisplayName 730 | Ethiopia 731 | INEnumValueDisplayNameID 732 | yFfpaI 733 | INEnumValueIndex 734 | 71 735 | INEnumValueName 736 | ethiopia 737 | 738 | 739 | INEnumValueDisplayName 740 | Falkland Islands Malvinas 741 | INEnumValueDisplayNameID 742 | sqCwAo 743 | INEnumValueIndex 744 | 72 745 | INEnumValueName 746 | falklandIslandsMalvinas 747 | 748 | 749 | INEnumValueDisplayName 750 | Faroe Islands 751 | INEnumValueDisplayNameID 752 | jBp2DX 753 | INEnumValueIndex 754 | 73 755 | INEnumValueName 756 | faroeIslands 757 | 758 | 759 | INEnumValueDisplayName 760 | Fiji 761 | INEnumValueDisplayNameID 762 | ahB4UB 763 | INEnumValueIndex 764 | 74 765 | INEnumValueName 766 | fiji 767 | 768 | 769 | INEnumValueDisplayName 770 | Finland 771 | INEnumValueDisplayNameID 772 | kIqaaR 773 | INEnumValueIndex 774 | 75 775 | INEnumValueName 776 | finland 777 | 778 | 779 | INEnumValueDisplayName 780 | France 781 | INEnumValueDisplayNameID 782 | o696D4 783 | INEnumValueIndex 784 | 76 785 | INEnumValueName 786 | france 787 | 788 | 789 | INEnumValueDisplayName 790 | French Guiana 791 | INEnumValueDisplayNameID 792 | qq7LB8 793 | INEnumValueIndex 794 | 77 795 | INEnumValueName 796 | frenchGuiana 797 | 798 | 799 | INEnumValueDisplayName 800 | French Polynesia 801 | INEnumValueDisplayNameID 802 | 0EZyaH 803 | INEnumValueIndex 804 | 78 805 | INEnumValueName 806 | frenchPolynesia 807 | 808 | 809 | INEnumValueDisplayName 810 | French Southern Territories 811 | INEnumValueDisplayNameID 812 | Qla1Fn 813 | INEnumValueIndex 814 | 79 815 | INEnumValueName 816 | frenchSouthernTerritories 817 | 818 | 819 | INEnumValueDisplayName 820 | Gabon 821 | INEnumValueDisplayNameID 822 | kLg8wU 823 | INEnumValueIndex 824 | 80 825 | INEnumValueName 826 | gabon 827 | 828 | 829 | INEnumValueDisplayName 830 | Gambia 831 | INEnumValueDisplayNameID 832 | ETGzVF 833 | INEnumValueIndex 834 | 81 835 | INEnumValueName 836 | gambia 837 | 838 | 839 | INEnumValueDisplayName 840 | Georgia 841 | INEnumValueDisplayNameID 842 | 6CgR55 843 | INEnumValueIndex 844 | 82 845 | INEnumValueName 846 | georgia 847 | 848 | 849 | INEnumValueDisplayName 850 | Ghana 851 | INEnumValueDisplayNameID 852 | GpEGF2 853 | INEnumValueIndex 854 | 83 855 | INEnumValueName 856 | ghana 857 | 858 | 859 | INEnumValueDisplayName 860 | Gibraltar 861 | INEnumValueDisplayNameID 862 | qnaU1W 863 | INEnumValueIndex 864 | 84 865 | INEnumValueName 866 | gibraltar 867 | 868 | 869 | INEnumValueDisplayName 870 | Greece 871 | INEnumValueDisplayNameID 872 | HGVUHE 873 | INEnumValueIndex 874 | 85 875 | INEnumValueName 876 | greece 877 | 878 | 879 | INEnumValueDisplayName 880 | Greenland 881 | INEnumValueDisplayNameID 882 | CDqpOX 883 | INEnumValueIndex 884 | 86 885 | INEnumValueName 886 | greenland 887 | 888 | 889 | INEnumValueDisplayName 890 | Grenada 891 | INEnumValueDisplayNameID 892 | MxrVRC 893 | INEnumValueIndex 894 | 87 895 | INEnumValueName 896 | grenada 897 | 898 | 899 | INEnumValueDisplayName 900 | Guadeloupe 901 | INEnumValueDisplayNameID 902 | 4dQaDp 903 | INEnumValueIndex 904 | 88 905 | INEnumValueName 906 | guadeloupe 907 | 908 | 909 | INEnumValueDisplayName 910 | Guam 911 | INEnumValueDisplayNameID 912 | 8LTGnX 913 | INEnumValueIndex 914 | 89 915 | INEnumValueName 916 | guam 917 | 918 | 919 | INEnumValueDisplayName 920 | Guatemala 921 | INEnumValueDisplayNameID 922 | FssK1X 923 | INEnumValueIndex 924 | 90 925 | INEnumValueName 926 | guatemala 927 | 928 | 929 | INEnumValueDisplayName 930 | Guernsey 931 | INEnumValueDisplayNameID 932 | i2Ss9X 933 | INEnumValueIndex 934 | 91 935 | INEnumValueName 936 | guernsey 937 | 938 | 939 | INEnumValueDisplayName 940 | Guinea 941 | INEnumValueDisplayNameID 942 | 3HYqVX 943 | INEnumValueIndex 944 | 92 945 | INEnumValueName 946 | guinea 947 | 948 | 949 | INEnumValueDisplayName 950 | Guineabissau 951 | INEnumValueDisplayNameID 952 | Mfw4VZ 953 | INEnumValueIndex 954 | 93 955 | INEnumValueName 956 | guineabissau 957 | 958 | 959 | INEnumValueDisplayName 960 | Guyana 961 | INEnumValueDisplayNameID 962 | 6ZD7DD 963 | INEnumValueIndex 964 | 94 965 | INEnumValueName 966 | guyana 967 | 968 | 969 | INEnumValueDisplayName 970 | Haiti 971 | INEnumValueDisplayNameID 972 | sybAwj 973 | INEnumValueIndex 974 | 95 975 | INEnumValueName 976 | haiti 977 | 978 | 979 | INEnumValueDisplayName 980 | Heard Island And Mcdonald Islands 981 | INEnumValueDisplayNameID 982 | S52TDu 983 | INEnumValueIndex 984 | 96 985 | INEnumValueName 986 | heardIslandAndMcdonaldIslands 987 | 988 | 989 | INEnumValueDisplayName 990 | Holy See Vatican City State 991 | INEnumValueDisplayNameID 992 | AoOIKE 993 | INEnumValueIndex 994 | 97 995 | INEnumValueName 996 | holySeeVaticanCityState 997 | 998 | 999 | INEnumValueDisplayName 1000 | Honduras 1001 | INEnumValueDisplayNameID 1002 | MN0DUB 1003 | INEnumValueIndex 1004 | 98 1005 | INEnumValueName 1006 | honduras 1007 | 1008 | 1009 | INEnumValueDisplayName 1010 | Hong Kong 1011 | INEnumValueDisplayNameID 1012 | JLu3Ji 1013 | INEnumValueIndex 1014 | 99 1015 | INEnumValueName 1016 | hongKong 1017 | 1018 | 1019 | INEnumValueDisplayName 1020 | Hungary 1021 | INEnumValueDisplayNameID 1022 | kvw0M8 1023 | INEnumValueIndex 1024 | 100 1025 | INEnumValueName 1026 | hungary 1027 | 1028 | 1029 | INEnumValueDisplayName 1030 | Iceland 1031 | INEnumValueDisplayNameID 1032 | eX1TOO 1033 | INEnumValueIndex 1034 | 101 1035 | INEnumValueName 1036 | iceland 1037 | 1038 | 1039 | INEnumValueDisplayName 1040 | India 1041 | INEnumValueDisplayNameID 1042 | fIUbjP 1043 | INEnumValueIndex 1044 | 102 1045 | INEnumValueName 1046 | india 1047 | 1048 | 1049 | INEnumValueDisplayName 1050 | Indonesia 1051 | INEnumValueDisplayNameID 1052 | O1Yjsa 1053 | INEnumValueIndex 1054 | 103 1055 | INEnumValueName 1056 | indonesia 1057 | 1058 | 1059 | INEnumValueDisplayName 1060 | Iran 1061 | INEnumValueDisplayNameID 1062 | 2Jku2U 1063 | INEnumValueIndex 1064 | 104 1065 | INEnumValueName 1066 | iran 1067 | 1068 | 1069 | INEnumValueDisplayName 1070 | Iraq 1071 | INEnumValueDisplayNameID 1072 | Y7RAEw 1073 | INEnumValueIndex 1074 | 105 1075 | INEnumValueName 1076 | iraq 1077 | 1078 | 1079 | INEnumValueDisplayName 1080 | Ireland 1081 | INEnumValueDisplayNameID 1082 | 99zgI2 1083 | INEnumValueIndex 1084 | 106 1085 | INEnumValueName 1086 | ireland 1087 | 1088 | 1089 | INEnumValueDisplayName 1090 | Isle Of Man 1091 | INEnumValueDisplayNameID 1092 | OHo6zy 1093 | INEnumValueIndex 1094 | 107 1095 | INEnumValueName 1096 | isleOfMan 1097 | 1098 | 1099 | INEnumValueDisplayName 1100 | Israel 1101 | INEnumValueDisplayNameID 1102 | xEbqfd 1103 | INEnumValueIndex 1104 | 108 1105 | INEnumValueName 1106 | israel 1107 | 1108 | 1109 | INEnumValueDisplayName 1110 | Italy 1111 | INEnumValueDisplayNameID 1112 | y2Ewcn 1113 | INEnumValueIndex 1114 | 109 1115 | INEnumValueName 1116 | italy 1117 | 1118 | 1119 | INEnumValueDisplayName 1120 | Jamaica 1121 | INEnumValueDisplayNameID 1122 | Fg95Do 1123 | INEnumValueIndex 1124 | 110 1125 | INEnumValueName 1126 | jamaica 1127 | 1128 | 1129 | INEnumValueDisplayName 1130 | Japan 1131 | INEnumValueDisplayNameID 1132 | Eyg4MJ 1133 | INEnumValueIndex 1134 | 111 1135 | INEnumValueName 1136 | japan 1137 | 1138 | 1139 | INEnumValueDisplayName 1140 | Jersey 1141 | INEnumValueDisplayNameID 1142 | H2ct8z 1143 | INEnumValueIndex 1144 | 112 1145 | INEnumValueName 1146 | jersey 1147 | 1148 | 1149 | INEnumValueDisplayName 1150 | Jordan 1151 | INEnumValueDisplayNameID 1152 | DESP1m 1153 | INEnumValueIndex 1154 | 113 1155 | INEnumValueName 1156 | jordan 1157 | 1158 | 1159 | INEnumValueDisplayName 1160 | Kazakhstan 1161 | INEnumValueDisplayNameID 1162 | 6VYAdZ 1163 | INEnumValueIndex 1164 | 114 1165 | INEnumValueName 1166 | kazakhstan 1167 | 1168 | 1169 | INEnumValueDisplayName 1170 | Kenya 1171 | INEnumValueDisplayNameID 1172 | bhNdqS 1173 | INEnumValueIndex 1174 | 115 1175 | INEnumValueName 1176 | kenya 1177 | 1178 | 1179 | INEnumValueDisplayName 1180 | Kiribati 1181 | INEnumValueDisplayNameID 1182 | bImQFH 1183 | INEnumValueIndex 1184 | 116 1185 | INEnumValueName 1186 | kiribati 1187 | 1188 | 1189 | INEnumValueDisplayName 1190 | North Korea 1191 | INEnumValueDisplayNameID 1192 | ujoKOR 1193 | INEnumValueIndex 1194 | 117 1195 | INEnumValueName 1196 | northKorea 1197 | 1198 | 1199 | INEnumValueDisplayName 1200 | South Korea 1201 | INEnumValueDisplayNameID 1202 | QJyYE6 1203 | INEnumValueIndex 1204 | 118 1205 | INEnumValueName 1206 | southKorea 1207 | 1208 | 1209 | INEnumValueDisplayName 1210 | Kuwait 1211 | INEnumValueDisplayNameID 1212 | GHToBF 1213 | INEnumValueIndex 1214 | 119 1215 | INEnumValueName 1216 | kuwait 1217 | 1218 | 1219 | INEnumValueDisplayName 1220 | Kyrgyzstan 1221 | INEnumValueDisplayNameID 1222 | Vxc8a7 1223 | INEnumValueIndex 1224 | 120 1225 | INEnumValueName 1226 | kyrgyzstan 1227 | 1228 | 1229 | INEnumValueDisplayName 1230 | Lao Peoples Democratic Republic 1231 | INEnumValueDisplayNameID 1232 | Cs8mk0 1233 | INEnumValueIndex 1234 | 121 1235 | INEnumValueName 1236 | laoPeoplesDemocraticRepublic 1237 | 1238 | 1239 | INEnumValueDisplayName 1240 | Latvia 1241 | INEnumValueDisplayNameID 1242 | duZnJl 1243 | INEnumValueIndex 1244 | 122 1245 | INEnumValueName 1246 | latvia 1247 | 1248 | 1249 | INEnumValueDisplayName 1250 | Lebanon 1251 | INEnumValueDisplayNameID 1252 | T16KgS 1253 | INEnumValueIndex 1254 | 123 1255 | INEnumValueName 1256 | lebanon 1257 | 1258 | 1259 | INEnumValueDisplayName 1260 | Lesotho 1261 | INEnumValueDisplayNameID 1262 | nO6KJC 1263 | INEnumValueIndex 1264 | 124 1265 | INEnumValueName 1266 | lesotho 1267 | 1268 | 1269 | INEnumValueDisplayName 1270 | Liberia 1271 | INEnumValueDisplayNameID 1272 | yinx6q 1273 | INEnumValueIndex 1274 | 125 1275 | INEnumValueName 1276 | liberia 1277 | 1278 | 1279 | INEnumValueDisplayName 1280 | Libyan Arab Jamahiriya 1281 | INEnumValueDisplayNameID 1282 | SEOD8p 1283 | INEnumValueIndex 1284 | 126 1285 | INEnumValueName 1286 | libyanArabJamahiriya 1287 | 1288 | 1289 | INEnumValueDisplayName 1290 | Liechtenstein 1291 | INEnumValueDisplayNameID 1292 | 5Od5d8 1293 | INEnumValueIndex 1294 | 127 1295 | INEnumValueName 1296 | liechtenstein 1297 | 1298 | 1299 | INEnumValueDisplayName 1300 | Lithuania 1301 | INEnumValueDisplayNameID 1302 | CnHyYc 1303 | INEnumValueIndex 1304 | 128 1305 | INEnumValueName 1306 | lithuania 1307 | 1308 | 1309 | INEnumValueDisplayName 1310 | Luxembourg 1311 | INEnumValueDisplayNameID 1312 | bBiWum 1313 | INEnumValueIndex 1314 | 129 1315 | INEnumValueName 1316 | luxembourg 1317 | 1318 | 1319 | INEnumValueDisplayName 1320 | Macao 1321 | INEnumValueDisplayNameID 1322 | u2hJkN 1323 | INEnumValueIndex 1324 | 130 1325 | INEnumValueName 1326 | macao 1327 | 1328 | 1329 | INEnumValueDisplayName 1330 | Macedonia 1331 | INEnumValueDisplayNameID 1332 | pfxazO 1333 | INEnumValueIndex 1334 | 131 1335 | INEnumValueName 1336 | macedonia 1337 | 1338 | 1339 | INEnumValueDisplayName 1340 | Madagascar 1341 | INEnumValueDisplayNameID 1342 | mECpu5 1343 | INEnumValueIndex 1344 | 132 1345 | INEnumValueName 1346 | madagascar 1347 | 1348 | 1349 | INEnumValueDisplayName 1350 | Malawi 1351 | INEnumValueDisplayNameID 1352 | DVe3jg 1353 | INEnumValueIndex 1354 | 133 1355 | INEnumValueName 1356 | malawi 1357 | 1358 | 1359 | INEnumValueDisplayName 1360 | Malaysia 1361 | INEnumValueDisplayNameID 1362 | 8Jc3c8 1363 | INEnumValueIndex 1364 | 134 1365 | INEnumValueName 1366 | malaysia 1367 | 1368 | 1369 | INEnumValueDisplayName 1370 | Maldives 1371 | INEnumValueDisplayNameID 1372 | Cp5diD 1373 | INEnumValueIndex 1374 | 135 1375 | INEnumValueName 1376 | maldives 1377 | 1378 | 1379 | INEnumValueDisplayName 1380 | Mali 1381 | INEnumValueDisplayNameID 1382 | GM3fN5 1383 | INEnumValueIndex 1384 | 136 1385 | INEnumValueName 1386 | mali 1387 | 1388 | 1389 | INEnumValueDisplayName 1390 | Malta 1391 | INEnumValueDisplayNameID 1392 | ikIzS9 1393 | INEnumValueIndex 1394 | 137 1395 | INEnumValueName 1396 | malta 1397 | 1398 | 1399 | INEnumValueDisplayName 1400 | Marshall Islands 1401 | INEnumValueDisplayNameID 1402 | R7EivS 1403 | INEnumValueIndex 1404 | 138 1405 | INEnumValueName 1406 | marshallIslands 1407 | 1408 | 1409 | INEnumValueDisplayName 1410 | Martinique 1411 | INEnumValueDisplayNameID 1412 | LnukAo 1413 | INEnumValueIndex 1414 | 139 1415 | INEnumValueName 1416 | martinique 1417 | 1418 | 1419 | INEnumValueDisplayName 1420 | Mauritania 1421 | INEnumValueDisplayNameID 1422 | y4HZnH 1423 | INEnumValueIndex 1424 | 140 1425 | INEnumValueName 1426 | mauritania 1427 | 1428 | 1429 | INEnumValueDisplayName 1430 | Mauritius 1431 | INEnumValueDisplayNameID 1432 | hoWe5y 1433 | INEnumValueIndex 1434 | 141 1435 | INEnumValueName 1436 | mauritius 1437 | 1438 | 1439 | INEnumValueDisplayName 1440 | Mayotte 1441 | INEnumValueDisplayNameID 1442 | 1UmXDs 1443 | INEnumValueIndex 1444 | 142 1445 | INEnumValueName 1446 | mayotte 1447 | 1448 | 1449 | INEnumValueDisplayName 1450 | Mexico 1451 | INEnumValueDisplayNameID 1452 | ymmtF9 1453 | INEnumValueIndex 1454 | 143 1455 | INEnumValueName 1456 | mexico 1457 | 1458 | 1459 | INEnumValueDisplayName 1460 | Micronesia 1461 | INEnumValueDisplayNameID 1462 | 0LdFm8 1463 | INEnumValueIndex 1464 | 144 1465 | INEnumValueName 1466 | micronesia 1467 | 1468 | 1469 | INEnumValueDisplayName 1470 | Moldova 1471 | INEnumValueDisplayNameID 1472 | rsDNEd 1473 | INEnumValueIndex 1474 | 145 1475 | INEnumValueName 1476 | moldova 1477 | 1478 | 1479 | INEnumValueDisplayName 1480 | Monaco 1481 | INEnumValueDisplayNameID 1482 | fR62IG 1483 | INEnumValueIndex 1484 | 146 1485 | INEnumValueName 1486 | monaco 1487 | 1488 | 1489 | INEnumValueDisplayName 1490 | Mongolia 1491 | INEnumValueDisplayNameID 1492 | o2JlBC 1493 | INEnumValueIndex 1494 | 147 1495 | INEnumValueName 1496 | mongolia 1497 | 1498 | 1499 | INEnumValueDisplayName 1500 | Montenegro 1501 | INEnumValueDisplayNameID 1502 | OBPACD 1503 | INEnumValueIndex 1504 | 148 1505 | INEnumValueName 1506 | montenegro 1507 | 1508 | 1509 | INEnumValueDisplayName 1510 | Montserrat 1511 | INEnumValueDisplayNameID 1512 | IgwCAU 1513 | INEnumValueIndex 1514 | 149 1515 | INEnumValueName 1516 | montserrat 1517 | 1518 | 1519 | INEnumValueDisplayName 1520 | Morocco 1521 | INEnumValueDisplayNameID 1522 | deM8Z5 1523 | INEnumValueIndex 1524 | 150 1525 | INEnumValueName 1526 | morocco 1527 | 1528 | 1529 | INEnumValueDisplayName 1530 | Mozambique 1531 | INEnumValueDisplayNameID 1532 | wN79xX 1533 | INEnumValueIndex 1534 | 151 1535 | INEnumValueName 1536 | mozambique 1537 | 1538 | 1539 | INEnumValueDisplayName 1540 | Myanmar 1541 | INEnumValueDisplayNameID 1542 | mpWGEV 1543 | INEnumValueIndex 1544 | 152 1545 | INEnumValueName 1546 | myanmar 1547 | 1548 | 1549 | INEnumValueDisplayName 1550 | Namibia 1551 | INEnumValueDisplayNameID 1552 | oN30RA 1553 | INEnumValueIndex 1554 | 153 1555 | INEnumValueName 1556 | namibia 1557 | 1558 | 1559 | INEnumValueDisplayName 1560 | Nauru 1561 | INEnumValueDisplayNameID 1562 | iBmFHu 1563 | INEnumValueIndex 1564 | 154 1565 | INEnumValueName 1566 | nauru 1567 | 1568 | 1569 | INEnumValueDisplayName 1570 | Nepal 1571 | INEnumValueDisplayNameID 1572 | vKiblC 1573 | INEnumValueIndex 1574 | 155 1575 | INEnumValueName 1576 | nepal 1577 | 1578 | 1579 | INEnumValueDisplayName 1580 | Netherlands 1581 | INEnumValueDisplayNameID 1582 | XnRjrE 1583 | INEnumValueIndex 1584 | 156 1585 | INEnumValueName 1586 | netherlands 1587 | 1588 | 1589 | INEnumValueDisplayName 1590 | Netherlands Antilles 1591 | INEnumValueDisplayNameID 1592 | dDdj6f 1593 | INEnumValueIndex 1594 | 157 1595 | INEnumValueName 1596 | netherlandsAntilles 1597 | 1598 | 1599 | INEnumValueDisplayName 1600 | New Caledonia 1601 | INEnumValueDisplayNameID 1602 | r82oua 1603 | INEnumValueIndex 1604 | 158 1605 | INEnumValueName 1606 | newCaledonia 1607 | 1608 | 1609 | INEnumValueDisplayName 1610 | New Zealand 1611 | INEnumValueDisplayNameID 1612 | Ht0kPC 1613 | INEnumValueIndex 1614 | 159 1615 | INEnumValueName 1616 | newZealand 1617 | 1618 | 1619 | INEnumValueDisplayName 1620 | Nicaragua 1621 | INEnumValueDisplayNameID 1622 | 7gAC22 1623 | INEnumValueIndex 1624 | 160 1625 | INEnumValueName 1626 | nicaragua 1627 | 1628 | 1629 | INEnumValueDisplayName 1630 | Niger 1631 | INEnumValueDisplayNameID 1632 | cxDT1n 1633 | INEnumValueIndex 1634 | 161 1635 | INEnumValueName 1636 | niger 1637 | 1638 | 1639 | INEnumValueDisplayName 1640 | Nigeria 1641 | INEnumValueDisplayNameID 1642 | h1ghdA 1643 | INEnumValueIndex 1644 | 162 1645 | INEnumValueName 1646 | nigeria 1647 | 1648 | 1649 | INEnumValueDisplayName 1650 | Niue 1651 | INEnumValueDisplayNameID 1652 | EmXqcF 1653 | INEnumValueIndex 1654 | 163 1655 | INEnumValueName 1656 | niue 1657 | 1658 | 1659 | INEnumValueDisplayName 1660 | Norfolk Island 1661 | INEnumValueDisplayNameID 1662 | J7OL9l 1663 | INEnumValueIndex 1664 | 164 1665 | INEnumValueName 1666 | norfolkIsland 1667 | 1668 | 1669 | INEnumValueDisplayName 1670 | Northern Mariana Islands 1671 | INEnumValueDisplayNameID 1672 | 0X1cLD 1673 | INEnumValueIndex 1674 | 165 1675 | INEnumValueName 1676 | northernMarianaIslands 1677 | 1678 | 1679 | INEnumValueDisplayName 1680 | Norway 1681 | INEnumValueDisplayNameID 1682 | OemZ6c 1683 | INEnumValueIndex 1684 | 166 1685 | INEnumValueName 1686 | norway 1687 | 1688 | 1689 | INEnumValueDisplayName 1690 | Oman 1691 | INEnumValueDisplayNameID 1692 | DKpZBI 1693 | INEnumValueIndex 1694 | 167 1695 | INEnumValueName 1696 | oman 1697 | 1698 | 1699 | INEnumValueDisplayName 1700 | Pakistan 1701 | INEnumValueDisplayNameID 1702 | F335Vr 1703 | INEnumValueIndex 1704 | 168 1705 | INEnumValueName 1706 | pakistan 1707 | 1708 | 1709 | INEnumValueDisplayName 1710 | Palau 1711 | INEnumValueDisplayNameID 1712 | QFxxyO 1713 | INEnumValueIndex 1714 | 169 1715 | INEnumValueName 1716 | palau 1717 | 1718 | 1719 | INEnumValueDisplayName 1720 | Palestinian Territory 1721 | INEnumValueDisplayNameID 1722 | pXRHGx 1723 | INEnumValueIndex 1724 | 170 1725 | INEnumValueName 1726 | palestinianTerritory 1727 | 1728 | 1729 | INEnumValueDisplayName 1730 | Panama 1731 | INEnumValueDisplayNameID 1732 | sUlgNm 1733 | INEnumValueIndex 1734 | 171 1735 | INEnumValueName 1736 | panama 1737 | 1738 | 1739 | INEnumValueDisplayName 1740 | Papua New Guinea 1741 | INEnumValueDisplayNameID 1742 | 7KZA2s 1743 | INEnumValueIndex 1744 | 172 1745 | INEnumValueName 1746 | papuaNewGuinea 1747 | 1748 | 1749 | INEnumValueDisplayName 1750 | Paraguay 1751 | INEnumValueDisplayNameID 1752 | T1RiTa 1753 | INEnumValueIndex 1754 | 173 1755 | INEnumValueName 1756 | paraguay 1757 | 1758 | 1759 | INEnumValueDisplayName 1760 | Peru 1761 | INEnumValueDisplayNameID 1762 | Gm2M11 1763 | INEnumValueIndex 1764 | 174 1765 | INEnumValueName 1766 | peru 1767 | 1768 | 1769 | INEnumValueDisplayName 1770 | Philippines 1771 | INEnumValueDisplayNameID 1772 | jRcPAO 1773 | INEnumValueIndex 1774 | 175 1775 | INEnumValueName 1776 | philippines 1777 | 1778 | 1779 | INEnumValueDisplayName 1780 | Pitcairn 1781 | INEnumValueDisplayNameID 1782 | EsVgRA 1783 | INEnumValueIndex 1784 | 176 1785 | INEnumValueName 1786 | pitcairn 1787 | 1788 | 1789 | INEnumValueDisplayName 1790 | Poland 1791 | INEnumValueDisplayNameID 1792 | xHBgjf 1793 | INEnumValueIndex 1794 | 177 1795 | INEnumValueName 1796 | poland 1797 | 1798 | 1799 | INEnumValueDisplayName 1800 | Portugal 1801 | INEnumValueDisplayNameID 1802 | IPHdax 1803 | INEnumValueIndex 1804 | 178 1805 | INEnumValueName 1806 | portugal 1807 | 1808 | 1809 | INEnumValueDisplayName 1810 | Puerto Rico 1811 | INEnumValueDisplayNameID 1812 | kIBHAF 1813 | INEnumValueIndex 1814 | 179 1815 | INEnumValueName 1816 | puertoRico 1817 | 1818 | 1819 | INEnumValueDisplayName 1820 | Qatar 1821 | INEnumValueDisplayNameID 1822 | fpf1Uu 1823 | INEnumValueIndex 1824 | 180 1825 | INEnumValueName 1826 | qatar 1827 | 1828 | 1829 | INEnumValueDisplayName 1830 | Reunion 1831 | INEnumValueDisplayNameID 1832 | GVV4cS 1833 | INEnumValueIndex 1834 | 181 1835 | INEnumValueName 1836 | reunion 1837 | 1838 | 1839 | INEnumValueDisplayName 1840 | Romania 1841 | INEnumValueDisplayNameID 1842 | vLyjhq 1843 | INEnumValueIndex 1844 | 182 1845 | INEnumValueName 1846 | romania 1847 | 1848 | 1849 | INEnumValueDisplayName 1850 | Russian Federation 1851 | INEnumValueDisplayNameID 1852 | L2vkMe 1853 | INEnumValueIndex 1854 | 183 1855 | INEnumValueName 1856 | russianFederation 1857 | 1858 | 1859 | INEnumValueDisplayName 1860 | Rwanda 1861 | INEnumValueDisplayNameID 1862 | KXrtrQ 1863 | INEnumValueIndex 1864 | 184 1865 | INEnumValueName 1866 | rwanda 1867 | 1868 | 1869 | INEnumValueDisplayName 1870 | Saint Helena 1871 | INEnumValueDisplayNameID 1872 | 4VngLb 1873 | INEnumValueIndex 1874 | 185 1875 | INEnumValueName 1876 | saintHelena 1877 | 1878 | 1879 | INEnumValueDisplayName 1880 | Saint Kitts And Nevis 1881 | INEnumValueDisplayNameID 1882 | i9FtOd 1883 | INEnumValueIndex 1884 | 186 1885 | INEnumValueName 1886 | saintKittsAndNevis 1887 | 1888 | 1889 | INEnumValueDisplayName 1890 | Saint Lucia 1891 | INEnumValueDisplayNameID 1892 | SirKUp 1893 | INEnumValueIndex 1894 | 187 1895 | INEnumValueName 1896 | saintLucia 1897 | 1898 | 1899 | INEnumValueDisplayName 1900 | Saint Pierre And Miquelon 1901 | INEnumValueDisplayNameID 1902 | svSMKO 1903 | INEnumValueIndex 1904 | 188 1905 | INEnumValueName 1906 | saintPierreAndMiquelon 1907 | 1908 | 1909 | INEnumValueDisplayName 1910 | Saint Vincent And The Grenadines 1911 | INEnumValueDisplayNameID 1912 | 6iUaW8 1913 | INEnumValueIndex 1914 | 189 1915 | INEnumValueName 1916 | saintVincentAndTheGrenadines 1917 | 1918 | 1919 | INEnumValueDisplayName 1920 | Samoa 1921 | INEnumValueDisplayNameID 1922 | ZSdAZP 1923 | INEnumValueIndex 1924 | 190 1925 | INEnumValueName 1926 | samoa 1927 | 1928 | 1929 | INEnumValueDisplayName 1930 | San Marino 1931 | INEnumValueDisplayNameID 1932 | DiTBmU 1933 | INEnumValueIndex 1934 | 191 1935 | INEnumValueName 1936 | sanMarino 1937 | 1938 | 1939 | INEnumValueDisplayName 1940 | Sao Tome And Principe 1941 | INEnumValueDisplayNameID 1942 | BlhfGO 1943 | INEnumValueIndex 1944 | 192 1945 | INEnumValueName 1946 | saoTomeAndPrincipe 1947 | 1948 | 1949 | INEnumValueDisplayName 1950 | Saudi Arabia 1951 | INEnumValueDisplayNameID 1952 | RfsqKp 1953 | INEnumValueIndex 1954 | 193 1955 | INEnumValueName 1956 | saudiArabia 1957 | 1958 | 1959 | INEnumValueDisplayName 1960 | Senegal 1961 | INEnumValueDisplayNameID 1962 | kGgEC9 1963 | INEnumValueIndex 1964 | 194 1965 | INEnumValueName 1966 | senegal 1967 | 1968 | 1969 | INEnumValueDisplayName 1970 | Serbia 1971 | INEnumValueDisplayNameID 1972 | jZaFOb 1973 | INEnumValueIndex 1974 | 195 1975 | INEnumValueName 1976 | serbia 1977 | 1978 | 1979 | INEnumValueDisplayName 1980 | Seychelles 1981 | INEnumValueDisplayNameID 1982 | hO5fAK 1983 | INEnumValueIndex 1984 | 196 1985 | INEnumValueName 1986 | seychelles 1987 | 1988 | 1989 | INEnumValueDisplayName 1990 | Sierra Leone 1991 | INEnumValueDisplayNameID 1992 | qPmeX3 1993 | INEnumValueIndex 1994 | 197 1995 | INEnumValueName 1996 | sierraLeone 1997 | 1998 | 1999 | INEnumValueDisplayName 2000 | Singapore 2001 | INEnumValueDisplayNameID 2002 | f4YkiN 2003 | INEnumValueIndex 2004 | 198 2005 | INEnumValueName 2006 | singapore 2007 | 2008 | 2009 | INEnumValueDisplayName 2010 | Slovakia 2011 | INEnumValueDisplayNameID 2012 | DNpM92 2013 | INEnumValueIndex 2014 | 199 2015 | INEnumValueName 2016 | slovakia 2017 | 2018 | 2019 | INEnumValueDisplayName 2020 | Slovenia 2021 | INEnumValueDisplayNameID 2022 | FWmNDl 2023 | INEnumValueIndex 2024 | 200 2025 | INEnumValueName 2026 | slovenia 2027 | 2028 | 2029 | INEnumValueDisplayName 2030 | Solomon Islands 2031 | INEnumValueDisplayNameID 2032 | Ghw6WB 2033 | INEnumValueIndex 2034 | 201 2035 | INEnumValueName 2036 | solomonIslands 2037 | 2038 | 2039 | INEnumValueDisplayName 2040 | Somalia 2041 | INEnumValueDisplayNameID 2042 | o9kGnS 2043 | INEnumValueIndex 2044 | 202 2045 | INEnumValueName 2046 | somalia 2047 | 2048 | 2049 | INEnumValueDisplayName 2050 | South Africa 2051 | INEnumValueDisplayNameID 2052 | 281xZ4 2053 | INEnumValueIndex 2054 | 203 2055 | INEnumValueName 2056 | southAfrica 2057 | 2058 | 2059 | INEnumValueDisplayName 2060 | South Georgia And The South Sandwich Islands 2061 | INEnumValueDisplayNameID 2062 | x8g5Lt 2063 | INEnumValueIndex 2064 | 204 2065 | INEnumValueName 2066 | southGeorgiaAndTheSouthSandwichIslands 2067 | 2068 | 2069 | INEnumValueDisplayName 2070 | Spain 2071 | INEnumValueDisplayNameID 2072 | 9N77en 2073 | INEnumValueIndex 2074 | 205 2075 | INEnumValueName 2076 | spain 2077 | 2078 | 2079 | INEnumValueDisplayName 2080 | Sri Lanka 2081 | INEnumValueDisplayNameID 2082 | U1Jw6b 2083 | INEnumValueIndex 2084 | 206 2085 | INEnumValueName 2086 | sriLanka 2087 | 2088 | 2089 | INEnumValueDisplayName 2090 | Sudan 2091 | INEnumValueDisplayNameID 2092 | yPuxQy 2093 | INEnumValueIndex 2094 | 207 2095 | INEnumValueName 2096 | sudan 2097 | 2098 | 2099 | INEnumValueDisplayName 2100 | Suriname 2101 | INEnumValueDisplayNameID 2102 | suUtb9 2103 | INEnumValueIndex 2104 | 208 2105 | INEnumValueName 2106 | suriname 2107 | 2108 | 2109 | INEnumValueDisplayName 2110 | Svalbard And Jan Mayen 2111 | INEnumValueDisplayNameID 2112 | s6KyW4 2113 | INEnumValueIndex 2114 | 209 2115 | INEnumValueName 2116 | svalbardAndJanMayen 2117 | 2118 | 2119 | INEnumValueDisplayName 2120 | Swaziland 2121 | INEnumValueDisplayNameID 2122 | 0BVbRW 2123 | INEnumValueIndex 2124 | 210 2125 | INEnumValueName 2126 | swaziland 2127 | 2128 | 2129 | INEnumValueDisplayName 2130 | Sweden 2131 | INEnumValueDisplayNameID 2132 | yb9P6w 2133 | INEnumValueIndex 2134 | 211 2135 | INEnumValueName 2136 | sweden 2137 | 2138 | 2139 | INEnumValueDisplayName 2140 | Switzerland 2141 | INEnumValueDisplayNameID 2142 | TOHyf8 2143 | INEnumValueIndex 2144 | 212 2145 | INEnumValueName 2146 | switzerland 2147 | 2148 | 2149 | INEnumValueDisplayName 2150 | Syrian Arab Republic 2151 | INEnumValueDisplayNameID 2152 | MSEjGb 2153 | INEnumValueIndex 2154 | 213 2155 | INEnumValueName 2156 | syrianArabRepublic 2157 | 2158 | 2159 | INEnumValueDisplayName 2160 | Taiwan 2161 | INEnumValueDisplayNameID 2162 | b5k0xk 2163 | INEnumValueIndex 2164 | 214 2165 | INEnumValueName 2166 | taiwan 2167 | 2168 | 2169 | INEnumValueDisplayName 2170 | Tajikistan 2171 | INEnumValueDisplayNameID 2172 | 1LH93j 2173 | INEnumValueIndex 2174 | 215 2175 | INEnumValueName 2176 | tajikistan 2177 | 2178 | 2179 | INEnumValueDisplayName 2180 | Tanzania 2181 | INEnumValueDisplayNameID 2182 | EqNaEj 2183 | INEnumValueIndex 2184 | 216 2185 | INEnumValueName 2186 | tanzania 2187 | 2188 | 2189 | INEnumValueDisplayName 2190 | Thailand 2191 | INEnumValueDisplayNameID 2192 | 11qCsu 2193 | INEnumValueIndex 2194 | 217 2195 | INEnumValueName 2196 | thailand 2197 | 2198 | 2199 | INEnumValueDisplayName 2200 | Timorleste 2201 | INEnumValueDisplayNameID 2202 | Ibt32x 2203 | INEnumValueIndex 2204 | 218 2205 | INEnumValueName 2206 | timorleste 2207 | 2208 | 2209 | INEnumValueDisplayName 2210 | Togo 2211 | INEnumValueDisplayNameID 2212 | Pjhm8a 2213 | INEnumValueIndex 2214 | 219 2215 | INEnumValueName 2216 | togo 2217 | 2218 | 2219 | INEnumValueDisplayName 2220 | Tokelau 2221 | INEnumValueDisplayNameID 2222 | 0JE2Ew 2223 | INEnumValueIndex 2224 | 220 2225 | INEnumValueName 2226 | tokelau 2227 | 2228 | 2229 | INEnumValueDisplayName 2230 | Tonga 2231 | INEnumValueDisplayNameID 2232 | VN1z9C 2233 | INEnumValueIndex 2234 | 221 2235 | INEnumValueName 2236 | tonga 2237 | 2238 | 2239 | INEnumValueDisplayName 2240 | Trinidad And Tobago 2241 | INEnumValueDisplayNameID 2242 | c6gefl 2243 | INEnumValueIndex 2244 | 222 2245 | INEnumValueName 2246 | trinidadAndTobago 2247 | 2248 | 2249 | INEnumValueDisplayName 2250 | Tunisia 2251 | INEnumValueDisplayNameID 2252 | 5uxoQ2 2253 | INEnumValueIndex 2254 | 223 2255 | INEnumValueName 2256 | tunisia 2257 | 2258 | 2259 | INEnumValueDisplayName 2260 | Turkey 2261 | INEnumValueDisplayNameID 2262 | NHZbU1 2263 | INEnumValueIndex 2264 | 224 2265 | INEnumValueName 2266 | turkey 2267 | 2268 | 2269 | INEnumValueDisplayName 2270 | Turkmenistan 2271 | INEnumValueDisplayNameID 2272 | 8k6PnG 2273 | INEnumValueIndex 2274 | 225 2275 | INEnumValueName 2276 | turkmenistan 2277 | 2278 | 2279 | INEnumValueDisplayName 2280 | Turks And Caicos Islands 2281 | INEnumValueDisplayNameID 2282 | IIAtI2 2283 | INEnumValueIndex 2284 | 226 2285 | INEnumValueName 2286 | turksAndCaicosIslands 2287 | 2288 | 2289 | INEnumValueDisplayName 2290 | Tuvalu 2291 | INEnumValueDisplayNameID 2292 | xUxgku 2293 | INEnumValueIndex 2294 | 227 2295 | INEnumValueName 2296 | tuvalu 2297 | 2298 | 2299 | INEnumValueDisplayName 2300 | Uganda 2301 | INEnumValueDisplayNameID 2302 | KeCyeu 2303 | INEnumValueIndex 2304 | 228 2305 | INEnumValueName 2306 | uganda 2307 | 2308 | 2309 | INEnumValueDisplayName 2310 | Ukraine 2311 | INEnumValueDisplayNameID 2312 | E5OG0G 2313 | INEnumValueIndex 2314 | 229 2315 | INEnumValueName 2316 | ukraine 2317 | 2318 | 2319 | INEnumValueDisplayName 2320 | United Arab Emirates 2321 | INEnumValueDisplayNameID 2322 | gdthRC 2323 | INEnumValueIndex 2324 | 230 2325 | INEnumValueName 2326 | unitedArabEmirates 2327 | 2328 | 2329 | INEnumValueDisplayName 2330 | United States Minor Outlying Islands 2331 | INEnumValueDisplayNameID 2332 | rUx5k0 2333 | INEnumValueIndex 2334 | 231 2335 | INEnumValueName 2336 | unitedStatesMinorOutlyingIslands 2337 | 2338 | 2339 | INEnumValueDisplayName 2340 | Uruguay 2341 | INEnumValueDisplayNameID 2342 | ir0Vt7 2343 | INEnumValueIndex 2344 | 232 2345 | INEnumValueName 2346 | uruguay 2347 | 2348 | 2349 | INEnumValueDisplayName 2350 | Uzbekistan 2351 | INEnumValueDisplayNameID 2352 | H6FLVF 2353 | INEnumValueIndex 2354 | 233 2355 | INEnumValueName 2356 | uzbekistan 2357 | 2358 | 2359 | INEnumValueDisplayName 2360 | Vanuatu 2361 | INEnumValueDisplayNameID 2362 | 2SmG3e 2363 | INEnumValueIndex 2364 | 234 2365 | INEnumValueName 2366 | vanuatu 2367 | 2368 | 2369 | INEnumValueDisplayName 2370 | Venezuela 2371 | INEnumValueDisplayNameID 2372 | EJI6pt 2373 | INEnumValueIndex 2374 | 235 2375 | INEnumValueName 2376 | venezuela 2377 | 2378 | 2379 | INEnumValueDisplayName 2380 | Viet Nam 2381 | INEnumValueDisplayNameID 2382 | QTAZsn 2383 | INEnumValueIndex 2384 | 236 2385 | INEnumValueName 2386 | vietNam 2387 | 2388 | 2389 | INEnumValueDisplayName 2390 | Virgin Islands U K 2391 | INEnumValueDisplayNameID 2392 | EXzobF 2393 | INEnumValueIndex 2394 | 237 2395 | INEnumValueName 2396 | virginIslandsUK 2397 | 2398 | 2399 | INEnumValueDisplayName 2400 | Virgin Islands U S 2401 | INEnumValueDisplayNameID 2402 | Gph53t 2403 | INEnumValueIndex 2404 | 238 2405 | INEnumValueName 2406 | virginIslandsUS 2407 | 2408 | 2409 | INEnumValueDisplayName 2410 | Wallis And Futuna 2411 | INEnumValueDisplayNameID 2412 | 88JjSB 2413 | INEnumValueIndex 2414 | 239 2415 | INEnumValueName 2416 | wallisAndFutuna 2417 | 2418 | 2419 | INEnumValueDisplayName 2420 | Western Sahara 2421 | INEnumValueDisplayNameID 2422 | dGmDR1 2423 | INEnumValueIndex 2424 | 240 2425 | INEnumValueName 2426 | westernSahara 2427 | 2428 | 2429 | INEnumValueDisplayName 2430 | Yemen 2431 | INEnumValueDisplayNameID 2432 | uGEvpl 2433 | INEnumValueIndex 2434 | 241 2435 | INEnumValueName 2436 | yemen 2437 | 2438 | 2439 | INEnumValueDisplayName 2440 | Zambia 2441 | INEnumValueDisplayNameID 2442 | Tq00rg 2443 | INEnumValueIndex 2444 | 242 2445 | INEnumValueName 2446 | zambia 2447 | 2448 | 2449 | INEnumValueDisplayName 2450 | Zimbabwe 2451 | INEnumValueDisplayNameID 2452 | FGQaCD 2453 | INEnumValueIndex 2454 | 243 2455 | INEnumValueName 2456 | zimbabwe 2457 | 2458 | 2459 | 2460 | 2461 | INIntentDefinitionModelVersion 2462 | 1.2 2463 | INIntentDefinitionNamespace 2464 | 88xZPY 2465 | INIntentDefinitionSystemVersion 2466 | 19H2 2467 | INIntentDefinitionToolsBuildVersion 2468 | 12A7300 2469 | INIntentDefinitionToolsVersion 2470 | 12.0.1 2471 | INIntents 2472 | 2473 | 2474 | INIntentCategory 2475 | information 2476 | INIntentDescriptionID 2477 | tVvJ9c 2478 | INIntentEligibleForWidgets 2479 | 2480 | INIntentIneligibleForSuggestions 2481 | 2482 | INIntentLastParameterTag 2483 | 3 2484 | INIntentName 2485 | Configuration 2486 | INIntentParameters 2487 | 2488 | 2489 | INIntentParameterConfigurable 2490 | 2491 | INIntentParameterDisplayName 2492 | Country 2493 | INIntentParameterDisplayNameID 2494 | dcfQsD 2495 | INIntentParameterDisplayPriority 2496 | 1 2497 | INIntentParameterEnumType 2498 | Country 2499 | INIntentParameterEnumTypeNamespace 2500 | 88xZPY 2501 | INIntentParameterName 2502 | country 2503 | INIntentParameterTag 2504 | 3 2505 | INIntentParameterType 2506 | Integer 2507 | 2508 | 2509 | INIntentResponse 2510 | 2511 | INIntentResponseCodes 2512 | 2513 | 2514 | INIntentResponseCodeName 2515 | success 2516 | INIntentResponseCodeSuccess 2517 | 2518 | 2519 | 2520 | INIntentResponseCodeName 2521 | failure 2522 | 2523 | 2524 | 2525 | INIntentTitle 2526 | Configuration 2527 | INIntentTitleID 2528 | gpCwrM 2529 | INIntentType 2530 | Custom 2531 | INIntentVerb 2532 | View 2533 | 2534 | 2535 | INTypes 2536 | 2537 | 2538 | 2539 | --------------------------------------------------------------------------------