From 69118a85a69d7aee01075079a13977617205055d Mon Sep 17 00:00:00 2001
From: Christophe Geuzaine <cgeuzaine@ulg.ac.be>
Date: Mon, 2 Jun 2014 17:43:47 +0000
Subject: [PATCH] switch to image asset for icons and spashscreens

---
 contrib/mobile/CMakeLists.txt                 |   2 -
 .../iOS/Onelab.xcodeproj/project.pbxproj      |  24 +++-----
 .../AppIcon.appiconset/Contents.json          |  56 +++++++++++++++++
 .../AppIcon.appiconset/icon_app_ipad.png      | Bin 0 -> 1915 bytes
 .../icon_app_ipad_retina.png                  | Bin 0 -> 4144 bytes
 .../icon_app_iphone_retina.png                | Bin 0 -> 3193 bytes
 .../LaunchImage.launchimage/Contents.json     |  57 ++++++++++++++++++
 .../splash1024x768.png                        | Bin 0 -> 6927 bytes
 .../splash1536x2048.png                       | Bin 0 -> 23429 bytes
 .../splash2048x1536.png                       | Bin 0 -> 22482 bytes
 .../splash640x1136.png                        | Bin 0 -> 7008 bytes
 .../LaunchImage.launchimage/splash640x960.png | Bin 0 -> 6328 bytes
 .../splash768x1024.png                        | Bin 0 -> 7117 bytes
 13 files changed, 121 insertions(+), 18 deletions(-)
 create mode 100644 contrib/mobile/iOS/Onelab/Images.xcassets/AppIcon.appiconset/Contents.json
 create mode 100644 contrib/mobile/iOS/Onelab/Images.xcassets/AppIcon.appiconset/icon_app_ipad.png
 create mode 100644 contrib/mobile/iOS/Onelab/Images.xcassets/AppIcon.appiconset/icon_app_ipad_retina.png
 create mode 100644 contrib/mobile/iOS/Onelab/Images.xcassets/AppIcon.appiconset/icon_app_iphone_retina.png
 create mode 100644 contrib/mobile/iOS/Onelab/Images.xcassets/LaunchImage.launchimage/Contents.json
 create mode 100644 contrib/mobile/iOS/Onelab/Images.xcassets/LaunchImage.launchimage/splash1024x768.png
 create mode 100644 contrib/mobile/iOS/Onelab/Images.xcassets/LaunchImage.launchimage/splash1536x2048.png
 create mode 100644 contrib/mobile/iOS/Onelab/Images.xcassets/LaunchImage.launchimage/splash2048x1536.png
 create mode 100644 contrib/mobile/iOS/Onelab/Images.xcassets/LaunchImage.launchimage/splash640x1136.png
 create mode 100644 contrib/mobile/iOS/Onelab/Images.xcassets/LaunchImage.launchimage/splash640x960.png
 create mode 100644 contrib/mobile/iOS/Onelab/Images.xcassets/LaunchImage.launchimage/splash768x1024.png

diff --git a/contrib/mobile/CMakeLists.txt b/contrib/mobile/CMakeLists.txt
index 2fb325241e..d73adeb442 100644
--- a/contrib/mobile/CMakeLists.txt
+++ b/contrib/mobile/CMakeLists.txt
@@ -70,10 +70,8 @@ if(ENABLE_BUILD_IOS_EMULATOR OR ENABLE_BUILD_IOS)
   endif(PETSC_FRAMEWORK)
   # add target
   add_custom_target(xcodeProject
-    cd ${CMAKE_CURRENT_SOURCE_DIR}/utils/ && ${CMAKE_CURRENT_SOURCE_DIR}/utils/make_icon_ios.sh
     COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/Onelab/
     COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/models/
-    COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/utils/ios.iconset/ ${CMAKE_CURRENT_BINARY_DIR}/Onelab/Onelab/
     COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/iOS/Onelab/ ${CMAKE_CURRENT_BINARY_DIR}/Onelab/Onelab/
     COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/iOS/Onelab.xcodeproj/ ${CMAKE_CURRENT_BINARY_DIR}/Onelab/Onelab.xcodeproj/
     COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/drawContext.cpp ${CMAKE_CURRENT_BINARY_DIR}/Onelab/Onelab/
diff --git a/contrib/mobile/iOS/Onelab.xcodeproj/project.pbxproj b/contrib/mobile/iOS/Onelab.xcodeproj/project.pbxproj
index e1211482f2..6e91afbe73 100644
--- a/contrib/mobile/iOS/Onelab.xcodeproj/project.pbxproj
+++ b/contrib/mobile/iOS/Onelab.xcodeproj/project.pbxproj
@@ -9,14 +9,11 @@
 /* Begin PBXBuildFile section */
 		2988FF1E18E59558001435B6 /* libf2cblas.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2988FF1C18E59558001435B6 /* libf2cblas.a */; };
 		2988FF1F18E59558001435B6 /* libf2clapack.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2988FF1D18E59558001435B6 /* libf2clapack.a */; };
+		29A4AC80193CE6DA0007B5A5 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 29A4AC7F193CE6DA0007B5A5 /* Images.xcassets */; };
 		9C1C10FA17BA5E7D00BFD483 /* OptionsViewController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 9C1C10F917BA5E7D00BFD483 /* OptionsViewController.mm */; };
-		9C273C1F18E33A2F0071EC3F /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 9C273C1E18E33A2F0071EC3F /* Default-568h@2x.png */; };
 		9C2C3A1E187FDF9200E87F78 /* libc++.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 9C2C3A1D187FDF9200E87F78 /* libc++.dylib */; };
 		9C2C3A20187FDF9900E87F78 /* libstdc++.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 9C2C3A1F187FDF9900E87F78 /* libstdc++.dylib */; };
 		9C6A645817A7C3DB00DEDAFC /* drawString.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9C6A645617A7C3DB00DEDAFC /* drawString.cpp */; };
-		9C92862B180D217B00AAABD4 /* icon_app_ipad_retina.png in Resources */ = {isa = PBXBuildFile; fileRef = 9C928624180D217A00AAABD4 /* icon_app_ipad_retina.png */; };
-		9C92862C180D217B00AAABD4 /* icon_app_ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 9C928625180D217A00AAABD4 /* icon_app_ipad.png */; };
-		9C92862F180D217B00AAABD4 /* icon_app_iphone_retina.png in Resources */ = {isa = PBXBuildFile; fileRef = 9C928628180D217B00AAABD4 /* icon_app_iphone_retina.png */; };
 		9C95B7F61726C88E00C0CCE2 /* main.mm in Sources */ = {isa = PBXBuildFile; fileRef = 9C95B7F51726C88E00C0CCE2 /* main.mm */; };
 		9C96083B1712C16300E1D4A0 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9C96083A1712C16300E1D4A0 /* UIKit.framework */; };
 		9C96083D1712C16300E1D4A0 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9C96083C1712C16300E1D4A0 /* Foundation.framework */; };
@@ -54,16 +51,13 @@
 /* Begin PBXFileReference section */
 		2988FF1C18E59558001435B6 /* libf2cblas.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libf2cblas.a; path = ../../frameworks/libf2cblas.a; sourceTree = "<group>"; };
 		2988FF1D18E59558001435B6 /* libf2clapack.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libf2clapack.a; path = ../../frameworks/libf2clapack.a; sourceTree = "<group>"; };
+		29A4AC7F193CE6DA0007B5A5 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = "<group>"; };
 		9C1C10F817BA5E7D00BFD483 /* OptionsViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OptionsViewController.h; sourceTree = "<group>"; };
 		9C1C10F917BA5E7D00BFD483 /* OptionsViewController.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = OptionsViewController.mm; sourceTree = "<group>"; };
-		9C273C1E18E33A2F0071EC3F /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x.png"; sourceTree = "<group>"; };
 		9C2C3A1D187FDF9200E87F78 /* libc++.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libc++.dylib"; path = "usr/lib/libc++.dylib"; sourceTree = SDKROOT; };
 		9C2C3A1F187FDF9900E87F78 /* libstdc++.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libstdc++.dylib"; path = "usr/lib/libstdc++.dylib"; sourceTree = SDKROOT; };
 		9C6A645617A7C3DB00DEDAFC /* drawString.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = drawString.cpp; sourceTree = "<group>"; usesTabs = 1; };
 		9C6A645717A7C3DB00DEDAFC /* drawString.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = drawString.h; sourceTree = "<group>"; usesTabs = 1; };
-		9C928624180D217A00AAABD4 /* icon_app_ipad_retina.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = icon_app_ipad_retina.png; sourceTree = "<group>"; };
-		9C928625180D217A00AAABD4 /* icon_app_ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = icon_app_ipad.png; sourceTree = "<group>"; };
-		9C928628180D217B00AAABD4 /* icon_app_iphone_retina.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = icon_app_iphone_retina.png; sourceTree = "<group>"; };
 		9C95B7F51726C88E00C0CCE2 /* main.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = main.mm; sourceTree = "<group>"; };
 		9C9608361712C16300E1D4A0 /* Onelab.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Onelab.app; sourceTree = BUILT_PRODUCTS_DIR; };
 		9C96083A1712C16300E1D4A0 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
@@ -146,9 +140,6 @@
 			children = (
 				9CB1CD9C18DC57DE00110882 /* icon_translate.png */,
 				9CB1CD9618DB2D8700110882 /* icon_rotate.png */,
-				9C928624180D217A00AAABD4 /* icon_app_ipad_retina.png */,
-				9C928625180D217A00AAABD4 /* icon_app_ipad.png */,
-				9C928628180D217B00AAABD4 /* icon_app_iphone_retina.png */,
 			);
 			name = icons;
 			sourceTree = "<group>";
@@ -234,6 +225,7 @@
 				9C9608721712C47200E1D4A0 /* EAGLView.h */,
 				9C9608731712C47200E1D4A0 /* EAGLView.mm */,
 				9C96089E1712C8EB00E1D4A0 /* emulatorFix.c */,
+				29A4AC7F193CE6DA0007B5A5 /* Images.xcassets */,
 				9CF1C1F017AA8A46002CD2E3 /* Supporting Files */,
 			);
 			path = Onelab;
