From 05308a944e4d503bb9886f32e1181a404c42b98d Mon Sep 17 00:00:00 2001
From: 230402 <230402@epvc.pt>
Date: Wed, 21 Jan 2026 10:38:40 +0000
Subject: [PATCH] login, registrar e tela home adicionados
---
.gitignore | 15 ++
.idea/.gitignore | 3 +
.idea/.name | 1 +
.idea/AndroidProjectSystem.xml | 6 +
.idea/compiler.xml | 6 +
.idea/deploymentTargetSelector.xml | 10 +
.idea/gradle.xml | 19 ++
.idea/migrations.xml | 10 +
.idea/misc.xml | 9 +
.idea/runConfigurations.xml | 17 ++
.idea/vcs.xml | 6 +
app/.gitignore | 1 +
app/build.gradle.kts | 44 +++
app/proguard-rules.pro | 21 ++
.../finzora/ExampleInstrumentedTest.java | 26 ++
app/src/main/AndroidManifest.xml | 32 +++
.../com/example/finzora/DicasFragment.java | 6 +
.../com/example/finzora/GraficosFragment.java | 6 +
.../com/example/finzora/LoginActivity.java | 69 +++++
.../com/example/finzora/MainActivity.java | 77 ++++++
.../com/example/finzora/RegisterActivity.java | 66 +++++
.../example/finzora/TransacoesFragment.java | 6 +
.../com/example/finzora/ViewPagerAdapter.java | 30 +++
app/src/main/res/drawable/greenarrow.png | Bin 0 -> 11920 bytes
.../res/drawable/ic_launcher_background.xml | 170 ++++++++++++
.../res/drawable/ic_launcher_foreground.xml | 30 +++
app/src/main/res/drawable/ic_wallet.xml | 5 +
.../main/res/drawable/imagem_convertida.png | Bin 0 -> 37192 bytes
app/src/main/res/drawable/logout.png | Bin 0 -> 4513 bytes
app/src/main/res/drawable/redarrow.png | Bin 0 -> 53662 bytes
app/src/main/res/layout/activity_login.xml | 95 +++++++
app/src/main/res/layout/activity_main.xml | 104 ++++++++
app/src/main/res/layout/activity_register.xml | 131 +++++++++
app/src/main/res/layout/card_despesas.xml | 41 +++
app/src/main/res/layout/card_receitas.xml | 41 +++
app/src/main/res/layout/card_saldo_total.xml | 32 +++
.../res/mipmap-anydpi-v26/ic_launcher.xml | 6 +
.../mipmap-anydpi-v26/ic_launcher_round.xml | 6 +
app/src/main/res/mipmap-hdpi/ic_launcher.webp | Bin 0 -> 1404 bytes
.../res/mipmap-hdpi/ic_launcher_round.webp | Bin 0 -> 2898 bytes
app/src/main/res/mipmap-mdpi/ic_launcher.webp | Bin 0 -> 982 bytes
.../res/mipmap-mdpi/ic_launcher_round.webp | Bin 0 -> 1772 bytes
.../main/res/mipmap-xhdpi/ic_launcher.webp | Bin 0 -> 1900 bytes
.../res/mipmap-xhdpi/ic_launcher_round.webp | Bin 0 -> 3918 bytes
.../main/res/mipmap-xxhdpi/ic_launcher.webp | Bin 0 -> 2884 bytes
.../res/mipmap-xxhdpi/ic_launcher_round.webp | Bin 0 -> 5914 bytes
.../main/res/mipmap-xxxhdpi/ic_launcher.webp | Bin 0 -> 3844 bytes
.../res/mipmap-xxxhdpi/ic_launcher_round.webp | Bin 0 -> 7778 bytes
app/src/main/res/values-night/themes.xml | 7 +
app/src/main/res/values/colors.xml | 5 +
app/src/main/res/values/ids.xml | 4 +
app/src/main/res/values/refs.xml | 3 +
app/src/main/res/values/strings.xml | 3 +
app/src/main/res/values/themes.xml | 9 +
app/src/main/res/xml/backup_rules.xml | 13 +
.../main/res/xml/data_extraction_rules.xml | 19 ++
.../com/example/finzora/ExampleUnitTest.java | 17 ++
build.gradle.kts | 4 +
gradle.properties | 21 ++
gradle/libs.versions.toml | 22 ++
gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 45457 bytes
gradle/wrapper/gradle-wrapper.properties | 8 +
gradlew | 251 ++++++++++++++++++
gradlew.bat | 94 +++++++
settings.gradle.kts | 24 ++
65 files changed, 1651 insertions(+)
create mode 100644 .gitignore
create mode 100644 .idea/.gitignore
create mode 100644 .idea/.name
create mode 100644 .idea/AndroidProjectSystem.xml
create mode 100644 .idea/compiler.xml
create mode 100644 .idea/deploymentTargetSelector.xml
create mode 100644 .idea/gradle.xml
create mode 100644 .idea/migrations.xml
create mode 100644 .idea/misc.xml
create mode 100644 .idea/runConfigurations.xml
create mode 100644 .idea/vcs.xml
create mode 100644 app/.gitignore
create mode 100644 app/build.gradle.kts
create mode 100644 app/proguard-rules.pro
create mode 100644 app/src/androidTest/java/com/example/finzora/ExampleInstrumentedTest.java
create mode 100644 app/src/main/AndroidManifest.xml
create mode 100644 app/src/main/java/com/example/finzora/DicasFragment.java
create mode 100644 app/src/main/java/com/example/finzora/GraficosFragment.java
create mode 100644 app/src/main/java/com/example/finzora/LoginActivity.java
create mode 100644 app/src/main/java/com/example/finzora/MainActivity.java
create mode 100644 app/src/main/java/com/example/finzora/RegisterActivity.java
create mode 100644 app/src/main/java/com/example/finzora/TransacoesFragment.java
create mode 100644 app/src/main/java/com/example/finzora/ViewPagerAdapter.java
create mode 100644 app/src/main/res/drawable/greenarrow.png
create mode 100644 app/src/main/res/drawable/ic_launcher_background.xml
create mode 100644 app/src/main/res/drawable/ic_launcher_foreground.xml
create mode 100644 app/src/main/res/drawable/ic_wallet.xml
create mode 100644 app/src/main/res/drawable/imagem_convertida.png
create mode 100644 app/src/main/res/drawable/logout.png
create mode 100644 app/src/main/res/drawable/redarrow.png
create mode 100644 app/src/main/res/layout/activity_login.xml
create mode 100644 app/src/main/res/layout/activity_main.xml
create mode 100644 app/src/main/res/layout/activity_register.xml
create mode 100644 app/src/main/res/layout/card_despesas.xml
create mode 100644 app/src/main/res/layout/card_receitas.xml
create mode 100644 app/src/main/res/layout/card_saldo_total.xml
create mode 100644 app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
create mode 100644 app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher.webp
create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher_round.webp
create mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher.webp
create mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher_round.webp
create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher.webp
create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp
create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher.webp
create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp
create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp
create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp
create mode 100644 app/src/main/res/values-night/themes.xml
create mode 100644 app/src/main/res/values/colors.xml
create mode 100644 app/src/main/res/values/ids.xml
create mode 100644 app/src/main/res/values/refs.xml
create mode 100644 app/src/main/res/values/strings.xml
create mode 100644 app/src/main/res/values/themes.xml
create mode 100644 app/src/main/res/xml/backup_rules.xml
create mode 100644 app/src/main/res/xml/data_extraction_rules.xml
create mode 100644 app/src/test/java/com/example/finzora/ExampleUnitTest.java
create mode 100644 build.gradle.kts
create mode 100644 gradle.properties
create mode 100644 gradle/libs.versions.toml
create mode 100644 gradle/wrapper/gradle-wrapper.jar
create mode 100644 gradle/wrapper/gradle-wrapper.properties
create mode 100755 gradlew
create mode 100644 gradlew.bat
create mode 100644 settings.gradle.kts
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..aa724b7
--- /dev/null
+++ b/.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
+.cxx
+local.properties
diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..26d3352
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,3 @@
+# Default ignored files
+/shelf/
+/workspace.xml
diff --git a/.idea/.name b/.idea/.name
new file mode 100644
index 0000000..66e3dbc
--- /dev/null
+++ b/.idea/.name
@@ -0,0 +1 @@
+Finzora
\ No newline at end of file
diff --git a/.idea/AndroidProjectSystem.xml b/.idea/AndroidProjectSystem.xml
new file mode 100644
index 0000000..4a53bee
--- /dev/null
+++ b/.idea/AndroidProjectSystem.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/compiler.xml b/.idea/compiler.xml
new file mode 100644
index 0000000..b86273d
--- /dev/null
+++ b/.idea/compiler.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/deploymentTargetSelector.xml b/.idea/deploymentTargetSelector.xml
new file mode 100644
index 0000000..b268ef3
--- /dev/null
+++ b/.idea/deploymentTargetSelector.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/gradle.xml b/.idea/gradle.xml
new file mode 100644
index 0000000..639c779
--- /dev/null
+++ b/.idea/gradle.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/migrations.xml b/.idea/migrations.xml
new file mode 100644
index 0000000..f8051a6
--- /dev/null
+++ b/.idea/migrations.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..b2c751a
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/runConfigurations.xml b/.idea/runConfigurations.xml
new file mode 100644
index 0000000..16660f1
--- /dev/null
+++ b/.idea/runConfigurations.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..94a25f7
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/.gitignore b/app/.gitignore
new file mode 100644
index 0000000..42afabf
--- /dev/null
+++ b/app/.gitignore
@@ -0,0 +1 @@
+/build
\ No newline at end of file
diff --git a/app/build.gradle.kts b/app/build.gradle.kts
new file mode 100644
index 0000000..a3dcf35
--- /dev/null
+++ b/app/build.gradle.kts
@@ -0,0 +1,44 @@
+plugins {
+ alias(libs.plugins.android.application)
+}
+
+android {
+ namespace = "com.example.finzora"
+ compileSdk {
+ version = release(36)
+ }
+
+ defaultConfig {
+ applicationId = "com.example.finzora"
+ minSdk = 24
+ targetSdk = 36
+ versionCode = 1
+ versionName = "1.0"
+
+ testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
+ }
+
+ buildTypes {
+ release {
+ isMinifyEnabled = false
+ proguardFiles(
+ getDefaultProguardFile("proguard-android-optimize.txt"),
+ "proguard-rules.pro"
+ )
+ }
+ }
+ compileOptions {
+ sourceCompatibility = JavaVersion.VERSION_11
+ targetCompatibility = JavaVersion.VERSION_11
+ }
+}
+
+dependencies {
+ implementation(libs.appcompat)
+ implementation(libs.material)
+ implementation(libs.activity)
+ implementation(libs.constraintlayout)
+ testImplementation(libs.junit)
+ androidTestImplementation(libs.ext.junit)
+ androidTestImplementation(libs.espresso.core)
+}
\ No newline at end of file
diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro
new file mode 100644
index 0000000..481bb43
--- /dev/null
+++ b/app/proguard-rules.pro
@@ -0,0 +1,21 @@
+# Add project specific ProGuard rules here.
+# You can control the set of applied configuration files using the
+# proguardFiles setting in build.gradle.
+#
+# For more details, see
+# http://developer.android.com/guide/developing/tools/proguard.html
+
+# If your project uses WebView with JS, uncomment the following
+# and specify the fully qualified class name to the JavaScript interface
+# class:
+#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
+# public *;
+#}
+
+# Uncomment this to preserve the line number information for
+# debugging stack traces.
+#-keepattributes SourceFile,LineNumberTable
+
+# If you keep the line number information, uncomment this to
+# hide the original source file name.
+#-renamesourcefileattribute SourceFile
\ No newline at end of file
diff --git a/app/src/androidTest/java/com/example/finzora/ExampleInstrumentedTest.java b/app/src/androidTest/java/com/example/finzora/ExampleInstrumentedTest.java
new file mode 100644
index 0000000..c3f4ba3
--- /dev/null
+++ b/app/src/androidTest/java/com/example/finzora/ExampleInstrumentedTest.java
@@ -0,0 +1,26 @@
+package com.example.finzora;
+
+import android.content.Context;
+
+import androidx.test.platform.app.InstrumentationRegistry;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import static org.junit.Assert.*;
+
+/**
+ * Instrumented test, which will execute on an Android device.
+ *
+ * @see Testing documentation
+ */
+@RunWith(AndroidJUnit4.class)
+public class ExampleInstrumentedTest {
+ @Test
+ public void useAppContext() {
+ // Context of the app under test.
+ Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext();
+ assertEquals("com.example.finzora", appContext.getPackageName());
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
new file mode 100644
index 0000000..55134a1
--- /dev/null
+++ b/app/src/main/AndroidManifest.xml
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/example/finzora/DicasFragment.java b/app/src/main/java/com/example/finzora/DicasFragment.java
new file mode 100644
index 0000000..f05b067
--- /dev/null
+++ b/app/src/main/java/com/example/finzora/DicasFragment.java
@@ -0,0 +1,6 @@
+package com.example.finzora;
+
+import androidx.fragment.app.Fragment;
+
+public class DicasFragment extends Fragment {
+}
diff --git a/app/src/main/java/com/example/finzora/GraficosFragment.java b/app/src/main/java/com/example/finzora/GraficosFragment.java
new file mode 100644
index 0000000..a7e3774
--- /dev/null
+++ b/app/src/main/java/com/example/finzora/GraficosFragment.java
@@ -0,0 +1,6 @@
+package com.example.finzora;
+
+import androidx.fragment.app.Fragment;
+
+public class GraficosFragment extends Fragment {
+}
diff --git a/app/src/main/java/com/example/finzora/LoginActivity.java b/app/src/main/java/com/example/finzora/LoginActivity.java
new file mode 100644
index 0000000..3689b84
--- /dev/null
+++ b/app/src/main/java/com/example/finzora/LoginActivity.java
@@ -0,0 +1,69 @@
+package com.example.finzora;
+
+import android.content.Intent;
+import android.os.Bundle;
+import android.text.TextUtils;
+import android.widget.Button;
+import android.widget.TextView;
+import android.widget.Toast;
+import androidx.appcompat.app.AppCompatActivity;
+import com.google.android.material.textfield.TextInputEditText;
+
+public class LoginActivity extends AppCompatActivity {
+
+ private TextInputEditText editEmail, editPassword;
+ private Button btnEntrar;
+ private TextView txtRegistrar;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_login);
+
+ // 1. Inicializar os componentes da interface
+ inicializarComponentes();
+
+ // 2. Configurar o clique no botão "Entrar"
+ btnEntrar.setOnClickListener(v -> validarDados());
+
+ // 3. Configurar o clique para ir para a tela de Registo
+ txtRegistrar.setOnClickListener(v -> {
+ Intent intent = new Intent(LoginActivity.this, RegisterActivity.class);
+ startActivity(intent);
+ });
+ }
+
+ private void validarDados() {
+ String email = editEmail.getText().toString().trim();
+ String password = editPassword.getText().toString().trim();
+
+ if (TextUtils.isEmpty(email)) {
+ editEmail.setError("Introduza o seu email");
+ editEmail.requestFocus();
+ } else if (TextUtils.isEmpty(password)) {
+ editPassword.setError("Introduza a sua palavra-passe");
+ editPassword.requestFocus();
+ } else {
+ // Se tudo estiver OK, por enquanto vamos apenas simular o login
+ // e saltar para o Dashboard (que será a nossa próxima fase)
+ Toast.makeText(this, "Login efetuado com sucesso!", Toast.LENGTH_SHORT).show();
+
+ // Aqui é onde irás validar com a Base de Dados ou Firebase no futuro
+ irParaDashboard();
+ }
+ }
+
+ private void irParaDashboard() {
+ // Altera 'MainActivity' para o nome da tua classe do Dashboard
+ Intent intent = new Intent(LoginActivity.this, MainActivity.class);
+ startActivity(intent);
+ finish(); // Fecha o login para o utilizador não voltar atrás ao carregar no botão 'back'
+ }
+
+ private void inicializarComponentes() {
+ editEmail = findViewById(R.id.editEmail);
+ editPassword = findViewById(R.id.editPassword);
+ btnEntrar = findViewById(R.id.btnEntrar);
+ txtRegistrar = findViewById(R.id.txtRegistrar);
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/example/finzora/MainActivity.java b/app/src/main/java/com/example/finzora/MainActivity.java
new file mode 100644
index 0000000..9e47a25
--- /dev/null
+++ b/app/src/main/java/com/example/finzora/MainActivity.java
@@ -0,0 +1,77 @@
+package com.example.finzora;
+
+import android.content.Intent;
+import android.os.Bundle;
+import android.widget.Button;
+import android.widget.TextView;
+import androidx.appcompat.app.AppCompatActivity;
+import androidx.viewpager2.widget.ViewPager2;
+import com.google.android.material.tabs.TabLayout;
+import com.google.android.material.tabs.TabLayoutMediator;
+
+public class MainActivity extends AppCompatActivity {
+
+ private Button btnSair;
+ private TabLayout tabLayout;
+ private ViewPager2 viewPager;
+ private TextView tvNomeUsuario;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_main);
+
+ // 1. PRIMEIRO PASSO OBRIGATÓRIO: Ligar as variáveis ao XML
+ inicializarComponentes();
+
+ // 2. Agora sim, podemos tentar mudar o nome com segurança
+ try {
+ String nomeRecebido = getIntent().getStringExtra("CHAVE_NOME");
+
+ // Só altera o texto se realmente tivermos recebido um nome (ex: vindo do Registo)
+ if (nomeRecebido != null) {
+ tvNomeUsuario.setText("Olá, " + nomeRecebido + "!");
+ }
+ } catch (Exception e) {
+ e.printStackTrace(); // Se der erro, ignora e mantém o texto original
+ }
+
+ // 3. Configurar os botões e abas
+ configurarBotaoSair();
+ configurarAbas();
+ }
+
+ private void inicializarComponentes() {
+ btnSair = findViewById(R.id.btnSair);
+ tabLayout = findViewById(R.id.tabLayoutDashboard);
+ viewPager = findViewById(R.id.viewPager);
+ tvNomeUsuario = findViewById(R.id.tvNomeUsuario); // Certifica-te que este ID existe no XML
+ }
+
+ private void configurarBotaoSair() {
+ btnSair.setOnClickListener(v -> {
+ Intent intent = new Intent(MainActivity.this, LoginActivity.class);
+ startActivity(intent);
+ finish();
+ });
+ }
+
+ private void configurarAbas() {
+ ViewPagerAdapter adapter = new ViewPagerAdapter(this);
+ viewPager.setAdapter(adapter);
+
+ new TabLayoutMediator(tabLayout, viewPager, (tab, position) -> {
+ switch (position) {
+ case 0:
+ tab.setText("Transações");
+ break;
+ case 1:
+ tab.setText("Gráficos");
+ break;
+ case 2:
+ tab.setText("Dicas");
+ break;
+ }
+ }).attach();
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/example/finzora/RegisterActivity.java b/app/src/main/java/com/example/finzora/RegisterActivity.java
new file mode 100644
index 0000000..ebe8c97
--- /dev/null
+++ b/app/src/main/java/com/example/finzora/RegisterActivity.java
@@ -0,0 +1,66 @@
+package com.example.finzora;
+
+import android.content.Intent;
+import android.os.Bundle;
+import android.text.TextUtils;
+import android.widget.Button;
+import android.widget.TextView;
+import android.widget.Toast;
+import androidx.appcompat.app.AppCompatActivity;
+import com.google.android.material.textfield.TextInputEditText;
+
+public class RegisterActivity extends AppCompatActivity {
+
+ private TextInputEditText editNome, editEmail, editPassword, editConfirmPassword;
+ private Button btnCriarConta;
+ private TextView txtLogin;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_register);
+
+ inicializarComponentes();
+
+ // Volta para a tela de Login
+ txtLogin.setOnClickListener(v -> finish());
+
+ // Valida e cria a conta
+ btnCriarConta.setOnClickListener(v -> validarDados());
+ }
+
+ private void validarDados() {
+ String nome = editNome.getText().toString().trim();
+ String email = editEmail.getText().toString().trim();
+ String password = editPassword.getText().toString().trim();
+ String confirmPass = editConfirmPassword.getText().toString().trim();
+
+ if (TextUtils.isEmpty(nome)) {
+ editNome.setError("Introduza o seu nome");
+ } else if (TextUtils.isEmpty(email)) {
+ editEmail.setError("Introduza um email válido");
+ } else if (TextUtils.isEmpty(password)) {
+ editPassword.setError("Defina uma palavra-passe");
+ } else if (password.length() < 6) {
+ editPassword.setError("A senha deve ter pelo menos 6 caracteres");
+ } else if (!password.equals(confirmPass)) {
+ editConfirmPassword.setError("As palavras-passe não coincidem");
+ } else {
+
+ Toast.makeText(this, "Conta criada com sucesso!", Toast.LENGTH_SHORT).show();
+ Intent intent = new Intent(RegisterActivity.this, MainActivity.class);
+ intent.putExtra("CHAVE_NOME", nome);
+ startActivity(intent);
+ finish();
+ }
+ }
+
+ private void inicializarComponentes() {
+ editNome = findViewById(R.id.editNome);
+ editEmail = findViewById(R.id.editEmailRegister);
+ editPassword = findViewById(R.id.editPassRegister);
+ editConfirmPassword = findViewById(R.id.editConfirmPass);
+ btnCriarConta = findViewById(R.id.btnCriarConta);
+ txtLogin = findViewById(R.id.txtLogin);
+ }
+}
diff --git a/app/src/main/java/com/example/finzora/TransacoesFragment.java b/app/src/main/java/com/example/finzora/TransacoesFragment.java
new file mode 100644
index 0000000..f9a0849
--- /dev/null
+++ b/app/src/main/java/com/example/finzora/TransacoesFragment.java
@@ -0,0 +1,6 @@
+package com.example.finzora;
+
+import androidx.fragment.app.Fragment;
+
+public class TransacoesFragment extends Fragment {
+}
diff --git a/app/src/main/java/com/example/finzora/ViewPagerAdapter.java b/app/src/main/java/com/example/finzora/ViewPagerAdapter.java
new file mode 100644
index 0000000..bcdee36
--- /dev/null
+++ b/app/src/main/java/com/example/finzora/ViewPagerAdapter.java
@@ -0,0 +1,30 @@
+package com.example.finzora;
+
+import androidx.annotation.NonNull;
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentActivity;
+import androidx.viewpager2.adapter.FragmentStateAdapter;
+
+public class ViewPagerAdapter extends FragmentStateAdapter {
+
+ public ViewPagerAdapter(@NonNull FragmentActivity fragmentActivity) {
+ super(fragmentActivity);
+ }
+
+ @NonNull
+ @Override
+ public Fragment createFragment(int position) {
+ // Aqui definimos a ordem das abas
+ switch (position) {
+ case 0: return new TransacoesFragment(); // Aba 1
+ case 1: return new GraficosFragment(); // Aba 2
+ case 2: return new DicasFragment(); // Aba 3
+ default: return new TransacoesFragment();
+ }
+ }
+
+ @Override
+ public int getItemCount() {
+ return 3; // Temos 3 abas no total
+ }
+}
diff --git a/app/src/main/res/drawable/greenarrow.png b/app/src/main/res/drawable/greenarrow.png
new file mode 100644
index 0000000000000000000000000000000000000000..b1ec68a42049604ecc8f4b62dda6aeaf959c5f8c
GIT binary patch
literal 11920
zcmbt(c|26@`~Q8$U<@&)Ny^d~Q-3R%Y548;)XNoAchWgiNOQAwdJB_%YLC)%l0
zl8}mMv6V_$QbeJUCFFOXp+3*^`F($X{9fPln&r&7ulriw*ZaQi>ztW+J<|aQ)>cd_
zfWTt~vI2maP7r4q%Gm(`lc^4H001E%iC_R7p6S5%Vni4q@H+^;<>t=A;W>IZaJX!;
zQ-CHJo^brU$pQX8Vc!0J?mlGqpdkOfWbYt0+mGz&@8ch&N!}Rj@41`I@$m`a1_!wZ
zbNu}@S3t$6?%&@tox(*sgM$MMXf!{rrn{HF2V2wA-}Hlh6Qn&)w``
zvIpCn<7Y$}EG?&yIbKE-XWb228v@MPJ2{N-Aoj*^TSw3E-Jbeh6cb~-VW>f*L2Y2sNSzlpDZv^fHZNj2ANu^4ekGU|}^U1AiG&=A7BPcdzE&m74xR-ZX7}
zeSMmi4oyc#14?Lc!~BBXLpA)k%BYH29Tse^XAmaeE@_(UZV9MpPgP9ga6df(y
zHLF+Z>g%mSI*#y@il_{a`)qSE_3${Sc_if`iBI0vW>j`{k?tIf3AAMVRw$VpAiZZ
z%ms`IqHAE`9_+q>;|G`F9~}P&?DzP4x_i(pHZV0<4t5Nt8Pn0yLc?;ixh2bSqot{X
zIm6O+9n;p5X=`D*nQ6O@LWZly%hSL!i0vNiA7m_8BOBR)vnM_rlzHC2Oa`&RO
zb*3NiSidV8d8MWn&@*Fhz+wgagO@yp1;qYvL>?0g=>OZ4%47V1#6Q>UOe-)4cu`TD
zs0bd1!-?bZ;*zoi$$9f66&A=y%PKEfN~J8JC@ovQhPF&?m6{So%T#-n{#s*WXE8kuCZ9IL
zcmUZoE62-IEnu1P=qy!KApyhyUXGF}o{=Z4!~_oXKXNfxHT46~EDIGww`@Ag?0_X!
zO`JgD(V_F%sBJU6CGG`Vt55bTK
zd2wbb&~gd{1%6(@3nO^5dI0`dB}0udSX5ISG>kADSb1vVtUL{PK?49hG&p;}=m<)t
z;)FbCn4cs}=Kn)#4h~chTBXMTIz~o`;XuceVwSQ5Mgc%&&@`Zpl|UDr>Oe|nIN%Vv
zgG@G^4+Vtb5c-}K!T~H!AOZ1JGE2(IMni;eR1=0L5SzsU0l3Y8k*9`L#hW#&lAsK#
zMUZk-ihw$W!Kz{*5US8Ck|Xq-kN=kp>JbLA9ou{?-bG1?Zw=rUTKZr`y*WZ`B{~1|qRH%KRe>
zK{5kx78j$m(=6#G8qBN-C@gRSd6uZ>x{{XV2K=VC-QDv!nE?}xdYsCzN8N$i`A`-f
z&>J!U-eGz*6BEE_ZF$b5TvDMD6O)v85r@JA5g`2&2I$YH>I{=JX)m;p?5~3^?H9xe
zeCUfhDJC0o;@{$^a?vH{GVIPKME76${#i;i6oST(U;t{_%b|HTmf9_0Hjd1vf@?2Y>8=B%%Wb
z1XW-_ou~RA14Qk}$iIGVH`w#V|MQprzX3A5Y{|2_#1}Qiw?{(yN5)`m7y!#yoT($>
zrV`Upkd9d@K?+5!(WIG>x4atTnGT7-1Ie(kK@@Nf
zPQM`&20-fg4yk8#X_9mh;{U3>zNN*c=V9f<8SbZ=$-aSUqwqbS;W~qEqlv}yArY+k
z&@zf5#9PW(rRUcU<3*-l{(kq<;8W<0uHhlk7H8+yw!J43N-86A77$+zkGSWD9cvIa1jGYZPT0qO|31~(0v>X
zg34m#Eie_QC6F(ZfOGA0)5*Z2P%o`UgGs@Yc?$
zulIC#`@ZbGpVgLGKdTA1IR+a?--7NFs4D2eif*Z=)zx~U?asSDb6R`9O0L&`Fi{dQ
zEb5e**CfNT*4JZ-r{8iW
zSD{)Ew7Nkx0J4h&7ca!bY$$B}(L@OYY-t+p&HvhD@+50r?5h1Cdm~Skxs0faE|dQ-
zHFfVsTNc^XbZKo@BYk>cjMvpy{ihtHKaM
zI1dsO3wLR_G95?+NQ$(D-CaFZ{=Hv%-}5n9`p>0kizC~9UHM&RpgG7R2pbRXW>mPx
zqnn1^8R;J{A+OQe1;_DFD=LDnS|tX`H?t%Fw=z?8xO1Xp5mX8&^LqCFnR6~n*0c<%SF`)uf
z4tj)Q1-;>sVOh*002V4Dlg)6D`A4}HK+52w`?NjW)5)-Pad1+i^Fhq4DpU(R$Y^-z
zHVs20<8i7ivt~8e*T6z6D4GHp0)V?O>P`&IO$-&x^#*F{Jjk=(2}A>gn=mS+7+
zh694O81Q`&2Uo^#K{9F-;+;%K+c`QZnQ4|Z+mWE17sL!b)C8XdfjSHh?)*TS0ecn_
z>~o-d5E85~Um${h@L(rKfsn%Vje$r9}~F)3(Rs)9^mnpFWIhX<{pR-rf!nDKBF*a)BnAqqCk
zR00r!Eix7ZyW`md!3e=ZPL?LJ+~#XjwD=_0JL6zSjR<3YnaA@Ro+LFqU99h)yGucJ
zRg{H^WAVX-o^{euG|QVYjtBCO8;sU9Tz|0VTl!de?v@9pr;9p|l&9sq{os~T?G=CL
zt#~WV;{LiFN59;2E!a#G&{j8%A$J+?igDtN~vdl#PNGdiMWJX(I!W0#W|E%^$Zo9p}Ifxcxh&OIVA(c;HibGh;#O$w@J
zF^ZH_qR8{@f0>rN{Q%*7EBpTLSV)y^U%RH(j=M*p$!N$=eYTv;(m-Rdp9-Ax9Q&DxWOSBBQ^
z1w}s2P8|v-eU3D9m|ptVV;4MPYw^-j?_2f7ytOAT&XY;c+Y;fu?2_$n-QhP&ANcC0
zuj*b_I^B2YF8M;UAc%95FT1{-b5s>M=`d(jd>2;0+vl{Gk~@
zq%n|$EH|Q-lD0ixKr$f&F+qNrXN5@&zfex-X}6-bDagi#P6vlM1_wFiHXL?<4C>bQo85vFx=BID!**^#60WbH?z9k$7d25kN&%(RH@f#sPxA;cn0o@Q`b
z;8I?h;nI5H=fuLaLdDPoZ71S`?G>Szk5gsT%S*qC@-$Ar6Xj{HPs?7)DiSe6^S-8OR%)=k9o3}|UiU)>)b$=nc`-2EX-^z{BA=#U7v%?a_iXOc
zb98;BE?G|NS3{hs)b!t>*?m?
z>w6#Q)umhDRv4YQW6HHt;&LlDU$|3{FLkh8Y=_u%1NCgCM{J~>qi~^qa%7*Y;+t)h
zBPD;ca;n}iRZZ7FI`%^EUc7q&AxNEbt7ET4`)0TIrzZU|C1n5<{?K6%b|hRY4O#b5
z=y1=9N|U?PqLNp#8mBH$oCorbp13crOxvn-aMXYIifpyha7h1*8rAvBp(bCLz56^@
zOm^%JyYS@jwCY>VC$(Jqpj@Ta+8pMS5A!aXsC;Xl*T?CPdFfbGSdb%D%P?=sHqTsJ
z;MRJgy*PdUoox{BjiFD4s|jBXUJ^b
zQWk`Vo>|)^&wh^LHulTZ?ath+6?#v)A~zjT7G>mUav*Hu5)D3U6dVK7RvjU2=7zqU
z%>FR#`Ur+QE)C)r<4K#Nl1(7}m%}~)D=Z`=4F1##1S3r(!zw}0VY#^{3&9moWahz-
zp4*s2OfYZ(ytEg;lVd4+co_TF=PkJPubr&8i;L>tSIIwWE0gRg?Q^g*ACnA9FRFj)
zaxm+>*QVyukrit1X}1ccShOu_>mZyl%?(R
zUrqiR&v>ZTI!U#D|NOzR^1EJzY9ID$J-WS#-1q*u{$cfH>&R{SXSP=VczoGeYO17~
z^&rsL25Ag8i1pd^aBWXU2)=c35pGdc>PF?{!m(8ItjozZJt^Em&tNMzaE7rGeg>`)U#$lu$+eYLcIdc5ti?3ITt700SHW7lpoeX%($
z0^d%#^)#y~MR)wuz7G8_DHYi>;E9s$U`0rnG
z@7bi3x_)$%xoYuImva5h8~1NMn9BB8+xLWYKT^bAZ`AQ%rc>>MM1vy9i6+rxmmQmE
zO7Z7LTL(9hA1(hGDWsTreUTC7)6G3K9_QYf<@ZZ$!#-(txAAxg%B1&yN|g_
zCk?bs31lUEnCQTw=xnXzPJZR@2E;^Z1|+b>i=0P{iX(UHk1se=uCcn7HUkdEd0tZ2
zQ?5@*LmoEva&yYPC3{^CDIV?>d8V(op>5#fh#_X(rahAhFU#h&D#Y0im3nU{gfAYF
zF~}ENo*60^`O;T;;^R-!ycd5{9GsmsrV9vkj}r5Nwbz2P_KUyp-}iFG^}eLeiUA&h
zu=wH!hqgmKH2v3I3vb-c(XV^FMPa1@^b&b>?uv#~6O2nMm+$`+2
zG$;DG==MO<<;aF*37KL6lNYm$gRc4q6)w7@Dm&;%PJM(c8yP;nU1(L}WT`M^nKdrZ
zr12`V=u(CAHkoFxPmYzfr7anu^$T9s`3JhDx}G?=>}Wdv>^<>adO^jl+onFSqlyhW
zG@3S75B=DvqWi98RQJ_`J}c|fH?`9r$}8-aFZo&Ey)?3odA1_IneTOCTt`&lqEm#z
zZej<`Tv)X2dO4j#pt!$Z{A>Hg1yf}c)Mvun$ay!lO`op2?NSn@*}T5-?z79=WAP$w
zVhO^g5*@3}^~6VVW2)OzQcXld^dcp1aYGBFrh3@*G6s46%QyK>f3Bx{?juWAIh+e!
z)!RLy$5OOOAG%_3OtYYXv47NTKR*|*oRY9Ld(l$vC3-G~hsBD1kL2dATHg_R=9-Ga
zrBk{6u5V5$d>37M{DNHVXMAOyB{3u18Eb{Pb3Q;0Sc;tbD^L8$(
zh=R*w?uj*Q&*6=q@2|Jh=gXhbRNO>B3X_^b7jhF-VO|;b{gpL+tG)Ny+kGEfPH4$u
zqVnMAxf&rieFM9Q^r-xD-x-iToqyjq?6ic~6uirTwe>`eoY0e|_Ved@f3;7*ncZm_
zBG@5x2p-sT6&2yZExorVqsrgHiMwkmJi-7Fqe8trfXxyS&D8zr|Ep!X98SFVRNIgT
z&>_L7N_2G3hKRG%M#IzR@9%ypG`|A+D$vTL0x>-a{U+B{Gr&%Fa(DN=3T-NYS7#3<
z8Q2L)29G^6X^px$wqd=HBEZ52&9euF3FcQ+XBsuRo-ehFXi3oSfLDOPDh~i69s5nY
z$1eEXm(iAIp;d~23NQY42%Cf$f}QCT`7?kskd~oM#xUT&@~8v`+D53r4si4D`u}=6
zae+rfXHsXaq6Wmk{KN9SUz_@k(!U=zq%hzVc;AN3CBkz$Hu~87_iI{Rb+tSz;6?NW
zttO#B!fpe`8T#}Q2`WY0OA}%R31Xb1iU;taMq?fUm_Hn1Sg8YS*TY)j0_k=
zH5UWdRbw`fu{<$!VhSCOp{C(^=jv8vi!sjEmdZphI}sfd_>%-=eQyb64x~?9s7gYh
z9`GAJ2mwU7b*HvLly2kqXfhE%&13-m6odnq;LNRY&xd3CbUR=m@F$TD%~4ZOpa5}R
z>)%I&jt<<~74Q){fT}{!Frjh?SMjZ$48&ktM6(+M%R|T*It-HxnS!EW;ZiHA=MnsC
zV!R?r4C+KL3c`c}!1o4~7x4J#VBP;8-2r~$NAh=Jt9`R#uT{DDRxp6DQ)
zPU$ZPM1-uUQf^aG4P#6~$N*Yol9z~)0rfppg`vyaMW#g`pYtb$4pP>?Cejg&TQCt=
zo?g~8O-LRBONRmwaO#!YFh)CCBmGWm+PyG3nUm1K=+_OD!?|aRri}`#Y!KhxNo$y@44UEgaQmm
zlG`>FqOrGHrPFTmB(?>ii%>uk2Kb&h|2-`|L2P-_t*+fi$wIRaNtjS4#HVV0{*8UQ
zTE2y!Hr%E|G6)U`1r-`4f*zamV>Z<;D;SBp;G(As2H`|B5IxAQ4Yc%3T|QA_1>~)O
znJ}AzwLr)Aer<%@yGlnh0$(W%NH78Z^d5=OtlnEK&unGC9~C584CNjq5`003GL6!G
z;o6KgM6E!7;3z;(Fm!Au^*HlXk()6-Wm(J3GvSX6e`@Em(!xdm|es
zu4%!)W#?=H)GzQtP~41LU2omr{T%$GxM5RZ`O<<#vuPSuM$TaRFz?ZChyW3qg=Nv=
zRd0FId$dm9>(Dk7m?T4|pje02#|;B#r^|lr9?hD#wo*c>W6obXAco2+2DkO*Pe!5j
z|F)ovN0Fg7=pkl^z(PF$w};6nSQ>o?)3*o65yQxWLFzA15fuEYH~;6pTkZWbpmkq&
z%L(4=`4iM6gnD8ExEUGPMGAHnxJ5v_tL|lh*F?J+FasvYNa2zb=f|GFxudO7#lst-
z(wQ_0eOU#n8T%UH+-0u0&-v9ljo#)eNyGnR(FX#5{;oxUG+BwDZOU@fa_8F%x;{8+
zLV(?Ujp4%_L+O+@H}(6nzS_?B4i9!FSXgDmMCheXKXh@G47k{O^!=2vOKWYs{(^5;
zvtt9J9iAn*xQbgPXtu`KM5yo{JS&&(&>Aw4-jSf%I=I)lr&%l4zpQkfxKNYsl{@s3
zcl$rIa0^0sEe_Lq1v1qi#dDV2Qz<}C%_z(a@I1|yaC^I4h0JKCSF<}Eg29C;tGeOS-QxBFP3`#v}2
z%Z7=?@Yg4DxO=logz)pO+O5MMbN!3I=d>wrtP%=3CV$|jc?~PG`$i9!SXv;Lqq>NtogE;z<3<5u<^EPKio7ZD
zfDKQ0$w#}{rx1eH9DNFbrVo-GNZZ5K9LUxZhzp{Jdf0|Y8X&pyi<{Mmh
z{PFyvC04r_5?FKlleYUvCVCW$?!RdxjSC1#0g!M=c+&me@b#vI-mCL
z&4;Ao*Ms_z-Oo%XC99WScRsrB#(b}k_M5d>Lf7XMq?Yzv7o=2ToUh(tAhlFl@bZKs
z=38$pypy18psu9#78iB!D#FEeC+^1SYnykRp_d&O5=+gt=d;DQS$6_tE!`}~GmqE`
z<&N8R6K0VWU<+%F
z6PiEez5%k2Iz&Wq_ZmpiV(WzzY*xQh8Fs*}@KIT1jp;hHBtu&4c^_kYJrG%96Ng_c
zVqjCc)6%Q9t7>}t(!=)O^!eCRxcNDRMb^qfG8M!twLuF#$E$~SC%i2Ye3>4hsfVwJViwLnjAyOU~KE~v#%uJImWuN2`C
z-J*wMov_y!DK_b=W0&udo_EkKMJ&4TV5nc@K@bps-&E|)%k?EuCKqqV#QSlQ^>h+C
zj}{-x8x_L!oXf7L1cz1EHO3V_PRdq0S%Z+aHS-CV}2
z8b1ol$V0F~a9fDM3d8%tIqFFR$UAoe**;Kw`*UkZ7*Z|hPQ01>
z_0Ck8e3AY5E)%h8!>E{saX;gGe<{86IE10Bng4Z1xeX`1A~$yi+?DD-^6Pw|?;F=G
z4}@}NfOYuJxEsFvRRIno^wsQ1x`E4tXxHTAVtuzMzvgjQ+^~70
zk-1{>sL2K1ywOkgt7326KM4S@sM~%d3ARk{-)7zq8mfwqBKI^+PA+QRaqHMKrM=e0
zT`MVdoZvNi4wPl<4vo_z2ailHxE{BysfSrfytMbI)`sV$cHuhRJdXVemvfif(lPB<
zuKf)Nn+-)z54&OX6pe$A#9h90O~xYThw&jM2_1NX>-)-bp
z|0rd_zXN!mBFrD^DcZh1RqC!-syKC`BM6rA{t@p(VJr$DUOm}sKL17ak>$wpzZL3E
zglA6e?X$~cEp=0)zSdCK-r8^iW8oD+s1S21bg14?8r%7hn9LKusmhFqeNh$W3O*T^
zJ&9H?6xKN`AypMUL~pUPq6hZOtmzjJvZUHoQf?Ao&%#(thS`Th9D
zDxi|evHd9WxU}8R=Gkk8bZGJ@A$^Y
zhJke%cl%j3xoa+!8(@F-9)F%1h^_PMd|-U7KYT&@-6qeTxcrgUVt3P`aJl_|eO%#j
zSZH~+L!#;GiNN{nOVMRkpd={#`N=Apg==a134(|9P9>kS`?h%0Yj*^S>$2-Zc4_RQ
z%m68cPZ8W|b#^MJaXD@V>{mswe#`D-ucpSUpBWVqHBZ32v`kEoxsc}cvg3exP>yMG
zbx~txsTm=o;%jk$YGzZ~^4{&xUDcs;#h)FAdO42=oue%co>cpt+*-A5TlK0_*qc3j
zcWp1vQ;^g-nOjm+2DZ{aMOP@84mdp)`t#gI(Zxwm=a
zvW1=Wr#Mj5DQQkEGa74)6LXVN=!rbOuP)vMAE)ik3ywPwzi0;FvWZr0VIC
z`N}nTo^^++pW(UY!R~?%?qdJ_7v%0bT~oC=MI;s}@P5_m2R&faTgpqx&Fgi%cqt@Q
zJHqWkI`Zaqw~}<8#F*}d!=JTZe+#eSiC>Y?9!#1DE68+3sCzE%7(g|%RnkX<29x^pouwDQ-|7o8WTbWM)*e9LGavg;O`1jFZM-uxecQIBQ-
literal 0
HcmV?d00001
diff --git a/app/src/main/res/drawable/ic_launcher_background.xml b/app/src/main/res/drawable/ic_launcher_background.xml
new file mode 100644
index 0000000..07d5da9
--- /dev/null
+++ b/app/src/main/res/drawable/ic_launcher_background.xml
@@ -0,0 +1,170 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/ic_launcher_foreground.xml b/app/src/main/res/drawable/ic_launcher_foreground.xml
new file mode 100644
index 0000000..2b068d1
--- /dev/null
+++ b/app/src/main/res/drawable/ic_launcher_foreground.xml
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_wallet.xml b/app/src/main/res/drawable/ic_wallet.xml
new file mode 100644
index 0000000..d7707dd
--- /dev/null
+++ b/app/src/main/res/drawable/ic_wallet.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/imagem_convertida.png b/app/src/main/res/drawable/imagem_convertida.png
new file mode 100644
index 0000000000000000000000000000000000000000..842cd2b1e2c9d499867cc7be43d5185d1d692a12
GIT binary patch
literal 37192
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
GGywn&4P*BJ
literal 0
HcmV?d00001
diff --git a/app/src/main/res/drawable/logout.png b/app/src/main/res/drawable/logout.png
new file mode 100644
index 0000000000000000000000000000000000000000..831ba253cf9c806e9f07f5ffd6d6043d77b3c9ff
GIT binary patch
literal 4513
zcmeHJXH=7E7Jie^y9go#1crdjP^C(b4k{TC7(lvoEGWI#Lo)W(A3h_L7zGMv+nr|dcWu!Tr@N?{?)|P%-q7#%G$>EvYowyqm#3X
z>y@k5uDjiI_we-c_VM)(2n-4i2@MO6z~XL2-j0fnxqI(^TztZVhmRg7COt_>O-s+n
z%*xJr`s{h`%e+_l1%*ZU;*!#`@`^W=Rn@h1^$m?p&2L*;+upTzbar+3^!D`+ydU~7
zJTgico0y!MCeF-$n)^Jzu=wTcx25HkRT6n^ePeTLo3gXJw|{U*{qR7E1l}W%H>Hq`-)djpo>RWzeVGCZ!q##=^7c+
zpV5|vQSu08y)iE1n+CnNaGi