From 277b9fb0e5650a23645cbdbbfd1bc9ef70891338 Mon Sep 17 00:00:00 2001 From: Jawahar Venugopal Date: Tue, 1 Jun 2021 23:45:58 +0530 Subject: [PATCH 1/2] Added HMOS Day 1 Assignment --- .../Jawahar Venugopal/.gitignore | 15 ++ .../Jawahar Venugopal/.idea/.gitignore | 3 + .../Jawahar Venugopal/.idea/compiler.xml | 6 + .../Jawahar Venugopal/.idea/gradle.xml | 21 ++ .../.idea/jarRepositories.xml | 30 +++ .../Jawahar Venugopal/.idea/misc.xml | 4 + .../phone/phoneSettingConfig_-561488369.json | 25 +++ .../.idea/previewer/previewConfig.json | 9 + .../Jawahar Venugopal/build.gradle | 37 ++++ .../Jawahar Venugopal/entry/.gitignore | 1 + .../Jawahar Venugopal/entry/build.gradle | 26 +++ .../entry/proguard-rules.pro | 1 + .../entry/src/main/config.json | 49 +++++ .../hmosassignment/MainAbility.java | 14 ++ .../hmosassignment/MyApplication.java | 10 + .../slice/LoginAbilitySlice.java | 23 +++ .../slice/MainAbilitySlice.java | 34 ++++ .../slice/SignupAbilitySlice.java | 23 +++ .../main/resources/base/element/string.json | 16 ++ .../base/graphic/background_text_button.xml | 13 ++ .../resources/base/layout/ability_login.xml | 15 ++ .../resources/base/layout/ability_main.xml | 37 ++++ .../resources/base/layout/ability_signup.xml | 15 ++ .../resources/base/media/applib_icon.jpeg | Bin 0 -> 16463 bytes .../src/main/resources/base/media/icon.png | Bin 0 -> 6790 bytes .../entry/src/ohosTest/config.json | 41 ++++ .../hmosassignment/ExampleOhosTest.java | 14 ++ .../hmosassignment/ExampleTest.java | 9 + .../Jawahar Venugopal/gradle.properties | 10 + .../gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 58694 bytes .../gradle/wrapper/gradle-wrapper.properties | 5 + .../Day1 Assingment/Jawahar Venugopal/gradlew | 183 ++++++++++++++++++ .../Jawahar Venugopal/gradlew.bat | 103 ++++++++++ .../screenshots/Capture1.PNG | Bin 0 -> 68224 bytes .../screenshots/Capture2.PNG | Bin 0 -> 32136 bytes .../screenshots/Capture3.PNG | Bin 0 -> 33654 bytes .../Jawahar Venugopal/settings.gradle | 1 + 37 files changed, 793 insertions(+) create mode 100644 HarmonyOS/Day1 Assingment/Jawahar Venugopal/.gitignore create mode 100644 HarmonyOS/Day1 Assingment/Jawahar Venugopal/.idea/.gitignore create mode 100644 HarmonyOS/Day1 Assingment/Jawahar Venugopal/.idea/compiler.xml create mode 100644 HarmonyOS/Day1 Assingment/Jawahar Venugopal/.idea/gradle.xml create mode 100644 HarmonyOS/Day1 Assingment/Jawahar Venugopal/.idea/jarRepositories.xml create mode 100644 HarmonyOS/Day1 Assingment/Jawahar Venugopal/.idea/misc.xml create mode 100644 HarmonyOS/Day1 Assingment/Jawahar Venugopal/.idea/previewer/phone/phoneSettingConfig_-561488369.json create mode 100644 HarmonyOS/Day1 Assingment/Jawahar Venugopal/.idea/previewer/previewConfig.json create mode 100644 HarmonyOS/Day1 Assingment/Jawahar Venugopal/build.gradle create mode 100644 HarmonyOS/Day1 Assingment/Jawahar Venugopal/entry/.gitignore create mode 100644 HarmonyOS/Day1 Assingment/Jawahar Venugopal/entry/build.gradle create mode 100644 HarmonyOS/Day1 Assingment/Jawahar Venugopal/entry/proguard-rules.pro create mode 100644 HarmonyOS/Day1 Assingment/Jawahar Venugopal/entry/src/main/config.json create mode 100644 HarmonyOS/Day1 Assingment/Jawahar Venugopal/entry/src/main/java/com/applib/jawahar_venugopal/hmosassignment/MainAbility.java create mode 100644 HarmonyOS/Day1 Assingment/Jawahar Venugopal/entry/src/main/java/com/applib/jawahar_venugopal/hmosassignment/MyApplication.java create mode 100644 HarmonyOS/Day1 Assingment/Jawahar Venugopal/entry/src/main/java/com/applib/jawahar_venugopal/hmosassignment/slice/LoginAbilitySlice.java create mode 100644 HarmonyOS/Day1 Assingment/Jawahar Venugopal/entry/src/main/java/com/applib/jawahar_venugopal/hmosassignment/slice/MainAbilitySlice.java create mode 100644 HarmonyOS/Day1 Assingment/Jawahar Venugopal/entry/src/main/java/com/applib/jawahar_venugopal/hmosassignment/slice/SignupAbilitySlice.java create mode 100644 HarmonyOS/Day1 Assingment/Jawahar Venugopal/entry/src/main/resources/base/element/string.json create mode 100644 HarmonyOS/Day1 Assingment/Jawahar Venugopal/entry/src/main/resources/base/graphic/background_text_button.xml create mode 100644 HarmonyOS/Day1 Assingment/Jawahar Venugopal/entry/src/main/resources/base/layout/ability_login.xml create mode 100644 HarmonyOS/Day1 Assingment/Jawahar Venugopal/entry/src/main/resources/base/layout/ability_main.xml create mode 100644 HarmonyOS/Day1 Assingment/Jawahar Venugopal/entry/src/main/resources/base/layout/ability_signup.xml create mode 100644 HarmonyOS/Day1 Assingment/Jawahar Venugopal/entry/src/main/resources/base/media/applib_icon.jpeg create mode 100644 HarmonyOS/Day1 Assingment/Jawahar Venugopal/entry/src/main/resources/base/media/icon.png create mode 100644 HarmonyOS/Day1 Assingment/Jawahar Venugopal/entry/src/ohosTest/config.json create mode 100644 HarmonyOS/Day1 Assingment/Jawahar Venugopal/entry/src/ohosTest/java/com/applib/jawahar_venugopal/hmosassignment/ExampleOhosTest.java create mode 100644 HarmonyOS/Day1 Assingment/Jawahar Venugopal/entry/src/test/java/com/applib/jawahar_venugopal/hmosassignment/ExampleTest.java create mode 100644 HarmonyOS/Day1 Assingment/Jawahar Venugopal/gradle.properties create mode 100644 HarmonyOS/Day1 Assingment/Jawahar Venugopal/gradle/wrapper/gradle-wrapper.jar create mode 100644 HarmonyOS/Day1 Assingment/Jawahar Venugopal/gradle/wrapper/gradle-wrapper.properties create mode 100644 HarmonyOS/Day1 Assingment/Jawahar Venugopal/gradlew create mode 100644 HarmonyOS/Day1 Assingment/Jawahar Venugopal/gradlew.bat create mode 100644 HarmonyOS/Day1 Assingment/Jawahar Venugopal/screenshots/Capture1.PNG create mode 100644 HarmonyOS/Day1 Assingment/Jawahar Venugopal/screenshots/Capture2.PNG create mode 100644 HarmonyOS/Day1 Assingment/Jawahar Venugopal/screenshots/Capture3.PNG create mode 100644 HarmonyOS/Day1 Assingment/Jawahar Venugopal/settings.gradle diff --git a/HarmonyOS/Day1 Assingment/Jawahar Venugopal/.gitignore b/HarmonyOS/Day1 Assingment/Jawahar Venugopal/.gitignore new file mode 100644 index 00000000..37a4eb8b --- /dev/null +++ b/HarmonyOS/Day1 Assingment/Jawahar Venugopal/.gitignore @@ -0,0 +1,15 @@ +*.iml +.gradle +/local.properties +/.idea/caches +/.idea/libraries +/.idea/modules.xml +/.idea/workspace.xml +/.idea/navEditor.xml +/.idea/assetWizardSettings.xml +.DS_Store +/build +/captures +.externalNativeBuild +/entry/.preview +.cxx diff --git a/HarmonyOS/Day1 Assingment/Jawahar Venugopal/.idea/.gitignore b/HarmonyOS/Day1 Assingment/Jawahar Venugopal/.idea/.gitignore new file mode 100644 index 00000000..26d33521 --- /dev/null +++ b/HarmonyOS/Day1 Assingment/Jawahar Venugopal/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/HarmonyOS/Day1 Assingment/Jawahar Venugopal/.idea/compiler.xml b/HarmonyOS/Day1 Assingment/Jawahar Venugopal/.idea/compiler.xml new file mode 100644 index 00000000..61a9130c --- /dev/null +++ b/HarmonyOS/Day1 Assingment/Jawahar Venugopal/.idea/compiler.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/HarmonyOS/Day1 Assingment/Jawahar Venugopal/.idea/gradle.xml b/HarmonyOS/Day1 Assingment/Jawahar Venugopal/.idea/gradle.xml new file mode 100644 index 00000000..1acd5190 --- /dev/null +++ b/HarmonyOS/Day1 Assingment/Jawahar Venugopal/.idea/gradle.xml @@ -0,0 +1,21 @@ + + + + + + \ No newline at end of file diff --git a/HarmonyOS/Day1 Assingment/Jawahar Venugopal/.idea/jarRepositories.xml b/HarmonyOS/Day1 Assingment/Jawahar Venugopal/.idea/jarRepositories.xml new file mode 100644 index 00000000..1dfcd020 --- /dev/null +++ b/HarmonyOS/Day1 Assingment/Jawahar Venugopal/.idea/jarRepositories.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/HarmonyOS/Day1 Assingment/Jawahar Venugopal/.idea/misc.xml b/HarmonyOS/Day1 Assingment/Jawahar Venugopal/.idea/misc.xml new file mode 100644 index 00000000..58918f50 --- /dev/null +++ b/HarmonyOS/Day1 Assingment/Jawahar Venugopal/.idea/misc.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/HarmonyOS/Day1 Assingment/Jawahar Venugopal/.idea/previewer/phone/phoneSettingConfig_-561488369.json b/HarmonyOS/Day1 Assingment/Jawahar Venugopal/.idea/previewer/phone/phoneSettingConfig_-561488369.json new file mode 100644 index 00000000..f505e6b9 --- /dev/null +++ b/HarmonyOS/Day1 Assingment/Jawahar Venugopal/.idea/previewer/phone/phoneSettingConfig_-561488369.json @@ -0,0 +1,25 @@ +{ + "setting": { + "1.0.1": { + "Language": { + "args": { + "Language": "zh-CN" + } + } + } + }, + "frontend": { + "1.0.0": { + "Resolution": { + "args": { + "Resolution": "360*780" + } + }, + "DeviceType": { + "args": { + "DeviceType": "phone" + } + } + } + } +} \ No newline at end of file diff --git a/HarmonyOS/Day1 Assingment/Jawahar Venugopal/.idea/previewer/previewConfig.json b/HarmonyOS/Day1 Assingment/Jawahar Venugopal/.idea/previewer/previewConfig.json new file mode 100644 index 00000000..910d9240 --- /dev/null +++ b/HarmonyOS/Day1 Assingment/Jawahar Venugopal/.idea/previewer/previewConfig.json @@ -0,0 +1,9 @@ +{ + "1.0.0": { + "LastPreviewDevice": { + "C:\\WorkSpace\\Assignment\\entry": [ + "phone" + ] + } + } +} \ No newline at end of file diff --git a/HarmonyOS/Day1 Assingment/Jawahar Venugopal/build.gradle b/HarmonyOS/Day1 Assingment/Jawahar Venugopal/build.gradle new file mode 100644 index 00000000..1dc510ff --- /dev/null +++ b/HarmonyOS/Day1 Assingment/Jawahar Venugopal/build.gradle @@ -0,0 +1,37 @@ +// Top-level build file where you can add configuration options common to all sub-projects/modules. +apply plugin: 'com.huawei.ohos.app' + +ohos { + compileSdkVersion 5 + defaultConfig { + compatibleSdkVersion 5 + } +} + +buildscript { + repositories { + maven { + url 'https://repo.huaweicloud.com/repository/maven/' + } + maven { + url 'https://developer.huawei.com/repo/' + } + jcenter() + } + dependencies { + classpath 'com.huawei.ohos:hap:2.4.2.7' + classpath 'com.huawei.ohos:decctest:1.0.0.7' + } +} + +allprojects { + repositories { + maven { + url 'https://repo.huaweicloud.com/repository/maven/' + } + maven { + url 'https://developer.huawei.com/repo/' + } + jcenter() + } +} diff --git a/HarmonyOS/Day1 Assingment/Jawahar Venugopal/entry/.gitignore b/HarmonyOS/Day1 Assingment/Jawahar Venugopal/entry/.gitignore new file mode 100644 index 00000000..796b96d1 --- /dev/null +++ b/HarmonyOS/Day1 Assingment/Jawahar Venugopal/entry/.gitignore @@ -0,0 +1 @@ +/build diff --git a/HarmonyOS/Day1 Assingment/Jawahar Venugopal/entry/build.gradle b/HarmonyOS/Day1 Assingment/Jawahar Venugopal/entry/build.gradle new file mode 100644 index 00000000..752a0370 --- /dev/null +++ b/HarmonyOS/Day1 Assingment/Jawahar Venugopal/entry/build.gradle @@ -0,0 +1,26 @@ +apply plugin: 'com.huawei.ohos.hap' +apply plugin: 'com.huawei.ohos.decctest' +ohos { + compileSdkVersion 5 + defaultConfig { + compatibleSdkVersion 5 + } + buildTypes { + release { + proguardOpt { + proguardEnabled false + rulesFiles 'proguard-rules.pro' + } + } + } + +} + +dependencies { + implementation fileTree(dir: 'libs', include: ['*.jar', '*.har']) + testImplementation 'junit:junit:4.13' + ohosTestImplementation 'com.huawei.ohos.testkit:runner:1.0.0.100' +} +decc { + supportType = ['html','xml'] +} diff --git a/HarmonyOS/Day1 Assingment/Jawahar Venugopal/entry/proguard-rules.pro b/HarmonyOS/Day1 Assingment/Jawahar Venugopal/entry/proguard-rules.pro new file mode 100644 index 00000000..f7666e47 --- /dev/null +++ b/HarmonyOS/Day1 Assingment/Jawahar Venugopal/entry/proguard-rules.pro @@ -0,0 +1 @@ +# config module specific ProGuard rules here. \ No newline at end of file diff --git a/HarmonyOS/Day1 Assingment/Jawahar Venugopal/entry/src/main/config.json b/HarmonyOS/Day1 Assingment/Jawahar Venugopal/entry/src/main/config.json new file mode 100644 index 00000000..f1a5c764 --- /dev/null +++ b/HarmonyOS/Day1 Assingment/Jawahar Venugopal/entry/src/main/config.json @@ -0,0 +1,49 @@ +{ + "app": { + "bundleName": "com.applib.jawahar_venugopal.hmosassignment", + "vendor": "applib", + "version": { + "code": 1000000, + "name": "1.0.0" + }, + "apiVersion": { + "compatible": 5, + "target": 5, + "releaseType": "Release" + } + }, + "deviceConfig": {}, + "module": { + "package": "com.applib.jawahar_venugopal.hmosassignment", + "name": ".MyApplication", + "deviceType": [ + "phone" + ], + "distro": { + "deliveryWithInstall": true, + "moduleName": "entry", + "moduleType": "entry" + }, + "abilities": [ + { + "skills": [ + { + "entities": [ + "entity.system.home" + ], + "actions": [ + "action.system.home" + ] + } + ], + "orientation": "unspecified", + "name": "com.applib.jawahar_venugopal.hmosassignment.MainAbility", + "icon": "$media:icon", + "description": "$string:mainability_description", + "label": "$string:app_name", + "type": "page", + "launchType": "standard" + } + ] + } +} \ No newline at end of file diff --git a/HarmonyOS/Day1 Assingment/Jawahar Venugopal/entry/src/main/java/com/applib/jawahar_venugopal/hmosassignment/MainAbility.java b/HarmonyOS/Day1 Assingment/Jawahar Venugopal/entry/src/main/java/com/applib/jawahar_venugopal/hmosassignment/MainAbility.java new file mode 100644 index 00000000..fd5cf93f --- /dev/null +++ b/HarmonyOS/Day1 Assingment/Jawahar Venugopal/entry/src/main/java/com/applib/jawahar_venugopal/hmosassignment/MainAbility.java @@ -0,0 +1,14 @@ +package com.applib.jawahar_venugopal.hmosassignment; + +import com.applib.jawahar_venugopal.hmosassignment.slice.MainAbilitySlice; +import ohos.aafwk.ability.Ability; +import ohos.aafwk.content.Intent; +import ohos.agp.window.service.WindowManager; + +public class MainAbility extends Ability { + @Override + public void onStart(Intent intent) { + super.onStart(intent); + super.setMainRoute(MainAbilitySlice.class.getName()); + } +} diff --git a/HarmonyOS/Day1 Assingment/Jawahar Venugopal/entry/src/main/java/com/applib/jawahar_venugopal/hmosassignment/MyApplication.java b/HarmonyOS/Day1 Assingment/Jawahar Venugopal/entry/src/main/java/com/applib/jawahar_venugopal/hmosassignment/MyApplication.java new file mode 100644 index 00000000..e19844ae --- /dev/null +++ b/HarmonyOS/Day1 Assingment/Jawahar Venugopal/entry/src/main/java/com/applib/jawahar_venugopal/hmosassignment/MyApplication.java @@ -0,0 +1,10 @@ +package com.applib.jawahar_venugopal.hmosassignment; + +import ohos.aafwk.ability.AbilityPackage; + +public class MyApplication extends AbilityPackage { + @Override + public void onInitialize() { + super.onInitialize(); + } +} diff --git a/HarmonyOS/Day1 Assingment/Jawahar Venugopal/entry/src/main/java/com/applib/jawahar_venugopal/hmosassignment/slice/LoginAbilitySlice.java b/HarmonyOS/Day1 Assingment/Jawahar Venugopal/entry/src/main/java/com/applib/jawahar_venugopal/hmosassignment/slice/LoginAbilitySlice.java new file mode 100644 index 00000000..d94b4dd2 --- /dev/null +++ b/HarmonyOS/Day1 Assingment/Jawahar Venugopal/entry/src/main/java/com/applib/jawahar_venugopal/hmosassignment/slice/LoginAbilitySlice.java @@ -0,0 +1,23 @@ +package com.applib.jawahar_venugopal.hmosassignment.slice; + +import com.applib.jawahar_venugopal.hmosassignment.ResourceTable; +import ohos.aafwk.ability.AbilitySlice; +import ohos.aafwk.content.Intent; + +public class LoginAbilitySlice extends AbilitySlice { + @Override + public void onStart(Intent intent) { + super.onStart(intent); + super.setUIContent(ResourceTable.Layout_ability_login); + } + + @Override + public void onActive() { + super.onActive(); + } + + @Override + public void onForeground(Intent intent) { + super.onForeground(intent); + } +} diff --git a/HarmonyOS/Day1 Assingment/Jawahar Venugopal/entry/src/main/java/com/applib/jawahar_venugopal/hmosassignment/slice/MainAbilitySlice.java b/HarmonyOS/Day1 Assingment/Jawahar Venugopal/entry/src/main/java/com/applib/jawahar_venugopal/hmosassignment/slice/MainAbilitySlice.java new file mode 100644 index 00000000..862b649b --- /dev/null +++ b/HarmonyOS/Day1 Assingment/Jawahar Venugopal/entry/src/main/java/com/applib/jawahar_venugopal/hmosassignment/slice/MainAbilitySlice.java @@ -0,0 +1,34 @@ +package com.applib.jawahar_venugopal.hmosassignment.slice; + +import com.applib.jawahar_venugopal.hmosassignment.ResourceTable; +import ohos.aafwk.ability.AbilitySlice; +import ohos.aafwk.content.Intent; +import ohos.agp.components.Button; + +public class MainAbilitySlice extends AbilitySlice { + + @Override + public void onStart(Intent intent) { + super.onStart(intent); + super.setUIContent(ResourceTable.Layout_ability_main); + initViews(); + } + + private void initViews() { + Button signupButton = (Button) findComponentById(ResourceTable.Id_signup_button); + Button loginButton = (Button) findComponentById(ResourceTable.Id_login_button); + signupButton.setClickedListener(list -> present(new SignupAbilitySlice(), new Intent())); + loginButton.setClickedListener(list -> present(new LoginAbilitySlice(), new Intent())); + } + + + @Override + public void onActive() { + super.onActive(); + } + + @Override + public void onForeground(Intent intent) { + super.onForeground(intent); + } +} diff --git a/HarmonyOS/Day1 Assingment/Jawahar Venugopal/entry/src/main/java/com/applib/jawahar_venugopal/hmosassignment/slice/SignupAbilitySlice.java b/HarmonyOS/Day1 Assingment/Jawahar Venugopal/entry/src/main/java/com/applib/jawahar_venugopal/hmosassignment/slice/SignupAbilitySlice.java new file mode 100644 index 00000000..34d97c72 --- /dev/null +++ b/HarmonyOS/Day1 Assingment/Jawahar Venugopal/entry/src/main/java/com/applib/jawahar_venugopal/hmosassignment/slice/SignupAbilitySlice.java @@ -0,0 +1,23 @@ +package com.applib.jawahar_venugopal.hmosassignment.slice; + +import com.applib.jawahar_venugopal.hmosassignment.ResourceTable; +import ohos.aafwk.ability.AbilitySlice; +import ohos.aafwk.content.Intent; + +public class SignupAbilitySlice extends AbilitySlice { + @Override + public void onStart(Intent intent) { + super.onStart(intent); + super.setUIContent(ResourceTable.Layout_ability_signup); + } + + @Override + public void onActive() { + super.onActive(); + } + + @Override + public void onForeground(Intent intent) { + super.onForeground(intent); + } +} diff --git a/HarmonyOS/Day1 Assingment/Jawahar Venugopal/entry/src/main/resources/base/element/string.json b/HarmonyOS/Day1 Assingment/Jawahar Venugopal/entry/src/main/resources/base/element/string.json new file mode 100644 index 00000000..716e2599 --- /dev/null +++ b/HarmonyOS/Day1 Assingment/Jawahar Venugopal/entry/src/main/resources/base/element/string.json @@ -0,0 +1,16 @@ +{ + "string": [ + { + "name": "app_name", + "value": "HMOSAssignment" + }, + { + "name": "mainability_description", + "value": "Java_Phone_Empty Feature Ability" + }, + { + "name": "mainability_HelloWorld", + "value": "Hello World" + } + ] +} \ No newline at end of file diff --git a/HarmonyOS/Day1 Assingment/Jawahar Venugopal/entry/src/main/resources/base/graphic/background_text_button.xml b/HarmonyOS/Day1 Assingment/Jawahar Venugopal/entry/src/main/resources/base/graphic/background_text_button.xml new file mode 100644 index 00000000..1d776c0a --- /dev/null +++ b/HarmonyOS/Day1 Assingment/Jawahar Venugopal/entry/src/main/resources/base/graphic/background_text_button.xml @@ -0,0 +1,13 @@ + + + + + + + + \ No newline at end of file diff --git a/HarmonyOS/Day1 Assingment/Jawahar Venugopal/entry/src/main/resources/base/layout/ability_login.xml b/HarmonyOS/Day1 Assingment/Jawahar Venugopal/entry/src/main/resources/base/layout/ability_login.xml new file mode 100644 index 00000000..11d07ac6 --- /dev/null +++ b/HarmonyOS/Day1 Assingment/Jawahar Venugopal/entry/src/main/resources/base/layout/ability_login.xml @@ -0,0 +1,15 @@ + + + + + + \ No newline at end of file diff --git a/HarmonyOS/Day1 Assingment/Jawahar Venugopal/entry/src/main/resources/base/layout/ability_main.xml b/HarmonyOS/Day1 Assingment/Jawahar Venugopal/entry/src/main/resources/base/layout/ability_main.xml new file mode 100644 index 00000000..7e42fee0 --- /dev/null +++ b/HarmonyOS/Day1 Assingment/Jawahar Venugopal/entry/src/main/resources/base/layout/ability_main.xml @@ -0,0 +1,37 @@ + + + + + +