@@ -242,7 +234,6 @@
 		9CF1C1F017AA8A46002CD2E3 /* Supporting Files */ = {
 			isa = PBXGroup;
 			children = (
-				9C273C1E18E33A2F0071EC3F /* Default-568h@2x.png */,
 				9CF1C1F117AA8A7D002CD2E3 /* Onelab-Prefix.pch */,
 				9C95B7F51726C88E00C0CCE2 /* main.mm */,
 				9CF1C1EE17AA8997002CD2E3 /* Onelab-Info.plist */,
@@ -308,13 +299,10 @@
 			files = (
 				9C9608AC1712EF0900E1D4A0 /* iPadStoryboard.storyboard in Resources */,
 				9CB1CD9818DB2D8700110882 /* icon_rotate.png in Resources */,
-				9C273C1F18E33A2F0071EC3F /* Default-568h@2x.png in Resources */,
 				9CC85C021790286C00F241C4 /* files in Resources */,
+				29A4AC80193CE6DA0007B5A5 /* Images.xcassets in Resources */,
 				9CB1CD9D18DC57DE00110882 /* icon_translate.png in Resources */,
-				9C92862F180D217B00AAABD4 /* icon_app_iphone_retina.png in Resources */,
-				9C92862C180D217B00AAABD4 /* icon_app_ipad.png in Resources */,
 				9CE1A65A17B0FB9700E5152F /* iPhoneiPodStoryboard.storyboard in Resources */,
-				9C92862B180D217B00AAABD4 /* icon_app_ipad_retina.png in Resources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -449,6 +437,8 @@
 		9C96086D1712C16400E1D4A0 /* Debug */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
+				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
 				CLANG_ENABLE_OBJC_ARC = YES;
 				CODE_SIGN_IDENTITY = "iPhone Developer";
 				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
@@ -476,6 +466,8 @@
 		9C96086E1712C16400E1D4A0 /* Release */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
+				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
 				CLANG_ENABLE_OBJC_ARC = YES;
 				CODE_SIGN_IDENTITY = "iPhone Developer";
 				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
diff --git a/contrib/mobile/iOS/Onelab/Images.xcassets/AppIcon.appiconset/Contents.json b/contrib/mobile/iOS/Onelab/Images.xcassets/AppIcon.appiconset/Contents.json
new file mode 100644
index 0000000000..07ee4c7595
--- /dev/null
+++ b/contrib/mobile/iOS/Onelab/Images.xcassets/AppIcon.appiconset/Contents.json
@@ -0,0 +1,56 @@
+{
+  "images" : [
+    {
+      "idiom" : "iphone",
+      "scale" : "2x",
+      "size" : "40x40"
+    },
+    {
+      "size" : "60x60",
+      "idiom" : "iphone",
+      "filename" : "icon_app_iphone_retina.png",
+      "scale" : "2x"
+    },
+    {
+      "size" : "76x76",
+      "idiom" : "ipad",
+      "filename" : "icon_app_ipad.png",
+      "scale" : "1x"
+    },
+    {
+      "size" : "76x76",
+      "idiom" : "ipad",
+      "filename" : "icon_app_ipad_retina.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "ipad",
+      "scale" : "1x",
+      "size" : "40x40"
+    },
+    {
+      "idiom" : "ipad",
+      "scale" : "2x",
+      "size" : "40x40"
+    },
+    {
+      "idiom" : "iphone",
+      "scale" : "2x",
+      "size" : "29x29"
+    },
+    {
+      "idiom" : "ipad",
+      "scale" : "1x",
+      "size" : "29x29"
+    },
+    {
+      "idiom" : "ipad",
+      "scale" : "2x",
+      "size" : "29x29"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/contrib/mobile/iOS/Onelab/Images.xcassets/AppIcon.appiconset/icon_app_ipad.png b/contrib/mobile/iOS/Onelab/Images.xcassets/AppIcon.appiconset/icon_app_ipad.png
new file mode 100644
index 0000000000000000000000000000000000000000..001965f33af0022680c6e8982e857dd74a9611fd
GIT binary patch
literal 1915
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
BRiFR>

literal 0
HcmV?d00001

diff --git a/contrib/mobile/iOS/Onelab/Images.xcassets/AppIcon.appiconset/icon_app_ipad_retina.png b/contrib/mobile/iOS/Onelab/Images.xcassets/AppIcon.appiconset/icon_app_ipad_retina.png
new file mode 100644
index 0000000000000000000000000000000000000000..be1e6888ad0b308577dbd81d1ae1ce06554e2cb5
GIT binary patch
literal 4144
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
Z1#?;DzZqus=Y0SJ<T~C6SA``}{sV%3wN(HB

literal 0
HcmV?d00001

diff --git a/contrib/mobile/iOS/Onelab/Images.xcassets/AppIcon.appiconset/icon_app_iphone_retina.png b/contrib/mobile/iOS/Onelab/Images.xcassets/AppIcon.appiconset/icon_app_iphone_retina.png
new file mode 100644
index 0000000000000000000000000000000000000000..fcaa30c368bd1153505f04de4ea033d2b7fa1a2a
GIT binary patch
literal 3193
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
AumAu6

literal 0
HcmV?d00001

diff --git a/contrib/mobile/iOS/Onelab/Images.xcassets/LaunchImage.launchimage/Contents.json b/contrib/mobile/iOS/Onelab/Images.xcassets/LaunchImage.launchimage/Contents.json
new file mode 100644
index 0000000000..ee3a5d7e31
--- /dev/null
+++ b/contrib/mobile/iOS/Onelab/Images.xcassets/LaunchImage.launchimage/Contents.json
@@ -0,0 +1,57 @@
+{
+  "images" : [
+    {
+      "orientation" : "portrait",
+      "idiom" : "iphone",
+      "extent" : "full-screen",
+      "minimum-system-version" : "7.0",
+      "filename" : "splash640x960.png",
+      "scale" : "2x"
+    },
+    {
+      "extent" : "full-screen",
+      "idiom" : "iphone",
+      "subtype" : "retina4",
+      "filename" : "splash640x1136.png",
+      "minimum-system-version" : "7.0",
+      "orientation" : "portrait",
+      "scale" : "2x"
+    },
+    {
+      "orientation" : "portrait",
+      "idiom" : "ipad",
+      "extent" : "full-screen",
+      "minimum-system-version" : "7.0",
+      "filename" : "splash768x1024.png",
+      "scale" : "1x"
+    },
+    {
+      "orientation" : "landscape",
+      "idiom" : "ipad",
+      "extent" : "full-screen",
+      "minimum-system-version" : "7.0",
+      "filename" : "splash1024x768.png",
+      "scale" : "1x"
+    },
+    {
+      "orientation" : "portrait",
+      "idiom" : "ipad",
+      "extent" : "full-screen",
+      "minimum-system-version" : "7.0",
+      "filename" : "splash1536x2048.png",
+      "scale" : "2x"
+    },
+    {
+      "orientation" : "landscape",
+      "idiom" : "ipad",
+      "extent" : "full-screen",
+      "minimum-system-version" : "7.0",
+      "filename" : "splash2048x1536.png",
+      "scale" : "2x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/contrib/mobile/iOS/Onelab/Images.xcassets/LaunchImage.launchimage/splash1024x768.png b/contrib/mobile/iOS/Onelab/Images.xcassets/LaunchImage.launchimage/splash1024x768.png
new file mode 100644
index 0000000000000000000000000000000000000000..db1064519983b20895b324f2c0d8a5ee4372e0c3
GIT binary patch
literal 6927
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
ZEmSH}>P%lgwnP?=%gJsly3ocu{$DyG{_Ow&

literal 0
HcmV?d00001

diff --git a/contrib/mobile/iOS/Onelab/Images.xcassets/LaunchImage.launchimage/splash1536x2048.png b/contrib/mobile/iOS/Onelab/Images.xcassets/LaunchImage.launchimage/splash1536x2048.png
new file mode 100644
index 0000000000000000000000000000000000000000..dd8883d522a1c9cebdaffaf995f16b86f933679b
GIT binary patch
literal 23429
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
TO2tNLL&|@hFfqu}v%B|Sp^X40

literal 0
HcmV?d00001

diff --git a/contrib/mobile/iOS/Onelab/Images.xcassets/LaunchImage.launchimage/splash2048x1536.png b/contrib/mobile/iOS/Onelab/Images.xcassets/LaunchImage.launchimage/splash2048x1536.png
new file mode 100644
index 0000000000000000000000000000000000000000..5399755da4b7a42a0fd2406cd9c3bed85a16409c
GIT binary patch
literal 22482
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

literal 0
HcmV?d00001

diff --git a/contrib/mobile/iOS/Onelab/Images.xcassets/LaunchImage.launchimage/splash640x1136.png b/contrib/mobile/iOS/Onelab/Images.xcassets/LaunchImage.launchimage/splash640x1136.png
new file mode 100644
index 0000000000000000000000000000000000000000..95693f0953e37c2c409170de7f5b73235b87368b
GIT binary patch
literal 7008
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

literal 0
HcmV?d00001

diff --git a/contrib/mobile/iOS/Onelab/Images.xcassets/LaunchImage.launchimage/splash640x960.png b/contrib/mobile/iOS/Onelab/Images.xcassets/LaunchImage.launchimage/splash640x960.png
new file mode 100644
index 0000000000000000000000000000000000000000..30e417d36a36e11d01b6865641aca943bd2d7c65
GIT binary patch
literal 6328
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

literal 0
HcmV?d00001

diff --git a/contrib/mobile/iOS/Onelab/Images.xcassets/LaunchImage.launchimage/splash768x1024.png b/contrib/mobile/iOS/Onelab/Images.xcassets/LaunchImage.launchimage/splash768x1024.png
new file mode 100644
index 0000000000000000000000000000000000000000..48150daee274668e668caf75a80bc4fb9630c083
GIT binary patch
literal 7117
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

literal 0
HcmV?d00001

-- 
GitLab