From 0c48c1f89f57b4700a0985496a95cc44f4f5953f Mon Sep 17 00:00:00 2001 From: sparsh singh Date: Fri, 31 Jul 2026 22:37:02 +0530 Subject: [PATCH 01/11] Prepare CodeForge deployment --- android/.gitignore | 101 ++ android/app/.gitignore | 2 + android/app/build.gradle | 54 + android/app/capacitor.build.gradle | 19 + android/app/proguard-rules.pro | 21 + .../myapp/ExampleInstrumentedTest.java | 26 + android/app/src/main/AndroidManifest.xml | 41 + .../com/codeforge/revision/MainActivity.java | 5 + .../main/res/drawable-land-hdpi/splash.png | Bin 0 -> 7705 bytes .../main/res/drawable-land-mdpi/splash.png | Bin 0 -> 4040 bytes .../main/res/drawable-land-xhdpi/splash.png | Bin 0 -> 9251 bytes .../main/res/drawable-land-xxhdpi/splash.png | Bin 0 -> 13984 bytes .../main/res/drawable-land-xxxhdpi/splash.png | Bin 0 -> 17683 bytes .../main/res/drawable-port-hdpi/splash.png | Bin 0 -> 7934 bytes .../main/res/drawable-port-mdpi/splash.png | Bin 0 -> 4096 bytes .../main/res/drawable-port-xhdpi/splash.png | Bin 0 -> 9875 bytes .../main/res/drawable-port-xxhdpi/splash.png | Bin 0 -> 13346 bytes .../main/res/drawable-port-xxxhdpi/splash.png | Bin 0 -> 17489 bytes .../drawable-v24/ic_launcher_foreground.xml | 34 + .../res/drawable/ic_launcher_background.xml | 170 +++ android/app/src/main/res/drawable/splash.png | Bin 0 -> 4040 bytes .../app/src/main/res/layout/activity_main.xml | 12 + .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 5 + .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 2786 bytes .../mipmap-hdpi/ic_launcher_foreground.png | Bin 0 -> 3450 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 0 -> 4341 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 1869 bytes .../mipmap-mdpi/ic_launcher_foreground.png | Bin 0 -> 2110 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 0 -> 2725 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 3981 bytes .../mipmap-xhdpi/ic_launcher_foreground.png | Bin 0 -> 5036 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 0 -> 6593 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 6644 bytes .../mipmap-xxhdpi/ic_launcher_foreground.png | Bin 0 -> 9793 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 0 -> 10455 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 9441 bytes .../mipmap-xxxhdpi/ic_launcher_foreground.png | Bin 0 -> 15529 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 0 -> 15916 bytes .../res/values/ic_launcher_background.xml | 4 + android/app/src/main/res/values/strings.xml | 7 + android/app/src/main/res/values/styles.xml | 22 + android/app/src/main/res/xml/file_paths.xml | 5 + .../getcapacitor/myapp/ExampleUnitTest.java | 18 + android/build.gradle | 29 + android/capacitor.settings.gradle | 3 + android/gradle.properties | 22 + android/gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 43764 bytes .../gradle/wrapper/gradle-wrapper.properties | 7 + android/gradlew | 251 ++++ android/gradlew.bat | 94 ++ android/settings.gradle | 5 + android/variables.gradle | 16 + app/api/ai/commentator/route.ts | 271 ++++- app/api/execute/route.ts | 81 +- app/api/leaderboard/[id]/route.ts | 30 +- app/api/revision/route.ts | 51 +- app/api/submissions/route.ts | 65 +- app/contests/room/[code]/page.tsx | 5 +- app/dashboard/page.tsx | 24 +- app/globals.css | 92 +- app/layout.tsx | 9 +- app/leaderboard/[id]/page.tsx | 4 +- app/login/page.tsx | 12 +- app/mobile/revision/page.tsx | 357 ++++++ app/page.tsx | 2 +- app/problems/[id]/page.tsx | 75 +- app/revision/page.tsx | 141 ++- app/visualizer/page.tsx | 134 ++- capacitor-www/index.html | 47 + capacitor.config.ts | 18 + components/contests/LiveCommentator.tsx | 257 ++++- components/dashboard/SolvedSummaryCards.tsx | 22 +- .../dashboard/TeachingStyleSelector.tsx | 60 +- components/dashboard/WeeklyInsights.tsx | 24 +- components/editor/EditorWorkspace.tsx | 98 +- components/guidance/TutorDrawer.tsx | 56 +- components/landing/CoreFeaturesGrid.tsx | 40 +- components/landing/HeroSection.tsx | 57 +- components/problems/ProblemVisualizer.tsx | 61 +- components/problems/VisualizerScene.tsx | 99 +- components/problems/VisualizerTutor.tsx | 32 +- eslint.config.mjs | 7 +- lib/revisionLearning.ts | 120 +- lib/revisionSchedule.ts | 15 + lib/teachingStyles.ts | 20 +- lib/types.ts | 51 + package-lock.json | 1006 +++++++++++++++++ package.json | 7 + public/teaching-styles/ada-lovelace.png | Bin 0 -> 264665 bytes public/teaching-styles/einstein.jpg | Bin 0 -> 38674 bytes public/teaching-styles/feynman.jpg | Bin 0 -> 36843 bytes public/teaching-styles/gordon-ramsay.jpg | Bin 0 -> 33135 bytes public/teaching-styles/marcus-aurelius.jpg | Bin 0 -> 28019 bytes public/teaching-styles/sherlock.jpg | Bin 0 -> 27360 bytes public/teaching-styles/socrates.jpg | Bin 0 -> 38125 bytes public/teaching-styles/sun-tzu.jpg | Bin 0 -> 26685 bytes public/teaching-styles/tesla.jpg | Bin 0 -> 37012 bytes public/teaching-styles/yoda.png | Bin 0 -> 177985 bytes scripts/android/build-debug-apk.sh | 23 + scripts/test-ai-commentator.ts | 223 ++++ scripts/test-public-boundaries.ts | 37 + scripts/test-revision-learning.ts | 106 +- scripts/test-visualizer-layout.ts | 16 + scripts/verify-frame-rendering.ts | 23 + 105 files changed, 4435 insertions(+), 421 deletions(-) create mode 100644 android/.gitignore create mode 100644 android/app/.gitignore create mode 100644 android/app/build.gradle create mode 100644 android/app/capacitor.build.gradle create mode 100644 android/app/proguard-rules.pro create mode 100644 android/app/src/androidTest/java/com/getcapacitor/myapp/ExampleInstrumentedTest.java create mode 100644 android/app/src/main/AndroidManifest.xml create mode 100644 android/app/src/main/java/com/codeforge/revision/MainActivity.java create mode 100644 android/app/src/main/res/drawable-land-hdpi/splash.png create mode 100644 android/app/src/main/res/drawable-land-mdpi/splash.png create mode 100644 android/app/src/main/res/drawable-land-xhdpi/splash.png create mode 100644 android/app/src/main/res/drawable-land-xxhdpi/splash.png create mode 100644 android/app/src/main/res/drawable-land-xxxhdpi/splash.png create mode 100644 android/app/src/main/res/drawable-port-hdpi/splash.png create mode 100644 android/app/src/main/res/drawable-port-mdpi/splash.png create mode 100644 android/app/src/main/res/drawable-port-xhdpi/splash.png create mode 100644 android/app/src/main/res/drawable-port-xxhdpi/splash.png create mode 100644 android/app/src/main/res/drawable-port-xxxhdpi/splash.png create mode 100644 android/app/src/main/res/drawable-v24/ic_launcher_foreground.xml create mode 100644 android/app/src/main/res/drawable/ic_launcher_background.xml create mode 100644 android/app/src/main/res/drawable/splash.png create mode 100644 android/app/src/main/res/layout/activity_main.xml create mode 100644 android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 android/app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png create mode 100644 android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png create mode 100644 android/app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png create mode 100644 android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png create mode 100644 android/app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png create mode 100644 android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png create mode 100644 android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png create mode 100644 android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png create mode 100644 android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png create mode 100644 android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png create mode 100644 android/app/src/main/res/values/ic_launcher_background.xml create mode 100644 android/app/src/main/res/values/strings.xml create mode 100644 android/app/src/main/res/values/styles.xml create mode 100644 android/app/src/main/res/xml/file_paths.xml create mode 100644 android/app/src/test/java/com/getcapacitor/myapp/ExampleUnitTest.java create mode 100644 android/build.gradle create mode 100644 android/capacitor.settings.gradle create mode 100644 android/gradle.properties create mode 100644 android/gradle/wrapper/gradle-wrapper.jar create mode 100644 android/gradle/wrapper/gradle-wrapper.properties create mode 100755 android/gradlew create mode 100644 android/gradlew.bat create mode 100644 android/settings.gradle create mode 100644 android/variables.gradle create mode 100644 app/mobile/revision/page.tsx create mode 100644 capacitor-www/index.html create mode 100644 capacitor.config.ts create mode 100644 lib/revisionSchedule.ts create mode 100644 public/teaching-styles/ada-lovelace.png create mode 100644 public/teaching-styles/einstein.jpg create mode 100644 public/teaching-styles/feynman.jpg create mode 100644 public/teaching-styles/gordon-ramsay.jpg create mode 100644 public/teaching-styles/marcus-aurelius.jpg create mode 100644 public/teaching-styles/sherlock.jpg create mode 100644 public/teaching-styles/socrates.jpg create mode 100644 public/teaching-styles/sun-tzu.jpg create mode 100644 public/teaching-styles/tesla.jpg create mode 100644 public/teaching-styles/yoda.png create mode 100755 scripts/android/build-debug-apk.sh create mode 100644 scripts/test-ai-commentator.ts diff --git a/android/.gitignore b/android/.gitignore new file mode 100644 index 0000000..48354a3 --- /dev/null +++ b/android/.gitignore @@ -0,0 +1,101 @@ +# Using Android gitignore template: https://github.com/github/gitignore/blob/HEAD/Android.gitignore + +# Built application files +*.apk +*.aar +*.ap_ +*.aab + +# Files for the ART/Dalvik VM +*.dex + +# Java class files +*.class + +# Generated files +bin/ +gen/ +out/ +# Uncomment the following line in case you need and you don't have the release build type files in your app +# release/ + +# Gradle files +.gradle/ +build/ + +# Local configuration file (sdk path, etc) +local.properties + +# Proguard folder generated by Eclipse +proguard/ + +# Log Files +*.log + +# Android Studio Navigation editor temp files +.navigation/ + +# Android Studio captures folder +captures/ + +# IntelliJ +*.iml +.idea/workspace.xml +.idea/tasks.xml +.idea/gradle.xml +.idea/assetWizardSettings.xml +.idea/dictionaries +.idea/libraries +# Android Studio 3 in .gitignore file. +.idea/caches +.idea/modules.xml +# Comment next line if keeping position of elements in Navigation Editor is relevant for you +.idea/navEditor.xml + +# Keystore files +# Uncomment the following lines if you do not want to check your keystore files in. +#*.jks +#*.keystore + +# External native build folder generated in Android Studio 2.2 and later +.externalNativeBuild +.cxx/ + +# Google Services (e.g. APIs or Firebase) +# google-services.json + +# Freeline +freeline.py +freeline/ +freeline_project_description.json + +# fastlane +fastlane/report.xml +fastlane/Preview.html +fastlane/screenshots +fastlane/test_output +fastlane/readme.md + +# Version control +vcs.xml + +# lint +lint/intermediates/ +lint/generated/ +lint/outputs/ +lint/tmp/ +# lint/reports/ + +# Android Profiling +*.hprof + +# Cordova plugins for Capacitor +capacitor-cordova-android-plugins + +# Copied web assets +app/src/main/assets/public + +# Generated Config files +app/src/main/assets/capacitor.config.json +app/src/main/assets/capacitor.plugins.json +app/src/main/res/xml/config.xml diff --git a/android/app/.gitignore b/android/app/.gitignore new file mode 100644 index 0000000..043df80 --- /dev/null +++ b/android/app/.gitignore @@ -0,0 +1,2 @@ +/build/* +!/build/.npmkeep diff --git a/android/app/build.gradle b/android/app/build.gradle new file mode 100644 index 0000000..ac0d870 --- /dev/null +++ b/android/app/build.gradle @@ -0,0 +1,54 @@ +apply plugin: 'com.android.application' + +android { + namespace = "com.codeforge.revision" + compileSdk = rootProject.ext.compileSdkVersion + defaultConfig { + applicationId "com.codeforge.revision" + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion + versionCode 1 + versionName "1.0" + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" + aaptOptions { + // Files and dirs to omit from the packaged assets dir, modified to accommodate modern web apps. + // Default: https://android.googlesource.com/platform/frameworks/base/+/282e181b58cf72b6ca770dc7ca5f91f135444502/tools/aapt/AaptAssets.cpp#61 + ignoreAssetsPattern = '!.svn:!.git:!.ds_store:!*.scc:.*:!CVS:!thumbs.db:!picasa.ini:!*~' + } + } + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + } + } +} + +repositories { + flatDir{ + dirs '../capacitor-cordova-android-plugins/src/main/libs', 'libs' + } +} + +dependencies { + implementation fileTree(include: ['*.jar'], dir: 'libs') + implementation "androidx.appcompat:appcompat:$androidxAppCompatVersion" + implementation "androidx.coordinatorlayout:coordinatorlayout:$androidxCoordinatorLayoutVersion" + implementation "androidx.core:core-splashscreen:$coreSplashScreenVersion" + implementation project(':capacitor-android') + testImplementation "junit:junit:$junitVersion" + androidTestImplementation "androidx.test.ext:junit:$androidxJunitVersion" + androidTestImplementation "androidx.test.espresso:espresso-core:$androidxEspressoCoreVersion" + implementation project(':capacitor-cordova-android-plugins') +} + +apply from: 'capacitor.build.gradle' + +try { + def servicesJSON = file('google-services.json') + if (servicesJSON.text) { + apply plugin: 'com.google.gms.google-services' + } +} catch(Exception e) { + logger.info("google-services.json not found, google-services plugin not applied. Push Notifications won't work") +} diff --git a/android/app/capacitor.build.gradle b/android/app/capacitor.build.gradle new file mode 100644 index 0000000..bbfb44f --- /dev/null +++ b/android/app/capacitor.build.gradle @@ -0,0 +1,19 @@ +// DO NOT EDIT THIS FILE! IT IS GENERATED EACH TIME "capacitor update" IS RUN + +android { + compileOptions { + sourceCompatibility JavaVersion.VERSION_21 + targetCompatibility JavaVersion.VERSION_21 + } +} + +apply from: "../capacitor-cordova-android-plugins/cordova.variables.gradle" +dependencies { + + +} + + +if (hasProperty('postBuildExtras')) { + postBuildExtras() +} diff --git a/android/app/proguard-rules.pro b/android/app/proguard-rules.pro new file mode 100644 index 0000000..f1b4245 --- /dev/null +++ b/android/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 diff --git a/android/app/src/androidTest/java/com/getcapacitor/myapp/ExampleInstrumentedTest.java b/android/app/src/androidTest/java/com/getcapacitor/myapp/ExampleInstrumentedTest.java new file mode 100644 index 0000000..f2c2217 --- /dev/null +++ b/android/app/src/androidTest/java/com/getcapacitor/myapp/ExampleInstrumentedTest.java @@ -0,0 +1,26 @@ +package com.getcapacitor.myapp; + +import static org.junit.Assert.*; + +import android.content.Context; +import androidx.test.ext.junit.runners.AndroidJUnit4; +import androidx.test.platform.app.InstrumentationRegistry; +import org.junit.Test; +import org.junit.runner.RunWith; + +/** + * Instrumented test, which will execute on an Android device. + * + * @see Testing documentation + */ +@RunWith(AndroidJUnit4.class) +public class ExampleInstrumentedTest { + + @Test + public void useAppContext() throws Exception { + // Context of the app under test. + Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext(); + + assertEquals("com.getcapacitor.app", appContext.getPackageName()); + } +} diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..b06ddbf --- /dev/null +++ b/android/app/src/main/AndroidManifest.xml @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/android/app/src/main/java/com/codeforge/revision/MainActivity.java b/android/app/src/main/java/com/codeforge/revision/MainActivity.java new file mode 100644 index 0000000..4ebadf5 --- /dev/null +++ b/android/app/src/main/java/com/codeforge/revision/MainActivity.java @@ -0,0 +1,5 @@ +package com.codeforge.revision; + +import com.getcapacitor.BridgeActivity; + +public class MainActivity extends BridgeActivity {} diff --git a/android/app/src/main/res/drawable-land-hdpi/splash.png b/android/app/src/main/res/drawable-land-hdpi/splash.png new file mode 100644 index 0000000000000000000000000000000000000000..e31573b4fc93e60d171f4046c0220e1463075d9e GIT binary patch literal 7705 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 wKmFJ0_JHhk1&0B>;%YXATM literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-land-mdpi/splash.png b/android/app/src/main/res/drawable-land-mdpi/splash.png new file mode 100644 index 0000000000000000000000000000000000000000..f7a64923ea1a0565d25fa139c176d6bf42184e48 GIT binary patch literal 4040 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 XyOn+%7f`N3b2T^T3uj5+eShz7v)7qy literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-land-xhdpi/splash.png b/android/app/src/main/res/drawable-land-xhdpi/splash.png new file mode 100644 index 0000000000000000000000000000000000000000..807725501bdd92e94e51e7b2b0006f69e0083a0b GIT binary patch literal 9251 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 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-land-xxhdpi/splash.png b/android/app/src/main/res/drawable-land-xxhdpi/splash.png new file mode 100644 index 0000000000000000000000000000000000000000..14c6c8fe39fcd51a0414866ad28cbe8ff3acb060 GIT binary patch literal 13984 zcmeHt`Cn4$+dnnUI8CXgla?FPH05V<%gWT;TBe+G)JhTDP;As(abHlh$zmkpu$5hgra^=kAE5J2!R|qapsrf-f2VA0{`2g;py+@CM!GM7RGJgbN^Pw*^tDu z_xDf4ZTq#$<4R>g=G6|nKLf6t2{(O}fDbYJ^&HG@XX_tk@ckMNiZaNZ{Tsgd$-eYl zNzZYkt8RO?v4RWV6yEuKRz_F&Nw9-M7T-R?g(s`CLJ!eWWm8B)QOF>(O6gl8X#*^U zTqfpU{u=l^7Pe6j{JVZL0{r-AU+@Ot*a`qsJS*2%Jo@E|gSI(viEnY|oflr@qew}|Js+?1$G)vyhhVLD_8MA4d= zd?-WS;nkPz-8QwHCLA*0)grOZT^tOF@d&j6615jNCA{X!@g4gOc|@dK_6utx#OLg@ zjgU))@<`F_$$t0A!9H>=hMWDyjCMKs6W6xeN&V%f)4)x40~iKO75_dm`MmZ4x#oY= zMm$r7o=nIi#I}8wb~7GlT+-SCK^Sk?0tud+=PuGYT{SXj)`>{5C$%zIoEuU5+Cktl zhiF$P#vcesuYWsicXfw|47uFA9kBk$GDhB^#9i89U42oUajutg6-ys_jVuYwF{4OG z9G!B&R^Ca#jCTWs)a)acPR8>4&-r=(#D4O{8n(@y7+L80MN^_%+^OLV)zH8>+hj4! z3Lv&lu-Aa+gx!GW;euM^>J(Xt$GdFrpNQQVfR{S>K2%`kA3^$ zErs3T9}i_Guan?ruE1%R-lSq2p;Gc6f&1GQ5|N$&6NX>ILFs)*xVZrh~XJ2F79 ziVi28PNw7QUOpJQ%5@|F#`1wS^=wyjJ-ix#RuLQwuhj^B(r15M-yj1ee|J73dNho(%4*~aI|dpLFEkO*lBQ& zmQ3ZnMFGd10>{3JXbI{(;0M#TE)tq?F+^#Pm~+82u{6$$#Mq_*i#4=D%QR?ng(yBv z$E@7&dxjz;^S%4pJqYA!#X`^qNL=m8XV1Y={wipORSI2V;Z%*ujQ z7P`n}!I4=) z>Mj`HiX2O4MO^0c+nFBcxx>&KZFfnfN5{VoOx}+sp6E^udeMX|Vq#OiBTKq^?lm&a z6>mJz4VcFj1=-5n#c-EN=(mtRZvrB_;*=K)e*_t`_7LqNh`kV@{4m?_)<#1+yr+*A zNgpWEuTo3MEoE?yI(zAaN=8yr?c*u4pPNKCWUd5exGsQVmks|#!=5aES5^4l3ZDC8Dx1U~7 z82`^sff|9CD`Ty)xpas)_c`I9Ws$fXr<5}Hpt!lqlT{?j)#~MC(TDe}PIrN)Jw33!c^3fyU7{LK1X=3Oy9#=w>Iq9mx^eXyf(GJq>zo!(*6>bCYCexqR`> zSAE7$mg=L>yX^uN(oT?F+;&U#&qM$(XUrc7!Td z{szku6SvqT^|TXrcQI63d7&1$=t{GArQvJj28h`n0E)v$!Z$;2s!Y(|kY3IHy^Cp} zo)&S6n+bPNY5TJtsdPqF^2OO4T-0^3hKEvj#2INhw!i1A!hYLwYjgQ`5X2s^InVs7 z(&;s!PQd#a_=EIX+_iruqY=tAZY{F&d1iDZ?|ztnTPCu zdoOaZn^lg7jrWb%Je;BpTlGxu%Y_BwwM{Hj+k`6k+%4%e%=dFWqC%sv(@CQzLE^LO z1%k*1eP1oNC#K-MZ$H8pa+^00yb}>Mqnns8TcY}DC4DFZ$`Z(;l`%!)+e54N?oRW@br3X{%v&oW9;kuBY+D>$orVg(Uiy^+W8#bYiJT-+AR;4Kum zwbeN;RQh$t=MSQ%kFy(8v+T>E|`y~o;? znAf675OkWbu$$ee;Zls(9kHyXxK`@7D$HM<@TN$o1)pifh+ZJs2I~QLB7OiONl5zW zm-(JEffEWHXI$7L@ow$XlJ3mX**QgTjy#sg_fWp;zhA2B|M8J(YnOMk*v>`}N5-(L zDEY%B{xS@9MJ!ZWeGReG1fUJZ0_^#L+p@RvnGugQH`U!8)T-hf^!{gx&z~KzbFy(Z z*)yAaPf(D~?$J+U5D5_U_Kus<^0;l1_K%3IMcS4Ct6mV?cqn)Az#mqr%H31-Z#1D)O>Q=SV2NU~EMwQfot@ z1KD-XpW*b!=A3VO6|Je#jl_>m-w~?Q7uB)@89+A$iHNKP^xfIGgt!)&to3hPLE>tL(%&|Hzr_XgJ0nvEk6g8-N~s1U&eGWX9>pgWfbHS@KSm)T#zfo>`@)u+Fk_bcd!! zTPVxDITU^qe;Nkw8f0^JTdFY&iUJIP;${HFKfQxU4Eg6bsa?Bj_`5T<;9+}o|<}EEd-;i&$ceD}cUEw(Zul=6%@!sO6xCFAK-2FnR zQAmC|E5DPsFvqv__+UOpL=^=MDF0KqgnEYgmSBIN6)}foHc**IMn5Z8+%`aZHv!oF zI_bdaa23Bbhmb)F)4{>?87BoP4P8rpH6vk9mw?9a z0*&u=h2CJUNZ2`;+uo!bUIn3u3GDJRe7Z91s3KQ>E_3;Yc%vBA^l-+_4*5HuerxJR z$}Jz;3Zs=efK1{_zle}O+30rjEKwUfhp}?Fp&nYdpG)mRm+`A{Jg=6ZQYmybJ8Q;p zP9wYNXZP;;K70pyEo9|Y1NZAY?pOD-Oi35Yl{SH>*AiH?1a?u?k4y_(Vd*c~ZiG}= z>;q`Fu&Uhvn*MuYDY=>usm1S{>6@R+ELQbpOMX(I0`WdcFfTa!7=QkPK9t?XbY{?S zz1^xT`z*!RpiTszv)C|FKbBk8YZ0G>}Hax zEkdd-6H9OtGlJNbe7+DvS} zTmfj{x@rIh;k9wiSw~3chHNwyXpO_7q!v7Iv$A#ssE?2(1s`e z^r85Mw=)|Zk|xp<0iO98lpKY;H<@JM$Xlgf#vt8jdL$ z>!EvvQ7rrx-iOvXK;rNqvy~TW5^Pflj{_vgIzp^T&T{1pPJgi2^KX<~MIIXWX>&?M zgd*I6iVLNqqT{r!QHv}iKwSHQYhOk8>NxAb8>NisWe=y0!_K=3l9E5)>A&w_)fGrJ zp2Tj34vmx@$lWo&YUFb-nR+*y@4`LB73aR#!5vLi0devIiJe!+pE6+|tmhx@pYFw4 z8%9N@))Z$;Iz(hK&qpRTzL%DNO zrN_J$=u@Ix!OM{{ay1JtJN53AuTezBgW-e#f=OqjK5IA+sO5cNI}h<<8RU3uCGbOpdov_v3^J5n3j-DQ}- z!Pp!7-TTFQnuIm~RZjW*WBUc5EwF!a>#{p-!l+<|+rHmC5-7ymu^|H;;#m|j#aaBRX^+JzAwzq&h; z!Wn>hfG1zD_j}x!Ge>!|yyP!wVcdZ?PuoOYSG`Ok5Aqbny5+1$Qe65j_Kkm+U6U3p z{N$c*fY`!7@!o$CsODb-p0m!{b}>>0`UQ9zJ=G>u zn-ABt@#jf*g?@8gk_i(qJ(7XZ!ey_T(Yzf!G|k>4t<)`jlG`~GzU^c6x@}ftwJ4`i zB!W(l3c5F>*6X@z>)qDa;XXJ#r3E4W1%Os@gi<-fT3s6IZpwH=^dQB0wNf+XLZ_Kr zo6)kk1qbaEW|EN}&a&BAg{Xv@ClC9zyM}MxaM|X|&t4iNR~dg(7G^ph@*ihu#Ph~V zKfgvds6$`Ve?`}Ko`LnGtn0q)EaKRb<d|&Dog0eoa4g_@<3UPz(t8EGJpvIg8I*+9®q@N z14_H8ofW)l{|J8q+a)eH)I0r)>WXdzV%7J>PA~6_J)KLT90iYa^K=Wz7D!OybzqSru=f4?|KFl;Y)gP_H6V4x`~kZ6fE(xM1&;?72-TZNk+0 zr+Crr5yl%Iy@vfmt3eYFl!jIvPGFz^8Ek+2`48O1_pCX3xNWh-zBa{rIcc%+=|XVj zANYTg&s}TKb#OztQrCW(Xk?V^i{`q~%HtcveTxq(_HKeC9GzrtguMT4Nvs@KakPTA z9>*8bBZmLz`lK5=l)=b|=dT3a5ag^a1^znZyx5QKfUb1b9yacArRp%3@QWo(hrsCU z-K!-=jDmv!zb7XT>)r|-Z0Ry}lk2;dk-ECqMwr_nKN#x*X6~B5hVIN>6$1HwBz3Of z=Pk){AL5*=d90f17_qZEJLm;Q%WMdX=*N&!ki@E&cy7?>{1ssAH(tACtp*r@d^til z)x(1#6(kPD+joSF&J3sxJU@{-sWCS+pZq{Gsx=?z4wP;>?)1yHv0?X?VP{}cX4~aH zxeBPKw_rgW8rvewS1W2#^y+c>-183iMbJCqc38RN_o~__9-n|jcd&oA`m7*&Fqqpc z;Tev*0LS-ZK47Sq1unfvP1S43uA12P?PJmI8BeTYPr~R*tYUm^0;U%Hmu?bSZHEK6 zPjsW=E67Kq-&trmf;)UkmRABH2U)V)-eRT$j(%G12lLMsThSsU10iP#{)ZnvjzN$d z*K%P3`}oqyvpWP~venr>3viH8^`)Ma*=B31hw*Q+tqE>i2y7w!(o^lI^Yss^=tHW( z;cnCT(%B1gLz+TRGW9roFjI1EQTu-u`(f#RmZ8;FSN(bsC1J;+(i_R6mrW=yYx$cy z#%QKVrEx~kVMg~yo?^N28Wnk6x%L;J8i|*|ANEiNjq(Vhzuzl3ikpA*G!Z}kLAzAI z9qnySo%D|AuJj12%h;Otqjs(>LPj?rNdeU8so>P(C>XMzlho94ZD#w=cCOOU;=3&^ zsqAG!i{~lY271D|m>ztPV`)X@FO_;`wPjppYNQpM+ncvtz1lZjN>!Q^*I}T%uP78Z7tbV2$q3W_)14=kLFyJ z1GqL6T>ClgeZorL!}xP4f%OB_EsmJ`uw7dGWNV9OLlhb|UMpVhc{4@Bhh`tO!ZqzD zhusd<=K^ah!L@gQ?6dOpI-ge^e>S5W9eII57Zu16eU?GRbgKTeVk9yS{iK|O(zLR> zheb?;jwGCHS80NCn=jKxgJ>}qu4l%5NPihjzazGv#J?Jcyl;<#IW&x4mm>nrW8>}C z3U@aeD~)*F(0o^2{GnKVm$Jr#aZE ztl~TOkM^SdzJapQ((!-i8b!RkVQBKkL`2ZCBuy!qI1L{3Er526plVols~68U-^9Px zR(3{j;Z9RHX^muc0dUywJ|`yyZFf=k&-Gb#m4u73Lm5Ks%BfHj%2|gjn#i> zLC5pO$2Em9H;qoKQmMtl<@wgtPF1%2HariD5O~u>8=^*J&au~JH%Ih@&2Uging3U_ z0bzfKucW$ZHSx}!#buB?+-J)%RQbbXM-!BJTS&#dU_@lxU6>te2O+9 z@F{F{Nb!;{Cd`Gx+$G?11aB~S#wIH%D=*=7f7H@D@%B1)&bF$@t3JDq4l*%(wJTlh zo`?uMq{YilKUewPNaC)GuOr<8j9&ofqRU__BRUX^x8Cj3a;a$rXzgXqW>LR#CUn%~m)t zYC&ol(gAkbc^fd`xWU&bk5vT6KbFmsR=O78Bn%t7 znbw&=c+|T&#r+bls5rU6D#HMvqA<|;)BV%jOMonkm^p$7Vcel-Wwn$=uAJv&(8W>% z9))Fxpl*(%E#wFm_m!U~2HqgZs^2vaGeY(UfYKrSHV}w^D0N6!se5Ewy)Yy-!(2

aKj2hWG7>znxs|SE zN4rHtiSPqLskWp(?(_YYwgq+1@8v+~8As|(bC>$D(atG3ZE8-ZM3SVcg|vHQz$I=!(A`k`5= zOqR>&%G)$)k*QLz7MTB9wleWpv&N9Sta64wy}3Ytd?x!Ja8z>(z~(3UNFu^eFmn#6 zw!!gUxOuZi$PQIs*ixfZR3iLyADJ z5&s%tPfk>V!x|A-;oq%1!yk9H$UBP0ToA*EDtz(^!_AnF1bBQ7joj|? z5b)gSI8c8O$PYFE!vXJ<4gebg*9G9P2wcB{#kv0FItc5T@PDNo)}Rh4Us}L{e}xzW zhwt`)j`M)mP=G6H0;^&q=I0{jU%bIRkF#uLF;{vVC&H|_uc literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-land-xxxhdpi/splash.png b/android/app/src/main/res/drawable-land-xxxhdpi/splash.png new file mode 100644 index 0000000000000000000000000000000000000000..244ca2506dbe0fd8f6a05520ac7d1a629ea81438 GIT binary patch literal 17683 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 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-port-xxhdpi/splash.png b/android/app/src/main/res/drawable-port-xxhdpi/splash.png new file mode 100644 index 0000000000000000000000000000000000000000..bfabe6871a17a5e95b78fb30d49b7d2b4d2fe4c0 GIT binary patch literal 13346 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

VwO4Hu8X}%XHUAz_J@50rzbkIsat>4oWtQt< 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 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-port-xxxhdpi/splash.png b/android/app/src/main/res/drawable-port-xxxhdpi/splash.png new file mode 100644 index 0000000000000000000000000000000000000000..6929071268eb03ee0f088142b6523566b78550e2 GIT binary patch literal 17489 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 KR&><$`~L^lv%S~= literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/android/app/src/main/res/drawable-v24/ic_launcher_foreground.xml new file mode 100644 index 0000000..c7bd21d --- /dev/null +++ b/android/app/src/main/res/drawable-v24/ic_launcher_foreground.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + diff --git a/android/app/src/main/res/drawable/ic_launcher_background.xml b/android/app/src/main/res/drawable/ic_launcher_background.xml new file mode 100644 index 0000000..d5fccc5 --- /dev/null +++ b/android/app/src/main/res/drawable/ic_launcher_background.xml @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/android/app/src/main/res/drawable/splash.png b/android/app/src/main/res/drawable/splash.png new file mode 100644 index 0000000000000000000000000000000000000000..f7a64923ea1a0565d25fa139c176d6bf42184e48 GIT binary patch literal 4040 zcmcJSdsNct*2lF|+LV`0O<9`gWHmXNI_0HMG^Z5J?4q936dm(MrI-mKAX+&`r@Sy` z-UWRJFO`aw_bX%OB?%BsNembv6+|Tjydip+nRU)OtOyZ-=Ql zg+^ZsGj@v#jtKJ%3l2raybiNhQ`5cScGk%|o;Ax>Wil|!;(O3Lf_3Bc!SfzKS@3G9SN2|L z(ZlkChqH{!k{zKhLYD}HO7W>_PR28&-#hB8$hv^aHfYWp(-yZ&PjRKna1=pP?I``1 zJhjuO|72XMzS&A`ll~v(jzN{Frmn5>s?4oWm3ilm#y^>=Z7T0(E0y>~Ztr2SKReA#x9s@PM3fJO!ntA?b_8IZah%-bwM9 zrPWDVzQJ#=jNs2JFaIztcQ0f(1C!QIp9S=|i`TgeU6oCJEYl!NZt9;kr`?c*G`gYL z@F{~wLcg{AeYsJqL5a^oqb2fgiQdIWwT6hBG)j6WGHI;BDLJKtg?9`plfFIyj9vratv!=oN|3q^M@s8E4;aM>14uu(qdH(aO2!g1QL;0` zlk6jmGqw0V8qtS}{yIbU zy>D2IV8n93+k-43)t5 zHoV3wwoE0fvlt-)6(+qv+gtyLBU{6AXwX3cO?Q8$*rCK+@|S(B)0&f&O%^8)h~IhY zd<#&uT#;hk(*&kL^^?ZTCQ4SZMdMql`iAzYYlk5dzXx_IzRNCBVl5Zt19LadD879-yI@>5F^1WV)eBIqfUF-~YTRMM0GDHk}LbSxo2oUVHJpMmlGI z3rByWH)H!8qah9gR@k*d-eyg+Ut|QQuRXEs=h1?GQkAwt(nNpN>BVlOppy1v**<~L ziAz`NGRMEZ%FOBu;ffb*Dd;A6ga;1r!6aMIM#@+UoE(3-Ev!2+(8oW?Jh1}V97M=? z?=$ovd^ECvJRP5aXbm{nv}4kKb(%lr!R}n2+m15~9wFR_pYW~@n#SC_lQPi8*+FhQ zWgalxc8^I4BGJ$9lX*4_2*@b(JtjHCy?trm@T7^ssR!kDcf$tTh3>JEO3mDbfLp#- z!w1chv6Z|o;mH%@=_g$(dgr`>qPQ9bHA7BFa^-tsN`hJ9mNtmx&rLyKj!clpb<|Hk=?iJB z!5J1+q2QQJk%f_G+bkf_kJf73rWyYHiYk|l#{AKMCW^wd#GI}}R-9g|^3&9}dLw2a zV0)s_`5Eso3~`Al@ed**cogwQ#F(S~oILZoU?$)eNMBpO7Xxpbh#2)}W;Kieqe8oo)a3m%oR62^N?_yPVJ_d;Kw;*5!k>Up)ElRob1s7hf z`rXQ9f^~cJpwXVC#@jID+`HIoJQTbv)|UmPNvCosIgIY9G2XEOsTP&!r(T^LzUBHT zm@Z$0!Sv28U0}l;@o=n+c4iWl!X6L^Y|;UkG+t#x^70!S5%F8zowq~^O7?ac(QZcl zQB#=(-;Q!Z*wH1_x*I72kb0u=t+^ZnScg3>(xrY7}&B;VVl=w*X`WI$%U!?jW zN+#A9P#}F19q9fw^74?^NNZ+f=r%@)bG_b9A}}^?LIj*zi2s=MR0$kH^uuDyIhV?@ z!zGYiC2Kv+6Wh3Z(oY)mz!6nFw2tAx@t5Q5O$0H%a!RyV!@e{4oTo9bt}Til)3?xvCcCTz{dKU{5DE9= zymnZ!hKWvDY{DGWHsUdT=bNcxt&f@Up+fU)dk_0P&q;iSi7+r9B_gI7IRiHs7Ck_$ zhIZj!=8Z1&+GbjBY3WF?ea!5Trx;Lk%c3etM&1ob@qK5xfauZL)Mh=RX%I;MYW*Wn zn68mApKv@5>sWIZc6C9}^UI3Q_Bzg8(~crtJvLDxR#5VKDt|jV*Z8rL{^#`(Nf?9R zq_tx7Z(Y-R#`6WqkLg~f2g1R)BDMiejUO!YRL79;y3}l&!G`BHu*e!N5r(tIXJsP8kkHvgQnkK z;LoY%c0tQB!(F1uJQraFEtAGdK0fD=Zkzh2t_VVj`c@aUd1ri7Gvt*rwFoPAc@S&E zdg8_Jlq@tyNjHPgalY&O)F>3OQ|_3f(h>l2h{m+k(_Ju|uH@S4!di|e%7>cgd8+=4 zjI7M8*CHw|8y3AlzQl^lPPpuMohI2ak2T}3ez?AuooV@CUD0)vm!eIrlqVYM0y2lY z1zer{@-toIhXWlqYWR~8yQoB`({<;Rv21+Zm$VLT+d}hV!V_Klm0xmVy2DIr2MOH^ zp4OthWo_zd%>6Fu`v*M7PE54w>=>*bnqTXez|}21$7?KfU7`UHkQbceUz@%Z5SPh( zf|1c?s;d{FU2)&wGjtkEWYEo4?Vd;u_CU>;tL^5+QK(f~;dr=m{U{Aj3jwwE3!GRq z$F!^t>%w%vBNRx8O))O@a~7`k--n$qj^O)$*-$by@_t2Wz_&HW{*@Uy#TY@Qn6z<6 zl4svmjF*uxvQ*COHRGd&VR7vwK$7|T{20gdieL1R%Z|)8$MRd0-L=KE8fE2Elq|C8 zo%yOJtr2+_EPaEqd8HcW?zYwESN~L7r5D~hLZxo$uo@H0Wq3ETe;(%m-GEFGx^HTR zHp|&GLrSk-%Cu!43@kQf+9m&4(>o(RqyWb~WetoKY~aneh!p0yATpfC6w`@ydruv@ zIjhr+Z2#6_F?VKjj3w{RRYob&FfF=7U&vtVx80!jDr|adJ7Of!mkHYmqu}X|yKZel z_M$tF@824GU3I%1GEUQtH1m2PWH2Dds+kVlwV5GQJGd!t|8O!gV5c1^OVz`cZa9Me zD{3^lL1;fjtU?%eb36r6d9Uz81=4cr^3G@JpjEuc%j>ZNryed0SQ4PgnNBP&e=hn+ z?SbFgG`|$Ahr&u9R>YFQ;%c;PG0nr~Bt74$ZViOq8}pjQJct(ouyK1+1JlPjW_U)a zy6-~`zPs8Vg!6BS>;D>d{v&bym$>#R?0gQ_e#giEjkx|xT>Fm|{8JLY+??3hvR93~ XyOn+%7f`N3b2T^T3uj5+eShz7v)7qy literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/layout/activity_main.xml b/android/app/src/main/res/layout/activity_main.xml new file mode 100644 index 0000000..b5ad138 --- /dev/null +++ b/android/app/src/main/res/layout/activity_main.xml @@ -0,0 +1,12 @@ + + + + + diff --git a/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 0000000..036d09b --- /dev/null +++ b/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 0000000..036d09b --- /dev/null +++ b/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/android/app/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..c023e50595074292c7361183a64de08cf9686c9c GIT binary patch literal 2786 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 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png b/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..2127973b2d318df7085734d236d0ec649a2b0292 GIT binary patch literal 3450 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 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..4d1e077104cd61e6a4c3707e87363b523077245a GIT binary patch literal 3981 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 nm0GElTB(&OnKI&V600000NkvXXu0mjff+~0a literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png b/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..df0f15880bee46332dfc6622583215194f948b0f GIT binary patch literal 5036 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 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..6cdf97c1196d48e9833487ff6de7c4cfc4e1232d GIT binary patch literal 6644 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 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..2960cbb6104b915c84760f889deed9bff2b3e17a GIT binary patch literal 9793 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 y3vD~Wi9;mL_v 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 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..a40d73e9c68ea638c28c7b13e4bcd1e179a3a102 GIT binary patch literal 15916 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 + + #FFFFFF + \ No newline at end of file diff --git a/android/app/src/main/res/values/strings.xml b/android/app/src/main/res/values/strings.xml new file mode 100644 index 0000000..dcb8df1 --- /dev/null +++ b/android/app/src/main/res/values/strings.xml @@ -0,0 +1,7 @@ + + + CodeForge Revision + CodeForge Revision + com.codeforge.revision + com.codeforge.revision + diff --git a/android/app/src/main/res/values/styles.xml b/android/app/src/main/res/values/styles.xml new file mode 100644 index 0000000..be874e5 --- /dev/null +++ b/android/app/src/main/res/values/styles.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/android/app/src/main/res/xml/file_paths.xml b/android/app/src/main/res/xml/file_paths.xml new file mode 100644 index 0000000..bd0c4d8 --- /dev/null +++ b/android/app/src/main/res/xml/file_paths.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/android/app/src/test/java/com/getcapacitor/myapp/ExampleUnitTest.java b/android/app/src/test/java/com/getcapacitor/myapp/ExampleUnitTest.java new file mode 100644 index 0000000..0297327 --- /dev/null +++ b/android/app/src/test/java/com/getcapacitor/myapp/ExampleUnitTest.java @@ -0,0 +1,18 @@ +package com.getcapacitor.myapp; + +import static org.junit.Assert.*; + +import org.junit.Test; + +/** + * Example local unit test, which will execute on the development machine (host). + * + * @see Testing documentation + */ +public class ExampleUnitTest { + + @Test + public void addition_isCorrect() throws Exception { + assertEquals(4, 2 + 2); + } +} diff --git a/android/build.gradle b/android/build.gradle new file mode 100644 index 0000000..f8f0e43 --- /dev/null +++ b/android/build.gradle @@ -0,0 +1,29 @@ +// Top-level build file where you can add configuration options common to all sub-projects/modules. + +buildscript { + + repositories { + google() + mavenCentral() + } + dependencies { + classpath 'com.android.tools.build:gradle:8.13.0' + classpath 'com.google.gms:google-services:4.4.4' + + // NOTE: Do not place your application dependencies here; they belong + // in the individual module build.gradle files + } +} + +apply from: "variables.gradle" + +allprojects { + repositories { + google() + mavenCentral() + } +} + +task clean(type: Delete) { + delete rootProject.buildDir +} diff --git a/android/capacitor.settings.gradle b/android/capacitor.settings.gradle new file mode 100644 index 0000000..9a5fa87 --- /dev/null +++ b/android/capacitor.settings.gradle @@ -0,0 +1,3 @@ +// DO NOT EDIT THIS FILE! IT IS GENERATED EACH TIME "capacitor update" IS RUN +include ':capacitor-android' +project(':capacitor-android').projectDir = new File('../node_modules/@capacitor/android/capacitor') diff --git a/android/gradle.properties b/android/gradle.properties new file mode 100644 index 0000000..2e87c52 --- /dev/null +++ b/android/gradle.properties @@ -0,0 +1,22 @@ +# Project-wide Gradle settings. + +# IDE (e.g. Android Studio) users: +# Gradle settings configured through the IDE *will override* +# any settings specified in this file. + +# For more details on how to configure your build environment visit +# http://www.gradle.org/docs/current/userguide/build_environment.html + +# Specifies the JVM arguments used for the daemon process. +# The setting is particularly useful for tweaking memory settings. +org.gradle.jvmargs=-Xmx1536m + +# When configured, Gradle will run in incubating parallel mode. +# This option should only be used with decoupled projects. More details, visit +# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects +# org.gradle.parallel=true + +# AndroidX package structure to make it clearer which packages are bundled with the +# Android operating system, and which are packaged with your app's APK +# https://developer.android.com/topic/libraries/support-library/androidx-rn +android.useAndroidX=true diff --git a/android/gradle/wrapper/gradle-wrapper.jar b/android/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..1b33c55baabb587c669f562ae36f953de2481846 GIT binary patch literal 43764 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 '} + case $link in #( + /*) app_path=$link ;; #( + *) app_path=$APP_HOME$link ;; + esac +done + +# This is normally unused +# shellcheck disable=SC2034 +APP_BASE_NAME=${0##*/} +# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) +APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD=maximum + +warn () { + echo "$*" +} >&2 + +die () { + echo + echo "$*" + echo + exit 1 +} >&2 + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "$( uname )" in #( + CYGWIN* ) cygwin=true ;; #( + Darwin* ) darwin=true ;; #( + MSYS* | MINGW* ) msys=true ;; #( + NONSTOP* ) nonstop=true ;; +esac + +CLASSPATH="\\\"\\\"" + + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD=$JAVA_HOME/jre/sh/java + else + JAVACMD=$JAVA_HOME/bin/java + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD=java + if ! command -v java >/dev/null 2>&1 + then + die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +fi + +# Increase the maximum file descriptors if we can. +if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then + case $MAX_FD in #( + max*) + # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 + MAX_FD=$( ulimit -H -n ) || + warn "Could not query maximum file descriptor limit" + esac + case $MAX_FD in #( + '' | soft) :;; #( + *) + # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 + ulimit -n "$MAX_FD" || + warn "Could not set maximum file descriptor limit to $MAX_FD" + esac +fi + +# Collect all arguments for the java command, stacking in reverse order: +# * args from the command line +# * the main class name +# * -classpath +# * -D...appname settings +# * --module-path (only if needed) +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. + +# For Cygwin or MSYS, switch paths to Windows format before running java +if "$cygwin" || "$msys" ; then + APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) + CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) + + JAVACMD=$( cygpath --unix "$JAVACMD" ) + + # Now convert the arguments - kludge to limit ourselves to /bin/sh + for arg do + if + case $arg in #( + -*) false ;; # don't mess with options #( + /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath + [ -e "$t" ] ;; #( + *) false ;; + esac + then + arg=$( cygpath --path --ignore --mixed "$arg" ) + fi + # Roll the args list around exactly as many times as the number of + # args, so each arg winds up back in the position where it started, but + # possibly modified. + # + # NB: a `for` loop captures its iteration list before it begins, so + # changing the positional parameters here affects neither the number of + # iterations, nor the values presented in `arg`. + shift # remove old arg + set -- "$@" "$arg" # push replacement arg + done +fi + + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Collect all arguments for the java command: +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, +# and any embedded shellness will be escaped. +# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be +# treated as '${Hostname}' itself on the command line. + +set -- \ + "-Dorg.gradle.appname=$APP_BASE_NAME" \ + -classpath "$CLASSPATH" \ + -jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \ + "$@" + +# Stop when "xargs" is not available. +if ! command -v xargs >/dev/null 2>&1 +then + die "xargs is not available" +fi + +# Use "xargs" to parse quoted args. +# +# With -n1 it outputs one arg per line, with the quotes and backslashes removed. +# +# In Bash we could simply go: +# +# readarray ARGS < <( xargs -n1 <<<"$var" ) && +# set -- "${ARGS[@]}" "$@" +# +# but POSIX shell has neither arrays nor command substitution, so instead we +# post-process each arg (as a line of input to sed) to backslash-escape any +# character that might be a shell metacharacter, then use eval to reverse +# that process (while maintaining the separation between arguments), and wrap +# the whole thing up as a single "set" statement. +# +# This will of course break if any of these variables contains a newline or +# an unmatched quote. +# + +eval "set -- $( + printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | + xargs -n1 | + sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | + tr '\n' ' ' + )" '"$@"' + +exec "$JAVACMD" "$@" diff --git a/android/gradlew.bat b/android/gradlew.bat new file mode 100644 index 0000000..5eed7ee --- /dev/null +++ b/android/gradlew.bat @@ -0,0 +1,94 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem +@rem SPDX-License-Identifier: Apache-2.0 +@rem + +@if "%DEBUG%"=="" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%"=="" set DIRNAME=. +@rem This is normally unused +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if %ERRORLEVEL% equ 0 goto execute + +echo. 1>&2 +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. 1>&2 +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 + +goto fail + +:execute +@rem Setup the command line + +set CLASSPATH= + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %* + +:end +@rem End local scope for the variables with windows NT shell +if %ERRORLEVEL% equ 0 goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +set EXIT_CODE=%ERRORLEVEL% +if %EXIT_CODE% equ 0 set EXIT_CODE=1 +if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% +exit /b %EXIT_CODE% + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/android/settings.gradle b/android/settings.gradle new file mode 100644 index 0000000..3b4431d --- /dev/null +++ b/android/settings.gradle @@ -0,0 +1,5 @@ +include ':app' +include ':capacitor-cordova-android-plugins' +project(':capacitor-cordova-android-plugins').projectDir = new File('./capacitor-cordova-android-plugins/') + +apply from: 'capacitor.settings.gradle' \ No newline at end of file diff --git a/android/variables.gradle b/android/variables.gradle new file mode 100644 index 0000000..ee4ba41 --- /dev/null +++ b/android/variables.gradle @@ -0,0 +1,16 @@ +ext { + minSdkVersion = 24 + compileSdkVersion = 36 + targetSdkVersion = 36 + androidxActivityVersion = '1.11.0' + androidxAppCompatVersion = '1.7.1' + androidxCoordinatorLayoutVersion = '1.3.0' + androidxCoreVersion = '1.17.0' + androidxFragmentVersion = '1.8.9' + coreSplashScreenVersion = '1.2.0' + androidxWebkitVersion = '1.14.0' + junitVersion = '4.13.2' + androidxJunitVersion = '1.3.0' + androidxEspressoCoreVersion = '3.7.0' + cordovaAndroidVersion = '14.0.1' +} \ No newline at end of file diff --git a/app/api/ai/commentator/route.ts b/app/api/ai/commentator/route.ts index 0bf31f6..6978678 100644 --- a/app/api/ai/commentator/route.ts +++ b/app/api/ai/commentator/route.ts @@ -1,6 +1,8 @@ import { NextRequest, NextResponse } from 'next/server'; import { callFreeModel, hasFreeModelProvider, MODELS } from '@/lib/freemodel'; import { rateLimitResponse } from '@/lib/rateLimit'; +import { getSessionFromRequest } from '@/lib/auth'; +import { prisma } from '@/lib/prisma'; export const dynamic = 'force-dynamic'; @@ -19,7 +21,7 @@ export interface BattleParticipant { export interface CommentatorRequestBody { roomCode?: string; roomName?: string; - eventType?: 'JOIN' | 'SUBMIT' | 'LEAD_SWAP' | 'FAST_SUBMISSION' | 'HIGH_SCORE' | 'TICK' | 'TYPING_PROGRESS' | 'RUN_CODE' | 'SAMPLE_PASSED' | 'SAMPLE_FAILED' | 'SUBMIT_FAILED' | string; + eventType?: 'JOIN' | 'SUBMIT' | 'LEAD_SWAP' | 'FAST_SUBMISSION' | 'HIGH_SCORE' | 'TICK' | 'TYPING_PROGRESS' | 'CODE_ANALYSIS' | 'RUN_CODE' | 'SAMPLE_PASSED' | 'SAMPLE_FAILED' | 'SUBMIT_FAILED' | string; event?: string; participants?: BattleParticipant[]; problemTitle?: string; @@ -27,6 +29,22 @@ export interface CommentatorRequestBody { language?: string; codeSnippet?: string; linesOfCode?: number; + timeRemainingSeconds?: number; + privacyMode?: boolean | 'private_room'; + codeAnalysis?: { + lineCount?: number; + nonEmptyLineCount?: number; + functionCount?: number; + loopCount?: number; + conditionalCount?: number; + hasInputParsing?: boolean; + hasReturn?: boolean; + hasConsoleOutput?: boolean; + hasTodo?: boolean; + possibleIssue?: string; + phase?: string; + signature?: string; + }; executionResult?: { verdict?: string; stdout?: string; @@ -38,28 +56,176 @@ export interface CommentatorRequestBody { userName?: string; } +type HypeLevel = 'high' | 'medium' | 'low'; + +const VALID_HYPE_LEVELS = new Set(['high', 'medium', 'low']); +const PRIVATE_ROOM_CODE_PATTERN = /^[A-Z0-9-]{4,40}$/; + +function cleanText(value: unknown, fallback: string, maxLength: number): string { + return typeof value === 'string' && value.trim() ? value.trim().slice(0, maxLength) : fallback; +} + +function cleanOptionalText(value: unknown, maxLength: number): string | undefined { + return typeof value === 'string' && value.trim() ? value.trim().slice(0, maxLength) : undefined; +} + +function participantName(participant: BattleParticipant | undefined, fallback: string): string { + return cleanOptionalText(participant?.userName, 80) || cleanOptionalText(participant?.name, 80) || fallback; +} + +function participantScore(participant: BattleParticipant | undefined): number { + const score = participant?.score ?? participant?.scores ?? 0; + return Number.isFinite(score) ? Number(score) : 0; +} + +function participantSolved(participant: BattleParticipant | undefined): number { + const solved = participant?.solved ?? 0; + return Number.isFinite(solved) ? Number(solved) : 0; +} + +function cleanProgress(value: unknown): string { + return typeof value === 'string' && value.trim() ? value.trim().slice(0, 24).toUpperCase() : 'WAITING'; +} + +function cleanCodeAnalysis(value: unknown): Required> { + const analysis = value && typeof value === 'object' ? value as NonNullable : {}; + const safeNumber = (item: unknown, max: number) => Number.isFinite(item) ? Math.max(0, Math.min(max, Number(item))) : 0; + const safeBool = (item: unknown) => item === true; + + return { + lineCount: safeNumber(analysis.lineCount, 100_000), + nonEmptyLineCount: safeNumber(analysis.nonEmptyLineCount, 100_000), + functionCount: safeNumber(analysis.functionCount, 10_000), + loopCount: safeNumber(analysis.loopCount, 10_000), + conditionalCount: safeNumber(analysis.conditionalCount, 10_000), + hasInputParsing: safeBool(analysis.hasInputParsing), + hasReturn: safeBool(analysis.hasReturn), + hasConsoleOutput: safeBool(analysis.hasConsoleOutput), + hasTodo: safeBool(analysis.hasTodo), + possibleIssue: cleanText(analysis.possibleIssue, 'No obvious issue spotted', 120), + phase: cleanText(analysis.phase, 'drafting', 40), + signature: cleanText(analysis.signature, 'empty', 80), + }; +} + +function normalizeAiCommentary(text: string, fallback: string): string { + const normalized = text + .replace(/```[\s\S]*?```/g, '') + .replace(/^[-*#>\s]+/g, '') + .replace(/^["'“”‘’]+|["'“”‘’]+$/g, '') + .replace(/\s+/g, ' ') + .trim(); + + if (normalized.length < 10) return fallback; + + const firstLine = normalized.split(/\r?\n/)[0]?.trim() || fallback; + const firstSentence = firstLine.match(/^(.{1,180}?[.!?])(?:\s|$)/)?.[1] || firstLine.slice(0, 180); + return firstSentence.trim(); +} + +function isUnsafeAiCommentary(text: string, roomCode: string, isPrivateRoom: boolean): boolean { + const normalized = text.toLowerCase(); + const cleanRoomCode = roomCode.trim().toLowerCase(); + if (isPrivateRoom && cleanRoomCode && normalized.includes(cleanRoomCode)) return true; + if (/```|<\/?[a-z][\s\S]*?>|(?:^|\s)(function|class|const|let|var|#include|import\s+\w|public\s+static|console\.log|std::|=>)(?:\s|$)/i.test(text)) return true; + if (/^[-*#>]/.test(text.trim())) return true; + return text.split(/\s+/).filter(Boolean).length > 32; +} + +function formatClock(totalSeconds: number): string { + const safeSeconds = Math.max(0, Math.min(24 * 60 * 60, Math.floor(totalSeconds))); + const minutes = Math.floor(safeSeconds / 60); + const seconds = safeSeconds % 60; + return `${minutes}:${seconds.toString().padStart(2, '0')}`; +} + +function scoreGap(leader: BattleParticipant | undefined, chaser: BattleParticipant | undefined): number { + return Math.max(0, participantScore(leader) - participantScore(chaser)); +} + +async function verifyPrivateRoomAccess(req: NextRequest, roomCode: string, privacyMode: boolean): Promise { + if (!privacyMode || !PRIVATE_ROOM_CODE_PATTERN.test(roomCode)) return null; + + const session = getSessionFromRequest(req); + if (!session?.userId) { + return NextResponse.json({ error: 'Sign in to use private room commentary.' }, { status: 401 }); + } + + const room = await prisma.customRoom.findUnique({ + where: { code: roomCode.toUpperCase() }, + select: { + id: true, + participants: { + where: { userId: session.userId }, + select: { id: true }, + take: 1, + }, + }, + }); + + if (!room || room.participants.length === 0) { + return NextResponse.json({ error: 'Join this private room before using its commentator.' }, { status: 403 }); + } + + return null; +} + +async function readCommentatorBody(req: NextRequest): Promise { + try { + const parsed = await req.json(); + return parsed && typeof parsed === 'object' ? parsed as CommentatorRequestBody : {}; + } catch { + return {}; + } +} + function generateNativeFallback( eventType: string, leaderName: string, leaderScore: number, chaserName: string, problemTitle: string, - roomCode: string, + roomLabel: string, participantCount: number, linesOfCode: number = 0, - executionResult?: { verdict?: string; stdout?: string; stderr?: string; failedTestCase?: string } -): { text: string; hypeLevel: 'high' | 'medium' | 'low' } { + executionResult?: { verdict?: string; stdout?: string; stderr?: string; failedTestCase?: string }, + timeRemainingSeconds?: number, + scoreLead: number = 0, + leaderSolved: number = 0, + leaderProgress: string = 'CODING', + codeAnalysis: Required> = cleanCodeAnalysis(undefined) +): { text: string; hypeLevel: HypeLevel } { const norm = (eventType || 'TICK').toUpperCase(); + const clockText = Number.isFinite(timeRemainingSeconds) ? ` with ${formatClock(Number(timeRemainingSeconds))} left` : ''; + const leadText = scoreLead > 0 ? ` by ${scoreLead} pts` : ''; + const progressText = leaderProgress === 'SOLVED' ? 'has a solve banked' : leaderProgress === 'SUBMITTED' ? 'is waiting on a verdict' : 'is deep in implementation'; if (norm === 'TYPING_PROGRESS') { const options = [ `PLAY-BY-PLAY: ${leaderName} is making rapid progress on "${problemTitle}"! Already written ${linesOfCode} lines of code and building the core logic!`, `CODE ANALYST: ${leaderName} has completed over half of their solution (${linesOfCode} lines)! The algorithm structure is taking shape!`, - `SPEED TYPING: ${leaderName} is flying through the implementation in ${roomCode}! ${linesOfCode} lines locked in so far!`, + `SPEED TYPING: ${leaderName} is flying through the implementation in ${roomLabel}! ${linesOfCode} lines locked in so far!`, ]; return { text: options[Math.floor(Math.random() * options.length)], hypeLevel: 'medium' }; } + if (norm === 'CODE_ANALYSIS') { + const issueText = codeAnalysis.possibleIssue === 'No obvious issue spotted' + ? 'no obvious red flags' + : codeAnalysis.possibleIssue.toLowerCase(); + const structureText = codeAnalysis.loopCount > 0 + ? `${codeAnalysis.loopCount} loop${codeAnalysis.loopCount === 1 ? '' : 's'} in motion` + : codeAnalysis.conditionalCount > 0 + ? `${codeAnalysis.conditionalCount} branch${codeAnalysis.conditionalCount === 1 ? '' : 'es'} shaping the logic` + : 'the skeleton is still taking form'; + const options = [ + `CODE READ: ${leaderName} is in the ${codeAnalysis.phase} phase with ${codeAnalysis.nonEmptyLineCount} active lines and ${structureText}.`, + `ANALYSIS SNAPSHOT: ${leaderName}'s solution shows ${structureText}; ${issueText} so far.`, + `TACTICAL CHECK: ${leaderName} has ${codeAnalysis.functionCount} helper block${codeAnalysis.functionCount === 1 ? '' : 's'} and ${codeAnalysis.nonEmptyLineCount} live lines${clockText}.`, + ]; + return { text: options[Math.floor(Math.random() * options.length)], hypeLevel: codeAnalysis.possibleIssue === 'No obvious issue spotted' ? 'low' : 'medium' }; + } + if (norm === 'RUN_CODE') { const options = [ `TEST EXECUTION: ${leaderName} just ran sample test cases on "${problemTitle}"! Awaiting execution output...`, @@ -96,8 +262,8 @@ function generateNativeFallback( if (norm === 'JOIN') { const options = [ - `A new challenger enters the arena! Room ${roomCode} now has ${participantCount} coders locked in for battle!`, - `ARENA LOCK-IN! The competitive atmosphere spikes in ${roomCode} as coders prepare to tackle "${problemTitle}"!`, + `A new challenger enters the arena! ${roomLabel} now has ${participantCount} coders locked in for battle!`, + `ARENA LOCK-IN! The competitive atmosphere spikes in ${roomLabel} as coders prepare to tackle "${problemTitle}"!`, `CHALLENGER APPROACHING! New player joins the lobby. Who will take early dominance on "${problemTitle}"?`, ]; return { text: options[Math.floor(Math.random() * options.length)], hypeLevel: 'medium' }; @@ -134,17 +300,17 @@ function generateNativeFallback( const options = [ `ACCEPTED! ${leaderName} submits a working solution for "${problemTitle}" and claims ${leaderScore} pts!`, `ALL TEST CASES PASSED! ${leaderName} puts points on the board with clean execution on "${problemTitle}"!`, - `SUBMISSION LOCKED! ${leaderName} delivers a successful solution to the judge!`, + `SUBMISSION LOCKED! ${leaderName} delivers a successful solution to the judge${clockText}!`, ]; return { text: options[Math.floor(Math.random() * options.length)], hypeLevel: 'medium' }; } // Default / TICK / PERIODIC_UPDATE const options = [ - `SHOUTCASTER DESK: ${leaderName || 'Coders'} holding top position with ${leaderScore} pts on "${problemTitle}". Clock ticking down!`, - `ANALYST DESK: Clean time complexity will decide this battle. Room ${roomCode} is in high gear!`, + `SHOUTCASTER DESK: ${leaderName || 'Coders'} leads${leadText} with ${leaderScore} pts and ${leaderSolved} solved on "${problemTitle}"${clockText}!`, + `ANALYST DESK: ${leaderName} ${progressText}; clean time complexity will decide ${roomLabel}${clockText}!`, `ARENA UPDATE: ${participantCount} coders battling live for "${problemTitle}". Every millisecond matters!`, - `INTENSE SHOWDOWN: The algorithm duel in ${roomCode} reaches peak tension! Who will make the next clutch move?`, + `INTENSE SHOWDOWN: The algorithm duel in ${roomLabel} reaches peak tension! Who will make the next clutch move?`, ]; return { text: options[Math.floor(Math.random() * options.length)], hypeLevel: 'low' }; } @@ -153,48 +319,66 @@ export async function POST(req: NextRequest) { try { const limitResponse = rateLimitResponse(req, 'ai:commentator', 30, 60 * 1000); if (limitResponse) return limitResponse; - const body: CommentatorRequestBody = await req.json(); - const cleanText = (value: unknown, fallback: string, maxLength: number): string => - typeof value === 'string' && value.trim() ? value.trim().slice(0, maxLength) : fallback; + const body = await readCommentatorBody(req); const roomCode = cleanText(body.roomCode || body.roomName, 'ARENA-1', 40); + const isPrivateRoom = body.privacyMode === true || body.privacyMode === 'private_room'; + const accessResponse = await verifyPrivateRoomAccess(req, roomCode, isPrivateRoom); + if (accessResponse) return accessResponse; + + const roomLabel = isPrivateRoom ? 'the private room' : roomCode; const eventType = cleanText(body.eventType || body.event, 'TICK', 50).toUpperCase(); - const participants = Array.isArray(body.participants) ? body.participants.slice(0, 10) : []; + const participants = Array.isArray(body.participants) + ? body.participants + .filter((participant) => participant && typeof participant === 'object') + .slice(0, 10) + : []; const problemTitle = cleanText(body.problemTitle || body.activeProblemTitle, 'DSA Challenge', 300); const language = cleanText(body.language, 'cpp', 32); const linesOfCode = Number.isFinite(body.linesOfCode) ? Math.max(0, Math.min(100_000, Number(body.linesOfCode))) : 0; + const timeRemainingSeconds = Number.isFinite(body.timeRemainingSeconds) + ? Math.max(0, Math.min(24 * 60 * 60, Number(body.timeRemainingSeconds))) + : undefined; const executionResult = body.executionResult && typeof body.executionResult === 'object' ? body.executionResult : undefined; - const actorName = cleanText(body.userName || participants[0]?.userName || participants[0]?.name, 'Coder', 80); + const codeAnalysis = cleanCodeAnalysis(body.codeAnalysis); + const actorName = cleanOptionalText(body.userName, 80); // Extract leader and second place participant details - const sortedParticipants = [...participants].sort( - (a, b) => (b.score ?? b.scores ?? 0) - (a.score ?? a.scores ?? 0) - ); - const leader = sortedParticipants[0] || { userName: actorName, name: actorName, score: 0, scores: 0 }; - const chaser = sortedParticipants[1] || { userName: 'Opponent', name: 'Opponent', score: 0, scores: 0 }; + const sortedParticipants = [...participants].sort((a, b) => participantScore(b) - participantScore(a)); + const leader = sortedParticipants[0]; + const chaser = sortedParticipants[1]; - const leaderName = actorName || leader.userName || leader.name || 'Top Coder'; - const leaderScore = leader.score ?? leader.scores ?? 0; - const chaserName = chaser.userName || chaser.name || ''; + const leaderName = participantName(leader, actorName || 'Top Coder'); + const featuredName = actorName || leaderName; + const leaderScore = participantScore(leader); + const chaserName = chaser ? participantName(chaser, 'Opponent') : ''; + const leaderSolved = participantSolved(leader); + const leaderProgress = cleanProgress(leader?.progress); + const lead = scoreGap(leader, chaser); // Generate native fallback commentary const fallback = generateNativeFallback( eventType, - leaderName, + featuredName, leaderScore, chaserName, problemTitle, - roomCode, + roomLabel, participants.length, linesOfCode, - executionResult + executionResult, + timeRemainingSeconds, + lead, + leaderSolved, + leaderProgress, + codeAnalysis ); let commentaryText = fallback.text; - let hypeLevel: 'high' | 'medium' | 'low' = fallback.hypeLevel; + let hypeLevel: HypeLevel = fallback.hypeLevel; // Call FreeModel guided if configured if (hasFreeModelProvider()) { @@ -202,11 +386,15 @@ export async function POST(req: NextRequest) { const systemInstruction = 'You are an elite, high-energy esports shoutcaster broadcasting a competitive coding duel. ' + 'Give granular play-by-play commentary like a real sports caster (e.g. mention player progress, line count, failing test cases, getting close, or debugging). ' + - 'Write exactly 1 punchy, exciting callout line (max 25 words). Use player names and clear text only.'; + 'Write exactly 1 punchy, exciting callout line (max 25 words). Use player names and clear text only. ' + + 'No markdown, bullets, emojis, quotation marks, source code, account details, or private room codes.'; const userInstruction = - `Room Code: ${roomCode}. Event: ${eventType}. Player: ${leaderName}. Problem: "${problemTitle}". `+ - `Lines of code written: ${linesOfCode}. Test Verdict: ${executionResult?.verdict || 'N/A'}. `+ + `Arena: ${roomLabel}. Event: ${eventType}. Player: ${featuredName}. Leader: ${leaderName} (${leaderScore} pts, ${leaderSolved} solved, ${leaderProgress}). `+ + `Score lead: ${lead}. Participants: ${participants.length}. Problem: "${problemTitle}". `+ + `Lines of code written: ${linesOfCode}. Code phase: ${codeAnalysis.phase}. Structure: ${codeAnalysis.nonEmptyLineCount} active lines, `+ + `${codeAnalysis.functionCount} functions, ${codeAnalysis.loopCount} loops, ${codeAnalysis.conditionalCount} conditionals. `+ + `Static issue: ${codeAnalysis.possibleIssue}. Time remaining: ${timeRemainingSeconds !== undefined ? formatClock(timeRemainingSeconds) : 'N/A'}. Test Verdict: ${executionResult?.verdict || 'N/A'}. `+ `Language: ${language}. Deliver the play-by-play shoutcast line now.`; const aiResponse = await callFreeModel({ @@ -215,15 +403,18 @@ export async function POST(req: NextRequest) { userInstruction, temperature: 0.8, maxTokens: 80, + timeoutMs: 3500, fallbackText: fallback.text, }); - if (aiResponse && aiResponse.trim().length > 10) { - const cleanedText = aiResponse.trim().replace(/^["']|["']$/g, ''); - commentaryText = cleanedText; + if (aiResponse) { + const normalizedResponse = normalizeAiCommentary(aiResponse, fallback.text); + commentaryText = isUnsafeAiCommentary(normalizedResponse, roomCode, isPrivateRoom) + ? fallback.text + : normalizedResponse; if (['LEAD_SWAP', 'FAST_SUBMISSION', 'HIGH_SCORE', 'SUBMIT_FAILED', 'SAMPLE_PASSED'].includes(eventType)) { hypeLevel = 'high'; - } else if (['SUBMIT', 'SUBMIT_ATTEMPT', 'JOIN', 'TYPING_PROGRESS', 'RUN_CODE'].includes(eventType)) { + } else if (['SUBMIT', 'SUBMIT_ATTEMPT', 'JOIN', 'TYPING_PROGRESS', 'CODE_ANALYSIS', 'RUN_CODE'].includes(eventType)) { hypeLevel = 'medium'; } } @@ -235,7 +426,7 @@ export async function POST(req: NextRequest) { return NextResponse.json({ commentary: commentaryText, timestamp: Date.now(), - hypeLevel, + hypeLevel: VALID_HYPE_LEVELS.has(hypeLevel) ? hypeLevel : 'medium', speaker: 'Shoutcaster', success: true, }); @@ -243,13 +434,13 @@ export async function POST(req: NextRequest) { console.error('Error in guided Commentator route:', error); return NextResponse.json( { - commentary: ' SHOUTCASTER DESK: High-intensity competitive coding underway in the arena!', + commentary: 'SHOUTCASTER DESK: High-intensity competitive coding underway in the arena!', timestamp: Date.now(), hypeLevel: 'medium', speaker: 'Shoutcaster', - success: false, - }, - { status: 500 } + success: true, + source: 'last_resort_fallback', + } ); } } diff --git a/app/api/execute/route.ts b/app/api/execute/route.ts index 7d9624c..24cada8 100644 --- a/app/api/execute/route.ts +++ b/app/api/execute/route.ts @@ -2,8 +2,10 @@ import { NextRequest, NextResponse } from 'next/server'; import { prisma } from '@/lib/prisma'; import { executeCode, isSupportedLanguage } from '@/lib/piston'; import { ExecutionVerdict, TestCaseResult } from '@/lib/types'; -import { normalizeOutput } from '@/lib/output'; +import { outputsEquivalent } from '@/lib/output'; import { checkRateLimit } from '@/lib/rateLimit'; +import { getSessionFromRequest } from '@/lib/auth'; +import { learnFromFailedAttempt } from '@/lib/revisionLearning'; export async function POST(request: NextRequest) { try { @@ -16,6 +18,7 @@ export async function POST(request: NextRequest) { } const body = await request.json(); const { problemId, language, code, customInput } = body; + const session = getSessionFromRequest(request); if (typeof language !== 'string' || typeof code !== 'string' || !language.trim() || !code.trim()) { return NextResponse.json( @@ -56,12 +59,34 @@ export async function POST(request: NextRequest) { // Scenario 1: Custom input execution if (customInput !== undefined && customInput !== null) { const result = await executeCode(language, code, customInput, problem?.slug); + const failedAttempt = result.verdict !== 'Accepted' + ? { + input: customInput, + expectedOutput: 'N/A (Custom Run)', + actualOutput: result.stdout, + error: result.stderr, + } + : null; + const learning = session?.userId && problem + ? await learnFromFailedAttempt({ + prisma, + userId: session.userId, + problem, + verdict: result.verdict, + failedTestCase: failedAttempt, + }).catch((error: unknown) => { + console.error('Error learning from failed custom run:', error); + return null; + }) + : null; + return NextResponse.json({ verdict: result.verdict, stdout: result.stdout, stderr: result.stderr, executionTime: result.executionTime, memory: result.memory, + learning, testResults: [ { passed: result.verdict === 'Accepted', @@ -103,6 +128,12 @@ export async function POST(request: NextRequest) { const testResults: TestCaseResult[] = []; let firstStdout = ''; let firstStderr = ''; + let failedTestCaseInfo: { + input: string; + expectedOutput: string; + actualOutput: string; + error?: string; + } | null = null; for (const tc of sampleTestCases) { const execResult = await executeCode(language, code, tc.input, selectedProblem.slug); @@ -117,6 +148,12 @@ export async function POST(request: NextRequest) { if (execResult.verdict === 'Compilation Error') { overallVerdict = 'Compilation Error'; + failedTestCaseInfo = { + input: tc.input, + expectedOutput: tc.expectedOutput, + actualOutput: execResult.stdout, + error: execResult.stderr, + }; testResults.push({ testCaseId: tc.id, passed: false, @@ -132,15 +169,28 @@ export async function POST(request: NextRequest) { } else if (execResult.verdict === 'Runtime Error') { overallVerdict = 'Runtime Error'; tcPassed = false; + if (!failedTestCaseInfo) { + failedTestCaseInfo = { + input: tc.input, + expectedOutput: tc.expectedOutput, + actualOutput: execResult.stdout, + error: execResult.stderr, + }; + } } else if (execResult.verdict === 'TLE') { overallVerdict = 'TLE'; tcPassed = false; + if (!failedTestCaseInfo) { + failedTestCaseInfo = { + input: tc.input, + expectedOutput: tc.expectedOutput, + actualOutput: execResult.stdout, + error: 'Time Limit Exceeded', + }; + } } else { // Compare outputs stripping trailing whitespace/newlines - const normActual = normalizeOutput(execResult.stdout); - const normExpected = normalizeOutput(tc.expectedOutput); - - if (normActual === normExpected) { + if (outputsEquivalent(execResult.stdout, tc.expectedOutput)) { tcPassed = true; tcVerdict = 'Accepted'; } else { @@ -149,6 +199,14 @@ export async function POST(request: NextRequest) { if (overallVerdict === 'Accepted') { overallVerdict = 'Wrong Answer'; } + if (!failedTestCaseInfo) { + failedTestCaseInfo = { + input: tc.input, + expectedOutput: tc.expectedOutput, + actualOutput: execResult.stdout, + error: execResult.stderr, + }; + } } } @@ -166,6 +224,18 @@ export async function POST(request: NextRequest) { } const avgTime = Number((totalExecutionTime / sampleTestCases.length).toFixed(3)); + const learning = session?.userId + ? await learnFromFailedAttempt({ + prisma, + userId: session.userId, + problem: selectedProblem, + verdict: overallVerdict, + failedTestCase: failedTestCaseInfo, + }).catch((error: unknown) => { + console.error('Error learning from failed sample run:', error); + return null; + }) + : null; return NextResponse.json({ verdict: overallVerdict, @@ -173,6 +243,7 @@ export async function POST(request: NextRequest) { stderr: firstStderr, executionTime: avgTime, memory: maxMemory, + learning, testResults, }); } diff --git a/app/api/leaderboard/[id]/route.ts b/app/api/leaderboard/[id]/route.ts index d47d52a..992ca1c 100644 --- a/app/api/leaderboard/[id]/route.ts +++ b/app/api/leaderboard/[id]/route.ts @@ -58,8 +58,6 @@ async function loadProfile(id: string) { where: { id }, select: { id: true, name: true, createdAt: true }, }); - if (!user && id !== 'guest') return null; - const displayUser = user || { id: 'guest', name: 'Guest Coder', createdAt: new Date(0) }; const [progress, submissions, totalSubmissionCount, acceptedSubmissionCount, accepted] = await prisma.$transaction([ prisma.userProgress.findUnique({ where: { userId: id }, select: { streak: true, lastActiveDate: true } }), @@ -78,6 +76,28 @@ async function loadProfile(id: string) { }), ]); + const ratingHistory = await prisma.userRating.findMany({ + where: { userId: id }, + select: { rating: true, delta: true, timestamp: true }, + orderBy: { timestamp: 'desc' }, + take: 20, + }); + + const hasPublicActivity = + Boolean(user) || + id === 'guest' || + Boolean(progress) || + totalSubmissionCount > 0 || + ratingHistory.length > 0; + + if (!hasPublicActivity) return null; + + const displayUser = user || { + id, + name: id === 'guest' ? 'Guest Coder' : `Coder (${id.slice(0, 6)})`, + createdAt: new Date(0), + }; + const accuracy = totalSubmissionCount ? Math.round((acceptedSubmissionCount / totalSubmissionCount) * 1000) / 10 : 0; const solved = { easy: 0, medium: 0, hard: 0, total: accepted.length }; accepted.forEach(({ problem }) => { @@ -86,12 +106,6 @@ async function loadProfile(id: string) { if (problem.difficulty === 'HARD') solved.hard += 1; }); - const ratingHistory = await prisma.userRating.findMany({ - where: { userId: id }, - select: { rating: true, delta: true, timestamp: true }, - orderBy: { timestamp: 'desc' }, - take: 20, - }); const rating = ratingHistory[0]?.rating || 0; return { diff --git a/app/api/revision/route.ts b/app/api/revision/route.ts index 4be2b57..49bb06e 100644 --- a/app/api/revision/route.ts +++ b/app/api/revision/route.ts @@ -2,6 +2,8 @@ import { NextRequest, NextResponse } from 'next/server'; import { prisma } from '@/lib/prisma'; import { getRequestToken, verifyToken } from '@/lib/auth'; import { rateLimitResponse } from '@/lib/rateLimit'; +import type { RevisionCardDTO, RevisionDeckResponse } from '@/lib/types'; +import { isRevisionQuality, nextRevisionInterval } from '@/lib/revisionSchedule'; export const dynamic = 'force-dynamic'; @@ -30,19 +32,44 @@ export async function GET(req: NextRequest) { }); const now = new Date(); - const dueCards = cards.filter((c) => new Date(c.dueDate) <= now); + const dueCards = cards.filter((c) => c.dueDate <= now); const masteredCount = cards.filter((c) => c.repetitions >= 3).length; + const nextDueCard = cards.find((c) => c.dueDate > now) || null; + const serializeCard = (card: (typeof cards)[number]): RevisionCardDTO => ({ + id: card.id, + problemId: card.problemId, + pattern: card.pattern, + keyTakeaway: card.keyTakeaway, + timeComplexity: card.timeComplexity, + spaceComplexity: card.spaceComplexity, + interval: card.interval, + repetitions: card.repetitions, + dueDate: card.dueDate.toISOString(), + lastReviewedAt: card.lastReviewedAt?.toISOString() || null, + failureCount: card.failureCount, + lastFailureType: card.lastFailureType, + lastError: card.lastError, + lastFailedInput: card.lastFailedInput, + lastExpectedOutput: card.lastExpectedOutput, + lastActualOutput: card.lastActualOutput, + learnedAt: card.learnedAt?.toISOString() || null, + createdAt: card.createdAt.toISOString(), + problem: card.problem, + }); - return NextResponse.json({ - cards, - dueCards, + const response: RevisionDeckResponse = { + cards: cards.map(serializeCard), + dueCards: dueCards.map(serializeCard), stats: { totalCards: cards.length, dueTodayCount: dueCards.length, masteredCount, learnedMistakeCount: cards.filter((c) => c.failureCount > 0).length, + nextDueDate: nextDueCard?.dueDate.toISOString() || null, }, - }); + }; + + return NextResponse.json(response); } catch (error: unknown) { console.error('Error fetching revision cards:', error); return NextResponse.json({ error: 'Failed to fetch revision flashcards' }, { status: 500 }); @@ -67,7 +94,7 @@ export async function POST(req: NextRequest) { const body = await req.json(); const { cardId, quality } = body; // quality: 'HARD' | 'GOOD' | 'EASY' - if (!cardId || !quality) { + if (typeof cardId !== 'string' || typeof quality !== 'string' || !cardId || !quality) { return NextResponse.json({ error: 'cardId and quality are required' }, { status: 400 }); } @@ -79,20 +106,12 @@ export async function POST(req: NextRequest) { return NextResponse.json({ error: 'Flashcard not found' }, { status: 404 }); } - if (!['HARD', 'GOOD', 'EASY'].includes(quality)) { + if (!isRevisionQuality(quality)) { return NextResponse.json({ error: 'quality must be HARD, GOOD, or EASY' }, { status: 400 }); } - let nextInterval = card.interval; let nextRepetitions = card.repetitions + 1; - - if (quality === 'HARD') { - nextInterval = 1; - } else if (quality === 'GOOD') { - nextInterval = Math.max(2, Math.round(card.interval * 2)); - } else if (quality === 'EASY') { - nextInterval = Math.max(3, Math.round(card.interval * 3.5)); - } + const nextInterval = nextRevisionInterval(card.interval, quality); const nextDueDate = new Date(Date.now() + nextInterval * 24 * 60 * 60 * 1000); diff --git a/app/api/submissions/route.ts b/app/api/submissions/route.ts index 3704d16..d83fd6b 100644 --- a/app/api/submissions/route.ts +++ b/app/api/submissions/route.ts @@ -4,8 +4,8 @@ import { Prisma } from '@prisma/client'; import { executeCode, isSupportedLanguage } from '@/lib/piston'; import { ExecutionVerdict, TestCaseResult } from '@/lib/types'; import { getSessionFromRequest } from '@/lib/auth'; -import { buildRevisionLearning, snapshotForRevision } from '@/lib/revisionLearning'; -import { normalizeOutput } from '@/lib/output'; +import { learnFromFailedAttempt } from '@/lib/revisionLearning'; +import { outputsEquivalent } from '@/lib/output'; import { syncAcceptedProgress } from '@/lib/progress'; import { rateLimitResponse } from '@/lib/rateLimit'; @@ -158,10 +158,7 @@ export async function POST(request: NextRequest) { } // Check string output matching - const normActual = normalizeOutput(execResult.stdout); - const normExpected = normalizeOutput(tc.expectedOutput); - - if (normActual === normExpected) { + if (outputsEquivalent(execResult.stdout, tc.expectedOutput)) { passedCount++; testResults.push({ testCaseId: tc.id, @@ -246,7 +243,6 @@ export async function POST(request: NextRequest) { }, update: { dueDate: nextDueDate, - keyTakeaway: `Mastered ${problem.title}. Review the learned edge cases and optimal approach.`, }, }); } catch (error: unknown) { @@ -262,46 +258,23 @@ export async function POST(request: NextRequest) { if (overallVerdict !== 'Accepted' && failedTestCaseInfo) { try { - const revision = buildRevisionLearning(overallVerdict, problem.topicTags, failedTestCaseInfo); - const snapshot = snapshotForRevision(failedTestCaseInfo); - const learnedCard = await prisma.revisionCard.upsert({ - where: { - userId_problemId: { - userId: activeUserId, - problemId: problem.id, - }, - }, - create: { - userId: activeUserId, - problemId: problem.id, - pattern: revision.pattern, - keyTakeaway: revision.keyTakeaway, - interval: 1, - repetitions: 0, - dueDate: new Date(), - failureCount: 1, - lastFailureType: revision.failureType, - ...snapshot, - learnedAt: new Date(), - }, - update: { - pattern: revision.pattern, - keyTakeaway: revision.keyTakeaway, - interval: 1, - repetitions: 0, - dueDate: new Date(), - failureCount: { increment: 1 }, - lastFailureType: revision.failureType, - ...snapshot, - learnedAt: new Date(), - }, - }); + const failedTestCaseIsSample = testCases.find((testCase) => testCase.id === failedTestCaseId)?.isSample ?? false; + const revisionFailedCase = failedTestCaseIsSample + ? failedTestCaseInfo + : { + input: '[hidden test case]', + expectedOutput: '[hidden test case]', + actualOutput: failedTestCaseInfo.actualOutput, + error: failedTestCaseInfo.error, + }; - learning = { - failureCount: learnedCard.failureCount, - failureType: revision.failureType, - pattern: revision.pattern, - }; + learning = await learnFromFailedAttempt({ + prisma, + userId: activeUserId, + problem, + verdict: overallVerdict, + failedTestCase: revisionFailedCase, + }); } catch (error: unknown) { console.error('Error learning from failed submission:', error); } diff --git a/app/contests/room/[code]/page.tsx b/app/contests/room/[code]/page.tsx index b27690e..8ef4d85 100644 --- a/app/contests/room/[code]/page.tsx +++ b/app/contests/room/[code]/page.tsx @@ -116,6 +116,7 @@ export default function BattleRoomPage() { const [lastEvent, setLastEvent] = useState('JOIN'); const prevTopLeaderRef = React.useRef<{ id: string; score: number } | null>(null); const editorTemplateKeyRef = useRef(null); + const hostUserId = room?.participants.find((participant) => participant.userName === room.hostName)?.userId; const currentUserId = user?.id || battleUserId || `guest_local`; const currentUserName = user?.name || 'Guest Coder'; @@ -444,7 +445,7 @@ export default function BattleRoomPage() { const seconds = (remainingSeconds % 60).toString().padStart(2, '0'); const viewerParticipant = room.participants.find((participant) => participant.userId === currentUserId); const winner = room.winnerId ? room.participants.find((participant) => participant.userId === room.winnerId) : null; - const isHost = (user?.name && user.name === room.hostName) || (room.participants.length > 0 && room.participants[0].userId === currentUserId); + const isHost = hostUserId ? hostUserId === currentUserId : Boolean(user?.name && user.name === room.hostName); return (

@@ -700,6 +701,8 @@ export default function BattleRoomPage() { language={language} codeSnippet={code} linesOfCode={code.split('\n').filter((l) => l.trim().length > 0).length} + timeRemainingSeconds={remainingSeconds} + privacyMode executionResult={executionResult ?? undefined} userName={currentUserName} lastEvent={lastEvent} diff --git a/app/dashboard/page.tsx b/app/dashboard/page.tsx index 9198024..7e53dc9 100644 --- a/app/dashboard/page.tsx +++ b/app/dashboard/page.tsx @@ -58,7 +58,7 @@ export default function DashboardPage() {

{error || 'Something went wrong.'}

@@ -69,10 +69,10 @@ export default function DashboardPage() { return ( {/* Header */}
@@ -83,7 +83,7 @@ export default function DashboardPage() { width={48} height={48} unoptimized - className="w-12 h-12 rounded-full border-2 border-amber-400/60 bg-[#0f0f12] shadow-md shadow-amber-950/30" + className="w-12 h-12 rounded-full border-2 border-cyan-300/35 bg-[#0f0f12]" />
@@ -103,7 +103,7 @@ export default function DashboardPage() {
Enter Contests @@ -119,7 +119,7 @@ export default function DashboardPage() {
{/* 1. Solved Count Summary Cards */} - + {/* 2. Teaching style selector */} - {/* 3. Weekly insights */} - + {/* 4. Recharts Section: Topic Radar + Rating Line Chart */} {/* 5. GitHub-style Activity Streak Calendar */} - + {/* 6. Achievement Badges Grid */} - + diff --git a/app/globals.css b/app/globals.css index 3b8ff59..54b703c 100644 --- a/app/globals.css +++ b/app/globals.css @@ -5,11 +5,12 @@ :root { --background: #08080a; --foreground: #f5f5f4; - --surface: #0f0f12; + --surface: #101114; --line: rgba(255, 255, 255, 0.08); - --accent: #fbbf24; - --accent-strong: #f59e0b; - --font-sans: Arial, Helvetica, sans-serif; + --accent: #67e8f9; + --accent-strong: #22d3ee; + --warm-signal: #d7b86a; + --font-sans: var(--font-inter), Arial, Helvetica, sans-serif; --font-mono: 'SFMono-Regular', Consolas, 'Liberation Mono', monospace; } @@ -27,6 +28,7 @@ body { font-family: var(--font-sans); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; + letter-spacing: 0; } /* Keep keyboard focus visible even when a component opts out of the default outline. */ @@ -55,7 +57,19 @@ code, pre, .font-mono { font-family: var(--font-mono); } -/* Real-SWE visual language: quiet black surfaces, precise borders, warm signal light. */ +.problem-workspace-split { + display: flex; + flex-direction: column; +} + +@media (min-width: 1024px) { + .problem-workspace-split { + display: grid; + grid-template-columns: minmax(280px, var(--problem-left)) 8px minmax(360px, 1fr); + } +} + +/* Real-SWE visual language: quiet black surfaces, precise borders, measured signal light. */ body, .bg-slate-950 { background-color: var(--background) !important; } .bg-slate-900 { background-color: var(--surface) !important; } @@ -73,20 +87,70 @@ body, .bg-cyan-500 { background-color: var(--accent-strong) !important; } .border-cyan-400, .border-cyan-500, -.border-cyan-500\/30 { border-color: rgba(251, 191, 36, 0.55) !important; } +.border-cyan-500\/30 { border-color: rgba(103, 232, 249, 0.45) !important; } .text-purple-400, .text-purple-300, .text-indigo-400, -.text-indigo-300 { color: #fcd34d !important; } +.text-indigo-300 { color: #a78bfa !important; } .bg-purple-950\/40, -.bg-indigo-950\/30 { background-color: rgba(120, 78, 8, 0.14) !important; } +.bg-indigo-950\/30 { background-color: rgba(76, 29, 149, 0.16) !important; } +.text-amber-500, +.text-amber-400, +.text-amber-300, +.text-amber-200, +.text-yellow-400, +.text-yellow-300 { color: #67e8f9 !important; } +.bg-amber-400, +.bg-amber-300, +.bg-yellow-400, +.bg-yellow-300, +.hover\:bg-amber-300:hover, +.hover\:bg-yellow-300:hover { background-color: #a5f3fc !important; } +.bg-amber-500, +.bg-yellow-500 { background-color: #22d3ee !important; } +.bg-amber-950\/80, +.bg-amber-950\/60, +.bg-amber-950\/40, +.bg-amber-950\/20, +.bg-amber-900\/60, +.bg-amber-500\/20, +.bg-amber-400\/20, +.bg-amber-400\/10, +.bg-amber-400\/5, +.bg-yellow-950\/20 { background-color: rgba(8, 145, 178, 0.16) !important; } +.border-amber-800\/60, +.border-amber-800\/50, +.border-amber-700\/60, +.border-amber-700, +.border-amber-500, +.border-amber-500\/60, +.border-amber-500\/40, +.border-amber-500\/30, +.border-amber-400, +.border-amber-400\/60, +.border-amber-400\/50, +.border-amber-400\/40, +.border-amber-400\/35, +.border-amber-400\/30, +.border-amber-400\/20, +.border-yellow-600\/60 { border-color: rgba(103, 232, 249, 0.34) !important; } +.focus\:border-amber-400:focus, +.focus\:border-amber-500:focus, +.focus\:ring-amber-400:focus, +.focus\:ring-amber-500\/50:focus { border-color: rgba(103, 232, 249, 0.72) !important; --tw-ring-color: rgba(103, 232, 249, 0.28) !important; } +.shadow-amber-400\/10, +.shadow-amber-400\/20, +.shadow-amber-950\/20, +.shadow-amber-950\/30, +.shadow-amber-950\/40, +.shadow-amber-950\/50 { box-shadow: none !important; } /* Keep older route surfaces inside the same restrained geometry. */ .rounded-xl { border-radius: 8px !important; } .rounded-2xl, .rounded-3xl { border-radius: 10px !important; } .shadow-xl, -.shadow-2xl { box-shadow: 0 16px 34px rgba(0, 0, 0, 0.24) !important; } +.shadow-2xl { box-shadow: 0 14px 28px rgba(0, 0, 0, 0.18) !important; } .backdrop-blur-sm, .backdrop-blur-md, .backdrop-blur-xl, @@ -98,7 +162,7 @@ body, [class*="blur-3xl"] { display: none !important; } @layer components { - .surface-panel { background: #0f0f12; border: 1px solid var(--line); border-radius: 10px; } + .surface-panel { background: #101114; border: 1px solid var(--line); border-radius: 10px; } .eyebrow { color: #a8a29e; font-family: var(--font-mono); font-size: 0.68rem; letter-spacing: 0.08em; text-transform: uppercase; } } @@ -111,15 +175,15 @@ body, background: #0a0a0d; } ::-webkit-scrollbar-thumb { - background: #3a3528; + background: #26333a; border-radius: 3px; } ::-webkit-scrollbar-thumb:hover { - background: #6b5425; + background: #3d5964; } /* Text selection */ ::selection { - background: rgba(251, 191, 36, 0.24); - color: #fde68a; + background: rgba(103, 232, 249, 0.22); + color: #ecfeff; } diff --git a/app/layout.tsx b/app/layout.tsx index ca57abf..fa18cf9 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -1,4 +1,5 @@ import type { Metadata } from 'next'; +import { Lexend } from 'next/font/google'; import { MotionConfig } from 'framer-motion'; import './globals.css'; import { ToastProvider } from '@/components/ui/Toast'; @@ -6,6 +7,12 @@ import { AuthProvider } from '@/context/AuthContext'; import Navbar from '@/components/navbar/Navbar'; import Footer from '@/components/footer/Footer'; +const lexend = Lexend({ + subsets: ['latin'], + display: 'swap', + variable: '--font-inter', +}); + export const metadata: Metadata = { title: 'CodeForge — DSA & Competitive Programming', description: @@ -30,7 +37,7 @@ export default function RootLayout({ return ( diff --git a/app/leaderboard/[id]/page.tsx b/app/leaderboard/[id]/page.tsx index 7b9c076..04f6223 100644 --- a/app/leaderboard/[id]/page.tsx +++ b/app/leaderboard/[id]/page.tsx @@ -3,6 +3,7 @@ import React, { useCallback, useEffect, useState } from 'react'; import Image from 'next/image'; import Link from 'next/link'; +import { useParams } from 'next/navigation'; import { ArrowLeft, BarChart3, CheckCircle2, Flame, Search, Trophy, Users } from 'lucide-react'; interface Profile { @@ -30,7 +31,8 @@ export default function PublicProfilePage() { const [compareId, setCompareId] = useState(''); const [loading, setLoading] = useState(true); const [error, setError] = useState(''); - const id = typeof window !== 'undefined' ? window.location.pathname.split('/').pop() || '' : ''; + const params = useParams<{ id: string }>(); + const id = typeof params.id === 'string' ? params.id : ''; const load = useCallback(async (requestedCompare = '') => { setLoading(true); setError(''); diff --git a/app/login/page.tsx b/app/login/page.tsx index 57b3afe..2e71169 100644 --- a/app/login/page.tsx +++ b/app/login/page.tsx @@ -26,13 +26,15 @@ function LoginPageInner() { const router = useRouter(); const { user, login, sendCode, verifyCode, resetPassword } = useAuth(); const searchParams = useSearchParams(); + const nextPath = searchParams.get('next'); + const safeNextPath = nextPath?.startsWith('/') && !nextPath.startsWith('//') ? nextPath : '/dashboard'; // Redirect to dashboard if already authenticated useEffect(() => { if (user) { - router.push('/dashboard'); + router.push(safeNextPath); } - }, [user, router]); + }, [safeNextPath, user, router]); // Auth Mode: 'password' | 'code' | 'forgot' const [authMode, setAuthMode] = useState<'password' | 'code' | 'forgot'>('password'); @@ -106,7 +108,7 @@ function LoginPageInner() { setLoading(false); if (result.success) { - router.push('/dashboard'); + router.push(safeNextPath); } else { setError(result.error || 'Failed to sign in'); } @@ -162,7 +164,7 @@ function LoginPageInner() { setLoading(false); if (result.success) { - router.push('/dashboard'); + router.push(safeNextPath); } else { setError(result.error || 'Invalid or expired verification code'); } @@ -189,7 +191,7 @@ function LoginPageInner() { setLoading(false); if (result.success) { - router.push('/dashboard'); + router.push(safeNextPath); } else { setError(result.error || 'Failed to reset password'); } diff --git a/app/mobile/revision/page.tsx b/app/mobile/revision/page.tsx new file mode 100644 index 0000000..b649d2b --- /dev/null +++ b/app/mobile/revision/page.tsx @@ -0,0 +1,357 @@ +'use client'; + +import React, { useCallback, useEffect, useState } from 'react'; +import Link from 'next/link'; +import { + AlertCircle, + ArrowLeft, + BookOpenCheck, + CalendarClock, + CheckCircle2, + ChevronRight, + Loader2, + RefreshCw, + RotateCw, +} from 'lucide-react'; +import { DifficultyBadge } from '@/components/ui/DifficultyBadge'; +import type { RevisionCardDTO, RevisionDeckResponse, RevisionDeckStats } from '@/lib/types'; +import type { RevisionQuality } from '@/lib/revisionSchedule'; + +const EMPTY_STATS: RevisionDeckStats = { + totalCards: 0, + dueTodayCount: 0, + masteredCount: 0, + learnedMistakeCount: 0, + nextDueDate: null, +}; + +const QUALITY_COPY: Record = { + HARD: { + label: 'Hard', + helper: 'Review tomorrow', + className: 'bg-rose-500 text-white active:bg-rose-400', + }, + GOOD: { + label: 'Good', + helper: 'Space it out', + className: 'bg-amber-400 text-black active:bg-amber-300', + }, + EASY: { + label: 'Easy', + helper: 'Push further', + className: 'bg-emerald-400 text-black active:bg-emerald-300', + }, +}; + +function compactDate(value: string | null) { + if (!value) return 'No upcoming cards'; + return new Intl.DateTimeFormat(undefined, { + month: 'short', + day: 'numeric', + }).format(new Date(value)); +} + +function parseTopicTags(topicTags: string) { + try { + const parsed = JSON.parse(topicTags); + return Array.isArray(parsed) ? parsed.slice(0, 3).filter((tag) => typeof tag === 'string') : []; + } catch { + return []; + } +} + +export default function MobileRevisionPage() { + const [cards, setCards] = useState([]); + const [dueCards, setDueCards] = useState([]); + const [stats, setStats] = useState(EMPTY_STATS); + const [currentIndex, setCurrentIndex] = useState(0); + const [showAnswer, setShowAnswer] = useState(false); + const [loading, setLoading] = useState(true); + const [error, setError] = useState(null); + const [submittingQuality, setSubmittingQuality] = useState(null); + + const activeCard = dueCards[currentIndex] || null; + + const loadDeck = useCallback(async (signal?: AbortSignal) => { + try { + setError(null); + const response = await fetch('/api/revision', { + credentials: 'include', + signal, + }); + + if (response.status === 401) { + setError('Sign in to load your revision deck on this phone.'); + return; + } + + if (!response.ok) throw new Error('Revision deck failed to load'); + + const data = (await response.json()) as RevisionDeckResponse; + setCards(data.cards || []); + setDueCards(data.dueCards || []); + setStats(data.stats || EMPTY_STATS); + setCurrentIndex(0); + setShowAnswer(false); + } catch (err) { + if (!(err instanceof DOMException && err.name === 'AbortError')) { + setError('Could not reach your revision deck. Check your connection and try again.'); + } + } finally { + if (!signal?.aborted) setLoading(false); + } + }, []); + + useEffect(() => { + const controller = new AbortController(); + loadDeck(controller.signal); + return () => controller.abort(); + }, [loadDeck]); + + useEffect(() => { + setShowAnswer(false); + }, [activeCard?.id]); + + const topicTags = activeCard?.problem?.topicTags ? parseTopicTags(activeCard.problem.topicTags) : []; + + const rateCard = async (quality: RevisionQuality) => { + if (!activeCard || submittingQuality) return; + + setSubmittingQuality(quality); + try { + const response = await fetch('/api/revision', { + method: 'POST', + credentials: 'include', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ cardId: activeCard.id, quality }), + }); + + if (response.status === 401) { + setError('Your session expired. Sign in again to keep reviewing.'); + return; + } + + if (!response.ok) { + const data = await response.json().catch(() => null); + throw new Error(data?.error || 'Could not save review'); + } + + const remainingDueCards = dueCards.filter((card) => card.id !== activeCard.id); + setDueCards(remainingDueCards); + setStats((previous) => ({ + ...previous, + dueTodayCount: Math.max(0, previous.dueTodayCount - 1), + })); + setCurrentIndex((previous) => Math.min(previous, Math.max(remainingDueCards.length - 1, 0))); + setShowAnswer(false); + loadDeck(); + } catch (err) { + setError(err instanceof Error ? err.message : 'Could not save review'); + } finally { + setSubmittingQuality(null); + } + }; + + if (loading) { + return ( +
+
+ +

Loading your revision deck...

+
+
+ ); + } + + const completedToday = Math.max(0, stats.dueTodayCount - dueCards.length); + const totalToday = completedToday + dueCards.length; + const progress = totalToday > 0 ? Math.round((completedToday / totalToday) * 100) : 100; + + return ( +
+
+
+ + + +
+

CodeForge

+

Revision Deck

+
+ +
+ +
+
+

Due

+

{dueCards.length}

+
+
+

Mastered

+

{stats.masteredCount}

+
+
+

Next

+

{compactDate(stats.nextDueDate)}

+
+
+ + {error && ( +
+
+ +
+

{error}

+ + Sign in + +
+
+
+ )} + + {activeCard ? ( +
+
+
+ {completedToday + 1} of {totalToday} + {progress}% done +
+
+
+
+
+ + + +
+ {(Object.keys(QUALITY_COPY) as RevisionQuality[]).map((quality) => { + const copy = QUALITY_COPY[quality]; + return ( + + ); + })} +
+
+ ) : ( +
+
+ +
+

+ {cards.length > 0 ? 'All caught up' : 'No revision cards yet'} +

+

+ {cards.length > 0 + ? 'Your due cards are done. Come back when the next scheduled card unlocks.' + : 'Solve problems and submit attempts on CodeForge to build your personal deck.'} +

+
+ + Practice Problems + + +
+

+ Total cards: {stats.totalCards} +

+
+ )} +
+
+ ); +} diff --git a/app/page.tsx b/app/page.tsx index 40a13ef..87e9fef 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -12,7 +12,7 @@ export default function Home() { className="min-h-screen text-slate-100 overflow-x-hidden relative" style={{ background: - 'radial-gradient(ellipse 80% 50% at 50% -10%, rgba(251,191,36,0.08) 0%, transparent 60%), radial-gradient(ellipse 60% 40% at 80% 60%, rgba(245,158,11,0.035) 0%, transparent 60%), #08080a', + 'linear-gradient(180deg, rgba(14,22,28,0.8) 0%, rgba(8,8,10,0) 42%), #08080a', }} > {/* 1. Hero Section */} diff --git a/app/problems/[id]/page.tsx b/app/problems/[id]/page.tsx index f6dd93a..83e7817 100644 --- a/app/problems/[id]/page.tsx +++ b/app/problems/[id]/page.tsx @@ -1,6 +1,6 @@ 'use client'; -import React, { useState, useEffect, useCallback } from 'react'; +import React, { useState, useEffect, useCallback, useRef } from 'react'; import Link from 'next/link'; import { useParams } from 'next/navigation'; import { @@ -18,7 +18,6 @@ import { } from 'lucide-react'; import EditorWorkspace from '@/components/editor/EditorWorkspace'; import ProgressiveHints from '@/components/guidance/ProgressiveHints'; -import TutorDrawer from '@/components/guidance/TutorDrawer'; import { ProblemVisualizer } from '@/components/problems/ProblemVisualizer'; import { DifficultyBadge } from '@/components/ui/DifficultyBadge'; import { Problem, Submission } from '@/lib/types'; @@ -37,7 +36,8 @@ export default function ProblemDetailPage() { const [submissions, setSubmissions] = useState([]); const [isLoadingSubmissions, setIsLoadingSubmissions] = useState(false); - const [isTutorOpen, setIsTutorOpen] = useState(false); + const [leftPanelWidth, setLeftPanelWidth] = useState(43); + const workspaceRef = useRef(null); const [copiedIndex, setCopiedIndex] = useState(null); @@ -106,6 +106,41 @@ export default function ProblemDetailPage() { setTimeout(() => setCopiedIndex(null), 2000); }; + const handleMainResizeStart = (event: React.PointerEvent) => { + if (!workspaceRef.current || window.innerWidth < 1024) return; + + const workspace = workspaceRef.current; + event.currentTarget.setPointerCapture(event.pointerId); + document.body.style.cursor = 'col-resize'; + document.body.style.userSelect = 'none'; + + const handlePointerMove = (moveEvent: PointerEvent) => { + const rect = workspace.getBoundingClientRect(); + const rawPercentage = ((moveEvent.clientX - rect.left) / rect.width) * 100; + setLeftPanelWidth(Math.min(68, Math.max(28, rawPercentage))); + }; + + const stopResize = () => { + document.body.style.cursor = ''; + document.body.style.userSelect = ''; + window.removeEventListener('pointermove', handlePointerMove); + window.removeEventListener('pointerup', stopResize); + window.removeEventListener('pointercancel', stopResize); + }; + + window.addEventListener('pointermove', handlePointerMove); + window.addEventListener('pointerup', stopResize); + window.addEventListener('pointercancel', stopResize); + }; + + const handleMainResizeKeyDown = (event: React.KeyboardEvent) => { + if (event.key !== 'ArrowLeft' && event.key !== 'ArrowRight') return; + + event.preventDefault(); + const direction = event.key === 'ArrowRight' ? 1 : -1; + setLeftPanelWidth((current) => Math.min(68, Math.max(28, current + direction * 2))); + }; + if (isLoading) { return (
@@ -171,9 +206,13 @@ export default function ProblemDetailPage() { {/* Split Workspace View */} -
+
{/* LEFT PANEL: Problem Details & Tabs (5 Columns on Large Screens) */} -
+
{/* Navigation Tabs */}
)}
+
+ +
+ {/* RIGHT PANEL: Code Editor & Execution Workspace (7 Columns on Large Screens) */} -
+
- - {/* Floating tutor drawer */} - setIsTutorOpen(!isTutorOpen)} - />
); } diff --git a/app/revision/page.tsx b/app/revision/page.tsx index 94f9f3c..5ae20a7 100644 --- a/app/revision/page.tsx +++ b/app/revision/page.tsx @@ -19,57 +19,43 @@ import { } from 'lucide-react'; import { useToast } from '@/components/ui/Toast'; import { DifficultyBadge } from '@/components/ui/DifficultyBadge'; +import type { RevisionCardDTO, RevisionDeckResponse, RevisionDeckStats } from '@/lib/types'; +import { nextRevisionInterval } from '@/lib/revisionSchedule'; -interface ProblemData { - id: string; - title: string; - slug: string; - difficulty: string; - topicTags: string; - statement: string; - editorial: string; -} - -interface RevisionCardItem { - id: string; - problemId: string; - pattern: string; - keyTakeaway: string; - timeComplexity: string; - spaceComplexity: string; - interval: number; - repetitions: number; - dueDate: string; - failureCount: number; - lastFailureType?: string | null; - lastError?: string | null; - lastFailedInput?: string | null; - lastExpectedOutput?: string | null; - lastActualOutput?: string | null; - problem: ProblemData; -} +const EMPTY_STATS: RevisionDeckStats = { + totalCards: 0, + dueTodayCount: 0, + masteredCount: 0, + learnedMistakeCount: 0, + nextDueDate: null, +}; export default function RevisionPage() { - const [cards, setCards] = useState([]); - const [dueCards, setDueCards] = useState([]); - const [stats, setStats] = useState({ totalCards: 0, dueTodayCount: 0, masteredCount: 0, learnedMistakeCount: 0 }); + const [cards, setCards] = useState([]); + const [dueCards, setDueCards] = useState([]); + const [stats, setStats] = useState(EMPTY_STATS); const [currentIdx, setCurrentIdx] = useState(0); const [isFlipped, setIsFlipped] = useState(false); const [loading, setLoading] = useState(true); + const [loadError, setLoadError] = useState(null); const [submitting, setSubmitting] = useState(false); + const [selectedQuality, setSelectedQuality] = useState<'HARD' | 'GOOD' | 'EASY' | null>(null); const { showToast } = useToast(); + const activeDueCardId = dueCards[currentIdx]?.id; const fetchRevisionData = async (signal?: AbortSignal) => { try { const res = await fetch('/api/revision', { signal }); if (!res.ok) throw new Error('Failed to fetch revision deck'); - const data = await res.json(); + const data = (await res.json()) as RevisionDeckResponse; setCards(data.cards || []); setDueCards(data.dueCards || []); - setStats(data.stats || { totalCards: 0, dueTodayCount: 0, masteredCount: 0, learnedMistakeCount: 0 }); + setStats(data.stats || EMPTY_STATS); + setLoadError(null); } catch (err: unknown) { if (!(err instanceof DOMException && err.name === 'AbortError')) { console.error('Error fetching revision data:', err); + setLoadError('Could not load your revision deck. Please try again.'); } } finally { if (!signal?.aborted) setLoading(false); @@ -83,11 +69,20 @@ export default function RevisionPage() { return () => controller.abort(); }, []); + useEffect(() => { + if (currentIdx >= dueCards.length) setCurrentIdx(0); + }, [currentIdx, dueCards.length]); + + useEffect(() => { + setIsFlipped(false); + }, [activeDueCardId]); + const handleRateCard = async (quality: 'HARD' | 'GOOD' | 'EASY') => { const card = dueCards[currentIdx]; - if (!card) return; + if (!card || submitting) return; setSubmitting(true); + setSelectedQuality(quality); try { const res = await fetch('/api/revision', { method: 'POST', @@ -101,12 +96,14 @@ export default function RevisionPage() { if (res.ok) { showToast(`Card rated ${quality}! Next review scheduled.`, 'success'); setIsFlipped(false); - if (currentIdx < dueCards.length - 1) { - setCurrentIdx((prev) => prev + 1); - } else { - await fetchRevisionData(); - setCurrentIdx(0); - } + const remainingDueCards = dueCards.filter((dueCard) => dueCard.id !== card.id); + setDueCards(remainingDueCards); + setStats((previous) => ({ + ...previous, + dueTodayCount: Math.max(0, previous.dueTodayCount - 1), + })); + setCurrentIdx((previous) => Math.min(previous, Math.max(remainingDueCards.length - 1, 0))); + fetchRevisionData(); } else { const data = await res.json().catch(() => null); showToast(data?.error || 'Failed to record rating', 'error'); @@ -115,6 +112,7 @@ export default function RevisionPage() { showToast('Failed to record rating', 'error'); } finally { setSubmitting(false); + setSelectedQuality(null); } }; @@ -128,6 +126,10 @@ export default function RevisionPage() { } const currentCard = dueCards[currentIdx]; + const hasAnyCards = cards.length > 0; + const nextDueLabel = stats.nextDueDate + ? new Intl.DateTimeFormat(undefined, { month: 'short', day: 'numeric' }).format(new Date(stats.nextDueDate)) + : null; return (
@@ -148,7 +150,7 @@ export default function RevisionPage() {
{/* Stats Pill Strip */} -
+
@@ -181,7 +183,27 @@ export default function RevisionPage() {
{/* Main Flashcard Interactive Arena */} - {dueCards.length > 0 && currentCard ? ( + {loadError ? ( +
+
+ +
+

Revision Deck Could Not Load

+

+ Your learned mistakes are still saved, but this view could not fetch them right now. +

+ +
+ ) : dueCards.length > 0 && currentCard ? (
{/* Progress Bar */}
@@ -321,7 +343,10 @@ export default function RevisionPage() { disabled={submitting} className="py-3 px-4 rounded-lg bg-rose-500/10 border border-rose-500/30 hover:bg-rose-500/20 text-rose-400 font-bold text-xs transition flex flex-col items-center gap-0.5" > - + + {selectedQuality === 'HARD' ? : Review in 1 Day
) : ( - /* Deck Completed View */ + /* Deck Empty or Completed View */
- + {hasAnyCards ? : }
-

All Revisions Completed Today

+

+ {hasAnyCards ? 'All Revisions Completed Today' : 'No Learned Mistakes Yet'} +

- Great job! You have revised all due DSA flashcards for today. Spaced repetition ensures long-term memory retention for FAANG interviews. + {hasAnyCards + ? `Great job! You have revised all due DSA flashcards for today.${nextDueLabel ? ` Next review: ${nextDueLabel}.` : ' The next cards will return when their memory interval is due.'}` + : 'Submit code or run sample cases while signed in. When the platform catches a wrong answer, runtime error, timeout, or compile error, it will turn that stuck point into a due revision card.'}

{ const ids = entries.map((entry) => entry.problemId).join(','); @@ -76,36 +77,139 @@ export default function VisualizerLibraryPage() { const selectedTitle = selected ? (problemMeta[selected.problemId]?.title || titleFromPath(selected.lessonPath)) : 'Choose a lesson'; const patterns = Array.from(new Set(entries.map((entry) => entry.pattern))); + const selectLesson = (problemId: string) => { + setSelectedId(problemId); + setMenuOpen(false); + }; + useEffect(() => { if (selected && !filteredEntries.some((entry) => entry.problemId === selected.problemId)) { setSelectedId(filteredEntries[0]?.problemId || ''); } }, [filteredEntries, selected]); + useEffect(() => { + if (!menuOpen) return; + const handleKeyDown = (event: KeyboardEvent) => { + if (event.key === 'Escape') setMenuOpen(false); + }; + window.addEventListener('keydown', handleKeyDown); + return () => window.removeEventListener('keydown', handleKeyDown); + }, [menuOpen]); + + const catalogPanel = ( +
+
+
+
Question Menu
+

{filteredEntries.length} lessons found

+
+ +
+ +
+
+ + + +
+ {filteredEntries.map((entry) => { + const title = problemMeta[entry.problemId]?.title || titleFromPath(entry.lessonPath); + const isSelected = entry.problemId === selected?.problemId; + return ( + + ); + })} + {filteredEntries.length === 0 && ( +
+ No lessons match this search. +
+ )} +
+
+ ); + return (
-
+
$ visualizer --catalog=75

Watch the algorithm think_

Interactive visual lessons for every mapped problem. Choose a pattern, step through its state, and inspect the invariant.

-
{entries.length || 75} verified lessons
+
+ +
{entries.length || 75} verified lessons
+
-
- - -
- {selected ? :
No lessons match this filter.
} - {selected &&
Interactive lesson: {selected.lessonPath}Open coding workspace
} -
-
+
+ {selected ? :
No lessons match this filter.
} + {selected &&
Interactive lesson: {selected.lessonPath}Open coding workspace
} +
+
+ +
+
); diff --git a/capacitor-www/index.html b/capacitor-www/index.html new file mode 100644 index 0000000..e6ac788 --- /dev/null +++ b/capacitor-www/index.html @@ -0,0 +1,47 @@ + + + + + + CodeForge Revision + + + +
+

CodeForge Revision

+

Connect to the CodeForge app server to load your revision deck.

+
+ + diff --git a/capacitor.config.ts b/capacitor.config.ts new file mode 100644 index 0000000..5107ced --- /dev/null +++ b/capacitor.config.ts @@ -0,0 +1,18 @@ +import type { CapacitorConfig } from '@capacitor/cli'; + +const serverUrl = process.env.CAPACITOR_SERVER_URL || 'http://10.0.2.2:3000/mobile/revision'; + +const config: CapacitorConfig = { + appId: 'com.codeforge.revision', + appName: 'CodeForge Revision', + webDir: 'capacitor-www', + server: { + url: serverUrl, + cleartext: serverUrl.startsWith('http://'), + }, + android: { + allowMixedContent: true, + }, +}; + +export default config; diff --git a/components/contests/LiveCommentator.tsx b/components/contests/LiveCommentator.tsx index f7d9d16..325ae89 100644 --- a/components/contests/LiveCommentator.tsx +++ b/components/contests/LiveCommentator.tsx @@ -1,8 +1,8 @@ 'use client'; -import React, { useState, useEffect, useRef, useCallback } from 'react'; +import React, { useState, useEffect, useRef, useCallback, useMemo } from 'react'; import { motion, AnimatePresence } from 'framer-motion'; -import { Sparkles, Volume2, VolumeX, RefreshCw, Radio, Flame, Zap, ShieldAlert, History, UserCheck } from 'lucide-react'; +import { Sparkles, Volume2, VolumeX, RefreshCw, Radio, Flame, Zap, ShieldAlert, History } from 'lucide-react'; export interface ParticipantInfo { id?: string; @@ -25,6 +25,21 @@ export interface ExecutionResultInfo { [key: string]: unknown; } +export interface CodeAnalysisInfo { + lineCount: number; + nonEmptyLineCount: number; + functionCount: number; + loopCount: number; + conditionalCount: number; + hasInputParsing: boolean; + hasReturn: boolean; + hasConsoleOutput: boolean; + hasTodo: boolean; + possibleIssue: string; + phase: string; + signature: string; +} + export interface LiveCommentatorProps { roomCode?: string; roomName?: string; @@ -38,6 +53,8 @@ export interface LiveCommentatorProps { language?: string; codeSnippet?: string; linesOfCode?: number; + timeRemainingSeconds?: number; + privacyMode?: boolean; executionResult?: ExecutionResultInfo; userName?: string; className?: string; @@ -58,6 +75,81 @@ function stripEmojis(text: string): string { return text.replace(/\s+/g, ' ').trim(); } +function normalizeCommentaryText(value: unknown, fallback: string): string { + if (typeof value !== 'string') return fallback; + + const normalized = value + .replace(/\s+/g, ' ') + .trim() + .slice(0, 220); + + return normalized.length >= 8 ? normalized : fallback; +} + +function normalizeHypeLevel(value: unknown): CommentaryMessage['hypeLevel'] { + return value === 'high' || value === 'medium' || value === 'low' ? value : 'medium'; +} + +function cheapHash(value: string): string { + let hash = 0; + for (let index = 0; index < value.length; index += 1) { + hash = ((hash << 5) - hash + value.charCodeAt(index)) | 0; + } + return Math.abs(hash).toString(36); +} + +function analyzeCodeSnapshot(code: string, language: string): CodeAnalysisInfo { + const normalizedCode = typeof code === 'string' ? code : ''; + const lines = normalizedCode.split(/\r?\n/); + const nonEmptyLines = lines.filter((line) => line.trim().length > 0); + const withoutStrings = normalizedCode + .replace(/(["'`])(?:\\.|(?!\1)[\s\S])*\1/g, '""') + .replace(/\/\/.*$/gm, '') + .replace(/\/\*[\s\S]*?\*\//g, ''); + const lowerLanguage = language.toLowerCase(); + const functionMatches = withoutStrings.match(/\b(function|def|func)\b|(?:^|\s)[A-Za-z_][\w:<>,\s*&]*\s+[A-Za-z_]\w*\s*\([^;{}]*\)\s*\{/g) || []; + const loopMatches = withoutStrings.match(/\b(for|while|do)\b/g) || []; + const conditionalMatches = withoutStrings.match(/\b(if|else\s+if|switch|case)\b/g) || []; + const hasInputParsing = /\b(input|cin|scanf|readLine|readline|Scanner|BufferedReader|fmt\.Scan|process\.stdin)\b/.test(withoutStrings); + const hasReturn = /\breturn\b/.test(withoutStrings); + const hasConsoleOutput = /\b(console\.log|cout|printf|System\.out|print|fmt\.Print)\b/.test(withoutStrings); + const hasTodo = /\b(TODO|FIXME|placeholder|write your|implement)\b/i.test(normalizedCode); + + let phase = 'drafting'; + if (nonEmptyLines.length >= 35 || (loopMatches.length > 0 && conditionalMatches.length > 1 && hasReturn)) { + phase = 'implementation'; + } + if (hasConsoleOutput || hasReturn) { + phase = nonEmptyLines.length >= 8 ? 'testing-ready' : phase; + } + + let possibleIssue = 'No obvious issue spotted'; + if (nonEmptyLines.length === 0 || hasTodo) { + possibleIssue = 'Solution still looks like a placeholder'; + } else if ((lowerLanguage === 'cpp' || lowerLanguage === 'java' || lowerLanguage === 'go') && !hasReturn && !hasConsoleOutput) { + possibleIssue = 'No return or output path detected yet'; + } else if (nonEmptyLines.length > 10 && loopMatches.length === 0 && conditionalMatches.length === 0) { + possibleIssue = 'Core branching or iteration is not visible yet'; + } else if (nonEmptyLines.length > 20 && !hasInputParsing && ['cpp', 'java', 'go', 'javascript'].includes(lowerLanguage)) { + possibleIssue = 'Input parsing is not visible yet'; + } + + return { + lineCount: Math.min(lines.length, 100_000), + nonEmptyLineCount: Math.min(nonEmptyLines.length, 100_000), + functionCount: Math.min(functionMatches.length, 10_000), + loopCount: Math.min(loopMatches.length, 10_000), + conditionalCount: Math.min(conditionalMatches.length, 10_000), + hasInputParsing, + hasReturn, + hasConsoleOutput, + hasTodo, + possibleIssue, + phase, + signature: `${nonEmptyLines.length}:${functionMatches.length}:${loopMatches.length}:${conditionalMatches.length}:${cheapHash(normalizedCode.slice(-2000))}`, + }; +} + export const LiveCommentator: React.FC = ({ roomCode, roomName = 'Battle Arena', @@ -71,6 +163,8 @@ export const LiveCommentator: React.FC = ({ language = 'cpp', codeSnippet = '', linesOfCode = 0, + timeRemainingSeconds, + privacyMode = false, executionResult, userName, className = '', @@ -87,23 +181,49 @@ export const LiveCommentator: React.FC = ({ const [isMuted, setIsMuted] = useState(true); const [showHistory, setShowHistory] = useState(false); const [selectedVoice, setSelectedVoice] = useState(null); + const [analysisBeat, setAnalysisBeat] = useState(0); - const codeSnippetRef = useRef(codeSnippet); const participantsRef = useRef(participants); const executionResultRef = useRef(executionResult); const linesOfCodeRef = useRef(linesOfCode); const userNameRef = useRef(userName); + const timeRemainingSecondsRef = useRef(timeRemainingSeconds); + const codeAnalysisRef = useRef(analyzeCodeSnapshot(codeSnippet, language)); + const requestIdRef = useRef(0); + const abortControllerRef = useRef(null); + const lastRequestSignatureRef = useRef(''); + const analysisBeatRef = useRef(0); useEffect(() => { - codeSnippetRef.current = codeSnippet; participantsRef.current = participants; executionResultRef.current = executionResult; linesOfCodeRef.current = linesOfCode; userNameRef.current = userName; - }, [codeSnippet, participants, executionResult, linesOfCode, userName]); + timeRemainingSecondsRef.current = timeRemainingSeconds; + }, [participants, executionResult, linesOfCode, userName, timeRemainingSeconds]); const effectiveProblemTitle = problemTitle || activeProblemTitle || 'DSA Challenge'; const effectiveEvent = eventType || lastEvent || 'TICK'; const effectiveRoomCode = roomCode || roomName || 'ARENA-1'; + const participantScoreSignature = useMemo( + () => + participants + .map((participant) => `${participant.id || participant.userId || participant.name || participant.userName}:${participant.score ?? participant.scores ?? 0}:${participant.solved ?? 0}:${participant.progress || ''}`) + .join('|'), + [participants] + ); + const typingMilestone = Math.floor(Math.max(0, linesOfCode) / 10); + const executionSignature = `${executionResult?.verdict || ''}:${executionResult?.stderr || ''}`; + const clockBucket = timeRemainingSeconds === undefined ? 'na' : Math.floor(Math.max(0, timeRemainingSeconds) / 30); + const codeAnalysis = useMemo(() => analyzeCodeSnapshot(codeSnippet, language), [codeSnippet, language]); + const codeAnalysisSignature = codeAnalysis.signature; + + useEffect(() => { + codeAnalysisRef.current = codeAnalysis; + }, [codeAnalysis]); + + useEffect(() => { + analysisBeatRef.current = analysisBeat; + }, [analysisBeat]); // Voice Selection setup const loadBestVoice = useCallback(() => { @@ -183,14 +303,34 @@ export const LiveCommentator: React.FC = ({ // Fetch commentary from API route const fetchCommentary = useCallback( async (evtOverride?: string) => { - setLoading(true); const targetEvent = evtOverride || effectiveEvent; + const stateSignature = [ + targetEvent, + effectiveProblemTitle, + participantScoreSignature, + typingMilestone, + executionSignature, + targetEvent === 'CODE_ANALYSIS' ? codeAnalysisRef.current.signature : 'analysis', + targetEvent === 'TICK' ? clockBucket : 'event', + targetEvent === 'CODE_ANALYSIS' ? analysisBeatRef.current : 'beat', + ].join('::'); + + if (stateSignature === lastRequestSignatureRef.current && targetEvent !== 'MANUAL_REFRESH') return; + lastRequestSignatureRef.current = stateSignature; + setLoading(true); + + const requestId = requestIdRef.current + 1; + requestIdRef.current = requestId; + abortControllerRef.current?.abort(); + const controller = new AbortController(); + abortControllerRef.current = controller; try { const res = await fetch('/api/ai/commentator', { method: 'POST', headers: { 'Content-Type': 'application/json' }, credentials: 'include', + signal: controller.signal, body: JSON.stringify({ roomCode: effectiveRoomCode, roomName, @@ -200,49 +340,84 @@ export const LiveCommentator: React.FC = ({ problemTitle: effectiveProblemTitle, activeProblemTitle: effectiveProblemTitle, language, - codeSnippet: codeSnippetRef.current, linesOfCode: linesOfCodeRef.current, + timeRemainingSeconds: timeRemainingSecondsRef.current, + codeAnalysis: codeAnalysisRef.current, executionResult: executionResultRef.current, userName: userNameRef.current, mode, status, + privacyMode: privacyMode ? 'private_room' : false, }), }); + if (requestId !== requestIdRef.current) return; + if (res.ok) { const data = await res.json(); - let text = ' Battle action intensifying in the arena!'; - let hype: 'high' | 'medium' | 'low' = 'medium'; + let text = 'Battle action intensifying in the arena!'; + let hype: CommentaryMessage['hypeLevel'] = 'medium'; let ts = Date.now(); - let spk: 'Shoutcaster' = 'Shoutcaster'; if (data.commentary) { if (typeof data.commentary === 'string') { - text = data.commentary; + text = normalizeCommentaryText(data.commentary, text); } else if (typeof data.commentary === 'object') { - text = data.commentary.text || data.commentary.commentary || text; + text = normalizeCommentaryText(data.commentary.text || data.commentary.commentary, text); } } - if (data.hypeLevel) hype = data.hypeLevel; - if (data.timestamp) ts = data.timestamp; - if (data.speaker) spk = data.speaker; + hype = normalizeHypeLevel(data.hypeLevel); + if (Number.isFinite(data.timestamp)) ts = data.timestamp; const msgObj: CommentaryMessage = { id: `comm_${Date.now()}_${Math.random().toString(36).substring(2, 6)}`, text, timestamp: ts, hypeLevel: hype, - speaker: spk, + speaker: 'Shoutcaster', }; + setCurrentMessage(msgObj); + setHistory((prev) => [msgObj, ...prev.slice(0, 7)]); + speakCommentary(text); + } else { + const analysis = codeAnalysisRef.current; + const text = targetEvent === 'CODE_ANALYSIS' + ? `CODE READ: ${userNameRef.current || 'Coder'} has ${analysis.nonEmptyLineCount} active lines; ${analysis.possibleIssue.toLowerCase()}.` + : 'Battle action continues while the commentator reconnects.'; + const msgObj: CommentaryMessage = { + id: `comm_local_${Date.now()}_${Math.random().toString(36).substring(2, 6)}`, + text, + timestamp: Date.now(), + hypeLevel: targetEvent === 'CODE_ANALYSIS' && analysis.possibleIssue !== 'No obvious issue spotted' ? 'medium' : 'low', + speaker: 'Shoutcaster', + }; setCurrentMessage(msgObj); setHistory((prev) => [msgObj, ...prev.slice(0, 7)]); speakCommentary(text); } } catch (err) { - console.error('[LiveCommentator Error]:', err); + if (!(err instanceof DOMException && err.name === 'AbortError')) { + console.error('[LiveCommentator Error]:', err); + const analysis = codeAnalysisRef.current; + const text = targetEvent === 'CODE_ANALYSIS' + ? `CODE READ: ${userNameRef.current || 'Coder'} is in ${analysis.phase} with ${analysis.nonEmptyLineCount} active lines.` + : 'Battle action continues while the commentator reconnects.'; + const msgObj: CommentaryMessage = { + id: `comm_recover_${Date.now()}_${Math.random().toString(36).substring(2, 6)}`, + text, + timestamp: Date.now(), + hypeLevel: 'low', + speaker: 'Shoutcaster', + }; + setCurrentMessage(msgObj); + setHistory((prev) => [msgObj, ...prev.slice(0, 7)]); + speakCommentary(text); + } } finally { - setLoading(false); + if (requestId === requestIdRef.current) { + setLoading(false); + } } }, [ @@ -253,14 +428,48 @@ export const LiveCommentator: React.FC = ({ language, mode, status, + privacyMode, speakCommentary, + participantScoreSignature, + typingMilestone, + executionSignature, + clockBucket, ] ); // Trigger fetch on event or prop changes useEffect(() => { fetchCommentary(effectiveEvent); - }, [fetchCommentary, effectiveEvent, effectiveProblemTitle, participants.length]); + }, [ + fetchCommentary, + effectiveEvent, + effectiveProblemTitle, + participantScoreSignature, + typingMilestone, + executionSignature, + clockBucket, + ]); + + useEffect(() => { + if (status !== 'IN_PROGRESS') return; + const interval = setInterval(() => { + setAnalysisBeat((beat) => beat + 1); + }, 5000); + + return () => clearInterval(interval); + }, [status]); + + useEffect(() => { + if (status !== 'IN_PROGRESS') return; + if (codeAnalysis.nonEmptyLineCount === 0) return; + fetchCommentary('CODE_ANALYSIS'); + }, [ + analysisBeat, + codeAnalysisSignature, + codeAnalysis.nonEmptyLineCount, + fetchCommentary, + status, + ]); // Periodic interval tick useEffect(() => { @@ -271,6 +480,10 @@ export const LiveCommentator: React.FC = ({ return () => clearInterval(interval); }, [fetchCommentary]); + useEffect(() => { + return () => abortControllerRef.current?.abort(); + }, []); + const toggleTTS = () => { const nextMute = !isMuted; setIsMuted(nextMute); @@ -332,6 +545,12 @@ export const LiveCommentator: React.FC = ({ {hypeProps.icon} {hypeProps.label} + {privacyMode && ( + + + PRIVATE ROOM + + )}
{/* Action Button Controls */} diff --git a/components/dashboard/SolvedSummaryCards.tsx b/components/dashboard/SolvedSummaryCards.tsx index 3d3aba3..a7cb8bc 100644 --- a/components/dashboard/SolvedSummaryCards.tsx +++ b/components/dashboard/SolvedSummaryCards.tsx @@ -33,9 +33,9 @@ export function SolvedSummaryCards({ user, solved, accuracy, avgTime }: SolvedSu const totalSystemProblems = solved.totalEasy + solved.totalMedium + solved.totalHard; return ( -
+
{/* 1. Rating & Tier Badge Card */} -
+
Contest Rating @@ -62,7 +62,7 @@ export function SolvedSummaryCards({ user, solved, accuracy, avgTime }: SolvedSu
{/* 2. Total Solved Progress Card */} -
+
Problems Solved @@ -87,7 +87,7 @@ export function SolvedSummaryCards({ user, solved, accuracy, avgTime }: SolvedSu title={`Easy: ${solved.easy}`} />
@@ -107,7 +107,7 @@ export function SolvedSummaryCards({ user, solved, accuracy, avgTime }: SolvedSu
{/* 3. Difficulty Breakdown Card */} -
+
Difficulty Breakdown @@ -118,9 +118,9 @@ export function SolvedSummaryCards({ user, solved, accuracy, avgTime }: SolvedSu
{solved.easy}
/{solved.totalEasy}
-
-
Med
-
{solved.medium}
+
+
Med
+
{solved.medium}
/{solved.totalMedium}
@@ -132,16 +132,16 @@ export function SolvedSummaryCards({ user, solved, accuracy, avgTime }: SolvedSu
{/* 4. Accuracy & Efficiency Card */} -
+
Accuracy & Speed - +
- + {accuracy}% AC Rate diff --git a/components/dashboard/TeachingStyleSelector.tsx b/components/dashboard/TeachingStyleSelector.tsx index bf4ef78..f74c8b8 100644 --- a/components/dashboard/TeachingStyleSelector.tsx +++ b/components/dashboard/TeachingStyleSelector.tsx @@ -1,6 +1,7 @@ 'use client'; import React, { useState } from 'react'; +import Image from 'next/image'; import { motion, AnimatePresence } from 'framer-motion'; import { Sparkles, Check, ChevronDown, ChevronUp, Bot } from 'lucide-react'; import { useTeachingStyle } from '@/hooks/useTeachingStyle'; @@ -12,6 +13,35 @@ interface PersonalityCardProps { onSelect: (id: TeachingStyleId) => void; } +function PersonalityAvatar({ + personality, + size = 'md', +}: { + personality: TeachingStyle; + size?: 'sm' | 'md' | 'lg'; +}) { + const sizeClass = size === 'sm' ? 'w-5 h-5' : size === 'lg' ? 'w-11 h-11' : 'w-10 h-10'; + const imageSize = size === 'sm' ? 20 : size === 'lg' ? 44 : 40; + const iconClass = size === 'sm' ? 'w-3 h-3' : 'w-4 h-4'; + + return ( +
+ {personality.avatar ? ( + + ) : ( +
+ ); +} + function PersonalityCard({ personality, isSelected, onSelect }: PersonalityCardProps) { return ( - {/* Semantic teaching-style avatar */} -
-
+ {/* Info */}
@@ -88,16 +112,16 @@ export function TeachingStyleSelector() {
{/* Section Header */}
-
- +
+

Teaching Style

Shapes how your tutor, hints, and reviews speak to you

- -
@@ -112,12 +136,10 @@ export function TeachingStyleSelector() { whileTap={{ scale: 0.99 }} className={` w-full flex items-center gap-3 rounded-xl border p-3.5 transition-all duration-300 - bg-[#17171b] border-amber-400/40 shadow-md shadow-amber-400/5 + bg-[#17171b] border-cyan-300/25 `} > -
-
+
{personality.name} @@ -147,9 +169,9 @@ export function TeachingStyleSelector() { >
{/* Info banner */} -
- -

+

+ +

Your tutor, hints, code reviews, mock interviews, and recommendations will all speak in this personality's unique voice.

diff --git a/components/dashboard/WeeklyInsights.tsx b/components/dashboard/WeeklyInsights.tsx index efb9d5d..a507337 100644 --- a/components/dashboard/WeeklyInsights.tsx +++ b/components/dashboard/WeeklyInsights.tsx @@ -55,17 +55,17 @@ export function WeeklyInsights() { }, []); return ( -
+
-
- +
+

Weekly Progress Insights

-

+

Powered by FreeModel

@@ -85,7 +85,7 @@ export function WeeklyInsights() { {loading && (
- +

Analyzing submission patterns and rating trajectory...

)} @@ -99,13 +99,13 @@ export function WeeklyInsights() { {report && !loading && (
{/* Executive Summary */} -
+
"{report.summary}"
{/* Strengths */} -
+
Key Strengths @@ -118,8 +118,8 @@ export function WeeklyInsights() {
{/* Focus Areas */} -
-
+
+
Focus Areas
@@ -131,9 +131,9 @@ export function WeeklyInsights() {
{/* Recommendations & Estimated Gain */} -
+
-
+
Recommendations
@@ -144,7 +144,7 @@ export function WeeklyInsights() {
-
+
Potential Rating Gain: +{report.estimatedRatingGain || 45} pts diff --git a/components/editor/EditorWorkspace.tsx b/components/editor/EditorWorkspace.tsx index 602a3b2..022b748 100644 --- a/components/editor/EditorWorkspace.tsx +++ b/components/editor/EditorWorkspace.tsx @@ -18,6 +18,7 @@ import { } from 'lucide-react'; import { ExecuteApiResponse, SubmissionApiResponse, TestCaseResult } from '@/lib/types'; import CodeReviewModal from '@/components/guidance/CodeReviewModal'; +import TutorDrawer from '@/components/guidance/TutorDrawer'; import { useAuth } from '@/context/AuthContext'; interface CodeTemplateItem { @@ -72,8 +73,11 @@ export const EditorWorkspace: React.FC = ({ const [executeResult, setExecuteResult] = useState(null); const [submissionResult, setSubmissionResult] = useState(null); const [isReviewModalOpen, setIsReviewModalOpen] = useState(false); + const [isTutorOpen, setIsTutorOpen] = useState(false); + const [bottomPanelHeight, setBottomPanelHeight] = useState(256); const codeRef = useRef(''); const appliedTemplateRef = useRef<{ language: string; code: string } | null>(null); + const workspaceRef = useRef(null); // Load a template when entering a language, but never overwrite edits when // the parent refreshes problem data and creates a new templates array. @@ -236,8 +240,45 @@ export const EditorWorkspace: React.FC = ({ const currentVerdict = submissionResult?.verdict || executeResult?.verdict; + const handleBottomResizeStart = (event: React.PointerEvent) => { + if (!workspaceRef.current) return; + + const workspace = workspaceRef.current; + event.currentTarget.setPointerCapture(event.pointerId); + document.body.style.cursor = 'row-resize'; + document.body.style.userSelect = 'none'; + + const handlePointerMove = (moveEvent: PointerEvent) => { + const rect = workspace.getBoundingClientRect(); + const nextHeight = rect.bottom - moveEvent.clientY; + const maxHeight = Math.max(160, rect.height - 260); + setBottomPanelHeight(Math.min(maxHeight, Math.max(140, nextHeight))); + }; + + const stopResize = () => { + document.body.style.cursor = ''; + document.body.style.userSelect = ''; + window.removeEventListener('pointermove', handlePointerMove); + window.removeEventListener('pointerup', stopResize); + window.removeEventListener('pointercancel', stopResize); + }; + + window.addEventListener('pointermove', handlePointerMove); + window.addEventListener('pointerup', stopResize); + window.addEventListener('pointercancel', stopResize); + }; + + const handleBottomResizeKeyDown = (event: React.KeyboardEvent) => { + if (!workspaceRef.current || (event.key !== 'ArrowUp' && event.key !== 'ArrowDown')) return; + + event.preventDefault(); + const maxHeight = Math.max(160, workspaceRef.current.getBoundingClientRect().height - 260); + const direction = event.key === 'ArrowUp' ? 1 : -1; + setBottomPanelHeight((current) => Math.min(maxHeight, Math.max(140, current + direction * 16))); + }; + return ( -
+
{/* Top Bar / Toolbar */}
{/* Language Selector */} @@ -309,21 +350,46 @@ export const EditorWorkspace: React.FC = ({
{/* Editor Body */} -
- +
+ { + codeRef.current = val; + setCode(val); + }} + onRun={handleRunCode} + onSubmit={handleSubmitCode} + /> +
+ { - codeRef.current = val; - setCode(val); - }} - onRun={handleRunCode} - onSubmit={handleSubmitCode} + isOpen={isTutorOpen} + onToggle={() => setIsTutorOpen((current) => !current)} />
+
+ {/* Bottom Panel (Test Cases & Results) */} -
+
{/* Panel Tabs Header */}
@@ -606,6 +672,16 @@ export const EditorWorkspace: React.FC = ({
)} + {executeResult.learning && ( +
+ +
+ Revision Deck learned this stuck point.{' '} + Your {executeResult.learning.failureType} on {executeResult.learning.pattern} is due for review now with the failing run details. +
+
+ )} + {executeResult.testResults && executeResult.testResults.length > 0 && (
diff --git a/components/guidance/TutorDrawer.tsx b/components/guidance/TutorDrawer.tsx index 0af69ec..bb78d9a 100644 --- a/components/guidance/TutorDrawer.tsx +++ b/components/guidance/TutorDrawer.tsx @@ -1,7 +1,8 @@ 'use client'; import React, { useState, useRef, useEffect } from 'react'; -import { Bot, X, Send, Sparkles, User, Loader2, MessageSquare, Zap } from 'lucide-react'; +import Image from 'next/image'; +import { Bot, X, Send, Sparkles, User, Loader2, Zap } from 'lucide-react'; import { TEACHING_STYLE_STORAGE_KEY, getTeachingStyle } from '@/lib/teachingStyles'; interface Message { @@ -12,6 +13,7 @@ interface Message { interface TutorDrawerProps { isOpen: boolean; onToggle: () => void; + variant?: 'fixed' | 'side-panel'; problemId?: string; problemTitle: string; problemStatement?: string; @@ -26,9 +28,32 @@ const QUICK_PROMPTS = [ 'Give me a hint without giving solution', ]; +function TutorAvatar({ avatar, name, size = 28 }: { avatar: string; name: string; size?: number }) { + return ( +
+ {avatar ? ( + + ) : ( + + )} +
+ ); +} + export const TutorDrawer: React.FC = ({ isOpen, onToggle, + variant = 'fixed', problemId, problemTitle, problemStatement = '', @@ -39,6 +64,7 @@ export const TutorDrawer: React.FC = ({ const [input, setInput] = useState(''); const [isLoading, setIsLoading] = useState(false); const messagesEndRef = useRef(null); + const isSidePanel = variant === 'side-panel'; // Read personality from localStorage const personality = getTeachingStyle( @@ -123,25 +149,31 @@ export const TutorDrawer: React.FC = ({ type="button" aria-label="Open DSA tutor" onClick={onToggle} - className="fixed bottom-6 right-6 z-40 flex items-center gap-2 px-4 py-3 bg-amber-400 hover:bg-amber-300 text-[#08080a] font-bold rounded-lg shadow-2xl shadow-amber-400/10 transition-all transform hover:scale-105" + className={`z-40 flex items-center gap-2 px-4 py-3 bg-amber-400 hover:bg-amber-300 text-[#08080a] font-bold rounded-lg shadow-2xl shadow-amber-400/10 transition-all transform hover:scale-105 ${ + isSidePanel ? 'absolute bottom-4 right-4' : 'fixed bottom-6 right-6' + }`} > - Socratic Tutor + DSA Tutor )} {/* Drawer Overlay Panel */} {isOpen && ( -
+
{/* Header */}
-
- -
+

- DSA Socratic Tutor + {personality.name} Tutor FreeModel @@ -183,8 +215,8 @@ export const TutorDrawer: React.FC = ({ className={`flex gap-3 ${msg.role === 'user' ? 'justify-end' : 'justify-start'}`} > {msg.role === 'assistant' && ( -
- +
+
)} @@ -208,8 +240,8 @@ export const TutorDrawer: React.FC = ({ {isLoading && (
-
- +
+
diff --git a/components/landing/CoreFeaturesGrid.tsx b/components/landing/CoreFeaturesGrid.tsx index 0e740ca..4a36146 100644 --- a/components/landing/CoreFeaturesGrid.tsx +++ b/components/landing/CoreFeaturesGrid.tsx @@ -20,61 +20,61 @@ export const CoreFeaturesGrid: React.FC = () => { { title: 'Judge0 Execution Engine', desc: 'Secure containerized sandbox executing C++, Python, JavaScript, Java, and Go in milliseconds with detailed verdict output.', - icon: , + icon: , badge: 'Sandboxed Runner', link: '/problems', - color: 'hover:border-amber-400/50 hover:shadow-amber-950/20', + color: 'hover:border-cyan-300/35', }, { title: 'Automated Code Audit', desc: 'Get instant analysis on time/space complexity, edge case vulnerabilities, and refactoring suggestions powered by FreeModel.', - icon: , + icon: , badge: 'FreeModel', link: '/problems', - color: 'hover:border-amber-400/50 hover:shadow-amber-950/20', + color: 'hover:border-violet-300/35', }, { title: '3-Level Progressive Hints', desc: 'Never get stuck again. Unlock hints incrementally: 1) High-level strategy, 2) Algorithmic breakdown, 3) Pseudocode structure.', - icon: , + icon: , badge: 'Zero Spoilers', link: '/problems', - color: 'hover:border-amber-400/50 hover:shadow-amber-950/20', + color: 'hover:border-emerald-300/35', }, { title: 'Codeforces Rated Contests', desc: 'Start an on-demand rated battle, invite friends, or face the AI judge with a focused problem set.', - icon: , + icon: , badge: 'Elo Rating System', link: '/contests', - color: 'hover:border-amber-400/50 hover:shadow-amber-950/20', + color: 'hover:border-sky-300/35', }, { title: 'Recharts Analytics Dashboard', desc: 'Visualize topic mastery with radar charts, track rating progression curves, and maintain your GitHub-style activity heatmaps.', - icon: , + icon: , badge: 'Visual Insights', link: '/dashboard', - color: 'hover:border-amber-400/50 hover:shadow-amber-950/20', + color: 'hover:border-teal-300/35', }, { title: 'Company Specific Prep', desc: 'Curated problem collections tagged by Google, Meta, Amazon, Apple, and Netflix, complete with frequency tags.', - icon: , + icon: , badge: '8 Tech Giants', link: '/company', - color: 'hover:border-rose-500/50 hover:shadow-rose-950/40', + color: 'hover:border-rose-300/35', }, ]; return (
-
- +
+ Complete Competitive Engineering Suite
-

+

Everything You Need to Master DSA

@@ -87,16 +87,16 @@ export const CoreFeaturesGrid: React.FC = () => { {features.map((item, idx) => (

-
+
{item.icon}
@@ -105,7 +105,7 @@ export const CoreFeaturesGrid: React.FC = () => {
-

+

{item.title}

@@ -117,7 +117,7 @@ export const CoreFeaturesGrid: React.FC = () => {

Learn More diff --git a/components/landing/HeroSection.tsx b/components/landing/HeroSection.tsx index 1911356..424dbd9 100644 --- a/components/landing/HeroSection.tsx +++ b/components/landing/HeroSection.tsx @@ -4,14 +4,13 @@ import React from 'react'; import Link from 'next/link'; import { motion } from 'framer-motion'; import { - Sparkles, ArrowRight, Bot, Code2, Building2, Zap, - Cpu, CheckCircle2, + Braces, } from 'lucide-react'; export const HeroSection: React.FC = () => { @@ -20,29 +19,29 @@ export const HeroSection: React.FC = () => { label: 'DSA Problems', value: '600+', sub: 'Arrays to Dynamic Programming', - icon: , - color: 'border-amber-400/30', + icon: , + color: 'border-cyan-300/25', }, { label: 'Tech Companies', value: '8', sub: 'Google, Meta, Amazon, Apple...', - icon: , - color: 'border-amber-400/30', + icon: , + color: 'border-violet-300/25', }, { label: 'Judge0 Execution', value: 'CE', sub: 'Isolated Sandbox Code Runner', - icon: , - color: 'border-amber-400/30', + icon: , + color: 'border-emerald-300/25', }, { label: 'Guided Practice', - value: 'FreeModel', - sub: 'Instant Tutor & Hints', - icon: , - color: 'border-amber-400/30', + value: 'Gemini + FreeModel', + sub: 'Gemini first, FreeModel API key fallback', + icon: , + color: 'border-sky-300/25', }, ]; @@ -50,32 +49,32 @@ export const HeroSection: React.FC = () => {
{/* Feature Badge */} - + Focused Competitive Coding & Interview Platform - + {/* Gradient Headline */} Master Coding & Crack Tech Interviews with{' '} - + CodeForge {/* Subheading */} { {/* CTA Action Buttons */} Explore Problems @@ -100,33 +99,33 @@ export const HeroSection: React.FC = () => { - + Try Mock Interview {/* Stats Ticker Cards */} {stats.map((item) => (
- {item.icon} + {item.icon}
-
{item.value}
+
{item.value}
{item.label}
{item.sub}
diff --git a/components/problems/ProblemVisualizer.tsx b/components/problems/ProblemVisualizer.tsx index 77d3ad1..ab2cf7b 100644 --- a/components/problems/ProblemVisualizer.tsx +++ b/components/problems/ProblemVisualizer.tsx @@ -45,6 +45,7 @@ interface ProblemVisualizerProps { problemTitle: string; topicTags?: string | string[]; verified?: boolean; + embedded?: boolean; } const patternNames: Record = { @@ -95,10 +96,11 @@ function sampleValues(slug: string, fallback: number[]) { 'non-overlapping-intervals': [1, 2, 1, 3, 2, 3], 'gas-station': [1, 2, 3, 4, 5], 'task-scheduler': [3, 3, 2, 1, 1, 1], - 'longest-increasing-subsequence': [10, 9, 2, 5, 3, 7, 18], + 'longest-increasing-subsequence': [10, 9, 2, 5, 3, 7, 101, 18], 'merge-k-sorted-lists': [1, 1, 2, 3, 4, 4], 'group-anagrams': [3, 3, 3, 2, 2, 1], 'valid-anagram': [1, 3, 1, 7, 1, 13], + 'sliding-window-maximum': [1, 3, -1, -3, 5, 3, 6, 7], }; return samples[slug] || fallback; } @@ -166,6 +168,41 @@ function frame( return { visualType, codeLine, commentary, state: state.map(([label, value]) => ({ label, value })), ...extra }; } +function currentIndexForStep(length: number, step: number, totalSteps: number) { + const maxIndex = Math.max(0, length - 1); + const progress = totalSteps <= 1 ? 1 : step / (totalSteps - 1); + return Math.min(maxIndex, Math.floor(progress * maxIndex)); +} + +function lowerBound(values: number[], target: number) { + let left = 0; + let right = values.length; + while (left < right) { + const mid = Math.floor((left + right) / 2); + if (values[mid] < target) left = mid + 1; + else right = mid; + } + return left; +} + +function lisState(values: number[], currentIndex: number, includeCurrent: boolean): [string, string][] { + const tails: number[] = []; + const end = includeCurrent ? currentIndex : currentIndex - 1; + for (let index = 0; index <= end; index += 1) { + const value = values[index]; + const position = lowerBound(tails, value); + tails[position] = value; + } + + const currentValue = values[currentIndex]; + const position = lowerBound(tails, currentValue); + return [ + ['current', `${currentIndex}:${currentValue}`], + ['position', String(position)], + ['tails', `[${tails.join(',')}]`], + ]; +} + function scenarioData(type: VisualType, slug: string, base: number[], step: number, totalSteps = 8): Partial { let hash = 0; for (const char of slug) hash = (hash * 31 + char.charCodeAt(0)) >>> 0; @@ -234,8 +271,11 @@ function scenarioData(type: VisualType, slug: string, base: number[], step: numb } if (type === 'bars') { - const bars = values.slice(0, 12).map((value) => Math.max(1, Math.abs(value))); - return { bars, active }; + const bars = values.slice(0, 12); + const barActive = slug === 'longest-increasing-subsequence' + ? [currentIndexForStep(bars.length, step, totalSteps)] + : active; + return { bars, active: barActive }; } const bits = ((hash >>> 0).toString(2).padStart(8, '0').slice(-8)); @@ -306,6 +346,10 @@ function buildScenarioFrames(scenario: ProblemVisualizerScenario, slug: string, const mode = index % 2 === 0 ? 'inspect' : 'apply'; const payload = scenarioData(scenario.visualType, slug, values, index, total); const payloadSummary = describePayload(scenario.visualType, payload); + const state = visualState(scenario.visualType, payload, index); + const semanticState = slug === 'longest-increasing-subsequence' + ? lisState(payload.bars || values, payload.active?.[0] ?? 0, mode === 'apply') + : state; const frameCommentary = mode === 'inspect' ? `${commentary} The frame highlights ${payloadSummary}.` : `${phase} is applied to ${payloadSummary}, keeping the ${slug.replaceAll('-', ' ')} invariant visible.`; @@ -313,7 +357,7 @@ function buildScenarioFrames(scenario: ProblemVisualizerScenario, slug: string, scenario.visualType, Math.min(sourceIndex + 1 + (mode === 'apply' ? 1 : 0), 5), frameCommentary, - [['phase', `${mode}: ${phase}`], ['step', `${index + 1} / ${total}`], ['focus', phase], ...visualState(scenario.visualType, payload, index)], + [['phase', `${mode}: ${phase}`], ['step', `${index + 1} / ${total}`], ['focus', phase], ...semanticState], payload, )); } @@ -499,7 +543,7 @@ function stateValue(frameItem: LessonFrame | undefined, label: string) { return frameItem?.state.find((item) => item.label === label)?.value; } -export const ProblemVisualizer: React.FC = ({ problemId, problemTitle, topicTags, verified = false }) => { +export const ProblemVisualizer: React.FC = ({ problemId, problemTitle, topicTags, verified = false, embedded = false }) => { const [config, setConfig] = useState(null); const [step, setStep] = useState(0); const [playing, setPlaying] = useState(false); @@ -526,6 +570,7 @@ export const ProblemVisualizer: React.FC = ({ problemId, const currentPhase = stateValue(current, 'phase') || `step ${boundedStep + 1}`; const frameKey = `${problemId}:${lessonPath}:${boundedStep}:${currentPhase}:${current.codeLine}`; const progress = (boundedStep / Math.max(frames.length - 1, 1)) * 100; + const shellGridClass = embedded ? 'grid min-h-[720px]' : 'grid lg:grid-cols-[minmax(0,1fr)_320px] min-h-[720px]'; useEffect(() => { if (!playing) return; @@ -605,7 +650,7 @@ export const ProblemVisualizer: React.FC = ({ problemId, return (
-
+
@@ -698,7 +743,7 @@ export const ProblemVisualizer: React.FC = ({ problemId,
-
+
@@ -716,7 +761,7 @@ export const ProblemVisualizer: React.FC = ({ problemId,
{/* Tutor sidebar */} -
diff --git a/components/problems/VisualizerScene.tsx b/components/problems/VisualizerScene.tsx index b1cb777..5e1ad8e 100644 --- a/components/problems/VisualizerScene.tsx +++ b/components/problems/VisualizerScene.tsx @@ -19,6 +19,12 @@ export interface VisualizerSceneFrame { type SceneProps = { frame: VisualizerSceneFrame; step: number; + markerIds?: MarkerIds; +}; + +type MarkerIds = { + arrow: string; + activeArrow: string; }; export const SCENE_THEME = { @@ -60,17 +66,19 @@ const amber = SCENE_THEME.visited.stroke; const ease = [0.22, 1, 0.36, 1] as const; const cellTransition = { duration: 0.42, ease }; -function SceneFrame({ children }: { children: React.ReactNode }) { +function SceneFrame({ children, markerIds }: { children: React.ReactNode; markerIds?: MarkerIds }) { return ( - - - - - - - - + {markerIds && ( + + + + + + + + + )} {children} @@ -176,15 +184,17 @@ function StackScene({ frame }: SceneProps) { ); } -function NodeScene({ frame }: SceneProps) { +function NodeScene({ frame, markerIds }: SceneProps) { const nodes = frame.nodes || []; const active = new Set(frame.active || []); const gap = Math.min(104, 560 / Math.max(nodes.length, 1)); const startX = 340 - ((nodes.length - 1) * gap) / 2; + const arrowId = markerIds?.arrow || 'scene-arrow'; + const activeArrowId = markerIds?.activeArrow || 'scene-arrow-active'; return ( - + - {nodes.slice(0, -1).map((_, index) => )} + {nodes.slice(0, -1).map((_, index) => )} {nodes.map((node, index) => { const x = startX + index * gap; const isActive = active.has(index); @@ -201,18 +211,34 @@ function NodeScene({ frame }: SceneProps) { ); } -function GraphScene({ frame }: SceneProps) { +function graphPositions(count: number) { + const fixed = [[150, 150], [310, 78], [310, 222], [510, 78], [510, 222]]; + if (count <= fixed.length) return fixed.slice(0, count); + + const radius = 118; + return Array.from({ length: count }, (_, index) => { + const angle = -Math.PI / 2 + (index / count) * Math.PI * 2; + return [ + 340 + Math.cos(angle) * radius, + 170 + Math.sin(angle) * radius, + ]; + }); +} + +function GraphScene({ frame, markerIds }: SceneProps) { const nodes = frame.nodes || []; const active = new Set(frame.active || []); - const positions = nodes.map((_, index) => [[150, 150], [310, 78], [310, 222], [510, 78], [510, 222]][index] || [340, 150]); + const positions = graphPositions(nodes.length); + const arrowId = markerIds?.arrow || 'scene-arrow'; + const activeArrowId = markerIds?.activeArrow || 'scene-arrow-active'; return ( - + {(frame.edges || []).map(([from, to], index) => { const [x1, y1] = positions[from] || positions[0]; const [x2, y2] = positions[to] || positions[0]; const edgeActive = active.has(from) && (active.has(to) || index < active.size); - return ; + return ; })} {nodes.map((node, index) => { const [x, y] = positions[index]; @@ -233,24 +259,37 @@ function GraphScene({ frame }: SceneProps) { function BarsScene({ frame }: SceneProps) { const bars = frame.bars || []; const active = new Set(frame.active || []); - const width = Math.min(54, 500 / Math.max(bars.length, 1)); + const width = Math.min(54, 520 / Math.max(bars.length, 1)); const startX = 340 - (bars.length * width) / 2; - const max = Math.max(...bars, 1); + const hasNegative = bars.some((value) => value < 0); + const positiveMax = Math.max(...bars.filter((value) => value > 0), 1); + const negativeMax = Math.max(...bars.filter((value) => value < 0).map((value) => Math.abs(value)), 1); + const baseline = hasNegative ? 218 : 268; + const positivePlotHeight = hasNegative ? 128 : 168; + const negativePlotHeight = hasNegative ? 76 : 0; + const indexY = hasNegative ? baseline + negativePlotHeight + 28 : baseline + 22; return ( - + + {bars.map((value, index) => { - const height = Math.max((value / max) * 170, 10); + const valueMagnitude = Math.abs(value); + const max = value < 0 ? negativeMax : positiveMax; + const scaled = valueMagnitude === 0 ? 0 : Math.sqrt(valueMagnitude / max); + const height = valueMagnitude === 0 ? 4 : Math.max(scaled * (value < 0 ? negativePlotHeight : positivePlotHeight), 12); const x = startX + index * width + 4; - const y = 238 - height; + const y = value < 0 ? baseline + 4 : baseline - height; const isActive = active.has(index); const boxWidth = width - 8; + const labelSize = String(value).length > 3 ? 10 : 12; + const valueLabelY = value < 0 ? y + height + 14 : Math.max(34, y - 8); return ( - - - {index} + + + {value} + {index} ); })} @@ -266,6 +305,8 @@ function BitsScene({ frame }: SceneProps) { const total = cellWidth * bits.length; const startX = (680 - total) / 2; const active = new Set(frame.active || []); + const bitFontSize = Math.max(8, Math.min(24, boxSize * 0.68)); + const indexFontSize = bits.length > 16 ? 7 : 11; return ( @@ -277,8 +318,8 @@ function BitsScene({ frame }: SceneProps) { - {bit} - + {bit} + ); })} @@ -289,13 +330,15 @@ function BitsScene({ frame }: SceneProps) { export function VisualizerScene({ frame, step }: SceneProps) { const key = `${frame.visualType}-${step}`; + const reactId = React.useId().replace(/[^a-zA-Z0-9_-]/g, ''); + const markerIds = { arrow: `scene-arrow-${reactId}`, activeArrow: `scene-arrow-active-${reactId}` }; return ( {frame.visualType === 'array' && } {frame.visualType === 'matrix' && } {frame.visualType === 'stack' && } - {frame.visualType === 'nodes' && } - {frame.visualType === 'graph' && } + {frame.visualType === 'nodes' && } + {frame.visualType === 'graph' && } {frame.visualType === 'bars' && } {frame.visualType === 'bits' && } diff --git a/components/problems/VisualizerTutor.tsx b/components/problems/VisualizerTutor.tsx index ffe90d0..095994c 100644 --- a/components/problems/VisualizerTutor.tsx +++ b/components/problems/VisualizerTutor.tsx @@ -1,6 +1,7 @@ 'use client'; import React, { useState, useRef, useEffect, useMemo } from 'react'; +import Image from 'next/image'; import { Bot, User, Send, Sparkles, Loader2 } from 'lucide-react'; import { getTeachingStyle, TEACHING_STYLE_STORAGE_KEY } from '@/lib/teachingStyles'; import type { LessonFrame } from './ProblemVisualizer'; @@ -18,6 +19,28 @@ interface VisualizerTutorProps { frameKey: string; } +function GuideAvatar({ avatar, name, size = 32 }: { avatar: string; name: string; size?: number }) { + return ( +
+ {avatar ? ( + + ) : ( + + )} +
+ ); +} + export function VisualizerTutor({ currentFrame, problemTitle, step, totalSteps, frameKey }: VisualizerTutorProps) { const [messages, setMessages] = useState([]); const [input, setInput] = useState(''); @@ -121,9 +144,7 @@ export function VisualizerTutor({ currentFrame, problemTitle, step, totalSteps, return (
-
-
+
{personality.name} Guide
@@ -163,7 +184,10 @@ export function VisualizerTutor({ currentFrame, problemTitle, step, totalSteps, : 'bg-amber-500/10 text-amber-400 border border-amber-400/20' }`} > - {msg.role === 'user' ? :
{ + if (verdict === 'Accepted' || !failedTestCase) return null; + + const revision = buildRevisionLearning(verdict, problem.topicTags, failedTestCase); + const snapshot = snapshotForRevision(failedTestCase); + const learnedCard = await prisma.revisionCard.upsert({ + where: { + userId_problemId: { + userId, + problemId: problem.id, + }, + }, + create: { + userId, + problemId: problem.id, + pattern: revision.pattern, + keyTakeaway: revision.keyTakeaway, + interval: 1, + repetitions: 0, + dueDate: new Date(), + failureCount: 1, + lastFailureType: revision.failureType, + ...snapshot, + learnedAt: new Date(), + }, + update: { + pattern: revision.pattern, + keyTakeaway: revision.keyTakeaway, + interval: 1, + repetitions: 0, + dueDate: new Date(), + failureCount: { increment: 1 }, + lastFailureType: revision.failureType, + ...snapshot, + learnedAt: new Date(), + }, + }); + + return { + failureCount: learnedCard.failureCount, + failureType: revision.failureType, + pattern: revision.pattern, + }; +} diff --git a/lib/revisionSchedule.ts b/lib/revisionSchedule.ts new file mode 100644 index 0000000..d5d261d --- /dev/null +++ b/lib/revisionSchedule.ts @@ -0,0 +1,15 @@ +export type RevisionQuality = 'HARD' | 'GOOD' | 'EASY'; + +export function isRevisionQuality(value: unknown): value is RevisionQuality { + return value === 'HARD' || value === 'GOOD' || value === 'EASY'; +} + +export function nextRevisionInterval(currentInterval: number, quality: RevisionQuality): number { + const safeInterval = Number.isFinite(currentInterval) && currentInterval > 0 + ? currentInterval + : 1; + + if (quality === 'HARD') return 1; + if (quality === 'GOOD') return Math.max(2, Math.round(safeInterval * 2)); + return Math.max(3, Math.round(safeInterval * 3.5)); +} diff --git a/lib/teachingStyles.ts b/lib/teachingStyles.ts index f4fd81c..f9b5c3f 100644 --- a/lib/teachingStyles.ts +++ b/lib/teachingStyles.ts @@ -42,7 +42,7 @@ export const TEACHING_STYLES: Record = { title: 'The Questioner', era: '469–399 BC · Athens', emoji: '', - avatar: '', + avatar: '/teaching-styles/socrates.jpg', shortDesc: 'Never gives answers — only deeper questions to guide your thinking.', color: 'from-amber-900/40 to-yellow-900/20', borderColor: 'border-amber-600/40', @@ -100,7 +100,7 @@ Instructions: title: 'The Stoic Emperor', era: '121–180 AD · Rome', emoji: '', - avatar: '', + avatar: '/teaching-styles/marcus-aurelius.jpg', shortDesc: 'Stoic discipline, calm under pressure, Meditations-style wisdom.', color: 'from-slate-800/50 to-gray-900/30', borderColor: 'border-slate-500/40', @@ -158,7 +158,7 @@ Instructions: title: 'The Explainer', era: '1918–1988 · New York', emoji: '', - avatar: '', + avatar: '/teaching-styles/feynman.jpg', shortDesc: 'First-principles thinking, playful analogies, "explain like I\'m 5".', color: 'bg-amber-400/10', borderColor: 'border-amber-400/30', @@ -217,7 +217,7 @@ Instructions: title: 'The Strategist', era: '544–496 BC · China', emoji: '', - avatar: '', + avatar: '/teaching-styles/sun-tzu.jpg', shortDesc: 'Strategic warfare metaphors — know your enemy (the bug), conserve resources.', color: 'from-red-900/40 to-orange-900/20', borderColor: 'border-red-600/40', @@ -275,7 +275,7 @@ Instructions: title: 'The Visionary', era: '1879–1955 · Ulm', emoji: '', - avatar: '', + avatar: '/teaching-styles/einstein.jpg', shortDesc: 'Thought experiments, elegant simplicity, imagination over memorization.', color: 'bg-amber-400/10', borderColor: 'border-amber-400/30', @@ -333,7 +333,7 @@ Instructions: title: 'The First Programmer', era: '1815–1852 · London', emoji: '', - avatar: '', + avatar: '/teaching-styles/ada-lovelace.png', shortDesc: 'Mathematical elegance meets poetic intuition — the original visionary coder.', color: 'from-pink-900/40 to-rose-900/20', borderColor: 'border-pink-500/40', @@ -391,7 +391,7 @@ Instructions: title: 'The Inventor', era: '1856–1943 · Serbia', emoji: '', - avatar: '', + avatar: '/teaching-styles/tesla.jpg', shortDesc: 'Visionary systems thinking, obsessive precision, seeing the full architecture first.', color: 'bg-amber-400/10', borderColor: 'border-amber-400/30', @@ -450,7 +450,7 @@ Instructions: title: 'The Detective', era: '1887 · London', emoji: '', - avatar: '', + avatar: '/teaching-styles/sherlock.jpg', shortDesc: 'Deductive reasoning, clue-by-clue analysis, "Elementary, my dear Watson".', color: 'from-stone-800/50 to-zinc-900/30', borderColor: 'border-stone-500/40', @@ -509,7 +509,7 @@ Instructions: title: 'The Jedi Master', era: '896 BBY · Dagobah', emoji: '', - avatar: '', + avatar: '/teaching-styles/yoda.png', shortDesc: 'Inverted wisdom, patience, patience, patience. "Debug you must, before submit you do."', color: 'from-green-900/40 to-emerald-900/20', borderColor: 'border-green-600/40', @@ -571,7 +571,7 @@ Instructions: title: 'The Perfectionist', era: '1966–Present · Scotland', emoji: '', - avatar: '', + avatar: '/teaching-styles/gordon-ramsay.jpg', shortDesc: 'Brutally honest, outrageously high standards, "This code is RAW!" energy.', color: 'from-orange-900/40 to-red-900/20', borderColor: 'border-orange-500/40', diff --git a/lib/types.ts b/lib/types.ts index 368fc64..a99f82b 100644 --- a/lib/types.ts +++ b/lib/types.ts @@ -38,6 +38,11 @@ export interface ExecuteApiResponse { stderr: string; executionTime: number; memory: number; + learning?: { + failureCount: number; + failureType: ExecutionVerdict; + pattern: string; + } | null; testResults?: TestCaseResult[]; } @@ -116,3 +121,49 @@ export interface Submission { slug: string; }; } + +export interface RevisionProblemData { + id: string; + title: string; + slug: string; + difficulty: string; + topicTags: string; + statement: string; + editorial: string; +} + +export interface RevisionCardDTO { + id: string; + problemId: string; + pattern: string; + keyTakeaway: string; + timeComplexity: string; + spaceComplexity: string; + interval: number; + repetitions: number; + dueDate: string; + lastReviewedAt: string | null; + failureCount: number; + lastFailureType: string | null; + lastError: string | null; + lastFailedInput: string | null; + lastExpectedOutput: string | null; + lastActualOutput: string | null; + learnedAt: string | null; + createdAt: string; + problem: RevisionProblemData; +} + +export interface RevisionDeckStats { + totalCards: number; + dueTodayCount: number; + masteredCount: number; + learnedMistakeCount: number; + nextDueDate: string | null; +} + +export interface RevisionDeckResponse { + cards: RevisionCardDTO[]; + dueCards: RevisionCardDTO[]; + stats: RevisionDeckStats; +} diff --git a/package-lock.json b/package-lock.json index bd23fed..f69ba5d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,6 +8,8 @@ "name": "codeforge", "version": "0.1.0", "dependencies": { + "@capacitor/android": "^8.5.0", + "@capacitor/core": "^8.5.0", "@monaco-editor/react": "^4.6.0", "@prisma/client": "^5.22.0", "clsx": "^2.1.1", @@ -21,6 +23,7 @@ "zustand": "^5.0.1" }, "devDependencies": { + "@capacitor/cli": "^8.5.0", "@types/node": "^20.17.6", "@types/react": "^18.3.12", "@types/react-dom": "^18.3.1", @@ -316,6 +319,68 @@ "node": ">=6.9.0" } }, + "node_modules/@capacitor/android": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/@capacitor/android/-/android-8.5.0.tgz", + "integrity": "sha512-Rb3prJeQiTp0pQhSSOReJuG9VgibOGMG4ECs+UhMwr6TCCHZ3NCZO811bDA0HxD0xrT/gCrJAsY5yfEATu84JQ==", + "license": "MIT", + "peerDependencies": { + "@capacitor/core": "^8.5.0" + } + }, + "node_modules/@capacitor/cli": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/@capacitor/cli/-/cli-8.5.0.tgz", + "integrity": "sha512-rLdzMUM5QV4WITcqoWv04p32i14BXgUH2diqEH6MWQlWaJfiyNrvOyt/+d5vHAfOxOm1klBu637VDEobctlwBA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ionic/cli-framework-output": "^2.2.8", + "@ionic/utils-subprocess": "^3.0.1", + "@ionic/utils-terminal": "^2.3.5", + "commander": "^12.1.0", + "debug": "^4.4.0", + "env-paths": "^2.2.0", + "fs-extra": "^11.2.0", + "kleur": "^4.1.5", + "native-run": "^2.0.3", + "open": "^8.4.0", + "plist": "^3.1.0", + "prompts": "^2.4.2", + "rimraf": "^6.0.1", + "semver": "^7.6.3", + "tar": "^7.5.3", + "tslib": "^2.8.1", + "xcode": "^3.0.1", + "xml2js": "^0.6.2" + }, + "bin": { + "cap": "bin/capacitor", + "capacitor": "bin/capacitor" + }, + "engines": { + "node": ">=22.0.0" + } + }, + "node_modules/@capacitor/cli/node_modules/commander": { + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz", + "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@capacitor/core": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/@capacitor/core/-/core-8.5.0.tgz", + "integrity": "sha512-Ca4krtqH1hothjtBIwf2J2TW7IhYq1ujp8QeItTiJohNsqij8ja2DYYH3DU0l8RmxCWaBAFTGA2TgOgOMCSNsQ==", + "license": "MIT", + "dependencies": { + "tslib": "^2.1.0" + } + }, "node_modules/@emnapi/core": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.10.0.tgz", @@ -1548,6 +1613,167 @@ "url": "https://opencollective.com/libvips" } }, + "node_modules/@ionic/cli-framework-output": { + "version": "2.2.8", + "resolved": "https://registry.npmjs.org/@ionic/cli-framework-output/-/cli-framework-output-2.2.8.tgz", + "integrity": "sha512-TshtaFQsovB4NWRBydbNFawql6yul7d5bMiW1WYYf17hd99V6xdDdk3vtF51bw6sLkxON3bDQpWsnUc9/hVo3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ionic/utils-terminal": "2.3.5", + "debug": "^4.0.0", + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@ionic/utils-array": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@ionic/utils-array/-/utils-array-2.1.6.tgz", + "integrity": "sha512-0JZ1Zkp3wURnv8oq6Qt7fMPo5MpjbLoUoa9Bu2Q4PJuSDWM8H8gwF3dQO7VTeUj3/0o1IB1wGkFWZZYgUXZMUg==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.0.0", + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@ionic/utils-fs": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/@ionic/utils-fs/-/utils-fs-3.1.7.tgz", + "integrity": "sha512-2EknRvMVfhnyhL1VhFkSLa5gOcycK91VnjfrTB0kbqkTFCOXyXgVLI5whzq7SLrgD9t1aqos3lMMQyVzaQ5gVA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/fs-extra": "^8.0.0", + "debug": "^4.0.0", + "fs-extra": "^9.0.0", + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@ionic/utils-fs/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@ionic/utils-object": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@ionic/utils-object/-/utils-object-2.1.6.tgz", + "integrity": "sha512-vCl7sl6JjBHFw99CuAqHljYJpcE88YaH2ZW4ELiC/Zwxl5tiwn4kbdP/gxi2OT3MQb1vOtgAmSNRtusvgxI8ww==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.0.0", + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@ionic/utils-process": { + "version": "2.1.12", + "resolved": "https://registry.npmjs.org/@ionic/utils-process/-/utils-process-2.1.12.tgz", + "integrity": "sha512-Jqkgyq7zBs/v/J3YvKtQQiIcxfJyplPgECMWgdO0E1fKrrH8EF0QGHNJ9mJCn6PYe2UtHNS8JJf5G21e09DfYg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ionic/utils-object": "2.1.6", + "@ionic/utils-terminal": "2.3.5", + "debug": "^4.0.0", + "signal-exit": "^3.0.3", + "tree-kill": "^1.2.2", + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@ionic/utils-stream": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/@ionic/utils-stream/-/utils-stream-3.1.7.tgz", + "integrity": "sha512-eSELBE7NWNFIHTbTC2jiMvh1ABKGIpGdUIvARsNPMNQhxJB3wpwdiVnoBoTYp+5a6UUIww4Kpg7v6S7iTctH1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.0.0", + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@ionic/utils-subprocess": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@ionic/utils-subprocess/-/utils-subprocess-3.0.1.tgz", + "integrity": "sha512-cT4te3AQQPeIM9WCwIg8ohroJ8TjsYaMb2G4ZEgv9YzeDqHZ4JpeIKqG2SoaA3GmVQ3sOfhPM6Ox9sxphV/d1A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ionic/utils-array": "2.1.6", + "@ionic/utils-fs": "3.1.7", + "@ionic/utils-process": "2.1.12", + "@ionic/utils-stream": "3.1.7", + "@ionic/utils-terminal": "2.3.5", + "cross-spawn": "^7.0.3", + "debug": "^4.0.0", + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@ionic/utils-terminal": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@ionic/utils-terminal/-/utils-terminal-2.3.5.tgz", + "integrity": "sha512-3cKScz9Jx2/Pr9ijj1OzGlBDfcmx7OMVBt4+P1uRR0SSW4cm1/y3Mo4OY3lfkuaYifMNBW8Wz6lQHbs1bihr7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/slice-ansi": "^4.0.0", + "debug": "^4.0.0", + "signal-exit": "^3.0.3", + "slice-ansi": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "tslib": "^2.0.1", + "untildify": "^4.0.0", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@isaacs/fs-minipass": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", + "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.4" + }, + "engines": { + "node": ">=18.0.0" + } + }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.13", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", @@ -2042,6 +2268,16 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/fs-extra": { + "version": "8.1.5", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-8.1.5.tgz", + "integrity": "sha512-0dzKcwO+S8s2kuF5Z9oUWatQJj5Uq/iqphEtE3GQJVRRYm/tD1LglU2UnXi2A8jLq5umkGouOXOR9y0n613ZwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/json-schema": { "version": "7.0.15", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", @@ -2094,6 +2330,13 @@ "@types/react": "^18.0.0" } }, + "node_modules/@types/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-+OpjSaq85gvlZAYINyzKpLeiFkSC4EsC6IIiT6v6TLSU5k5U83fHGj9Lel8oKEXM0HqgrMVCjXPDPVICtxF7EQ==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/trusted-types": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", @@ -2688,6 +2931,16 @@ "win32" ] }, + "node_modules/@xmldom/xmldom": { + "version": "0.9.10", + "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.9.10.tgz", + "integrity": "sha512-A9gOqLdi6cV4ibazAjcQufGj0B1y/vDqYrcuP6d/6x8P27gRS8643Dj9o1dEKtB6O7fwxb2FgBmJS2mX7gpvdw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.6" + } + }, "node_modules/acorn": { "version": "8.18.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.18.0.tgz", @@ -2728,6 +2981,16 @@ "url": "https://github.com/sponsors/epoberezkin" } }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -2956,6 +3219,16 @@ "dev": true, "license": "MIT" }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/async-function": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", @@ -2966,6 +3239,16 @@ "node": ">= 0.4" } }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 4.0.0" + } + }, "node_modules/autoprefixer": { "version": "10.5.4", "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.5.4.tgz", @@ -3049,6 +3332,27 @@ "node": "18 || 20 || >=22" } }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, "node_modules/baseline-browser-mapping": { "version": "2.11.1", "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.11.1.tgz", @@ -3061,6 +3365,16 @@ "node": ">=6.0.0" } }, + "node_modules/big-integer": { + "version": "1.6.52", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.52.tgz", + "integrity": "sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==", + "dev": true, + "license": "Unlicense", + "engines": { + "node": ">=0.6" + } + }, "node_modules/binary-extensions": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", @@ -3074,6 +3388,29 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/bplist-creator": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.1.0.tgz", + "integrity": "sha512-sXaHZicyEEmY86WyueLTQesbeoH/mquvarJaQNbjuOQO+7gbFcDEWqKmcWA4cOTLzFlfgvkiVxolk1k5bBIpmg==", + "dev": true, + "license": "MIT", + "dependencies": { + "stream-buffers": "2.2.x" + } + }, + "node_modules/bplist-parser": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.3.2.tgz", + "integrity": "sha512-apC2+fspHGI3mMKj+dGevkGo/tCqVB8jMb6i+OX+E29p0Iposz07fABkRIfVUPNd5A5VbuOz1bZbnmkKLYF+wQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "big-integer": "1.6.x" + }, + "engines": { + "node": ">= 5.10.0" + } + }, "node_modules/brace-expansion": { "version": "5.0.9", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.9.tgz", @@ -3134,6 +3471,16 @@ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, "node_modules/call-bind": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.9.tgz", @@ -3279,6 +3626,16 @@ "node": ">= 6" } }, + "node_modules/chownr": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", + "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, "node_modules/client-only": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", @@ -3596,6 +3953,16 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/define-properties": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", @@ -3693,6 +4060,19 @@ "dev": true, "license": "ISC" }, + "node_modules/elementtree": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/elementtree/-/elementtree-0.1.7.tgz", + "integrity": "sha512-wkgGT6kugeQk/P6VZ/f4T+4HB41BVgNBq5CDIZVbQ02nvTVqAiVTbskxxu3eA/X96lMlfYOwnLQpN2v5E1zDEg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "sax": "1.1.4" + }, + "engines": { + "node": ">= 0.4.0" + } + }, "node_modules/emoji-regex": { "version": "9.2.2", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", @@ -3700,6 +4080,16 @@ "dev": true, "license": "MIT" }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/es-abstract": { "version": "1.24.2", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.2.tgz", @@ -4530,6 +4920,16 @@ "reusify": "^1.0.4" } }, + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "pend": "~1.2.0" + } + }, "node_modules/file-entry-cache": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", @@ -4651,6 +5051,21 @@ } } }, + "node_modules/fs-extra": { + "version": "11.4.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.4.0.tgz", + "integrity": "sha512-EQsFzMUJkCKGr1ePqlYADkIUmHW1s3ZXr5Yqy6wbGrfUCphpl2maM/kyOIRA2HpP3AaFQTZXD4ldjek+nccddA==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, "node_modules/fsevents": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", @@ -4799,6 +5214,24 @@ "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" } }, + "node_modules/glob": { + "version": "13.0.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.6.tgz", + "integrity": "sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "minimatch": "^10.2.2", + "minipass": "^7.1.3", + "path-scurry": "^2.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/glob-parent": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", @@ -4855,6 +5288,13 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true, + "license": "ISC" + }, "node_modules/has-bigints": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", @@ -5003,6 +5443,23 @@ "node": ">=0.8.19" } }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/ini": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.3.tgz", + "integrity": "sha512-X7rqawQBvfdjS10YU1y1YVreA3SsLrW9dX2CewP2EbBJM4ypVNLDkO5y04gejPwKIY9lR+7r9gn3rFPt/kmWFg==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, "node_modules/internal-slot": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", @@ -5185,6 +5642,22 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true, + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-document.all": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-document.all/-/is-document.all-1.0.0.tgz", @@ -5227,6 +5700,16 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/is-generator-function": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.2.tgz", @@ -5458,6 +5941,19 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/isarray": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", @@ -5576,6 +6072,19 @@ "node": ">=6" } }, + "node_modules/jsonfile": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.1.tgz", + "integrity": "sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, "node_modules/jsx-ast-utils": { "version": "3.3.5", "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", @@ -5602,6 +6111,16 @@ "json-buffer": "3.0.1" } }, + "node_modules/kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/language-subtag-registry": { "version": "0.3.23", "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz", @@ -5789,6 +6308,29 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/minipass": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz", + "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/minizlib": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.1.0.tgz", + "integrity": "sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "minipass": "^7.1.2" + }, + "engines": { + "node": ">= 18" + } + }, "node_modules/monaco-editor": { "version": "0.56.0", "resolved": "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.56.0.tgz", @@ -5868,6 +6410,32 @@ "url": "https://opencollective.com/napi-postinstall" } }, + "node_modules/native-run": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/native-run/-/native-run-2.0.3.tgz", + "integrity": "sha512-U1PllBuzW5d1gfan+88L+Hky2eZx+9gv3Pf6rNBxKbORxi7boHzqiA6QFGSnqMem4j0A9tZ08NMIs5+0m/VS1Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ionic/utils-fs": "^3.1.7", + "@ionic/utils-terminal": "^2.3.4", + "bplist-parser": "^0.3.2", + "debug": "^4.3.4", + "elementtree": "^0.1.7", + "ini": "^4.1.1", + "plist": "^3.1.0", + "split2": "^4.2.0", + "through2": "^4.0.2", + "tslib": "^2.6.2", + "yauzl": "^2.10.0" + }, + "bin": { + "native-run": "bin/native-run" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -6109,6 +6677,24 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/optionator": { "version": "0.9.4", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", @@ -6178,6 +6764,13 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "dev": true, + "license": "BlueOak-1.0.0" + }, "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -6218,6 +6811,40 @@ "dev": true, "license": "MIT" }, + "node_modules/path-scurry": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.2.tgz", + "integrity": "sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "11.5.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.5.2.tgz", + "integrity": "sha512-4pfM1Ff0x50o0tQwb5ucw/RzNyD0/YJME6IVcStalZuMWxdt3sR3huStTtxz4PUmvZfRguvDejasvQ2kifR11g==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "dev": true, + "license": "MIT" + }, "node_modules/picocolors": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", @@ -6257,6 +6884,21 @@ "node": ">= 6" } }, + "node_modules/plist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/plist/-/plist-3.1.1.tgz", + "integrity": "sha512-ZIfcLJC+7E7FBFnDxm9MPmt7D+DidyQ26lewieO75AdhA2ayMtsJSES0iWzqJQbcVRSrTufQoy0DR94xHue0oA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@xmldom/xmldom": "^0.9.10", + "base64-js": "^1.5.1", + "xmlbuilder": "^15.1.1" + }, + "engines": { + "node": ">=10.4.0" + } + }, "node_modules/possible-typed-array-names": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", @@ -6459,6 +7101,30 @@ "fsevents": "2.3.3" } }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/prompts/node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/prop-types": { "version": "15.8.1", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", @@ -6579,6 +7245,21 @@ "pify": "^2.3.0" } }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", @@ -6722,6 +7403,26 @@ "node": ">=0.10.0" } }, + "node_modules/rimraf": { + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-6.1.3.tgz", + "integrity": "sha512-LKg+Cr2ZF61fkcaK1UdkH2yEBBKnYjTyWzTJT6KNPcSPaiT7HSdhtMXQuN5wkTX0Xu72KQ1l8S42rlmexS2hSA==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "glob": "^13.0.3", + "package-json-from-dist": "^1.0.1" + }, + "bin": { + "rimraf": "dist/esm/bin.mjs" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", @@ -6766,6 +7467,27 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, "node_modules/safe-push-apply": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", @@ -6801,6 +7523,13 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/sax": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.1.4.tgz", + "integrity": "sha512-5f3k2PbGGp+YtKJjOItpg3P99IMD84E4HOvcfleTb5joCHNXYLsR9yWFPOYGgaeMPDubQILTCMdsFb2OMeOjtg==", + "dev": true, + "license": "ISC" + }, "node_modules/scheduler": { "version": "0.23.2", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", @@ -7021,6 +7750,63 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/simple-plist": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/simple-plist/-/simple-plist-1.3.1.tgz", + "integrity": "sha512-iMSw5i0XseMnrhtIzRb7XpQEXepa9xhWxGUojHBL43SIpQuDQkh3Wpy67ZbDzZVr6EKxvwVChnVpdl8hEVLDiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "bplist-creator": "0.1.0", + "bplist-parser": "0.3.1", + "plist": "^3.0.5" + } + }, + "node_modules/simple-plist/node_modules/bplist-parser": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.3.1.tgz", + "integrity": "sha512-PyJxiNtA5T2PlLIeBot4lbp7rj4OadzjnMZD/G5zuBNt8ei/yCU7+wW0h2bag9vr8c+/WuRWmSxbqAl9hL1rBA==", + "dev": true, + "license": "MIT", + "dependencies": { + "big-integer": "1.6.x" + }, + "engines": { + "node": ">= 5.10.0" + } + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true, + "license": "MIT" + }, + "node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, "node_modules/source-map-js": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", @@ -7030,6 +7816,16 @@ "node": ">=0.10.0" } }, + "node_modules/split2": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", + "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 10.x" + } + }, "node_modules/stable-hash": { "version": "0.0.5", "resolved": "https://registry.npmjs.org/stable-hash/-/stable-hash-0.0.5.tgz", @@ -7057,6 +7853,48 @@ "node": ">= 0.4" } }, + "node_modules/stream-buffers": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/stream-buffers/-/stream-buffers-2.2.0.tgz", + "integrity": "sha512-uyQK/mx5QjHun80FLJTfaWE7JtwfRMKBLkMne6udYOmvH0CawotVa7TfgYHzAnpphn4+TweIx1QKMnRIbipmUg==", + "dev": true, + "license": "Unlicense", + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, "node_modules/string.prototype.includes": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.1.tgz", @@ -7171,6 +8009,19 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/strip-bom": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", @@ -7314,6 +8165,33 @@ "node": ">=14.0.0" } }, + "node_modules/tar": { + "version": "7.5.22", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.22.tgz", + "integrity": "sha512-MFO/QzvtAOmJbkhOaCTvbGcFN9L9b+JunIsDwaKljSOdcLMea3NJ1k9Usz/rjdfSXTq4dfzfeS7W4p4YOAAHeA==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.1.0", + "yallist": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/tar/node_modules/yallist": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", + "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, "node_modules/thenify": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", @@ -7337,6 +8215,16 @@ "node": ">=0.8" } }, + "node_modules/through2": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "readable-stream": "3" + } + }, "node_modules/tiny-invariant": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", @@ -7404,6 +8292,16 @@ "node": ">=8.0" } }, + "node_modules/tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", + "dev": true, + "license": "MIT", + "bin": { + "tree-kill": "cli.js" + } + }, "node_modules/ts-api-utils": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.5.0.tgz", @@ -7630,6 +8528,16 @@ "dev": true, "license": "MIT" }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, "node_modules/unrs-resolver": { "version": "1.12.2", "resolved": "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.12.2.tgz", @@ -7668,6 +8576,16 @@ "@unrs/resolver-binding-win32-x64-msvc": "1.12.2" } }, + "node_modules/untildify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", + "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/update-browserslist-db": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", @@ -7716,6 +8634,17 @@ "dev": true, "license": "MIT" }, + "node_modules/uuid": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.3.tgz", + "integrity": "sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==", + "deprecated": "uuid@10 and below is no longer supported. For ESM codebases, update to uuid@latest. For CommonJS codebases, use uuid@11 (but be aware this version will likely be deprecated in 2028).", + "dev": true, + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, "node_modules/victory-vendor": { "version": "36.9.2", "resolved": "https://registry.npmjs.org/victory-vendor/-/victory-vendor-36.9.2.tgz", @@ -7853,6 +8782,72 @@ "node": ">=0.10.0" } }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/xcode": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/xcode/-/xcode-3.0.1.tgz", + "integrity": "sha512-kCz5k7J7XbJtjABOvkc5lJmkiDh8VhjVCGNiqdKCscmVpdVUpEAyXv1xmCLkQJ5dsHqx3IPO4XW+NTDhU/fatA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "simple-plist": "^1.1.0", + "uuid": "^7.0.3" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/xml2js": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.6.2.tgz", + "integrity": "sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA==", + "dev": true, + "license": "MIT", + "dependencies": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/xml2js/node_modules/xmlbuilder": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/xmlbuilder": { + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-15.1.1.tgz", + "integrity": "sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.0" + } + }, "node_modules/yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", @@ -7860,6 +8855,17 @@ "dev": true, "license": "ISC" }, + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, "node_modules/yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", diff --git a/package.json b/package.json index 7bc9a77..1cea535 100644 --- a/package.json +++ b/package.json @@ -6,6 +6,9 @@ "dev": "next dev", "build": "prisma generate && next build", "start": "next start", + "android:add": "cap add android", + "android:sync": "cap sync android", + "android:build:debug": "bash scripts/android/build-debug-apk.sh", "lint": "eslint .", "verify:visualizers": "tsx scripts/verify-visualizers.ts", "ensure:visualizer-problems": "tsx scripts/ensure-visualizer-problems.ts", @@ -34,6 +37,7 @@ "test:leaderboard-comparison": "tsx scripts/test-leaderboard-comparison.ts", "test:contest-surface": "tsx scripts/test-contest-surface.ts", "test:shared-surface": "tsx scripts/test-shared-surface.ts", + "test:ai-commentator": "tsx scripts/test-ai-commentator.ts", "test:ui-content": "tsx scripts/test-ui-content.ts", "test:contest-submission": "tsx scripts/test-contest-submission.ts", "test:room-integrity": "tsx scripts/test-room-integrity.ts", @@ -54,6 +58,8 @@ "sharp": "^0.35.3" }, "dependencies": { + "@capacitor/android": "^8.5.0", + "@capacitor/core": "^8.5.0", "@monaco-editor/react": "^4.6.0", "@prisma/client": "^5.22.0", "clsx": "^2.1.1", @@ -67,6 +73,7 @@ "zustand": "^5.0.1" }, "devDependencies": { + "@capacitor/cli": "^8.5.0", "@types/node": "^20.17.6", "@types/react": "^18.3.12", "@types/react-dom": "^18.3.1", diff --git a/public/teaching-styles/ada-lovelace.png b/public/teaching-styles/ada-lovelace.png new file mode 100644 index 0000000000000000000000000000000000000000..21a6a47cc9feb704e8bd26f0a0725900783b2c3e GIT binary patch literal 264665 zcmWh!2{csi8@|I}EHQ&b#JHr07;E-1#*!_KrBK;wgshY7OrjY}_841QERC(Av2UR$ zgJ0RQ3`qzzDluuo-~Zh6oqO+h&$;K^^WE=#pZ9s5H`(6K;t=0aJ^%m?owdZ`003fj zFsfl32Q!KeXTuIoP#+Up699OT!T-;b>);;gZHco5fG7n3ASMF9--9XQR{#i81AsLT z0MMfVz>(nM*7F7j54gRoEwI4;|Br_ql{p79yup?(1OVU{{{Mh{V8s19nB=*6*4B(? zjSI>vs~sGR$~$-?a29Lg7%}a*>+&pM=9ctbS{2LaO);VNa>?36etx!1L51a8@LKZY zJ`Cve!A|sq$)`$WJaWV&^8$~hbhZxXj>K(FC?o-CsXUlfV<~2qC93#qg7qzS`-=aN zZvWSgCQvA#&UEFIjEmZybeE+%H4p432aLXpF|oK}EMhqKap zJ#$9Ey5rKYhx7Ep$lkY+y|($Cm4W+a$QZg|kF7}=Jj?ZnSkawirhCT&Z--;bW``Y} z5+_X=tlD6NF!Jw@y%Y0)x845?b!`dlpWA=EzrA$g+0^;>2oxP|-)lv!BK)?)(lK=4 zX%+b@H;gFdXZ2s>ZkDAWi5cfJSh7VNJW z@5DbFQE{Au8069C=Jg9PZh zkVG`CswAK~fyAa=otpcq!=a>ibg zun7P=KNk4wEE7co{(gJZDul_#0hSkU3aYjTx!D{eq@!#qTarafjxzBRtV2DAo~(;& zuXMIe>2&SYk~Y2d$AmWGKIA=7EAoxwfr}%6pMSTC2Dg+4${n?QJUyjjEv{k|9_xl@ zVTctuN|PV<&1~gl7=;zFJNY$))g6#^hbPOqE+}5KzTFKbU>9z~%u>kBZ3UiJtQU4_ zcmNGKPpn!963PL3*eH^WniP`GChlwpa~A3gn?Vu6s0QR*9KKmY1IYnuh=8f^tg2;_ zx#a*%9Pvtd0Tm`J4242b9FKSaxNxBxkO_MMcr_;#wV)7?Vcl*3J}zg2Ad(GxX5pJ0 z5Ev3|&k2Te0-#{HmX6Q>i<68El!o+uTj)!Jk>$a@H24la|Jrd-SXOc84QJ1$dV2dR z5_}_msjT+I-g?&`!mN@VKgNO+=5XjbWE^9y*t4}%oxyaENeTYEXsFiF+@^YIzJ2fa z&DIMgbPn?6{#{1Lc2?7#ry+NDaYOE}yzM zwl|krH)yo>U)EH1TrF)FMZV}Hmq4~X0osP?0P)shfT-LW8SwbepXRgBA&}P?C=`r+}A$P9&{ip*lr`Vbq(i%cslXC~g?x zvMVr#LmBghW3GALG9ai{Z8Jo%R=diYdbI+c zS!oSOz~LYVAVy7aY=Hv8$)eb_AMNf)0G@oZ2mD&?zN;H1$reFJKsh)7^_1Yfvz`!` zkQpEBh^PP=2K7K-+jlP#M_0=T%lVHhm{-ca$YE`I=*rBs1$b8FJR|w3<=Z0}0CPEz z3|MkA0ZamRQ~|+3Y^l}<@9Kjbk4Zi{o(p&}h;j`+5t=1qm5WQU%)5@~hGOZH9(a5n zW0bJDka$(EUy7U=kJRT6=K=5#0Cb&@+yCCRXYD9OiFn8meOy++!{Ej%X=#4(I_{+yb*g<_5F@)J~X zn<#!EtTK(`aY4Y0f;{X$zp!xm3Eg$DLc8)M@^(OA zM)av*R_}jOPol+zw{=CkduC$`k75A|wE%)_fFr;c6S@k4hV(Rtw)_v9<1MJBiHz^v)>$C;$wp~ zu=WkODvLyY;c*=6djcH1R;YKE41eFaAwAqj5b!J@M4b^HcO5zeu~tDqKEds+5DV|O zZiesgtQadiZhaZsHPP4{iH03PW3gfry6zoua=7KM>rn&J)Z7ozN6bBMaq6^PQ5|^c z+iXIt8+=D6EoNm}DZ)PH9S6w+LqkE6jV*`|VQt9l=M;%l%2AP;{wRZEF<1Q%G(#{58-}csiI0$^!yAo-J+q zTd}9W{B`dQNsW7`%#-oEok3VAKuE`(5?RWBhnZYodYwAiXRv*M)X4)+-2CqV;W8Z= zxSHH$uJFuG7?W3PjFs zxCwF?b+=Y+pEF{=YYd{>^kFYqaS?xb;4>(M6gd1#39ZheedszA0FRUEVI`*4zWBe) z?{XZn3G-JHEub2tXzWu(fQ~9CI7vC1LMgB``XT_(oY6!W0MA0158sXMQWpW1mQH~- z-;9!{=x#aFRw599U<%U-A6H8SEPe!+_<4U7Uz@NP$-i1be2DkcTUKi#!i5w5A>vxQ ziYjKVaRLtfm9P)KkOc(Po{ZwC_vd*YtPn~zAoYOCM6!I}7pTqgdVw$b6tr9C4S96C zEE&+_0l9^9f{|x*ADh4viz3m2m#|L>+=-+@;YUxmzugO($2{ijvxHh&_LbW!etIP+ zicWTi%c&nAWS91+trt}sSST5WuvQGrvxpkLjZIc=b*Z%tE0nOH8!bzTStaW6?Eg~T z<$)yeb1%$!&ue@BeLvH5!K{rrP+r1hFQq!WLXYOPZHc38F14Wh>Q5sUK9Mb(FvIN5 zmFHSv!>FNe++%RW&#(GG)EO{gQTaC#9Mk5h1oey4pu~SZS3`eF-y= zN~g<%0WLR(J2$X@J~QKf8}$c|Qu&DN#(VEK7e6+g0#6Sn05CY&ukhJgsBX0qF%89l z-_Cb7JTIg17*y_i8E`>E<5&-_ERO@kQm%2TiN|pk89~rlNpS4{hSwWx;in z{kloswMg!_e&}3RAWg!rmdVTi)-k&E%EYyR@@434pj=eP6nOkuj9%tov9XgpKGFES zs;bSXMZ%Alq1I(Z=;2(Au>Ry7l z1I%1d7L3rFcmvuI(O(`0o>U*F2wMuE(dHiV=Au>Q7-u1<9E|ubiA+BP<3y?5?Mb~* zYG~AMYL3T!r@`P5l!%467yQv$*+1Q#l!j`r(|v(&EN#9>fBFjP;gaRcX;aWlCG*~t z1(G<=B#MY2xRDWPtRED$I?=Mfjon%&FvdDYPA56cH^$iAJc?*h z+<&LK%Y|9H78w!KY+N!i%JA$cQetdRS0!ahJ+G^JQbW3Cc==hr)Hs<;aU_ue4%tRm zf{eZOJs2>i3y~$YVs8SW2}+i^_ZPO-FXRvA2=W9&9S`t2ZKA>s>$N<%)YI3ofj!8H z54AH$A{@md=g5D?M>_wm`nd1D7wTgD9g+k-vSO?1)u1)&vK)SjwJHQbr=e|ypF-h5 zg9${o(Z#F2)*Jc{O(zUJmxU1>8-b^l5!!DY$6*XMlPP}~!Rk~EFaaHgaAZrs(}?#B zhvNx^KZhOGGcKN0KVE?^4^^~*k^@IzhxkS7@;C87&m{`zbvfN-9Py%&8x8~-*2N}~f50*OH65L{5u=$4ZIW_Pip;WRN*_XqbAv5`lZef^ojuF_Sf8ZtpoqAPIeM5 z37vC~c`o61YwqryP}x*oc>RM2m&c+4SF?&w3HO1}3qy0_kfFeP4n{I9S=l(aA`*#Y zNd!t)KnLi!!L88KA09}{lnu1jEjwG8{BX6Fxoo9Uevs^B0a>`LEDM!2t64X>NfL6; zZKV5p+sQ+TVYQ?Yt^a*}WaHw;u?oMqCw*lOLmjz#<}#-2&X#joxOGfl z;Hy5}0$Gf|%1jQ5g|!$0fGeF*9UGDi=Ufvk_}VFXfX)iIK#&((MzvMT_ANz85PIBY*|aU|lU-*9(nA zSU^#!qD=s-g>j#9k~dN0ycbB$yqHhU#f^s*@;v19uvanT%XwI^u8HT<#K4gc4UT$< z_ngFWAfXjL{8D&9F}=f|8*krj-dae$P^~Cu*5?>7xa$*S6w7{M%p0mRlv6P361N>$ zlBAD}db~u`i9-XNS98)Vndym{pOk>nfd6h24ZP2uLV{lA@*}U65uB@IHDBP6rg*Mm zkPiZ?e`kleOa{d)%}iFZz;PQ?ekmO=AyQQ2uqre%^z|m6VU|{f8}-i0;yvaStdeze zs{FbvE5XE4cN&hKe`Xh2%G6}S$|@OX^Unics`OvuNXm)gV_ z8Lt+1Y~ZYbB$923_pm2nnCe#nYV`~)FGMs+pPO1vn;XJUq@bd3L?qcoOdjf5$@mzUrTc$m5q|)RPd9R|RJ;k|Wb0 zK+n}>Fnc9~lB{b$ueBtEe?q1Odms>1wKcWEPhh&Td?JN#vL==zSkec%q3%=bMjco<29K z3^nXQ1eTx7;FCjo7&#^;3WuijlMC*rzI-}O?CVRKEN@X1ZaXD1qTBf0wG7+0 zdeaL*@BxKnI!f)r&z^re_;_uB2q=@W%=1;s0m*$9WXi>h*#k?Sed5x6>VMV7=U8*m zSzgPQl#QFejc%rQR@-6ndhjAy%U@?27c_e1^2cI3tZ_DF8)Jk#;< z_jLcVptl`QsouzBfZ}0v#Zc`00h3souBI_xXWGnnUPcm_WpsRaZ>S944iFAid~Iu8 zOF!NM(fyZd8KB~lL(|4WEwdjcY&uHnjTM(urs|bxc{fzg){HD50$c)bD0O$T)*H_% zw)|&Dw5@b4#S=DS1qni4tFZ(6Q-F1yo^EM00V9kEYy18M^sDVTZZR|=reKa0!=&}Z=(08grQ-}7$C+Y) z9hTmqV@_#~1 z&_2tOTzB~qXQ|*oTKU9clowK=3g@5ot<8l(MityCHq+0RwI-K~K9+1!k)WRS57F^b z!c{rK9`=RMCmTN&e?m|kxl+^sQBNMOH%d-cmp7QzFJY#o|JLJo^U2AlWVw(bF3E$J z6;=JJanHo?x0;OuMYugEg{?dS7j&Kgnnm6MB`cMKvm<5)UqD#*)D4%P(=b0#F=3Th zonEfuJ^w4Ph_D>p8JJ&A!!BmkI8$pAi;7OyHrrxie*QWx8!+RX*A~J!?OklQ9@Q*q z3i-6q%MOZXuNblaEXMB!?M)T2C%^sN*qtifc_q{}$=bOW^iLBV^YeAa?SvM3o#z5# zGC+hH$gC@OtdPt?PCi$@fv*}J176J{iLj)C9>$6kyVEqW&@94JqKa)aE(P~@+wSbx|D1Y6)m@z+ELrx2TQcWgA68kw z#;nTLDHY{p8JeJ0n+8${%%MasB8>mh*tHiDSSSaH&3@r-w7V8=wEJ~y zXEoL>y<;PIMp2K0$-bhbN^<5iC04bPET=5Gy5bSies8}DI(cL8VxBP7a&v&cKC{iX zWH2gt^Z+6EwZB~Y_hZi|es87gVEOlQ;{Umq*o6x+mov^CVADO*?CE}3+C2NtJcAWr z*LG=m@;m24Sp;$;T8PKV=XB-bTbtxFxBtTpjzyY=0CwRlgq@Av36urapO*1G*dTV% zzqE7rea00={J%ec;E45B>2&|BR%t)#jhwam30H#cMYrnXya5zRwsKW@?kJ<9_hY55 z6IB?BcP(#^+vWab?lG`mmMwoa)mu=@7JYsD!R6vL<#I7a{2HFryIWsF%mSXZiQp8o zEh9q*5eQ)XW?CSAJxV;5Vkai;4G&rBp*Y_7Mym^rh}A>6#95RFqt%2LYgeI@@}lQT z9IYljD?UlTwSy#CYU|K-f6ZNm366Fi@2u6U+`e(i$u>;*(Heztmo)ryDNq7DNd`c# z<;3D#HR7f8z6Q0$oszp2NMU3I6qR(sB(J__lW;FRMiD{QtSoq4TsU@@I%??XBaVD- zcf3bZMKf@7Z}S-^zF^ZjPWpJf!hH1Ov9mu1?&gzo%2jc~9)ru4R^@=gHtg!K`I&e{ zg!*E=w&}^fFAInY@9p8P?a8=TQuN1&k>GKl7ij*r+q?90R@FV`=iVOkNqSY3_OW7& z7_0H6vsf<2SK}RKM*P-f{H{;u-=F*IrT-Qir3y~EY$ao86Kcqio~u@B4e2e){Q04g zQF;&Tdg?EqUa+GRo)&OsyM7sM$a_Ox|M~mRkB<|R@r(KKiy2)k(n_UJf7|HB{#;ia zYx}aB813UWujOLY3o`lz@sZVsOjqDaV{P~~7cgSOkb`BkJvY>TfD%rCunSsvferds zBgZh82@)wBPjGSj^RW>EkM3F>fj1`CY2@+|dX>Rwg z*Cs{QYQ1n1YKBPkogGjyn>~Q2H>%7%m`UW5`JIE0T65MsUKNWMC?Z2o2%q;G=vTc` z!=hRFmWL+04&vOdl~E8UFNNuGB_>hVzCC=$G^`k+I)we*i&&lM+%hB&83Mx@=khmc zMLZuI%|MS^L_pLFD@FKHp&N!od=iwF#W}QQt(-vdBe=U)m&M=iTBW&$9cWy#2g)Ds zdAq44?USgsHoGlAqts!@cId7Igcu$A=X~=z8UqJ7`r$TtM`hK8HBgAkyYlzXQ;zsT zA;G8T0CJ8PFhXcL5Yx+X=wn~3!CTzYK%GOSYP*!VD2M(X!Sql|K8uf zemTQW@0Aq%1ySxiW%U+gID;K2?va_^l2Q8a5C8akzu!iew^CK-Vp%-%v9V{4iS4~& z%j~||*nJE?@amu^4g5It$dAGV;?nBD-M4 zB=p%EGgQSle{RaOu(l#dL{jg2M$qxUnfCRHw4ca7e{((T9g z#BL;trUyoyk+#+9A+%6ldSd0jptw1r{xn{8RDm-m+HmFLOY8H0-faCn*~7HAwvB~p zxHnZ>9{-~Ix7hSzprkg`;h49KcXQh?%6#PK2{UEDqiT5~TD5$9V!0TOq!Z;6==Wh* zEA_R`n6%8Pf30IrwOo%QK4W0Z3-s4xezkAUJ3A$PB}6?G{2d~9JK+xJm-hhyx;6bE zc%YE@`>ros%pf@*!77&*4F3Sa6~q*8&0I?l)VgVdbD>v9$sXm@BnqM7Zo>NlDWxQlA zoyE>47kzv!D`jwB`RBapx{DpZkML-*iD-n#Gs#>FaCHM8b9)|@FuQKH? zC5GMFi|+ba&GZmg5@qUnZM40XM^tH1n0ZSlg68-Bklg?MVbJ6r=)|&LYj0PEx!8V6 z{l0MX40c0kW8OJy^)#LE``YDYaYak}60CgBGTsPC$g(!u3fcd)6gNfT>UIHm0kyM7 zi6LjCKw+54CD#dmg-l$r}WvP=%n!1>K}C5xDas)gPG5Yw;H;+LN7a!ejAV~448O!@J( zZLJ#teqGbI7$(7{9;wVyxHbFNHIOZiJ6}Xz8c~O%nXxJ2V4AI!_P&j6h!%Zg101N5RE8 zVY0q4z(U1>nj`0D`y;YSPGF7JYHXrL7Vxk@R+zs?Uzii;|7&e)JR zB+J>YN0%7MCGLUaeKFx`#RbJf%g_hjA%2b_-BPDRlyAo}2Hs7S35WPv*BR7$ou z2?orH^FnUeVZ|GG%z9kHvMGY<9~$gHgovykd3y z?wtO4bs5vd)A^(qtl&@>*I?rigZG7dlj}RiYT$54IP3AmgsYZhf3G4*1>-pCDv1b~ ztd4%_nrLKbbikPN_7+ahHLY*q{H}R*De5S@u(s3IXcP6z%J+m@?bs6x~W8~ake|z{X z-p_AXM7r*5JG9}sBtf^OoqQ4}l|WA9&uMl8Z&iuFhish+PHs?(UY_dVBxYY1T^LsE z=fN(^C(HL*ILWyod*q4rvlrh;O9#t!7y4FN7$RSNk~|sj0Otkya$oj$@At;(0A#LEL%!+DcEtVTr@14 zfbeMXZJjl(6h=K(Pt^~c8C_*UAuE-&jd}l4HkYWDXR8ZEAAZp()8oWY3?8eU4mi+0 zH~@J~E#5g>!cJM0v^31DYB`)+?WKkaGbB8`hSqXU{(1mP5`O!nS)rPPB3r6LFWNo7 zTr)&cT%5@KVjg>m6?6m6OVQCI54;QY)$?4#Y)Z`&9ee_4qM#^v(k#2dx$N_y625Ssg}&z? zNbOpV)9{DT!MuEOn=fu9IcKlHUj8b<4og-(%z?x1UeZ3J?}<1+E4&1Qyl$J_ubb>u<5}uP)$5OIr&JylyM3mJ|`0rA+Hys9dqS z!bcYlB;O_`ztnhP6s?Y@pcKNaN9$a~vF6?b=VS#>O>s0O+ zQ__hrQDAv26=be+-lgAh+fx_hY^-hr8cw6SZ(3jWwhCiR>dat^p|P`d=eQ^w zW4AO^adI4(o^i*f*m!0<$AL4-WfJ%9L*CYZ9FF422>9fpr^{>3vfOD`tKeDBbq)L8 zW1InY4R2Q~gf%O{hcHyjosHysmAIe)MjIlj>&Zd_#c%l1*uheE28lEi=lik z3qJ*9I)n@t5ERaey(zA(wbWdGsfMLAY_RV?{W7KS_<(|-HF81Z_>ju}gfOf{qOL*? zmbj`cdi(3`<>l+QXV+RCg+GJpj+{gZH~%N+DiQ!`K5=H@`g)O&=p$;yV?vrBOujhA zLLQ0ZO; zUtTYNeNYo--baqTsl~5hf8we@c*%5hDFY7fcG$Q;Pg0s2lj0YH_Qv0j(>VWA69Biw zA!0_$%Ec4$Is9&&&H(noqzj*167tB|Lp8@Hdh6?Ewv<5coALreASU4wF*UbQ8T&He z2vnfn$HSHUCx&vyI?XR!e|B@N~8D za>2E>D-zG|ui?D~$Y-SO&JwPk#s=$kc)V+TJ-YJ)U%xOK^R1}rXkz7i4Bu1ib7$V? zu^Y9AL94{q49x}m3dh41iO=ONzcPtmn1o^29T@&?LCg5j5lj|YykjJmM}tf$j30*< zFH7}Y8(t73OQrWD#60m*c(?pu4%chr^h#8?)#;E{xS7*eot+M<9TIt3`<|j8X|XXV zfAIK;(SHTdTs}*qzl}2)BgGPpf zDN(D%_ErHp?uDT5N2E@LikPs87vA)Fv#lm~$SJF}bR9NLs&)vO(3_R2OzLgCoOGtc z!RoC`q2pnIq2k0E@ruwSB&n4oS%;d2GQR7ePC>BsKDV2UF?F;YHDl{gpkd#%+ltGmX-L+zNyB%a8P=&L!3?10R~!M|Wgx0!1+TT@ifPnuY7jeyw%kw3or>OjRfC9(qEmV6QNs@F&F(3v}9V zZENc|-X3rWbNxe7i08T4|7KnNt6urn(hn@MYAcP(LqjXYgmlcy?WH?sxA9ok%fdwQ>RZbZ*ZJx8=oL4&uB ztRvn>%};D4Q3Kd!i3Mleecny_seDz!`YQY6UDt)mCKGk#6tTi4Nv|Ct$X#g^hP)%8 zeNL!Bbs?=L1#uR!_|1zx#!!|@Ht0EEevwcujDQYjn{AhFYa72cQnbb8$$uLBFoYaE z?6HJ7z>QX$H#i{&egpxl7YBN`pd7GjIR&!VM3K}a)7ekq9p`5` zlBFJINJnfw5%;DXe|i3Pa23a6%Z2?v8~b<{zf$e-wyL5wo>0i0&7D}8MrHoHcYF~h znDJLo@KZ(k*!N$*?`*_h=;eDsD)L1)ONzivj85uY5P)e&F6zB`Ac%W*r86=nhUkM% zf?KOBdsgutF7%aQ47s_{YgjJ=BoWQN2z=enVUEwmi?35JJahj)LwNf*kDZmQ9%h!d zn6)OM4)XxxdG<0y79xyG+!WIb$V zyCeyK5mPjqSNR<791#+dfup4I!jd)fJ|x4+a}Sg%t&TV=L}x)U2*skAkI!Bw@ZZUQ z=FWkp3Vf}tO~e*ERLdjuSjSqlu*7Lsv0O4Bu+KK;TG!>2Nz017~seOriv+@oxZIP3ymHT1PR`XtDiHm zb@Ii=BCpTfOHBT=jZR6l$nG|?3O&#DR<<}ZS;~MBxq01HTsF@4*phV1(ojQ5b}+uG zmb-$V|M+dNC?1>sL-fPEn5B;EDGu34WP-Q+YgKn`M616uyB%%NBbx$)mcfVUWJQa3 z`I>SCBb96g)6ZFAa3qa3@ki!g$-MoAWv}JiiI#qGQ~Hm9NX66wMhUav`mhA7R)zer zsg`EuH`R0qk*wQ9$}PeqF8YQP^<7=#bp<^(^r7uBVeXRY3oMqZjEvEj94Bj2rBAt^ zs@lwmq>af_dVd^wE@vEil^;f%Nyz}a=_$E4B~Ec ztyiSkW(hLv?XmD*fBxi*Ol&<5m~2PD6uTjp^}m)aXpi&09(VFy{;e7C_aFm%=S~QY z-uP%g>2t&%#-eI~&(>BKyy+9=(Ys0bPw#{Kzr%AGB=_ito( zPv#%9UK)@^x*C2Qf+k@7Ze`Q*f=_t$&E}XCzL=ce-mTx5gkj)LMS5ZBb4|gfKN#n2 z11@3v*l|;J^i!$l7`?JR{=Qg8|5G%vgJel+yZJhE%+mtdAScRmRoiC7p_QS9wTba} zqZI!qmt9!E?)es4`t|_=Q7#(ZHAONI8v1hHEJgIH!h$2B?Df@jgTCSiQ{Xr0k?2)P z`NUOhp71;>G_L)7an60_S{?nOe~01zTT)oR&oeiL?XhDZesZVgs&&!Yj8fkl(P5{P zxIj5TB(UAZ=z7Y6?Cq=LzRQ7rRsX{Gna_k8aAKc1u#@ZKWBJp|U(+}|J#Sr{oNJ?| z3`jkJM}J)0qJjsc=kiGy3`%J%1)E%8ykp$fS;d+_I!Qm=c^tPI#qf9I46drT1e9$j zXcduM4KdsIpIvFR2&YjpCf8N>NL|}o8OE!NQFE#bXZkIV8ve!LiF@#ZS!w60Z zn0N=7?x)knJq;@ce`$nhm5)65)miftU$~tNUK@^0V+vxONPjmEe_D_qz;Fz@N# zc2mnNyfVBpxYHV-Pvl?Rnohp7IlO>W6F8CB=ism#NYKLqg+;5uI%FiWgg|E^D*USI z@_3f-zBnN^n45Y=Ly{dhGT|C|R7=vPA$Nj89r49eS;O!3NDHb$!Rh_JaEc4p)Olln zOVpw4z%h*`$KSF!xg5~5muWXRVYzU`odLD%IL;CO@AUCMxL+mEh^wI8HM}}&R+-;u zh^o6%x#ZHr!L);e{I`Du?bUX@!qGoR9k55v>lk@vr+YX66>x~vGyXpFfJi!MUZA<; z(?X_LLkvSO{N{0YA@5;JOK~{;>jQ10ZhHRa(!ZO5gSet^Y_h%BX)~aM#^*6otOO}L z5GM5xxJY}a`~!bn#J~IQd*g#MG7n_tA7@IYIA#Rv;NLdo2eql3(ioxYY?$=*SCZNf ziGgKP)KzAN+T$dj_ zpjW6RwfaKcLSH#*x!GS3GVQ&0hLqMYV}FdfIIG%wbB4XM`pTBnmWNA0G1~3n$GV;L zWnXJ@NX2>)?+v3&c^>)-WVGbUAx3oTW|An3vEJG5p`B%_PSiu)GNp4e>8x^X^ng}w z3$3xaDDpvJf#pW=oj~S8cVQKhrHOo23c36_Ox=_^n99!Zcd7nwmx1ceckX>sk6e^G zmata;9GS?g3Stw=mFao6uHs#-UazQSPPqP~&Yx_&7D8x}p9?{&oj>|%0=Ic%G~g*( zF$qhyCyO}SC>sX0+mF0@0M{~zX20yQx?t#n$0W^oAc?KE8SoYxjA!ydg}~9A?r*K`y&hd`2{-JB___UEpU@uIruee)2HVU@7I!%_ zu#(_1K|Pj=m08HtUfgl1sikbW9w%@#i?+7}Y>qDK_Bvy)&a*}t$3nibHP3N#A;1Q; z(OVsj(^k68{Y$^T8bOF0rFA}#h*;L&konwCQJoVwiv5r^A}f1nXDN!SdG%$%PE?0N zW{%Rp%i~t;DddfSNY?fV>&xWp!;x}N`80$na#)u_IZ-7=*MR^FoY-hpmYKASQG3h| zM{@tQputBSMx7Tk*judulliLd99~a{e*S4TJnTMi*r8gknMGm+`BNRsGR|IXjZ(Z1 z&;EQijns>?=DexkwH(TNS8-Tg)TC^xA9wW2jl~Ie=SxoLQ(r0ui~0BWNydB!yZAi4 zBkx^LfFiT1(C$t4Y-(c-kd+gFR(Pxi7Am18T%$Lb_9=Yw)WIyM-MJN^9LGWoRh+hi379+A#Zz#aVE!$TBaRff!MFSmR5r1j(w9#qxOH&20g=Lh*yy@v)9v zoMUB`S=q2aY2>Q(g5i$ewGMp-e|~w8x353K4B+qDUL9!vK`8;mZzsLrOTDCeVIk4( z-Pl{2a==vG1^F7?g@<_<-+sk%HS3KTTt52Jw`U`gi zY;bos)-|AdZI$`DGa!F(>P_5%wL#K&cV#YigT(dK{#|(ImQUQq{J&E$D-FGa{z29J z&DEQwlYWhUvI4Y{q5TJNsjRGdurziRrrt8z^%$iv{wWWIn8Af|wy7v0_GbRtr z1Hb=dwl#^)8_$I3YE&Q8BUGC9T_$^n$uxuSy)NB-ZM^qnKAyF64*dMo582zwvP|)wuOKaC_8!hid$%Bff*hlUU_P5ERl8I{np%a?$FAZpNT2l*x3LI=5br zKBc-MpXW7d|Bl~iAWHmzXOw`GBp}%>oFs4GgyWZY6$6cYVwQ9Bjd#y(U6YF>28fPGI;arZ}}B!@F{%|wcc(ur==;^ z;YSF>mt}LD;|b$+bBCXIBSdnSr-o&Qbsj`!e^KMXDX0sD`*>++IV}546j1F^j8Y?k zf2w;K`_ZWYreyKwPv3RDL&N#Ufb`1ItzWrT6_*O0ZjV*AtXz;byBKzQ@V&}d#Z_(L zN6}?Jzvd6zQaKDK5J#+AC${%?+nm?yYjnF|gun>`?a#0A^#if$9t!jt-kA#T+)0gJ zRh;-Ki58*bHl2^CvxwJPjB7fjO#g5-j4MFU z-OPoM83TrrxQ4KTiP|w?Gbz~TP8zBzcai7k*yIemmbWjfUy^SRIUw|oV-X*t{5)Ylszl1-(m6QV-Als^vSscYni0? zr+bn$wb~kz-tf(xU*zuiJ)gJ*()@l7ZGx&`wtdhX!{~K%3s@P{RUsuEbjXhz?><|8 zSr=twy!(?CU;k3Bkm`azT&{g8+5mhv^nLTuJykBE`&!V7<7fd`o0vWuFnoTxC&1)% z0oQ$-=9NdM=myj$Hku^$`>r!PzdrVJ+Y$b{tX!K<{yJn)+PU}VUeZLlGbD7khcAHins z9+7DrjC?xf2%t}EuhiFxK7Sde>zI2nuMJ!^m&4nMm%|8I@^SOZrVkkb7V6DV?xrmR05fMM&*EyaEGKsjaC7JMa=KYe z-(09IwQ+W{W$_!@Z`p*#%@Fn`m&i?9wh6f&N^*yLgj@1nh^Uq3?zJ@{^w7#BX@C5W z{^4(}#{-k~={7<=$%*N@9Pas9P^sDO=L**eE27*TPiy6AE@dgTuIusc{;rfFr2u4% zL|XG^CJEP?91mR9wbuId^!U}!zV?fM>972YfBDaj_je9(9^2HZIs$yVY)_Am&npe= zb8Oq@P~Uy{KqzLurYeXi_mguf0HxkFKgVTR)50oq4wD0yJPl@!aAs-C0+5eNr0;KP zq$F!v(x-?soYCEDZSDpEECmsJA7ktvK78OR0Xn)ZYyIf;o5Ql+-<=3yzmC)CB?FJk z!{fuldEZCihllIlr?d)y6y9n%o$kk&M1p|f${B~M7Jy-j5r9Nk0C7wOpfBG4gt#J? ztAYYkkH^Q$4i@{=07$t9;{@MbtA_g?0liNY3ukjb9u~K0mYGMEy!1?fI~5g)2TEFf}V8+3^aa2on-v%_TQFsD;kyHiixojzCkf@U34R zXv_)deJUCCF&vR@32HvKf$oUGt+H^WR22abr_Kc44#(3i#t4xjFd&(p<)%*g)Bl=U zHgrUcB%F_OH~=t~j07W$d21aEiG~d!p@^H!jg`NEMF$bRdqDQ>(*yg4Y}JR6@qngWu)kpEYT3ldW&poHis(9JNyywBMg89Z`7 z$N%uRf6LtG*ew_x)peRlSyX2>JSnLOcPZsL8UirVbjmLK(*y(z9oJW{UmXs|5AVN# zfH6V}v0##EYpF#__82*q7b%Cs>2iMjZ~p85`|CF!KR!L}eH(KmM`!eXT~B6~e(6M9 zTOGYK)8+hhy`GZ^H1+2D-}@dB=_^)>08*{3_fCYVp>g-t+R|3MndM1dlc^X@(|<%7 zV`k1)nhi5crY|h(Z80|IjEJf8@$o}MT=wm}U6J{)9`7V+U51;>JtqT%O(}=LC z@87=Nx9#D4*(Oj~0315RIz>c8f^=CF5*ER9V?)e{OD0O$2_#upB>bj1yTzf!4ZhB!=pIC1 zHY3$_CZqy{M|ZmH@|C(P&H?rvIH zFktG;Zqz~xdq}Ch_ZAvjL^PcE>G8A{KdZk;O{@YN5RtSySMKiA0Ou&4xqtdru&&9 zIK69#F`!5Z!?m86(tsZcxzt8X2(YdzSRe_oFcCr^;lt(eKl>m3&;G?f`)~F+mt~ow zFUP}vy)bbgmf8sM;qme5@kzH0L!rsj-T@YLZiNE66ECgJsW}laq1iB<3W^k%Uikn3 zaf?!QpwgTaftGp@kv>N9rHe2`AUHD~kH;}Piv%X`A~I4pLc_3k1ysQ@_WtolpM3b@ z0fK#K%s!zY34k6B>+yKVLl`u>vhjFkTU>3)BOVUa9rn9v#5e$zU}k4w!^ykv|E&p zyGW^pvrS43dJ^Z85tS<|fU@u7*Z$^jy!+7)oN3ssrG}w9Mu2b``*?bKB4T2G{raQP z`<&WZ6RAuYl$H5)t@o~KwYEI%h>*ioYYQTck&0`G^aDj)4~GomNl-l>)86;zIO|~H zF}j-_4y!E37wbZZmu-Ll;r-?5p^uJ;Q`N%?6POVqBCpE{D25I-BgP;6;CuT%+(W~s zPJv*;Hy?f4dumIZIBSd(;kq8&XX;x{$GhqJwXc73_C5XHOIclREqs=|etKK<-7H|t{y@K$TBH7z^S!(cuejLfl%aD?aLZp>Ng z5@0A$m-fTYe@HB~Er;WAjE!1FhWm9{*J7?Iw~7cNDT`Qm4)*4O$UxxWL=;TvhaxP< zY;Hv)8C_D!x*ie*yh$>$ej))9B9v785IF)dGYMhFKLXy|mBY<%L{v`YED$Ggj53fk zJyQ{xB7k6wURygqJ-KTp*xvf^2n0xv!@NXH6S}(z%f4*;bLRgtt|Sj#F59!AyJ_Gc z00N1D`Sv%&DW}V~E%An2$~i=>Ev-UYTcFU3yVH;U661V^C{Lt!t@=^-$iv{eewO_#n-olAMrE zoXN*Tf+B5Mm-MKaZp3AT^SZR!m{1VPdjIzAkCwIq!akLd4-r>&TB?TM9Zz{jf;lr2 zqN=`l`8ooR$J6W}8}#jBU67t7MRD?lOuH*18$ zvM%kA52BPRLP?E8L}r1Q@812e_m1RCDXkU)5wS#ABBF9l%224yInxFdkwt9UzHj#8 zMO)XRgOA5Utpym`%a56@3XUJ5E^TfabLs_vH3^jmru{SNC|fU7ZEq(|G|Iqn?}XlLL;q}hxr_u(p5K2{dOtU)1auXtu*ri z2%e)C0)sO{l~rvr(~J8T*YiVY2njNY2#FAL8VM&~XFVKBZGZCp@2<;TXbe-G!%Ptw ziAt$yE|X?-xzo??C1QU3@z+&%M3__O?4|PPTV&_TwD4Vw@HTiMQ!m-F`U@ZoZOoNAAckMF;DyYKrjOS?FoF*OiXr`2*iy|{n*>cw(6 z*89WD)8UIBzg5?5yCQOJheRa-;&?pOwOzKSp?Y_Eooyfyij-w(5XK0t6ecPn;gJa|Efie2V$ihd?n`M9s2%|125!Jy zTU(R<56Dtlt4pn=7Cs(cT`nKmvI4T10wOrDFfoql?z3O6F^Oj3{ z8p)U;;Z*8!D_2E`n3&QB4{s(}NkOu-c8~DXYXbzjyIGj?-~Fv$osM&K0iJU{UC!IK zOIesQXIxut$q>kqKHPM=L1cy#CxI3MG7pfLM8w=$Z8uFUfti-lB4S++%d+OTUrXJu+qxbIX--Y4 zQTo?Br;cFn9SI3(-?!(Ct6}=VW4wRb&L1AlblbLlpE=9l-Q69IcL~4k`xT(v-@Pn_ zmSwF=J*@R~Jk(OQeOKMzzxx0f%d(hSGOJpvtt~poT3e_dj|U(Fvitk{w8SpLORcpg z6W&BPGf4{<4qWS!ylXCH_P(@+0ktkuRiqpbM-nNm)wZbGdOYlXW05Lt&Phe;Qo{oX zf)Ggvfy-K&2uT63IrpJc%>rY3Jv1)mSeHt`6%!e4sl+agh?ix}?7oc0oN8%_o2{gK z>~r9azREghcu1*9oV=xo5RS1;y8=$(m8FzY!_B55p}Ft9k6{3`)HTq5{NwM}R*`wX zUfgEkhJbFvg8(_)m1%b6L$IH!e*sSrJSXEW+)0cfVb)m&-Zh%H16(w|DWZPQ7_H*0uzKl3Eu>2l%=kAnzpt<}|D_&^WgB&8ye%pC0ORxLnQ&a^+BA z?xmJF$MJBQUH9{bK>#+#K5PJBZB6yYs?FTo)|Pmd;IGT7I$K=caK-J{y-3sMRBF}U>tcSxP$Cp&nU9Z<|dwTcwY45@SV_b?Xr5q5s zR9@CqO|RQ^yKaPd|MKqj4dq7a$SKt!kGU6PGzt>LyVYpE@beOqe?P)oh+8x{d3K$=r)t?5#lbf8unF>x&( z4ooCcm*%1C@j%SA)WhMxMGQQ`xeBw8gND_100F8c{m=Wb-Rq5FRR!%~7$uk_SHD;;xSEt$5g{TH>~NUm2PY18Udyj5UQG#xJ=*>=JWL&fXCAb5nF9s zs%NM}F5WT~I6NS(`>w8iC>V^(2Q@`0H}ec;e4e{+*AXPs_E{qOY)6xq=9feaeE!#N zPIUkxg_!xbfBWwskZ`#BoQBMOOrPrDQl*eU1d^-m0JgSj+UM+ZjyWwH%zA6f>3FyG z{_2xYPN$ETQ~U1s|3odqOo$@9mfF^Z_!g&>!EU8hgS7OGsl&rGe9oIXD*bN99Qdpj z@GxOYJE3sOw{$~s=7{j?W&io_eDhnc4*%UB|8eSI5rYYZIRfX@+M26gFHbgHty`e? ze%-!!|Ne40k86izJ>0)Imb!lY@uyVKDX56LZTnWL082R@5xiD8y?*nxPrgdTKYsW4 z^wGbl}Dr^Kn07AG_mO{wL0%~1#6p|to`2~{`bJf_1D&xAY zQk!8AKy5|Q9xvCpj4=&reQ{h=kqiuHYpc5=x@xa1#2kpiHH|BY$;=%TD8Pws&)jpq zFQQJ({Y%OKuG=NHsevpqb>2dGF{^&e34~%E!)+gvc^TWT`+m54QQBdS5da`HC7`XK zB$$!8KbeatY~ds#tpSngL?Uyr1bRIQUJ`!O!6T7}=ZcglJXmgT%%sn+Fi2#A~0 zMBK`u2m=Hnq>3y}CX!bpEQxj}YJfL800)o=CkkW^LJQ}A_z!;5Edb0N++8DtY5`&? z!jiW53DdW>y4m%5Ii5}y*6PYc3*l0irHBZA{hQx99qYcmA6=2f)V}_;uSfV8qmS+o zsgYKj>)~iN_r96AdRWXp2UERXhpEjuRPAs)N|Dp)&Q!m2lXUk|YKkRqHyPrb^uosIzE28cj*bS>dgZeJS>9~lf+R;O>8;tE3C+F|PU^{;-y2({9uAHTA$n@9Nk@a_vWUDiXw8*+;v zhjm@APuG3l0?-}IHG+s*hDc}B4q;-pYNoX{LVVu-v)gkn9E5NoB0&1+(~tkZzxS^u zNf51daZ8gUo|^CuZGG?B@7F5gk5BLVeg^Z)!_F(;zj}4Ldx>G6fA@Re`=jsv$sd0A z>G3>ANG&$!-RT8ZW~Y~@UcY$}p+EWF+aLY#hYyeMGbKT4tIKjYo>Eu5)YSp5 z+cmu3-M#AjC`GZu>D8#4rczAK@W9sbZ z^Y!ua;c|XFo=zgX_1&fl6?4B{ugiMSsZ-~3V#K`B8>dPUVvI;)DXGrqXEZ#_bQb0p zAAQZ{HnpqW0u|i7wh95QHnmv^4uy%a6ge)3(heyn#e&7LJsIox8QB0T+eFd&7l!nF^rMF?_Z$GOHf)n!>yk(PGRH#+Ncax&(rK#uUZ zB|TUv#nX?BILyAxFVr!@oqzl9{{}O!hqhh&W%OE`T3pAN{YtIOX+??%LQJ)pd3R%s zT7abzWM3LfB0{I=cj+>FMssv^}qUW|LIlj?zF7+_-rC^ zV+*<}gkPV|-W>qW+okW*4a_1U+Omwki^#gJDRm&iS_L6;8Ac?L5GZrf?n159BCYm^ z^H)Fq?BV>-q>a62HeQBu3W?5nIv#4_$A|0p|KtZe<%e&-P%EFj`PxU{{Pgtl-iFQo z@Ws1#j~_M%;l-u2!|ARTVmuf_E&Srei~Co1T;oUI|C9IcFYms1Yd+V*nqWbqhMCU2 zU$>|8)8G81U-{bCKl!6S`flNcBmf{iM**Sldp>qSP?rS|N$8U|FJDys{QWfmTn(NB zXu@542fyWnfQ5#Q(O(=-Z9RPP_#j+xX}S-$;8IHwb*rtFT1u;_XI$1Lkcdcb=nWF{ zo6kNw-rX@V1YEbv`RNi~ul?G$s~hayA0OYB%7N`r?}!XVm=*|(@O538I8g&;uBElM z91fK@N+|(krujXJ$YEVdA$Kjy;d1$4Ziv)sYs;EjSmu%j0c$N)*fE$%7>~zw2B=Qg z2!~Py(1CI4NZSf`%`0{4bVAkH$8?9OHpdvfyLlg7b%w{7nwic?#ZBLPywTkN0Fr_g z9!w1G>1Z1s4S63IB=%cNj{#6bNJLmFF$m+$+94=BW%_Bl6o}!@h!Eh0eHaslh3Z7e zy@CK?Ej5jR0wB|0pVNYGX~Gc!4#EuS{sdTa?Ha+QV1$K}Fp@|B0x&cG$N%6r17glG zr(d@{09@nY!{bCNNDveNt}}DFRc9YN05F%AukVQF_5ALz;%A?H_1)9s`RVBw{{6rB z?u#Ekoo$hJy*{2VJ0dL0`uO;PS>~MEb}gm!z1#GCZXTIO=u;;EjXsD;SoG%R?GRB2 z8PPq4&M|s&Zs!R1pa0gM`{MDvhJE_cXTYpFiP7?Uv*bD1<#Kk%e%Y>1 zmsg*C`ugKH_ix_3xj$^z>-PBc;lukcKJ0*Sy1zT!9S-ZAP31+fo-lNM)js+3rx)p$ z%TFHPMpaa=v1b(C}K|k`f1*3m`Pw=m#Nd{6qe-q)LKt3 zUm3!S*RQx1U<4uyKiu6B(f#4TK()4X^Kqat+;cp%5_i zwJyTd!b>5M%3O)0)mBOYL~4a=VU`NSKvIeaAfgcUeM@)2QfetB(bk)DU4+Oj)hOYA z&rA|TAkuIR^KhLL0YSCvgj<}DN9M60iUW8|iX1cmfCB_LEg%>W8MEy&v(%6wVn)6u z%1r>sWDw}#`lrG~SLJ|EzX`sd<4f{E%T7d)GZ8rhd2bpR1hC8`L;gE|=Qo5GA~naM z?h)gNU5!uIg=p5@$^zqKfL|% zCtv?;*AM6bgolc7efn^@K7DxFuH*6P;^2iFA}lMtdHJevF`dV|^(&u#`e(oW?_HmM z^zi=a!-Jy0+FDLN+qNCnW07__KebxNoQ2Da*RTKG5B_+&?x(x^F?UrPqi46Z?VG8V zT5Bomy1M(*(_@pe4|k}3Gjb*m>-zu)kJxqYV}OGoOKo$G!VQD>J^>){qvFajomK5T7WQa-KY?&cK`rrpzvDKn^< z39-5&pZN#Ol#3vONEB2E@f<5KHy!uG3nm&l?nMsq zv&3*35h*bcMo5?tQcAIIb^tXMKy)PG^I#NVxM3hbO*wEZ=n*jn0z$%=kr7H_KgZDk z@fP&Jvq2A_BrN7$8w=t+iTm8AHuM%^YD}H^gWkMO)RQD$D=)AO8TI z+*WnmYA58o`}?b_tLbL@t6%?QTJ~TLVBra>wVt;f%z2)-o6~nc`uOVoXK&tq`SkMf z?cs2Hf6x`1n%ZdEQ%b@K5tum^hDZcV;IP%rQ3w*T)LIc>w_8Mbs~Z4LrO;XCf@(J0 zkjNhlOgR?^(9ugtwQeGbQ@UFZiA6+E7{Q{%`!L0YSFc~a_wv17Z~w<1|5SFDPoIDA z@o)d(cfbFA8{=>~s@3Cq+*)_@-Lk*DTFR7qvn0$&NVb1``E38>c>DUz?d{t)Yt!D_ zy51ihY+X;wvIhf1l$2F_up>tsB~7JFW7N0`PSX^ll-+KhaycGO*Vj+i^(Z2{-9?$_ z)=nwsbIH&SfqO=aeN8 zQevSfFoo~{F(+BdeDU~7_WRr8&30VPY@RX$fuzev*Eg@e1gF;U_3JNdzt8i2U3-C) ziz{>%Ns`?`5&Q*K^8(5b4O$VBs%Z;)s&b#is*m#gFj{l z0wIxL`t8d8%P)TY#hXvAp1i!fy9-M0{rzpprPhs@N3DqX=)IRuude>$fBdgM|Ll{; z&z{}AdslWlZBS1~O5V0cBCR(<4vY~Iwbs;?naAk8pC=zg=Ah9c49Fw15K`|gj%v9S z455T63!7@K6##NhQRdz4E{?}T&Y6YA=sD#WFa}~Fev_7Y_sOTfeDdV|t|*zGEbqU( z+$Y?2%k_SDwcfwGJsz8C?7hk)W=dFqKtV~;{_0WykH^#9v48dY)y?gz%Ztac2$ije)Rb9)7P(GEz9oa=FPkmBD=f2nWklozO8GZImXb| z+B8k>wyj$STh|i}WAmJgqQ_+_PLgpPkdhsN9_j~(oFs7)eo(HC-lGp2r&&&NadE{& z+FOy5=DfSS9yXBuQQm8_!>Jy&J0070cO)ke7|`q8ahx{4-eVGSVi0YrVBk@cvhWSW zmpo59a0nw>$*%;b;&skL4?c2?i5Znw9MMu~chKRTsGcd8Fj0wgW zBgC8*fUulnM9Dr*@|lCkG*?BvN6m( zsGja%W?(jRYG9niqkv>i4h#qgeT?&4*qxXh!Azq`;^s`^u4WqkiD`4lteO-*&5x_@E!pv?!fM$abV;mmgj&P5)(SZomh&UXWXRMY3 zp3ykbfdfQpZ95V zdAS6{q5b8{_io<3?W3!XoKq@k)Oz{!+3)?$zjgcii+AsC=D7e^Z4HpXNyyiFYlf%8 zEi~Nc3ZU$&?SpTAYpdHQpZ)6n?|ye$^6&oj-~Gl1&mLc0rZjF2 z^)LSAPw!55*6K9v2>A@_K)k!ZfBE9YZ~yLZBi6&)+pk`~8d%qxc5`?7>a$ON@}nO~ z&dajwcKcRaREvd^nZ+9Hyz+GyA_f9PC;I;Pf9LJ%*MIA8{jI~{?)J@bJ*~_H4)ZjZ zk^%hg?$+H!^69j;-VxB%=VfQ^^E@M>xuUR00w#CAT=ot~B0?On`}p08@Uxkfc>=IR zd~yAF8!gY}GUunuH18+g&HG1J*O$-sWxiODPz`NSBT$RtMb#!wPYl@&2jX>D8+*_7@j9ClMOjOpTL_s^5SAy0b1v()0yr~++UqYqAH9pDbv=Fa!*4!+ z|6A`rda~g5_RXii_~g}(e)`MPX`Q%m;#O-)Nrdn3@0ZJ~-~R3IgB`Zh+uwZh$~5E9 zU;gsv|Ky+iZ+`yMUz}Rs@0P$noYvLMrg@3lX3B{eYi%io4OdDj8r@j%B5A8thh5DR zARN~X5ZwCR-P_*#qsPx$tEYACLr3dl43VUy%}g(tcicb6%zi46K`Jb6XcKhZBOgWY9~d zETe8Y7j`71s{Quv?e6mW@$PCW7qwNEhi0wg*JUX@JHQeV*SbdKRxJ{s!%S8A7dmE!iEOLwii1+t*Dd#=_ zOdnk?zx!Li`|QcZ@!jix@v|TO^hZDc{L{~diu-u-`~`sbUQ-ePzS!@-@$$v+`s&S{ zQ|ia{y$?S8;>%CJ`K8wU!by^;*1C}}XKt;6fxA!33OZ;^7{a0%9>hVopf= zi_5OV+=Qrar|r1**8AGA`F2`GrA&*14ud3vqyUn!<3-#jxsNU}IX^QQP?A*bA;t=aK@h3p!<>i`a^e(5qM)P3tv1HPU)#mq zx{iu&CuJZlS?&z}N@HzdyPXu)DkV&@Z-OEV+*!>__kjpgSO# zn(44!837#_7z`X-eINj#mS|M07?4(oOt1M3Nr2(uiIcV><`pVpH< zSRjarsSxveJnSzn&(db(<#Km_cZf1WYqhn2H{1XKG42g!$#gM=(bEV5uF!lOq6-Iy95v+(!``A+vMtUH9slSBDmXMl5kpP#4;yd z67O@SgmaSC`rT>m?DN&$P3`R%!`1hh6Tf>k%)tbG8@;J%@dWN)y#8W&eDzQMy?^hY z{j-0%o0t8Z&0*WNn02Lm_MF6UIOpOH^Sp#rgNVws8y(DG+D)x)ND~swMdm$k?OhQu z^22&J<>~frEv4LV8)q4P6i!Lp2vc6%hUjQbFm%U|@>(p$ z&NOon0COlmGY!y>}hD*6pwzeQm^YI30WVUCf!2cB{2LAP^HXJ0Xjdl8K>fBc^Rz zN2|TIKJ@nX{^n-uT@g~P8zM+z5eew@Znr-kkLT_D7|c9+KU;Go0YYsx;Mm~MS`8y- z7}CyccMJy*pZSw#6#O{~at@-mN)PlHa9vMF0FYGXWiIp1+j?`ny*r!^H~Q7*pWPh~ z4KOkGR)>xr&JZ5wE8eYr>~m=s~3rg_?>%jK$+N5s>0 zDZJa4X)gTeV!qzZ`*{-KdCGatm{VC6R%0K#GUdd_Q?2Vk#%8huS%#}gH#J1rT3fXv z!g_nN%o*m{k;w-?*f~QjF2d2Q5@8+6!nM{~x0JG~wYv4zhMNt`QWzxxOG=|hJ>9l8 z`mlAa>d=O+TkB1?t-ZauJ)E{)M;~?T)iIM68>zKEOc80Tn`%e&(YggwdFXK4daHG- zwH}X$SjhJt(jIdg2-td$`CRC0+Bg$e0{;YvV~pPV7=w`9!OR)M8R!l)+R$O$Eu{3TLg`_4N};<^KLY5EMD3h%TlqA_C}RC;}02 zP9-KK(=^5SWS-|fMz~;Ou|dqc{T>`yQv4+P7y#aTi-w##^j@u>S|6>CQp&}})#Yyg z;-il!!)Kp-k!5#t_f{P^XY>XJz=%mM$}~?o&qOTS{Yg!SDIu%rTG!7%|4h;}Pdfk? zmhey2R!IUa9JGB8H&ZDkjJ&Gj^71M$FAjKIPiC4*am3cDTzG6^RIAQsx~uTavvt<~02-$>HU z))D-;uG4&#K}OqT$-nyYtM{Hfe|}LII8RedbZcEn9Lbp}rMXNq5sjhDGEKWceJ<02 zgjA%YB20#sm`5Mmx)Dq54FF?H8qipg)LH{SlQ02MM@LxMVYFfD2DNG(S{;%(3sFQ< z5Fr%D07xuAC@JS$kO*864GEA0kON8`)9(ki3$)Q=YS70pHL&pAp4k%oQWnYNo^k@lZr#yX1Pn;yRN?4m=xFAuhM;F6GUymz6WfW>`I!>LNFqS8 zHqMV48vvlK#hKR~Rh9pj|L9MEXoS_>u^WjLa5Zp|>>l|6caPnBDDO=*`p?0dO)1B*eC^aI8b`@9!cE+gi;z@AenW z9J0|+VMjgqESDri1XIm9mub$q#CbIiAgX$E^DcgkF0Zaahp;UBV>=OS$NS^O)n(gy z?frB-+ZvbU;Z5YaT}tyf}NN+E#V#q~!YefxBLw=7F4d-p;qQ=Wuy z$|%V0o~LrPTs(RF^y+fA-(BRTq>Pa+W#(YHiwJXZ7(lrXBdt@Jc8{)?gh}#A*KIvz zUY6ZX$LiKnnucM7ww^z|aMZ0KB9@$xV*e0oQyQbI8JtObvTds{n~kB$NH8qrGI3V$ zB$84(!?VG2F6RnlN@I+aGT^z0Hijk=A=j?mLn33s8Gt2C%#>43NpdMM7#li-nTdpj z)P3|sV(uvy5ef1KB9@Yqq*5lPb2&fsHIX=B#*}HdpG8eDNK?)_lsILUlrpopo0RNo5vGjvX+Yz`-+I1yo5$Dg4n78| z4TLc|6P?Me4~b7i7^CtJ{`fzr>j@pq{qDF9Q+H^i$7^tmP8=BnJ|2(DG7}RLDY&|? zqn}!>W3;|)bxrJR?M=g?s5%@8Gz5+!Lt8(!?|tw0-`%|GqsNZW-Iv`i;slZsBCrS( z>*yQ}4M&ogzMf5HUy~j#FE0Un-A>EAj|_4AnznuxvPRv_%xmlGR*8T(U0*+a_R%-q z`{<)@ed9YHefwKe+1t~#1J4;}027>9^Jvb9#1 zWlx061PDkdl7gzn%py59K=U*Y9YcqkhnCb#=XnWFrK_px)zzbSZ(sl3U;BfvzW5YT z0H|#ZS#}o}jN}B%e!uK@=025)n9vQ7cNZ5a<|buFK%=+3n*f+8n^MVTpiOdlJwKl3 z{nO_!pFV!}_{pP-%gbfIlL?tJVgX>JWacSlM1nCGT!@ooMkckZX}R280nLV9nEKY| z-Gc19GW{F>>fiq9Pks!JeXH~1>pbrnBxeaWps6t@LhgOE)S%6?4zA;vGnZ5njgkc%2+$y? zO3HxX!NWZh%LzdHAfk{2#huywtozB4^D{>xVPQl!>$Qao0l)~c^=hVW8m*~5%)ee! znRzUOh>-BzS6_J@MKT)1#h($Q3pjcY2XXk11C0ui$r&n0aAsu$&NVcqj>seo;3?)E zDTTcw!h+MZU71J~hBjh}=L#@iTrS$+#e46+e*0<37hyk(&uiS7Rfn6gu$#43^RnZ) z9B*%jj&0kbg12p3DN}4aRr}#^A1_8gtlQ=uE(`qH{IG4Ss|DC5- z<@T$uMu*eeS6_Vj*>ZLL`EPz>j*MFC7(Rsa^NXw9Tnr4f9@gGl3noE`4dTwvEaoGn zq&C1TX2NG&4hDK1h=PD;X3$yT7LPSSTlF=jJMY$9fOj%OC;ED1isrWAORk9c2Uux(q;1&K?ZQZBj7%Tn5C zCC#z&2=sc8_TdcJjT;cQT2;sBqqa@veEa$h7|dzf`gYpJdTgLwbtIV?EKiIcmfRlS z?I4^Ri$h5n&0A zc*zBaBl0j;0wW~Cl5(vZAjTmS-SA9iC4W%j06-iN{QL;fNb&?S+W_2Ln7+=p3QOqV znHfO&AN|9>XI+nn)4Ht&zOJXy2NJ7}Ql&JVrc^VN!oQl0=1`j~e+ zM4YBM5`ytK4@E)Fd0BR<7KN8Eu&EFdhY z@ZsG_T<_LXuT@GGnO|O(A!Oa}Z{OVav7Js}9x1|j>LVb4rz~Zf%xv_pr>y4`QSUwH zEGea&a>`?L00dBQy100{)te+!$k+~t`zKGHy}o(N`5dl}+1uEv_O7auGq|gclruAd zn*xxCnNBJ1uOCkrd(H_UmCTtf<%Bz47%y^p@^bp%!|Ufy9#5$_P)eDZAL`8TwHGn+ z`5cs8w*do~Nq|!VLduD=OeH;i{9?bqU?C7h?`gO1Ota+Hw#)tQ$>Yc7>Z*~=h{QFE zAi(vbC%3onM(>BiefV@UiLjKE8Bm0D3;;4SPD0GRwImY4)_~82UOP&)?zYUk|M?&O zTVK3;mCj!d&eN2WWSNj)p68ONYE`7IHaClsma4{AIC@7!1rH%6xa0XXW=!EeCjbaW z>4N~wBb^#5@{&tRIqKOt7Zyn=13HkhAOm{si8+-LOTyuX!g-ni!Q3O&5|WHK6~>DV z0Z9SP6EPzTl7Tlr@8Osj0hwupcxxq6Jl?N!*;qqp3qqlB+u6uB`vZYwnKfR zJQd1;B{{cZ%!1>GX#3rwqlZs71YOfKYirZvD`A-=BcEN_z4xh5ql2oQy%^3@^%#vPy@Qru(H;e+# zKse2lFcD)en}jwq5^ZLv_W2Q;UuhWRv@1Ch{7NtkHP^HP>F zNzVNA$@P=R`{z%t_m}hay!7=n#_9f0Ss^oY_ho-6+{%55jW(F2wHC!mKku37fs_WVw@*L)8FZoT!u%sz&hMW2M3b!g-_U(D~TYVR%Q0`A+kNlJoJYmE|Y zty@kd9?7@5dz!AUAMZZ;;Je@at?v}bzxu1c{L6p&Pw$V%q0;*51NW15mwLCJwi}s} zwyuinx|UKR>z`6$&b{~1_4TXQ;hK&=6*I5vscqXgzWI$WKmBCuhnOa;+lg7yG&vpX z-B%Y&d2_fet(&P@pXc4Sp5UD8RCjZPfaJr&RwhYek+?v)jZAY&$7RfbJZ651dm-&h`8Pf4EWt8WF}-nHiXf84!Uz%{lim zhPKSphtqq@etCBB=)d`|{$D9AbG~~0>eZWfcVB$@=Kbqb+t!#COsGZ(qcy=ar}52i z?LYf!T9zH6U0htc>(|RpHbSKJv`y3O&~ywlA4APtM<1kN)OdjYI&(U!Az93=Jv4=gxUTD{$M?Ve zJAiO^fBz`&f)gBYA|ejapN^plwYFthrYZH&+4*b5v53TIDj)}{zTaPjEG@`2QJ0^l zsZ7(ht|{f(YP?$GWxg!)zx{9jyMOj4e@~Jc>E!k1%eUlP9G!(h^+VbD^;V5$l7~FTfJTJ`Q$NSx9VZ+~qp{n5Qgd+jXp2N`2w73Vb{8w3 zn`$TENyAv)6I9c&z1ib&emzo9u>}NdOQahQ42K@e)iH2sO&U6Hf0m+>rO0{7XrqP0 zucRo@@)sZl%m*2~xDQ`J`KCi<^nb=4%_g!Qu*oOc`M}xL2wxN+rbkDfiHdT13K2|N zaq5u=dr@m7&zI5_VVa3Qf=mT2S0^isS&?_lcWBFNiQM4BM#`eL_F&wO{?bcc=zBXR zt(qOafm}cu-`lc#`+HP`q$ zR}YFTgg!WOlSw_Tc*aQ?V_Y+v{8I9Lnm<|gW;$rM5f7hJ@r%zW=>zTLkLZVfL7LEG z(jGE~KhWo6%_yPy0t&vzzJe<6^xgC(6{6h9+9ACf&uEYc@dPL7lDsI^V-9lHRX5JA zlw>^y#V=gctpuxc7!~l!CX}Zs`m2Zf3lpkr_z2^~1@`*pZoGclUHXH+7xRf^xfB_< z(3v@XEch|uq8gmt7`i#Z6y0bdTVq2R<;b;c$n?0RFKzq1BCjz4y)IHe+A0hXS(#(SkeKOcH@Ay-cy4 zd?URvIr9FeXjfS?S9#`xoIKZlgM<6VmK_T}&v((Li7#rA-|XfNeD(r%EsPqb?|&z8 zaZx$!=%7JW%R;4}TxQF{VnF2S@dwLV;+O|980^1V5S{|18z7kNbLwnow;qkjpZ7&0 z)n0?Y`g=;`|0T++!}~r!obeT?iB`v3saOa
>suh%g+W$4cL|-C33| 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

4?swW>3L;~Kl&=vz;vF|H+LvI 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

l zB@v-$sbI3$_lL(fEYQh|mrWR{3YTaMRT*C?<*OqGDD-__!E!7WeJ@00(A3R*O0n{@ zy>lXxOBNMpZHhy!yFf*zS)WrxP&3;(uuXtc6x4-atS!uhR9(N zY(}FRavu7=%5-um&1C%HcfbGX$G@rD+IsM2F7=RufYpjv0VCadJ)TU)vsvG-37{)c z70{SmlIm8WB%n!|(0Cszw%J%mhC~XW7~7mLuBW@R>TtHka*>+-0IZYbt+x$8$QTts zB{mpUoNokB0UQL)3Kj)S*ClSqdw+Ry_387M{bqf9`<8FKl_6^hlW{W%R@hPVm;dpv zuCKf4Y)0OE{oQXYuC5dycU@!j=DmZ%>EYGoC(oaJdUbmC(XW5>+mAl};a~sKjif7WQc9(8&N<}_ic&z)C;><|iUXI${PN|C^X2+F71G2d4W(pd zA!A0+LVOB*VXN*A#zKL=0J|Mz+H8+MzO7-)aa#Uew z9T~$?oV6<4wykh+hJts-83!CjVK&*>ne7Zi{F@*C;KuD^vcV8|heSYR4SCU0H9ewW zEEU$pVjYKMT~o0_gr?d;Mbwb7*4H>nE(wiMP*JW@L1TRt!c+lR%@`?R2!1>o@62{` z=9p5`G{S|*K#{_nnH^Bd2@uJE_qMQ<3^^ChtbkW%7kw82Oc4&jOHN$adCy#iG_Xij zwIGs$rkrCM1QZOhumTxlW6p$7BjpCG0*#fZaD_5%$KK6kMmCImOQ_1p930*dRAS~* z`l0vE5u$armJ_*@B7D3%dGg}(0v1??*dHI=LWG=i;Syuin7;Aew|@KaN8Wqq0}-Ye z0fCt-eWGd~V~RQFwrNW#%gu^&VJ=bF8((+4^_C9xpza)2nwW6Sx~Xgd3^w>7b$9OF zDyj5+U(*PciB5(9z*vh&O=v2*h=q-J0HCE*>KqDSQ6p$Xi=z5KDdn61B&YuB>T0^T zd;hgZ-r4nLMT#Tav~2^(fBm<=NLdkaI^O-0fBg5aubz$frmOkl<(E(2e(&8IM?1{@ zPk#2vC%=7pew9D{;&MG$G`8=CVaTKLZnsHSSC_-8%npwqKYPy1tJK9sceuCrt6%;6 z$&2~XYxgxp56$9gBiuiD{ekmA>M57NS{Fhv##YuMk*U3i(P-?PYuk3VyX&1FPbO~U zn(c#)vbkeydT%yvOoJ~U|Mu}0r=bm?V4P!?3IG_5#+%K$ zveuZ(WHPP49b-(jlvYrjbIyD3D_Y!|>fdz6Zib}JV3xQZz#72hoU_j6QdFS+wFuEV*Mvs6OlLby(;#RYeA5I0 zAR_O=R_~#e#$}OeG;v$P$)!|;E(q6*9av+WPbJr27?+HI##kcSbbZ(NCG`r444U2j zqna9H)t%YCFo-B~t{r3AdXKnI!(_4tqReG99xay(M0Cccl8=sW{?)(#caxo&vz{vi z%enD%=Bz^n5p~WXAv0TRMb(8s#)2UdB}Fopxs1nS04${tnZo%MI6_djFb%D-7(|YF zI`$W*=Y7l-9Z*M$rIZ?@uagO8uCzS`P%^-Z08$DmA{607gd!1DAZ3XKGNY%=Sj! zb^Y4AHfGUga&mp)4c@(di>xVJ2)B3dSO1`@)T3IAL+#t87^SMRO45>5G9ZZ{ATQVJ z^?H4Ac{QJ}>UkcJRK;0mjVXy$Ob-&KljEZsn|O6`vH86}_}i-^KklUm8Sh)Nuyb)H#Rn2aqdP#9RoySt$YPztD3)zLT*0U1gu*Hd9# zh31k~HO1mxVCI;IYSpef*TMyXUd{hX&MD`TQ#QtJHk)CH##ok;Vgk_3W^If$#&W6K zGO8;cYb_DBZ3_rpw+W#IBCa8Km0WU8nK^TjI3xrpCC4EeYgfx9b1_6QZff+^`=*pq z?^DAtu;>sg3ZLd|-$#<^~D{o1?l|FeJkr=R@hC+8O@N%CgC;ZmB$-@bd?h7hdj`()hCJZ?x# z*YUuq4I>b>WHe9~+Zy}e&dt%JRc2Cpb>pakqPjb@uTltrNV@&E0E*UC@E|Hk&gJyv z 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 literal 0 HcmV?d00001 diff --git a/public/teaching-styles/einstein.jpg b/public/teaching-styles/einstein.jpg new file mode 100644 index 0000000000000000000000000000000000000000..33719d75b7393fddbc1d52b84128515cf230b42c GIT binary patch literal 38674 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 DTR@Y- literal 0 HcmV?d00001 diff --git a/public/teaching-styles/feynman.jpg b/public/teaching-styles/feynman.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f17d0b2f1e6a604e1906d88cda669727a3a1cbf1 GIT binary patch literal 36843 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ɟa17}tVrZ&X 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 literal 0 HcmV?d00001 diff --git a/public/teaching-styles/marcus-aurelius.jpg b/public/teaching-styles/marcus-aurelius.jpg new file mode 100644 index 0000000000000000000000000000000000000000..23ac7990e0acca7a4fef027fcc5bc63cbd178b6d GIT binary patch literal 28019 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 literal 0 HcmV?d00001 diff --git a/public/teaching-styles/sherlock.jpg b/public/teaching-styles/sherlock.jpg new file mode 100644 index 0000000000000000000000000000000000000000..28ad3a547c9c492e4da5f21a4b477e5a2ce59bfc GIT binary patch literal 27360 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 N04`&rB+q~I{|B?uiSz&f literal 0 HcmV?d00001 diff --git a/public/teaching-styles/socrates.jpg b/public/teaching-styles/socrates.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a27e77fe11d92003837eb696b6bafe4247e1e211 GIT binary patch literal 38125 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 VI?U333OSKH_pYw4LOL&_|Ji_yjp6_R literal 0 HcmV?d00001 diff --git a/public/teaching-styles/sun-tzu.jpg b/public/teaching-styles/sun-tzu.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3bbfb64c79f99d901c855952e5375441f6c40c7e GIT binary patch literal 26685 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%0DM||Gr;Ju z97{f2iTjmtI-8T2G2{j|x$MJ*1*<~|AzoA%wWE0X3|Dh`_FTgP=%fu=Q{Ehmn*s2~ zwxc;U9Z3x5#lF~ITC0-G1S}J$`540#?$<=g7bKB?PnICQC02MUyAmS&hn^W-Y*mX8 z(c%Sp^qez7l9aMDF8;V@#aWgVD-xkrL6L$G)WesVU{(Y)4^QC4U0I!VGnGsDmPf;< zTqjw@NFj7BGbHR7&H}?ym#RDq__WQ*orVOUojMd2H}eA!Ylgca+yW=-f%k+0uubf5 z9=MoALKxHxIh~I9VJOqmB9oC8Fvsf{>)cU^%2p(je$>nGI^=p-V-&veo4oNutWDz8 z59fh#1p_l(KpItQkU0pb0QzG&Z~j*--;2g4oCUYa2g?Y$hT+ueum-Q#>r~c7^>?)w zRQ1vTo|eY9juVwfIbvv6*A;ha7PTx)&w#C08$5!{_j2UE+WQ`M>O#YSgA_P^I0KVl>KvW2Bqlm2(xT@m?WHomz`Z zj!YUz7==Ru>N#$9>Tup$$C=3^_>}Oaat+3#NRoX?0{&P}F_FsDshKr0)Lg39iKYyA zMk-uNjXHU%o!vA@CLutG#=4uZry-1&AerC7aqO*E`#pEo+SQmVO~8&v3=j1wui-8v zayA%)5@^(7d`7TRdBioom@98he+sOD$XsJnP?FT7&Zk{ocEA;g%L|_sZx#332BCb$ zU>kv^2TP1~?ki0x)8TY!s--C&03mlAu~OpfR;FO7AchJEI}Z)LF{3xCLAV-VA5)EG zI*!QfU5W2vN#%QBxg#}{8;u0~VB%F6m!%}#I{BOvD8%Mm5=a4{PnH>=$5O1FF)=>4 zVcmvSj4=}CZ@wO;2ioZf5Nb5}*kW0xVU%_RhBb&LZba>X*8pU|00E%>V+%1YLG>Ag zkvxnX0e#WuQvQ2kN|sPXh!*m~rI^&H2{G%2ICqMx>bwKK3rNin4aa%56gBFGAXIPx Iu+(w?*@0gUlK=n! literal 0 HcmV?d00001 diff --git a/public/teaching-styles/yoda.png b/public/teaching-styles/yoda.png new file mode 100644 index 0000000000000000000000000000000000000000..0a1b37947306480c8337137307b16df2940891a3 GIT binary patch literal 177985 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�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

y>2%bl7M`}K z(rP$-$?#j9lM%|bu?YM>Kd=O+Zn4k4A|2e>i8-6kD4RO5)=p2&fMrh`VeF=iv0y|Uz5n$`=Dx);ipvYn}4ADFwj-BIw_^PqJz>Ba5{)5l;EGuwtvar0i zX#0>*M9QNB8boUOBOXxim0=+)%{j8j+)6KM`J^DiPKepVqE_ct=obf-#gpey-ievT zw7dHOQ%APQ=kD=pcNhuFJp7yuKpOaWh1xb_egJ&#{4CaGg8uYQ%X%@qW|VD)5m8eJ zw3bx@O4sHUzM~30Fh>ag^w~oUg`f_CidPkLzyL?epmnxZZdzj9*$Bqm-?EMEn;OcP z$F9&AEwTL?u?wcDbnx8vluJmt0RfMbKokMisLvjD;IrFGc?&M!z28zX=n&x;#h4b| zLU^&7;>jR=hgFg?=wY)MCyhhVav&#?-rvye$33fPdLk?^d&{buy1>)#@SZ2{eV9J_ z!=DqiJWktd>uCdpuYx@|*Zmp<`pw>6`u_V@>D%A^j^PcQJR+um+`Rko$LZ(4_(fV{ zO6%T>R~Wf22U9Mksik#fvOx5+fX81XoF=sdW6;~4oZhDAl>eGk7|t#()9Y8i#fv(% zcOE`F_lm6P`Hk4xtZik2n-DDy$F* zqJ^>{BS=2}XtzbcLZ@kv$ z{ZX&QJMm$1ON7VvI|R^11<^uz!9LW08@JVtzz6Sbpu!|+yfW&G)}Ua13l+}fy4dOC!d~& zPFn>mk`-spe|Ixxz)g^EP9g*?K2x4$Qc4|07oK(!W8qp{oX}i@x3~f5lIkmdGD`!D zM#Z{#nGnK35e{M4dvzpA7ww%zP7h_w4fn=<;?1ojxW-l;B>CLmfR5wst^qYYHp(-< zvUti4o-Ozacsh-?$`W3kd{pqrW3Mbt8g=RDJqS~FSVv=mg4kvDbobNr@FB*GHO-(n zR}9~HadeW7-yY)W7}9}ZoMqbW4%LOJ#~%?Xu^)h`$H%AXum0V?OAG6p>C=DsS^D5d z@1}qKzx;1$k9<2zxvhD9nSSxpkJ%684!_W$wk6GU0es*a!u}B<^g5-`!`EK|zB)4i z@=omy&jrZJVVHFodZh{jL&(*$Aof#p%V`0_ElH;jXfQj!iR?3)8%4o~u|CS2_z2EK z`9$f1w8J_S*=LXHnyxNj-04wZFU|lY2bAR67)l3@h_tKNDz)IB*NQe$);%f{IIbA9 zssiv#(MqdWBWD8;b`LS-2Ye2>L?8Jd@`h~tvIp=DqfJJJ@|FX&18fiaM2@dh z#A)yiTngvBwYKz2A5yY@90-rPkenJk@CAgs7Wa93u;gUHg{i?qVr3&#=id&1Kzn^0 zjD&fP;kxA?JQfQj-B0f?SR-QZ4H?Pg43l^t>cfKQDNtU7Ur*upX->Q^(OWDHuNmfW z4}x&yh`!ZH8mt@t#wx4mT-$}UJRuQ7Fc3K;H=ANQ%px9*l2#MX#U|=a3xH`VmoxEP zl*tJ;j}@Ij5C+5hV81!)$&#Swi#K3_ogBX4b&MER-O|?$A)_AOkyv5@1@ctnP@@+ae zIt5kkr5AgbL^x1T0o3Hw+wyt>>aVre%Nvok5xf=%zk@yXMmg53L+%)dRg!nh?e5$B zf$_8pPYS7(7T4YrQ$6pEkcRy-q97U~5*m>v$)~se-bH4_3r5Vx6D-_%_#|y^JV+G) zuR8BLc=<#6?Qj0CbbE4~9&K!-Pd@!g`s|NBMTtL5ySspxgyZvzE8(R*0OOq}4*(eN z(yxE@MVbe@`1B7xV<05Ph)rGwNPXwo6XZrOh%4aSdS$4@ne;ce$d(X3j$;9^RK;vt zBAnTz(!d$)P;2{uN-{l5mL_3APRy*cU$7W4>J9*%o&+!jphKV85@nTWifg)uqWe|} zj5sB-6p;fF{bkNLcVMS1!dq~O#;wGuvvk6t6FnSDfXLo2avr0j*#n~>Bs=6-PtH$R zLADK#>#yK+pdY3QCZ`(daJDF_dutl&oPBlE)FkFB@GlZlgx(T1>!Kc^L|$5?j50s75I-Le zM&O&+(818LOUzbhGn*H0@#Lp~IFLE2o7{j)L>{IR@r>t3hX_%RJbaCiu!K_uTfp-B zK0&)1_|{CEBIjJEKB~g-D(=yaD(R)35nc!Eb55GZPSDRzE_1Sfno@yzDaqB$AxP z;DQZ}1x+u_B$b#shhRHHuggq#yWs@jSa6Ijj)C>;lbT4`-QIeVWEP50@4wwoSN3&x zFVjaK{USYi|HCx1K;(xJVJ1a-{^lS$>ASnCmyl9iJ#vXP~HmnqKk zZvjMj7$vJQ)l{WYGr|zIn7w|F_f|GrL`OAd_qEU^OUfEto!9uV6H^^l48fEkN`Fll zd)aw9GIbvPb_0-Ej4?86L>d(;^vNh$<&`?Fe7k1iPLW3WQ}r|_7z+Ny*N73tHF*Xu z$Y*$MK#N_L&9potK!6X88|{I%n?p!+5HN6LuOOPjD^EO&um%s<&K$K4Z<`k=U@DDA z7CZXJ!hK&)i2;eWQ@>r!HcDXe{LUZ>@L8E{PMPIOCVlsT0xm5q zh4(X>@N|_Knn@afRr`D2gQQ+D3!Km3wVSZOM00cWt$RCDdVfec9(rhaAq94tcGa7r zbW$5XFhdxNr&n93}5Q8vo-#>pDqlxWZ_q_FMrk-Fw5FCwBmwsxLid?)v z|A4KZJSxwKg0i*^22o6Nq;L*SzJ1TU5ktWw6rQil{>nfw zya2=;0KFVS>`9|_I?(zfBL#>dD7M2J^Hd+Qc1Ixtj!d$d!?o_wJHER6EUi3#jDac8 zymFNeY5!azum9*j_;WnoLb|F05*{58aU7=0<5#IknbE@oSMb`a+Yi$!-qFdg6}sGx z_TQ!{%7X8I_yK_0B}~D)w22}+0F>p!=rA3Idm3S^7w19WuW3l)-m}!j?;!jL^gVdG zOmF`xR){DC`6`fiO;anca4)?EN?$)p6}}r3L$C&&ax(>Jc)@o{AIq8kkya#* zx<>q1N9xd24(1t8H4heJism_ar?mr0rqFDWk^4&z!2oAr{|S6qW1JYyhpiq1$?TZp zyn4#5;W>sg3pg!=i#1?PkYhbDUek3pT{RLDM=><-Q&FY)~=4(MtmoaBcL4 zpAQlA2;2F)xsD$Z*i+%X2bo=7#c-%VDDS}l_ZXcL-nc|Jk;4b^GO&nz~lz5R=RaQR0HqTFM-5#bX!pvfssjm+9BQ2<7bflfmRM!YWt|*Z7SBH3*uxuKH&OL8#LIIHhbLG) zn1jj-REqGSFho6$MVgWkMwn(B=;G2M--W`{n9?NdmGx$bZ|kPR4$L-!|)xv+9UF~gmw2l5nf6^{@~s8=%4%%IXp-@m5MT0 ziRz#-o%6mp3L2q4qDNk$&K9Gtn{(qdt4Sz*dQ`)i&=Wut&;ogWlLHUhK;1hl>*@aE zKTO~L@GGdlwIJA(7%4S`28HI)6YCHhn!xveH6{#&?*|b_nn>xikAevm87x}r9 z(D+6TjkzJOna3D?*x{x1vt)r);$HDkn6D7*2y?kA0~e3MJ6l}@e0r9Ak7wyHK}D3+mGMA_$viEd z+{WAe12$!xD(G#FXmfPZ>;w%fz*=NLhUqODNNRXmW~u=g$(z1ck>FrE9me|kEvdo5 z$qPb7q8XIVH2#jL02~-)uq%%9!#Z@BSs8$tXCUPaJYB!zqRJ?~7TokB@;&y^oZ1sW z47+W5>GQrkTnIyQ53`tE+ocMDLV*(ZFcO{wtD&H2KTVPw&l2Tysf%Aj0_jm&vt-&~ z;!T;-($ea7Jm>kzemXgN!_=Ek8JE1xdt2#(wY)fg%NV9c`hal!y-$7$hhZ%^>|LUi zJMe?LgEutT80#`MdU@V646qnc+I{}RaZE3I_;feD^ZsPIK4Nc3+m`6bzX$Nr7|uZn z_Tz#@J6gH`&oe>Vfj+JthkD_;4TRMDZTTT$NRL}9#h`CL)i^CFs4*zOc4yJ^|)vz zzfo46F9Yag7=JhzmETkmyG9H%?qqH$S15n2)tCD+TcV21cwE<3T}YW&?GTVT)E9eUv) z{1F1Flm^vNv&B^;1(Pbe+H!ya+ztuu3L2>2sBEj`sI zhY?EJ{8Au)zX3GM;}E>I*{Tq)%(8)QR|xFo}e1aKD*PUcyNF*^$rAx*2jx ze6cUu;es8?dILP%6j8<8$}0OfVgTY>ssR`e1ip-5O;assqKx(W>)>Wo=!JJ8jt5TO zVVs=CQe|E2=e~rsb_0`ccjvvdxVR37AJWPRQ4nkVaC0Ml^yz=fny*D({@c$vmkiYV z9;0#1w3!ynvuUUBQu?%Yb8~Hp>rj8EMR$39HJzPYFf8JG4#QYU+fSd65+QrYM}G;L_RIbj0Ft%GUd7fCD6IWWenYQkZz_bi|HOF-{JlX zw#afT?W?4xj?NzGg(BzPdc7gb5f5T5o^E82~DNFTg#W zN0$VAd_s_ljKhl#G;~D=g@Vehu<}ztcRV{!hNry%_*)djs247aN{#_g*Z6WopFKua zvFN-9ZQ*5sHp|ZLaU6Dm4o0Z2u~%ETrj9}>7NCS=rGMfV*BTk)W7U)$^p{^)2!wlx zr_SK%hBPFM5F}}OB&}gY4BNe+R6oP*A$gR8CY`n-dPrQyzqM+7F>kblV|Wzv>HIA2 zS~L?w1wwBQX(-Es!dEsI@)Qv#xJKmRU<6#KWi~_2z9XOj4?VfUk-$~@mzOto38@(E z#G-d(aPht_WEltLBdRDHL;4q&LIJw~j&@p^tJav+-s+rltj~LVFIJalvAJa0P`ZJ4 zM!7TDhmmV{Df`vW4q0R^CcWyU1D@D9!RC3+m-lBW&2Bd-y(0gk;T5&s6E>V@01WD3 zJn}>dp1;+@3v1N$SVMp_y+@CA=@C9Vf#&I}M=* z)w=O$2rr#5+^M!Brp+30DbODITR}k_c3Hdpn){oD;PNaKc!7HVBwmf%$2eU8ggsB^ zhlgATUVfQ+I5gf#)}=(GX4pEQ{I$9DIIV2I7e?+DykLaq-`dJ)$SU<;Q zx2XM3u`iOJ?(XQA!_!wO#ag?`Oo49@B^9Z_g zZ34cD2YHIlG7Jh$7ky!Be5! zhRTG4C{KpGOu_2&9y`{&rD5=1QC1$rMahz@df>c1m&@~u8zP659cMUgaH1uMakktp z&%w{kE_e^0_wjj!-@pGmZxEyt@pqG);t~sj|BsPVc*!9kM&wd*@XZ~uN`iV0V|eky zchNZ|GtHxPrYN1%M0e=hG{MwG+GoyI_vV< zV*oeK0PEfWR$ZnJt)L!5Wv(l5md)AN0y>YPitMvH+&jjN5b6qHC}0fc2!ln14-S3+ zz2(3M@?z_*9gNL@`DrcEgdRQ1J@R32Eri5&WYy?9vT3KA%1mWJm%W>G?;kO7eM-#7a)9yK!p1*vZ zUcLAhC3_8Ub`jB;Ky0rEcu8YUr_Zrf7+!}x4($q~G zb94Kb8A>^_$b#9%)y6qGIV{3z9xQ6CHy+u2!-hCC!frJO)(2om$l>%$)%9xiekzH@+wj*}|l;kZ=1 z&BfF>a3z$Z-DOr77SmBnhSpP1T|G_3!{w*3)U$Xjk!-D_-Bzp1YiSk6l^cnnWNb4n zsIcPhZcgHw3xuQD0UTy5We?Cs~{zw(n#yuPtwfFW5_;DjyC#D%C~OQ(#j6Z zwT1Nh#dqoZuYZ%S-tMJ)Ccf}UC`^&}lINmm9-L8vk?0)v%_kqFb(o3M^Yfg(x=gT$ zap%8F!sM@h`11yq-)h#5_&x(5dkWIF(pa`ZQpsYk{<1DLULLNx^0m(FUG1VFI=Yy;C8?;jk}8@ zWP+%Vy=-v+hGzw|LG$gPbMGQAr`+lRCRTR%qSzbd*I&xK@>;-%ST>Vm(npas!1ghS zxR1FbBK2%EpC^gqXE+XI-&2%ye(Jkry8@rLtSsK8KB}`i%^;|uM-i^0N0V||*9o}=du(}CQU&Bjc-;)1 zEN;LsQbT~X&1(oS0y5xoQ7$tM@ZbD04&`q-tb*RcX(rJD#eJBE+h5$l=wP_`R#OD? zAZK}bO~N1|1<$q;n}}ni5CCbROO#U*=R`Xcu#K=zLZK{^yUub_sX$bndUb_?1k=t6 zN9l+v$tCZhV`_-7%$}u1Sto5Jt7Cjkd-hFLlimYxD&qLP`|z1qi~E7 zd;aE2#)Q%7#P=4+f6cSIcVYy3YoZ2r!q>z_NE+~T#8p`N%%FzQ%s|_mrnJMKMY^wu zR7BeCa_fq&(-VJ>05e50Da z`@8>>p(<}uVeP~8tN;CfrcE`IKKuE97y0`tLq2pU=O=LQ$@x8b<;l|z(wo;W0r5Uh zyN^BrVSkCQ;7BX>Q}6ul2OlvPfO056EHNlyId}~On;8su55=+5tx3DC)Z{zZgV!jq zM4TRZy%mpZ*4Sw=hWw3=ei~1Xg7J>fk%1sCGNIg9IT4Q;nmVzU^3~%6S#XP6t8 zC;D?~`(Oh2P-I@0ha70W`Af{A;~jj07u{2Y1X*&dl*()rE`dv@=qHWrd<{`VCy-kH zbZ)%SfF3@aw&z28*n3b|xfz4*=zryAs3JzVPEg4Q5NH-yA>&Pa2NxvIQFjH*#{@aP zmK)J<#G#1%Fwe;0;0gnzXpwkIZk!OqJX23@PT>z!X7X0ccyY#?4$2M$V|EdrM3*-tM7O5Ja%Zci5|pPmew}`13A3m z;sp%3Yg%1DNedefqY`j-af*achet5)FOO(}1sEis_xyGv3FWSrWdaR9KRNoAb@7Ze zCgh@=dv9MsLwyZMMRN>w-!i4gpgmI*>@f?@X*?wD7;)ABS#ZYwkO3nuv}sPYibKIj zHt6S`hhF+;|MGvr8&?D278}YB;nZW4-hX!oqu2o$yQ20@mmvFbLzFVbeQd8jRjvbxO%ydk-M~MU> zBgfYZ^ByZ-aV!}>Cl*FoacStqIA_A^bK}l+j3^G#i9s$rhi=z{Fk`+vpYcre0Is?B zagL6XTifQAc@PONsJR0nc(Z4)p*!3Z8-suZbZEq`quD zS300!R#U@+07)J(zxMz|^OY8%KJpz0+*$UK1TjBv$%Ioh_ur5MIlG+CL4>K`;r)59 zY`wh&opKWcz~BKwz#b*G2C0BOzt^0NUczhU5&8)!mRNi5#UqT(+PfH|5`ue+BAIi? zIqgts)n_@(Hswf9bUv6HEfm@Yh_lY0?L&OQ04;57r_~3$Fv=i*P{x{NZd{x4R}H1Q zxjs!zJZ_u!mn#?mN_RGSR7o*B1hS2gb!eDfnr%=2)71%iFc;Sf_G%`3~F!KEiW#M3s(%TEtprZ+IpX6LuL1Zf44Km&An z$g}IIolF1r_)R){d&u|eFbJ2cs~i!v3wH1tgYY+eCzEVJ&5J0u$(GY@r8alrqR$Y< zJCfRFB!^ti!fE)=|C|3F{9qR^d&rT<+o{BPYaac)Kr#$(KLtAfo*VDDbEgkE@7)=G zbSFeQ5>sK!p;da6GY4j3>V*Jdka2<-i6GGsk(r9gWONXST$cES9++>BD^y&EsMmBm zN5mHA(*wc=jX4lNkq4p;J}6O)$X7ZhBFdYD?R!o<4TVB@2@^dcC^0HWKkxiCN&Gp4 z6o>qKkAz~g=xTQ`;Pkv)KB8&jh_PzMvyAg_6e~{Vf>ApBLHrZ z2S?=zy+l`|!NB|-?`Bz{Lv1{V0!FjGR*Z#kR=dde4Gj#s9}Fd9oUUjaWJcWdLl&jX zX$L&;I-E{ZjQp>!&) zG}By>Ir?*(gzc35h@r{}BlCRQlqZ-=&Xsm*|9BXAB&rN#w~Hb4}2G%c9#m z0GzC4V;_n#W19|MexFw9MIW%XTa@UY?*4~VI6%^I0Bjl6*N=JQ^CuX@CGWZh@ri@mggL+BtwpbDHbG@nFo-KCBP=X z*Z~1C$6Yj0$tGD5Y;f=RlKh^5f1ueoDcEuw ze1=06K+)MJl!(C&0AEv-V4QC+x7nU=S$OAX2Y3w6bJIX#t=(+yTQ*#db&B#Gp{pQU zgD{^d!wBt%fLo73!LJxn(LUV6p20CB9awjb>4TrC;`OLBbV(ITgrGJF*?e()c#ytE zDbDs^r7q7^g#@G$Ukl_JXXp{Y8A_Dnx*R=Jz}VRzesx7#B{k*+p6$uIp9SCE@mf{B zQ?gG1V>|%UATUV}b{|oO;H_py z8qxV4Dgn!M-eGmm@a&hA-}*#8_pM{@72F4f_Y8t1LipNcDFDzG)dxq8J$mvFQ=O{E zE&EwumO`JKmUQEcKTET0FfwSgtJ#IvLme271&mo9c~ak z%IC4HnB{18@O-OyKi=!~_$`R^Qu=5A>>oo|;0W4PLP~_klP(=3cumN3K*!W6e?Mc= zM++b$hX!1C&(fJ8D`bvy5bzG$3-ruQ00t2vZ#yZId!J;CPnBGq*bWQz=*8S>y9A2~01}?V5oc(IYk3JKy7e zAZ~1}rR@jL0AH5U)2ELBcIay+pfZGa1r5CigjyPuCQ4bx5G-IxZy0^tq!Wqw9R-6l zq%&r%j1Vk?S>h=19MTS30D6*S+LW1ESOz<+x(FNS0g(vr<2iE}1^?}=FhRmr;}WF; z{eI_Dy12IRM6lz|k1;^hwcq_1pb#v9{&f#qn8X-iNvIf*@3B;8^nYKIm-^HN=G;Ad z?+?Ha*3zqQzhQq4S#CpIJMl2!cwhmv5oIF7ydo1;F4(Ugy!e$R%3}~shIqa_-C$ML zPA)?cK7@6Cy>O9G-6oPJ@9aj;dZR{e&wkF%E&vp+lUrLNBnmS4BRVQT0P5bJ@Y)jV z(2Ek?vyc8ox;pv>4@_D#_b{z({sl_(UfLim&k@Zzs(2q{`^B&Rk90x*f$g9Vo_#>% zSV({U*PpZYOudEJGNdinX}VT)=H|d#7N;=+U(npLn?9mZ>33g!Nd!hO1ABaj(ZV7S zZM8XNm6K*6(^QzBb^R5kMX;q7-n2x7Ag8~9;!lY4D06kZIKw0>b6c!AhhkuGPr*Ps zG#w2Xv>~c4PSqgt#itPRu9Xv^>Ycg1?WO{M zwmKW_wUHOkI*2Hm%jHNz@uJ}%944u}j1@~;xg(rf2RTyTn^e< zB6N3jGX{fDg)hUk{foc&&(c5tr+-QZ(lbC9YqS~iQ~1H;rt0K9WtRqBLmueoI43;| zx57=607p;Lw>n=_6h)w-!-de;oggcvz|LHH{AK%1j~f- zAnc?BcMw2q-f>#1Bc071fuhL4@$zL5SVk+!1}pGh``$ZvGMh;x@Dvp|EU3>RxYA}# zT5#Fp*dQM#=(#)t8|Cl>p#q+@ecb*I7$i2Ui&%*c zVVq#i)krDmr=JB>+gV+W*4M+M15P=;!N@#>X-8!QFFnCtiuu%uhDbb#cIMNUU;IDm zPyW%Lr4Jr$r5YGZkIuHNTnH4-^W)BG5>f?biON3v;6pm;K+*wNJ=Mo(uG4JO7JL8~ z;4l^DpAaSR3{%h8;s5|Z07*naRQ%V#7|(!BtgLLO10pSX|2I~k_?d$r(7!PLDz>t! zqjegq>w=XbiW8{C*jm}bQ0Is^JrqS2ssG`ixdu@+I%L+c(oDe*FX zZWp2Bvor#ZST9(a;{Ic^kTdxk10o@%TqkPS6aGH>%lYCWNH;xs+-@)Z$)Emd`j>z4 z&(rog)}2efcypA#{Q7t4<%<`b3Q7rwFsF{9Rf##bH#SpY7GaSS%+1c>wP)}Qvch(p z|AnRYkVMa=5*%tG=nW1SxOZd`G{Q+jrzWBAJl7T3o#37yY~y8l_$Es2jI{#Xae*2; z;50@Y0ju-p?}|JkhR1gVlWed$xt>SYZZ6EFIva8dg)~R_Cc&n~JzHjQ_WBUR)Bs3n zec1jchSbZDn}{8b7n+$m1J)eikold2EE@S2$#$ z$pAtR&?}RkWC;J+F8(8QXOn#v96Sb*v;%^SlU;WneUu7>+Q$f3g%oFgkt2w}7%Kd1 z0?xNebHo7)7fg}$TzKiXlemyYNZyYhF!-SKEIoVrE<(UHF*XOUzM*?;4^Ky5ID)FT zy2IFJ^Q=Kg58j6|pDn9X)TGN8!i9P2&?w#c6$bf`CYwy1NjYWCd0QjuqEn0g@O-dq z@QJq|-tN)EC+}0mpe6Oyw>0b=Bk-hEZUw?A?$RY^^tD2nwoRPFMB$cZ9|Rrg(g}zQ zIB`~v!3Y4YjGXv>n@{YpbGF|k-uZ+!+d5u;b7>=OY_6ucReH!HsxfrHJdy7+y#s`v zaaI7YKRo{drvU90qot7)G`%^irAsE;Ok+6T5_Q!89k({uaROt;TLWxDf|RGX)Zpi5 z*ry4m!DgIMz(k$OqsW1*>GYq*-H zvIgT6xh6S6BQR17lX znq$M`hL|TtWKh6^IecOU4_~BJvN1)zOe0EzYb(Ly>4`tFfVo@OGd-0wYxlyaHQX~(>VM|9@Sd-JgL2xTxI)Qu^TCt!#ozs!eI2A9 zcYcu;)~E*1=(4!Anfj*})a;!ggt4c8{Kfujj)$h!O{w+nhB0CE@;d@LN43Cn(K;Az ziN|$9uzu}~Ywx7<1EL^2WSdAuGLCFV8>T$a!Fs(^Rbwr)a(t|+j&XIjd2YO}K${u0 zK(w+GybxqYN99meF)5ZPjDV3Kwjp(R&Jtz4D7)b#gT2aHu~6u&vA8NN*r!9`ef&pZ zkxOzR!8)7~H;F950F_?a=SIyNv^Ww@-n=?ZUw!imEhKckI7rQ_mng#fWB0k&$B$g4kF2sxrAaF1(E!wfdDvuYS0G}mnZ^D z3yJ0FcpX3@|Mm^apwZELCnAO^`j6>#!YZ`YnI?*W_hf;~D0P$RoeKT-+A6@Cp*j8I zHF9w*ZJ#=Im)d3*5|M{U*2!g;Fh-y=aO&S;F|oqrfQ~t`D+-;DP4Z|afu}scO@_3j zh(Qt)u=Q{b^jGl55mY$@rBZP)0~A{F&~pUq@Zc@)XNbk}R(ki{58-h$dWonhOR4gL zZmIo)z4Z3zlHBx5)|>7(*45z>RWOt}^4Q&{pGJq7b^kaHn6xQJ{%JI6W@hW7)MiA4 zDK!^FNF^dOz&==Jw#44yN$oNuTf*2C$HuP2kO$f|X9%ln?8ouzd^$zYRnTqr!gY~F zW=fYKnwW&OmH~{Mpv>5Ys@em=ma-}Wt^vf(BQq#Ca_2PQ(hTFBXq=HMY<_u-ckSK0 zO)Hh3kU~|{JYl#=vw#2&JIcM(uf~g+w)cdWSvG0?o%hp2=c++|xuS&kmU5W{kt5!BbaIkvmd|J)LDMj{2om?QKe(jI zu$3N=5{Tm7!BQ(zeQ*#)mKktacmqvhpv0DB|*CZSf?}A`boTct_syrKsmw8sfi~6*X;Z#}m*aXB41XM0 zh&SYRkqK}Sl+^J~1MV|J-kKqA@6nBRk1@Kw-9wfdX^Rm2$wzSU=cj1l#f4@V9+_zVv9YH`E-nY7ItP!R@5m6zmMLLY7)H?`e3uYZ#2EBYPQleO zO0R5pF=G1Fm@=c6#h4lSY7lKh)q9KgxUQ- ziIyl)vT))yrfaxmt_Nntdo1la=rovc{7hPTJU}Qmybo8rhpA`%xOqG#^=eP?81h9G zyt}ipXXiOLoEq$~vzCe+2+(Fcu9VomN@f+)K9?oQw(ASvqKmDI_&Q ze7nG!bSYf}^4P20XF$sel#WHStAn1nBW0!!`Y zIRg&JD_G%yhw|`8*XyexFC$LlGfE& zPpPUs%7zyxb&hD@brVnvwSTAH4yoc!6VUh>~h93utlA?0F z*YF(&rbk8>9A=7kVgQgKbkIm3T2GOWB3`}=*@jKRo3l1tPL$ozYy(nH;Q(AEuioV0nCyrfm7RprqZrOJHxxNNJW9uVZ&H=~*_^dX z{yYn>xlM>GxYg!pj~G-3!r4LjMnW-a_g3UwnmfT5`N{8Ue48Y(dfSN$s1`IN3 zrS0|(p8h1g`TSp{fAVMlRa)D9Oj<+ToQ=O{h@#@wq=Yt7&7@dl*0?S?A3&sQ|}9 zXimE-UJ3A&!G`SkYYpv>I1Hmfq(C~GrhEqw?j!(Y{W3zEI+8y zu9tbb3eBDjnGr|FMqJ-#mid^sGf?Zpzcr{P39?6>;tYC^w?$cctbBpN0vHH9G7CX2 z+lJ0r#%e=^q;Z0iL)(HNMG(;Cv^KRKoNuRn+>?KG0FCV5wmcw0o`F2k5xDz3VZ%TJ zaGYz|=%GClA2g)kLA)VK0=$GVV8JjH9!o1y-evPW(Zbv|;~+=C8ksz8UNb+oMlC5J z4)TldV1Y(AArKN(oM*0qTG{yXd-_*cT#ieo2ifz~Awu-AK=+uDrjhH* z4d4w0j8d01xWoH4E{8B#0nn9Dddp5m9v*w#x_^sNI7e2H5yJCHA~om94KwT` zVSWH%QyY9g-ku!1!u<}A0h^{g$;BZg4S4RI3i&h9UJ2TEpNh(W6tZpk6qXyJ4yJ-* zG8&~^X)0^J>?uSZsTDKxaUgm2*~TjdRP#9~H8{WyUfw1ZWov};3fQ^sS<1V?Wk(gp zgC%(#ETzb^$4qxt*z%d4B!VvXG-DSYJE5U=@AIa%+=It!nZ}A`7!6cd`MrExU6C`7ye@t;yT zRZczrj{qzbXnhA5#R;cVrg#-hFWCEsZyuAJpDZrj{TyN7MbyV^srOXvBkJ<%$C?l# z&g`rbE1ID#b!Rl09Go)(N|VKXNPb=>92S(Fp1n1>&j_YO5L{wBz^`9uNXhy1qo4i@ zo?Kao-~9tdq$l~~*9h4fAyL_A&XPTdF(CXm2<9>ye|zIPZG;4tzkL!cFzWZpC;v#i z`Nx0sCyT%RoBz1@?pOa=4#B+%DdmR&WY=ap3m;Ll%O5EJA@iu@jpm7!s+-BMCe!T- zNqB`uk~Z^LXV;e|*VF>Li9Ur&6Vf@_&gIr`3kw!6ek?1n1`O9^sWqkc>_VBacVv&h zeI=qWC7#X{gIYgSU)=+2(@+JwOwQ)tXa0KDK+X{>SMqh6WP8!%JmHo4+3$@Lqlp;Gv{4A zeDcODtiNB}<)r%H<^yS?_aW>}wj_t036?qT>UUkiz$J&j*eY!Scfnnc5hb4D-ztHm zF;=BkAG+RshO1G;*}2&=R%kOVG!>_UmiLf*z<>fE_3i8}C;ud!Xo$;mET;gp>sHAlMAC%(Xupo7j zpoHSCRe*+WO9Rh3ul*XZpot!lFNjGDL!zIUou-=E3K31jM-}#WMeU{PH8`*G&Eq7c z#n;M~PsT$Oad1@qR@vkCSJiFbd9I&1f>+G28#l+{pR#RI*)H;$JJ1?SY!?^w7Lm5nSZG7x8f5Pep8`u3SCmKk6Bu!LS+IQL|RZQ}OAOCYI`%47(kAU%J zar^csB+OMY)SoT(IGN-N>$CPl4zc}(`VA?sD#mhFF#(DaG>vm(3xU%Rwr?5H#Bq1b znbfGB)TtFtmTH9e>N0VENpZ|A~{I~zb?>zjK&B_wnR@0uNv&Mya zzX1$0rE%ELAt_$ZwdX=(NvU%YlQmK_6|w9++9@Vb>a5B)i9B1(hC@tvMX&dF8gHCa zY4_B5|KN}QrTF_jIRRG|-+aaQ@Jv)-Q@QW;PiRb%e;is2Z7t`pNXL6p^GsTCNkiks=4@+7WEFU4RK^JBK$z@QlaR|&fA>E4 zM3agijZb7lcGU`owJE~zH-G)_2!~_R{VD-g7AI3fHs%@0_{Q{82*&Qe$_tNaaQf~$ zr#$+F(dyPslI0jZ37Ok(8Q+O3t}fX zhMp=uNv36viht3VXs6*ZZKdu_D-$nYW;dqU62U{*wT+4;ROoe#MiYjWnos$16h*Vi z@t4q>NYtlaeDNr5!*a6FrQMaP5H|FAsjQ{mH7a@PpmYCY0)=0uID=YtKn;5J@>?mg zyyKN|Li$_UGBqKh0SUP!maT0))^@5AtIDZ(=^A9q^X&@6B0CO{cZG8{Wy6(IT-8*> zyyy1~;gfA@)Qa-ahTv^OymIgRtQJsB)TlJ?5>DPEl>n7AUc(K`{2Q+(V3l}~3bs!g zbyy(8M*mx^cU2|T1N97J1q8TM}#9c-srV) zNacM8$-+zxFkB=3HbfB$!<6WeM80BjOr2!D)1cw`W9h9=*;4jby!L~;_c@4eL0F@k zX-4&0Yp-=mUFU#{!|z_YSbQn`_80%-|Ejv{pD~*b7k~9v|7P**m;VXV7cSIQWxGx{ zOr&+HU3t{2(uB*eZysGKzelpb-eixy|DMzMwWgFJ9+176Z%0Gq{>|>o^ho=N(JreB zB?__4`?+TP^A~^cKPy0-+t9TKkNFreVD{9AWwoke@IWi*1HO^G|F<#TO-{&KM5UFSA-g z$n5{3CTE!-sdi|f-sy)VY;)r_X>5m?M(`LHwpGk0>VY%J6|oXT{;a#Uj<4C@MR*cK z39dqMnVNNMit@spboCs0OR`3|-Wwezp^>SlVwTL<^oIF=A1*bB#3qL1U6WJq8A-PF z68h_7onxb+@A)J9N!d>7R$d|8XEYwoZe#L z?wg2!@Xf>$+ZXrZ#}2u{5636MY3@H0*4gMj7uFf)y?WS z*Q~1Tv!4uMe)YS5BYu5fSJQ`zLVhSi?qm7sA5(>IEdKTvzv6iNx7;oIp)(iuE*Tee z{hpG{Wlj2)b(QveD4FB{k{-)}zu+%8J}+EXVGvYF%VF1Lm)1fGgq?N_*bjBL?62(V zh;tRgiukYGj2Y#tVP-(S(qmWTCxp;D7$NA;mcClNAQ{(oJ%g>kAvb{>XC^rR@XCEF zG_J-rpYd8B!Kc^k-od+^S|s_q!exm1qNbY8)j`rMYP<+1;paQo<>$Hm;U|lq{PZs{ zxw{192^IX=m|T_a7Lxp>BByIYk#|14Kg}I8NxpZ@W64cTTDkYZgT+@@zCs|?Ug!Z} zpWB#pEzpwCr}-tQ?j>PWUr>4UTjtA68Ht-Tw*w{*9x-@4U0}d$8aXmgPT@Lzl*9$k zoNeG8#gWgY6h*r{`9azmM zu_Et)<1u*Wu=eT4_a9Yg;B5ThTF5Im*tEX^bdU5TZx5Jpt&9rS)o?J6V+ho}IS8h6 zi0>|N;#bD@cBofW0bSh{0axW!_E_zo4m~T($|D%(%i%R+YN_dUr8z_VWd+gaF@&zL zd6*Qz_xjdEX+Y35f298VzMsufN!3tmu}@M{J9D@p=E;fg0C0q6m90~uH>i^}kj(kC zD?Yvw!Z`5k^L-5m-oE&bttq_qTyl!E*qByoRZTI|d}=6pOgg5DuCb~2H9n}^HZ^Ip z+HedZ^Mh>kY{3^=$03Ic&Om}Fk)(E?@nmmrsR$Gv+NRqTE}Qhufu&BRAw1O!Ut3(| z^}qkg4+EeDK4?=U@IIW_rQ-CHtcFCv0cFh~x1n)ISv_kU<#z}SDz}nNt?7Qy(y+G2Av$%FE6XO!I z?UTjF_a8Xt`kIrhuGz(Cx2e0e*=q94Tb*`}z!c76js${=!c&qolK{GUcQ!4&;4q6Z zABvUN)S`hA$Cyk-OyOV6IxUK1wH}&AO-{}@J@eC4gi}u`xOxQ9r@Q$j* zYg%zNiRLRqCT<9AHq@eC{F~PJmY=4sGBw?}%Ikkb+j*{S^%>@KTD%J0wZ2Qt$2zQD z(gG`Owl(F~4M#j`eawF;_Z7oR+8+)}Rp zex})@L&rnrz$u>Ao0~r$crtw%yKD4Oj-Hw>Y>ao1Y6ftpB-`wcW2cxgERta*0fZV= zaG#ikybhJ>cj5aqh^D|aA1$fiG;I`#Q?IK%YVds-XfN2c=Ny8YfZh0?O+=oGv|hh+ z2fM|wmcwa>^CSs-%I-Rn+Ij>z>JppknnR_rMjdj}rF6tbKgGFIU3V~wI<35Y_H+A` zSwPJz&2dj$_&Q`cL9nU)^@^`cY%*(0JU%YJsVeVSm?cMCnR|^zTrq99}a; z4%BE5%$?!%8V4%?c9hxmq2|eS>bWJKV(*rM8aD22n$L9^X2o}RoKyJyH;EfG}p#~G_ns?HBa#bzy z*EOCMY=ZZ+mi8nUgM}3jo?;B2eD=ko$ahVu;xh3bC-AbIN3;_MZ7~)+U0kwNQVT3@ zR!Vl(ZR0>lErP9QRklddCY2!x@xFOiM1GEgrjPDa6U>nmhdd$iKn>B@Y`QC=1Kr_3 zy`q-4tEAK#M4HeZiCpK{n*MK#7oOtel^O0@Z)V0SX;SPyb0h#4W;?~vi{G}lb^lIT zYRz%rD!!(Fx3#Vys6Jn&BIYoXP=oWIU>Ip0+a*dMrhPH>*HVGam1kQ98&WaJ0NLXH z<@B#1jHJvqZ6_kmiTRGR>-kfNu9NH*X}_zM8+ToL!e!kxAtouDwQPV+xHX8p4bGeXu34f|a>Q(6EEU&QM~Y2W9QZaQ zW5y2+(t<1JS&bu+dNe`PN$Z3g9DL<4Ocv!Zb@;&SyQi-G-bWwF)cc|R@~}&KiMelM zg3nZ;#Yk`8RuCi+s(J9wX=+DIiu-pyhiLWnH!mGSs?Pli#$L$wE%;RJxKT?n1byVQ zl6p1>o*c~-j%AdGv@IHy#yQ^bp(m0Qv#B$0p~3PLrrBy5Q!23ijDn32E6F}*8mv&q z$L|HlhhaG1(!l}2PugtucqVqHGYyVr35f{jfCguyAA6Y`e4m%F72bD-YY#tr_-NFI z;?y1(XNYs9RELP;jG%waXe5$lO7y5qCFD0*wYI`i&JYRY27uJU8UuhbFMH&@IY|~L zDrl0Jg(MnQIEY}wrN5qJr|0OPCa!pPEq2av_`+thHS5?=Ad}}mgv;CBrgFSR=(vha z$F8z3F%GfiVOpG58xSVjecCy(@m7RqQkA!OqSFK_Lp+7p`wp-`#%7~+*hB#-Z}c0| zvo&10A!J6{H(BMuXJ3-=_h<~X67kE_twYbaET&tvS(8(fnl*?lZoQwAiGFO4a)=!txQ=R$xdVEMrZvee|*mq=2=(~IZ78|hoWzW8@)=PrleO=q%qeb1f@ zk(A`JC0Qm_v$oj@=TzFgvIhGb^Z3x*v+Fl*&fNFQl3A`H_C^TTWMWH7>PsDB-it)6 zBl7I^N_l5sC&pJlfx=bLF@*tS`Ai6hoW7^DjA|lE@R-@&BwOD2W|NgWFeA6^JztUq zBAx`#Du#1&@ri1{d<5Jv%t=yS9KMv*@1K1SH^CbbXL5c1`7O-n(&D*7r~|6@v9sIC zw-EgKFFMo4gEfzC(`>l<@}E`LkR!-Xdn}o2Ytp%y7WR{1nFJX$(J&5=BEYQETBD{2 zFKxE`i@rK7nZ@6Qm6z3QIo({@|AlP?PxJE#|5|57S#8DD#HXbYoCHo%?iQRT9}l=a5r#u-gheM-U<8g zK9+i-X}&q ztWwlezde%eLYeR7GXzfUPTF!{AI>m_jL zvz%_F8kZ?oW@M({!%sh%1e>?7Ue4OCk^F_Dl4yrC8b}9s_=AMDDib~y*;wJY)pP)xJ>(~>uT+|%f&wf|FvtP3~6fm z2bB2pH$QuZx&Oi9Ce7?i8o>M4k11PkT1^7W5tIa0|Nua9-Vm1W!5U)-%pKT1LT~M} zPrrCn%IY}4s2P=RmhqHo)!gr8%h(=>>vcfcO#bwFBb-)vN-rRb+iZx$$<6?bwpXRm zMIkP)t77el^XlN`S2(A(MS$3piyI_CvBgFZmEL(ST$S^wgqf96DcczCRqAAY+wld@ z7T%$v$0_|EbyyoK2i;W3+=-{DV9I980jLTsWIb?@`wlPeyU7vvPW<o+V$^T-CR@h@W(bANUm~qy9>>)1bc><`+j-a# z{UkLI;LEW?Hsq&#|D$5X-djtjq)nMkO<>s`t)&!He=wd*hCN}&OEjT9-E;Potd^=< z1)7CIKFL1R^&={N2^uv{ylJ}32aq)H{d1XaCmeelq(uGlb`faBIOY4VVYW?|xpC{x z*!iWsmXh1hi{iO5ynWA9Qs1yk6Dm!#mP|?VO$@X)U`SBqpZ<5=-^pLa2pgSMw%(?9 zmVK6F$}zMj&R)ZY24AjdE45CgPrc|oBQEF)XAml(k<+OLCN||P{8cRmhF|S=>AdUK zTI%r!H;i8r3cZTS-{g9X&PmFg^4!09nf%szDuU|KK3?}ddAF~^2! zR1mZ;#ko}Dmr`$^x<02Kk`k6AfND97CTbmq>aBShJGTLhJq-gb&`?pJ^^w*z4`h#C z5EFtO`x{fZU?!*O?(#}F#x$~r zp$Kq@_2rcx72c_IeT<>d+}hpGe(|FBxatMKEQZvg|n)o7)ykD||czgf8%p1RV^@i*^EtDW=vGwWQ zUgr+aS&}X@0a6FUiXJQhknIl>x#R#h*wf{zPqr56UP8%Q(%=1gS`XOOH5e=_Y6Wqw zH(ABrl0@M3dtD%Z0HnhR(28&m^-1zZSy|V#er{c7)V6BfON`i865F1g38YN5%f}#G zCrnfG#0hKg2%kgRV{i&qy{yKLF}8B44|v6o`45VzKz-81)KgyB+5kt$DO&k78rV>r z*jajREB73>^fBa0^LlCEz!52v`BF=*D{SbGNvzcJ1J}Ly<~K?-+2-!ODk`y>?*L?D zs1as%^!P%oVzLhV-d^(2G$gQi{4V^Mq9KS@9>nbrL<=woyBfT~QT@#qAw@SQ?d{vz zVF6Cg+(J~izkTFHb9nY&g<}$MODOQVy8A{FUsn=Za#r!`nI(sT7E$ROBj_`0%2rRq zoPKK}6+JV?a^w14a4Tsl(n|YbGBOdKK6|O?MgF%0su!Ge?{o@!f}kJX<7*)0zkBj} z@vC3|U9{=By0wB=6=;AgSTsW6?jIvC-)|c0Q5TLu9 zT|R*r&XlO8)y5UzK+L@?kHQ>dqodumFTVVgM0brXg+$q=9YikvkiO)MEbTM4^96Mv zTQWq=aaAwseykmv5* z`-`i3ljR7iRMAfNxju{~Np(LFqRK)RWih-^8?+Tkery>c> zTV1waT}0Yj(lE|`fIto<^;Bh-AL2d9m?lz3m^V4a5XfDz?2zD+_D-9S{A~X*5D6#7 ze3I%F20_FPT(?rt^^$t*znR2U`!iu*YQX*)T-)*?Zxc}p9@tn55W7R z!WmM&aZv=5^-AinjwH=7)v@ZllR|+0G*x#04f_{dw${vp7kMZf@6P?t5VX8WNX$MD=C*ok)!aSEJAQ<9dCtbFKAj@Y~IW4?7I)Y zoE(CjdPlm;9@50Zm5{lx=ODVXDG{XUwObIqsKym}2RkODW=5aN#i$=!M0}H9#Ys!2 z6;B`Aziq0o$ngeu>gxL;A=BCY{1<=A3=#S8+^F)Dd9`7`Z`8bZ&N+Hd%biCo+4Cja zly!!ud9Uv=m@Vr{0?rzI2h zOMT&rd_a$$HqXiv&sg?Bp*orXTrSb3by)tuC{aBjY4@#t^vRDNrN>tt(=?QIQnt3r z)v_*sQj{ZT{Kw(eA1$s?W5t;g(NKn*I~MLlEyIDtqU@o8a7{*qNt{E7kfhpF#+U8Y zAcGYSr>E?=S8}aOyh$QnVsBQz{owA0y2pH~ZPIm}U+(G?E|eor`ljr$%T6~ha@@B> zmC_f3YQqz9;?!;P(0Y#8=-Hat(3U=cZCi!5YDBQD;G*b8hCaIIM^l= z;10$?jde(GNSQLicC4dD5lL^DV8J39)cb1OPa%EUMg8Z}Qp$T@lct+3y8}UX_U>>X z<($h=*3iOpoqT00KL2K%JH@K6-~NKqB`FEKCY?A$gWQcb8Z8a{kHKs?zl#xM&6!X! zgKbWi=`$zMsTg@{*^_}-zrOFk{hkv}{FwvtP$k*1h`_$w^U6h!{g0`LYu3+E*kq{od@Y>yp^{!AfE7ZJZTDTRk_!2{rpJ&AadXN#JF04C8GG<*S|HA_IC>Yzd~f@V&Sw`*-?!n+LL*7jhFY~ zr=Kl8`|=MKKls6yi%&oQA(dL=J`(wjy!#qMlvp9N+dfEFt5b@GVUmCV2oh9pEq!H1 zSt4$3L=&VzdyA`bv^Pn^Rm>qtaU}nGtLY~i5M6kSa;3vP<|uHKn%tv*n(uwXR4AnL?OM7z=(&n!iiE=QpU;)G9=}rN(;;ldR=c z5<1z?fdubV>h6okbADEOn(ro$eQJGht1)7~U&a7lK%u`R?|gKRsl|Z?HVrm-&h~vK zMqfMXSDaUwG{?^4+i!m79wrUdtb32G{}A;ZlH^C$mSAW|;lX=m47la+J$NpzZ%x7B zSRA{?pGiY950kQY+9VM&jA)11Rv7IP_4>B7-%@)c#64P7vFN%2$7r7LQ@o(vpqXJ< zO+S522)v_VY?IDuDc^tn3;5`~y(yf3i&+Jan10To9XQnVls(SKOxy@>5>krn`0sF- z5tzb{YSeKPYja4*>GGdnHGkDf9?$`+-xdJe`A z*(Gb8eOjfb!r|iW(dMA}oa55$u#bcAx8?kd}V(Jmq{Ecwbn?Wu`Wv%+Dy&mOuHg0ZAYKAJxMFue&3d`u}e)Z z7X9w^6V+8uhWVYQS@7d-8Be^LQSMahK%2T6!)Urr}-l$h~4b0Ozjso61&7*igM!gr9J@B{1!&i;!gIb!g|z+xUTG2d;VjWXU6 z5}nUR&-TvgPL$bfPnkiZ^2Z$d4t_c^klf8-ty#^G_` zVt+Y4;y@}-5F$eLfIO%x zTFm`Kl1(HY#Kv#ROCg^c z7Vfa|ORH?^XF2h^KHK8q?cK+0@H0%LjJ!2ee_6OEG;M}k9{IC4cbpW*Ef?U{y-xxe zN7=U;5f~03TdGz}6^GPo?yasbDLzTb8tUg#0dM#V0TE`lXrq76+2gASGe!_sp1c6a zTUOZ2&4PrJu30h(!aCxltgICTmWb@oS0Qn}ifv)E_IhcLX>&a(j<^vYKGEf*MABF! zQv~9$woI7g32*YKw$$bw&Z82THc6)Xv`sc2XU|lBLC%om6w|8)J~ciYJ|f>twMP(T z?KL^3a@(44P|}&faG|=KL{+BktM5N?PEYmq zd;ZkEg(=r^>cW9{7)@ow`Gr6f90&t{XQB-{A)I_r!KIpknu8SSxqe#`j~w?Rbl(Y! zKIQ1FdaFL}InmNI^3uP;Tf#diHH@%8+ zY;EVxJJ@IcmsI0+6v9;Sj8d-?xQJtf#|($??xIY2`@PwfVPaA}P7w^#IN%)`SbO-% zokw|*vjh4tX&BoYXI#W!VRgxvvPC!IxkL2Tzn<}|XG@Gny_awnCBf=9x5^9HcjrPP zcIJ@cR9-st41q1ONi3;{ak=Wp+eFw};zu6TO+C@p#i1K{^j7+4!x~t0$n5?Z%+ z71m=>G3ZOCiQrP@st4$Bb2MhdG9pPp@WD7cs^D~X^c)gO>m)V26ufcpd=niqLLeT& zx6XR%+#&8Edo(X|IpG?lKw9=JW^wJtZN$q1ZJjaQoTX_Qg*)@Ir@{lZ+ygOj4m-a( zlC&;3Da;oly{8&q%1Mgg&NxP|&<-lgEqoc{Jt7fd?GSmBXWpcZnLhJUXmvuhq}Cf+ z+FSF}zWeTLFlECVT#?3Co8x6JxA%Hi4IXler4dnrz&U|~xPl8%lp_%X+7Pa~eBBJU zU4LjoRnI-s4CRHM{?&_DDD;gXA1`zUs+2iq@NP^-lX&u*3Hq;B4d0+p@Pxzuc;=j`dCZW?Dnu@l{glY&^3L1ryn%5)TqZ__~0;hXC(h z{(87%>TnYIve4fd0xWO1PM*XG(6o=G=bGpo!VNiAAx#-)V?ualj;U!FfKVdNqqkBx zWmS~}UTEw{t$7l-B#<0zC-zc*fD%GN>QgpjZH9{HH(IFy42Lw3l^k+PK+)_-)Y3C6 z?<9MP0a^w|o7PbZ@Rsx3m6f>7e$V-M2zmd>88`MD1S?N_>}Q%q%^Mqn=wv4mr}4u1 zJwmD#+R{5raK#>J^z)PSc_%?BXI#(t?y(p&e@p%JZ-`WU^WF2slW)EP3vIobXfH|I zOtR9Y%RZ|feHE;aNnPF%Cut8%pm9RMi|u0RBc&*-7+|#kO&;As$4>uustx6 zNHOP8A+9BxvDp|3sbBN!%IwZFA87OSL66ARORWWf(kIIb8ygQXmttE7)0F08i2TL@ zzLjAWk=876kJ^6inp9H=uuC#+t6eYbP&|4EVVAr8PD*Hf$j_+tE%)l3&oBrTW~$b@ zr~2_4Ib2`{$87By5H>FO95HTMchEQ$H5kvS`?K*QJkJ0CKmbWZK~&4DHO{wEWz|N^ z3c!!pl>=y?EWTdmS%VRRTTZD8GsyZ`Q`2E9;Vq3g265WIA?vaq85r4LnnWdw6}O}w zWuHa_nGLvx@4=J9DD^V&+<9(Ew8^gQL`GwSn47eiie7TM?X*wlm2V&$ys=R^iDJ|- z`E2--MGj@K#jL9GJ3#1@n{SVqAMZ)M!iN_a;v3TX$@AAjl~2LwZ1MeX&2DEOC&}J{ z?>V>u3Z@GQLt0X|t}>H~orJTMvI;Zj@`EJ*if*h#477=ow~~@!)i&w6!5Nvu_L8t( zZJ*9)DQQZp)R}q>mXH7N-W{5rcIIDwg;D7!Bf8NP(&E)c4{F6-_nK0%%Qt_A86I;M zA8|ZoHl+2WeRlG}{k%K}L|OcMnbV#hhTtLaBFxNFEAWn1pQFtgIqO}_KXb%K6fyMU ztb@gh-u5f}5U1!PAsLP4%}rdcI@=YnsxM-nWL_s8W4(~7Al4`^ee2kD0 z|Ay?gk{=4KmC~6cTB#@@*5P@xv2?>0YXc!%p@;*{t2)!9mS%;eCZ|=6_RzYlb6rgQ zKwkSBwseS5@xZk!@{j>L$5yfP;-!;8M@n56&Z_E4TNKy&UglbpVYU>k6rwrS&83be z#k~nd8E4jyp^Oxfu~)*4(;Dtvl~A?Z7eW}5!35xiTY?9CfB;L*9s5sX!nPq@8VGH` zKMSW7RtkY}C;Q0}=B2^W1;vdkm#nx2_DxLul;fyOw%&KdACVI>^)6NYh;%=7efHQy zJO)8kk4Zwhbj|qU?0XDvop-u~mu;V?YEP*!Eo~d2B$*3;)w@1VeR~|w`0piKudnIkd>OL!1U)?4qpk3?T?3&)m%y`y1CCC}x> zFW;b;N0=|4Kut`F(By4*LK1XtW6+Gzh!_(mzf|7|t2u-Eb~r$B`?B>eAkBJxY>_!tkE-IbcYeHCW?oLd3##_a0vj)P8*fHrN&SOI2JnBxSu+m zCpKb8k`3T6gA2qy%EH|L`}L8^d96z&EP13n;xvde-p?|_-m@9Md%}~htINJBs@~De zw@K?P{##3>cJEL&F@PH~$aZ`lBda~s+yFt|Bj9tGv_bl(2^=1>kv*qX)Rwul)fnUW zF&t_dPsCNfvTW)~E+h8g%t1MA#AY^=GM<s+=qMNh2JFo20K9M-3x4AjBqVRb|~SuX^f6si&##JL!TJ zS>cIaz|_AH{43?Hb!~~jUJB7wS~*=rA<;2{7)E0Ajo8}9WM7LnzaqKM5z153W4`{? zKOlY*5&UzSp4zYf>Cs1h2K#M(h*iZrF^FyWmPr?}6>43@&`!N0C+Rt6d|^gkxd#<( zltPMSP6AH39=R)WQnueacka{R9!&4O8dPjC!YdrAA;S>?5ME5d3T-9Sbu?gK^uZiG z4$FV|pW6tR!^E( zZ--gM)HwpGYsf42#0=_RR;%B<`*A*BTVplu;=m9*J3UWn>xmdTs-U0xwykaNDV6<5 zHer)GTWg-{5?iBTZsggp#^^rV&JHUaEe5;@~hp1NK>Zqi5u(N+r*R&N)^p zXagB5(G8Xn&lz~tGf%g{#TM;lPdV%!r_z=`Nx8Q#zV{rkw$`M4Qazjb0HVj>o?(== zHg3a5G7yh3%_C{Nc;O_PoU!5e*{wOQ>a=r$aWrA{y{f(MzWW-iIX>mbm$0*Q`*UTj z!k;jZH)6Dz@-D{nOrSDzCFe)4=L1#%l`I<=LXxDuk(m*TzI)?Mb)GsoBB1FX7oPZgbG%I#~_M9`VW-d|g zRGqe{)c8n~Q|Lod_k<}1c`S&#n z%-K>S%NaP}-G>e_N99f&J2flmOo|>KaY!x7dv|i3AMRTv*C}Kzjj_Y2KU(T~#W6L! zh{%IcW=rZ;S%wjRt+nG5WpkCZv_-wWsFlzly8B`(_8MYWm{OhlImg;mFj;G*x~Gt) z@M2!yLYF%?qu2ALAE7+?>0Fbuki<(O0|}{T&b>i|tF);p?*-@6 zr0o#~PHWn@EZYq;s@|NN4l$&OL3&}>*ZQj;c-Fm7e<%S-Dd?t-LKxv&@%$GwgGx)c zG4)kMofJ+BEPma3AC!8tO_3pigi(8sg zX725p%l8VCDhB^d|Mm3^jUq|+?+;Co(FguOsP7r3c1@DakAL{5i(jknfBWqDFrXqk zX6|We= zA0$dcwtxg+J}<(-)6gNp?Zc&K+=C!-9bGCrY>5$dHR%!lIA4&~ItSV*jxhx+E}Icd zROpEV#*GSzP;&~0l$Khi&x-KX%$UO2JpzEN9zj%u5YNm6m|0~)C2o}7=^1c2&+ za3&LWd!Ic>Rju}W0D`!VX#f+B^Zsn<(#RoZxa%yq<(De?PBj<-MzzMocQkkzE%Obq1x_o}BV1a}+gzFX=KdQ-wiJbDV+o zEWdc`^KF_ysz2gxJ%tUAHOi=!b$#b*qVY-$_=tf=jh0`>$k<;uT!rbLs?TCY2tgi2i6F>}M|J?E@ELX0;*{8%^OhY(E& z(wV=Kxbs%a=oO4MzfKXEoUvQ>o+g%%se&wZJ)EfGEi=#3Fs`&Y8Xx3#B8bR-nNw?N zH;F)uwd}^4c%1WqGlVo~RJUMl4N?5{@BR)~Qua{}}l1bFq>sOfEZ=QdxmY##| z!%w_d2#_f=Ni;aj*@d`1Vh2)qP2gBdnpJi0^^7YVmf$-lLCX+ZQ?n4nVw{Bt6MWc( zT3%_~XA;;F#)XhQnCkxE_9N(JLy*?PikZj33im8$Fxx;Ex*Dku zQZK#09^l0@9tJ_DW~XZ9DDr>a4j-}+s5WsP$27q5c!c6whn+tFguTz=EViGz&8$L< zaiE25o?8lKNEo5v2JAG<1L0G?Ng>1~1h#Wo3#WEujoi5o19~7H=D&}rbR078l`L)- zXNM?nsF-oqLj+Q9^0D>lWs@=rp(lNkU3n<26ZGRzssYLfqoSF`dFDokMV~ zS>V{Mh^ddxON{ZPLPdq0_CAn4EQGfu4($5~y7nBCILn`4Ux)1B_ax`BXV#eG+P!-a4f9Y_|KxW+ zH;CdZ?sIBC=9NyjQHpOHu-c3DOfm$IFq@vzPmH#j`AO7*4@v&`PMK!Y;1Uj$^O5$s z21jm~6ThR!e)zPPPlZ$Uh|?`obVteRKIXo~Cvc4#|3bxDF0|6KU(3mO{LR-PBBlyA zL^5isSt;u-2WRKJN#94F&Uql~P7J&Cxo6e$9T47?)F_+7C?%APr;sm*YP3|u0kaz&Wu zRYF0w_BE2oodKcyb0);SV-^>rm388PfD;#sjx9dN3@G|NWbh#btzA=&tg?`fgtn5H zA$gfy&08Pa7O-Av_;>skoH_}#MQb^R1Q#-?E=c6^;IpA#^KzH=S&ni0s7NM0m8x0?kUXoYVN-5M zDp!coe>nk*zbENO9du9=vG7$ks?E)FvhT`LO#0PmqCb7NPGTp8Q}?>i?XE*Ci64+H z&YOzAYZzf|hK@OYLY#vJYG`oTjI+^JBB_`mW^|&+qu~cloynni#4$Mi-DpjjVCyum zW5_dU#r!I7eE%5C^1RnR`s%$;so9qiP{gPqho*}A)Z+{J50k`Uul-lA`kvPmpY~Ix zS2+?PW4M!vP>lV=UUI;JApE2Sj$N8BCoBS!zRP5go_f=O$m_ShbgtBTjD4NyR&mEu z4JB@{-S_vO@jpCU+|sjf@9NIt`{&lCZ(T%p?ZzE&t0q9A64NuyEiIx!mtG>}SROx^ zW(tLanYU}cFHx*$&?+0ff~~bQ6F!~77*^HG! zPkK0bM8r+Ii3ZjZ|1gE@^s|J~8Yw@`BIg_Uf~l_OAL||PH5yt4%QWu%1*qBmQ6obC z=)vcY%4=`)VNQ+lY9NslB8k_k{6F%9upy(YF~yPo1z`>0J8LsZhZaep*0k@p$NmfH0T|J7EwcZ282{dTgQtHs2w2x8W1p zRH7Ogyya+_q8!Yoe>3}rS!D|o8YCZwvZ>yDwuD4nKq z)LLitT}dc0!2?pdgrP!u`|Ru{rku!1q+z@HxDL#C$%QGP@%pE zXj4XE(VGZ}E@C-JZ)?MVG6Pp3N6kh&bnrNn#|LxfIwFj;J&iLXx{=UubmsA4P=zDY z*dogDnYkwE=YP)HEpR05CPGAU!we=jBN~bs^h|i{WftNlOf!ujRe$MkBQQ=K_9Vhb zsDPe5xZrTWvs{=8nOdSC#EmfokyA%tKfKDzBL7IfYdj19ruTZ%DBID-x2dcwFhu77 z5lsL%#tb5`IN8+oc8GZrV+sg*Ss3FT7(@<^5;@kXn#TyGE-pDKYS3^=H`vtwx`WhW zd7~U_NVQrg5`f=`*qT`=ayV^Mw+ba%>K}!Drb@lNk*C3$F^5VrfM$*6M zWZUHV4C(Ss6jj+Q!wZr%55AULLK8G6Q4SMZ>wXiKq;*a0egzQzy?)9ELPI(;iDzQI zaGTM7=kz~wpcZZ!U;1<$Sf;D}nx zitjwnc-U_skn5ai8|=iZi1Y;0TBpgJBc%75Kh*Mg*8q#u$|jc7qG=U|Rq}gyVE@dT zebt5=2B2oRZ*^<-4jCcv*z&?DT1yO&Ik(F%`- zh!8-UMQOVYbxgu13^D<#_G?Wqbhdrp9%&c5VD?&u1UWaRGQioCT$%-^yOfF8p z65|EOVGH{Zp7<+39bvce-5vTBvmn5Jia2Bdo^f zv$W9P(*;}`^RDN_6oVDwu81a}hkKcZIjBpo^_V3cc}AU=Fb-T~RE+qA#XAUM*FNgh z*}ukzXb}!68!nFGkSb7VLMN0Rj+Q(>%C3lr0HSaYfeHxdniMDpJWXJ_Z6J1!Ann-@ zn>?x)x}KEr;Tfr5HNHC*GVmRzErTumr$sC+vjt$N?$RP#Vp zS7o2=UAp10K|_*w4w1klNS%sEfT=3CAg5j-E$@b z&^h>#Hv9Y8@GC@DnRT6Eyf?%Qc$3AI`VYYfWj=`d>p3-2Yp3ZVd;!?TI22RcE4jU{ zVaL6DcP13MvUYWtOA>sUAVU*yW;cv|?wo3-P}9Pq1nD~w-D$b_Or>%S4y77jm~ECi zUrv4@Eoz{@Ng#}3>}b#1p{D0IxF8HNm)6ALT?ii{j6MS=Ksca90m-C>=GmEEXBIME zWVmonvX1#gE2=7SD~GEn!j=rTZ4BrIqOBNe9U&fjUY&i{j~?q5^E;i2KA+Ar7Z}ci zJNFmgKmE<(x-K*~R5^Yn!cs-zk*>S1P086u;8(6xd?Knt6FP!}nW+Va${fu8o#B(& zgK#e96arreb8bYLD5bGo(MtZU6{cHBRAq^F-#C~ZX5m1{?s-cMZ4!Etz?ewX*XcE1 zJ#En;48s|7En>m@a;6sgJuTFT&NgYhDeqq320#8?fta^|i8Z>ZwpTgYQKygxkzXEd zz^)tR#yA+l8{CKuvo=zdGDlsvltJz`Uz@3ECRuFVeK{U-+c_ajz>9jOMaE@P!RC-% zk+(i6*ZWHBSk5lGce)T%zZ(XeYlmyveM<#W0 zB4uaS;iT%a5NWaL{kY48nb|cYV8XFwF^n8!h+=*916-TjLJ&nRFkip3(Qx46t#RmZ zqrbIf92+o-E`K{|GU2+AgXvM8IYoPM6nD1<|AYvl4Gx)J?SL>mQG`v>qrPH|4hjK} zk1!F;bWb_!rKXC4Y*TA44yd`Fb1DNYb7qx2+!4G|M_#62bJorg`?k5)zITL zzeMIu%@L|{%Q0Fx>RHGpyp;`J63NW5j{#wbNtF}kPZ&{07)i+p$(h52W1jok6;BTW z@D9e3A4sA0P^+raVXKOa$;KG#(U!XIT9UTV)>}+?McjPVSg>scJB414PlX9F$eWix z)T{otlivLH4ME}9a*Q_Q^21xy_Qy0IOmNo_##V|qBStsA14%{?7m6IPC9&M-8$kFq$!+f|Owi~KnDl(&6jOVk36*7|w; zE_PoR*U@YUwy=Z90|T%jt<&DiG7X;j2Eu_UC&rjVvS}2<*`4sp1S$vLgMFolhtOTS z|H-{aD_Rk?z#$|zPBFWuoj8P^8S&+UXfr*RMeXlY5T6z!>>i7$%?=27mhWOg5Kn0W z&g6wu_hR-buHzGMPvd)hG%DH55x0m9X;d?RJoe=|o(SP=oTNxisZDUj_svkN17?K= z#dmAZQ?tjVa|C-J4Jy=+YeHGbhcH?PAUC-F6p=<0josNsNZ0gaM@3Y&ROW5!C<*JG z?|AYL^l~SbhWP~X-e0U7pq7MZoty3{_djoXPO;RrG?Wt#w_J0l5Ev^SFvkEJ57ikK zi>~mc)>=(`En_VQA80#B4mFOmd;lel_!2Crn?PKMr=pBPjrDX3HPXVCrJaFJ%WcgV z$}2DAL;v+I`Tdw^zKlYDnE-j*4~)7#(Cwz#Y{zee+^GB~^=uP%%&~PYijhBMwdNGg zI4crsaUQ8C3PQjpi8Kv3+LXndV1Birj^LASMG>YOkFVECDk1q==`QgLIZ9 z&)B&4U|7y5U&f}s{tg5obgdP@gHo7pYBoUy)b5!^lL+?y#tFaHrFYtBYs&GQHr7;} zyz@6@3MNvXE4)cXub6Effb&6<=z+5x>vUgu@s(F`9xW zR|h}11+J<3;{f)1KWR3O0gMuPOUa&ZXH4OHpZwraYFsMDs!SSiMGQS4)xnE#qy$LF z5=Y5ekLY{B8TE8JhOn`mn2q`403C(zLp=9VomX*1c)3JWe+7!dZ2~N=jIcbv`~6pm zVaX%aAzJ`s@*RNn{ywXVM|RC6s@t@PPPMY-B+;~1#_f06<=0d))n+Lodtc45L)x^t z-f~RZT`G@V?3AnltzWX(*W5XANgD2R86DOyChdCn1Z=c1@Ll z8~hb%IqQ(VwZ!bQC(BeU)w0@f%QsNs_uX-=tuw9YC!}fR{_-wxv)*m}*st8Y;aM1` z_YACPN^9oYkFO!bK}=PTWoNg>kT^$bp&Wd2%9}4BbvY49?Q$?`YLO3Sn4ixlc_W8p z>-OFw%&wgFk~@lMOm6~kPQz&}%_h$YcZH393U;kL;>`zhlk@OmC6nVqN^b9nD73tS z^!vL1WV*e1`*@mFR^nLr z11=7mBdxP2B|IW`c>Y_e$f@ONZJp_)tp?u+-hR7o62ibJf#Zt~z_Vyeel6EM7gZUV z#lF*iAp6Bn9U~-~i%r>{nR;)JbIhDQEKqq`4a@Uq>CWj986I*rVv99Kh_aORN8y-Ecvt+ri2cz{yC$Pm8Kn5Cl3?xA`FeiN9`gr~>Oxg3Ylup?w=$T2ibekJn) zqw9dnsLT^y=&d+^1wl#wI?)u84Hlyn`Mgkb8K7yjv5!3R<*N@3qQ~f9aNJsE8gMiQ z*QynPZC>Z^v^LDAl;W5;?lf!ii@xsnK7Lfra->{xMFgG!pI6WBF+W_in;mX-u_0Q? z`C}`W%9jLkZQ-s|3r;Y`)^oVu}WaG-5l|JADqSmH*W@kS^;Rd*iaNYlOo@q<}O z8J9TTwg6_EIw&?rQsqRdRI_}3$P2ORd8hKz{=nHlh|(Mn5mHX5#udS4dn8G`KW!-6 zG_;7rcWwRgDrkv`#hqhWWi3KyY`rY5IPZoBIFPtsf^lM@2=rnTgzo^2cNH+S+|1}G6i*)4P{qe{5 z9@R>xB#$Ioz$}vt#9aFO7eg4!vo^>DIdU3hD-AKTvzl^RfIhMuCJ=;hw$(7&qECr| zW|OB%M6Sh6XKw1p8VSmk__y$t3A6XkF6hyCH$c)U+n3RF|GP0Crv=qyfnFZl44WHt#EQ&kGx! z$)G#O(1=+`duW0evYd^pFKxhSvS~qkUmWVhzV8i9iv+J zY)kZqbd61r#I<9ttIRp+-We2z+R!K=>AX$D+9-~VI7cle8InS0p0|c^F($wcgJ8-u zC8riw5o(oIRn6t&D1oOi6j|6TA@M%ooE{V=Q&h&7Pl@P4?O7su`b6t)9jQ zp1Vpq=6{)_66#hhw6?Tw+PZWLd{bi;wD1+2x;6)DX4Z+2SnGp0o*kpX>@vTQSqL8^ zD?A$WA593(u(0XbNHntwx)a$<9~oZAz#TfMHCWK`4)1-)s2=V#RR;VF;JJ93Ij%?kzpR= zR7=B6fb|@(&yjdRo7qT6(oD*gSc{Q^V?J|Q{C{#H9&y{<9EPxCdTQMA6|;pHzB=Ic5<$Gr&LKkGb_){ul= zsdUrHL+CiD|bV;CE~)7mDb+Vi5fBz$IZ;q9_dM{}^2oPyDv z{~wxJrp3~IoOhHS4rnFy<)b7*wq!3T95w`xAX5vxdN@h(T9~h)g!1~=CupKXnv2U^4mv%~Z*E^6#_YwAZU0myKdPx#Zz_Y+< z$`GsQtt;8eV{eIFzC7KAkRAXt^Hg_;N1a+ogT_fQoRDO^@qto5WOrj~9h2-#@{ zJt-OiR5M5|z>g{AGufAsS%FWQX2m(TUGr=KrQ5X~;!m=;p*7)1nqEhRd7irD>lWL{iOoOo1{ z#?7|oUmX@3f&DPWjq7x!p%lcbGQzC4s0(i~ZD_CX3d ziw=|m6Pmz1sxQegjVpZGAcx9L*AQvbOABpODp|^8-uzNfn`5?RjX9!LrarIA+oX3(Hm@C_y2)WgGBxP2P}sZo zAri!bn_EJUYozh1oc}ZSe|b6C^QrLXB+<44rwUsNFYaSfm%U?`Dp{4^5iMwqq_2wc z0=%jf_k}Z!5Num`F1vW@za8}!JZn0vgY+4k5%;HCKx}2VuFt{tCx7xkE&k|_|IEFs z+JQe)Xa92X)#GO)U@RGuVOE#wE4VOd(hPT++TZ=wa1g~f?_Phu_{kTaEgpPO#l~e3 z3N5bra@G*;d)iSw-%b(FLjoZ}e)>#oK0%d+lbH%O>;9dITWI6(h{4KS5O5vA5OYkb zLnPXOvyDSYJKhk|ExMH^5D}N<*AJrxc_!Gvg6Z0P^_gVs8&o=s@SHgiGZ|GKtR@@> z-y`Bxj#wfcJmFW8odYicJmtL6jB8@f7=y!dFspKaeLozgzf()sQtPmY!jpwu@Sl+s z#S3A9XG8WRM>bYWq8ElRfRK%Inv=tIb>L{B5z&<2A<~|`RLQB7Hr~MZG>M!<8xUtb zHP{=^A#-XS2wR^&7)czp#{5U5$q^<{?sYAcYd>78=>sXYbt$cf+BjVtLUGD#r8*{Q ztYc}+B=sS62m10`_Mg!^iXsTs#ogPQMbZRbD^qO*(ar}C5m^1zcY)145G=d0alhw> z07|M(yx6MC+={DTES`BUX@8VQ+WLmb5l`NEjG@+1r4(ZgwwBEr8ekT{3r!)m=W?Vb z`C`4(M-0K8BbcUlMuJsE~$lKX~ z4@usbs$($Qf6Hm=&^LFRbaF@AV~jCmmvHp_xzt)QYPlbhbr3I3vAxIi$ayqGZ0lfj zgxN-@Cz?i{8NRW>L5h9T4uTJcOT%#iMpKPC9I>AAz|Y{pMdpe`4_Jh$!wT=-+;zRZ z9KQKx@#lZ~lf@tZ`45>$vi6RoE6d0K`ES41>U)n?vpPN9o2&QHt*e}LO^v;yE`4wD zH;De7e1Sjv;{M{nM;|Pnyg6L_>UU3QaTkmK`uG27@zc+KwD@2C?0<&8$5NqhYcqAW z_{;zN|1AF9zyH4$+cb{@>U0r->56M@hXhecIGKBix1trN7!`fnXK0F+yC&84L`d&E z9LA(^TCf6du$t8Fakyd=2(;p^a45e4CC>NZ2|?)EOkFP@{9g8f0DITeaxBkA%%h+D zFf##Wr2NQ!_kv_a@FC^KsC*W|&W^iQ$Wcga-R~v(m)vkd{x?2&HD}QrPOl&VI)j)% z(zlR+4W6f};*J-^EyE}T6@9Hj@+!6R*d~EiNv+h8r2Q6&d`dO1wzr)4G^O;qs)Ej` zv?U&tBVU?qZFq`R?ou(QMYVTsQTK`tWM9z*5P3;5GNp8Ny{YLyUf?4G4szaIGv{n= zjlGJIyvZ}~{kK1OAaO=6yL~rE;2SNAx0OR~m;HsAWS75q`L*y=Q%o?NY)nX748F{- zB>EvjN+&AbZs86Zd$i7za_Y^uwk_a6X!f4QlB#}A^C&JF5^M?+!I_clSf2Of?DUaS z&4xc`o2D7$?2NG%qg~Zsf2#Y&^zt3e=omxGaheDF)Vra=gg`Gy;8mK-Dds#asT^0# zx51FX?a28!8m5WxBxYR+$Ib@e(+%N`IiqD|LVKHQ1W^ebGR*TU*v{=0xs>q;a~j2Unzo-HcR^`G;HFGj93V@GAum#shB; zE4G=9DVpM?1<6wCNiJ74*gogaD^wK8@b$&pLuDmeYdl5YAx*a5h21IY|noHff4zrt_W)#2P{O=;DDxS)Pib;NVu=z z3E451P3OF1j$3Nl9w*YCq#WR|zcURejB#R9=k#fAcpm2`Prg#e{2K@6z_-;kBgPjm z3?X>&gh!wKE)HF;cX{j^)c)~Uld`Gr)g51y@kOfFL9~vuPQr%qd}|udFzKCBrcHZ_ zLyawg2UVhc>r}kF<$b=Wl(g8oc21>HmKJ+dBg^ct&S#iw+F0qdn6`tS+-eN5=Vv45 zysVkUW(eb&$sWwVF^B>1T?g*9dOqia*cGm-TkSAs&plwi?F%ujkzVzvyL|a3%|}rQ zb#_!;FrR(_X=5Rrb1QOE32a)%E}>CBxcUjydwvZb_yF-cuOvBbr*Xse+^@fX*l=|6 z3b(_BFovqQBJwQ~?t_m$UHt8T`!A~2_7@-Dd$8EMp>8}T>HY|&h7NVhsYgKl(*ymC zw(`DOi0?T6qBGgv4V-N9&Aq!f7hit<@#6kRN^d!9w}oLhG4Rg6q@NQ`$lpDCCKms~ z^Sz2NOCWB-y`*y5&P4*#``d4hRz?SUb!N1MNxv=Z)mdS9W4lKie$TJ9TCPe=4J>fn zIhV}UNn{)8=(bP@!;bjVfGFqj13!eKKMB~;AiQI|Y}OJbTdn^&yN93LeRP46ducZo zMyOF@-bY8~#Yyw*0*Hze^|S0?*}{^VUYae?CP{#ZHx+!+0V7gjj_EK%f)PJn>wp2d z`QxV@HtttN)zC3Xl?0qnl;4wFlVKE5&70#8c}`P{yoagRWX{?!qp$J)SNC1axOj5m zp500;0jWm+5&X7-me!b;_@z!G=TyCj{Oz0X0E}EV0_wdI#F|Xxna&hBlJEUaA%s&I zCRR7lvA@vQb*g^pjHm3oxOB6`FW;PXtpuhB-T;!%dj@0$#EjU5X?pVQ| zq>ACDE`}I2t7t0eoH6H9Zye{2XBaS93r9^W3FD#T}twf>Ha2t?V##`#_7T8ZuJJ(c*F~oqel}rK=sP)V=$UE`zkQRZh z>6upF_cN+;W1ys!8-*-BZz;d|_UYo;_rLP{F5DX zc7hbR_dB=+hj6zra&rg((?_Iugzr4UWrpyWY0*qfdYLv0kv(GBDjiKYm$ad@KDY2i zfURGmxBOWXkIzK#6K@!y-{0VtpgFUL_SsJYv-Pb#kn0`+hJ1O`hhw;@g_A1)-AhA_ zq^Fm+q7G{agtQXAn3P$cVcaOpAc0;weqR zlX3>;N~p152eRy}0=ccX657<4oEn8{N{q-MSZIbHn8e{xb#RvyeOyM2mFiu(oa&G9 zXx(%`#e4eVdrwDHh-g#A)dr?kaf+h{U3(dyky>kqUiM(|>C~ZSewCwLv%~REa5{x# zyJE**eEElqfA+_JviOsqe!lqgKl&09USIs>zyH_#F$e-ty3K)cepYJg-^U1O8Z~-v zVXmSPX9(`B)K`q5l+UiqVRORPPg@zpA`zAjz=+AqF}BIza(&^Jys^dAiD*ta2*`HJ zsWS{&nQFxjXI-0J4SqFc%u`+5JI-<<0jiq!Q_m{*yD(F%tcc|?^JiJPhv+e==5**g&{HBp9IC>*|?O-u` z3>Dh?6O-&ae_C|E&NaRpyxFBa++O_Q4?bOd`QQ_yyl?R7)E^$f!;^`XCn(`Yw=QKW zm_wkFt}4Q@b3_}y`Yde%2OsUvH$iYClG!c@2C2td6f-Q&E4eZPb-+3yGyRZ3(HQx-~ShMw5BFW_V-_ zBS~*BB_<4VIG7S>N?urV-3r1eL8CZw2yhu;2eu;;bc-ba;s<}Y`13#fZ1I!NA1pq5 zV3zyM-Ni@uZY`d?-dz0ZAO705vPMDPbB>rcHBXp&a_4n|$&DHZxeFQQWzW%4?zs(E zC&Fp--o5PP)1wdvBCb?O6*|3J`QT%S7C zzxaB>iCsMo?%(@x@sl5Xp#*k!@gM&F?@iAkZSAA)^U-ATCc(>O%sfcTt2B8MzIuL6 z&$JfjmJpmKq_}_Qm+*+3Q@uNmH0Ok64M;NiV7tE&z4M7#rrL*(-UK&dT1oyWdqkBp zg)hDf7uN1Sc<`ufwj^Y`1Wte0kPbIH5QyjIiWpizSygq!h(M>8dWVmy%Z}^0)6d#| zlGVepd|0+t9CBiZZPMLsvTih~uE^2iL+&&R64`UcB=G*?g{9#Zc8V=@@Z-!&RqoIr zY=!!Pp*QUbi!`)8`*00+Y~4vJ6f@OJN%g$JZ-m@xnN@~TrbNo{nNrkDmCTnR=v3d4 zFumCx>?L1CqnodYp4;O#*2VXA!?2kTMeERVR5;bt+HsRgbgnOKU z|NFoHx1O+^uyQ6wKN2ws1SwreWp`W>RSI|I+zT0Fie<9Rx!}&@Igew5Z|ZT_P?{yb zHw1vZ5Gf6*#uMqfIX>g;g)%EhI^{UKK-}q7^HzH~qe*0_{ZADSg>pKpU_TX6!GQF>i#6v!k^191vJR)i9HaqYJgFRg4f~iw=UuOqy#EnMlcohD(FAYO^YiPH`Ag0*ZgwwE8ro|9VB-{Vi8Qz zh!~Wn+H5Z#+%^0|Waz*DM(9U=};X=mk`skRt{WVP-QVElZXeF4e!SzSoBA5r0V{ zsYt_pB5?17rLM!}%RutavVo>J9{^_1d%#ABt76h=4%sjv|7o6FYsvn|0aZ0r=EDyA z`wB~oQ8)BTyL*BuMS7@xUOD_vc+rO)NPl+qX_5 zG1;oThH=N~{_n6;lbe*qb zj2KFftr(`c;QNMQ)ac`+_FU%IRWNieG?$%SsPPhK*xoe^#%^M!*~h(m5R-OwAOmkx zg32c6S7t#8IZdEB6b0ET0>Ex>UfeVWiTS{2_`)1zh1wD@4i!xYJK6v_<6!Xgq-Bf?woR7-xkgbgTwt%O)<8W z9EHv!l_aK6!P5^vdARuevriV^J$twK`m0|`y`bR@5o0K5p$;_ppNedS&r81uc+As# z14-Q3U}`b=2)ht&>+ruZH*5qhCVcF}d&?vork(%9xsN8~J`W$sor5^Z54oaT?}Z0F z_x{5V9+lphdJvcAVgyt-rDnO%QM=7TQDP6sNr%rW8w^oA(6xC?7YYha>ctk~g_Q2C zOtVQSRd0>shGg~0NXEI(2JHmi<`|DsX+a{!CY;c|
i|BG^xw^P<c!`_rKp?UHotV=YNn~65PBGB+Au4Db(iQCCG#TAw!c}L%=fD0!dZ%N&Ui)X&6_9x^7;Vv!5mwBhGwF zNZ?|bEaf)rn)TKsl^A*2Or%xo<*UMa>vGl8boQB7IXTO-s5e@s)%V}hBtYuc?%CqY zAN_Rk;QoWfd(7d)l<=-0jWsQu8a;xu(gb z<=X%9%rZ5@{mi!*G+tp$CaDfjqazrjHe;#-NZ3qckoDRNVO zN@mxzpa$n?rifTDTBA8uWtTRvw9$DllU)&P(x$E%OYVbx+h}1maB^!>B}zbO{>y#~ z6lWHe_UxSVJKyp=&!>0SL;h58 z|JgkD5@3E;fzBCi2cSaI^R$h!uVS^ zTE{#+dUi1V!JoW4-TCO>+lTWFIEX0KHS;H%E_{e-&Avc4wHtDEUU10oXV@6SEhVyc zQ{`Ou`vRUZ$(UiV2`NW?Hgl>q#pRQ5F@f>3b2=*0f>=w+Xav$oGY0peO8R|-AJEe% zav0{pM*DUZ42n_v3=^)|!K$42HJ^N9D_%xs0SQ}XN)_3{!DJe=UMz z8EPz$*zZ!$VVrwQXxgX|r1v%AXpaEfMaY{nB`;z`YqY(URRmxU)uZo96517s3AY02 zMw4DJ&tdcXz7*j!!{C!jUL;`C;EV9<^3AK$Td!VsE zoXrXJ2;UP|*1_aHKE`>egtNG<#X#&zC--HYjiGWtL#d`&>9}HH5!W%GWXB#WMyc0y zZ1I3Jo1+FN{bpu@!-+BB>iuPu`8WoEphFh-kC;0Smh>FRkMKL3Q3Zqu>bS8~D<4b9 z-gerM%e$QtGV*-HxC)^-kd|o}ooUlCb}+1EqPZ@#XY}uGm|h7#wJI)_yIjZC5J1w1 z7Xn-o!(q9;n%+f>Z~s{LQ^bDd%GK%S?U$yj7cWSzxG>$kbjmd$d4P1-05t|Y41~uN zhUeAqZN7cQ=YI6#&!%sG`}e4}es3!4F=;W!hMpx(KsJdqBVc7n<2D<5!CB=;sJLR- zae$mQlO{6&>MTmbjMzLLEUX<-9!byb(Cd!ESaBF~?!!+1?MCcW>QUM&E}XMyeu0ld z{=uBYl|Aq1nIn{=YOI2eNypYYv1V2*NgUee>{}w;mL-i02POw-rOV3*CS;wbrXEAm zLyoc($4rMwg3pWRv!)NVtX=`9Wr86W!)6XrI5Ov%$&dYd<{|9bDIM7R9>?D?f?5+6 zt#;t<7k8&8ochHqBAKbRgrdMMjbHRGudlMT}= z3$HPm^5wv%#k12xs`hjq6Ltm{F7m@z_cr_}1Xq88rk$*xz=+^dgpHF~BrSou9D@LL z@J++r9^eeea-^sR43LVOgPGZE#^5$mTr*_vzJB&@O$vNf&FAT|j571TN%+uwLN)8|)hU%XR z;JJ-O#&;~PF0jIy4F&=A5;zJcV_9+cccw- zzxvnHd*A){db8;xXHT_qK7?59D~7OLb(3r3;GJ{1-z8ln^`(rtK8X;M^kdo+CNR!V zM8I+pJixZMn6RIh5edNfzJOR)MAVivdImU41Rp~lXK(#;_B1pCXO~tr5}+VTHoaSi z6DiXw|03Lv#kv=BjWNsBoJDFvz|?bVb~weaOL*C#8C2D^Dl``I=a{XUEn7Uy7z{at z_Po(TiWZWJzawWF{{lD?6Kg$VsV!D0%)#=SIzc#(#yWc<{xvFHJXJ($nYFI#AW=fZ4t$bRW8V|B)h~oiRqc&(_%T4U>GqL0e0y z{pQ}aB#eF;GaagrCk)spC6mq&?2w?S+wO2G+sjGw-QIrVmFX*QzDYp5j7Aow&y9{Q zte8HPI$z;VQK__~(yxyt?ex2{=CY>;zJpjbAY$r^ta(-?upwl2M;UCT4%QhZ+p+IYegt!WSNz=N?knSA&$7~g&hO&LDq$TV^%n0X|)*C z80bKnT)S~|`t@J>+39D#_VV=Rt@G0bPNkJ{$-CEAyUc9K{+~!?I*SB5w{$`$HkaT+Jwy}xks!uKzd(iR|~1p z3(WpIHOZaM7>rW){XB+6_$E%jXJ5s`cQL^dTzW<@8r4qj9wUD+kE3x25q|JY{nLA& zG>cI4q9+MPje_TlmqJW9L!!IH*OBv2K+MtbMuf#Xb`fp!#E*3K87-rFo^{n{|CsYG zpHJbqMFhP{9WOI(k9HGI9dLq{rTBPEdqF_^R~dC_GnT(Uz9G4SQV2)EXnzR9=@jCg%oLg>koC z8&Rz*eZ6|=oH=j4RL-r@IzFI@9NSky;JK{EyzgrmMf8=N%S;ZwD8XMax0aZG(m$N8 zk~4S?r*$ak_oHb=k~`vvzR^<^s6g*J7-}tf;1gWweG4~u-Sdjqk|_rb@`E-UJqW3^ z(-oYKz3#7eq3-kIqaisFi{=PKy=yr zw2nhkFQ-M$!lWkZa6bm+-&F+>r_LyTxOQv$nYX_@eeJCqk};^7LyK@E0}-ijb)mJ7 zwh|FUXpL~%HeItc++)PEO*P+v*q?m(aQc`3_wP<0fAE1CXh|Mou7s8K(o5{&(B#H_ z&n+$=Bg#IVCBejvty60@`O^e;gy|}1+ISkX&iB)# zWpM%cMXLkr^_Z3;>HIpbb#eBqi2b$e*O`m^)BpQN-<#fg<;?Uq{>py>nf93vnqd%J zjl|BTo}(QE+y0c-53=A1CO#Y8g5W{DDH3dd9#$KLGZ8hYS6ksJV^4$7gJ*&f2Gx@g zp7daFmc1F1$mwu^dMDu>666i$axU#to+7G%Zc=t;V#;*6vK*QeGmknr7F zQ;L~y~u5#J|Zy#~*#@(4GbxqAXOW0ArICl&&*hJ)?-Pu&N)VyzhO>a`_Zg18Vg{~ zb>xKGXG17PBMYj0cAF>CY#^QQE!EE$h~F(bi-3yUCdDcr!Qu%>I!u`P>C(lss>#lCsMg;vLRuVo3>7I| zyLv;i%yaSed(+h`*Y$wY_nkv^O&@^+xVOQ{_UR|z^{-M?Vb@BQ`>H$c3g1mm!v#z> zjV;74yRTS%`2nY_qd)f>hM}i@bLVRrR^ESo6;7Qtl?I+ZGZCk@=O;NLM+h+j1Hc@F zr!=NGZvswEyWjlAH>Y3w=C6_&$J2M-|G_Bq!EwDIyarp(7%)XoMS(`L3}IK7U0{U+ z39aoG-)b+DeWj8bXe~96Ku{(V}~D z&@9$E7y+a{c2E7~a1)&~vCQHZ{T%)btunCQVX}a&FYxxJtEEg&4k} zZmXLHydA(DwzNZAmPfg!cKPguYt;3hn||(XP9F8kaoN1TI}or*C?+EbHA#6)Cq!xBUyPxjhkqs0!t<7M?pb?; zGshtrG1m04am_#lmJorh)wyN;twF3qCJ<$1FoSqZYGDjKjcOTkS1>Zli!qDAl#(hK z>!MtPJk_*!_vDK}NNI1@)XQ=X?eXR0Tgic1qsjwGHrcBU%c$7N5z>yz={}PEc5=EY zF(yW_Bg7Z;NWh#rdjX-InZEM&H`vyXra$}s52kB3-^N4@u#muVLPgt|^B3Ubk|7Nn z)5mu|CaIMcZ+r%3Ux>XwQo?$5dilm}&RY1D&%#EZK7JxpcgH=C^dWdW_BodW7<1f` zM6ga3&q4W27n^z~)SB#Rb?zH6koK;|LKI?I+Ajb(ge57uXQnURyfNK-elUId>BnmI zRr|q%$J$V50>&C+?bW+-!X{K19IfeoLcrmdWHNu?BinkClp1ju#dM!>TCPNFi57?-}vhEOFyRw z<*TZV~0WTK_Ppfr&=p6ssZd9&eX*RBs6U%6YHSI@)94k2OM!ji(FOo2i@yL=95VGe#UkRzH)CPG>tJ&z>&sb3~j z(0P@(l$HP!oFyie`3LD6^tk3dm+JpP@|L-=%`Q&84SClVwx$c$-k8=A>RWGI_rB%n zPk;OqPO!J(noujBOit3XGS@C&x=JlSKRs8+{^Wszlx++N7d>U#>Z7MLEw=N^FW(;c zm(z2Vmhf2p{Ey%J@xYmKMMkd$=e&z)?bSR(9sK<#X1|Nizo6>drdDhR9Dgqc(Lcll zP7)xT{LT{2BewYSyB~creMa+GgLCIJ^O$qNgL|J1aEt@9)8g~R!fP*`qcGTjlrP^0 zzs|Z4u=AY#J`U>3xr8T9+5ci%`JG^jGq28n;nu6Ky^|eVMpX7RN+$$xQ^a_HNFvsn z_XXhLR?GS<&fvOjCrh5 z=Nh{-QvW~ifynnXEcpEX=YYiaN00OFu}QIrVAeqo4PIp&N=B@5=O%&M+Rafkcv#{YJ$sLW=vAq!XnJk@PniX z0dj6Gd43GIj=i-RE(gJno=X~lM+~_RFM06~NyVeli;h&L)!`M^9HUF>I!}oq%QTGT zv6dWGSwn^2!#sA&K(zVizAuuH)b319+WQ#y(p&?7l9qUwZvZa6>WCh@N(_yMbEm# zJldWc1&T=)ogp$*LLeDqDW=$h6swrvwx& zjLQGwg{XmZZHQy-mrKO@49sg5k|s2|)qvMp1Pk|Sw(-i1i_^=OO_hPCCr({7xBb-g zy^nuF%Y*B~1hv{xTg-oVz7I{VK$npDtg&I{m_%uTQtH=_=|RHlI_; zq*?Ba&NvR;VUP21P^tT=X=Qaax4UGXSqiRz5kg!ma=_zyiXHw;Tyx9yok^*jF^D;i zpk=Y#15F~5j|UZCP+_-C2|0K9@{E8<4UT(Tu}83g)(DC%3|&d8C8-; zjWiam>)3hCnXfh}w_RMv*gbED<8fELd<_yuhZ_qhR_!20zCtQvLW7(ihzvr`Ht%_i zI&`S}&H=55N(_E{X45H%zNQRzbk`9DsHfWoHJUc;v%+Kb3iS#*E+-U!DttK?!wLK!#nQ^ zl^svNdG_lgcmBGy{lfmMdd7b-{qTeDi?3@iP7^!;zbyzPzF^x~m7T|#ws(WS) zRp{-}My~J`oZQtP08ST2KMxj5a`M;pM7Vi9;iG)~9=4D^g>W{#P_9L8fKE@WQT z)=JrAfQScZ_!mb=WhOb2vIz7DBBiZn><@c6i5J2kq-E;f(Ohkh@tJfL2ToM@>OaU1 zP)W1YyO_ihiC@u7U(k3U)<9nNd!Ev?i?Z&<(7_%eVPF-EgxJQL_46tT%$J60SGp6L269s&+*P z#g8RS?6a>^*|D|p4tGE@nguC9srA0zjVP#&V8K5i0RxfdRqsr)88;C4Gl;UzcHZHM zf6j}17O{*_n!O*Br0oT30auDSBFiqGr6uR%aI}bdDDnOs{q?Lmz!x8`)Hi!KPM$h- z3}88MDiW!JZj|??^}w0@p_vNxS1VUJC{V`Qg_XdNlppfAcS`(AM5QfY_3`w3!3*#Pzj7CQj$dcMrc&vu zUp6SwXL)qzrwz|@53l%4J$0@7mr~^*{R&$qUQ$L|Uejh%k1(ER4bwmp#84%f9XTyd zoH;9H^%lp@Szb__RacRVXGjctsDo{#p+i0O?9my=VZWe`ZH#ak$)@}=X$0SfB-`Ye zsi>ot#gEJ^yT|tW6WlVi0lPEkz?0(G-Sj?%Ard+80kPZMbvaVG1l4 z#$v~GqRWt?h8#=9+xx`&GC}IrnGFYsx;JF*LU{tC)d1e7PXp@D60g2f>C!z@1xbUWXGzz&QI<@7)q8 zn#M|6SGY4^fC1ra9)nBxZ_nPh^q!*~LsZDje{zcRs%o@q%NG&DHbTn2-FD6=5Nzjm zQWKHpw--8n%)$0hGRz+B@BNRyGySDs`OWF(OIL)?5H%+BQ{yXb*P(;U_cz5g1O|CCntJ+diguQJ=Y0;k-@e*h6vk$5isV9(SZAtUT2v zc!L^$pv*Xdw^eN123MEPm@FN`H{HdWg|R;NQUd*HA(eZs$*Wg2r8-W;Sh8nX3Swl2*uA$r$}{L7whss`f?(CUW1rHn~sjwt{>SMNe_E+Jc3M!uStk=w7 z#OPh)V?;*6lPGm!*(T{XIcA5cYq1^jrIof-q;dVg}e6+pcR{lLJBM!v?mmLREVu=)_E%8)zVY zT83wp5jFbvk$9s$lY_|-Mh6|tf?)M~kB7V+biQ3%8w>!(4$Wl@JM_Hlg#(1$x?JdN zC52!>D>0@RM!pJ5i&*zCj2xUfaz`>0DSCW3OE0av;D}l{gZvyJd;>ZgJAD3hx$O32 z4Wr9VMB-}`F%btNp(V4cF21KuH3MJ`K~sOhc6$`1DYLD{` zK|Z|;`RAvr(qqqndHMCL7~%B`XE23Vr&Z3pKl|~wr_IJeV-PQBYfEsTT>LB7E>pA5 zV!{X0zyHqfJ0a@>`(0;P_agapCiK3wOVuy7NMu)YX8d0){ zdGH0oDx6PX)4-j+n_^7f0w!goE_~@rx8A83C1PKs#zzRLgxOGqcjDZ|wCT%(P~)uG z>^UHs4w3EHVn&K&&NqLn*G@&LCs+Vm8p#{%I)_-(i2O{cpUX z6%oT`Nc>aBTH(N_q`(u!6M4szjCqA)1UcWTcH5E=a^RXuVPBM9X<)$4)}~IR+CH;| znjPMV<-(66cK{Vy`!2z1VEI-D6^nJ*4tx z*R48Fa0B+4sgt_AEI}m4T%AHA&N}Dh*xEzbdzir@>dE=IlS*lAdz_7>xTa3pE>Ciy zG7Ip1C9~zimkOO$v5p}xgXLi8;N48M{2j2#JJ|df!I(TUIBc-UTi{E+cLOP3aB5Z% zRR6V-qp%=Q!&v!1(n^Z^4-YfA7g9~*NkeLC%4p)?T}5UxTZ--^T$)F=xWX>C#$9;w z@n@e-Z@>D+^eeyoYt(Jh-Ws2J?>+tfj`i7}Q#*haVVJY*#!6RnbDTQ0GQDy8HXHr* z>4)$Cn6Kmk6lCAu|Dlo05@>WBIxCicS|7nJ!%dz_zNv;_S%%%RnE+=nr%RWw56xo` zI_)kEZAT077~h&O?m3MsAMxPt%C$Iufp5ck4o90kjk*fz{krn$)2Ain$khAnvyYgj zoe+}1SVuDu=Q$Ey(NG?F>@sfa|L_~#dDXzLI5*>~JN;{eY{2fP9@M(BvH0np69+lp%H~m zAoOQ6fENR>8#IF*2!Vniw9PSD=BTNo$66mFrUo09CtguZV}9b=BiV`5FT$&*c$!gu zgB(}=sVmEv?Z%N>Df@ zLKjLsl@Z6@4I)A1RmLcx-kp6|gP71lg|A(7?5htt=;`m^%ie~Dx?MjGzKDA!ag z#zY=TR(c`rbwR7@b%G$!H;O9l^33}Dbp7Ua=E60qO| z$o0z?B;#Ba5s(irRGK7@rat@p0|W{$m>0GG%C7?Y@SbxK5kF$a)rS1))hp9E%_N!>L+fWP7M&)#)E{7-{I*7Idf!Pml9-hTa^xJ$$gQV6GCsA!@dRe;gQ#Y@M$@lu16-=XdR|2_YA6Kr)kG{nbW0LAT^=i$(NvUl> zIOJuoMtYl_yaSJvgfRQ^~oPuX>K0v+*w z??felQe0VHKc=|6Waxvq?kF?>4D21#(wCkj@EFn_v08rwRK{BBZ*$>YVGo!s$v7HM zI1?Yw7+jrI(>4$m8t{dC=O}Z*pO5xU*=f*2evGBTWH}ZGi%!MEu$@CZ;W%fSp%S}H zgxWaOvu<~@p7%;c#oklhw^i4L4~_y)?|!Q+x&Eob6;}b0XM5=piy7ou^@x7yrF?KQOhIndiBqJ(qKIvKU)p4Zd}5 z&ZIQh2!Ci$h`v96PQyNQO;GkO{;ngmv+!oBd%C^9H7SU5*S~5Iec>U8p8Y-}R>603BR1DQrYX^n3es-S+my;gw}G%9gB0PLd|Au_cqT=0wVr4QpH=nzDlDV z8$&#;w-U~y+WvZ0hC$rAI|jm0Q5FhC<&cOuNF5ms^*D`^p@;5!>7}=)mtOtybdguH z`08*DxiXb=Tdw)e3j_8L@QYM*NVqlB$3s(FsKF4l7RWDrR$sdsKZLY}jE1!^4i`|5 zXM_;pr%IR1vm+_S3F`$8U?bKKDLPNwxw`orfOSyaDxg4$;EK{V6FYm|vDR(9n@TdH07H z4eZA_6Nm}Xh!sHG=UmYMh|hjERQnj5-+^fap5UtloKzd|qrgzz-@5hAXdz3gk9JLi zGbf?hV?GPvqVmD9BKn@?nA6DPh&6B=g(WtS&07rH2VPIrM{q@hM^_Z_;|k}??n#o= ztG%Xs1&;UKGrYO!<&ZczHjs^1b2Le`tx@<-^&dkSJR!T+e~>Nd-V-5JAM|~L0T9t? zSy8Vke7LP-aMje2;ZTa9K*+~Wr64|{N_v~K9pjl&!FQ?MC3tL8_l`-z4tE>J9^FA8 zbP}UZC(ZQUO2WH75nEPOT~*7p+T(mHj~g2S3;=;lPCT0v^LBZM#<`E^i=Vy08PBBDJfiNog}4d_9ogeP>0WeUsL`~R`qRbW z=V%VAO@3t-0K(9O_8o9pdd*C0y<_Z<=NEehE)v+eB6_@)7DQe3tYLy+I@=mnR8Me( zmz`r3AFC8cFJ{`PPEjp>(v_1Agi8<)(laMF8{etj_)R_*=b#afKP6NHrnk0HY} z8bDGNhCACc`n%t_iZB(!eEj~msN*y~1aCp(>>r4#Jm(=l&C&Mq&5Md_uJZ+Kk3yOk z%&y1x?-D}JRyZqFdGUlWA(+$zrT&83{3FjWj}>QfN@tr)loC33bmHe7=kEr+=c~9+=dHd#UgBDp+{)tsC!*ZmV7} z@1e8ekbn%~Nz6e^NnM;I@*QnyJZLZ+2on>T*LND`xYjJ@;RcL7v1_|(lRm^=3Pf_VkQvVwJ^&OWQ%kN z4sH1?NoTsH@jGw5_08$BzHSMuS_9ElNN1fv#H}k#*dX1?fA2uH5dZEr?wyuFQf%Z@ zaeb+m0k4q8F*`R$TitHj)9#iDFPv=cp%7Zh66La|CRSFsB@8o>S2+JP}*YVIB9YMb={$R^wcydx@d!YQ-ks5Vfp zFNc1&iZ3`i%2<=a4l(a_h+8+AZHXP(ytSMTMwO7VE9}upwm0jl-&sjG6*;wsLV|Ot zyqtw;biFUlq?1ntUBi^ttUZ;x6rMfAnI^RHM2WEVr_~j1?75w5on=cNDs;OCHv14b zf5!^-d$dLJ{RsOt6$ecu376Llf5hxZTWZeU6AO2zZ~n?(Qz-JY&Wpp*vrqEg*HSFT z(s>Mx$C;hcEb{DWqoOeDQnA-L+U#)nC`OzeF5v-MQ{5ue&P<U?m+t!D zqv^r3yQcbVj%hw`zIKD(=ce;soId>cC;Tn-AQYmby`4CBSw>a<-W{ zXHH$#SJ1q85rC!68@`6O)s+PBL|}aT&YfqN&AZN`+2(0tgr9ZK(OyRt;t(E80YqH| zXI_~>rx^Flo{!id7FdjCFw8`R{?a?c`Qs&(NzQY`&5|t~t`n~Ab<8gt49F@5v1a!q znUcJmLjDY=ne`s$&Bkr40CKhjyogk3sz}6^WZL5(s*iTIWSkY`20!VG~XZQfvv-MQpc1FdVGa)*w zZH%cV6@#HUn{EuDgX}lQ)|&L)RSvi{>U(9b^(rrH_*9KR-sT-lwQR+ZbvJK+ zCKhR3*s^sNQ5k*jII;L%$5}aa>j;N}C_N*85Wfl#1YrqXOc6wx_R#Q*Cgone@`^8m zIownKghdP|=DSNPE5mL_z#boP&zxi!NI#fB(%$-MAZanPn(v%_tJ4MHxW+&K_@f_d zjHEjbhE-F^0}k2ePanEZ`szhlcCfDYS4(W`PbA)?xt%+AL8jxa+yd5}21{d;o_iV| zUb}J2%y|A90*t(cTVRA4wdYvzA}y{E^G6?iKKe<%&HY_y1=Vu?~T zV-&|?hQ)nH{Vk*}1-CO9ZKQCvk*{sjbL`^~_Yi{`k}vyQ?DG7@TRfQ;F}0ovaS_*J zlDY{b5pMO~+laIwfCm^&p}S(zFCgnMTgD7DI!(ZmlDXyH9r4o8uPUZ$rVp|kC!E}# zbE@qKkF~~B=+JUE+Zw|dbIjOzqlFan<>04lUSL0N$*wvg32I3B^uF&AL&X~bGfA3i zxrC|aX&td?z#FBysnw}ddEUXOMvdk3J6UJu^})zLanLHost3;*7sDKR1_02A=X&O? zQMGGU;a~=Huhg|4s@Ti+-^L(H`79agNETQEAXqJN+*ZMrL_EMLH=QHLGzTV42{D%) z2#|wm%+tWub4F%LU=VI`t~mgmM^YRkOfYQYD5>tXyw39kOc=d+PX)1n`R^PnCa2!Xu|T$iZ- zjb*xd{i<;6jiH_GX>x%UXM}v|Rs93yy3@i=Ny55t{={_cg2tq@jr;dMBV_dQqZyX_ ze$pIw07OZc3*SNhn#_+(mD+%(U6EEpTN%qh0mLkn?Fw9W5=q{?_$(Nsue_nR*iGB84~Yo7 z;@=V8QCftBgxDQ=8GVJlX1)Xa2aFT|tRcwSKL$hM7XGQAVAq}+lu#^o%fynh_MT~a z@XX|nl4-_p3CJ6_F0mnETN7SdmxWjSeb$aSa3!TY->Z-M#EAD##3+G5G1zbx= z+LR%fNGr>2*kkTPyM70V!*)t*ig}{4t{eB@@*#v{im>f=Xh2Df)WGc6(kycd1wpQ~1%LPrS~C=okg~}Bt{_RsmxN2RX*zA)j;eAyFDYe} ziktiG(nVceuAXuBh2~t3pm)G_mG-oDD(y2zRcFr`m_64sIAb3gjl9QHTVtoMYDZO+ zVpnd&O}?EMvg1De=nw5vqYC(c@yaFp-kUyr?~ldX5vFr^^_7d$jceCze{FgaaXPbg zaM~|nIgjtqV zPRbHuK-4}6UlErWV6-vRd4L{2r+NE*|0Q@^bGW?l`m49zL7Tpf*W++W)vz-}1<4xN z4WfV)JyZ(DIIu>=R&kYb?)YrNcO++oT&ZTjMyWAM&jTC}Ee5;CKCF*evHI$e3nk@< zh~W2YH9g*MaV3&u3)*C%CjR!ZzQY(mNDeXESQA6atuNd)M)2CpWuEr8-uxPeh(n6V zQw1SZ2`Xs}*^mLbY^K@hU2#^D)?@T4dqR3~cmYCbtJ?rqzwxw-ys=H^tWDK{WQ-NS z36VCa>)Ftm5;2a!%se~K=RU{PnG0gLa;bCj%u}A)$)LpfGpj;wL_#XB0BUMk=USe6PM>93PR$o7(Brv9Qu4BgAcZ`0MCDM+ z?uHUR2noO@MCdu7TGikneDIG*mqyJ2!lzQMvu|s9kau`!5D+rhry9E5_3rh)8j!UA zrl+Jet+T1a#~A1V(*qU^tuJETF6`$$BZJGCB;i+_?McRRPRY~4pl8mmBX+BcxxvTB znoKM>C%**1<3a@dFZE}o-^C#r9 z=aYG%aYSoej-lF25rHjlj7!Z1%9EG?%r=X_nwtV8-EefQ7HtcxPlfoC@P*Y@((=X|q}hC#k@>z3|0xA+A% zr>76@4ihZl5L0G+p~8R~4Wy+x4Cj-8qaZl!G<2W2ZX_Ck`@-#4&%J{zA@VFua*X1^ z!4EAE4){$fJz)8pG@9pp%F`M`wy=;eVlMRJaxaTG)mlTeGS2p?%=_|)Q;REhNX^}Y z1RZc;nqc ze&gq+mnFxX*2jI=GKrL!Qfu>-Um?vS=i44Y)u*hcko{X%k+@;0x78hQ*~c;4JNB5j zIO#~Qo)NUCZ9IR%{?e1oeals;LDcNxyuI1XX=bJRUe*wy+=3jDBP``SvzMFl*+7W? z94j4Ns-v#6cv|KdiISJw?QzP%cn0@(d4nf9bBlF3#({wxAiNx5F^C-uI1?&vKEjvQ zk%rWo_8?fkn2{F%K4ZL={S}@W?Y|&)Xw=m->e?uv~3+(g!EGyMoAe*P*2M8 zyM%FnuBX9|-~YbnB+Db-A)oz|>o#9jDjOPgjv(iAU*0ul47l2NRLq; z<$I6m9fQLQ33=EUED*7{d*UEV3i_6S)uzKCKI_!L(a;ib?u)b$kg!RY;(;ZrU=qAeQYf=#+g&K zWRz6B##*HwXYY5cy?@NJ>z#>(u5ovHTU@V{v++e z-{a$|Efj|AZ>`iAl%9tUf|YyAF@PlC8?y+0{&CHaPR@VfmD@Mo87B>}qa-mEfcHAJ ztL~OFf`)PcNB|EhJDfXyHx}dnAz`*`yUy;-bDQUMk80Mu?Fuq-iu8F?MRsTfFvzte zjM(#VzS(4I`9aAso|BXsjrPRS$23ZgpwWE;_O_{P(_;2X$rpzEojH3=(!@*bIn2R9 zZBnxjsbA=K*lelphg9&!*g6-7vL`|1q17WuNVm_qmK3k#bDuq*3cFHCrE5J2N@9Yf zdUMl4-qIbjpLclg`#C4dNDzXs`8DPNj9lc^HJtC<6>Epo%$8KnD!aVJ6MGLwjV2j! z^E~=xwv|}%@PQg^M3AH%aa6F2i5A-PT6fZ_Iy2{(1~eFfcMQTp@aO$w*>aM)U3m8P9@wS5+b3h%0v z8~YAVU7I>Rviv}(^xHPE#-45xOHSAr%1Jfw360e5Z@hk!bMAt|rfpxFvNCB19DTtl zd;1Fx)?M!zQ46C#TQuKA7%&`V+#= zT4RpMZm^3%Vnjx zBWf+S>d-iN;`CmyORC28OMZxQ(&P)53~zL?TR`qZv@y8&h@0XR+30%^oj~`<*_068 z7u;S~P)M8FJHmXPZ2^Oe&Qz8T9yfE{Xme$4ZMrJCn>T)b`pVbD%q2#|Or9t`Or4Ao zjW7-7)w6bny-xbr)d979huVjY(g?(LX&R}XV-SLatcotaIw;*8!#?%?idq`kOEvK; zDib8G1=PsTr_scWM)n?}Y$|Aj`07(PPgCewd9usO>-nk2`2v-UQ?}SiomlI!zv`Z*r!J}2AK^$Fc=Tv{dg`n%P<>CYNH z?OYL@zx8T+4t^(>}IIdSY>002M$Nkl7D@|Hkm8~9m}DcNmLx}%TfdkO!3D#EEpZ}`a~XVvUV2E(T}v(Ig)II<*YMO zj#bX8)Vc|tV<2e-?bWdkLN2YjDz-j2#2Ku9ygz2)TM{zKK`~5a_gN}_ziMsaMj^u5 zCv|7_>YmnZ-t0-i)pJLPkT#e3LaRnR5jv^Nc0RdYb{p;l-irn;=AZfOE)xxRxODP( z*t!vU+GDMj^GB5P|LDoR>Dr|m)2)|Yk*7|e@Ksc;xLg<(vnWq|RKVG@jSu|F9J1&U zkFO6xjWJ>h?Riv3#^L;Tl6`%VQ?;nTDL8ZK(lwIY=qY$#x7f><*yWsr^EA*!?;8Ub z2#C{&|MQ2Kh|uhc&&xSHOXHa56F4J`x9(X@s>vja35^5pq?}QC3uT?2PIFQ2`~C;- zx(+kIq=G3*7}w{Eho066#?B(`Xf}2X44v5!1h;NqeJ7hcge^Ef#xv#NP6Z9fez$KS zbG|=lZ~}=H!L<7<%|qEuqh9)_#TFh-PHVTX*O8-QD+s=s{uEvg=Fil{dPa?5DSGoIRJ z0}zfX$-&hjY_cCKYKRdWU@k9o;#`u6R>DU}T7ppfu7MMPGw z(&^FQwrMqmWGXEw$z+EKkTe|$3slbR@EmW4;>&v*I+9>eP#N=-`yC=vQTH*PWz40N z*HwiP#s42^dhq1IeQk)uheNnv6d*fe|LZK1!14Ls*N4NbN&SqDfBL)bOA9M*TMl)F zNv*&8XU#1$xq1$Gx;C4;=Q<|8#~Fti72P2O*fsh9dR~cDsmC#*Jnk?7;VQk9?>|4n zN2#|Zj?idSXcfQCo4!tB=a}kQCrIa0YlxR1OOi)}6&;lrQen=T`yM=eK7Awvc8=|P z;Y{VS{5OXix!(dU6Ne0#=m29lj5O6c)1RjlORCk{G%j{nShNUoHIZ0 z+kf^W8G1FSh@Sk~sv`CQfAnLQ?)4KK8m37!1IHU`Vw&pZcM6jcX8;TR9B!Bl%maYg zWeqqWnrXT5<|I{!;IYoO>gc3R#68+D@y>RA#}-Gbm$?e#@%^wDkDg%y)K~i$J>DE* zp|y+z7(}XjRnCin$=(3~wSI1n*|DUOQHrXqbm6vDQtx$M_P1aE^0Y!t+F&nNdA5}; zp5w^cE03HX(ld`f?E-^2MzkXv%$^QxB2WC79zx3~WHq|D>CdEj) zGz@*%4tRV&zjsF;I~ja&Xk0Fut5;Ylw54{2h)KSjH2Eyb?uxTVz)88{@Ln;#Xp-QR z){mee(HOwsgF3=w77WCPBuhOP;VzUPkBFCPDXWmVY_n3OlZ-jwJ4!)w8w7Z&)o>o-95lWvO~!w4jbuj;l~n)f`yY*p%@|NpJKBSIGX^&BAV7C-6omnYFD}5llBA>` z!l`pcYI2De3pQG!%&_CyxHw@cb|8n?Ai9SEJ5>f3^3r{(>oNq1Y3vR{&EAa}Dh|QX zM0FsvII42Mvg?+pcb13P9ft4noX>f7roy~FSxu(wxoH*)B<4PZ9$jS0t2Y=j%_0ta z^=btxN)kivU3+kdwWBI2qrEkfw`P)~mm4Ow?&Nk!i7j?~s`bg`3xlAWN7CzWGC;Ea)$^)^RyI3D37zk|Rv*2t+i^S+bnL$d(y;NUrR3aackA46rg4SOu3 zYnfJ64f+yk*{Np6)V{m3IF{UW94=r+i?~Tlrj|{kl@!P>z>h{itwZ*lUp0W3#p|=h z*|D|xR!EZVzKj9pOj^)@a++grAFOh4>D)syUO0QnI*Q9<9FkvRrU{&4>uG>z_(FdC z!S7Fh>p%amrvLQs{GH*IfAr{qzI?c24ONZ`Wy;+!)ZhpVcFevzC9D-Q4(FEEFMzQM zH2Bp(%9wZNOI>D@IW_q_vX1;isr1*bHymPXdUogWbo9ad`2(F5+R;DXI|2C)*LNwoPG5wx<@nWscnUQE| zL-pTJKE96}Bo2{;8-!}KhxOaLf6;m{Ou+VOI53=;aYF0O2er6&paz&tycjXt(f*;h zA#jcy+`&~!is??Ol#Z_d=!EK!tcp{FB}a2~zRqbHu^NR+ZgR zj5u3jRHd;a%KDlOp5wIyxJ(GaL5miivw$+rQjvF4`$?IVwWI0A>9;v$&S44|jVvzO zIG~WGI85!UmpM`9^EyhXNQ$QZr**WqI=42YU=+33uL~V2RSLr@)UqpEt-S6d9{mH) z4%(}6a_ynE)G6mk$$8kUupNaL72GzQmeh^lN83Gg3`9 zTwdS@W{sVfbir$-Ci(nes81mLSp^W6u3VVDxOaCHVdNjl{w~8X8#s+9!XHgQFwg3- zlh#dk<(K@}*1t4Eq7sjJ8WSMWYQuZYjj`=(5GxYQ2as}LzgdN>+Ao#H} zwvm}c!zgxY;{_jTbg}VFn`L-#$ucgSgZ#{ZY9dC%3~#M4r%>o2N9LI`uTFpOKl=xm z?85ZPr+0)|XWeP@5zS#(C8eBUGq>l*kDgi2MNZI@Ot4_hdQMQm&(!^hr|mfuFzs9% z5~4}#Xste&Zr+ShD=H$^_rNwEQ6b1x8pn>!-+g#T)!f<9Xk?{KydfyuuylUZL2TOJ zjcZ?0i!R{?voGlgv4FdlQTDZ=v~~R?`pNzwRQ~wKAJP;EL3o-^3wyTS=nd9^TYi&h zW<;sbZa7!Z1KYB{cH}w9sWF64h83EHxX2whhDHb|hlhuF=xFeO!26Ml)5Ag`Qh?fD zTiVe=$xD_XO-NtaVQrW?=x&3|bbaz+LC-h?>o-L;oG>VS{SO{Wqrxi$^p z7{|Q*+RsaSR0GU!@Ybu}!0CPOQ1`17cTmMKi)|kPZd`OS{&>q|&P@W37^ln6$4w^GTg+wlI$v6QPe0C;*C}?4~Tk(IEySSP(wj-Cmj=J|WGw=0{${8vjtC z$Rz$2FLcR37CAy*_l+mseg4DgSAXjtn(T5B@o#JV$;pR+O024hMip}F&M4LTg&O~) z^`{?x&i+N5aAk#4^b`{#xFoQmnHW;4c10tN-7YfXgBI-P89`sWdTRQ_IIekwnti;3 zcsq+XZePd97N?)Q_pv>C7~(7f5TicYGYy8%=(#2rFTeaY@4c{U`0vJ(I?>c%@c+ z_~F2dDvoF{9vybrETe-cKu(L0IcJ?EjcG1EI%IbpQp>Z#?Hn`7Ibg}88+s*`9SVYp z2#8B6boJ>DK5ml~XV)xZC?kOck(6*i4kCCQ7(i-MJZtMrVtdOQx4$&K_WIYRH(z~i z&rd-1>U&J z@zwysad4?Z4s1okfJQA>OP>waV89ZFCZ)U!(oU%?wnmcix-L^S4;MJ;FwN}SCCm?r zIL8`5+V{dE$sZTN+8J~9Eb`W_XnV9n(^wFjtyg>LxO01QuBn+@@~#W<P@Gzzs6X(A6VvNR4(amIRDV>khJa3S1C2#kR&U|5A`jH+ori^0X3Jun*?QXu9yc+z|y zaQYm&M1J<}fxa6+4xULYgw{ll4q=1|5Oxjx$VR|&e=oD(GTw&W(}J91LjiJ5)#E#+ zl1F|F5KK)8X&lS=lO1TGb)?;5zdZQjo<@6DrVI54gJgNicOB#xoEz9kT^d zAFu9dx#pMc$3zevLwa{}y>rY(>}w$>ZDG3@J2ku(#vN|<>(RX0c22p&4apx7vCk?B z%EO%_qy`pc;O&%btlT<1Ml82pePep<8^2035=LVWe|E>nqsN%t z+b<0pw=&-u5z*8*vvTyk_Qp*_RH01WX5hE?WGmxf))G-OUor6h9AWf0_xL_fcJt-x zwO*oC1huIj{jsh;N!U!G_uqd{u0CR4d9J72r{=ZanO1gGCTc$U^og16@L{#weedl( z&y01xwpXtF3gN}6SizO#n?{3;`S5Tf-&HjZ7tU8qgmD4KNpzH7s*zd2d^S`hr<-32 zcjxu5j{|J?<(hKUvzOw!Ej|PovzVzHOOVU4g0z~bDoY>=w z7oUs0pEbGT`Sd>NeEuAp4`ZlPvqu7A=bp6t;-Y$9J`3&K`5ACvPi7#q2W(UbJ znrwSqG0*j=VLl>#NYxjREDvm|*kMf!Xa>)pevI3mXDXfKeSc)%Oan;JT&|pHR$#7u^LPMzJoFEAFZh14@2<+Q^bvu|rZR4?*V=U&3R^r>4?=RQyE zggh%^%a>m=F8Izv%&6|Nm}vC?PN(qPjH&Y<@D7*w;$!fb`9ns(J_#K4uIt>F*nRuT z9+TAd19vz7Lh#5m6tYQ6h_b<>-05XZKNWQc{1zd3J^aeEUtWO~g-yXac6`W*Ri<6} z^DDGGJkvAF4{(Mg^EQI7LT!`Ee1thqW~YT8t#f+|)?9$IOTq9MI=wLq;o^OF8HEnUQ;#*t|AWyBxD6I2CJuis^s%#~ah7hi9f= z{P~|58g8w_%Du?6>?Fr}(Bf!s250i?w4~9LBIfOqkst;JInZa0XoxUF^dXuTuHU@% zPQk4)WIeSf0!T#}Qouo=zKHzL0~Yc=`&-PkJvR?MiQi^Qn8|+a<^4gTUXXMraY(>< zw(n>?MSU-)yRl74*8rZ~)z$f;vo)%Wo6m7!;W3#udRk5KNr!j+#tpH|Dbdvj%Xkc}MvLCSG}Vjyvi$O{l4=FBFJm8Kw|yVMNc^ ztxq34nYMg5XEMrZ8dg<=IV7w2s!_%c3Eae)YcIWu>8wwG=`a7*^fN#AOV${1ERQ_* z`nXqa8&MQu+p(@w9ElBW+?Cn*t#5sYjIp=ipKy@4bIjSBpCy7X*8^8^X!dR|+p;J( z9zS%XF$lha4OL}QUQdc|uXxWQ6{Do5H6^nnTEBWTp_>?Cksw~oC*iHsbULMtv%l_kQk#P35PDdZp60p z{&`{GtJJfy!{b6_Nq|Aj*<>LW4Z(9#;X9~u*~v`^=~|2Nk$0zN#6U0)_dwqnG1=q} z1l@w{uf6e=>9yBh_qni*@JNm@w^CIA3NodFKY4s-5X%{rOnD(2UsQ>#^9s{w0Fc!| z*W0ap>oU$_LOUcv+QbPB^+&--4^C}`RH^d>+lVTpzU56Xep{L94uWl5)12q!P&vXN zY!f|KWjIB_-Sb=YYU^O$I@k=EqrFXnCM04NJz;m2^JNyqj zhCQS~ly6;_tut+TRz%u5Uq66~XIlqgA7Mb*dP(n0r_lnKO&QXRJn6VUDVu7RNfl0) z6Hqv;6wz8dN3c1ub}{}!ccX_IWP%xx+8Pi^nQ3*s!OAfQ(l&{ky^Xl5R!n<~QDo2d zQ@)!@mh-`skr$&IoqL>Tz1NbIn|?RXTfM@5onrz$`QomrIfd%-PjEwO_54sG@V#$OPoCVL-uwRdNbL*LU--qh&1REuL=!l}F}Im%rsVjU5I5oR|l~&d{ZpvT_M~+>)tC2`&S;wL@oTrbNg-oy#j~>clui)qD{rlGB zyy0$6;o~$BJ>b*yzW1m9j(1J?C^?eO8olXyWgX~XOj3V8iQ}6HpF!`lWhH2TH((T4Wwwp!jL zbr4L_I;Tbwl1k@+ecA| zd+M_`3SCI0#v?b*Xk?lt)jg-gj}i~6S}V_e*jwKH^zq$c>tshZZF7ryIcxTi^O1_w zc^#T#4Tv$8CGpyQ_GO{11~(L9OJ%K*JSFqZLaHZzZp*5b*Q~{L`*1csD;a2A zzqL%J!yQv_9y|cg;dv!dbND@-e(~4-`t&=0^LK=&E=>RIpZ>4Yzx*fvlZ2^b-~aRJ zYhS)Kz5R`!oBrp2{7-)Karx})(vZ`ha(X72Ee~Df=ZSfNJ0Ve+cH@~w5ue2S4~8 zyvt0G81?Kk@bx}|;DB(5#WgM}?e_eISH%6V(Pm^pN}*lij4UL*RX6!hliC~>%kH>B)Rl5$W|`(XcgsI2M}(K zx6z{z38^27;E)H@r8p(ZLQK*kd3LK*+9vtp{QLWBcH;ZQ;;z;OBYkSJEyx{f=b)W%|Uy!{UsGl9A?1(!e}-On0e)qQvT9)4tfe zC&A(xfKAgALj#WZ5LQU^-HnGMB-2^)$#5*5fcW-B@-Ke@DKWOTllhT0RmiaD1XefB zKO#D!s%D4Rm8ZIaq^)cdHz7V!xOjKnT}xof^r%r~`4kOL%)yfy+%U;8kP++)h0YRk zyxTdH2az;R!^=52dKL`u^1b8_aNFnjNPT&01-%$H~b^3$f|D)*-|J}cu&R_pJVtQ;v z)AUz==WkBG_XmF<)pkwM$yL)_9!okQX%X*5;j}vaEDLjPZhXNU+Ln$M8tN zc&7!3SLHwL@ zAAUG!=+uQw6T~T$nnQI??RsOU4&l?TVw|E6+wwB*VmjNq&!$VSeU)i?e)wj}RNdr& zo;T8Y#TnOA?)J-9roa1Jzo~86lj(Q=^}pcPD4a=)w1%|M@RLR2%yVESG;4~&$$Ch_ zQd|ayULfg?==McaN7dI@DyfYt6b~$cb6~o*;)v2Vm;f%43Mkiy<2yu-YPr3B(O)7jes)*5`Q2)9-&H4&BDKG-aeM={#wijAHE*|q^1A`wxeEmq~ZYYIh@viRo+Oi0R{HkzFaG&IoBrGX?jKE$`3`>YeQ*|^9`)M}^bwW55b_J& z^26GMeSS2Z`_eTIJK7REdF?8RdH><`*~j;$3l};1ocS{yeJgj}7s+X;<|bc4p7|}c z3)e2cJUyf#JTkPg^5xGy{S=PsBhSW$)02CjbcmkcnMP$% zFWBer@~n~h2bV=tNJ$$gh8@Rk^s$q7FRqJtkCW07andj`0*jWY-GsDpY`ls#4$`Cm z=T6?>aSv(hzFnNA+37HZbnq-%LrElUd>(UH%7Kxzai52KSHF)D@H%==c1HGNK#p6z zbmOh*mDk@y)b2CrK0@x^qtriHPf zNp(Jy6<59ibRMc;m12w1Xh&{<=f@Z~8}}o&y?h$;i;yHZpc$sosB()CA=IAFhttpfT_5w9FZS)Zb!Q1+!LVo4yd%OL$VQDV#@xDc(zmWtVWNBPGney90M%4R!7`>H$3yxfCt{=zR$ zS8v{&{@w5Y-t?nC`rm1ASEfJx{clgd{rCUg^h>||A58!BfBDDL%`g9wa@O_fvkyL< z{tuGxH-G&<6oDx({;E{t2bjq!kN30b&izlPm#^REE$5ekch52U$B!2z>u4{=k$dUp z4FrtgQ{x+%{1gn1IrH*s)r_-#bN3#9fBO8BpE&b16JgIz-~aA+1|HWoD(7u2rSe^r zvOL0helACUNO;fPgNHY+-<+=B{*w1UpSC~J8tcYO&Njsjo^#%HUNQf}9LM|^*RGtK zZrr>z-TmnMo^=6@(%=RRTn9F_7#mI{XPqM$o{`udm!wLUFNjt)QNYdFa#*?@6{^t6 zAf)2jt)OclXDNdSdceCSF?~T~{3kSE#0d!ijK~A}oI&y9)RUL8pxF8#U zQAO1BRQA=mn+7{v4=V@v9A0K?T4q`t^004v&nh5bkd|b6+@3T~b{bs%kX^|RD5rZBmfGU*T#OFP;_aKlEo;+%&` zpOvMm;$mKapW~7jH*L$YICa_qh8z>ZHwO*?uHE|H1wD5-Jz>zu9RQelDQ%f#F|$$F zgn3oG5`!PK8}UZ$KCiiF^WZ}0mbwBC6kYFyR~SvH&6$#g1sCOTmyvc#L&b&mjnJ>2 z+5z*M&gUeDo3JFLP~iIqd&e{3!Q^Xn87@!_M#BeSvY#ZR9;o&NZbzfCK}Ell*{BAU6RrBa1erJk+QNVrNH7&aa+L69-p;|!a=Aw%|F`#jR;eXG?j`n*Fk90`@&i;OyklQA*T`{oipp4DuxH|%V+slBUZ>At z(1>lXoI9h?;xkGLhg|za#2eJ@ImHmg z-iYZ{c=ANDOfmF5*RL=sVnX}dl10`bAJ6VQuRnYeYFe2tP~kQ{m<@&)J>5z6p^exp zUIIQzPORG@yiOVSoh(8V0+}xl@{O(F0o;=iI>$rxPY!{JwJ=+-_z&jAspV z!n3^+G_8vRp>8$xwoi!}m4)tX5XTB!SQKNn;ql%GAGb4f!S4x(5ejvNnSr(PUe-xv z!5OWdz2aR6VgIR&Kt0(^FRdS8(Ugtncc*<0%$h^K(8}xn9rMk_$QPFGPrvpXf04b4 zdD8%!Nb~ufPp9`k`BWm!x#^Xwm*qj+G5xgS6GIfAVx$OnLzr$_K1V3jH1x=rCCq@- z--KH$Hd$+~KmE>6*yI;!T3_(=?~JZC3-S_Ho!#e;znC6BWCk!#7FNzrUwr(->3y(2 zp^|dZzH1S-ubE_;Z1WQKOT58s$6!$SUPv#YvB^t+_s$1qovuuO;g|l(bo1Iv@bBsL zoG;<^+gGQn2z?CS(0t?Ur8B@nTeHX8uSyEiwDX9AF~JBTa5xDC775}g3oIQmW{&z7 z%SQ+C!ULtZRttPA=eQw%3v8yyw1$qUE2B3WC(octhjP3-^URNq9rlq*pANB4LeJy! zN5cu{SrNSjX2TRJKogKaa*PFMqwVL_gn%P$aYz+}GrDnL88W4Q?brUw^xEw&LwHD% zc<_LEVU{sshZODe1?h*?&DVo{!{$$N@*UdYHYuD}zpx){vm26yExRW-AaD5rqFXji zrS?zsV_9q37^#S>-`9bGcXN_YQ{?5-9$eEtVr~ zkHh7@(8>gn&z!pqxTh4tU>k}~HXi&)TcTed$oBZ|4@sNLRMM|bkH7fw*x#x=_+rMR z)Dghy)N%^a9lier3C^`4TEQqy}CQQ0! zm&KHJX#~uH$tx8X@mnllfQN@dTeO{`BB%IkDnhCicN=>8;vp$|ce?%7 zFWdVuU&eiFcM2HsH~-Rq%}I8CphblB>F4iZcry3vCFgxxijKA(zBe6RePw!P|GOB+ z9yl+{U~6R8RrM0}-g`k99Is%C{#{@)JbCc3{sx=sDfmnfQvKQ+zOe+b_doxLHYxN+ znxEE#?v%!po3yRnr?WvBE*fRLrSfiCV>u@*G7KwIs?=)TgAsEj+nrHN`Ve8?fBeAb zObheWFP*}JAHk6v~_1_a-CEC1~TD7%42>iwS+!K z<>VN9R!Jai$w`u@wyBqg?2lCS5%0v^U7P35|EO#OSrBjPyhY~Nf$7t(>lfIQ701*D zDSmKlNaDz}^Wu_QY|HZzHXD^_qx~mIJREXCQEX>?3$a}3vynfJp)4TSJrbal&yaeI zW6n!%{flat*R2WM5d#O^#hdmcU6NGJxwh6|diSlVbW0W9(*R=hsl)uzVosm9gn-#i z2%%8P*pp|SQLVKD5qE_Ua&*)|XO0#yXFm5yh!vrywuiiNJr!Y?wD5+;tUjFHGFHg^ou5kX^NVe?syzk{8lu1`hvL*QmrAFs;sxSSK zvprx-=5el2-^XV<&|+4YGJ~NIl0~4iV-eld$fpb5+6#`)zZc?T;+KoLpkx z?BqT7+vdH2bWR4}hZv|j3k5->ob!dDw8sK@D{yixism@B8{yf$F9v%jt86t_iqhJ_?g%6G$+-vp^3F%nk5d9 z$Pi{r)mLqK&*IFxamM{;!=aV;dCB|saGFJ4@a+u_4sD;X(dj%7Y11g5ld>UfWrTH; zsh!qIT>Sa-d)A=k&*lSw5^^)-uk^*zJnK|D%aU`Han4eJ*;JJm*3WIJFkuHxQ>e{# z_1cZ!8FXm9kH7d}+Hl=z3@5vJnT_8Fr}_Df>D)!?+QZ}N?iW9q&R%#89GnYV9Go?C zxJcTcgRuAXEZ0)_oKT+kRK;~bssJ7W#H0~k8c{0TF@~ITvADNwq{u}5ovP1iBh>kt zDp<1fwhv5n42mGN!-hQKb*rg3q(YIhF`L&ut4F}922;r7>OFpEy+sG61wIsY?8;Z2!-t%ha!AohQoA75EZ0knh*dHB7nhQ zFbjZLdwROMdZ~S{+$t-V^7DL2VA!1L?y9W+|Gu-n=RM~rck53cfkr})ihiOlz+f&_JB%VW0CSuPW(Q;|^>zP1-0CIxViG_AdPOZS{G9ZPP$E+EJs^YBeV zy*vXT8NvrZWzE}qCz8NtAxL;&r?52f+-Ve>0GIRR(8&*nZ2{Ht^P+X0=jeEy_a=9R zapgM?a7osO(+V@8mP%3J5-khX`1w*aIYoXJpNki|po7l_k`#u)wMoTtnLEyeeT2$; zbn31D;dELRr35x$o^Bd3Sc29_i03TyosA8`vjZ0T%@T@UgCye)Ho!(2b-Jx-xctv` z1~lYQQZZU0taQiM?A#dCQ<`Sb?SrS^CnOBv^5rE$!b14ulTRRBIOZAy5fz^EB(id` zqtD;Mn`;#H%KdO-BM0A z$>|c!xnR?9-b#p`#X%LWg4WARALbhnK<29fD7xCo>A874QU(CkHc`nlhR^3LN*H1z zs?y?WrzE8z73`Ff*2we<+f!!4=JWMv0RHt~{CU{iVeB^EEskd9><<9RlJqCM@>_q* z9&^Z0L@&24-$tex8oDc%0x5=n*N(UNxiBHY82p;NKo)%r0}PhjeEunSiQMykX$;PB z^$-t^0VT~by>$pBHIhh#$^uRfKw;j7HFtD)5K}o>a((bTVoNG#79$rv%K;FkW2%r0 zI!Q=f9BW+8$e@jMfho4+_k$zzc<<4$M^#|FigOy`Jp3GF)wHS~@H3U*uF=&F(S%!R zVgn(1&QIb0AG$?>!YkAD0de@XUjy3BppyJ>U%7 z9Z`@Yi>36^*oYUcf)m&fp%CPXQ|y%+3X3;xhs)O%!s6l;(Cl1z`tSiXQOc4Wv1e&s zZ687sArPHc$s_X5+X&DU7~N#FVLHVjk}6?O_<3$(aayaXm$Q&Ic* z<=I);Xv;SAuDNILWMDAE8GvQ5E@^3LKHk;A!4A zcTPZo>OhV%r^Y))L@Bzxdwf8-mW?h%ex@LK%6l!!T=F^`7%4B`2*LE$L8O9u7o?0; z@f=n-NeFV)RgOLFUAp?FY0fI*$>mx!aTq`}$b%(ol$~=kf~->A`sBewunNFqAyThG z9o0~Chq738tcj8NmDN5TCQaz2*NO^D7+~luBJOvon3iG;)m6karI22@&P$VPAQo5~ z|Bla8m(ACd2!R|do^!~w5S%53M97~!7~vo&=6m^>Gy?Dk{Cq;~=*{_A{2c50PE>6J z(u}YfwIKJI?=tIn6#M3}U2X%>GkHv14!&bPO}@ox@XU-S zQg}FUXTC{DIixnrnImKjy@2Hu*E$VN^Er}2cq@#jR=&gF!(w@fOCA77K)1hvOZ_Eh zjPIoV^@NEfHS#(;^`zDc*c1?;GW*6BuUw6-uP57^l$hL%D%R3#*hvF+rFbsGY>jsu z6@`LxEAc)w<0c)*Cja*7jZ1h3o<%R)N6I5G=ij2T{8Djkj^X<>=)7knX>hMj3X)G? z4i9`4J+e+B5txmJS69LLOTG@=qGD7?$JZ%kNFFAO@MI{%Vsdz2j0px`!|vDnucii- zQq}!~%=1CYZP;GOt$ylLzPLc#1r z(}TnzeJHRwiZws0<(7GPq$p%siY_c7IlxISO-50f5x#TtD_Ar_VM2F1c1o1Fth?J- za72i6j%AKCPx5P(JA>uR;mQ4)L)b^o=+47|m$jAV&zzjnB=$Wa7mJ%=v3yR8ae|ID zDLdfeN@d<(a7xtPhLVo_08XbLuqn+1SGQuCpV=EM_r0HdtOp|YD2T=#8Z9deO~Up) zyh=a9oX2AK!>$`-s)^RUL%yA7`-r@2f1l>U&fzkrDF4I~7H5}C6N1+e1Q26KPG8^& z#33}d8P0N)^~{%U-3beX^F9(u@+7M>5gMnM8{j%+83{74PAptM6VdpK4qOwBLh&6i?YdyesPPkI@7pPUfrbvlr}8%A6Oo&nwC zW1pRJpMZV6^pQvsT@*JF2xpeAk&oUQ-g>mwyr|$>j32S>T#(GOHt4fZoB|O?<6=I)@Ue0-R7vahy}jfq)2I4NuY`H+RfWAD3Sw zk5bUI*dQjL*%t<{C+r-dtQ^GfIIm3jT7Vb-@IwgMvJW4Y92rQ)l$d!W`=t%7p z3Nga~i^Zu~o*Pe#p*mvvNu4H{4zB8iuDIRZgK)I@H0*9sqT*zV9R1kDM8s4KrzJ>n zb$l<1?S<(*s2GS8W3xCP4KwG!`}gusvRQt1!oeHl$11u*6(mmCCL0l8{)|GWRsjwSg0@cw`NA8Cl<^PWs81EHE?=)_U%KJ72E_=Xjg=pu)HF3UO&HtD&$VRchfbAo=wTKw?Zg<_Mny_%T3F-b z8j96KAq43v5Nj%pT|Dv$9(0=TVPFBoixS~lok*anhXv3&t?u&fy{RxxM&S@Jd|WT! zm8Gc+2!0YvjT^<&U>tZib3u(umXu(0Y90XS7h+TZ=-J@{we2>r7ky4t%bJ{CzExHC~ zVm{#W^OoU&_Rzguqs11^#3*tkl$kf*k1=(du(4+zit9mzCMKdeafmi)Ko=5Iw~gHM zoM*_$$pI-I#&VE;1wFX45Bd`9VZ+F{(Z-Ff?m4jR>cn7Bq?j7Xi4dzPQbMzZI?w!f zTe=648x28&CM%m@xcaCsHBv?a+CIv(d9a52*H{R_v(!jq-~HjgL$R5XL#VILNh42; z&&{p66u#Gpz=0#&s9v<he-847e2M@JLh;WFJFsI2?B(MCUN#0 z9cmI&tiw8{xQM}sqjdn!iWnzro!iVscS%DLqKX^=4NQ$rA<@t*EIBFLEezH0&?MoR zAsyv8ys(1-TrAkd{q_N7S#C*yOZ4;XPV>|QH7vOZ*mzd_UtH8jbmCOlxQSEOje;4* z$ovwBLW80bi4Vx)+NCA3#NKanJ@b9>1<%U8*`_vCKq)!*0(cIY%<1ie=Kuge07*na zR1@AA{a7+|kYN!*h5Yz@j?h;|7YbhkolcU16y*#cTo*iV28GE)tRzSMoqGR8j~?u^ zUS7NsuH3#GZc>j;W5j;=!ymJg8wDdIv>mmJBD#qr%Wwsat#nP%UZW=-IR1)z+KCN} z!fXzbqrjDdYV&(i61}yNf?>FA!lp19$y1hX2r{Cjz?5BxDFRmX<70HJ)M%KjfH;Qv z&i%K-t=GOD-`g=>XLSCVwK#8I7GX{&f-DJq4VVr=a>^GMLgRqi_Zg`h;cEx^b(-)g z&vZ=M6RS-aJ5m1%o>+F=%*+%l%wh14VU!W@%@QQv-NmU0q*W=M@j%fS*QwoCNE;tN zS_3b5NdJ2ch8tyB?t6fqf*Nw-)SV>_C)L!)fcXa~(QFZ*KD)Vno{T zJLY_6_@9`%heK2^N0M62)ZR2lmq2w zuSG;@r4mMv2@!R?5URxw;`?~Gv>^yW-8Ee2Z=wewuW~Q9)^Ly)UtYcr1#pUQ;ow+m za0sYU0mT-$z;_5EkZR~rFh*EK_ioFWLRF&WcWdha`OR1fq}z~FA;vh=AVi$$k@C00a7^D-c1ZP~M zFf_ct&pf0&wL!o4SA@|M;pV*;!@U=7hyVQJ?}alwQxT?@i(i=*MVZeaJPCUL|B?pz^JUKt22RG|*ib_LX|&|ZY#UI<02uZ9 zVk1dv)XJWVF8Z>aaOaiZ3yUkuC>X#Pq!s)9PZ<=cfynanoW>&nndWm`Z)~(^S?~0a zQW^L|jCfEGH>p%og9zki{pSk_Wd*lM?p&{m~chOL=I~*6gxHF(y5y$hl=a zlzh(}szL}p;kIAK%R4oeV~GEqrU_+f;VR1$ z?=nAo2CH15i)fDvgZE5{s}4Q2$^}T8ar{n;P%H`Rm=+7*`OXkD_m`iefH_KsN91(J zhwEXI4miEHUR5Jyl(4z|h@Z*j7@eSuqTy$-qTqgZ6-XOj_?= zqYFw7K-K^dsv!vG!{+eZI7dLl;sx>2db&7{iLXszxyvPtCPwYd(jK9Hs zg$BbMz1lc{eMM?8IU0tkP4B@4IHbGp^1_wy_22tPVITDO*+(CT$;J6FGY6-dkh(_K zmj*bCG8iA#PakoPq$jrQ5)D~rPC7-1%Qgi-g^_0?Hu(--IKRmMr3wpDolzY)m%W9+ z&W*8dxD0s8_lj00-G2uzAgHR5nq9hu5{zJA*ZCZA5U9$?j)crfhGq1!$gNCI zja?uAoyABGF&@o%gyQ{a%e{=fa@x);{q)lllQG&D;4CcLafpV^F@%?MV$|&a_|y1K zgXqpaK<9&}kNHC@Tj=cg^wO#-Curs9AM7Inh{AF)QYZDA&`@z<@PuXHra0=~A zV+1aE32`CKi#896DVGv1k| z6sNBm_L|pQ;joQ3^1pQ$+x2V;LhK zE1yUoh>k2dpRioxkQ(;J#y%Aqb-~?wcws#KIC;FJC<#KQ5T;`ih{UsO!a2lf>&yhH zt<2!!V$^IJW$@D`g|KRL#xo~D@STJ2O6D@};mW94O3HZ%N*Y#mC&w)F*sO&j#{F=3 zd?(iE*rXwQnnp1i%8?QF)KQ18l0vpHe2IyNRMvpbC2mK?zz zb0C1zVK7eQxE{CzEXstlqhkwESe!<(&(}L&&RV22Tf6gWP+wg#=(4~xWeu^2gToyJ zwHijpFC$zK7^J459EN?;Oq~m-5(#h^9aRyWI&;)|t(qvjluv{};fh>v9=B$h4CAQh zFHtoZ8YNsqc+GJ$D4g5{!My$~xi*5S7w^Ey?jsjJX zE=w36eQI=QSbRz~p=vTyU+40=VxjlMcFo1PMoR+-$$72IS^oAC|uM5=!hYA`bU#=A;HhkA;|&g zF!|S(>EZDyB8DCZ-Ii35_8o^$Y^?Jhov^jBLpaPpNQOkVQJf}sd<-w5JS?AqN)RcV z$*mj$0lp;9b%D2TlJ`g61@E0gf6{=WlBgmmh#`qs7m;6F;(-Gk22aY8&aDtxO%mbw zoTkL`PBQS}{eFIfmT`alEUurk;Q#Sc1<`x|!yzF`9dwTcg8Xu{X?;AUu!)al60!|VCIE^Ck! zBkdMR>p16!vqC~}$pCRP(x}5^*C}}~lhNw8tP(V<9 z(;TR)z}+z;c()8$qT%UTx&c}htsYpW*rPGw6a^okFRXCZEswgW#5!dp1I7I63evk!!UR0YM8?SDD3l-B5b;Z9h-c0W8?e-a-3_!Hj$kawJ58Z3&4!bRi&tse(ys)F)I14T4pIZ~c` zr%B3$Cv=QQ)9E9b&u_5j^S3Q5dHUc91hRUp^-ijHw4s%mJsM4KYP@a_#`R`T!nUdU*$rFIXD$ zKT;W6af=vbS(+1c+08F3hPBOyq*=TZ25)>!Ae2;x&NV%}47xb`k9Uj}EAXy3qy?er zl{bx$F({nx^No#=n4FqkMP<=D%PF>d8pflm{EFlm{zJ>FtuWM$$u zQBv}JFG~eBWO1OQpBxn)FV^IQK5MT&thY{$0ly>9c`-E5^)BuMC4yFiIQ6b(3 z+)8n==dsq!;bBD&X?Zm27y@mzS;N|-p4-Vba^;-EZCuF$e*GYo%0Sqghc^doxho^LHco3qeMIMTN?G)k`B%jI1R(c+ih z-^o2vDy`#Y=*G&Cr)Dv>u5^|w;Mgh07K_F=04v22##k9#z=MjH3^AY}iEuYjt}N`U z;c>`E%a;Hl=Ro|2;@mZR>K)m9VHpf>wY~G0fe!mLXgq+#Gt6Dwz`N~)^+&%ZZKK<7 zgb`Nz#KArpdT++Objy zBUKjUhjbQI<~el4$}5pF`hvnCZs;J!Ln?V6&gR{ZKM#q~@#$5)ui=Eqq(5B8Ba9!1 zGxBEi@EFS@c0k` zVZ<+r=|wgG)wHq+>g0yPMQ%st+TPw4AlEjBKOC)Yow8F7PrlC(2!-AHwq9ZD`5Ji= zGvy(nxZjPqjo-tX;&bJCcSvodW)2a4iwIkiX(bGq1;+vLs@CLEq<04mL}qnPj9Pi79|=26_yKM!Z3|bEyn$AzUPIZ z9BGwaV~oWH8r%aS7}J6w5N-RN#aT+A{C%V)mY_-n$UlHV(=#&|Gs0^Osen|KuDvW9 zMnC)H1478j@Y>gY2jFWoeDdB8@P>Wi#aG@6W7Bh-EgnZ@!_%q!cBi;YOqAG3I%&8K z6Xf+PD+}SRw_l-m{LS$5FTM)DeD^aZsf;14@cnrXn~jc`!Qd*9bH)G8sBn4!cNhf@yvRjfzPv){zD!O9*aXpKqwbdjR0FV_r5poLek#S?=c!|HQDpe9Wrdb>JEvw4ogFEk3-1Z|>}sWODT zRchij42E;zGFVJYA_b6UX}cwwNo=CAuAC=Fw3L`Z`7|CbjPPgix}2Hi8yh{a;!Hqk za$X|u4(E5@c!77~yCTqX0j_~oMoaDUMkF7BGX|2a=<~&;5q!SvE)B6>#7M@m*T-~e znQOP)-^R1KY{L2FqbNkKKwb}uoK6nHWuTCeW{)<{pJ4yVaeTQq5`J^vZXx7lxac2OY-H}W>C8?s0C)WvR+>JU+5e2>a z$oJ)e$dttYArpI~LZ=wp1heFrFON5^$LE0qK^PtfIv9Tvz1kJX0h8++>5}H+wd%;T z!!Jaq$TpCD-b%gV@U05i#pyi4$OYj!qz!kGd(Q?9!l)9mPmcq7PQ}pQ!J2~_PM*=c zyui8U$dgMLzyt@Q&Y_X9u}XzjFJ<9HwjEI_C&w>6{Y97=FQe$w)2p(HVi`m)%!_ko zyb_2yLZP*G>~o3>Mnqw&@u65le~kUu);*OXQFM$e|KXn<}8^80rVQFaz!9Hh8*${7HgCvG+h!fLbH)1sKINI`2)o1-Oaoj4ov{8)G-LX5 z3NTrRY@z}j?LQ|v*`?~hDj>>l4G0{jPj<^$w~wqsN^G__IzrhM!-qRNL`u}jWffv9 zH+T2Kv$ZeDn;GhWr-*&^c!*PY+er+X24ib?6VKabfyT9P|IS^auBA8~rhrj5KP}T$ zHbAK`&)q~X0`aJy)F-a4LLTB&6#lK}87+^5-~RerVSIWz{OSMs-Eig7BIgNf5ali+ z(B`=ITnkj0KAvFM?!Np@P~;IJRR?V{#E}wYr@qZu7URMPC11h6K&fp?a%7Y|hAzh0 zI70l?6Hm<1fqE zo9;RRcNkzYM-vwULDU5zPt+q($j-tuxgvnE#ujPEr=fGZ+eExXF;Qj=<@q|K30>#^ z<3tk!<DTQl*i_zG24+#_>UCpohQZ+cEU`tSjKOiTk7sPRls5DPnr$By1AF?73M%`DvHez|uR%Bwe-I6K zPWk7bzlXqn63d19IZAHygin|MGl>bMOhM{1!FjsYtQt}ztlJ_S_la=uy9BhJjyl=W>p2Gc}m7eoM( zZv3RK135|cPRW0_Ai%7x_vXMgFr?~&&yYsZQ2%NeoVm zugcTaI>nvn92U-*C(!j1wjg-eAKu3CP3wHwgwq#$E($P$(_E z=)7LHL5Qo8Mus5KM%u}wY{$?_<^go~$>s#XJB@;MV}5izBhm1-MoX~*fK21<*i{r2MI+@911lb} zM$D(C@VIF{SHMR)tmCx2C!c3~b1fXxXMJ=C5eLB>8y>;nfqme`G<sCdQ}e5XAeh zJ$^)1$+yMFt$_5$m|fgzutP^=zDX z)(4aB6h3)B%C@&p4>ov*yUCZA7Qzp{|F;ZT+~D5jBVb(k&;|=K9(=eS-uwsO4&VOA ze-vJRPyBa_7)=U0lJ3b28i((O1Sx;r;Z!*jhCR8S}GIYQpv`>E6x` zRRy90x$>rT@oV_EjZmlr8cFo)74|*=W27-mVEjPxM`xk~9RM_*n!JjwChg#E_40Yb zg95ln$F!2@!Ol77?YrA9LsaP6Ytv-I`#e*NWZdb+y%Y6NPJW_1Ikp-b2v9mLxKD%; z=8$+11l9IRA4slxh8Ksj6D|M+Bw653lydSwycGYX)srM6aRq4v9O~t#CIV*sd|1py zRa(P&8(_>a=NDJPH^2U^n48;|D`;Yl+J@;>F(fwc#hcnDngc-}9GOG0@gnenot-T+ zNS?aJq(IY(i1YEmcC2-B#3-@cU_wa;5xOUgd^Qah(ZJIloo-VenFm<9jG=>U;*baq ztpf=}MBRYUHP9_O+!}an(+&ZjeiT5?y?w}9TS1GooC4m-uDXcABV-*8S-{7?_h8#R zqoJ|DjI*~pmI*l*egK{iBg@|p5{`-7a@F)hQ?>&DeP8M~DV>HTm@+48Jg3mvn{RY|3%U z`0**q!)DnfLiMSuw_w*zgK6-b{9T!!El?>IVLmKy=yp)^(F!=n0b!)TXM=Nb@Q3ZK zh*4Zh*yWiLc>cAGLs~jP)5*Q>zwuW1Pe1xTyWodH31ZIi(L*{GUl0H2zx=1+cmCej z!>g~jy@YoJfRsr%LtekMyug%PIy^i#$TB3=SF%!lCD`i-4vDa(W&BU=|((PN$A>8XG5?0N7P8HSijy7=@b#PK?d0 z_R+Eza|M*Qi-7SOQH3p~`8(^HG0ea^X({yDDXd)d^n6%v!=##yl5-F;-p~jBjko2$ zX=UIL%vS(N_zO)+JS4s*heGEG=a%NLGL)V*JOw@oscRvU*(?891;o_83PcrC5Ss zxO{K01X~ObcXarST04q|(w*~M1-!Zg_#3rdWPu5vL@aHDT`h15iUf=<2J8%kw>Lb& z5}-1|X(B5ZhPE7N95sZ1dLCGrnAPmj=n~ib&|qSUHGo(8stS&*UDDih9-TjOxGGaMH zA-7<+6)EXm0u9DuK=%YNr4*G0wRicSB|c62z8!)mya(Rpl%DrvnmZ)IXkeS91m^x{ z&_AE7ZBVi!EkXt=%)gV;E1%)kog3WKVtDtRzX;dwy~Vnv-w%KMU;IgU>D7DT@-iVk zxXa$Ln^5rDgs%dxvN-2vCu76XAfvrcSY~*z^~htv5K1f|TEaoJDZk2v!0{82_Ri5A z@W&wYCn(3(_AYCe4!8r!To^A>0bDfi+Y9+o-xykR;9wr0+tE{M!AYfv6cJ%QA14R^ z*~aLd@SaYGwWmPE6nw+hMLb8YiK${eR#fa zfHgzd%^Ns?B!)vctbd?Gjr1-h9=psiDuf~pJcCH3Ua5*wYF=8@q|rAlxZstcv8{jP zER@v7XiH2(McsV1PUux3Z=?)W=JPmQ=YiMoSjZkqqDKYTpfgDJkcyt>zYmYrc`rOY z7SYcUKy#M2?VAGwlL)oen^FlJd)_E2hEsN&98<-6rtlmNOE98wa)_LHl}^CX{p}YR zCR3Ui@hC(XNXaprUbOIW{x(+slwDg79`E7Zu<+7t$-6T|B60M!p(w_Q!$V+TmZ88b zmcyIUlaAquhL5kY>&dmdNsOAQixX?p)|73W;p`3d9UE1JvDe3N!UD>?z4-)`d7q!h z_drCEr`@PIWo3=X38P0zYmkPCk&zLiCcD`P+ll1dA@+QIKde34V8iHMIM{KJ1T*dE zfv?ebf6AJpCMlTgz>g`_ZEk)Em*F5Bkm_u0KZB9i2rE}Eg*(?Sg{3R^!;Pyq!s~Cp zidR1jUp`!;&tW!(ucitDV6w{$*|(&mLXL90^X01x4BNQMY&WLX96iT-THVp8@{1h2 zPK0(2*rwqWz;)T8!#mGh?R7-eMohrFG6Fz0#7~q{2Szw=AvQu$f>a-VBilw^Tn2Jt z-4xtqEK>i0bl;X;}Z6li2#r{{!XyYK`=Fpulj7syv9^rLigcS z`~n`^k`!Sg!qG+m`5GP)fr7=8P(yfFOF*J}=Jc`cltZz668}zBBvk3ZbHAW>)2pR%pgo5&l0~Cj*@Me;MFh-0s@($fOmIvj=<}!+kRm@zx_iB@j?WPS% zkJj&9ELr3IPY;g)LV0F>rpqPzm>e`Ph@qh@n&Yh90VWI4AswEH^XfE0AN=Cy;cx!t z&%!onQyA=UaQ>g)Gd&%BoywL4?FN5TModX$*LhE{32ix1lbxIDc;+tp6 zM^8cIsL@&(Q)3>!0@8hkpgJq-l>YDxD66x&L@!Sm=(kOYYRE4Avcf28(mNy)AdgDY=zS0_kZ{w z`SDqD@5dNVSbKnlWr#bYgq&YJUJHNmZ~qk_(r6rWb(uvBmv7u5I$%=@3V5)0$Z$pW zj>DZeKmlpK!=L<+JEB^{GoFEIG>Ne6QK+GjhsStyK0^dM$C>2GsdZw#%i#S8 zk==MIU%*O>?WFo=8V8t9k@6(vxlwX)$XWC$WEnL!M2h6-G|haOxdkciH%|BAid5*Lkrf7^ z1>Rz6X-jVeb9oOtGkF}MH=ej#C&^x6L?eH4}Ty16ADgl zNpkPrD!sSpqE?5a;1^!o5&-W=%n^l4I)IZX1t8RRnPf8DxPv&`?DEQ;aO?Ih6b`B; zR*Rp+OW10NM>@SNsgcEcMlXsvA9i!I;^7z zSU)FokS`C=l{B$QE(+HY^CKVnw10 z-h)?;p|T@_syt7eUk@p#(Sp@BIDuCl0&EwN)?=`65yV(>hL+oT?}RbDxhre*O-I*hmY@Rgp(jVa! zbAX@I;p**IXb)!Qy2hOIbQ0{`{2~fag)2|Gk{#likR8I;Q>MBcoe&iwiv{j+C1gP%s8#pRo?g>ek_;9#0_;d{xAr{?FvFW>(aMu7?nclz-=p9A#S^T2v8a2CVn zy)Cw_aMz8)1|An#b2<-(PI)#^m26`}jOSqFCSe78&DA5%M0CERhFQgSw!a|jaFKJ- zQ*-Z6+2J-|`4RjB)Cn)kKn(KoG^tof4u>gbEv($Q5jz2m6x!{RaB1--EJ^6Fg!3(; z9AYNU6C=Yjrv;u-0x7WWaF?l9CDn7JxVVcAQjSEI^@tlmKGY`u;oMO4=~ZjdzL=#N zm-lh|hy%AsPJ#Ae<;kf9D6l^6P3!RQJ`O>&+wfa(&T+nc0ZJ}1iQ01zE?{&QmS3y4 zk}1}M=0doC|E2H;zxSPR<=SP2-T^cWTSFyO;p<`_Fu;?|EOu5&bv=Qi>Y_a7Y}-a@ z&TI|XZmSxe-FDAi2sL%`^>Y;47E$+KCCHU*#+X~ajfF?StWB$YSkzeWB?5_;hE+Da zZ&Sm}a##a^TREB~WP3?$kQ=XuIin0FQN_}s-b;W^?s6QV1^OC$1qh?vb?)0X2^H%Q zX$-xb8WZQR5&8|VY4uXn5|MaYjXD3qdZu#Z#$TWDz0gWG@eeu_Eba4eD(eB36@SL*V z+SAXNr}j&@3eM$&tI*iOc+nkq`+merM3sjpr+9A5g3Q~)0}TU2Wl%gh0#s1B`;90= zmoB^49KaRC{=Fane>_(!eB*cjFf7lG0nSZuHm)^34wK}^;u|0QLJmK?RI)Ijs0UoEpMxL@bxx zJ`U5gB+d*-7I2MFoOB7-A2}I&dzDyjn;aX$Pyp27p@{`}Us|!}mcq^JFQeE~tnmIa zEK&KHo|)$NG78ZbfXpF=P7Go!j3PAbqWE$Vi1>-Nz^C>rM4fE-0n|=#ZaJbW`Sx)i zfZt_=jUFV;cc?taOLY^AG}aCe6xm}~DF-xOV7+B4`Km5nloaBNrci!E#5iz*zq4J` z97RHev*nOiJ{N`b&s&t^6bk+>%Y$SI{R-q`vvYL*(1$Epq>ERnqbyy@XbHTIl>iqV zY}D8BO8n^pCMGVb=a)_5o0jl9)) z?`L=#;fOS0KBxfy;Psdc3w+195Mpw&6$C)Mz^SDYURs27u4uC6-$&@30(3DfZ1c0M zyW7~~TBasSEugc%@i>gmVA#A!#BCVR(P+mWaNp6v6H+iqlK6X43Jj1Ph<#KG>VRM! zepZ@=15NhEyO5)XF*&Y%h2bcLaVV`*BR8?EDS)vjES7l2XJS0`NYwi~JP$vB^Cpz7 zBm$Lga^3gCqqQF+VBZ0azZ#aIZ7wWAEMmar{K{g;|Ls`pv$n*z&(<4IN8M1he_DOze z5_&qcp$UUb>tBcHVK1&Ms53lM?A_-1+W>Kclr^s2c!6+|OHxi9N`Uun!_X5%i_9ZD zl4GT8Mv;2iKw$+6Gtf4*wgZHmr+9@^h&qFiXdGD4kD{GG>TsBYB{#!U1T zU+37W8fnGS(h9>Cp#P#E&M9wNX5x-5--yq&G1!izZZ_@cE6{rSe)w|jo$z3dIdzoD z_V$j$M<2Y8_kKvaL`|De(n!xiqKD?(Aki^;;pfVha}`sYNv*QdIDGIIKvHDK=*dA8 zRmy1sbVif%;%{8PLT4jY6#l`f;l*IKCClN3mtH|;t*kgB4d=r5Byq!q^=aK4V;#%hJU6GLk-RK5qgG8n)i^6jMh#I9GZw{Qu60-9mApdaK$%P4Fh-eUWEUSCY zC6@GRl|U*euS)Nbf*eg8arYd5W{Tr1^)3eVoY2yC*$$pcZy{*o^EyTH>N6<5VZ0k@-0|*w`!pDMs5|Hex@X2RC4WE7a>#)Won>t3#Hc(})L;d^^17N#u8_(Cmz>-hV ze^3nLbGISOEQSeofjdv%@lSc4$Jzb793KA%crx<#g@v%RI13srNr=!NB|l{i(*fwd z`HiwAA;+pgoL)mHtwVAye$Ele;15sN;DKX2Zr!;__zc~bGF%b>?Ao3hl$KU0>dT*VKr83KC(J3M)j)}6#s|m%~F;*JaH1AlzFndQQ zO`;hhuKiu&uP)=S$n(wFohU4NowsSP$LY(N@(Mzw;25<{VWU!+3-lJ4jfGkac&%+~S>Z z`{oNgIQb`suLY92Sw$FXqRx2d2xj439H20aP;~fN2ir6oK+iNK@P$Oe4Gml5#SVKA zO?J#}gK@aW0CpuW4S_#EAf?NeM<*fDj8Nx20$gJ4EXyI19J1q&8(2~Eo;t$bpeznuh;`np^juXO*!(XS~X+N;PlV*}F zx5R}SQxWcQCK6y;oC)6uwOE=flu%1kgnCHO+;Bz;09>sFseBPM6}{Ci=xj>GyN8!wJ-mGXz$tj zCQP)Y)*hPhnry6RFMT&?=)}HdHD3*zuKKcAf*m(2-_4GUpJ3viRsf{Pk5mT@R z^63eNI=t}W3*oKbemxxHz4v#%fP*njgoR=g4VB1~&DW_vA)^4ofN4$Y@X~LKY)y6W zh*ak+m=tL;P7m5DMoR!UR$DN%ZLp5|F`a^>hXoMkJcb|#n^EfVAQNS}$j$N2bJ86+ z6#VQG?)#C5Z{7@7mKSNZx7k9}(g7DJndAzEiOA9UXjNWZPiVOA zXr2<@K*h2q+*?vdy_B#Q$&CXi&LD*hP&Vq%l;aAc7K`*2SMGtH)BB7uS-5lq>p0EN zpe9a)fU89)=_j|7i_fqtN!gw##%7vA_qM-A7Hp}5>Xg>ym$;H%qZ*of-0V63-HU@ z?ihfL9yk&@P%sT|W?J2PBTO8sOT{RFV9AIByh%YcX5TNoF7FkVNNUX}dNQerla zh-UD`DPcOsHH9}45qGE|5pXmxvJCN!crT+hYVPLG-0}F-e5~J|Ai$PFFZ>>&h$fyZ zB?*c9KS9f#plW$@kLpH+tuy6eX5X{yVi03hqFUhd^2J04OBgd^T~6=W`d6fF+e9M6 zVR>OHT)%ONGmORF=*4$v=BOR*bMDZi!E)-PbuAQ4r{fe_<4NCB!)J-tbzn_Owg2P4 z_|tIf3Zx&RvIIN}x9@I|QrNs?|3VStaOLXt@LOMdll^J!@T33yZ^KkvqRE&jA~FrC z_ofW-)A+}ZMoc>7u?7G&@eY5EIlxc|Vh#|yr%1hw1gdpXE*zG|v(<#_e`r*QqGR|R zD57CM#qrcJs)h0#@6I+CynaOAp}GN+n0#%28!-Ot)B?92kwN z=?wz%cRG$E;CZN{XICAYWN^-tB3wKV!XGZ2dh~&X9L;DG9rJFi+#J_LJG1toTErcq8J@59e8)wJ|?oj4)M9h0$R@UcMS7K801Iy(@TFwj!Uw_d-i62tE5%{427L--UWy|gC!^iVO63jZJ3EE zf`dYP0*x*mG$*#(tYw-(M4+*#a~}07pNCaPc4M92%ERo!1Y?cNr=b92B+lp*s}hl% zQ44R@c`lMw+gaxZ6Jc?7GTgj*J^b!lzZG7l^UcK#U8)+kiJsAwc3RoxnTW_R9(f2J zlQT0YHo5rh40i$jlh1M(qLJYNb@6RTH+B>n`K>YSW@l%Ovo!(`+{77xH$t%I=@r7oQj#E3Fz5wPn4I(7nX*YMJ-A!5|8;pXi+x)+XENhOA&lhTxBF0EY0ni<}p06e6vjb})c zbXn9R)>L;7u-XU$euzVaHAU_$>BAK|Nk|8B%FS0}mz5N5V}o(s=l zWYGj15_me`&l}{i)*;Pl`nA&3H!U04h>?bDBPNmI;&PPnWU{sKRQ^vuMi!mM;q>%5 zKc6%KrRk&TBm!)vF+>24w6d&dhnnHjx%G1lg#$9q37_-|amp#7n++ysqzRQHc6MKRp)#1rdIsim~Z3p zY>(AzXzS%DxZ;VMB$QTS!8%Nr@Yb;vmK3E$s0{3Y^2gA#ePBrcnZ#H4bhH>#DOpoF+%G055xB~LhS$r-Z6#(PD)8J_9xC=GfGJD%So~vi0HP)p-xBC;=(1`B*(C} zSU$ehL6qVEBAgrBT?%pIy6T25;>)zr{kOzisw6&R#=@oIX(uyFvdj^-Xr*y>O6MC za)siYw5Cp^Be9~7(wJfU5#e2(d|8Hl77~TIoD49h->3);p2G$VLtGw@_vQDz^VS}{ z&KLuYdu+S`q#U1SnZ~81c<=6;+uJ!};?H&{V)(}f`)I9%kTgPx#};BjVOLvcInPn@ zZ@Ue%q#p%q@62oO5;i|&8f^vR^yV9XpE@{b_)9N@MJg~3P~a%&P$Mrl95?Ub9Je>0 z5zbm8W?UHQ$n)K;sMOMd9UgJP=erHXWtxW&pq$H}A^bfD8?hvo2h>`=v>3j?d;WL- z?Y{^&uQBT$Ctx#>TmwgkIkH@4rR$FD`7e(SgezCBh8N#_8$SNa5PtyGU=a@3C1^<+ zWs3XaR0`zW#weYEYqKv%+p?CTNrzNC!~Q1Z7ANR9W=e8R9OZ=^h#L(8ni>t|F+gRM z*Huo($i8|pJ3R{Cf=uz*0;LrU?*YcHp9o=;axoH&lLMbpkNDh(iSRQWY9d}DCX~pO z23O^)C-7AAk2?s20EDBD`#8Lmr5Y#6pxgp+k$}O$lLYg7Ln9vmKP-Zb1;LIY9DF#3 z&}EDU;Nnghes?E!_gDhMGVn6cQVHG6rFM2J95fymg^+%Ea{QFq?^M<&ij0dtu+R(WQO6}B=v2mDrcmx5mNNwfa_KyJLIPX~| ztQu;Iq{ozr_fmmf{3vI=38Cc(pr&?$5|YP?`pzybhF^dDkO&FpA4anSSXIS?bu`Wx zqzj(0MF~yqJ?Bie8B$T@-{zR|sC(tQ6rf_AaYSR3hZaG?*-r9s4WXySl-AL?nId&< zy02&=l5AB0$a6w%hVZ;{xEVhD^(WEW6$r)k+^2-fa=4x1eVaZ7oU9^b|3s3a&aZs9rY*~@?9kwGN(2YI0a*HytZZ4Q5r^W-@V2; zcEkVjfBbp4GHVn_!wT}Q;qg9VCm-@=dS%yMz|gy`#WCVpW!Y#8qok5cmCj%gCDx3x z&u)mJ8>P`{=E^UUIutRw3_3yo94R)7fh|*B#P1?cb^;1i3aEDJ6<}?XktvR<#4`?9 zcH?Ko{Q*1`56Ji6=#a?-bJ|w@5Fjv=l3bbJBnWlAY(r+$DtcO9M!JRxP z#Ue>xQOFJVc{VN_@6EeBP&uKA#gN|| z#Hp^92&~HwP%10Ym@>CaXoEE^mI2l%lSQ@^w84H#6xd9Du%U{n01=0Ee!^sx!3w`h z+(#~L{uH-T(zT^9xH>2jT~IFh!dk>E2FNa=i%o5vJ{5oFaaQiWf7haB`;Lm>kDabS{ zg@0dY4n%}R;~HKUe)Mto zmiW|po0_EZRw$j;VOU*ow}$lv`X(&xj=+a6fmaRFvO7v|z#vXfYO)iPMln=*dG260 zIx9EhZox5GUYQLG3zI|xWsC!zm>71u2_w?35eHEUQkOF$#edhBa?VyJUSr?f*9v#VZodmCzB{LisC2peXPJS-|v?j4I|F-gVBw^ zgo?MT>{D<4N)5gOzO3&%$WX=l7lIJq2B zG-|jRbMM(&%q0!Mb9fWCxN_`77(^yKum8)?6;wfJ&S`|npzzLecL<*?tIoDBF>W_Q zK73whcmW)97Z}Fr92hJqqi2+$j&|1ZnkX&Gl;rbN_#}}}7vND3>FFBTNam4-Yl|rs zluo){lZ)QJ&7b4LIX8@ezxFzJ-bG#pnJ}y+kPfSAj z%nKrw9`D}Cws;`&%ZQTOnn^U}Jo>%eL(t^|j3pg*L`<)}&i?edGA*O)gntM(DT41J zQ_;}>$hmVU_|mPFaQ)5=N=|Qwt4x+Dl(~0Ga%sjS4YCVun9tJ-Yv}8Qx(e+ulV)8< zb$qxV4bl*)#u&WzcBe!w`xm@1Q%r|OBFEgDdG+4C$a3?}Y&q89)G3o5pF+67AZ~z) zKYg+V@VN`|7Z zijhycQrG%VpZTJF<9K8F+G#wg3TDeH(Lt}Yrou7{&g~Xm6giD>dk|hwoaBMAux%1k zXw3*gw)_BEh(Tx}{O0Oi^7uP9zlMh%CMRUN3Pxmv`fD^Yh5?r8`1vV9;dJI7YPky#7r@@ zEYJRkx)q>&6y+w%Zj8E zt?>Ub7+ah@|Asx~Zf!yofG^q}tpKn)zS`&3*AXt6-;*b~lva>85zQagm z|5v~eb@+SZv48NbZ-#3$Qhew6W_a)2_ri~V_#Xll$gqo$&Mz0kx4-r+I1bBrX*?C5 zZ$pc{1U5$0cvcGTVNm=7EJ1=w-TWBA%w&hd^fa~Si>>h0dN*u8|AJ@a&lgr8yRh+< zzU$4WkN8@g1d3fG{Yj7p$y;cqG3K0bT*NY>UZxiyJ|4oCr< z(3&SQk_+KnK!K!gVJfvL~{mW-5@cAj*0BZ69;sBJ>3PeNr9{!#Z8mX8mX^9#4 z=KXPOvoFox4?&GKG%qpJU3t^E=_g0X<1Nh^o{JVq1~b)GXQb;kFenLzhe(dH%qg9` zE^neVTv)x(BcrW)WxjXBllf#mf;MVGITt3K-WPfucL6xW*bF^W6$wy$Tb{JcCal zq(cq(Jlk7+c=Jr`6UvX!pmgRy_M=N1bsk!bOeBWzj4n^$br2$#+ByFYMdVN&{+}f5 z!j0o0PFNJ7lIe}{;MB<{Ca!Q-v|gfUDMGv9nW<>_9Du18YV!;n3kPbm0{?-5)Uvzm z(Q^~rO2A(?y*LK=;x-U=kYNN|Au5yK4uGbcJQ;ccKgDyyN}&*9tW2pzsE?uK+F~gS z4?Zzo4v$8zX3p(6=oa3qLU>x?_f^6>*?4)FVS+i_81LTCvc5Kb|8G!kT8Z05mMDLX z1D1`nx5rc=VxYM!wrXz{?nh)*1Ckj%`?*Ma*W(2iJqLQRAm&l91A%D2n8WG zAv*HusP7bj@DQGMg!^+s&dr;b!&|@ga_s$o|HnTKgJV}ib?1l3zf@_a1S3xZzg6xi zL8{{r$s&OC2r1bxWnc|!-u#-7+c00We*peQ481YhdT(=o9U`Fy&qH{QQ}KP3)fV8P zwA{FKQC;RNEn8cK*xjatJTy46YW`vFX}E2$(i<7epP_hCS5?(Mb0`ju@8>HC*AY!c z$o*z=fbH8QHQ~ar%u$&64MJ~M+XcnL1mTKSyN%MF)}O-dy@bFmlABWVrPL;)$+6N+ z9_$oC%(*ZyR?4Op0Sud3swW3{a>_Wv)N)x3q=v=$r!hrzjaJ-k>(8BAqBo9WmpPxeUE#(k$#liX96(9GD~AM zJe44GN?6t;tZpG-a@Ae(*F^cP*II|xYi@QQ?-@%98rsXuW5W%p^jfja{ zvY4*ZUvQHyFSr75-yJeB%N@M%_BSCFEl0&(Uw;zmu-kA1c8@ktnii9Dw?mz;?Zb$; z%)mTQrIVcGa7_)R7)hFQauDYjW0{A^9bG_Z?ke~+G(5%eHNrmFfh9uw{U;`-8PdqC zJKkS~!s&w3oQ2Ondk}v8#aej!_#vyGJ_sjp(%T5X`_3fuB-3Tmv?^19o)V(~8gfQr zNemE|YJd)HRS{qZ1y9lHfI< z+jDBF@8H=-se8`E3u$2t4jG|*#-KqPN(7HM#OO@4ibTHrY|alsHnOnHa=|mDp|zH{ zz&vy5`pBux9er*~MNwhFLe5aE)5C4f2Ev7a3L!}Y<*#E9MA~Cig-~RXGAFxw?%s$w zo{>@(7NKMsYw{%~liH|r{SsYfSMEgP5U1;cLud>&PEVh#GotAk=YBv#1+(ADwU2kU zV4}h5V`@!0o~zXijWCEkMojS3%`j=gT_?2+BgE#4E`8j3{uJc~2cWFznK(bc4uXGj zc!0DJhQf1Cao$-J#(8rZ<9&d~58wG&c=+T|`1FInB_t-4=AI3aU0_*e?A4tcx7g!; zA25ojfvn|v!u{TZ5gwYaT8+qS+y(Oj!zi(8YQvzJ%p7E}P>dw|5qmofV@&DET z_U}Sw2&ILmKSWAdVNy|%vRg{8ihQ|Q*e$;DHmnMvA@ox)4T+RNp1Dfq!3*xX@nwXT z+v(Zi@X`yn!b`8bN|V*i@av}=;d|fzIRM^4SeTkbfdSbH;6UW^c^aY$q^%>A+2r+K zyF5=n{ZyD>@q&u3l6!s}dNlHmKQ}CQB8>w=lq+$e3LTsmIJxJW`=lW3nL}0xz2HDl z>Kz=+uBvEyPX)yN)|Sl>&-eir?+wolUE*qFa>qF30#9K*)FpKt@@c!>d|5-NXf*IB zDhVGGm8^piabv2D{Eo}Haq|`yeIkZ4vVRPBWxUByQsAAqa)h_7S`&p=9!nPFTE1BH zULf=hW?^aD+>>o+oFwOSVd6fFDXxZ#BHSSai(O5;TM=5Rl>jHNrYU1+Sgg}qzt@(JWvHEPF;Wel-M@33;Ikl4=E{7FOgj8LuDZ7DD)JpH%I3HdZJ+K-< zsD%fVWfvPl$Un8%hNzZAEZNDVqO^}kfy@I*=!o}qU8I(5p5lXqV*`Nd3K%e zNs$k`xbYkzcQ6Dx7N2X1g$bhI_5cu{a2LJv<&cTS{2HeKQ7+_G;<#xnsasdpKG{Su zd$r>SpMMcPfAA&BL3qvg)rg+f*1y1mL&~5ge@J7AW0$&=uF5onBuyK5W-s6MPJ2h- zBq0C8Op$ey4Sz#KfRRAKRSX-PG{klex>s#|eLKEun}(2mLfIkGmhquc?vbhvMmmL4 z*(W-B_h)}Y*BgvE&cGRZotPFm!{4sE3SORw<8YT3Zh(@{;@w{iFTV78$g!$x``Kfn z2*zdQ>5IoeItI&OB1zIiai=C;xJC$n&RN563nP?wON7xIw7I_b&R0})n6b{Xh+&8* zuCZ>wd(Y+})-e6n2sB6ZQUf2dEE$Kb5Uz9SyuZ;f2f)v;2SaWOwmIrgmWXC$c`n?& z%_`*a;c#_jDcrig3>|!uG-`?!;ou~Ewro4RY1BjY$2i&a({i()Eg&j!OF60m{taNn z(OZ_iIazzt*9nFd-WZ@Wd# z7(3$l+2fEhGBA@2)2bZgAr@+P{~2flR-99dr87KL9d5QIG|OhEbecKpw!kx}R9U=O zf<*w&wl)Ef+?+xkk%L!Z9QbIfs#7vO`~kj}k3iWVd7%6rt<53_dr#sxVCQt_n1VY% zcv~FA%VS|H)m;#D_J4us_7iDTF%o)dwM(A3N_K(QkqD#F?C`8y6NZka4^kP&AoC-& zpD}OlH{#%Y;&xP`BJG3gcWgb?ODL2Bcnpp_mdA{EY_rU9?(SKW5!WQeaZa6Bi^faJ zsHshYAL7q*D1g9Z=p)A_Wc>WIPq>SK(aJFe=23Y3bPdJY!3!{{hjir_)Vcxv_?*$j z4RC=HIev*o3kNLt9J0n7-|hRw`SJ*x5yK9`=B~L5oW{ClBm}Z?3g{7*DI9@>kDckXJMlFvYJ_vvH@BjC3y8r*P^rlUcp4oZcQscF+ukN0dxS zoDn(TfWXXP8KC#B>e~0LtSz&$Dl>guCkYIuyQ_0~-{(E+eeQD(kqF=_H6jeLp3HND zvV@IxQmzwRj~FR-*4V@F6xr!^37ReQ4dxfp*Y_dxEPqMqYCh!w77HNYJs4@LFgCCR zJdA8>REx;PFy*#eFTMuMlS%*jU;PPkNL7ISbwdD#m*!__ryWacc*s*wbt>GvuFJJ> z4nP%5VQ*s}8DY*oawxtN6&S8n?NlF5X#qA*ma^)oC%e_eh_XC)4TO~{fzN1vM*gD3 z6j^W-wVQ_J6KuhMFx^m=1U(XLOXUH1!O8AXM)i5r0Iye7C|M19!rQEztEbqSeyOCq-iOU?4)ID1ReV|2ztAa8WA;y>@RI3}5 z$k@0-xGD%@{@bAR=2C^c^To)!PRN&?SZg}b3lmGG+yNt~1i3Kp@qPic3~P6bL=z`G zfYa(GzXv;@Y?tG`=hArbE2BA4br4r`p5Va~RpKaoHUZ_^-ubzlQ#kB>%~c%LJM zT=%2mq7&q7+%wUDr=@rARl6}dMn1O1maUOO%y6JUozHNG^pFZwx0xY8Kf4ZKWo12m^Q+GpI5C9`^)o|n zH|WmxfEeQEh>|9!rx_qw0SiFB39)Ybgn-}pf9_aOGHlSoaL5+i%-I9x32zTYQ=yi_ z&fhy8%8;ndfe3hs$J-U=Pzt`$dnMe!^K;SR;Q`}}5`Mr4pr^@E8~|xl;9@>Ky^({t zhk1$OdQ2Vgu(}11!`Ns3j042*@VQ(ga>v1y2-SBGei{mBNYN#DhyrZ@pDRn{;hQ7#qXzA-u|uh;ydq>Z$5)JVGsfj>)PC0y72=0 z*k`V!vAJt$22isDB7U^>i*(qYw^d6j( z7ZoK8`Tz{N0a`(wKj>Jg3SRK1KmC`m(g4F|=EEQ#>^0yP%yVcCBq3xb4KRdWTVCfr zAz{HYIAF~b&!QI3T5Q9{Dbgh5C5OQo&}rf<$~c({*hz`# zFjMaDzioc*L=)pi3-3TVm}aDfaKo@q4Tn~VfT|4To2Ev&u%$tBUq|%HOUDwCrvHsW z!LwT9Kf@ZD^9(a1PA}UsWx!|=Kf#E5OwPp|H$r}E#@1b%$7^Yb9PyC+E`wLGoO4QE zs0Y>)N0h?TaKCzn6u?d|`|T~Dk3bWxAY=we3fb-k%l)9S))=LQ@8!HW`v9T@D!qQg zJCs+2)*u-oa{aQm_zOH6p&(~xH=pO1XP^7}D#$r?{K;ua7lg|o>3Oat&sn)M{D`v8 zz@@8rt=@F?x%bl#{_a0YZ@>LfssqB^`}|+>dBapkUP>SQ?jNRCKlr=pl@EWM-uUph z`R_;R#)~hfXTEbQz4+?OEK9tVu0OR9wfQN^QO-0YKp^#!XhgKZHFE=C6O<>p-hOiP zc0_92?A(4Z3Expp{yoHN)@TS3FtaV$^i-LiAhH;NyN_lg zwj=42fAg=>bFY2~`|?U!S$&8C;Zd0uyY%F4l)l7`4r?@*Fg@p+FMoxx7^195E{}W} z)9M%k0Of)&3_Ex}mi_d6dffOGPlZ|LA5uC}J*!G?u0gH1j}9{L6dj@|yt$O{1DK5K zYwO&zZ$U;V?G-s!W!s^VZPG-`i5xbLh#3o1lL~Mg+`z-|m7&{?#^I~^dsW(pB8WoG z+rqdCjR5hKYfHfKlteP;6pq4 z64a7#^Xx*TnY@;Zv}r_izogZMoi+{vIWu>KFovlydOA{x=IJg1KzLGMNFWb7E+gtUvA8?NrHJqYF2VsbhN3ZWMHxuKNHt(^@p{NVi)GFcI;$XM4aBq` zVVIm8!c!CZa7nwQ0aZ#P5+9-z$Tu9}{SDKbL`im_xr$1!%|~ODxIeuB&&3E)#g-fI z9D#uehHXMc&EqNm@Spw<>ASDJiGuH^XJ2_6iZ2TjzWodk>X5wi>GY5P+5eP&@4xzk z^z_T`VtC(7@4fYMx-vV8=LFF$&!yMC|F_e7AO9^zF5RS*btO&HMfLPk^J#XDju}n)7JtL%8Es+YPk>mHy5PupCFy-3OnhKKd5=s9PI(6{z1ES?=y`k*45@`7CLv(qGFsi3g7#qV&wt zTeuY-c>~JrB#RIuf;?o1DD&5&0fls@LuBYQp^cRd(!dgQRtz22>t1!0+tk>Z12%EF zbB`nAnL?@M&+3~Xb%V&&ZplF=?AWEJ(i_^hm>=h?c5xbk(JH)>ovlSuG3eDqY*q(c zM!Ey8QX}fMdeTH@mEi_}Mu{@v7{)g3<=i-U;G&{5#lNGZGD@+012F-rwq_j4J%n0UEofL zW=JCjsrQztc_Z23>H84!L2v*gl{3QfK0LgXS9390O^&i6)Zq7qRg|Z&@Gi3y@X9h@ zu7c&3wdAg{J$}~GD{(zRA?Cqr(QT1!AuQqqQi%2Hmgd}HXP%B7KmZ_f5Y^-;70utc znVx>>4JewgVRR?b2k*a(l0KWh{PJPChN6D_qu)+1zw>_j;YWWb{rx}u{q)9LFQV8( z)O9B~56%EW$`A^C`5NP!F5Tprps0kQ!}iA$lJ>Hi+SJG{wS8D)l6xE@eMFuAm?)(| z7oLtlNMs+wy|lW90cRH*-r87tKT zP@If-hD}j+{fRE`ZSJHyYlmrN^8i4XFrN@N(d~7Hr|wXvKRUge`YKlfv^ysUpC)gg zyM7CxY%bmT`Y%#e-U4T8YqQTX`VBBjCBp6!r8&3P+V`+aH1ePS^#5eK%N+OINvlup zF*SFb0U+~$WX$%5fU__^L+J0>5QPBnj=-mvsN%qkHmSxw%P5?im&4%uEW5JAvn8^T zH{d;Kw2j{6ahQ(9&N}2r;@JSrEb`!MbR-_~Sph^M|8fNKq&gf6z$Ab$_i3aoh^i`0AbIy*7dNqf@kFiF0CJt8x*Gp#=HiTM)o!{|V@;^Na zM#4@VBa$|j1X1MOSTWv{am_E5u}!YXt%ao>ruD8o08(DVdJ%S)v9ts7ltK4TK~x7u zDIpN5ptoE!A#k4AZY-GZp+`CQ##>Qy-rs)=L4b}a^7mmD9Jn-aZ{rT6h?^)2NHJ`q zlYQ#)gyPS?^k!OGyvOS|K+X{$ETOaAvM}m;SpJ}(;!dfZi`Wwe^Y>Yh;W7^pQI096 zZYOQkKy6_}$(xoP=bozzB9>tFk(O9G%%c2Fxbb2R_8vPN!f{*nu4f6c9Gz9sp$dy+kB8#T;~G$LXh>RfGER3E-=hie13CukJ1JQ7)QL*OanBAUB_`ewrDfF~&fjXn%99lH=&wHiT_m}e-hrQ|ci-$I z8X85}H)DsK%MquiDrujn|A6*jt2t|Q30_$kLneFD>IyUFF>V!1_W==gp3_q^!NQc9oFM|_2KY}hm^#->)WMDf zz`1^gV)o@10I~7%Zi;Oaz7TQoT9p=|;)|V#5#$M!$JNK(PAV>t2PlC9;13I7e%sB* zfv9o9C^ZH^Yb{vBErnH+QRD^4SUT9JHtPF7;F1d0E$waHi(FF-p^xgq z1=~}bZJ1RF#o(U7fnt-25lfc*{`?%CJ-@mls#OLb5R~Kl1WTOsYWb+&oQZo8@jqd7 z(*;V38Net&1|jD*95bgYvyumO4>ULW_B~(H6^%kap|I?zSS`&-7kDO_w4dI3@4rjm z``~rXh*nXCRg4b54CqID?X=&?_$CaLk$@hg#sWlFXi4ZXzb|lBm*|LkbZmYav5C1O2hHwU|L_=NLxJ1-P3iYiwMu#Zs9Bk(>N%*rC&>Z zCDMSIxu+tU$P5pZZpV-b9;hLWVWLePKv6WZn7fmM8(&~K^y7jTv1<*bHvA9`?PH0Z zU|x63EMFSxpKevZC z2N1){2}==h6vbS|5lK=#hd?@Ozb(soBt9xKv^Ebn)e&ZuE>u?iu78;@J2 z$$tnm)efY!2R|cHu|`b^4)G{GCpiKzmj_zBN>6C*A(}5@MGC@mghUeBZ zM+Xh=_x}DrNFV&@@1!^0emA}U-pl09 z#ZWa^UE*p zvrg#~LUl@#EWD`ht>b;*x})qT2n0Ga4iP8=IQv8aLpxKjM=yo7?aT7++N*vYHvhxB&Dze|>B1G2csM7xZH0_F?S> z>4uOo71PeLAx4myXUp%f0_6DX8cuA0Mi%D)9x$$2B8<~&t(^-{s$w?r*tekGbemhe z5m}H#dgy?(azB5V?;fYu!{#n}RjAsD?b^?0=GK= zMlC!Ay)N7&CeHAXkjIuvfq%gs!$_k9K7sE>?6A-dV=%wRy>Ve(A=kI4l%$V@cBaar zm>}A)p|}O34DtsyMgrb+0I$CN&F7$r%Ya>k)F_k05?c%9^5SrK7=UVo%iUR6eup*a zi!_QLE?j$#4V<8#u()<=0s8exspIpOA)=FGi}L2fnn$$LR*QTqNe?T6%;(sa#XRetX{=a5Lw z#AxC82=WO=%ch$S9x{9$a(T@)HL1;KU zM0+j5Ciob}QfmU+%s~rcH?S;H7Dcqi+=qNL={$1}oXZWjR~7;0c0h;qlyJ29hylDB z?hQrH;_);BLqp!g7ccdiUw; zHc~sGQOc6lI72IMUb`7hLaS`v$-s@nYVqQUeAk#9?XqGZ7IXD)tvoVeRqGx1XoILk9YTuFqY0I&#-Op16!58#g)} zpfkrM2-qXY1{b@QtIIR`;@Sh+=884j$L9L$xjNu*g zT6QKaf7iomv<*jwuwt#*Y?4mj{`3ywwQ^y4yhw&+U`9^ydB8)T6+3&lxKY?|yOl zAYHl4MAX5{!4n?^tbFC&zn%W!fBVnUZ~fp^#!KNfIFlFx;&q}VdN+*=Uy7IInefon zjT69}HU`Ambw&y$nl<)eTRBtAfd*Zmh}$PkDZ$UacXylnA(zA}&4RXPDQT{=;yBtM z@mzWfjv<;!u55Ps87Tc!1yJ^}*2@Fc}(& zI1x9{RCo6P)c{*bt%~3wW0c|aZEK5Q&K7O2@EIlM00wG61 zA3j)Oqs@b8c`ktVV|8L-sI%c^W13Pq=3HI~zo26%B~h2nG1l35bQnwy8Ut*)W(C8v z+Ogp7=<_)kl?@W!4*@(1M7z7bjPe)wd5(J$-DeLWgBi@tx!^Mtkdz&vMNv^$>6WoN z7sV!0C+s43X^}gyN8LVK8EuYX;;#T#U=R5Z7px_*Rh8@EAM85YD$Jm4YViPFO3(v% zGlT%QIrz1$y>x@I!EOpI!BL*OGKSGXArJ&c9Wn`o&)`r_P7q>3tsI8Ii8n`hHV>&h zG{;a$INW#_5zRgJh*{@sVqIM|RU&t>AK3JvpHSu!%JbwQBngF&`;a*&P;YlstP0oab!y z?DfGCMs?0tBAs z-{;cnuYMrVXhHH$W6#%bS>+;J0J^zNnk6CBWG_k<%F9i^Z)KYzMmf4 zyO$n(^EqL4O3%Id2Y5A8u>Q1n#KuU0h>uNR2X?va0R=q{|k8$9$#>TI3ozRXk zswZ_;Dbp2L_pe#PaFlY4cfwdWnM6b4;7J2| z!Jx&5k7>;#S0d!GDPWKgWDo(GhQtt?UhuN#2!_k(%2>J#p?^GhKKpy*a95ssERvb6=U-Z-pesi07l%iy!HfE*w6p$|KR&+(>7`EyJY9&?oIMY-AD(PUQG z)b*F3DpJq=^xvn+t1qV?{NQ)fyB~g#?%nxK`jdbCFDTzEa{lDd48YubazB0akN$hQ zoxY#u$FSD$%ol$A9!87PMX02N8s z%*^ZP;vz*D8ROU1QEVp72E~${cUz+DR7$x2;7@~f6p4fGT&JrVt#2HiNKts5zIoCdn+L!&ev@O09l& zCY@7>c(`~cZNPXe5iOYF#r!wYv@)rVfMS?k&cOTD0H08aa9+Uy138{NzSFHW*D))3 z28C$oVI=Oc%yDAiYT7x3Jw_Ds4qb1beEn@YCfARYOD_y=P-3>-8OV1=0GLA_z(XF0 zNg$`aEQoBg4$7{`EQ1|;kiW%yUm=T(;v!F>Rx2d%TMFiq6QwhQ_#P`JLZlYN;hH6omVCsDZhb;Esa8mk>OmNC*>;B#aOj zL%t2;jW*W8bp&dc7Fa>dOPAc-swd|BFidCU^X&Do$Wny+7)qi? z$9k0rCvDuxQ;u>1>frc1-w6myifG-LFbObhi(_}z9YZ`IikQpR@o=sxJ|ds4?Qf8V z?NO3jVXoe<(vz=0NuT|PFVY$%!d4T461b1fhcz9c6wab|h0`=1(dyFN)HsuGVdQ=L zB}hI|B+s{op(t>#hc(7gf!I5}N8e|3DlXvM1EXNuLHlWXaTdTH25tZVu22}mSdHOv z%UlE3&b128y7R#P4%0+QQkGCHpJ|+&;ou1874U--mTMIFxoy*qB9j*)!_YH1<(>~n zQ{5&c3CD40yNpIh8Ho}N^^sjKlxH5xP{}6{;MvsfR>>+);%CL^y4DQCKxF zL8%0v%ZUZ;C_h_-jyd~a#33=ma;h_kuJ_R5`a zXl!^J!!Z+vVD8d$c%VA;!AI!6!vp{@0Q_Xv-MhcYMGRgHuRfQ_gadhU%doMd;%%vh>5KQyp#+<>)i8DX|F%?W}3eA8a>Gq>HW7~ zNw2^DBJ8r6G(q_b{b%zAv(Q=Q_`@InIK2bCba-YeeeeDE8B2_31GvhefX=xyf0rF* zE^IjNwi6jsP3rj)m;@;GZW4xCD7Pt15Qt#%O~4S-8l01hy6A9w+m1g$M4~DL)~Pvq zNc+u87|sIcY}Dp{ax4nJXD9*#LR_NZKJw+&ZJL3$!>BtMMf6)IA-O}vcld@SJku=> zG$M``A*>*02jYbTNZS}FdP&1Ok(8oPN2D9jVR0TA&TtU&isjzjttW)=q(UeuPaETO zM0&A7PE3d4-WpwQkD(`Tq$dwH)4e4^Y{0-a=b=}V$ykKS-3xZ$4E-_{iw566i-K2B zq%t7v2<^0={ql1yC9fs?#lT|%Q9dF&oW~hn*Hz)smJG-=Gq(WlFv^08TU2=HOr#V$ zJ3WtqgmH&I$XTu?)iphFPTmy5EyRgTGmrKe#YK-uKj$cqWD~x+RiZXg?}e?%*3u~} z3o=$Hy=ic`5q^e-Aam6n&XCGNiTf+TJ25@jSYAOExIffd88>wn$KoKnP8xkRwaHY5 zE4Ni}g4)JSUZ|gaMCe6*-uo)MZs^4!p*pj-UVXFTp-gN{rnJ-keRMpxhW6 zJgIXDl+|vT(pn8UGXSehwl+!~%u)=?-qsGQqV7jMyTtW7Ok)72QZ?$>UL|`Xf&t`t z40&suGUCAK7>z|t=w()d>G3W-Uev>Cy1LSnE>b#5duoP#QYiNI=W&N9qhh-m-8~zT(1fX%fthPrhf|G~hI-0IM z^&Ny5)EXh{r*=8TOtC@ORCWj*;w>A*F(RLahNcQGKoC%KQfZUV>E(K5Da|gxjfYv) zM*`!-lD$o8qu>P%c||>&T!+m4YA6K%8svPE zUyQ;H#ccm^=%Ca^4Vr>#J}zo5S;M|$Yu$N-*Crh|hzgqZkiO^*++M>)!5ODojq(ew z@)uAf0X3_1co7-7c4_m;T2Li7H<>5{CZY15gTeNzT9G0r|{%sV-0erQ!ouH zah7>Jr%p=;=JCWcnp%L8OT!1ml1Vt}g0^MC`A@%CikXF01&nm8!H*101PC1qA~0l* z`Dy}2_ZcC8#f*$!B4XtG@$40H@hlY!b;bGo{qQ#A6!@&&^izct1lmB9B})`y5n$*n zshTUKedZ%0$Ouu4iz;(43P*`LY&@c8Cqn-s4&j)Ht-8G%*R>6n;0Ue~K(O12JQpK7 zBj63dZ8;G~+^1pyl!iwiDBgCCR!omU+)$mc@z{zP&7O7G(@HxBAbGUuFBC6nVz^?&V16ksnbj@ z-?)}udG$HMH3&RNmR)@43g93S0RO6>MD#pNq8vP4@DNmX{!T+ERhHjr3*ztjB~lLu z2bhP6?7NHGfBQHmpNr+lb3=BnzYL;&hN2&Voa?#Ffn}K0c;IX6&^%exU_BWWRa<4{ob&z_EX^-3olxlzXBz^nkBETL?9_Z9^3+gZi>xk#H@#t4PyDYQG?gst1 zMflCZV;t~&qz7l5lP$72QXs)v0ai<^5z^zGjr{VQDQ1f6$6GOisllu{b7vQ0Y^<%3 zW{}FEsCL^OfU`7Nu*qWvNOW6?W5&QDAnepx?r5arW*0+I%fznp&Z8WG%7bv1u|{3Aoxk>@;=vGdh};{FQ*w7k`;}`?lWz~84CFs3qbTSW|D9v$ zvV=neG;!!@0?|bSYg^JxyWoXDhl*0xBjH7`?cDqbpK+R&mwtuUfCTm5waSwve2(^A1U5`NxfHU3$7f#`-(%j1%>h+ErAlx)z3|=V*+0hL zA;jH{tN3+$8C`e0-pEG~F=)o7E&P>?DFH>71(A`CYNW<3@Sk;lj2<^M3E8Cq>R%(5x3j8*7mKz=6tkCzVHjbu`%WgE zt(H0VG2T9p$C;T!QD!C>Q+yq!+7-Oo4XDlawEEyL;eW65Y(caDQNn1aZYrOzE;9;D0k>=euzyiTtp0nB=mKU zxl~W?pD)1Dwsl<`AdD*mfuCJ`7o;gk^6a1l^jk!pzMQqSTo! zW_Z@t<8f{1Lxj0DSCkO$8eHq^*I%Hw`gIJ5NG4XFu-uR;hetmlyqac1$LysmqyRZc z5>F69LQGI}dD%t^ZgjEB&aE5qX9Q88#FfcUKlfI8^MkjT+6m}_XR6c0;9vrU(=wQ# zS&vu-=Ok$+W_Tg+fry4`awLYv{7jGLazy@s(t*Gl0`QOYV(|^zXM+RHkHtZ(mD_-! zkwa`yX1qV&Hw4(1LxAmDC&B|c7Zbp5 zS_Q?wV3qSR`_x7;7@O3I*B>w9QO3i7j4{;Usi$tFS6+XWI{RC2<8SeuV=)M1`Iq;J z^a#nhMuUDL{U9505Zs3fiOc|G*^F_{Ic1d%yc&U881){?evy+xIyr$5QwMcFA%C^o zug2W>1JaR}AIiCy_UM2DLqc{<>5P+%B=lw>tNh}iMveF|6K$r)iB2rA6GeE!6PK^@ z-52S>Dqa_kdOu~(eq_g;0S6c$Yx<@H4k@{aa5trEw{E4`D>nfWNmr=CT)TP&V2%zv zScbM|mnj<_Q1Li}6JUeXD7)dew#}`(;kYTIpkE$^Hrkk=)Mz@ZL2$)V+msZUa1H~R z1BRH^SkgdAGg^?PCyQy9vvJbxDF$dCuy25Cb_bn&5%(hOqf=sHnStSf+kJS|Kx?r+ zZ4RmpGU!YzLulv8DWod3mO=j`Mypo}rW`-_h*ehJz)Oe<%_oI67EI7_ZR>Jx|C9XLw+chsFFh1Tcs7 z>?bGEo7uZ;*~0LL%L8-ECVdK8A#>Syp@1G#Z1JzqQGB^~P2j5+or(@uRd9Ajkd;YwhQdh{X$!%8L=pbTH;mQfojG`MchHKKF%uHL}fyYySTsfL+nK0YF14Z=^T zId^#i?+K@yNW#IMy%;AbNrbH6BJtJ6afFM}z4>{qr&9yOSfrd%TxjgLZkHW3apDM$|)e z>A7g(v*hoAYaq9F*=Yy_OtF0!cGce=ZM-=>=)I6nig3egI1`s8%#kxcdBV6UB2kx% z^Z=t@0A$qwhK*=U7i|$P!jTvtDu|K62*o*A$psO~F=>RDy&?VT>N4b{Q3yCA;r;Dj z7wAQEh=7i`##{`#7(#}8MwT`^IGuB_E*DT=O2ZCemuNU<|+Jx+M!d5cxGdR<=f^Pjd(ZwP$PmlD` zDMnSQ7leE?O~H5PKJVW9n)3ws#4uLr$kfx1ql_{_orJTwyN2;ewAM}$i8?UT<`$kW zWG(wKJd+#^DaGK!lS1)*+*WjT{`^1xIe5rwni`!B`F-?+(bS~6>I8O=_en1%nxxSP zy9lF@PEd4G`EejfhI;aC%S!f2i+&?j2tA&FaNE<=J4?LR%W&uDz6xyat(QlM$$>2T zJ66gty&I_M;d#9#MoX(;sIRK9{ z1i+lc&l0&W_46Nxji19KATV639aom$kR~iU3aX%RUmljiYnfyi59Lg+E0?ZvO;Sfq z0h%-iOh+Vfs?dV~*QlQ^ef7t@hf*Cz#a3JgMTi>b;4Gi){B^o|^TYJ=8!!5GAoi43 z7;vGmI@-vw!VUB@DZGc)^8Z>{6(ZM{!0T6q0agD+WK#`kBOka#r zusL{n!(Q)IAPcpQsDta|DBaI}LLPZQueGa>-Fh-UTp>jv*5-a)VAzan!%6VIUe0xp z`EA#3+<+8Rp_ls;LVwC>l+@1TQ|m-9i1sp=%8D^)h@36hcs-laI6OY!B3W4Ngb1u|qkMbH!3SBFvCog)N}yP7{`^5Dta>zZauZ-F0>$%~R7? z`7z(cneZ|^Us zhfLJHjDZ+r*@H9doTD!RjJPIv5r-I!6J*I@saYKACSkl~%VPjd=Nn|0wt5@&V?iJf zi-VFJflQ!F=B3uwyVfx#%XqN-ojmhUOde7XN-6qm7^pIvOA5rugKwjd((eR3T0{*V zROmAYXU^V>dDAqs6)rf^ZR+fPhJys$WTDbGF>_9HHH51>h6tmg$H2t!AV7?%k@}E} zMGObp;-#D+6xd_l&#RPbeyI2B=!wd~5!07A6 zyE`SO!9y1b?PI`2OmIa>4A)y6y2O*)_s8 ztn8Bq?rt6Mz^QBVy%`M15sG{Y2$aP`d!|k}X_D&f)ta!|0K5>kacap!076j@?j989 zgrK1m!Ku)=STR5et)sil&<&+d2tGmpE9AUBu@jeRAgIv~z&SNJf2W;LKBr}PkUajW z^yd4lNT%dyg~JWCyL5B)GMJOFp!=Lj*{o9+PzDE4&dxoXW}kW?%`w1XZs9Uj4HkFM z+S}r6Ej#)gu!LbG(a*l&)fT}xA z%!LV#I-5i$7VpB9-+I93OIpGE+E+m|p&`%m**PZZUf>X23mpV0*qBWRM?%dW52sN= zZZOp7le~x%Qn>=xVC6^Bu7DpO!}TEV$m1XtjUGTpsmOI+>mbn)7>S4hj^l!6nlS)F zcGSZlbm!qdy#ek(=;OTIXw(OrG)E+A>f55PJ%fR}JiE}9Pj#rDl}r*pgfIF){amqg zj*=Q;$95GxH$M|#b1E#?NGQr&Uh`tCv@N9C*?5t^`dk0uV#3q#0JO?|L<@Ql zr>Ho#ryGYNpeTR~{tU4lg>1;)M>r-z3tb~T-ss2-fRCXvkpvG*KC)n%xs5@{86ms~ zXoH8Zfie7wiLrhk?>cfOI;gy5h&j5lCh#_sTw3~; zsVC;QlkN+OE@~22^2z?3PnkZeK>zDe9nJ2BlgJK9Oc*%Z-Z=YfaeXN#w z3S3_g#_pJMmIB*tSU?fMF}(gm6!(~oAl=Bo$s?fB;Was5gl-=oYI~Wy(brNQ+k}?7 zL-k<~AP~#ljbONzO2vGgCK|5i0L6c@cz|d9W%|?q=l|mO4>`vHBAg+5>#c7Kin$b$ zg^>K3wJJaqB(P;@$smE`u0x*q}gEI1YY93*pP7@24($MscG(JC*UViO^V6NFG;gAqX zFM`EQlumv|FTagrQ$t&7)BXpBWYe6R^V`Syd84iTg*ma zxCUQtx!LN$8Hzng)G&N9;Z4Hk88T}oQpba09^q9y)-+I{bV{a7?k*qOH?yMmEqg5 zzyUF|++iPatoFrn^;&wed4mtLjHdN*Py%MmC>+ICq?KR)9}mq1#spY?uLsp{hc_Yu z@E_s^M5LR82_pu|%f-dee+)?(L~$BG#1Ka$+0jf!1x62sZpHp#zMD{rha@4x1q>2p z_VH$NtOYo7L=I*n+&hR z*M)Idr*^r!{yDda@G%yHC8FRr3DMegFmCp!dN8QLu(i)bJRV`HjnOa zrv`$g$Jky2JmN}4_nlBXBzUIrF1yRr*!AeCoD1iSz3Iw z#U|Ao>GIVDu8r`L(OdHAO()z>mXZCZQRhKBlG`$#9?C_ICGdt*!q~{C@vwKly`S#h zy$cAn3UG9gHg*_L0efzLV&v8nm_ zFh0_vCGJ#+>P`toS03LdDw<4#cv{Pn0;lZz4tYJN+~&wLgtI&EO)55@XY{6X5!1*Z z!@ZnO0mhh-W_Pp~5h7KTDnQ&h&diyB5|FlFq-BwBmsTu3e3I5-;khBl_Fi|hm#M86 zi2zNj1Vi13lLfdtha%n2vu+|IZVxJfRXDG38c;`&!|j2eDnbPqn}Wm zMT;QiI?R%jbI=m2H%7b~@e!&6IcU~SovAZA&GB27n2obtD(Wsn$CdR#Mq*%eREiu3 z>4;}%Gt@91n>*{&(TA8Yg9382p;RqOXc>VULP&FSLr?|B8n$S%v(F5PRTNdf%^{iG z+l%ehDioGaTmr$n!We*^;%(6?4$3u6L61f8VvJLOOM+oE3_$gC_yCoF04pr|M^~2D z0T@%@VGQu_!{i`vzQ_9JDF~yUzrvWQ3c%PIVQC#;tVJq-`N6w$KL~7|!?uC{9071e zlBFx>oSAzYu}Brg*mGSPA*O;*COM+1gvK9oT80onxBLhH^gQ2($%471p!Z?O z^eh610$LTvII+~wd{;p`1c{fe<~eO{9FXTi-Gtt#BD*PdgSl*bD0CBgs!TUM$Qjq{ zd!9UDz#^XC9QFuLzp}K+{Bt^;;7?=wXpP*B(9Jn!6Xcgx7Y+`(jJJM}@ng<#b@ezs zdAveL-(Xr=UZ%vegdohrY+FjpkDkEbV+Py8RG_(4N>?2smzur(oNvD+NCa3xm0w*vz#FP+#$cl7P#WhVs{=;KpBwKiDU0MI&BuAo%UP)#M#@A4>Jy3 zaS&t^04^)}2AQ^l&7P0~fOj2ZJw#83ly120gziMR*)uFR3Sh1%siC_h!Q6+#3~pd6b5VDR`Cs;2)Ui77Dgc=1I~&=i;$W)!<9c0Y5Z)< zM;VL;O*XujvQ`)z3;xlF+=!94u*x6tyYA-Xer6^lHdnl9*S`c;>o9C z^$0`#e7r{xd@vXaqh7;&)SN5&eh~(}yI_iKoESh93*o|BOcG_x&Rj_^z4~5y=9%j} zAi`L#w}z21Pt6g&TDsALN_VZ$b8HF85x_gJw{Upr5aVNby|TPYQ^*dH2!amED+P6f zwZM-2ZDDLU4bBMi4Ef*z9eaEGn<-EEu!wNEtl$VQbN~gF8`UDE?bv4HW)r+Z)g zEG@09M11p6eF=8GnFbp<;E7OTF{pCn@{Z!N z8OEsd9Ajd1m?sUhYjY4sR^Sk2A-XRBs}@A5OgW#ueePihrWpe9KxN3a+9KL0rQR77 z8jZz6sUTPvgxH72n|KY%&-+x?m`sDxX(eq6;F(7VucAB7N3=OYcVx8tUTgLIjDz>@ z1_?U{D0vxL`;g*B_&cvnKD9$9`zWtDO8Ja2L55JX(^F|`b`qyYOs%N^@EMYe>f4s70g-5P0QluhIhXQPDV6L)LER#htBG2g zhck!+ILU?}nVcW&;e?S>T$3dyiAYYLbq={DlroCrb{7X~AoT=G4BQ|`cOc^C`VxSo zX;?lzez2Ur{PkZjiKUl$`tRUP`qSEW1H*L*(8!*0rky_icj*^@_Qz>r?v-@;%4~Q; zQ>WVQK6BEj*>W!$J{gJJc-*^ZSSRh!C}}`9=qY%7|1Rkf#-8gj?de01_x5%e&;2Aq zaG#G(V?=&ASVj*ewF@~EJQGPCxXK874XrKB77$*(jos|agxKITJa-K*Aq3|~xC)SG zI%!nJMWFOLD1u&OA)X=E<-aZ8Q}dkqP=?gcKWIICCA-2#yFP zqvxFx8fRS;Ttsin$n6N-kcT*f-Rf?-AVPHhyOpO*ad7muzu{9u@Y=G8xLH@dDD--H zo9msz8f}_^>|@9o@a>e1=}#kexiw!?f&Sd<;nzM9WORuST` zt{}x@tDxlqwMuw42uCVYGkp~qQWiX>nR-(4Wima4hWbebMr0YZ2LnIMmc zwcXEgx$@(Wd5xh^FUnHGEBcR{W<OFnddc3gL2* zt+j_JC*%{FUR>2wL>`n2jtEnUQlOYoK_J8zP}Y-+oQr836D`$98I~wrt*vZOM#EsC zP*vs(KDY~qf@e=+AHNz+_R^upZBQD+bPyt!h(4FhavavjB_Z zfOJ#fE$rwcG(RTAuzfX$k(1CQ{-814Lv}}qOjI6m8guvMdv}78i&%1Ig#PHK25Sg< zwM#pzR6MfCPZ>FNCS4Igu|j047dL}&21A(z6*-I%K{)pf#!@T|+zx^Z-cq6FqeHof zeK<6f(Nlv%tPhl)M^y-+#(-KDK?wt-!&3DURz$gsJVpzlWfZj+skd+2K6Fil?To(P zX`n>@5yBPmG81^0QA#hde9nm+7=s}4ppe!>;89^Q6HK@gpjxw^nkgAm-|0S?MPMc8a+v7A?9-A)U{ zmfPe&t?`qiV)SH@^=beS9A1DhU}FfuHrY6$aEV;65}sENu&Dgpp$vOF+X&Mk_e|b} z_ZOdVE9x;hV4a^EngxN#4?`%AQDXO!OL%Y*U<1n>U1A9Gxvia?(GiisAtlEmZMOxG z;}-X(*Vj}?#&M?Zaqs)o6wN`VC!qF6vmhh5@rt4(`+t%*OgZ6N znvhK#1>S6t*YZ3v5IpLDO#2u^8E*ZAtbOz#Sj{-+p|r^P>{@H#B#QYVWC(d=^tO12 zLYxDP6W}z}YZB2&ZZb-AA!tZ2DWB6(Ez26o*@R@PwP}Yk?8M#%-qrJOaOOv(P-n>b zshA0$zfO4tfr@Sa|0$Ts9>zzqj)v|C8FH>5c@Fn2 z1_O`^xF_$UrZd93`z+ltU+11iSthZ$zk%U^(?F@OpDM{Pn|89f5ddlW82~@`!Acww zS)eCD#nAv?(5q3Up~Y0kVUv=ptd+0OmtU{%&@59X%B4C*T3xrwguG=~kZ>Cvk6hc3 zTduRUaBFq=2ozQIB#_lIp!}{-=DNuncvB?eC@_XVw=L?fHmi`~m^fTC8xA@?nKwxx zbf8^_kY7c$LBZjM*Pnix<_d=-a$#6p(Zq8sXqNTIQvR^bQTj2=j}}F~L@dCejrPOK zf3<&IkdTuMVLzo``3TR}0IjTH2#!#wV}#aKxdm><-sKY%yiVxu5WiZr9@Am>A-(Lv zDys75Lp+lYS&wu9o9;v}gyPjbBkt>jG~rZ%wXV%)Y%nFnd2wf>J(K6$@O+!An`w1%nXr)OWDf#fKtMA`-me!qCVD8~73b&e z(Za?> zP2_0{@a+)!yR^XiZpxz)rCe=fPlC_5ZurfOW{Wic@EqN7U|MR~F{8mjk?Sa}6Ont{ z(xzo1=F;r!ERh1;c0?vdlAgmpk!OkT=;3{90Hh0q?@o3tnf{?$8rC6lRA zd?*jlG8jMC(U_Y?xe9~OB_VW`pS$GGzMGn=nyv-qm##eX8}i6rEG!?!XLty_R-?hI zMNkcM?7lg}dxk|+u?6oC7)d;mM%vu4lfx zc@FZf$!hR=y}8QaV1s@DGm*@rV;lNWbS$obnYS1XBpmh;p4rtrUIVfR^NH>%awv2o zc*j*r7Y?vQ#`v|xF83o02IwkA#0jR{CJ)~H8Wb9@i`9rh|I&qvL`o&<%CVIeArx@D z;9Bcg>o$UFE2jCV466nxbo8#HXdND&n_8SYV(H0e$MIlrM28VXw9BaJ^r#kI_W*_Q z?=sX?OJEuWX25Cb9b>e)K`SU}!8X9%)_M&flw6bVJ=~=c0$QidGmd;RwL2huFB5W_ zgC7wc_2IRu7{vx@k*8iE6)?o*>B4pYPB7x;7G?o92Ut1HL>+QY8DI7c)G#b{Js*lu zgTrpRvA4_hBa(V1U$eWh$)}<;7=V-NPLPKRc)|ia0hc#Aj@pSVN8G2Op(CG;Ve9Fr ztcf4tp^d)8XEidGt2huIfxmK|v)b-+uG}jMrc7DF z;>(ajYvBNTgy=(HHe-`>U`0kxJHD_813^b>R=t@p#fEk^-%z1%K!Vq#x>LFV@ zc%IN62h#NXOmy~mzqaH$E^3nnb-<>4KVz&lIE2Lm%oRHz{H#~Eu-t@3jb%I-6HyV? zkr6CDk%;9p`QTYl@rLX$Xr~5{BGo;rX z(8f8mMZAVYB~RrHtL>ijQv}zAfWzZ+gt((z51)^*(14xb>9}ZeeL`K&1;Jy(`SbUX8~zSX$)`ZnBZfchYJFZITrz~LmEZa9^8%1EV2HFa@E8LgEaY9 zDsPVbZ-ji*P~4sZz4Gv3KLW_L^91^N7B>o4(lapM5*+oQ*&>8SEaEHfC-c1Tum$Gp zFMk;$o`;B3oHpZ3I~~d?Si`YKm@=%xAYzOaRyT)%taE=&N?=(!7&~-CI@_;}<=xyM zf@x7&B5m>9I>@6Vt@YTJYK@GV40CiqLk8p5Brz~0?&JgYn zvk>GeRfMZ)`Tj33u$x3>Itg4D-boo7B+BS0Q&p~qmeC?paLm7Z@b+MRs>y9)9+$F*W`h;W=>+v0iI)@x)knP;sMsxd{` zv_rZ|AQnzk2XaW7P-O_^Aad^Y^kcxY7(%BaIpYD3Kol!Ot{3kvZehMF6_JqKr3@`{ zA;}S{khN=LGHIFCvpt};4JkZ;K8yiDCkpO|5TJoz+KnV_Hsb^tzDPcN27pV-r?qp3 zGr0H4kr&{_C@eXaVGo~VD5CN>D8hw#=j8gmD3REop{PuwhNT=HrulPEH}FWCcslbJL!Smfk%uRJ@{seW zvo%CIVV&2t=+@e${B^=OAO}opz_#fa@+`(FQDw4&0850@gw*aNKO+)2g?B8o%3C!g zcV>KxGEonPQy|6$kxm^i%_NaFA-cl>4GGP)453>HON;Xr?RE#;+~ueFoC|i4Ek}4? zM}XZ*YCTs&EA>=s+jMXPorf)F^-&hOKh))~z$KOAIy6>uugGa8$_ z9(DSq#k)8K1eVmt$u|AaJFR60b@$kEAQcH3IjXxG9MCzWohycT!FcNq=|sBC)iFvf zQ1W&b)>wN#ynCI}pbnrPa!@?)V=xwIp9SQ{xo!>-m6$|y&-ddv7z36Yr3TW4K;~Y@NKGK2W z7={Kt;Pb0Hi`rTo1{H}jA`6^`Gu^72hyqWfQ1D>%wwX1;bErN zV4j-bM}m6lz&YuVgIXP0Sz~2#sYt4VrpuSVK!?PBOoz@%IgJ*|$Xo{F-iIg8pf5D2 z1$J;k^wr_}4{e7|>i|@&tHD~@#Z&@F zl54)V%D7@eS@T(Y&ZWKf4^G8(p5s|9Z=C|{Z2|JN@EQVw8YD|NBAMovP9VJ?hj-nS zeZZyzr<6KWHtWwWf^Z;&!v-C7#ob1p)j|;~-fRPnZ-t%{?~lKTALR|NaGl^(fcVjX)aI<-z^BeDVsl zdK4vxw<6{wlE&oN-;?xz@^EYV-K z2M@}5wmI)!9E;~h+XE*~goMK}jk0Rt5=vAOkB&0p7-#u1&IF_2)Lz+_2LO5p+YpfmgL(Fa+X7B}N_Z=K z&|}ac$|YK2NqIeAZBi8x|RFA)toHS}2=4qTbG-V+!&3C@b$b zu5wQH0HNsU2;+`v;~Sti*i}b{AbNlj5+A@7V4T9+t=p5QVC7{gp*eh{%?2DaMx&RT z4#Ei`Z3b}02Al#pxKV*Tbg6+kHl-e+1U1Svbri&0&vfBTFbBzwer$}5({p+OtYiX8 zZRFO7TWmQLAR~rBaS!*lg3+aNJIJEJP=EYF7$X~T1W*Le%A^W~lFd0hNIpYgNm5Y@ zgK$iD7Ke-B(uffO32N}?;HLBXQ-ssp#NGf`PPHIyh?~gb^SyG@b0FBgoV8O#C9#B2 z<+HOG5Sx6iedl#>fQhtn_vcs;qc)-~gi_4KMjgjOV@=}T_pttFq$)!rP*aI8HmEIU zLBj_ykZwdVMUWyY5a&RWQ}7I|Gg!wMK$H0^Yok!o$M^1nRjiRFjq+VQOJ@HK(d1Da znBw{335inRDaL(W2z&_svDaIYl@#n~r6qrs@KiW)xhIRqm?VJ_j7uX!$eje zeu4~5kcZDBU)(Ro-STjr*M+Qe4mrTXEKbSJJyCdNTgOx;hqp;aq7F%Fs$nFXfUIqz z=8cs#qFQ?WDPx`z?(2OEKLItxER*$ zZ9N^L8Ak3#Kcp>z;gWq8=ph$~f$xHmE@#Z4D;b*7ZwKK8K@$PyauGU13B0VO1q4Jz z<|sKBMIM zkBL?i8*t;hSZFLFf_4nZ;(WLs!ui;4iP4d)fZ-)9rprmRm!DZ0G%CRw@KDLqxTYS$ zN!w{p6d;;m6mDmwx!Iyww_HJJ!~GoXZ%6sdQ1}Q$)Ml4#5$-YN8x4Vn*A5T{a8QuT zFdT)lJaa~L(79j?H4jtpue(_U5Q|hIDi=O5dvsDUSEK%ghwpH*|$AbCYOff z!f=UjGtL~t=J#;dJTnDdEC4~o0O|b=_o{T-Su?F5{Pxhx-crae2y+F;j8r;u5$Le8 zzkYB4Z$j>Q`5Jxx@DvPjHS7h9lHt2im7~EPBHS6nWYEUN`wuX5IU0W!h>{R8^G?2_ zpC~NDm}WQ8WJ%c^`Y14G$J)Z&CC+a!ef!Oy;w6Vkqflg&2Z%8iHt0~q4T5^iGjmX) zb?`RPhm14RGG_;>A)bV&vcAZ&&_H&KoTwSC=?_g9+xdiv>r>|b`!FJ0S)^p38&nUV<^hW`bj?x%bfBg+e1+F(M|+^`E^HVezh5Sb z+J<&4g*U@z;M{2pI-)GMP8vl-$}<>-1S6O^HbD;vGHNeE%nv|Lj{pp}*695J(}^j% ze1CB6xo>#_c_Id#C3W=5ZLi)N(06GNtc`o1GSRFTi$bGMT#N`T;%EU}4^O7;;KvMJ z=A22SX6+Fjptu>xDd;ReX1<5e22$w_? zyt0SGYfe!>4T2j}O%YBAcaQO+)#?U{q$Y9~8Zc0ChfXvs{UPL1H$6B@Fo#eb4XMrZ z&0#tyrDP))0|tdy#Uh`VCTpEnQo{+zu*kogIAgFS-a;y)22S2{o_yFL1|4!hKTkHA z`LX9$fh1wM$$4UZL_RI1;`r5K7b<^@)ao1tUNJB;7xy*>B0Emos6Mhg(1Nr8_E(f? z_*or8d+Hb|_}ZJxcL+O=L$Tc}cLFVxr_243OM{q4PKsi709$nsao@R+~iLssxtQO??6@VASXK9!##*c7^OV&BdIHcp{c;^qy@KpJCr3*a0HjIT#mX5 ztP1fAIT+D(4hIXS1=Q2q(#SL6X1mJP4OuZ5SPK6&619{eDB<(5r7>#3$!MwJYbjApHoBCI!9AVg!dc<;gCuln_M+UT%ShBE*^fv;j*N` zTnL1`h9__|uMZkK9DtC>bqCLCUK;}?=!Ub_%Lk(*Ai;Pm>#!Yie}O|BfSW$DTz6_1RG->1fTEmzTC7~Br53OmF>GO0csThg5)j>SbA^0Ja|X^j*YXs zjlOo%n|_dSr|5WQEr2@b-Z>xK2u0SJbH)YjT$0#BX;S0qzy#~eO}d+!oWFj}@z0Jl zQdkf6DOHj0W_fJ@MBG!%9YDC-gcQ~Ntyl@{Y(9r^mWQVxVvtgi1Lg=fIZ^JNz3@~W zG-eWj#8D(uRS-67`$k(fUF=Z5uhK1bSi7KXw!@=@fW!4lhjpi)*gF&<$k@Na9%jF zK4djE>GFE?jZ^2Nxvzenbsx|Dj6A+c1S_@H^G*899?L7M zG&tSI2oUX|v_^gfa3MPvT@S63u)-n2PuJ{weda@ z6=Gl{hoMD}T08_WXV3uu=7YI@o#Wu9#Sz!S1wtzHE%2#>` zh0m!ua`mPEI+Vc06Q%{`RTq@$TI8~4gqr5Tk|PY2xda4*dq&9=EjPyGcrZpLB|_K? z_jN+pZn@5}J`EJ%m^DALwe*ssV`B(66GX{{-K*soV6g|sLc8+EPqn<|l-zzu8m{a) zq6fJ}iOV{450iJqCUoVfZiKdSv>kv^!pMv<=DI*V{FKPVfejhFoLfG*U`9Ew^Litv zKGsxw%LA_qo}|9aE8w+%TRdyrxVF zl99l9I1X5H$d=u19iFH17sDk<1v_9JgX2t@#aQ}$kC7{*N~4T49Anj zZwT*AuQ@P<Yb3bf;5nFrzZ+vR3DafBf#BU}Y2pABpEoKuq=QBL~^ zt+yR4O60H|02Yiwldv!o1_7trT?|<<9bmi(544&*UjLA6*E;yGhHq=@ppPqj% zl-JU7001eSNklq<3*v zdL(hn zJi$A`=hhjXANjuE{Ozzb=eJtna7^dfo1z746U%HG*}@pum!VUXWA8*`OVxFmk;p`B z3ZkNA_vS7D=!~E(d)AAT3}@yR(hjLg2YDUC&}MTN(Mxc0oKN@fE#ho2Zg4BsH=Hb6 z0#!eV=xU4!v#SuF?A;g}o1kQBt8FbUKKL@dF*E}Ks+6aD4P!*UZP$+tCqi#AC{p)l zI4jDIrROer$hdC|0eX&=1FS;zQ5kNG*I*1dYyKWZf)Wp{z1G|(326n5WC!N?yaMOfzz|Ab?W2zEP>vjg5m9^b1u+gj7$Ibn z2oK*qVU8S{AbJ>?pi7FfZ<}g=dh4yyIom#4s) zqwL&w6R+jAAOjqMUlr0WIG*=H?ONXSU&WdN9 zGICqxtZT3cC7r2{<1DZ2fivMGWWc!mZLW&@;qW|#_=m8OP$z_sKkGev5jF?eX=%-Q z6mAt?l8kH|`_745xOuc2h3aSwxBy-l3h6LC$3q*&PfX8pm>d`uyNM;1=ure+H0(5w zQ5Y;2i4JoHTsXiQ-D7s{#LO^m!Z0qT-2kMW6AlU(+M8?@0H;jYrNeomGT3Ot(mJxG#r8ilRE>+g)UqQ5-NC z`{Ynuy{QW#WJBe+u6~$%QWOhVZoTvc-+{>{5;0}M1A$HCFg}VB(Jr1Bh33KAc^Aza zoP|nXK>5xD7d<0JXP;uhTZE6nRwOd8u_Dl24HHISasq z`Nm+tJ#+Jg^w#?yGo5rMsHhi!l^VA_)-kP-MoH9g>+9y`V%k~ynsXkbCOjIvg3tc? z6L1DWREHz3p)iEV2>J=&q{A`~2$k&}k4Y~WAr;kpRio?DM~7pSP&&_EOhu5dg>h{n zpteQFIBN`{Gx4MJs3YL)tXO0naU5cZ93lfz5#jqUjPQsGLPj}bD-`N@w?7-YF2Gg= z#gQXo4o)1vdrg;gSlu)+90=d#nk8rVb#x}2Nle@&J&5!UMQ-E7Jk|`dt;p$w&?=sT zKU1%ed47!)0tb=-lX0MglVjr_BER6W5E&q?I6lgKI$F|48GQrP#0RLyKUjj93Av|A z|HjVlN~CdL-(hM`REq`}Cb9(}tS&U*15nuk;5Bt|S!4KUM$_C@$LDm<-sO4D zbI!e9_ZC>?e{ABJPgaA%)2S+|G;+B0DFT(|sbN5}IrKY$BeHE%Gwn#>Hh}|>>Eq7s zf*~DFKDIsgUX0@Y7@*D0Y)a}LCYYFWxeaOdV<>D^d$vk|Uk5)052!x)fS{@&U_Mzs z`6y0sj|ef-(bJP>XXav(yPv{=qdDd{O+-t3gaB7X7D(2Fj0LgSmGYmdu0>3o#>@CX z(N=lFZMiH{s($nVbJjxOl;7obx+snr@S z_;bKjX^#po)d1r|H3W_E8691FzDz88oG_>t{#DaTZr!}92Rrn)ougfL^J9%TdJaqY z{w^*4<9CyHn=dE-<-h&c$&K5eP5$9G{{$TSi9cUcLY;EI|07{kga8`tIi5XzKrjF^ zh0UHz*61uN`)#yQKMA(HxP(C_?{WheG5DeLP5=g!))=G)kh49z(As--)n#9v1P0p2 z(smQ<HE8eELt-GJ| zSO$V+k!%7M*SJ`tqbt`c-Zc6}9~NxVal*8w43KkbcadGv5Q^ z?9T{$$(D0+P+q1@+81$_SRY_FOc&QEdnaOQQ|*TL_~kBp$`tK7^@O|q%U>~_XeSvz zy|%1t$TS9Q(84@vNVg+mKpHcOBQ^v}QIbHurjNKhGq3`NOjXj=pPEdbh-*7xhg7jh zkc}Jr&a~cc^CQjIuMVOxOUXVpbL=1%5zbydwU5sOtkT?U1Q-NO!q;0}zdV?vm}yeG zB8JSiJZn)g+1rdbM`eg)#EJrMUPIG_-?-j%E{dsAaRZV4XPXpq*?gEBs z8mk2$gp!dw6aFX?5h0i4lBxDus4Ek74%(h}TucyR;zVw}0H$akc~eY4$nm+gvkoJK z)S8me8(L0X!r-fjuyWKl+Em~Dn!o+iLpT7YqP>55@Obj@=LeHNeDRNyEhzj6OkipC z(&R5c`-FyBn|$%R|4CcO`M-8kd*mCFm;AxnZtV~f&mTQj<@a^~Q2W5nPCa3qxtjth z&nAENL{3A3Hzm__8Fo9S7Is}TLP}=k470hm(49FpwpLG6*={Zxp%Bf+plQ#nvm<+X zM1wVJ;1sAj$*mzcvoH|Gpq1Kd7ap#VCy=%sYpz?7BEJk}5pIx@iN@~U{dxGuwRiRq z!@WD|y>=I(U7mkHV<`SHknP|QPY~q$at>;;8jg^U-h8)QjgouHfILBql{24W{Fu9J zHcR0muq4q!H2M6MY(;+y53VcUE)%qQ?He1cLV{q7UP2S^fU}=`@)=rKPWdVS1GYm*`^QZQyB zp1hxl!*pUR)Pj8TGq z&FPc0M@*#58tWZ`<)HSAv=8+?R+R8#%}S9TQ4zSem!VtF!rGex#QS(|*rR`qshc<;bAg>#j?Hg@_I0C#%xn1IloG|f)iV;~FS(Ly^%3IIJ z&mT+JMF^Qu`JlBs+I)P^^T7thh-aD69e5Z>08PE?_i665&<=)6D3zr)C3;bU%7c4% zG)cIR5LgL1r!Frc7SgH26DK)Y@Dj^>z8T7oIuxHr}u-SbQ{&}9wn5%H=z`Stg~n z2pLRT-mrjx$bYS-{Z{(cp_Y2ot4Du zv#@~Xtg5kDWskLSN!`*)GotgACvtgfh~P~dk+vkANMw(Q00Aa0WPb)qo0(f&eE@m1 zUs7=lVbWa&%`FlFS*swToevI7I>gkNHZySFsGLRq*RkK772+uajnrkb zXI^IF&FOJgpR*~QNm}>tTS?FZYn}nD%>!=iy|oB=$-J5YER9Y!Hn&Z!_0Mi=Pnu)8 zL{laft{s}PnE&aFkc;QtR-{tMD@r*by;tPWPm!S0nEymRxb!S0sKNEjr)um=ehKti zu!d1vk2vSaksXCJZ#SR2zC z3c2)k&{<%{&v6Y7HH#vX#zfW#`x?w%yznGLA2Ut`A1rR%Sk3W9()gba;{rcC| zeKPs|@BWdmyDmTeQ$pmIlRH{gC1B?u@16S+;kxf}h$7EX)fuLB4jZ>_)0CHykkMH8 zpG>Az&t2s6AD>)t9wHJLG2eIJUXI3}h%`U9n0TqM$C8kaRITyaDQk)V@Hr;R`p&Zb zECwHiHX&tZ;5U9DY;qf-)m*F<0M}VoA&olX>a4gFoDbxFB|y$?tn-KEo2!jjmn)x< zn)Kf*u8nqLSUGC-WkI)Gq-l8K{%Cn)oMxHJ&=)LWbd- zXUWw3B(puixOS0ihsF}{CBQVH<+2e6Nvh zXs@Pd!nd!U@zsUv5ZYTN^y>LaN9~LCggczryOL3++;7;OUN4jEByDeyz^Xj^?Y(KH z_^ZixUw_3E{d)40MXN}J4ag<=?mUITRdP<;35jT@7vkKXDIdwKHchp!y~ z#=-bMeEBc-bw?)Oxyj%C`fs&JK0o;#YoMNJ8?2tG+`RxnX~0DRmN3?oUTDXsSs9od z2i&(I}S!(B2g%)qJrs(OF@{W3*6~;a)h4 zb?0Gca+kn`(Ci^Hwm;Lb7bcxva{x?x8aS4Jo$#$-DeK}~Da+_SS1p+z2pgDs3J^SE zHI!5T@UH&z|6v{T)J6b#kj%SjG2u-fm)R zS{!yTGpi-mMWxP?lJ;ROt)$d!t~cqN*)4c)qmdg_ZN4lYK*C#uB4PTjr0O zjkvXoWn!dRPYd0UTy&z%@tRYs>r82~$bO_}+E-WO2Ybjssw8t6T=i#9D_pzzA&E_D z`TVj_(Vqv=A8L)$P{R)-`z|f(3&w;WMJ_bNk!u{5mgoSN9o~ZQkc+A_f9aH^1!9;m zg-rgHwGHn%XzoI${G@oa?=;9UjUDcAm}$-YuCH268Fz96NTUUkxV6tCNRN-G!X6NB z1Vn;|1&r2MwER5t6ZP8(gi8uHdZ|VcW2l6E+GjEz!x?tvHkXH8bzY&BA?00bX?0CQ z1_>#&@+jm$#BccDTQ8;NN~mak2citH7nxPC2iksGynKtV(2&R)5R~dUgAr!9AysG{ zb0v;3RGn7Ku)EBEzEsI0lkd0x@V_Sazx`rZM)OeI7_khs!a;=?_jaH1k3TjU^*;|Y z_|d(eCO7^<>t!LcnoWFUI?a}DHv0gg>mT2?M^lrVzql%6jH~4`B_}~>eX#Dp{3gY8D~c%j?Y9VMUomAx(h={Ij7V{CSsOienAHf zI9+Gob^&$@p*K$dXZ)(xL<5O_52s@=NyY}6B9qgOQ-fq z<4y>CZL@Fl(XUFp+Gp*ZbtghJ?)gYO{@s&@XW`W4^NXKn&r}dm{&wwlj!Dl@;C#s> zW*by-OV~#M+$e0PYG)Bv4^b>Vl#!exHHiV&tC}cuyX5~4gJKilpB}A~^UFd@am~<3 zO%yG8{{!*h(Tx^E?l37AfMiWPDaU*ca##jbRdgN5{xG*)bM12Vof%wvV&6xBA2;vN_k6?rRW|kHHi3#ck(uRf&6gsM~rYf{qCUetV z8eUkIS3p<|Bnqw7M-8P6K@w_vfw@(IV|tfY1U|cYd{`5}*SCw8KPw_522> zLb?}d^}=J7KUet|z1DYOG6w*q+#0JLJ?GlF>2NiRP%X2rN@G2;hJ;P{MgtiN8P~Uc z1r9LHB0dIquc~aja^1{2_roY+WC3i2ayR~tTr$v%^qMf;_WEA9PMKI9ei54l*$hO)TYL$5qp+E zJ>yGVtw13&J@ZpUg0L!HE-VsL`hKOMwe>A#uOLXg+uqpFk}N8*t-sfigzdV3t^Tp)F1+uBJB=;kV&;uk_AlQ zl$qFMo2u)MX$H8o=OG68fomFK-1_Ka1XI7acauNSxHU;w;7%;@sXOW7`ZMbJBiKDc zar>nVJ6OqI{N>+rL(WN}`C;Hqf#rn;Z*TTeo78v6hA z$wOIlAJfh+Mk9||SVLp7O1~_VkAGy1a`_Q)om@k%2Mw@X0?nEr+I9b|1Zq+-O?zLw zaznArYd!8I-q^cS%^!0Gv%pTRXH+ht%X0nsK8`tB$lCIIp_(Doiw>2M$6o6-cRzIf z!fBmJ`3$q7A~sc_h&8exGR^ON^AJ-;>-91`9O2025O{($`pDu-lb?;Q=GqaAjfpyh z^HfvNK*f?{LeT?Fx0vXqHoM?ZI0?Wy{)7W%zQ2E6IkNC#7T~TczxZaWu#Krh?dtPXC@$-W_6sg<@0&|B8kRq5(Ik7y)@XCc1MJ<6)OrO9G6im`F zb7+#m$fKbI+>jqaNZY*BC&U`{wef9EQpfs~huRbblo^ngwQAZmt>|DlKud}`)-C=W zbavs~rOAyOA0zAvG?;orVug6pc(hlVFDlsG1rc~2hfs!xs)kXtI*DJNMwBq`wXmGvlYh4v&bqx2|cI~bAp4%Mwz@-b^pK8m$ zzwIPI1#tNn?+=zgLgKDA)*YJD7ohY|PmKV}0>{^qC|($Xa*Sk$iHbBC3WhjFeo$cfT}oG?!Lg!oKB$m-V?uQw*;4d2yb3KbT6Hb zSSW?Lo8|t(P>wx(F$3veX1z4Rn-#}&KLUiL73I~=^7-tzLtxS&g$N>O|M)nt#AYKr z|KmYzIf*EULhEPp#!UIZ7EK%VfSJg3y=>plI-v4Tn7${3$K@tuFg3h04x_BNOuJ<< z)m2)omdmvho?DQCwZ@mFWfqypSs6z*Bw!|DjM&M69$cPuHq>IYBiCN zM{(f7h;CaYS98=yuCg^Qk65P-aY)5cIryey(#$q$K}unU@jUdy`FoZ#EmT6zIq%iq zY+Hgu#s2L{-(IBUj``L5!eln{{}Z1bh4wb5dwEG|DO0Y<#xgvjR$GPgrnmqjRxE2T zjl?s~t!(afNJ?^A^9@NsFqYu7(vndpx4{TJ4$3lDSlgA13?XBy;3g)*-v7p`7r zS{E%*BmZKP+r({vn7>rwI)!jEp~4%QZB`lanD&C{6WB4@Hvjjnq>q{-)Z@I+O4!drcb$9l?)Gy-tm}|lTu+9YPZB9y zThGYN*&xW>TI;l@_~JZELo8hwu%7$tl6#&$`PT47IUxkvvAwEpKVfV>y39C)U($Yl zTZhwz)EK_x{uW!W?U=CE&!v=xUgpn7V5eok(F|kITbhvR)Moqec(^gi(P14S&@!ho zXFgI0F~8t72U|VxMW}V7omTiNvzUL3TecAms#{x^uPrb81E};l%n^7r!yFlcB>$<< znnOQ=*q3EjiD}xmXuvX%EN~Hz_@3_o=%*i>fMzLOSSRUO z3KenSRfHy(OrG5Pj#lX02|EOJ z;u*y9ax@T{lD559$sXvYOmD!evDqo+;wnC)eQH8scKLCo#3XL|d}{PB`% zyuT`M;=ta5m7vlh%}Nh)D2nfJ&Q z9T0K^Zn(%a<}YnJtRqq#i7cwNEyNM^(Fs~*j6mK;TZ@7L(wEGqD_Oc2a^&R$bn5zI7E%kS1 zVeP`_)7e2S(2bKcM||N-9=4nVBZ)9~A+OB+9KLl{jX{Tt(t9N^59w$q~RJh~y} zFcD!jn5VY4%NXP4&6|XPB6*8FujNoE>^#CqJNM9K+ntKLry*)3H0rT?&%Ndm7LxTq zNx-VPYA^sj5L>UAU_%@hFlROHiK)t7_nEXfot7mPJty|?J^zo;Pf5`vd8TzkD6&qD z`N7qt*9E6SgFV;pc_X$J*DvQFM08|7*@`O5BBV^gasg^8F}Bpb8oe_kJQxan7T0Y* zG9#ICLztE)&&|F7Sy->JPCE)%-fN05y1g*r z*A><5Fc;rEHz7y2Ah#eMHnx{c;CNz%G?wUi4w95nV(zkRlay@ zsoZo??6*1Ky;ptqllu?Gb1%Rb=7DjAGjWEqA}|TgIkZvi`H)b^#m@Y$sxn$V6`!vV z3EG0m{Ejw{axKwp_{%6Rp?a!1%$Tll%29eI3V|@p_YFXsPRO#@<_YITmf#k5;Eu$h zW~23dxdS_%!7J$XeL%3&V_b~BDyk@SYWz#)nH2JRZT1aKawgm;YSVES-jLiz! zoYtqTLWI%;vkW{6BFYkQIyR$2shVf_>0*%Y%W%Ua?;wMV7of8aERf~MXUE`%VxAaf z$_5rMt_$nFaT;~_DBt-2h_|T;GD=TtaImDy=Z$N1D`{lXfzXR#j*mAb-#}gA6>nbrG^~wn&k}*unkg%+qMV~6 z7w%ALBPYZxD+%y7!XK(KaT+9&@7EL$}%(A~kBU-`e32)aRK}#6U zmZ;1H9$Y~5tvq+r;z~V-fIx?Ev>r`(PNDvBNrwDtD^i1 zXG>`y$bm)mdTphOnXKdrT1Ty&&$=fkgz$@1hT$|}<_N7)gUo;EKaFuX4XcS}@W*Z- zr2VcuciK6vh*q6QpqiOMCxmZgw!ElS8IUups>;-P^fMbOI9*LQN@`;h!ZULu6mYDu z#nb%hQHJNxW-&>qe8~ZOB_!Ceh@@*oiM%N5bxtJZ8+F^tWuMk|b96Jx6n-JqFl&t0%fxYctf#4{yfU zJP_kR8{^U>CGqJq4@+PPtkR}si5}#KS$+~AQ_mA&4g`b-YkJ{hTo2trF!K^&5kNDG zQqr1BEQdW(wE`WaG|cO9DLZ>g<2O8^2MnQKuqTUNKXm^K(?V&ii+Ovt%m1oFuFgK5 z6>}s0s@7JG%3TvTeedw;0H2+jT(qu$niajnQ4lc5umV=gYct*I#ozSUTKZnBZ4m*{ z?DTxx2ckMN2~O-& z`m7_01Thprp2klC_Jc7_an-+t=bZ6>X@Aa84$Do9rcf!ysthnt%cm@PpLD+9Y8o;JO``%TzS+@ZqMA+BwA)H-lm@Wyy z&4-Np{34A!6>3ciR>acf7BO!fXIBhDn4w)3#Lo|8jUAp|m(g_(ld%r0h3aB17lv9? zdG$AZt_L>Z>6!K>-15sU&Yv?MFQj!r-}h76qZ!x5&(EvrMa9FKSVn;LIB&A$Kv!8D z`Fp#FaZ0A%)oajNNh%FZT!VI8^30XORCtsH@W`l z-zj+5)cfr_LOVbdJ|Z-=M_5$idU_JB!K8McvqOLpy3QdL*I1^2)ZC7HcmCvFk39E@ zP}jzYkZda`8jUYBpj@0QCwo=r*ZcO|vzFF;_{6nMKne#s1UNi!0tg~1jv>8X2FCAcDqE7vo+@8^u&v;AWK$>inci_sZr z9x(O++AP|#O?aY&@ob&xRH@C*y#bunNQ}OC)vwPqNeA;1j!W>S(a(SYX&ztNf7J0u z_rBXm@LX5R94_AhhHgr4=K8Uo__NdSD(=Q;XYGN)lt$eI3$2-ai!9tCQ9A_iJ9x+c Y12A>Y>kU~T-~a#s07*qoM6N<$f|{OqEC2ui literal 0 HcmV?d00001 diff --git a/scripts/android/build-debug-apk.sh b/scripts/android/build-debug-apk.sh new file mode 100755 index 0000000..33fd5de --- /dev/null +++ b/scripts/android/build-debug-apk.sh @@ -0,0 +1,23 @@ +#!/usr/bin/env bash +set -euo pipefail + +ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)" + +if [[ -z "${JAVA_HOME:-}" && -d "/opt/homebrew/opt/openjdk@21/libexec/openjdk.jdk/Contents/Home" ]]; then + export JAVA_HOME="/opt/homebrew/opt/openjdk@21/libexec/openjdk.jdk/Contents/Home" + export PATH="$JAVA_HOME/bin:$PATH" +fi + +if [[ -z "${ANDROID_HOME:-}" && -d "/opt/homebrew/share/android-commandlinetools" ]]; then + export ANDROID_HOME="/opt/homebrew/share/android-commandlinetools" +fi + +if [[ -z "${ANDROID_SDK_ROOT:-}" && -n "${ANDROID_HOME:-}" ]]; then + export ANDROID_SDK_ROOT="$ANDROID_HOME" +fi + +cd "$ROOT_DIR" +npx cap sync android + +cd "$ROOT_DIR/android" +./gradlew assembleDebug diff --git a/scripts/test-ai-commentator.ts b/scripts/test-ai-commentator.ts new file mode 100644 index 0000000..56060d0 --- /dev/null +++ b/scripts/test-ai-commentator.ts @@ -0,0 +1,223 @@ +import assert from 'node:assert/strict'; +import fs from 'node:fs'; +import path from 'node:path'; +import { NextRequest } from 'next/server'; +import { hashPassword, signToken } from '../lib/auth'; +import { prisma } from '../lib/prisma'; + +for (const key of ['FREEMODEL_API_KEY', 'FREEMODEL_API_KEY_2', 'FREEMODEL_API_KEY_3', 'GEMINI_API_KEY', 'GEMINI_API_KEY_2']) { + process.env[key] = ''; +} + +async function runTest() { + const { POST } = await import('../app/api/ai/commentator/route'); + + async function jsonPost(body: object) { + const response = await POST(new NextRequest('http://localhost:3000/api/ai/commentator', { + method: 'POST', + headers: { 'content-type': 'application/json' }, + body: JSON.stringify(body), + })); + return { response, body: await response.json() }; + } + + const publicResult = await jsonPost({ + roomCode: 'BATTLE-TEST', + eventType: 'SAMPLE_PASSED', + participants: [ + { userId: 'u1', userName: 'Ada', score: 150, solved: 1, progress: 'SOLVED' }, + { userId: 'u2', userName: 'Grace', score: 50, solved: 0, progress: 'CODING' }, + ], + problemTitle: 'Two Sum', + language: 'python', + linesOfCode: 24, + timeRemainingSeconds: 512, + executionResult: { verdict: 'Accepted' }, + userName: 'Ada', + }); + + assert.equal(publicResult.response.status, 200, 'fallback commentator request succeeds'); + assert.equal(publicResult.body.success, true, 'fallback response is marked successful'); + assert.equal(typeof publicResult.body.commentary, 'string', 'fallback returns commentary text'); + assert.ok(publicResult.body.commentary.length >= 8, 'fallback commentary is non-empty'); + assert.ok(['high', 'medium', 'low'].includes(publicResult.body.hypeLevel), 'hype level is normalized'); + + const analysisStart = Date.now(); + const analysisResult = await jsonPost({ + roomCode: 'BATTLE-TEST', + eventType: 'CODE_ANALYSIS', + participants: [ + { userId: 'u1', userName: 'Ada', score: 150, solved: 1, progress: 'CODING' }, + { userId: 'u2', userName: 'Grace', score: 50, solved: 0, progress: 'CODING' }, + ], + problemTitle: 'Two Sum', + language: 'cpp', + linesOfCode: 18, + timeRemainingSeconds: 301, + codeAnalysis: { + nonEmptyLineCount: 18, + functionCount: 1, + loopCount: 1, + conditionalCount: 2, + phase: 'debugging', + possibleIssue: 'missing empty input guard', + signature: 'analysis-test', + }, + userName: 'Ada', + }); + + assert.equal(analysisResult.response.status, 200, 'code-analysis fallback succeeds'); + assert.equal(analysisResult.body.success, true, 'code-analysis response is successful'); + assert.equal(analysisResult.body.hypeLevel, 'medium', 'code-analysis warnings raise medium hype'); + assert.ok(Date.now() - analysisStart < 1000, 'no-provider code-analysis fallback is fast'); + assert.match( + analysisResult.body.commentary, + /loop|branch|live lines|debugging|input guard/i, + 'code-analysis commentary reflects static analysis summary', + ); + + const malformedResponse = await POST(new NextRequest('http://localhost:3000/api/ai/commentator', { + method: 'POST', + headers: { 'content-type': 'application/json' }, + body: '{"eventType":', + })); + const malformedBody = await malformedResponse.json(); + assert.equal(malformedResponse.status, 200, 'malformed JSON returns fallback instead of 500'); + assert.equal(malformedBody.success, true, 'malformed JSON fallback keeps success contract'); + + const hugeResult = await jsonPost({ + roomCode: 'BATTLE-TEST', + eventType: 'CODE_ANALYSIS', + participants: [null, 'bad', { userName: 'Ada', score: Number.POSITIVE_INFINITY }], + problemTitle: 'Two Sum', + language: 'cpp', + linesOfCode: Number.POSITIVE_INFINITY, + codeAnalysis: { + nonEmptyLineCount: 999999999, + loopCount: 999999999, + possibleIssue: 'x'.repeat(1000), + phase: 'y'.repeat(500), + hasReturn: 'true', + }, + }); + assert.equal(hugeResult.response.status, 200, 'oversized/suspicious analysis payload is clamped'); + assert.doesNotMatch(hugeResult.body.commentary, /999999999|Infinity/, 'unsafe numeric values do not leak'); + + const originalFetch = global.fetch; + process.env.GEMINI_API_KEY = 'fake-timeout-key'; + global.fetch = ((url, init) => new Promise((_resolve, reject) => { + const signal = init?.signal as AbortSignal | undefined; + if (signal?.aborted) { + reject(new Error('aborted')); + return; + } + signal?.addEventListener('abort', () => reject(new Error('aborted')), { once: true }); + })) as typeof fetch; + + const timeoutStart = Date.now(); + const timeoutResult = await jsonPost({ + roomCode: 'BATTLE-TIMEOUT', + eventType: 'CODE_ANALYSIS', + participants: [{ userId: 'u1', userName: 'Ada', score: 10 }], + problemTitle: 'Two Sum', + language: 'cpp', + linesOfCode: 12, + codeAnalysis: { nonEmptyLineCount: 12, loopCount: 1, phase: 'implementation', signature: 'slow-provider' }, + }); + global.fetch = originalFetch; + process.env.GEMINI_API_KEY = ''; + + assert.equal(timeoutResult.response.status, 200, 'provider timeout still returns fallback'); + assert.equal(timeoutResult.body.success, true, 'provider timeout preserves success contract'); + assert.ok(Date.now() - timeoutStart < 5000, 'provider timeout path stays under 5 seconds'); + + const privateResult = await jsonPost({ + roomCode: 'BATTLE-PRIVATE', + eventType: 'TICK', + participants: [{ userId: 'u1', userName: 'Ada', score: 0 }], + problemTitle: 'Two Sum', + privacyMode: 'private_room', + }); + + assert.equal(privateResult.response.status, 401, 'private room commentary requires authentication'); + assert.match(privateResult.body.error, /Sign in/i, 'private room auth failure is explicit'); + + const timestamp = Date.now(); + const participant = await prisma.user.create({ + data: { + email: `commentator-participant-${timestamp}@codeforge.dev`, + name: 'Commentator Participant', + passwordHash: hashPassword('CommentatorPass123!'), + }, + }); + const outsider = await prisma.user.create({ + data: { + email: `commentator-outsider-${timestamp}@codeforge.dev`, + name: 'Commentator Outsider', + passwordHash: hashPassword('CommentatorPass123!'), + }, + }); + const room = await prisma.customRoom.create({ + data: { + code: `BATTLE-COMM${timestamp.toString().slice(-5)}`, + name: 'Commentator Verification Room', + hostName: participant.name, + maxPlayers: 10, + difficulty: 'MIXED', + problemCount: 1, + status: 'IN_PROGRESS', + problemIds: '[]', + mode: 'SQUAD', + durationSeconds: 900, + startedAt: new Date(), + participants: { create: { userId: participant.id, userName: participant.name } }, + }, + }); + + try { + const participantToken = signToken({ id: participant.id, email: participant.email, name: participant.name, role: participant.role }); + const outsiderToken = signToken({ id: outsider.id, email: outsider.email, name: outsider.name, role: outsider.role }); + const privateBody = { + roomCode: room.code, + eventType: 'CODE_ANALYSIS', + participants: [{ userId: participant.id, userName: participant.name, score: 0 }], + problemTitle: 'Two Sum', + privacyMode: 'private_room', + codeAnalysis: { nonEmptyLineCount: 9, phase: 'drafting', signature: 'private-analysis' }, + }; + + const outsiderResponse = await POST(new NextRequest('http://localhost:3000/api/ai/commentator', { + method: 'POST', + headers: { 'content-type': 'application/json', cookie: `codeforge_session=${outsiderToken}` }, + body: JSON.stringify(privateBody), + })); + assert.equal(outsiderResponse.status, 403, 'signed-in non-participant cannot use private room commentary'); + + const participantResponse = await POST(new NextRequest('http://localhost:3000/api/ai/commentator', { + method: 'POST', + headers: { 'content-type': 'application/json', cookie: `codeforge_session=${participantToken}` }, + body: JSON.stringify(privateBody), + })); + const participantBody = await participantResponse.json(); + assert.equal(participantResponse.status, 200, 'signed-in participant can use private room commentary'); + assert.equal(participantBody.success, true, 'private participant receives successful commentary'); + assert.doesNotMatch(participantBody.commentary, new RegExp(room.code, 'i'), 'private commentary does not expose the room code'); + } finally { + await prisma.customRoom.delete({ where: { id: room.id } }); + await prisma.user.deleteMany({ where: { id: { in: [participant.id, outsider.id] } } }); + } + + const liveCommentatorSource = fs.readFileSync(path.join(process.cwd(), 'components/contests/LiveCommentator.tsx'), 'utf8'); + assert.ok(liveCommentatorSource.includes('codeAnalysis: codeAnalysisRef.current'), 'client sends static analysis summary'); + assert.ok(liveCommentatorSource.includes("fetchCommentary('CODE_ANALYSIS')"), 'client triggers code-analysis commentary events'); + assert.ok(liveCommentatorSource.includes('}, 5000);'), 'client schedules code analysis on a 5-second beat'); + assert.ok(!liveCommentatorSource.includes('codeSnippet: codeSnippet') && !liveCommentatorSource.includes('codeSnippet: codeSnippetRef'), 'client does not send raw code snippet'); + + await prisma.$disconnect(); + console.log('AI commentator route: resilience, code-analysis, and private-room checks passed.'); +} + +runTest().catch((error) => { + console.error('AI commentator verification failed:', error); + prisma.$disconnect().catch(() => undefined).finally(() => process.exit(1)); +}); diff --git a/scripts/test-public-boundaries.ts b/scripts/test-public-boundaries.ts index e6809af..6c823e6 100644 --- a/scripts/test-public-boundaries.ts +++ b/scripts/test-public-boundaries.ts @@ -51,6 +51,43 @@ async function runTest() { assert(typeof profile.profile?.accuracy === 'number' && typeof profile.profile?.consistency === 'number', 'Public profile exposes aggregate performance metrics'); } + const profileProblem = await prisma.problem.findFirst({ select: { id: true } }); + if (profileProblem) { + const activityOnlyUserId = `activity-only-${Date.now()}`; + let activitySubmissionId: string | null = null; + try { + const activitySubmission = await prisma.submission.create({ + data: { + userId: activityOnlyUserId, + problemId: profileProblem.id, + code: 'print("ok")', + language: 'python', + status: 'Accepted', + }, + select: { id: true }, + }); + activitySubmissionId = activitySubmission.id; + + const activityProfileResponse = await profileHandler( + new NextRequest(`http://localhost:3000/api/leaderboard/${activityOnlyUserId}`), + { params: Promise.resolve({ id: activityOnlyUserId }) }, + ); + const activityProfile = await activityProfileResponse.json(); + assert( + activityProfileResponse.status === 200 && activityProfile.profile?.id === activityOnlyUserId, + 'Public profile loads for activity-only leaderboard identities', + ); + assert( + activityProfile.profile?.name === `Coder (${activityOnlyUserId.slice(0, 6)})`, + 'Activity-only public profiles use generated display names', + ); + } finally { + if (activitySubmissionId) { + await prisma.submission.delete({ where: { id: activitySubmissionId } }).catch(() => undefined); + } + } + } + const problemsResponse = await problemsHandler( new NextRequest('http://localhost:3000/api/problems?page=2&limit=3'), ); diff --git a/scripts/test-revision-learning.ts b/scripts/test-revision-learning.ts index f57afe5..fd4ab67 100644 --- a/scripts/test-revision-learning.ts +++ b/scripts/test-revision-learning.ts @@ -1,4 +1,5 @@ -import { buildRevisionLearning, snapshotForRevision } from '../lib/revisionLearning'; +import { buildRevisionLearning, learnFromFailedAttempt, snapshotForRevision } from '../lib/revisionLearning'; +import { isRevisionQuality, nextRevisionInterval } from '../lib/revisionSchedule'; import { ExecutionVerdict } from '../lib/types'; const failedCase = { @@ -18,14 +19,113 @@ const verdicts: ExecutionVerdict[] = [ for (const verdict of verdicts) { const learning = buildRevisionLearning(verdict, '["Arrays & Hashing"]', failedCase); - if (learning.failureType !== verdict || learning.pattern !== 'Arrays & Hashing' || !learning.keyTakeaway || !learning.error) { + if ( + learning.failureType !== verdict || + learning.pattern !== 'Arrays & Hashing' || + !learning.keyTakeaway || + !learning.error || + !learning.stuckPoint || + !learning.keyTakeaway.includes('Latest stuck point:') + ) { throw new Error(`Revision learning did not produce a complete card for ${verdict}.`); } } +const offByOneLearning = buildRevisionLearning('Wrong Answer', '["Arrays"]', { + input: '5', + expectedOutput: '10', + actualOutput: '9', +}); +if (!offByOneLearning.stuckPoint.toLowerCase().includes('off by one')) { + throw new Error('Revision learning did not detect an off-by-one stuck point.'); +} + +if ( + !isRevisionQuality('HARD') || + !isRevisionQuality('GOOD') || + !isRevisionQuality('EASY') || + isRevisionQuality('MEDIUM') || + nextRevisionInterval(1, 'HARD') !== 1 || + nextRevisionInterval(1, 'GOOD') !== 2 || + nextRevisionInterval(1, 'EASY') !== 4 || + nextRevisionInterval(0, 'GOOD') !== 2 +) { + throw new Error('Revision scheduling quality guard or interval math drifted.'); +} + const snapshot = snapshotForRevision(failedCase); if (snapshot.lastFailedInput !== failedCase.input || snapshot.lastExpectedOutput !== failedCase.expectedOutput || snapshot.lastActualOutput !== failedCase.actualOutput || snapshot.lastError !== failedCase.error) { throw new Error('Revision failure snapshot did not preserve the failing case details.'); } -console.log(`Revision learning verification: ${verdicts.length} failure classes and failing-case snapshot passed.`); +async function main() { + let upsertPayload: unknown = null; + const fakePrisma = { + revisionCard: { + upsert: async (payload: unknown) => { + upsertPayload = payload; + return { failureCount: 3 }; + }, + }, + }; + + const learned = await learnFromFailedAttempt({ + prisma: fakePrisma as never, + userId: 'user-1', + problem: { id: 'problem-1', topicTags: '["Dynamic Programming"]' }, + verdict: 'Wrong Answer', + failedTestCase: failedCase, + }); + + if (!learned || learned.failureCount !== 3 || learned.failureType !== 'Wrong Answer' || learned.pattern !== 'Dynamic Programming') { + throw new Error('Revision deck learning did not return the learned card summary.'); + } + + const payload = upsertPayload as { + where?: { userId_problemId?: { userId?: string; problemId?: string } }; + update?: { dueDate?: Date; failureCount?: { increment?: number }; lastFailedInput?: string | null; keyTakeaway?: string }; + }; + if ( + payload?.where?.userId_problemId?.userId !== 'user-1' || + payload?.where?.userId_problemId?.problemId !== 'problem-1' || + payload?.update?.failureCount?.increment !== 1 || + !(payload?.update?.dueDate instanceof Date) || + payload?.update?.lastFailedInput !== failedCase.input || + !String(payload?.update?.keyTakeaway || '').includes('Latest stuck point:') + ) { + throw new Error('Revision deck learning did not upsert the due card with failure details.'); + } + + upsertPayload = null; + await learnFromFailedAttempt({ + prisma: fakePrisma as never, + userId: 'user-1', + problem: { id: 'hidden-problem', topicTags: '["Binary Search"]' }, + verdict: 'Wrong Answer', + failedTestCase: { + input: '[hidden test case]', + expectedOutput: '[hidden test case]', + actualOutput: 'false', + }, + }); + + const hiddenPayload = upsertPayload as { + create?: { lastFailedInput?: string | null; lastExpectedOutput?: string | null }; + update?: { lastFailedInput?: string | null; lastExpectedOutput?: string | null }; + }; + if ( + hiddenPayload?.create?.lastFailedInput !== '[hidden test case]' || + hiddenPayload?.create?.lastExpectedOutput !== '[hidden test case]' || + hiddenPayload?.update?.lastFailedInput !== '[hidden test case]' || + hiddenPayload?.update?.lastExpectedOutput !== '[hidden test case]' + ) { + throw new Error('Revision learning did not preserve hidden-test masking.'); + } + + console.log(`Revision learning verification: ${verdicts.length} failure classes, snapshots, and deck upsert passed.`); +} + +main().catch((error) => { + console.error(error); + process.exit(1); +}); diff --git a/scripts/test-visualizer-layout.ts b/scripts/test-visualizer-layout.ts index 52dbe6e..d8e2ede 100644 --- a/scripts/test-visualizer-layout.ts +++ b/scripts/test-visualizer-layout.ts @@ -29,6 +29,22 @@ if (!scene.includes('min-h-[360px]')) { throw new Error('Visualizer scene must retain a stable minimum render height.'); } +if (scene.includes('animate={{ y, height') || scene.includes('animate={{ y: y')) { + throw new Error('Bar rectangles must not animate SVG y through Framer Motion; it double-applies browser transforms.'); +} + +if (!scene.includes('React.useId()') || !scene.includes('scene-arrow-${reactId}')) { + throw new Error('Node/graph SVG marker ids must be scoped per scene instance.'); +} + +if (!scene.includes('function graphPositions') || scene.includes('|| [340, 150]')) { + throw new Error('Graph scene must compute fallback positions instead of overlapping extra nodes at the center.'); +} + +if (!scene.includes('bitFontSize') || !scene.includes('indexFontSize')) { + throw new Error('Bits scene must scale text for longer bit strings.'); +} + if (!library.includes('titleFromPath(selected.lessonPath)')) { throw new Error('Visualizer workspace links must fall back to the canonical lesson slug.'); } diff --git a/scripts/verify-frame-rendering.ts b/scripts/verify-frame-rendering.ts index ade3764..9f746a2 100644 --- a/scripts/verify-frame-rendering.ts +++ b/scripts/verify-frame-rendering.ts @@ -63,6 +63,8 @@ function validateIndexes(entry: VisualizerEntry, frame: LessonFrame, stepIdx: nu schemaErrors.push(`Problem ${entry.problemId} step ${stepIdx}: Bars frame missing bars.`); return; } + if (frame.bars.length > 12) schemaErrors.push(`Problem ${entry.problemId} step ${stepIdx}: Bars frame exceeds the renderer limit.`); + if (!frame.bars.every((value) => Number.isFinite(value))) schemaErrors.push(`Problem ${entry.problemId} step ${stepIdx}: Bars must be finite values.`); if (active.some((index) => index >= frame.bars!.length)) schemaErrors.push(`Problem ${entry.problemId} step ${stepIdx}: Bars active index out of bounds.`); return; case 'bits': @@ -113,6 +115,27 @@ for (const entry of jsonEntries) { const frames = buildVisualizerFrames(entry.pattern, entry.lessonPath, entry.lessonPath); totalFramesCount += frames.length; + if (profile.slug === 'longest-increasing-subsequence') { + const firstBars = frames.find((frame) => frame.visualType === 'bars')?.bars || []; + if (firstBars.join(',') !== '10,9,2,5,3,7,101,18') { + schemaErrors.push(`Problem ${entry.problemId} (${profile.slug}): Bars must match the LIS lesson input, found [${firstBars.join(',')}].`); + } + } + + if (profile.slug === 'sliding-window-maximum') { + const firstBars = frames.find((frame) => frame.visualType === 'bars')?.bars || []; + if (firstBars.join(',') !== '1,3,-1,-3,5,3,6,7') { + schemaErrors.push(`Problem ${entry.problemId} (${profile.slug}): Bars must preserve the negative lesson input, found [${firstBars.join(',')}].`); + } + } + + if (profile.slug === 'trapping-rain-water') { + const firstBars = frames.find((frame) => frame.visualType === 'bars')?.bars || []; + if (!firstBars.includes(0)) { + schemaErrors.push(`Problem ${entry.problemId} (${profile.slug}): Bars must preserve zero-height walls.`); + } + } + if (frames.length < 8 || frames.length > 12) { schemaErrors.push(`Problem ${entry.problemId} (${profile.slug}): Expected 8-12 frames, produced ${frames.length}.`); } From de24a81f0bcd06e0dcf66f918b865edb332b4684 Mon Sep 17 00:00:00 2001 From: sparsh singh Date: Fri, 31 Jul 2026 22:40:57 +0530 Subject: [PATCH 02/11] Add Postgres service to quality workflow --- .github/workflows/quality.yml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/.github/workflows/quality.yml b/.github/workflows/quality.yml index fc2361f..b1b238a 100644 --- a/.github/workflows/quality.yml +++ b/.github/workflows/quality.yml @@ -17,6 +17,20 @@ jobs: quality: runs-on: ubuntu-latest timeout-minutes: 15 + services: + postgres: + image: postgres:16 + env: + POSTGRES_USER: ci + POSTGRES_PASSWORD: ci + POSTGRES_DB: codeforge + ports: + - 5432:5432 + options: >- + --health-cmd "pg_isready -U ci -d codeforge" + --health-interval 10s + --health-timeout 5s + --health-retries 5 env: DATABASE_URL: postgresql://ci:ci@127.0.0.1:5432/codeforge?schema=public JWT_SECRET: ci-only-not-a-production-secret @@ -36,5 +50,8 @@ jobs: - name: Install dependencies run: npm ci + - name: Prepare database schema + run: npx prisma db push + - name: Run quality gate run: npm run verify:quality From 5875b4beab6e41aeac15fde4773defebce38ef14 Mon Sep 17 00:00:00 2001 From: sparsh singh Date: Fri, 31 Jul 2026 22:42:52 +0530 Subject: [PATCH 03/11] Ignore local env files for Vercel deploys --- .vercelignore | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 .vercelignore diff --git a/.vercelignore b/.vercelignore new file mode 100644 index 0000000..66c9eb2 --- /dev/null +++ b/.vercelignore @@ -0,0 +1,12 @@ +.env +.env.* +!.env.example +.git +.github +.next +node_modules +npm-debug.log* +yarn-debug.log* +yarn-error.log* +.pnpm-debug.log* +*.log From bd63423ba1925c7b4d9f1ad9221bc6a84240ba7d Mon Sep 17 00:00:00 2001 From: sparsh singh Date: Fri, 31 Jul 2026 22:45:06 +0530 Subject: [PATCH 04/11] Seed CI database before quality checks --- .github/workflows/quality.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/quality.yml b/.github/workflows/quality.yml index b1b238a..22fff80 100644 --- a/.github/workflows/quality.yml +++ b/.github/workflows/quality.yml @@ -53,5 +53,8 @@ jobs: - name: Prepare database schema run: npx prisma db push + - name: Seed database + run: npm run prisma:seed + - name: Run quality gate run: npm run verify:quality From b0137aded28d8dcb809afb4c3914ade9722f6f4d Mon Sep 17 00:00:00 2001 From: sparsh singh Date: Fri, 31 Jul 2026 22:47:48 +0530 Subject: [PATCH 05/11] Sync CI visualizer catalog after seeding --- .github/workflows/quality.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/quality.yml b/.github/workflows/quality.yml index 22fff80..05b9805 100644 --- a/.github/workflows/quality.yml +++ b/.github/workflows/quality.yml @@ -56,5 +56,8 @@ jobs: - name: Seed database run: npm run prisma:seed + - name: Sync visualizer catalog to CI problem IDs + run: npx tsx scripts/sync-visualizer-catalog.ts + - name: Run quality gate run: npm run verify:quality From bfb58752a6cfca8c0d8b94a04cb3c1ee94104546 Mon Sep 17 00:00:00 2001 From: sparsh singh Date: Fri, 31 Jul 2026 22:51:02 +0530 Subject: [PATCH 06/11] Align UI accents with shared surface palette --- app/dashboard/page.tsx | 6 ++-- .../dashboard/TeachingStyleSelector.tsx | 12 +++---- components/dashboard/WeeklyInsights.tsx | 6 ++-- components/landing/CoreFeaturesGrid.tsx | 10 +++--- components/landing/HeroSection.tsx | 12 +++---- components/navbar/Navbar.tsx | 32 +++++++++---------- 6 files changed, 39 insertions(+), 39 deletions(-) diff --git a/app/dashboard/page.tsx b/app/dashboard/page.tsx index 7e53dc9..3b952ee 100644 --- a/app/dashboard/page.tsx +++ b/app/dashboard/page.tsx @@ -58,7 +58,7 @@ export default function DashboardPage() {

{error || 'Something went wrong.'}

@@ -83,7 +83,7 @@ export default function DashboardPage() { width={48} height={48} unoptimized - className="w-12 h-12 rounded-full border-2 border-cyan-300/35 bg-[#0f0f12]" + className="w-12 h-12 rounded-full border-2 border-amber-300/35 bg-[#0f0f12]" />
@@ -103,7 +103,7 @@ export default function DashboardPage() {
Enter Contests diff --git a/components/dashboard/TeachingStyleSelector.tsx b/components/dashboard/TeachingStyleSelector.tsx index f74c8b8..e48c723 100644 --- a/components/dashboard/TeachingStyleSelector.tsx +++ b/components/dashboard/TeachingStyleSelector.tsx @@ -52,7 +52,7 @@ function PersonalityCard({ personality, isSelected, onSelect }: PersonalityCardP className={` relative w-full text-left rounded-xl border p-4 transition-all duration-300 cursor-pointer ${isSelected - ? 'bg-[#17171b] border-cyan-300/35' + ? 'bg-[#17171b] border-amber-300/35' : 'bg-slate-900/60 border-slate-800/60 hover:border-slate-600/60 hover:bg-slate-800/40' } `} @@ -112,7 +112,7 @@ export function TeachingStyleSelector() {
{/* Section Header */}
-
+
@@ -120,7 +120,7 @@ export function TeachingStyleSelector() {

Shapes how your tutor, hints, and reviews speak to you

- + {personality.name}
@@ -136,7 +136,7 @@ export function TeachingStyleSelector() { whileTap={{ scale: 0.99 }} className={` w-full flex items-center gap-3 rounded-xl border p-3.5 transition-all duration-300 - bg-[#17171b] border-cyan-300/25 + bg-[#17171b] border-amber-300/25 `} > @@ -169,8 +169,8 @@ export function TeachingStyleSelector() { >
{/* Info banner */} -
- +
+

Your tutor, hints, code reviews, mock interviews, and recommendations will all speak in this personality's unique voice.

diff --git a/components/dashboard/WeeklyInsights.tsx b/components/dashboard/WeeklyInsights.tsx index a507337..9822ec1 100644 --- a/components/dashboard/WeeklyInsights.tsx +++ b/components/dashboard/WeeklyInsights.tsx @@ -58,7 +58,7 @@ export function WeeklyInsights() {
-
+
@@ -85,7 +85,7 @@ export function WeeklyInsights() { {loading && (
- +

Analyzing submission patterns and rating trajectory...

)} @@ -99,7 +99,7 @@ export function WeeklyInsights() { {report && !loading && (
{/* Executive Summary */} -
+
"{report.summary}"
diff --git a/components/landing/CoreFeaturesGrid.tsx b/components/landing/CoreFeaturesGrid.tsx index 4a36146..7d74fa7 100644 --- a/components/landing/CoreFeaturesGrid.tsx +++ b/components/landing/CoreFeaturesGrid.tsx @@ -20,10 +20,10 @@ export const CoreFeaturesGrid: React.FC = () => { { title: 'Judge0 Execution Engine', desc: 'Secure containerized sandbox executing C++, Python, JavaScript, Java, and Go in milliseconds with detailed verdict output.', - icon: , + icon: , badge: 'Sandboxed Runner', link: '/problems', - color: 'hover:border-cyan-300/35', + color: 'hover:border-amber-300/35', }, { title: 'Automated Code Audit', @@ -71,7 +71,7 @@ export const CoreFeaturesGrid: React.FC = () => {
- + Complete Competitive Engineering Suite

@@ -105,7 +105,7 @@ export const CoreFeaturesGrid: React.FC = () => {

-

+

{item.title}

@@ -117,7 +117,7 @@ export const CoreFeaturesGrid: React.FC = () => {

Learn More diff --git a/components/landing/HeroSection.tsx b/components/landing/HeroSection.tsx index 424dbd9..1cb881b 100644 --- a/components/landing/HeroSection.tsx +++ b/components/landing/HeroSection.tsx @@ -19,8 +19,8 @@ export const HeroSection: React.FC = () => { label: 'DSA Problems', value: '600+', sub: 'Arrays to Dynamic Programming', - icon: , - color: 'border-cyan-300/25', + icon: , + color: 'border-amber-300/25', }, { label: 'Tech Companies', @@ -54,7 +54,7 @@ export const HeroSection: React.FC = () => { transition={{ duration: 0.5 }} className="inline-flex items-center gap-2 px-4 py-2 rounded-lg bg-[#111115] border border-white/10 text-slate-300 text-xs font-semibold mb-8" > - + Focused Competitive Coding & Interview Platform @@ -67,7 +67,7 @@ export const HeroSection: React.FC = () => { className="text-4xl sm:text-6xl lg:text-7xl font-semibold tracking-tight text-white max-w-5xl leading-[1.1]" > Master Coding & Crack Tech Interviews with{' '} - + CodeForge @@ -91,7 +91,7 @@ export const HeroSection: React.FC = () => { > Explore Problems @@ -99,7 +99,7 @@ export const HeroSection: React.FC = () => { Try Mock Interview diff --git a/components/navbar/Navbar.tsx b/components/navbar/Navbar.tsx index 984745a..36dc705 100644 --- a/components/navbar/Navbar.tsx +++ b/components/navbar/Navbar.tsx @@ -54,7 +54,7 @@ export const Navbar: React.FC = () => { const navLinks = [ { label: 'Problems', href: '/problems', icon: }, - { label: 'Visualizer', href: '/visualizer', icon: }, + { label: 'Visualizer', href: '/visualizer', icon: }, { label: 'Revision Deck', href: '/revision', icon: }, { label: 'AI Mock Interview', href: '/mock-interview', icon: }, { label: 'Company Prep', href: '/company', icon: }, @@ -68,11 +68,11 @@ export const Navbar: React.FC = () => {
{/* Glowing Logo Emblem */} -
+
- CodeForge_ + CodeForge_ @@ -86,7 +86,7 @@ export const Navbar: React.FC = () => { href={link.href} className={`px-2.5 py-1.5 rounded-md text-xs font-bold transition flex items-center gap-1.5 ${ isActive - ? 'bg-[#17171b] text-cyan-100 border border-cyan-300/25' + ? 'bg-[#17171b] text-amber-100 border border-amber-300/25' : 'text-slate-400 hover:text-white hover:bg-[#111115]' }`} > @@ -106,12 +106,12 @@ export const Navbar: React.FC = () => { rel="noopener noreferrer" className="px-3 py-2 rounded-md bg-[#111115] hover:bg-[#17171b] text-slate-200 border border-white/10 font-semibold text-xs transition-all flex items-center gap-1.5" > - + GitHub {user ? ( -
+
{ width={32} height={32} unoptimized - className="w-8 h-8 rounded-lg border border-white/10 bg-[#08080a] shrink-0 group-hover:border-cyan-300 transition" + className="w-8 h-8 rounded-lg border border-white/10 bg-[#08080a] shrink-0 group-hover:border-amber-300 transition" />
-
{user.name}
+
{user.name}
{user.email}
@@ -145,12 +145,12 @@ export const Navbar: React.FC = () => { href="/login" className="px-3 py-2 rounded-md bg-[#111115] hover:bg-[#17171b] text-slate-200 border border-white/10 font-semibold text-xs transition-all flex items-center gap-1.5" > - + Sign In Sign Up @@ -196,7 +196,7 @@ export const Navbar: React.FC = () => { onClick={() => setIsMobileMenuOpen(false)} className={`px-4 py-3 rounded-xl text-sm font-bold flex items-center gap-3 transition ${ isActive - ? 'bg-[#17171b] text-cyan-100 border border-cyan-300/25' + ? 'bg-[#17171b] text-amber-100 border border-amber-300/25' : 'text-slate-300 hover:bg-slate-900' }`} > @@ -221,10 +221,10 @@ export const Navbar: React.FC = () => { width={32} height={32} unoptimized - className="w-8 h-8 rounded-lg border border-slate-700 bg-slate-950 group-hover:border-cyan-300 transition" + className="w-8 h-8 rounded-lg border border-slate-700 bg-slate-950 group-hover:border-amber-300 transition" />
-
{user.name}
+
{user.name}
{user.email}
@@ -247,13 +247,13 @@ export const Navbar: React.FC = () => { onClick={() => setIsMobileMenuOpen(false)} className="py-2.5 rounded-lg text-xs font-bold bg-[#111115] border border-white/10 text-slate-200 hover:text-white flex items-center justify-center gap-2 transition" > - + Sign In setIsMobileMenuOpen(false)} - className="py-2.5 rounded-lg text-xs font-bold bg-cyan-200 hover:bg-cyan-100 text-[#08080a] flex items-center justify-center gap-2 transition font-bold" + className="py-2.5 rounded-lg text-xs font-bold bg-amber-200 hover:bg-amber-100 text-[#08080a] flex items-center justify-center gap-2 transition font-bold" > Sign Up @@ -268,7 +268,7 @@ export const Navbar: React.FC = () => { onClick={() => setIsMobileMenuOpen(false)} className="w-full py-2.5 rounded-lg text-xs font-bold bg-[#111115] border border-white/10 text-slate-200 hover:text-white flex items-center justify-center gap-2 transition" > - + GitHub Repo
From 48fa49c58d4809bf03538613190bd9d117a501cb Mon Sep 17 00:00:00 2001 From: sparsh singh Date: Fri, 31 Jul 2026 23:09:29 +0530 Subject: [PATCH 07/11] Improve visualizer layout and markdown rendering --- app/mock-interview/page.tsx | 11 +++-- app/revision/page.tsx | 9 ++-- app/visualizer/page.tsx | 35 ++++++++------ components/footer/Footer.tsx | 2 +- components/problems/ProblemVisualizer.tsx | 47 ++++++++++--------- components/problems/VisualizerScene.tsx | 57 +++++++++++++---------- components/ui/ProblemMarkdown.tsx | 45 ++++++++++++++++-- scripts/test-visualizer-layout.ts | 14 +++++- 8 files changed, 146 insertions(+), 74 deletions(-) diff --git a/app/mock-interview/page.tsx b/app/mock-interview/page.tsx index 3b79546..4670da8 100644 --- a/app/mock-interview/page.tsx +++ b/app/mock-interview/page.tsx @@ -21,6 +21,7 @@ import CodeEditor from '@/components/editor/CodeEditor'; import { EvaluationReport } from '@/app/api/ai/mock-interview/route'; import { useToast } from '@/components/ui/Toast'; import { useDialogAccessibility } from '@/lib/useDialogAccessibility'; +import { ProblemMarkdown } from '@/components/ui/ProblemMarkdown'; const COMPANIES = ['Google', 'Meta', 'Amazon', 'Apple', 'Netflix', 'Microsoft', 'Uber']; const TOPICS = [ @@ -357,13 +358,17 @@ export default function MockInterviewPage() { )}
- {m.content} + {m.role === 'assistant' ? ( + + ) : ( + m.content + )}
{m.role === 'user' && ( diff --git a/app/revision/page.tsx b/app/revision/page.tsx index 5ae20a7..983273a 100644 --- a/app/revision/page.tsx +++ b/app/revision/page.tsx @@ -19,6 +19,7 @@ import { } from 'lucide-react'; import { useToast } from '@/components/ui/Toast'; import { DifficultyBadge } from '@/components/ui/DifficultyBadge'; +import { ProblemMarkdown } from '@/components/ui/ProblemMarkdown'; import type { RevisionCardDTO, RevisionDeckResponse, RevisionDeckStats } from '@/lib/types'; import { nextRevisionInterval } from '@/lib/revisionSchedule'; @@ -256,9 +257,11 @@ export default function RevisionPage() {

This card was brought forward because the platform found a weak spot in your latest submission.

)} -

- {currentCard.problem?.statement} -

+
diff --git a/app/visualizer/page.tsx b/app/visualizer/page.tsx index c146b6b..9d0479a 100644 --- a/app/visualizer/page.tsx +++ b/app/visualizer/page.tsx @@ -2,7 +2,7 @@ import React, { useEffect, useMemo, useState } from 'react'; import Link from 'next/link'; -import { ChevronRight, Menu, Search, Sparkles, X } from 'lucide-react'; +import { ChevronRight, Menu, Search, X } from 'lucide-react'; import { ProblemVisualizer } from '@/components/problems/ProblemVisualizer'; import visualizerData from '../../public/data/visualizers.json'; @@ -168,32 +168,39 @@ export default function VisualizerLibraryPage() { ); return ( -
-
-
-
-
$ visualizer --catalog=75
-

Watch the algorithm think_

-

Interactive visual lessons for every mapped problem. Choose a pattern, step through its state, and inspect the invariant.

-
-
+
+
+
+
+
+
$ visualizer --catalog=75
+

Watch the algorithm think_

+

Interactive visual lessons for every mapped problem. Choose a pattern, step through its state, and inspect the invariant.

+
+
+
{entries.length || 75} verified lessons
+ {selected && ( + + Open workspace + + )}
-
- {selected ? :
No lessons match this filter.
} - {selected &&
Interactive lesson: {selected.lessonPath}Open coding workspace
} +
+ {selected ? :
No lessons match this filter.
}
diff --git a/components/footer/Footer.tsx b/components/footer/Footer.tsx index 956b414..ffc28c1 100644 --- a/components/footer/Footer.tsx +++ b/components/footer/Footer.tsx @@ -10,7 +10,7 @@ export const Footer: React.FC = () => { const pathname = usePathname(); // Hide footer inside full screen workspace editor routes - if (pathname.startsWith('/problems/') && pathname !== '/problems') { + if ((pathname.startsWith('/problems/') && pathname !== '/problems') || pathname === '/visualizer') { return null; } diff --git a/components/problems/ProblemVisualizer.tsx b/components/problems/ProblemVisualizer.tsx index ab2cf7b..e14f2d3 100644 --- a/components/problems/ProblemVisualizer.tsx +++ b/components/problems/ProblemVisualizer.tsx @@ -46,6 +46,7 @@ interface ProblemVisualizerProps { topicTags?: string | string[]; verified?: boolean; embedded?: boolean; + compact?: boolean; } const patternNames: Record = { @@ -543,7 +544,7 @@ function stateValue(frameItem: LessonFrame | undefined, label: string) { return frameItem?.state.find((item) => item.label === label)?.value; } -export const ProblemVisualizer: React.FC = ({ problemId, problemTitle, topicTags, verified = false, embedded = false }) => { +export const ProblemVisualizer: React.FC = ({ problemId, problemTitle, topicTags, verified = false, embedded = false, compact = false }) => { const [config, setConfig] = useState(null); const [step, setStep] = useState(0); const [playing, setPlaying] = useState(false); @@ -570,7 +571,11 @@ export const ProblemVisualizer: React.FC = ({ problemId, const currentPhase = stateValue(current, 'phase') || `step ${boundedStep + 1}`; const frameKey = `${problemId}:${lessonPath}:${boundedStep}:${currentPhase}:${current.codeLine}`; const progress = (boundedStep / Math.max(frames.length - 1, 1)) * 100; - const shellGridClass = embedded ? 'grid min-h-[720px]' : 'grid lg:grid-cols-[minmax(0,1fr)_320px] min-h-[720px]'; + const shellGridClass = compact + ? 'grid h-full min-h-0 lg:grid-cols-[minmax(0,1fr)_320px]' + : embedded + ? 'grid min-h-[720px]' + : 'grid lg:grid-cols-[minmax(0,1fr)_320px] min-h-[720px]'; useEffect(() => { if (!playing) return; @@ -649,14 +654,14 @@ export const ProblemVisualizer: React.FC = ({ problemId, }; return ( -
+
-
-
+
+
{mode}
-

{problemTitle}

-
{patternNames[pattern] || 'Algorithm'} {isVerified ? 'verified' : 'live'}
+

{problemTitle}

+
{patternNames[pattern] || 'Algorithm'} {isVerified ? 'verified' : 'live'}
@@ -664,10 +669,10 @@ export const ProblemVisualizer: React.FC = ({ problemId,
-
{patternNames[pattern] || 'Algorithm'} walkstep {boundedStep + 1} / {frames.length}
+
{patternNames[pattern] || 'Algorithm'} walkstep {boundedStep + 1} / {frames.length}
-
-
+
+
{frames.map((item, index) => { const phase = stateValue(item, 'phase') || `Step ${index + 1}`; const selected = index === boundedStep; @@ -677,7 +682,7 @@ export const ProblemVisualizer: React.FC = ({ problemId, type="button" aria-current={selected ? 'step' : undefined} onClick={() => { setPlaying(false); setStep(index); }} - className={`min-h-[58px] rounded-xl border px-3 py-2 text-left transition-all ${ + className={`${compact ? 'min-h-[42px] rounded-lg px-2 py-1.5' : 'min-h-[58px] rounded-xl px-3 py-2'} border text-left transition-all ${ selected ? 'border-amber-400/60 bg-amber-400/10 shadow-sm shadow-amber-400/10' : 'border-slate-800/80 bg-slate-900/50 hover:border-slate-700 hover:bg-slate-900' @@ -691,14 +696,14 @@ export const ProblemVisualizer: React.FC = ({ problemId,
-
-
+
+
- +
-
+
{mode === 'concept' ? 'Concept Pseudocode' : 'Practice Pseudocode'}
{code.map((line, index) =>
{index + 1}{line}
)}
@@ -717,8 +722,8 @@ export const ProblemVisualizer: React.FC = ({ problemId,
-
-
+
+
@@ -735,7 +740,7 @@ export const ProblemVisualizer: React.FC = ({ problemId, animate={{ opacity: 1, y: 0 }} exit={{ opacity: 0, y: -3 }} transition={{ duration: 0.18, ease: 'easeOut' }} - className="font-sans text-sm leading-relaxed text-slate-200" + className={`${compact ? 'line-clamp-2 text-xs' : 'text-sm'} font-sans leading-relaxed text-slate-200`} > {current.commentary} @@ -743,13 +748,13 @@ export const ProblemVisualizer: React.FC = ({ problemId,
-
+
-
+
@@ -761,7 +766,7 @@ export const ProblemVisualizer: React.FC = ({ problemId,
{/* Tutor sidebar */} -
diff --git a/components/problems/VisualizerScene.tsx b/components/problems/VisualizerScene.tsx index 5e1ad8e..2334f2b 100644 --- a/components/problems/VisualizerScene.tsx +++ b/components/problems/VisualizerScene.tsx @@ -20,6 +20,7 @@ type SceneProps = { frame: VisualizerSceneFrame; step: number; markerIds?: MarkerIds; + compact?: boolean; }; type MarkerIds = { @@ -66,9 +67,15 @@ const amber = SCENE_THEME.visited.stroke; const ease = [0.22, 1, 0.36, 1] as const; const cellTransition = { duration: 0.42, ease }; -function SceneFrame({ children, markerIds }: { children: React.ReactNode; markerIds?: MarkerIds }) { +function SceneFrame({ children, markerIds, compact = false }: { children: React.ReactNode; markerIds?: MarkerIds; compact?: boolean }) { return ( - + {markerIds && ( @@ -89,7 +96,7 @@ function Label({ x, y, children, fill = muted, size = 12, anchor = 'middle' as c return {children}; } -function ArrayScene({ frame }: SceneProps) { +function ArrayScene({ frame, compact }: SceneProps) { const values = frame.values || []; const cellWidth = Math.min(84, 560 / Math.max(values.length, 1)); const boxSize = cellWidth - 12; @@ -99,7 +106,7 @@ function ArrayScene({ frame }: SceneProps) { const pointerEntries = Object.entries(frame.pointers || {}); return ( - + {values.map((value, index) => { const x = startX + index * cellWidth + 6; @@ -129,7 +136,7 @@ function ArrayScene({ frame }: SceneProps) { ); } -function MatrixScene({ frame }: SceneProps) { +function MatrixScene({ frame, compact }: SceneProps) { const matrix = frame.matrix || [[]]; const rows = matrix.length; const cols = Math.max(...matrix.map((row) => row.length), 1); @@ -138,7 +145,7 @@ function MatrixScene({ frame }: SceneProps) { const top = 170 - (rows * size) / 2; const active = new Set(frame.active || []); return ( - + {matrix.flatMap((row, rowIndex) => row.map((value, colIndex) => { const index = rowIndex * cols + colIndex; @@ -160,10 +167,10 @@ function MatrixScene({ frame }: SceneProps) { ); } -function StackScene({ frame }: SceneProps) { +function StackScene({ frame, compact }: SceneProps) { const stack = frame.stack || []; return ( - + {stack.map((value, index) => { @@ -184,7 +191,7 @@ function StackScene({ frame }: SceneProps) { ); } -function NodeScene({ frame, markerIds }: SceneProps) { +function NodeScene({ frame, markerIds, compact }: SceneProps) { const nodes = frame.nodes || []; const active = new Set(frame.active || []); const gap = Math.min(104, 560 / Math.max(nodes.length, 1)); @@ -192,7 +199,7 @@ function NodeScene({ frame, markerIds }: SceneProps) { const arrowId = markerIds?.arrow || 'scene-arrow'; const activeArrowId = markerIds?.activeArrow || 'scene-arrow-active'; return ( - + {nodes.slice(0, -1).map((_, index) => )} {nodes.map((node, index) => { @@ -225,14 +232,14 @@ function graphPositions(count: number) { }); } -function GraphScene({ frame, markerIds }: SceneProps) { +function GraphScene({ frame, markerIds, compact }: SceneProps) { const nodes = frame.nodes || []; const active = new Set(frame.active || []); const positions = graphPositions(nodes.length); const arrowId = markerIds?.arrow || 'scene-arrow'; const activeArrowId = markerIds?.activeArrow || 'scene-arrow-active'; return ( - + {(frame.edges || []).map(([from, to], index) => { const [x1, y1] = positions[from] || positions[0]; @@ -256,7 +263,7 @@ function GraphScene({ frame, markerIds }: SceneProps) { ); } -function BarsScene({ frame }: SceneProps) { +function BarsScene({ frame, compact }: SceneProps) { const bars = frame.bars || []; const active = new Set(frame.active || []); const width = Math.min(54, 520 / Math.max(bars.length, 1)); @@ -269,7 +276,7 @@ function BarsScene({ frame }: SceneProps) { const negativePlotHeight = hasNegative ? 76 : 0; const indexY = hasNegative ? baseline + negativePlotHeight + 28 : baseline + 22; return ( - + @@ -298,7 +305,7 @@ function BarsScene({ frame }: SceneProps) { ); } -function BitsScene({ frame }: SceneProps) { +function BitsScene({ frame, compact }: SceneProps) { const bits = frame.bits || ''; const cellWidth = Math.min(64, 560 / Math.max(bits.length, 1)); const boxSize = cellWidth - 8; @@ -309,7 +316,7 @@ function BitsScene({ frame }: SceneProps) { const indexFontSize = bits.length > 16 ? 7 : 11; return ( - + {bits.split('').map((bit, index) => { const x = startX + index * cellWidth + 4; @@ -328,19 +335,19 @@ function BitsScene({ frame }: SceneProps) { ); } -export function VisualizerScene({ frame, step }: SceneProps) { +export function VisualizerScene({ frame, step, compact }: SceneProps) { const key = `${frame.visualType}-${step}`; const reactId = React.useId().replace(/[^a-zA-Z0-9_-]/g, ''); const markerIds = { arrow: `scene-arrow-${reactId}`, activeArrow: `scene-arrow-active-${reactId}` }; return ( - - {frame.visualType === 'array' && } - {frame.visualType === 'matrix' && } - {frame.visualType === 'stack' && } - {frame.visualType === 'nodes' && } - {frame.visualType === 'graph' && } - {frame.visualType === 'bars' && } - {frame.visualType === 'bits' && } + + {frame.visualType === 'array' && } + {frame.visualType === 'matrix' && } + {frame.visualType === 'stack' && } + {frame.visualType === 'nodes' && } + {frame.visualType === 'graph' && } + {frame.visualType === 'bars' && } + {frame.visualType === 'bits' && } ); } diff --git a/components/ui/ProblemMarkdown.tsx b/components/ui/ProblemMarkdown.tsx index 51026cb..a1bf7a8 100644 --- a/components/ui/ProblemMarkdown.tsx +++ b/components/ui/ProblemMarkdown.tsx @@ -2,14 +2,45 @@ import React from 'react'; +type ProblemMarkdownSize = 'default' | 'compact'; + +function renderMath(value: string) { + const normalized = value + .replace(/\\times/g, '×') + .replace(/\\leq/g, '≤') + .replace(/\\geq/g, '≥') + .replace(/\\lt/g, '<') + .replace(/\\gt/g, '>') + .replace(/\\textit\{([^}]+)\}/g, '$1') + .replace(/\\_/g, '_') + .replace(/\s+/g, ' ') + .trim(); + + const pieces = normalized.split(/(\^[+-]?\d+)/g); + + return pieces.map((piece, index) => { + if (piece.startsWith('^')) { + return {piece.slice(1)}; + } + return {piece}; + }); +} + function inlineParts(value: string) { - return value.split(/(\*\*[^*]+\*\*|`[^`]+`|\*[^*]+\*)/g).map((part, index) => { + return value.split(/(\*\*[^*]+\*\*|`[^`]+`|\$[^$\n]+\$|\*[^*]+\*)/g).map((part, index) => { if (part.startsWith('**') && part.endsWith('**')) { return {part.slice(2, -2)}; } if (part.startsWith('`') && part.endsWith('`')) { return {part.slice(1, -1)}; } + if (part.startsWith('$') && part.endsWith('$')) { + return ( + + {renderMath(part.slice(1, -1))} + + ); + } if (part.startsWith('*') && part.endsWith('*')) { return {part.slice(1, -1)}; } @@ -20,17 +51,21 @@ function inlineParts(value: string) { interface ProblemMarkdownProps { content: string; className?: string; + size?: ProblemMarkdownSize; } -export function ProblemMarkdown({ content, className = '' }: ProblemMarkdownProps) { +export function ProblemMarkdown({ content, className = '', size = 'default' }: ProblemMarkdownProps) { const lines = content.replace(/\r\n/g, '\n').split('\n'); const blocks: React.ReactNode[] = []; let listItems: string[] = []; + const isCompact = size === 'compact'; + const paragraphClass = isCompact ? 'leading-relaxed text-slate-300' : 'leading-7 text-slate-300'; + const listClass = isCompact ? 'list-disc space-y-1 pl-4 text-slate-300' : 'list-disc space-y-1 pl-5 text-slate-300'; const flushList = () => { if (listItems.length === 0) return; blocks.push( -
    +
      {listItems.map((item, index) =>
    • {inlineParts(item)}
    • )}
    , ); @@ -39,7 +74,7 @@ export function ProblemMarkdown({ content, className = '' }: ProblemMarkdownProp lines.forEach((line, index) => { const trimmed = line.trim(); - if (trimmed.startsWith('- ')) { + if (trimmed.startsWith('- ') || trimmed.startsWith('* ')) { listItems.push(trimmed.slice(2)); return; } @@ -51,7 +86,7 @@ export function ProblemMarkdown({ content, className = '' }: ProblemMarkdownProp } else if (trimmed.startsWith('## ')) { blocks.push(

    {inlineParts(trimmed.slice(3))}

    ); } else { - blocks.push(

    {inlineParts(line)}

    ); + blocks.push(

    {inlineParts(line)}

    ); } }); flushList(); diff --git a/scripts/test-visualizer-layout.ts b/scripts/test-visualizer-layout.ts index d8e2ede..e74fdc7 100644 --- a/scripts/test-visualizer-layout.ts +++ b/scripts/test-visualizer-layout.ts @@ -10,9 +10,11 @@ const tutor = fs.readFileSync('components/problems/VisualizerTutor.tsx', 'utf8') const visualizerRoute = fs.readFileSync('app/api/ai/visualizer/route.ts', 'utf8'); const requiredVisualizerMarkers = [ - 'className="px-5 sm:px-8 flex-1 space-y-5"', + 'compact?: boolean', + 'h-full min-h-0', 'min-h-[380px] sm:min-h-[460px]', - 'grid lg:grid-cols-[minmax(0,1.15fr)_minmax(280px,.85fr)]', + 'compact={compact}', + 'lg:grid-cols-[minmax(0,1.15fr)_minmax(280px,.85fr)]', ]; for (const marker of requiredVisualizerMarkers) { @@ -29,6 +31,14 @@ if (!scene.includes('min-h-[360px]')) { throw new Error('Visualizer scene must retain a stable minimum render height.'); } +if (!scene.includes("compact ? 'h-full max-h-full w-full overflow-visible'") || !scene.includes("className={compact ? 'h-full w-full' : 'w-full'}")) { + throw new Error('Visualizer scene must support compact viewport scaling.'); +} + +if (!library.includes('h-[calc(100svh-56px)] overflow-hidden') || !library.includes('compact />')) { + throw new Error('Visualizer library must render the compact visualizer in a viewport-locked shell.'); +} + if (scene.includes('animate={{ y, height') || scene.includes('animate={{ y: y')) { throw new Error('Bar rectangles must not animate SVG y through Framer Motion; it double-applies browser transforms.'); } From c1b489ab209c2f0538268e5a266874ef983d3380 Mon Sep 17 00:00:00 2001 From: sparsh singh Date: Fri, 31 Jul 2026 23:17:31 +0530 Subject: [PATCH 08/11] Clean up battle arena layout --- app/contests/room/[code]/page.tsx | 138 ++++++++++++------------ components/contests/LiveCommentator.tsx | 57 +++++----- 2 files changed, 97 insertions(+), 98 deletions(-) diff --git a/app/contests/room/[code]/page.tsx b/app/contests/room/[code]/page.tsx index 8ef4d85..8eed24a 100644 --- a/app/contests/room/[code]/page.tsx +++ b/app/contests/room/[code]/page.tsx @@ -36,6 +36,7 @@ import { useToast } from '@/components/ui/Toast'; import { useAuth } from '@/context/AuthContext'; import { LiveCommentator } from '@/components/contests/LiveCommentator'; import { JudgeScorecardModal, JudgeReportProps } from '@/components/contests/JudgeScorecardModal'; +import { ProblemMarkdown } from '@/components/ui/ProblemMarkdown'; interface ExecutionResult { verdict?: string; @@ -448,33 +449,33 @@ export default function BattleRoomPage() { const isHost = hostUserId ? hostUserId === currentUserId : Boolean(user?.name && user.name === room.hostName); return ( -
    +
    setIsJudgeModalOpen(false)} report={judgeReport} /> - {/* Top Arena Navigation Bar */} -
    -
    + {/* Compact room command bar */} +
    +
    +
    -
    -
    - - Speed Battle +
    +
    + + Speed Battle -

    {room.name}

    +

    {room.name}

    +
    +

    Host: {room.hostName}

    -

    Host: {room.hostName}

    -
    - {/* Room Code Badge & Copy */} -
    -
    +
    +
    CODE: {roomCode}
    -
    +
    {room.participants.length} / {room.maxPlayers} Friends
    @@ -497,37 +498,17 @@ export default function BattleRoomPage() { )} {room.status !== 'WAITING' && ( -
    +
    {room.status === 'FINISHED' ? 'MATCH OVER' : `${minutes}:${seconds}`}
    )} - - {/* Host Close Room & Participant Leave Buttons */} - - - {isHost && ( - - )} +
    @@ -545,20 +526,20 @@ export default function BattleRoomPage() { )} {/* Main Grid: Left Problem & Editor, Right Live Leaderboard */} -
    +
    {/* Workspace: 3 Columns on Large Screens */} -
    +
    {/* Problem Selector Tabs */} -
    +
    {problems.map((p, idx) => { const isSolved = solvedProblems[p.id]; return ( + + + + + + ) : step === 'email' ? ( +
    + + +
    + ) : ( +
    + + + +
    + )} +
    +
+ ); +} diff --git a/app/mobile/page.tsx b/app/mobile/page.tsx new file mode 100644 index 0000000..0e2c6db --- /dev/null +++ b/app/mobile/page.tsx @@ -0,0 +1,41 @@ +'use client'; + +import { useEffect } from 'react'; +import { useRouter } from 'next/navigation'; +import { Loader2 } from 'lucide-react'; + +export default function MobileAppEntryPage() { + const router = useRouter(); + + useEffect(() => { + let active = true; + + async function routeUser() { + try { + const response = await fetch('/api/auth/me', { + credentials: 'include', + cache: 'no-store', + }); + const data = await response.json().catch(() => null); + if (!active) return; + router.replace(data?.user ? '/mobile/revision' : '/mobile/login'); + } catch { + if (active) router.replace('/mobile/login'); + } + } + + routeUser(); + return () => { + active = false; + }; + }, [router]); + + return ( +
+
+ +

Opening CodeForge Revision...

+
+
+ ); +} diff --git a/app/mobile/profile/page.tsx b/app/mobile/profile/page.tsx new file mode 100644 index 0000000..1be1f7b --- /dev/null +++ b/app/mobile/profile/page.tsx @@ -0,0 +1,171 @@ +'use client'; + +import React, { useEffect, useState } from 'react'; +import Link from 'next/link'; +import { useRouter } from 'next/navigation'; +import { + BookOpenCheck, + ChevronRight, + Loader2, + LogOut, + Mail, + RefreshCw, + ShieldCheck, + User, +} from 'lucide-react'; +import type { RevisionDeckResponse, RevisionDeckStats } from '@/lib/types'; + +interface MobileUser { + id: string; + name: string; + email: string; + role: string; + createdAt?: string; +} + +const EMPTY_STATS: RevisionDeckStats = { + totalCards: 0, + dueTodayCount: 0, + masteredCount: 0, + learnedMistakeCount: 0, + nextDueDate: null, +}; + +function formatDate(value?: string) { + if (!value) return 'CodeForge learner'; + return `Joined ${new Intl.DateTimeFormat(undefined, { month: 'short', year: 'numeric' }).format(new Date(value))}`; +} + +export default function MobileProfilePage() { + const router = useRouter(); + const [user, setUser] = useState(null); + const [stats, setStats] = useState(EMPTY_STATS); + const [loading, setLoading] = useState(true); + const [refreshing, setRefreshing] = useState(false); + + const loadProfile = async () => { + setRefreshing(true); + try { + const meResponse = await fetch('/api/auth/me', { + credentials: 'include', + cache: 'no-store', + }); + const meData = await meResponse.json().catch(() => null); + if (!meData?.user) { + router.replace('/mobile/login'); + return; + } + + setUser(meData.user); + const deckResponse = await fetch('/api/revision', { + credentials: 'include', + cache: 'no-store', + }); + const deckData = (await deckResponse.json().catch(() => null)) as RevisionDeckResponse | null; + setStats(deckData?.stats || EMPTY_STATS); + } finally { + setLoading(false); + setRefreshing(false); + } + }; + + useEffect(() => { + loadProfile(); + // eslint-disable-next-line react-hooks/exhaustive-deps + }, []); + + const logout = async () => { + await fetch('/api/auth/logout', { + method: 'POST', + credentials: 'include', + }).catch(() => undefined); + router.replace('/mobile/login'); + }; + + if (loading) { + return ( +
+
+ +

Loading your profile...

+
+
+ ); + } + + return ( +
+
+
+ + + +
+

CodeForge App

+

Profile

+
+ +
+ +
+
+ +
+

{user?.name || 'Coder'}

+

+ {user?.email} +

+

+ {formatDate(user?.createdAt)} +

+
+ +
+
+

Total Deck

+

{stats.totalCards}

+
+
+

Due Today

+

{stats.dueTodayCount}

+
+
+

Mastered

+

{stats.masteredCount}

+
+
+

Mistakes

+

{stats.learnedMistakeCount}

+
+
+ +
+ + Open Revision Deck + + +
+
+
+ ); +} diff --git a/app/mobile/revision/page.tsx b/app/mobile/revision/page.tsx index b649d2b..df2cc57 100644 --- a/app/mobile/revision/page.tsx +++ b/app/mobile/revision/page.tsx @@ -4,7 +4,6 @@ import React, { useCallback, useEffect, useState } from 'react'; import Link from 'next/link'; import { AlertCircle, - ArrowLeft, BookOpenCheck, CalendarClock, CheckCircle2, @@ -12,6 +11,7 @@ import { Loader2, RefreshCw, RotateCw, + User, } from 'lucide-react'; import { DifficultyBadge } from '@/components/ui/DifficultyBadge'; import type { RevisionCardDTO, RevisionDeckResponse, RevisionDeckStats } from '@/lib/types'; @@ -172,11 +172,11 @@ export default function MobileRevisionPage() {
- +

CodeForge

@@ -216,7 +216,7 @@ export default function MobileRevisionPage() {

{error}

- + Sign in
@@ -330,10 +330,10 @@ export default function MobileRevisionPage() {

- Practice Problems + Open Profile
-
$ visualizer --catalog=75
-

Watch the algorithm think_

-

Interactive visual lessons for every mapped problem. Choose a pattern, step through its state, and inspect the invariant.

+
$ visualizer --catalog=75
+

Watch the algorithm think_

-
+
{entries.length || 75} verified lessons
{selected && ( diff --git a/capacitor.config.ts b/capacitor.config.ts index 5107ced..56aa208 100644 --- a/capacitor.config.ts +++ b/capacitor.config.ts @@ -1,6 +1,6 @@ import type { CapacitorConfig } from '@capacitor/cli'; -const serverUrl = process.env.CAPACITOR_SERVER_URL || 'http://10.0.2.2:3000/mobile/revision'; +const serverUrl = process.env.CAPACITOR_SERVER_URL || 'http://10.0.2.2:3000/mobile'; const config: CapacitorConfig = { appId: 'com.codeforge.revision', diff --git a/components/editor/EditorWorkspace.tsx b/components/editor/EditorWorkspace.tsx index 022b748..1e0fec1 100644 --- a/components/editor/EditorWorkspace.tsx +++ b/components/editor/EditorWorkspace.tsx @@ -75,6 +75,7 @@ export const EditorWorkspace: React.FC = ({ const [isReviewModalOpen, setIsReviewModalOpen] = useState(false); const [isTutorOpen, setIsTutorOpen] = useState(false); const [bottomPanelHeight, setBottomPanelHeight] = useState(256); + const [tutorWidth, setTutorWidth] = useState(400); const codeRef = useRef(''); const appliedTemplateRef = useRef<{ language: string; code: string } | null>(null); const workspaceRef = useRef(null); @@ -277,6 +278,43 @@ export const EditorWorkspace: React.FC = ({ setBottomPanelHeight((current) => Math.min(maxHeight, Math.max(140, current + direction * 16))); }; + const handleTutorResizeStart = (event: React.PointerEvent) => { + if (!workspaceRef.current) return; + + event.currentTarget.setPointerCapture(event.pointerId); + document.body.style.cursor = 'col-resize'; + document.body.style.userSelect = 'none'; + + const handlePointerMove = (moveEvent: PointerEvent) => { + if (!workspaceRef.current) return; + const rect = workspaceRef.current.getBoundingClientRect(); + const nextWidth = rect.right - moveEvent.clientX; + const maxWidth = Math.max(250, rect.width - 300); // 300px min for editor + setTutorWidth(Math.min(maxWidth, Math.max(250, nextWidth))); + }; + + const stopResize = () => { + document.body.style.cursor = ''; + document.body.style.userSelect = ''; + window.removeEventListener('pointermove', handlePointerMove); + window.removeEventListener('pointerup', stopResize); + window.removeEventListener('pointercancel', stopResize); + }; + + window.addEventListener('pointermove', handlePointerMove); + window.addEventListener('pointerup', stopResize); + window.addEventListener('pointercancel', stopResize); + }; + + const handleTutorResizeKeyDown = (event: React.KeyboardEvent) => { + if (!workspaceRef.current || (event.key !== 'ArrowLeft' && event.key !== 'ArrowRight')) return; + + event.preventDefault(); + const maxWidth = Math.max(250, workspaceRef.current.getBoundingClientRect().width - 300); + const direction = event.key === 'ArrowRight' ? -1 : 1; + setTutorWidth((current) => Math.min(maxWidth, Math.max(250, current + direction * 16))); + }; + return (
{/* Top Bar / Toolbar */} @@ -363,6 +401,17 @@ export const EditorWorkspace: React.FC = ({ onSubmit={handleSubmitCode} />
+ {isTutorOpen && ( +
+ )} = ({ userCode={code} language={selectedLanguage} isOpen={isTutorOpen} + width={tutorWidth} onToggle={() => setIsTutorOpen((current) => !current)} />
diff --git a/components/guidance/TutorDrawer.tsx b/components/guidance/TutorDrawer.tsx index bb78d9a..46c84f6 100644 --- a/components/guidance/TutorDrawer.tsx +++ b/components/guidance/TutorDrawer.tsx @@ -19,6 +19,7 @@ interface TutorDrawerProps { problemStatement?: string; userCode: string; language: string; + width?: number; } const QUICK_PROMPTS = [ @@ -59,6 +60,7 @@ export const TutorDrawer: React.FC = ({ problemStatement = '', userCode, language, + width, }) => { const [messages, setMessages] = useState([]); const [input, setInput] = useState(''); @@ -161,11 +163,12 @@ export const TutorDrawer: React.FC = ({ {/* Drawer Overlay Panel */} {isOpen && (
{/* Header */}
diff --git a/components/problems/ProblemVisualizer.tsx b/components/problems/ProblemVisualizer.tsx index e14f2d3..8ae4d12 100644 --- a/components/problems/ProblemVisualizer.tsx +++ b/components/problems/ProblemVisualizer.tsx @@ -657,11 +657,11 @@ export const ProblemVisualizer: React.FC = ({ problemId,
-
+
{mode}
-

{problemTitle}

-
{patternNames[pattern] || 'Algorithm'} {isVerified ? 'verified' : 'live'}
+

{problemTitle}

+
{patternNames[pattern] || 'Algorithm'} {isVerified ? 'verified' : 'live'}
@@ -669,9 +669,9 @@ export const ProblemVisualizer: React.FC = ({ problemId,
-
{patternNames[pattern] || 'Algorithm'} walkstep {boundedStep + 1} / {frames.length}
+
{patternNames[pattern] || 'Algorithm'} walkstep {boundedStep + 1} / {frames.length}
-
+
{frames.map((item, index) => { const phase = stateValue(item, 'phase') || `Step ${index + 1}`; @@ -696,7 +696,7 @@ export const ProblemVisualizer: React.FC = ({ problemId,
-
+
@@ -722,8 +722,8 @@ export const ProblemVisualizer: React.FC = ({ problemId,
-
-
+
+
@@ -740,7 +740,7 @@ export const ProblemVisualizer: React.FC = ({ problemId, animate={{ opacity: 1, y: 0 }} exit={{ opacity: 0, y: -3 }} transition={{ duration: 0.18, ease: 'easeOut' }} - className={`${compact ? 'line-clamp-2 text-xs' : 'text-sm'} font-sans leading-relaxed text-slate-200`} + className={`${compact ? 'line-clamp-1 text-xs' : 'text-sm'} font-sans leading-relaxed text-slate-200`} > {current.commentary} @@ -754,7 +754,7 @@ export const ProblemVisualizer: React.FC = ({ problemId,
-
+
diff --git a/docs/cpp-solutions-visible-problems.md b/docs/cpp-solutions-visible-problems.md new file mode 100644 index 0000000..12309b7 --- /dev/null +++ b/docs/cpp-solutions-visible-problems.md @@ -0,0 +1,538 @@ +# C++ Solutions for Visible Problems + +These are copy-ready LeetCode-style C++ solutions for the problems visible in the screenshot. For tree problems, LeetCode supplies the `TreeNode` definition. + +## Longest Increasing Subsequence + +```cpp +#include +using namespace std; + +class Solution { +public: + int lengthOfLIS(vector& nums) { + vector tails; + for (int x : nums) { + auto it = lower_bound(tails.begin(), tails.end(), x); + if (it == tails.end()) tails.push_back(x); + else *it = x; + } + return (int)tails.size(); + } +}; +``` + +## Number of Islands + +```cpp +#include +using namespace std; + +class Solution { +public: + int numIslands(vector>& grid) { + int m = grid.size(), n = grid[0].size(), ans = 0; + vector dirs = {1, 0, -1, 0, 1}; + + function dfs = [&](int r, int c) { + if (r < 0 || c < 0 || r >= m || c >= n || grid[r][c] != '1') return; + grid[r][c] = '0'; + for (int i = 0; i < 4; ++i) dfs(r + dirs[i], c + dirs[i + 1]); + }; + + for (int r = 0; r < m; ++r) { + for (int c = 0; c < n; ++c) { + if (grid[r][c] == '1') { + ++ans; + dfs(r, c); + } + } + } + return ans; + } +}; +``` + +## Same Tree + +```cpp +#include +using namespace std; + +class Solution { +public: + bool isSameTree(TreeNode* p, TreeNode* q) { + if (!p || !q) return p == q; + return p->val == q->val + && isSameTree(p->left, q->left) + && isSameTree(p->right, q->right); + } +}; +``` + +## Network Delay Time + +```cpp +#include +using namespace std; + +class Solution { +public: + int networkDelayTime(vector>& times, int n, int k) { + vector>> graph(n + 1); + for (auto& e : times) graph[e[0]].push_back({e[1], e[2]}); + + const int INF = 1e9; + vector dist(n + 1, INF); + priority_queue, vector>, greater>> pq; + dist[k] = 0; + pq.push({0, k}); + + while (!pq.empty()) { + auto [d, u] = pq.top(); + pq.pop(); + if (d != dist[u]) continue; + + for (auto [v, w] : graph[u]) { + if (d + w < dist[v]) { + dist[v] = d + w; + pq.push({dist[v], v}); + } + } + } + + int ans = 0; + for (int i = 1; i <= n; ++i) { + if (dist[i] == INF) return -1; + ans = max(ans, dist[i]); + } + return ans; + } +}; +``` + +## Daily Temperatures + +```cpp +#include +using namespace std; + +class Solution { +public: + vector dailyTemperatures(vector& temperatures) { + int n = temperatures.size(); + vector ans(n), st; + for (int i = 0; i < n; ++i) { + while (!st.empty() && temperatures[i] > temperatures[st.back()]) { + ans[st.back()] = i - st.back(); + st.pop_back(); + } + st.push_back(i); + } + return ans; + } +}; +``` + +## Flood Fill + +```cpp +#include +using namespace std; + +class Solution { +public: + vector> floodFill(vector>& image, int sr, int sc, int color) { + int old = image[sr][sc]; + if (old == color) return image; + + int m = image.size(), n = image[0].size(); + vector dirs = {1, 0, -1, 0, 1}; + + function dfs = [&](int r, int c) { + if (r < 0 || c < 0 || r >= m || c >= n || image[r][c] != old) return; + image[r][c] = color; + for (int i = 0; i < 4; ++i) dfs(r + dirs[i], c + dirs[i + 1]); + }; + + dfs(sr, sc); + return image; + } +}; +``` + +## Binary Search + +```cpp +#include +using namespace std; + +class Solution { +public: + int search(vector& nums, int target) { + int lo = 0, hi = (int)nums.size() - 1; + while (lo <= hi) { + int mid = lo + (hi - lo) / 2; + if (nums[mid] == target) return mid; + if (nums[mid] < target) lo = mid + 1; + else hi = mid - 1; + } + return -1; + } +}; +``` + +## Longest Univalue Path + +```cpp +#include +using namespace std; + +class Solution { + int best = 0; + + int dfs(TreeNode* node) { + if (!node) return 0; + int left = dfs(node->left); + int right = dfs(node->right); + int leftPath = node->left && node->left->val == node->val ? left + 1 : 0; + int rightPath = node->right && node->right->val == node->val ? right + 1 : 0; + best = max(best, leftPath + rightPath); + return max(leftPath, rightPath); + } + +public: + int longestUnivaluePath(TreeNode* root) { + dfs(root); + return best; + } +}; +``` + +## Redundant Connection + +```cpp +#include +using namespace std; + +class Solution { + vector parent, rankv; + + int find(int x) { + if (parent[x] != x) parent[x] = find(parent[x]); + return parent[x]; + } + + bool unite(int a, int b) { + int ra = find(a), rb = find(b); + if (ra == rb) return false; + if (rankv[ra] < rankv[rb]) swap(ra, rb); + parent[rb] = ra; + if (rankv[ra] == rankv[rb]) ++rankv[ra]; + return true; + } + +public: + vector findRedundantConnection(vector>& edges) { + int n = edges.size(); + parent.resize(n + 1); + rankv.assign(n + 1, 0); + iota(parent.begin(), parent.end(), 0); + + for (auto& e : edges) { + if (!unite(e[0], e[1])) return e; + } + return {}; + } +}; +``` + +## Find K Closest Elements + +```cpp +#include +using namespace std; + +class Solution { +public: + vector findClosestElements(vector& arr, int k, int x) { + int lo = 0, hi = arr.size() - k; + while (lo < hi) { + int mid = lo + (hi - lo) / 2; + if (x - arr[mid] > arr[mid + k] - x) lo = mid + 1; + else hi = mid; + } + return vector(arr.begin() + lo, arr.begin() + lo + k); + } +}; +``` + +## Task Scheduler + +```cpp +#include +using namespace std; + +class Solution { +public: + int leastInterval(vector& tasks, int n) { + vector freq(26); + for (char task : tasks) ++freq[task - 'A']; + + int mx = *max_element(freq.begin(), freq.end()); + int cntMax = count(freq.begin(), freq.end(), mx); + int frame = (mx - 1) * (n + 1) + cntMax; + return max((int)tasks.size(), frame); + } +}; +``` + +## Valid Triangle Number + +```cpp +#include +using namespace std; + +class Solution { +public: + int triangleNumber(vector& nums) { + sort(nums.begin(), nums.end()); + int n = nums.size(), ans = 0; + for (int k = n - 1; k >= 2; --k) { + int i = 0, j = k - 1; + while (i < j) { + if (nums[i] + nums[j] > nums[k]) { + ans += j - i; + --j; + } else { + ++i; + } + } + } + return ans; + } +}; +``` + +## Permutation in String + +```cpp +#include +using namespace std; + +class Solution { +public: + bool checkInclusion(string s1, string s2) { + if (s1.size() > s2.size()) return false; + + vector need(26), window(26); + for (char c : s1) ++need[c - 'a']; + + int k = s1.size(); + for (int i = 0; i < (int)s2.size(); ++i) { + ++window[s2[i] - 'a']; + if (i >= k) --window[s2[i - k] - 'a']; + if (window == need) return true; + } + return false; + } +}; +``` + +## Subarray Sum Equals K + +```cpp +#include +using namespace std; + +class Solution { +public: + int subarraySum(vector& nums, int k) { + unordered_map seen; + seen[0] = 1; + + int sum = 0, ans = 0; + for (int x : nums) { + sum += x; + if (seen.count(sum - k)) ans += seen[sum - k]; + ++seen[sum]; + } + return ans; + } +}; +``` + +## 01 Matrix + +```cpp +#include +using namespace std; + +class Solution { +public: + vector> updateMatrix(vector>& mat) { + int m = mat.size(), n = mat[0].size(); + vector> dist(m, vector(n, -1)); + queue> q; + + for (int r = 0; r < m; ++r) { + for (int c = 0; c < n; ++c) { + if (mat[r][c] == 0) { + dist[r][c] = 0; + q.push({r, c}); + } + } + } + + vector dirs = {1, 0, -1, 0, 1}; + while (!q.empty()) { + auto [r, c] = q.front(); + q.pop(); + + for (int i = 0; i < 4; ++i) { + int nr = r + dirs[i], nc = c + dirs[i + 1]; + if (nr < 0 || nc < 0 || nr >= m || nc >= n || dist[nr][nc] != -1) continue; + dist[nr][nc] = dist[r][c] + 1; + q.push({nr, nc}); + } + } + return dist; + } +}; +``` + +## Non-overlapping Intervals + +```cpp +#include +using namespace std; + +class Solution { +public: + int eraseOverlapIntervals(vector>& intervals) { + sort(intervals.begin(), intervals.end(), [](const auto& a, const auto& b) { + return a[1] < b[1]; + }); + + int removed = 0, end = intervals[0][1]; + for (int i = 1; i < (int)intervals.size(); ++i) { + if (intervals[i][0] < end) { + ++removed; + } else { + end = intervals[i][1]; + } + } + return removed; + } +}; +``` + +## Split Array Largest Sum + +```cpp +#include +using namespace std; + +class Solution { +public: + int splitArray(vector& nums, int k) { + long long lo = *max_element(nums.begin(), nums.end()); + long long hi = accumulate(nums.begin(), nums.end(), 0LL); + + auto can = [&](long long limit) { + int parts = 1; + long long cur = 0; + for (int x : nums) { + if (cur + x > limit) { + ++parts; + cur = 0; + } + cur += x; + } + return parts <= k; + }; + + while (lo < hi) { + long long mid = lo + (hi - lo) / 2; + if (can(mid)) hi = mid; + else lo = mid + 1; + } + return (int)lo; + } +}; +``` + +## Decode String + +```cpp +#include +using namespace std; + +class Solution { +public: + string decodeString(string s) { + stack counts; + stack prev; + string cur; + int num = 0; + + for (char ch : s) { + if (isdigit(ch)) { + num = num * 10 + (ch - '0'); + } else if (ch == '[') { + counts.push(num); + prev.push(cur); + num = 0; + cur.clear(); + } else if (ch == ']') { + int repeat = counts.top(); + counts.pop(); + string base = prev.top(); + prev.pop(); + while (repeat--) base += cur; + cur = base; + } else { + cur += ch; + } + } + return cur; + } +}; +``` + +## Sum of Two Integers + +```cpp +#include +using namespace std; + +class Solution { +public: + int getSum(int a, int b) { + while (b != 0) { + unsigned carry = ((unsigned)a & (unsigned)b) << 1; + a = a ^ b; + b = (int)carry; + } + return a; + } +}; +``` + +## Counting Bits + +```cpp +#include +using namespace std; + +class Solution { +public: + vector countBits(int n) { + vector ans(n + 1); + for (int i = 1; i <= n; ++i) { + ans[i] = ans[i >> 1] + (i & 1); + } + return ans; + } +}; +``` diff --git a/lib/email.ts b/lib/email.ts index 01b479e..1409c64 100644 --- a/lib/email.ts +++ b/lib/email.ts @@ -12,6 +12,23 @@ export interface SendVerificationEmailResult { devCode?: string; } +const RESEND_DEFAULT_FROM = 'CodeForge '; +const RESEND_FROM_PLACEHOLDER = 'CodeForge '; + +export function hasConfiguredEmailSender(): boolean { + const fromAddress = process.env.RESEND_FROM_EMAIL || RESEND_DEFAULT_FROM; + return ( + Boolean(process.env.RESEND_FROM_EMAIL) && + fromAddress !== RESEND_DEFAULT_FROM && + fromAddress !== RESEND_FROM_PLACEHOLDER && + !fromAddress.includes('yourdomain.com') + ); +} + +export function hasConfiguredEmailVerification(): boolean { + return Boolean(process.env.RESEND_API_KEY?.trim()) && hasConfiguredEmailSender(); +} + function escapeHtml(value: string): string { return value.replace(/[&<>"']/g, (character) => { const entities: Record = { @@ -34,8 +51,9 @@ export async function sendVerificationEmail( const { email, code, purpose, name } = options; const safeName = name ? escapeHtml(name) : ''; const resendApiKey = process.env.RESEND_API_KEY || ''; - const fromAddress = process.env.RESEND_FROM_EMAIL || 'CodeForge '; + const fromAddress = process.env.RESEND_FROM_EMAIL || RESEND_DEFAULT_FROM; const isProduction = process.env.NODE_ENV === 'production'; + const hasConfiguredSender = hasConfiguredEmailSender(); let subject = `${code} is your CodeForge Verification Code`; let purposeDescription = 'verification'; @@ -81,6 +99,14 @@ export async function sendVerificationEmail(
`; + if (isProduction && !resendApiKey) { + return { success: false, error: 'Email verification is not configured yet. Missing RESEND_API_KEY.' }; + } + + if (isProduction && !hasConfiguredSender) { + return { success: false, error: 'Email verification is not configured yet. Set RESEND_FROM_EMAIL to a verified sender.' }; + } + if (resendApiKey) { try { const response = await fetch('https://api.resend.com/emails', { @@ -95,6 +121,7 @@ export async function sendVerificationEmail( to: [email], subject, html: htmlContent, + text: `Your CodeForge ${purposeDescription} verification code is ${code}. This code expires in 10 minutes.`, }), }); diff --git a/package.json b/package.json index 1cea535..7132a58 100644 --- a/package.json +++ b/package.json @@ -6,6 +6,7 @@ "dev": "next dev", "build": "prisma generate && next build", "start": "next start", + "verify:email": "tsx scripts/verify-email-config.ts", "android:add": "cap add android", "android:sync": "cap sync android", "android:build:debug": "bash scripts/android/build-debug-apk.sh", From c4cefd239426c4db749fa3bd926b271c41881c57 Mon Sep 17 00:00:00 2001 From: sparsh singh Date: Sat, 1 Aug 2026 06:46:38 +0530 Subject: [PATCH 10/11] feat(animations): implement smooth spring physics for algorithms --- components/problems/VisualizerScene.tsx | 103 ++++++++++++++---------- 1 file changed, 60 insertions(+), 43 deletions(-) diff --git a/components/problems/VisualizerScene.tsx b/components/problems/VisualizerScene.tsx index 2334f2b..6358e89 100644 --- a/components/problems/VisualizerScene.tsx +++ b/components/problems/VisualizerScene.tsx @@ -1,7 +1,7 @@ 'use client'; import React from 'react'; -import { motion } from 'framer-motion'; +import { motion, AnimatePresence } from 'framer-motion'; export interface VisualizerSceneFrame { visualType: 'array' | 'matrix' | 'stack' | 'nodes' | 'graph' | 'bars' | 'bits'; @@ -67,6 +67,20 @@ const amber = SCENE_THEME.visited.stroke; const ease = [0.22, 1, 0.36, 1] as const; const cellTransition = { duration: 0.42, ease }; +const springs = { + array: { type: 'spring', stiffness: 300, damping: 25, mass: 0.8 }, + pointers: { type: 'spring', stiffness: 220, damping: 20, mass: 0.6 }, + matrix: { type: 'spring', stiffness: 260, damping: 22, mass: 0.7 }, + pulse: { type: 'spring', stiffness: 380, damping: 24, mass: 0.5 }, + stackPush: { type: 'spring', stiffness: 420, damping: 26, mass: 0.9 }, + stackPop: { type: 'spring', stiffness: 320, damping: 28 }, + nodes: { type: 'spring', stiffness: 210, damping: 21, mass: 0.85 }, + edge: { duration: 0.35, ease: [0.34, 1.56, 0.64, 1] }, + bars: { type: 'spring', stiffness: 280, damping: 24, mass: 0.7 }, + bitsFlip: { type: 'spring', stiffness: 480, damping: 26, mass: 0.4 }, + bitsShift: { type: 'spring', stiffness: 240, damping: 22, mass: 0.6 }, +}; + function SceneFrame({ children, markerIds, compact = false }: { children: React.ReactNode; markerIds?: MarkerIds; compact?: boolean }) { return ( - - - {value} - + + + + {value} + ); })} @@ -125,7 +139,7 @@ function ArrayScene({ frame, compact }: SceneProps) { const x = startX + index * cellWidth + cellWidth / 2; const color = pointerIndex % 2 === 0 ? SCENE_THEME.active.stroke : SCENE_THEME.visited.stroke; return ( - + {name} @@ -154,10 +168,10 @@ function MatrixScene({ frame, compact }: SceneProps) { const isActive = active.has(index); const boxSize = size - 6; return ( - - - - 40 ? 18 : 14} fontWeight="900" fontFamily="sans-serif">{value} + + + + 40 ? 18 : 14} fontWeight="900" fontFamily="sans-serif">{value} ); }))} @@ -173,17 +187,19 @@ function StackScene({ frame, compact }: SceneProps) { - {stack.map((value, index) => { - const y = 226 - index * 48; - const isActive = index === stack.length - 1; - return ( - - - - {value} - - ); - })} + + {stack.map((value, index) => { + const y = 226 - index * 48; + const isActive = index === stack.length - 1; + return ( + + + + {value} + + ); + })} + {stack.length > 0 && } @@ -201,15 +217,15 @@ function NodeScene({ frame, markerIds, compact }: SceneProps) { return ( - {nodes.slice(0, -1).map((_, index) => )} + {nodes.slice(0, -1).map((_, index) => )} {nodes.map((node, index) => { const x = startX + index * gap; const isActive = active.has(index); return ( - - - - 5 ? 12 : 18} fontWeight="900" fontFamily="sans-serif">{node} + + + + 5 ? 12 : 18} fontWeight="900" fontFamily="sans-serif">{node} ); })} @@ -245,16 +261,16 @@ function GraphScene({ frame, markerIds, compact }: SceneProps) { const [x1, y1] = positions[from] || positions[0]; const [x2, y2] = positions[to] || positions[0]; const edgeActive = active.has(from) && (active.has(to) || index < active.size); - return ; + return ; })} {nodes.map((node, index) => { const [x, y] = positions[index]; const isActive = active.has(index); return ( - - - - {node} + + + + {node} ); })} @@ -292,11 +308,11 @@ function BarsScene({ frame, compact }: SceneProps) { const labelSize = String(value).length > 3 ? 10 : 12; const valueLabelY = value < 0 ? y + height + 14 : Math.max(34, y - 8); return ( - - - - {value} - {index} + + + + {value} + {index} ); })} @@ -321,12 +337,13 @@ function BitsScene({ frame, compact }: SceneProps) { {bits.split('').map((bit, index) => { const x = startX + index * cellWidth + 4; const isActive = bit === '1' || active.has(index); + const shouldFlip = bit === '1'; return ( - - - - {bit} - + + + + {bit} + ); })} @@ -336,7 +353,7 @@ function BitsScene({ frame, compact }: SceneProps) { } export function VisualizerScene({ frame, step, compact }: SceneProps) { - const key = `${frame.visualType}-${step}`; + const key = `${frame.visualType}`; const reactId = React.useId().replace(/[^a-zA-Z0-9_-]/g, ''); const markerIds = { arrow: `scene-arrow-${reactId}`, activeArrow: `scene-arrow-active-${reactId}` }; return ( From 5d51fe63bb9c385c787b3b8c479627d9c6fa0812 Mon Sep 17 00:00:00 2001 From: sparsh singh Date: Sat, 1 Aug 2026 14:36:10 +0530 Subject: [PATCH 11/11] Refine navbar profile navigation --- app/globals.css | 110 +++++++++++++++ components/navbar/Navbar.tsx | 260 ++++++++++++++++++++++------------- 2 files changed, 274 insertions(+), 96 deletions(-) diff --git a/app/globals.css b/app/globals.css index 54b703c..763e754 100644 --- a/app/globals.css +++ b/app/globals.css @@ -164,6 +164,116 @@ body, @layer components { .surface-panel { background: #101114; border: 1px solid var(--line); border-radius: 10px; } .eyebrow { color: #a8a29e; font-family: var(--font-mono); font-size: 0.68rem; letter-spacing: 0.08em; text-transform: uppercase; } + + .liquid-navbar { + isolation: isolate; + border-bottom: 1px solid rgba(255, 255, 255, 0.08); + background: rgba(8, 8, 10, 0.98); + box-shadow: 0 10px 22px rgba(0, 0, 0, 0.2); + } + + .liquid-brand, + .liquid-profile, + .liquid-nav-link, + .liquid-action-button, + .liquid-primary-button, + .liquid-icon-button, + .liquid-mobile-link { + position: relative; + z-index: 0; + border: 1px solid rgba(255, 255, 255, 0.08); + border-radius: 8px; + background: #111115; + box-shadow: none; + } + + .liquid-brand { + padding: 0.35rem 0.7rem 0.35rem 0.4rem; + border-color: rgba(103, 232, 249, 0.2); + background: #101114; + } + + .liquid-brand-mark { + display: grid; + height: 1.9rem; + width: 1.9rem; + place-items: center; + border-radius: 7px; + color: #071012; + background: #a5f3fc; + } + + .liquid-brand-caret { + color: #a5f3fc; + } + + .liquid-nav-link { + border-color: transparent; + background: transparent; + color: rgba(213, 231, 235, 0.76); + } + + .liquid-nav-link:hover, + .liquid-mobile-link:hover, + .liquid-action-button:hover, + .liquid-icon-button:hover { + border-color: rgba(255, 255, 255, 0.14); + background: #17171b; + } + + .liquid-nav-link-active, + .liquid-mobile-link-active { + border-color: rgba(103, 232, 249, 0.28); + background: rgba(103, 232, 249, 0.1); + color: #ecfeff; + } + + .liquid-profile { + border-color: rgba(255, 255, 255, 0.1); + background: #111115; + } + + .liquid-action-button, + .liquid-primary-button { + border-radius: 8px; + } + + .liquid-primary-button { + border-color: #a5f3fc; + background: #a5f3fc; + } + + .liquid-primary-button:hover { + filter: brightness(1.06); + } + + .liquid-icon-button { + display: inline-grid; + min-height: 2rem; + min-width: 2rem; + place-items: center; + color: #d9fbff; + transition: border-color 160ms ease, background 160ms ease, color 160ms ease; + } + + .liquid-mobile-menu { + border-bottom: 1px solid rgba(255, 255, 255, 0.08); + background: #08080a; + box-shadow: 0 18px 34px rgba(0, 0, 0, 0.38); + } + + .liquid-mobile-link { + border-color: rgba(255, 255, 255, 0.08); + background: #111115; + } + + .profile-menu { + font-family: var(--font-sans); + } + + .profile-menu-link { + letter-spacing: 0; + } } /* Custom scrollbar */ diff --git a/components/navbar/Navbar.tsx b/components/navbar/Navbar.tsx index 36dc705..4f5ed05 100644 --- a/components/navbar/Navbar.tsx +++ b/components/navbar/Navbar.tsx @@ -7,45 +7,67 @@ import { usePathname } from 'next/navigation'; import { motion, AnimatePresence } from 'framer-motion'; import { useAuth } from '@/context/AuthContext'; import { - Code2, - Trophy, - Building2, + BarChart3, Bot, - BarChart2, - Menu, - X, - Code, + Brain, + Building2, + ChevronDown, + Code2, Github, + LayoutDashboard, LogIn, - UserPlus, LogOut, - Brain, Sparkles, + Trophy, + UserPlus, + Menu, + X, } from 'lucide-react'; export const Navbar: React.FC = () => { const pathname = usePathname(); const { user, logout } = useAuth(); const [isMobileMenuOpen, setIsMobileMenuOpen] = useState(false); + const [isProfileMenuOpen, setIsProfileMenuOpen] = useState(false); const menuButtonRef = useRef(null); + const profileMenuRef = useRef(null); + const githubUrl = 'https://github.com/sparsh101sparsh/hackathon2'; useEffect(() => { setIsMobileMenuOpen(false); + setIsProfileMenuOpen(false); }, [pathname]); useEffect(() => { - if (!isMobileMenuOpen) return; + if (!isMobileMenuOpen && !isProfileMenuOpen) return; const handleKeyDown = (event: KeyboardEvent) => { if (event.key === 'Escape') { setIsMobileMenuOpen(false); + setIsProfileMenuOpen(false); menuButtonRef.current?.focus(); } }; document.addEventListener('keydown', handleKeyDown); return () => document.removeEventListener('keydown', handleKeyDown); - }, [isMobileMenuOpen]); + }, [isMobileMenuOpen, isProfileMenuOpen]); + + useEffect(() => { + if (!isProfileMenuOpen) return; + + const handlePointerDown = (event: PointerEvent) => { + if ( + profileMenuRef.current && + !profileMenuRef.current.contains(event.target as Node) + ) { + setIsProfileMenuOpen(false); + } + }; + + document.addEventListener('pointerdown', handlePointerDown); + return () => document.removeEventListener('pointerdown', handlePointerDown); + }, [isProfileMenuOpen]); // Hide main navbar inside problem detail view if it uses full screen workspace layout if (pathname.startsWith('/problems/') && pathname !== '/problems') { @@ -53,41 +75,45 @@ export const Navbar: React.FC = () => { } const navLinks = [ - { label: 'Problems', href: '/problems', icon: }, - { label: 'Visualizer', href: '/visualizer', icon: }, - { label: 'Revision Deck', href: '/revision', icon: }, - { label: 'AI Mock Interview', href: '/mock-interview', icon: }, - { label: 'Company Prep', href: '/company', icon: }, - { label: 'Contests', href: '/contests', icon: }, - { label: 'Leaderboard', href: '/leaderboard', icon: }, + { label: 'Problems', href: '/problems', icon: