fix build

This commit is contained in:
2025-05-31 16:07:12 +02:00
parent b6dd96cbad
commit 091a2123bb
21 changed files with 1034 additions and 191 deletions

View File

@ -1,8 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!-- AndroidTV support -->
<uses-feature android:name="android.software.leanback" android:required="false" />

View File

@ -1,13 +1,3 @@
package space.haex.hub
import android.webkit.WebView
import android.os.Bundle
import android.content.pm.ApplicationInfo
class MainActivity : TauriActivity(){
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
if (0!= (applicationInfo.flags and ApplicationInfo.FLAG_DEBUGGABLE)) {
WebView.setWebContentsDebuggingEnabled(true)
}
}
}
class MainActivity : TauriActivity()

View File

@ -4,7 +4,7 @@ buildscript {
mavenCentral()
}
dependencies {
classpath("com.android.tools.build:gradle:8.10.0")
classpath("com.android.tools.build:gradle:8.5.1")
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.25")
}
}

View File

@ -18,6 +18,6 @@ repositories {
dependencies {
compileOnly(gradleApi())
implementation("com.android.tools.build:gradle:8.10.0")
implementation("com.android.tools.build:gradle:8.5.1")
}

View File

@ -1,6 +1,6 @@
#Tue May 10 19:22:52 CST 2022
distributionBase=GRADLE_USER_HOME
distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip
distributionPath=wrapper/dists
zipStorePath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME

View File

@ -33,7 +33,7 @@ pub async fn sql_execute(
/// Erstellt eine verschlüsselte Datenbank
#[tauri::command]
pub fn create_encrypted_database_old(
pub fn create_encrypted_database(
app_handle: AppHandle,
path: String,
key: String,
@ -41,9 +41,15 @@ pub fn create_encrypted_database_old(
) -> Result<String, String> {
// Ressourcenpfad zur eingebundenen Datenbank auflösen
println!("Arbeitsverzeichnis: {:?}", std::env::current_dir());
println!(
"Ressourcenverzeichnis: {:?}",
app_handle.path().resource_dir()
);
let resource_path = app_handle
.path()
.resolve("vault.db", BaseDirectory::Resource)
.resolve("database/vault.db", BaseDirectory::Resource)
.map_err(|e| format!("Fehler beim Auflösen des Ressourcenpfads: {}", e))?;
// Prüfen, ob die Ressourcendatei existiert
@ -227,9 +233,10 @@ pub fn open_encrypted_database(
return Err("Datenbankdatei nicht gefunden".into());
}
let conn = core::open_and_init_db(&path, &key, false)?;
let conn = core::open_and_init_db(&path, &key, false)
.map_err(|e| format!("Fehler beim öffnen: {}", e));
let mut db = state.0.lock().map_err(|e| e.to_string())?;
*db = Some(conn);
*db = Some(conn.unwrap());
Ok(format!("success"))
}
@ -260,7 +267,7 @@ fn prepare_temporary_asset_db(
//.resolve("vault.db", BaseDirectory::Resource)
let asset_bytes = app_handle
.asset_resolver()
.get(asset_name.to_string())
.get(asset_name.to_owned())
.ok_or_else(|| format!("Asset '{}' wurde nicht im Bundle gefunden.", asset_name))?
.bytes()
.to_vec();
@ -493,7 +500,7 @@ fn open_and_verify_encrypted_db(db_path: &Path, key: &str) -> Result<Connection,
/// Hauptfunktion: Erstellt eine verschlüsselte Datenbank aus einem gebündelten Asset.
#[tauri::command]
pub fn create_encrypted_database(
pub fn create_encrypted_database_new(
app_handle: AppHandle<Wry>,
path: String,
key: String,
@ -503,7 +510,7 @@ pub fn create_encrypted_database(
let temp_db_path: PathBuf; // Muss deklariert werden, um im Fehlerfall aufgeräumt werden zu können
// Schritt 1: Asset vorbereiten
match prepare_temporary_asset_db(&app_handle, &asset_name, BaseDirectory::AppData) {
match prepare_temporary_asset_db(&app_handle, &asset_name, BaseDirectory::Resource) {
Ok(path) => temp_db_path = path,
Err(e) => return Err(e),
}

View File

@ -12,73 +12,6 @@ pub fn run() {
let protocol_name = "haex-extension";
tauri::Builder::default()
.setup(|app| {
// --- START DER ASSET-INVENTUR (Korrigierte Version) ---
println!("\n[INVENTUR] App-Setup wird ausgeführt. Liste alle Assets im Bundle auf...");
let mut found_assets_count = 0;
// KORREKTE METHODE: Direkt über eine Referenz auf den AssetResolver iterieren
for asset_name in app.asset_resolver().iter() {
found_assets_count += 1;
// Wir geben jeden gefundenen Asset-Namen aus
println!("[INVENTUR] Gefundenes Asset: '{}'", asset_name.0);
}
if found_assets_count == 0 {
println!("[INVENTUR] Es wurden KEINE Assets im Bundle gefunden!");
} else {
println!(
"[INVENTUR] Inventur abgeschlossen. {} Assets gefunden.",
found_assets_count
);
}
println!("[INVENTUR] --- ENDE DER INVENTUR ---\n");
// --- ENDE DER ASSET-INVENTUR ---
// --- START DES DEFINITIVEN ASSET-TESTS ---
println!("\n[DEBUG] App-Setup wird ausgeführt. Versuche, die Datenbank zu laden...");
// BITTE SICHERSTELLEN: Dieser String muss EXAKT dem SCHLÜSSEL (KEY)
// in deiner tauri.conf.json entsprechen!
let asset_to_find = "database/vault.db";
println!(
"[DEBUG] Suche nach Asset mit dem Alias: '{}'",
asset_to_find
);
match app.asset_resolver().get(asset_to_find.to_string()) {
Some(asset) => {
// ERFOLG! Das Asset wurde gefunden.
println!("\n✅ ✅ ✅ ERFOLG! ✅ ✅ ✅");
println!(
"[DEBUG] Asset '{}' wurde im Bundle gefunden.",
asset_to_find
);
println!("[DEBUG] Größe der Datenbank: {} Bytes.", asset.bytes.len());
}
None => {
// FEHLER! Das Asset wurde nicht gefunden.
println!("\n❌ ❌ ❌ FEHLER! ❌ ❌ ❌");
println!(
"[DEBUG] Asset '{}' wurde NICHT im Bundle gefunden.",
asset_to_find
);
println!("[DEBUG] Mögliche Ursachen:");
println!("[DEBUG] 1. Der Alias-String im Code ist falsch (Tippfehler?).");
println!("[DEBUG] 2. Der Schlüssel in 'tauri.conf.json' ist anders.");
println!(
"[DEBUG] 3. Der Build-Cache ist veraltet (lösche 'src-tauri/target')."
);
}
}
println!("[DEBUG] --- ENDE DES ASSET-TESTS ---\n");
// --- ENDE DES DEFINITIVEN ASSET-TESTS ---
// Hier kann dein restlicher Setup-Code stehen bleiben
Ok(())
})
.register_uri_scheme_protocol(protocol_name, move |context, request| {
match extension::core::extension_protocol_handler(&context, &request) {
Ok(response) => response, // Wenn der Handler Ok ist, gib die Response direkt zurück

View File

@ -54,6 +54,6 @@
"icons/icon.icns",
"icons/icon.ico"
],
"resources": ["test.txt"]
"resources": ["database/vault.db"]
}
}

View File

@ -6,4 +6,4 @@
themes: all;
}
@source "../../node_modules/flyonui/flyonui.js";
/* @source "../../../node_modules/flyonui/flyonui.js"; */

View File

@ -1,37 +1,48 @@
<template>
<div class="accordion divide-neutral/20 divide-y accordion-shadow *:accordion-item-active:shadow-md">
<div :id="itemId" ref="accordionRef" class="accordion-item active">
<div
class="accordion divide-neutral/20 divide-y accordion-shadow *:accordion-item-active:shadow-md"
>
<div
:id="itemId"
ref="accordionRef"
class="accordion-item active"
>
<button
class="accordion-toggle inline-flex items-center gap-x-4 text-start" :aria-controls="collapseId"
aria-expanded="true" type="button">
class="accordion-toggle inline-flex items-center gap-x-4 text-start"
:aria-controls="collapseId"
aria-expanded="true"
type="button"
>
<span
class="icon-[tabler--chevron-right] accordion-item-active:rotate-90 size-5 shrink-0 transition-transform duration-300 rtl:rotate-180"/>
class="icon-[tabler--chevron-right] accordion-item-active:rotate-90 size-5 shrink-0 transition-transform duration-300 rtl:rotate-180"
/>
<slot name="title" />
</button>
<div
:id="collapseId" class="accordion-content w-full overflow-hidden transition-[height] duration-300"
:aria-labelledby="itemId" role="region">
:id="collapseId"
class="accordion-content w-full overflow-hidden transition-[height] duration-300"
:aria-labelledby="itemId"
role="region"
>
<slot />
</div>
</div>
</div>
</template>
<script setup lang="ts">
import type { HSAccordion } from "flyonui/flyonui";
import type { HSAccordion } from 'flyonui/flyonui'
const itemId = useId();
const collapseId = useId();
const itemId = useId()
const collapseId = useId()
const accordionRef = useTemplateRef("accordionRef");
const accordion = ref<HSAccordion>();
const accordionRef = useTemplateRef('accordionRef')
const accordion = ref<HSAccordion>()
onMounted(() => {
if (accordionRef.value) {
accordion.value = new window.HSAccordion(accordionRef.value);
accordion.value = new window.HSAccordion(accordionRef.value)
accordion.value.hide()
}
});
})
</script>

View File

@ -1,5 +1,8 @@
<template>
<UiDialog v-model:open="open" @close="onAbort">
<UiDialog
v-model:open="open"
@close="onAbort"
>
<template #trigger>
<slot name="trigger" />
</template>
@ -12,32 +15,37 @@
<template #buttons>
<slot name="buttons">
<UiButton class="btn-error btn-outline" @click="onAbort">
<Icon name="mdi:close" /> {{ abortLabel ?? t("abort") }}
<UiButton
class="btn-error btn-outline"
@click="onAbort"
>
<Icon name="mdi:close" /> {{ abortLabel ?? t('abort') }}
</UiButton>
<UiButton class="btn-primary " @click="onConfirm">
<Icon name="mdi:check" /> {{ confirmLabel ?? t("confirm") }}
<UiButton
class="btn-primary"
@click="onConfirm"
>
<Icon name="mdi:check" /> {{ confirmLabel ?? t('confirm') }}
</UiButton>
</slot>
</template>
</UiDialog>
</template>
<script setup lang="ts">
defineProps<{ confirmLabel?: string, abortLabel?: string }>()
const open = defineModel<boolean>("open", { default: false })
defineProps<{ confirmLabel?: string; abortLabel?: string }>()
const open = defineModel<boolean>('open', { default: false })
const { t } = useI18n()
const emit = defineEmits(["confirm", "abort"])
const emit = defineEmits(['confirm', 'abort'])
const onAbort = () => {
emit('abort')
open.value = false
emit("abort")
}
const onConfirm = () => {
emit('confirm')
open.value = false
emit("confirm")
}
</script>

View File

@ -1,44 +1,61 @@
<template>
<div class="dropdown relative inline-flex">
<button :id class="dropdown-toggle" v-bind="$attrs" aria-haspopup="menu" aria-expanded="false" :aria-label="label">
<button
:id
class="dropdown-toggle"
v-bind="$attrs"
aria-haspopup="menu"
aria-expanded="false"
:aria-label="label"
>
<slot name="activator">
{{ label }}
<span class="icon-[tabler--chevron-down] dropdown-open:rotate-180 size-4"/>
<span
class="icon-[tabler--chevron-down] dropdown-open:rotate-180 size-4"
/>
</slot>
</button>
<ul
class="dropdown-menu dropdown-open:opacity-100 hidden min-w-28" role="menu" aria-orientation="vertical"
:aria-labelledby="id">
class="dropdown-menu dropdown-open:opacity-100 hidden min-w-28"
role="menu"
aria-orientation="vertical"
:aria-labelledby="id"
>
<slot name="items">
<li :is="itemIs" v-for="item in items" class="dropdown-item" @click="$emit('select', item)">
<slot name="item" :item>
<li
:is="itemIs"
v-for="item in items"
class="dropdown-item"
@click="$emit('select', item)"
>
<slot
name="item"
:item
>
{{ item }}
</slot>
</li>
</slot>
</ul>
</div>
</template>
<script setup lang="ts" generic="T">
const { itemIs = "li" } = defineProps<{
label?: string;
items?: T[];
itemIs?: string;
activatorClass?: string;
}>();
import type { HSDropdown } from 'flyonui/flyonui'
const { itemIs = 'li' } = defineProps<{
label?: string
items?: T[]
itemIs?: string
activatorClass?: string
}>()
defineOptions({
inheritAttrs: false,
});
})
defineEmits<{ select: [T] }>();
defineEmits<{ select: [T] }>()
const id = useId();
const id = useId()
</script>

View File

@ -1,17 +1,23 @@
<template>
<UiDropdown
:items="availableLocales" class="btn btn-primary btn-outline"
@select="(locale) => $emit('select', locale)">
:items="availableLocales"
class="btn btn-primary btn-outline"
@select="(locale) => $emit('select', locale)"
>
<template #activator>
<Icon :name="flags[locale]" />
<Icon name="tabler:chevron-down" class="dropdown-open:rotate-180 size-4" />
<Icon
name="tabler:chevron-down"
class="dropdown-open:rotate-180 size-4"
/>
</template>
<template #item="{ item }">
<div class="flex gap-2 justify-center">
<Icon :name="flags[item]" class="my-auto" />
<Icon
:name="flags[item]"
class="my-auto"
/>
<p>
{{ item }}
</p>

View File

@ -0,0 +1,828 @@
<template>
<svg
viewBox="122 107 263 292"
xmlns="http://www.w3.org/2000/svg"
style="max-height: 500px"
>
<g
stroke-width="0.3"
stroke-opacity="0.00"
stroke="#000000"
fill-opacity="0.0"
fill="None"
>
<path
d="M 0.00 500.00 &#xA;L 500.00 500.00&#xA;L 500.00 0.00&#xA;L 0.00 0.00&#xA;L 0.00 500.00&#xA;M 224.00 111.00 &#xA;C 231.64 114.34 231.15 125.27 233.78 133.22 C 236.40 141.18 233.32 153.32 229.08 160.08 C 224.84 166.83 229.06 176.15 231.33 183.67 C 233.59 191.20 237.83 198.83 244.00 204.00&#xA;C 266.37 217.28 288.30 227.00 309.00 244.00&#xA;C 302.67 236.14 297.53 229.03 290.75 221.25 C 283.96 213.48 279.34 206.78 272.70 198.30 C 266.05 189.82 261.91 183.96 256.69 173.31 C 251.48 162.65 249.83 154.72 248.00 141.00 C 246.17 127.28 259.55 133.29 268.08 139.92 C 276.61 146.55 285.22 149.49 293.75 155.25 C 302.27 161.02 311.02 165.51 319.00 172.00&#xA;C 333.96 180.10 351.42 199.09 360.00 215.00&#xA;C 364.03 222.47 368.67 227.83 371.77 236.23 C 374.87 244.63 375.48 254.80 378.33 263.67 C 381.18 272.54 380.34 286.05 379.22 295.22 C 378.11 304.40 376.21 314.80 373.02 323.02 C 369.84 331.25 366.25 338.84 362.23 346.23 C 358.20 353.62 353.47 359.98 348.25 366.25 C 343.03 372.51 336.37 377.44 331.08 379.86&#xA;C 327.43 381.21 324.03 383.93 320.00 385.00&#xA;C 320.86 388.48 313.78 392.73 306.78 393.78 C 299.78 394.82 288.01 393.70 280.00 394.00 C 271.99 394.30 261.37 393.91 253.00 394.00 C 244.63 394.09 235.43 394.10 227.00 394.00 C 218.57 393.90 208.23 394.32 200.00 394.00 C 191.77 393.68 182.87 396.59 178.00 389.00&#xA;C 175.90 386.88 176.08 388.00 175.00 385.00&#xA;C 173.90 381.94 174.40 379.91 175.00 377.00&#xA;C 175.83 372.99 176.48 370.39 179.00 367.00&#xA;C 181.54 363.59 184.21 361.67 188.00 360.00&#xA;C 194.80 357.00 202.48 358.16 210.00 358.00&#xA;C 204.18 349.77 197.87 341.27 197.00 331.00&#xA;C 196.59 329.08 195.21 326.36 195.00 324.00&#xA;C 194.72 320.78 194.25 315.36 196.00 313.00&#xA;C 196.00 312.50 196.00 312.00 196.00 312.00&#xA;C 196.30 310.37 198.29 306.24 198.00 307.00&#xA;C 198.19 306.12 198.11 304.33 199.00 303.00&#xA;C 191.11 300.89 179.04 304.79 170.00 303.00 C 160.96 301.21 153.07 308.94 145.00 309.00 C 136.93 309.06 130.06 302.11 126.00 296.00&#xA;C 123.16 291.73 121.53 286.73 123.00 281.00&#xA;C 123.82 277.81 125.91 276.29 128.00 274.00&#xA;C 131.09 269.45 136.40 267.32 142.00 266.00&#xA;C 144.65 265.37 147.06 264.79 150.00 265.00&#xA;C 150.50 265.03 151.50 265.00 152.00 265.00&#xA;C 154.50 263.94 157.04 264.47 160.00 264.00&#xA;C 169.80 261.15 164.14 257.96 165.00 250.00&#xA;C 165.05 249.51 165.00 249.00 165.00 249.00&#xA;C 163.47 246.93 163.50 243.03 165.00 241.00&#xA;C 165.00 240.50 165.00 240.00 165.00 240.00&#xA;C 164.66 236.86 165.54 233.27 166.00 231.00&#xA;C 166.97 226.20 168.52 218.81 172.00 215.00&#xA;C 163.08 216.93 154.33 208.76 146.92 206.08 C 139.50 203.40 129.72 198.14 129.00 189.00&#xA;C 128.94 188.24 129.32 186.68 129.00 186.00&#xA;C 126.69 186.39 128.17 187.06 127.00 185.00&#xA;C 125.33 182.05 124.95 177.75 125.00 174.00&#xA;C 127.20 174.74 124.69 178.33 127.00 179.00&#xA;C 126.92 177.05 125.64 173.65 126.00 172.00&#xA;C 126.57 169.37 130.73 167.21 133.00 167.00&#xA;C 133.50 166.95 134.00 167.00 134.00 167.00&#xA;C 134.67 165.13 137.08 162.88 137.00 163.00&#xA;C 138.55 160.15 138.62 158.02 141.00 155.00&#xA;C 143.80 151.45 148.11 148.46 150.00 147.00&#xA;C 157.03 139.76 167.00 138.77 177.01 136.01 C 187.01 133.25 192.68 124.37 201.00 119.00&#xA;C 204.06 116.44 206.52 113.70 211.00 112.00&#xA;C 216.35 109.98 220.25 109.36 224.00 111.00 Z"
/>
</g>
<g
stroke-width="0.3"
stroke-opacity="0.97"
stroke="#1F1F1F"
fill-opacity="0.0"
fill="None"
>
<path
d="M 211.00 112.00 &#xA;C 207.73 113.57 204.34 116.85 201.00 119.00&#xA;C 192.68 124.37 187.01 133.25 177.01 136.01 C 167.00 138.77 157.03 139.76 150.00 147.00&#xA;C 147.22 149.86 143.35 152.60 141.00 155.00&#xA;C 138.62 158.02 138.55 160.15 137.00 163.00&#xA;C 136.21 164.44 135.13 166.05 134.00 167.00&#xA;C 134.00 167.00 133.50 166.95 133.00 167.00&#xA;C 130.91 168.68 128.16 170.13 126.00 172.00&#xA;C 125.64 173.65 126.92 177.05 127.00 179.00&#xA;C 127.08 180.85 126.54 183.21 127.00 185.00&#xA;C 128.17 187.06 126.69 186.39 129.00 186.00&#xA;C 139.58 184.19 139.28 173.57 145.30 166.30 C 151.33 159.04 159.11 154.07 168.00 152.00&#xA;C 171.54 151.18 174.52 151.23 178.00 152.00&#xA;C 198.43 156.53 210.55 180.87 193.25 196.25 C 175.95 211.63 151.55 202.15 136.00 191.00&#xA;C 134.75 191.30 134.29 192.83 133.00 193.00&#xA;C 141.03 202.59 157.50 209.93 171.00 209.00&#xA;C 165.13 212.19 180.28 209.95 174.00 214.00&#xA;C 171.29 219.69 168.04 225.37 166.00 231.00&#xA;C 165.54 233.27 164.66 236.86 165.00 240.00&#xA;C 167.63 242.52 165.14 247.56 165.00 250.00&#xA;C 164.14 257.96 169.80 261.15 160.00 264.00&#xA;C 157.59 264.70 155.01 265.00 152.00 265.00&#xA;C 151.50 265.00 150.50 265.03 150.00 265.00&#xA;C 147.41 265.74 144.01 265.77 142.00 266.00&#xA;C 136.40 267.32 131.09 269.45 128.00 274.00&#xA;C 126.55 276.13 123.72 279.04 123.00 281.00&#xA;C 121.53 286.73 123.16 291.73 126.00 296.00&#xA;C 129.31 299.51 133.40 300.99 138.00 305.00&#xA;C 139.13 305.57 141.66 305.69 143.00 306.00&#xA;C 147.25 306.00 149.12 302.05 151.77 301.42 C 154.42 300.80 158.84 299.47 163.00 299.00&#xA;C 167.21 298.53 171.76 299.00 176.00 299.00&#xA;C 178.68 299.00 182.08 299.89 184.00 300.00&#xA;C 191.28 299.72 196.47 297.98 203.00 296.00&#xA;C 203.30 297.57 202.75 299.61 201.00 300.00&#xA;C 200.53 300.72 200.61 301.25 200.00 302.00&#xA;C 199.77 302.28 199.18 302.73 199.00 303.00&#xA;C 198.11 304.33 198.19 306.12 198.00 307.00&#xA;C 197.52 309.20 198.55 310.92 196.00 312.00&#xA;C 196.00 312.00 196.00 312.50 196.00 313.00&#xA;C 196.00 313.50 196.00 314.50 196.00 315.00&#xA;C 197.34 318.15 197.00 322.19 197.00 326.00&#xA;C 197.00 327.66 196.94 329.34 197.00 331.00&#xA;C 197.87 341.27 204.18 349.77 210.00 358.00&#xA;C 202.48 358.16 194.80 357.00 188.00 360.00&#xA;C 186.82 360.87 186.62 362.45 185.00 363.00&#xA;C 185.65 362.60 182.90 364.43 184.00 363.00&#xA;C 182.50 363.73 180.03 365.82 179.00 367.00&#xA;C 176.48 370.39 175.83 372.99 175.00 377.00&#xA;C 174.79 379.31 174.51 382.75 175.00 385.00&#xA;C 176.08 388.00 175.90 386.88 178.00 389.00&#xA;C 179.28 389.54 182.52 389.85 184.00 390.00&#xA;C 183.44 380.93 188.33 375.54 195.08 370.08 C 201.83 364.62 214.17 366.00 222.00 367.00 C 229.83 367.99 239.80 375.93 244.00 369.00&#xA;C 233.64 367.84 224.41 364.16 217.25 355.75 C 210.08 347.35 207.42 335.10 208.00 324.00 C 208.58 312.90 214.05 304.64 223.23 298.23 C 232.41 291.82 242.58 289.26 254.01 288.01 C 265.44 286.76 278.78 290.03 288.69 294.31 C 298.61 298.58 302.42 309.65 311.00 311.00&#xA;C 292.98 277.80 244.73 276.83 217.00 297.00&#xA;C 209.30 289.11 224.66 284.69 227.75 277.75 C 230.85 270.82 239.46 258.34 233.00 253.00&#xA;C 230.18 263.89 227.65 272.58 218.75 280.75 C 209.85 288.92 200.91 290.73 188.93 293.93 C 176.95 297.12 160.44 288.18 148.93 296.93 C 137.41 305.67 132.86 287.36 144.08 281.08 C 155.30 274.80 164.62 276.35 175.25 269.25 C 185.88 262.14 188.73 250.71 187.00 238.00&#xA;C 178.32 241.41 187.54 262.01 173.00 263.00&#xA;C 169.98 252.46 170.62 238.53 173.32 228.32 C 176.03 218.12 181.89 210.83 192.22 208.22 C 202.56 205.61 207.52 199.40 214.25 191.25 C 220.99 183.11 213.85 167.29 220.00 162.00&#xA;C 234.12 146.99 229.05 129.74 225.00 114.00&#xA;C 224.85 113.42 224.66 111.92 224.00 111.00&#xA;C 220.25 109.36 216.35 109.98 211.00 112.00&#xA;M 152.00 273.00 &#xA;C 142.20 277.14 131.12 280.81 131.00 294.00&#xA;C 120.27 284.76 135.80 269.65 147.00 272.00&#xA;C 149.02 271.71 152.29 270.15 155.00 271.00&#xA;C 154.45 272.01 153.02 272.44 152.00 273.00 Z"
/>
</g>
<g
stroke-width="0.3"
stroke-opacity="0.19"
stroke="#000000"
fill-opacity="0.0"
fill="None"
>
<path
d="M 225.00 114.00 &#xA;C 229.89 122.33 229.91 132.23 232.00 142.00 C 234.08 151.77 221.37 159.93 223.93 168.07 C 226.48 176.22 228.75 187.50 232.00 194.00&#xA;C 235.40 198.53 239.35 201.24 244.00 204.00&#xA;C 237.83 198.83 233.59 191.20 231.33 183.67 C 229.06 176.15 224.84 166.83 229.08 160.08 C 233.32 153.32 236.40 141.18 233.78 133.22 C 231.15 125.27 231.64 114.34 224.00 111.00&#xA;C 224.66 111.92 224.85 113.42 225.00 114.00 Z"
/>
</g>
<g
stroke-width="0.3"
stroke-opacity="0.09"
stroke="#B0B0B0"
fill-opacity="0.0"
fill="None"
>
<path
d="M 201.00 119.00 &#xA;C 204.34 116.85 207.73 113.57 211.00 112.00&#xA;C 206.52 113.70 204.06 116.44 201.00 119.00 Z"
/>
</g>
<g
stroke-width="0.3"
stroke-opacity="0.48"
stroke="#000000"
fill-opacity="0.0"
fill="None"
>
<path
d="M 220.00 162.00 &#xA;C 219.66 166.74 225.00 173.64 225.32 178.68 C 225.64 183.72 229.13 190.18 232.00 194.00&#xA;C 228.75 187.50 226.48 176.22 223.93 168.07 C 221.37 159.93 234.08 151.77 232.00 142.00 C 229.91 132.23 229.89 122.33 225.00 114.00&#xA;C 229.05 129.74 234.12 146.99 220.00 162.00 Z"
/>
</g>
<g
stroke-width="0.3"
stroke-opacity="0.99"
stroke="#BEBEBE"
fill-opacity="0.0"
fill="None"
>
<path
d="M 309.00 244.00 &#xA;C 319.62 252.72 326.67 266.01 332.31 278.69 C 337.94 291.38 343.27 312.99 343.00 327.00&#xA;C 348.86 307.69 357.88 289.27 376.00 278.00&#xA;C 375.67 274.36 376.25 270.64 376.00 267.00&#xA;C 374.20 240.59 358.93 215.59 343.00 195.00&#xA;C 335.15 187.46 327.36 178.80 319.00 172.00&#xA;C 311.02 165.51 302.27 161.02 293.75 155.25 C 285.22 149.49 276.61 146.55 268.08 139.92 C 259.55 133.29 246.17 127.28 248.00 141.00 C 249.83 154.72 251.48 162.65 256.69 173.31 C 261.91 183.96 266.05 189.82 272.70 198.30 C 279.34 206.78 283.96 213.48 290.75 221.25 C 297.53 229.03 302.67 236.14 309.00 244.00 Z"
/>
</g>
<g
stroke-width="0.3"
stroke-opacity="0.13"
stroke="#858585"
fill-opacity="0.0"
fill="None"
>
<path
d="M 141.00 155.00 &#xA;C 143.35 152.60 147.22 149.86 150.00 147.00&#xA;C 148.11 148.46 143.80 151.45 141.00 155.00 Z"
/>
</g>
<g
stroke-width="0.3"
stroke-opacity="1.00"
stroke="#868686"
fill-opacity="0.0"
fill="None"
>
<path
d="M 168.00 152.00 &#xA;C 171.08 151.66 174.91 151.68 178.00 152.00&#xA;C 174.52 151.23 171.54 151.18 168.00 152.00 Z"
/>
</g>
<g
stroke-width="0.3"
stroke-opacity="1.00"
stroke="#F6F6F6"
fill-opacity="0.0"
fill="None"
>
<path
d="M 129.00 186.00 &#xA;C 129.32 186.68 128.94 188.24 129.00 189.00&#xA;C 129.45 190.21 132.14 191.97 133.00 193.00&#xA;C 134.29 192.83 134.75 191.30 136.00 191.00&#xA;C 151.55 202.15 175.95 211.63 193.25 196.25 C 210.55 180.87 198.43 156.53 178.00 152.00&#xA;C 174.91 151.68 171.08 151.66 168.00 152.00&#xA;C 159.11 154.07 151.33 159.04 145.30 166.30 C 139.28 173.57 139.58 184.19 129.00 186.00&#xA;M 175.00 161.00 &#xA;C 186.50 162.02 186.34 180.76 173.98 179.98 C 161.61 179.20 162.30 159.88 175.00 161.00 Z"
/>
</g>
<g
stroke-width="0.3"
stroke-opacity="1.00"
stroke="#232323"
fill-opacity="0.0"
fill="None"
>
<path
d="M 175.00 161.00 &#xA;C 162.30 159.88 161.61 179.20 173.98 179.98 C 186.34 180.76 186.50 162.02 175.00 161.00&#xA;M 168.00 171.00 &#xA;C 167.10 158.05 181.72 171.06 168.00 171.00 Z"
/>
</g>
<g
stroke-width="0.3"
stroke-opacity="0.16"
stroke="#A4A4A4"
fill-opacity="0.0"
fill="None"
>
<path
d="M 134.00 167.00 &#xA;C 135.13 166.05 136.21 164.44 137.00 163.00&#xA;C 137.08 162.88 134.67 165.13 134.00 167.00 Z"
/>
</g>
<g
stroke-width="0.3"
stroke-opacity="1.00"
stroke="#F8F8F8"
fill-opacity="0.0"
fill="None"
>
<path
d="M 184.00 390.00 &#xA;C 200.03 391.64 215.88 388.64 232.00 390.00 C 248.12 391.37 264.82 388.01 281.00 390.00 C 297.18 391.99 307.70 387.80 321.00 381.00&#xA;C 334.96 366.76 337.54 345.00 343.00 327.00&#xA;C 343.27 312.99 337.94 291.38 332.31 278.69 C 326.67 266.01 319.62 252.72 309.00 244.00&#xA;C 288.30 227.00 266.37 217.28 244.00 204.00&#xA;C 239.35 201.24 235.40 198.53 232.00 194.00&#xA;C 229.13 190.18 225.64 183.72 225.32 178.68 C 225.00 173.64 219.66 166.74 220.00 162.00&#xA;C 213.85 167.29 220.99 183.11 214.25 191.25 C 207.52 199.40 202.56 205.61 192.22 208.22 C 181.89 210.83 176.03 218.12 173.32 228.32 C 170.62 238.53 169.98 252.46 173.00 263.00&#xA;C 187.54 262.01 178.32 241.41 187.00 238.00&#xA;C 188.73 250.71 185.88 262.14 175.25 269.25 C 164.62 276.35 155.30 274.80 144.08 281.08 C 132.86 287.36 137.41 305.67 148.93 296.93 C 160.44 288.18 176.95 297.12 188.93 293.93 C 200.91 290.73 209.85 288.92 218.75 280.75 C 227.65 272.58 230.18 263.89 233.00 253.00&#xA;C 239.46 258.34 230.85 270.82 227.75 277.75 C 224.66 284.69 209.30 289.11 217.00 297.00&#xA;C 244.73 276.83 292.98 277.80 311.00 311.00&#xA;C 302.42 309.65 298.61 298.58 288.69 294.31 C 278.78 290.03 265.44 286.76 254.01 288.01 C 242.58 289.26 232.41 291.82 223.23 298.23 C 214.05 304.64 208.58 312.90 208.00 324.00 C 207.42 335.10 210.08 347.35 217.25 355.75 C 224.41 364.16 233.64 367.84 244.00 369.00&#xA;C 239.80 375.93 229.83 367.99 222.00 367.00 C 214.17 366.00 201.83 364.62 195.08 370.08 C 188.33 375.54 183.44 380.93 184.00 390.00 Z"
/>
</g>
<g
stroke-width="0.3"
stroke-opacity="1.00"
stroke="#E7E7E7"
fill-opacity="0.0"
fill="None"
>
<path
d="M 168.00 171.00 &#xA;C 181.72 171.06 167.10 158.05 168.00 171.00 Z"
/>
</g>
<g
stroke-width="0.3"
stroke-opacity="0.06"
stroke="#D5D6D5"
fill-opacity="0.0"
fill="None"
>
<path
d="M 126.00 172.00 &#xA;C 128.16 170.13 130.91 168.68 133.00 167.00&#xA;C 130.73 167.21 126.57 169.37 126.00 172.00 Z"
/>
</g>
<g
stroke-width="0.3"
stroke-opacity="0.17"
stroke="#010101"
fill-opacity="0.0"
fill="None"
>
<path
d="M 319.00 172.00 &#xA;C 327.36 178.80 335.15 187.46 343.00 195.00&#xA;C 349.36 201.12 355.23 207.97 360.00 215.00&#xA;C 351.42 199.09 333.96 180.10 319.00 172.00 Z"
/>
</g>
<g
stroke-width="0.3"
stroke-opacity="0.19"
stroke="#6A6A6A"
fill-opacity="0.0"
fill="None"
>
<path
d="M 127.00 185.00 &#xA;C 126.54 183.21 127.08 180.85 127.00 179.00&#xA;C 124.69 178.33 127.20 174.74 125.00 174.00&#xA;C 124.95 177.75 125.33 182.05 127.00 185.00 Z"
/>
</g>
<g
stroke-width="0.3"
stroke-opacity="0.26"
stroke="#000000"
fill-opacity="0.0"
fill="None"
>
<path
d="M 172.00 215.00 &#xA;C 172.45 214.90 173.63 214.23 174.00 214.00&#xA;C 180.28 209.95 165.13 212.19 171.00 209.00&#xA;C 157.50 209.93 141.03 202.59 133.00 193.00&#xA;C 132.14 191.97 129.45 190.21 129.00 189.00&#xA;C 129.72 198.14 139.50 203.40 146.92 206.08 C 154.33 208.76 163.08 216.93 172.00 215.00 Z"
/>
</g>
<g
stroke-width="0.3"
stroke-opacity="0.33"
stroke="#000000"
fill-opacity="0.0"
fill="None"
>
<path
d="M 376.00 267.00 &#xA;C 376.19 267.61 376.87 267.94 377.00 269.00&#xA;C 382.28 281.94 376.22 302.91 373.67 315.67 C 371.13 328.44 363.16 341.06 357.08 352.08 C 351.00 363.10 341.62 372.42 331.00 379.00&#xA;C 336.37 377.44 343.03 372.51 348.25 366.25 C 353.47 359.98 358.20 353.62 362.23 346.23 C 366.25 338.84 369.84 331.25 373.02 323.02 C 376.21 314.80 378.11 304.40 379.22 295.22 C 380.34 286.05 381.18 272.54 378.33 263.67 C 375.48 254.80 374.87 244.63 371.77 236.23 C 368.67 227.83 364.03 222.47 360.00 215.00&#xA;C 355.23 207.97 349.36 201.12 343.00 195.00&#xA;C 358.93 215.59 374.20 240.59 376.00 267.00 Z"
/>
</g>
<g
stroke-width="0.3"
stroke-opacity="0.17"
stroke="#8A8A8A"
fill-opacity="0.0"
fill="None"
>
<path
d="M 172.00 215.00 &#xA;C 168.52 218.81 166.97 226.20 166.00 231.00&#xA;C 168.04 225.37 171.29 219.69 174.00 214.00&#xA;C 173.63 214.23 172.45 214.90 172.00 215.00 Z"
/>
</g>
<g
stroke-width="0.3"
stroke-opacity="0.60"
stroke="#101010"
fill-opacity="0.0"
fill="None"
>
<path
d="M 165.00 241.00 &#xA;C 165.00 243.67 165.00 246.33 165.00 249.00&#xA;C 165.00 249.00 165.05 249.51 165.00 250.00&#xA;C 165.14 247.56 167.63 242.52 165.00 240.00&#xA;C 165.00 240.00 165.00 240.50 165.00 241.00 Z"
/>
</g>
<g
stroke-width="0.3"
stroke-opacity="0.03"
stroke="#7E7E7E"
fill-opacity="0.0"
fill="None"
>
<path
d="M 165.00 249.00 &#xA;C 165.00 246.33 165.00 243.67 165.00 241.00&#xA;C 163.50 243.03 163.47 246.93 165.00 249.00 Z"
/>
</g>
<g
stroke-width="0.3"
stroke-opacity="0.04"
stroke="#777777"
fill-opacity="0.0"
fill="None"
>
<path
d="M 152.00 265.00 &#xA;C 155.01 265.00 157.59 264.70 160.00 264.00&#xA;C 157.04 264.47 154.50 263.94 152.00 265.00 Z"
/>
</g>
<g
stroke-width="0.3"
stroke-opacity="0.29"
stroke="#7B7B7B"
fill-opacity="0.0"
fill="None"
>
<path
d="M 142.00 266.00 &#xA;C 144.01 265.77 147.41 265.74 150.00 265.00&#xA;C 147.06 264.79 144.65 265.37 142.00 266.00 Z"
/>
</g>
<g
stroke-width="0.3"
stroke-opacity="0.68"
stroke="#4F4F4F"
fill-opacity="0.0"
fill="None"
>
<path
d="M 376.00 278.00 &#xA;C 376.36 277.78 377.00 278.00 377.00 278.00&#xA;C 377.06 275.10 377.35 271.88 377.00 269.00&#xA;C 376.87 267.94 376.19 267.61 376.00 267.00&#xA;C 376.25 270.64 375.67 274.36 376.00 278.00 Z"
/>
</g>
<g
stroke-width="0.3"
stroke-opacity="0.46"
stroke="#000000"
fill-opacity="0.0"
fill="None"
>
<path
d="M 377.00 278.00 &#xA;C 376.24 316.06 358.69 361.73 321.00 381.00&#xA;C 307.70 387.80 297.18 391.99 281.00 390.00 C 264.82 388.01 248.12 391.37 232.00 390.00 C 215.88 388.64 200.03 391.64 184.00 390.00&#xA;C 182.52 389.85 179.28 389.54 178.00 389.00&#xA;C 182.87 396.59 191.77 393.68 200.00 394.00 C 208.23 394.32 218.57 393.90 227.00 394.00 C 235.43 394.10 244.63 394.09 253.00 394.00 C 261.37 393.91 271.99 394.30 280.00 394.00 C 288.01 393.70 299.78 394.82 306.78 393.78 C 313.78 392.73 320.86 388.48 320.00 385.00&#xA;C 324.03 383.93 327.43 381.21 331.00 379.00&#xA;C 341.62 372.42 351.00 363.10 357.08 352.08 C 363.16 341.06 371.13 328.44 373.67 315.67 C 376.22 302.91 382.28 281.94 377.00 269.00&#xA;C 377.35 271.88 377.06 275.10 377.00 278.00 Z"
/>
</g>
<g
stroke-width="0.3"
stroke-opacity="1.00"
stroke="#767676"
fill-opacity="0.0"
fill="None"
>
<path
d="M 147.00 272.00 &#xA;C 148.46 272.02 151.35 273.02 152.00 273.00&#xA;C 153.02 272.44 154.45 272.01 155.00 271.00&#xA;C 152.29 270.15 149.02 271.71 147.00 272.00 Z"
/>
</g>
<g
stroke-width="0.3"
stroke-opacity="1.00"
stroke="#E3E3E3"
fill-opacity="0.0"
fill="None"
>
<path
d="M 152.00 273.00 &#xA;C 151.35 273.02 148.46 272.02 147.00 272.00&#xA;C 135.80 269.65 120.27 284.76 131.00 294.00&#xA;C 131.12 280.81 142.20 277.14 152.00 273.00 Z"
/>
</g>
<g
stroke-width="0.3"
stroke-opacity="0.20"
stroke="#8E8E8E"
fill-opacity="0.0"
fill="None"
>
<path
d="M 123.00 281.00 &#xA;C 123.72 279.04 126.55 276.13 128.00 274.00&#xA;C 125.91 276.29 123.82 277.81 123.00 281.00 Z"
/>
</g>
<g
stroke-width="0.3"
stroke-opacity="0.99"
stroke="#1D1D1D"
fill-opacity="0.0"
fill="None"
>
<path
d="M 343.00 327.00 &#xA;C 337.54 345.00 334.96 366.76 321.00 381.00&#xA;C 358.69 361.73 376.24 316.06 377.00 278.00&#xA;C 377.00 278.00 376.36 277.78 376.00 278.00&#xA;C 357.88 289.27 348.86 307.69 343.00 327.00 Z"
/>
</g>
<g
stroke-width="0.3"
stroke-opacity="0.32"
stroke="#000000"
fill-opacity="0.0"
fill="None"
>
<path
d="M 126.00 296.00 &#xA;C 130.06 302.11 136.93 309.06 145.00 309.00 C 153.07 308.94 160.96 301.21 170.00 303.00 C 179.04 304.79 191.11 300.89 199.00 303.00&#xA;C 199.18 302.73 199.77 302.28 200.00 302.00&#xA;C 197.55 298.03 190.28 303.63 184.00 302.00 C 177.72 300.37 175.48 302.79 166.00 302.00 C 156.52 301.21 146.75 312.62 138.00 305.00&#xA;C 133.40 300.99 129.31 299.51 126.00 296.00 Z"
/>
</g>
<g
stroke-width="0.3"
stroke-opacity="0.59"
stroke="#010101"
fill-opacity="0.0"
fill="None"
>
<path
d="M 184.00 300.00 &#xA;C 181.34 300.10 178.66 300.00 176.00 300.00&#xA;C 171.88 300.00 166.28 298.95 163.00 299.00&#xA;C 158.84 299.47 154.42 300.80 151.77 301.42 C 149.12 302.05 147.25 306.00 143.00 306.00&#xA;C 147.64 307.07 150.96 305.59 155.08 303.08 C 159.19 300.56 165.50 300.79 170.00 301.00 C 174.50 301.21 183.31 300.15 187.00 301.00 C 190.69 301.85 200.07 297.39 201.00 300.00&#xA;C 202.75 299.61 203.30 297.57 203.00 296.00&#xA;C 196.47 297.98 191.28 299.72 184.00 300.00 Z"
/>
</g>
<g
stroke-width="0.3"
stroke-opacity="0.75"
stroke="#474747"
fill-opacity="0.0"
fill="None"
>
<path
d="M 176.00 300.00 &#xA;C 175.96 300.00 176.00 299.00 176.00 299.00&#xA;C 171.76 299.00 167.21 298.53 163.00 299.00&#xA;C 166.28 298.95 171.88 300.00 176.00 300.00 Z"
/>
</g>
<g
stroke-width="0.3"
stroke-opacity="0.77"
stroke="#090909"
fill-opacity="0.0"
fill="None"
>
<path
d="M 176.00 300.00 &#xA;C 178.66 300.00 181.34 300.10 184.00 300.00&#xA;C 182.08 299.89 178.68 299.00 176.00 299.00&#xA;C 176.00 299.00 175.96 300.00 176.00 300.00 Z"
/>
</g>
<g
stroke-width="0.3"
stroke-opacity="0.44"
stroke="#000000"
fill-opacity="0.0"
fill="None"
>
<path
d="M 143.00 306.00 &#xA;C 141.66 305.69 139.13 305.57 138.00 305.00&#xA;C 146.75 312.62 156.52 301.21 166.00 302.00 C 175.48 302.79 177.72 300.37 184.00 302.00 C 190.28 303.63 197.55 298.03 200.00 302.00&#xA;C 200.61 301.25 200.53 300.72 201.00 300.00&#xA;C 200.07 297.39 190.69 301.85 187.00 301.00 C 183.31 300.15 174.50 301.21 170.00 301.00 C 165.50 300.79 159.19 300.56 155.08 303.08 C 150.96 305.59 147.64 307.07 143.00 306.00 Z"
/>
</g>
<g
stroke-width="0.3"
stroke-opacity="0.29"
stroke="#757575"
fill-opacity="0.0"
fill="None"
>
<path
d="M 196.00 312.00 &#xA;C 198.55 310.92 197.52 309.20 198.00 307.00&#xA;C 198.29 306.24 196.30 310.37 196.00 312.00 Z"
/>
</g>
<g
stroke-width="0.3"
stroke-opacity="0.03"
stroke="#AEAEAE"
fill-opacity="0.0"
fill="None"
>
<path
d="M 195.00 324.00 &#xA;C 195.00 324.05 196.00 324.00 196.00 324.00&#xA;C 195.64 321.10 196.00 317.92 196.00 315.00&#xA;C 196.00 314.50 196.00 313.50 196.00 313.00&#xA;C 194.25 315.36 194.72 320.78 195.00 324.00 Z"
/>
</g>
<g
stroke-width="0.3"
stroke-opacity="0.66"
stroke="#111111"
fill-opacity="0.0"
fill="None"
>
<path
d="M 196.00 324.00 &#xA;C 196.15 325.26 196.76 325.23 197.00 326.00&#xA;C 197.00 322.19 197.34 318.15 196.00 315.00&#xA;C 196.00 317.92 195.64 321.10 196.00 324.00 Z"
/>
</g>
<g
stroke-width="0.3"
stroke-opacity="0.26"
stroke="#484848"
fill-opacity="0.0"
fill="None"
>
<path
d="M 197.00 331.00 &#xA;C 196.94 329.34 197.00 327.66 197.00 326.00&#xA;C 196.76 325.23 196.15 325.26 196.00 324.00&#xA;C 196.00 324.00 195.00 324.05 195.00 324.00&#xA;C 195.21 326.36 196.59 329.08 197.00 331.00 Z"
/>
</g>
<g
stroke-width="0.3"
stroke-opacity="0.11"
stroke="#B4B4B4"
fill-opacity="0.0"
fill="None"
>
<path
d="M 179.00 367.00 &#xA;C 180.03 365.82 182.50 363.73 184.00 363.00&#xA;C 184.40 362.80 185.00 363.00 185.00 363.00&#xA;C 186.62 362.45 186.82 360.87 188.00 360.00&#xA;C 184.21 361.67 181.54 363.59 179.00 367.00 Z"
/>
</g>
<g
stroke-width="0.3"
stroke-opacity="0.78"
stroke="#0E0E0E"
fill-opacity="0.0"
fill="None"
>
<path
d="M 185.00 363.00 &#xA;C 185.00 363.00 184.40 362.80 184.00 363.00&#xA;C 182.90 364.43 185.65 362.60 185.00 363.00 Z"
/>
</g>
<g
stroke-width="0.3"
stroke-opacity="0.20"
stroke="#868686"
fill-opacity="0.0"
fill="None"
>
<path
d="M 175.00 385.00 &#xA;C 174.51 382.75 174.79 379.31 175.00 377.00&#xA;C 174.40 379.91 173.90 381.94 175.00 385.00 Z"
/>
</g>
<g
stroke="None"
fill-opacity="0.00"
fill="#000000"
>
<path
d="M 0.00 500.00 &#xA;L 500.00 500.00&#xA;L 500.00 0.00&#xA;L 0.00 0.00&#xA;L 0.00 500.00&#xA;M 224.00 111.00 &#xA;C 231.64 114.34 231.15 125.27 233.78 133.22 C 236.40 141.18 233.32 153.32 229.08 160.08 C 224.84 166.83 229.06 176.15 231.33 183.67 C 233.59 191.20 237.83 198.83 244.00 204.00&#xA;C 266.37 217.28 288.30 227.00 309.00 244.00&#xA;C 302.67 236.14 297.53 229.03 290.75 221.25 C 283.96 213.48 279.34 206.78 272.70 198.30 C 266.05 189.82 261.91 183.96 256.69 173.31 C 251.48 162.65 249.83 154.72 248.00 141.00 C 246.17 127.28 259.55 133.29 268.08 139.92 C 276.61 146.55 285.22 149.49 293.75 155.25 C 302.27 161.02 311.02 165.51 319.00 172.00&#xA;C 333.96 180.10 351.42 199.09 360.00 215.00&#xA;C 364.03 222.47 368.67 227.83 371.77 236.23 C 374.87 244.63 375.48 254.80 378.33 263.67 C 381.18 272.54 380.34 286.05 379.22 295.22 C 378.11 304.40 376.21 314.80 373.02 323.02 C 369.84 331.25 366.25 338.84 362.23 346.23 C 358.20 353.62 353.47 359.98 348.25 366.25 C 343.03 372.51 336.37 377.44 331.08 379.86&#xA;C 327.43 381.21 324.03 383.93 320.00 385.00&#xA;C 320.86 388.48 313.78 392.73 306.78 393.78 C 299.78 394.82 288.01 393.70 280.00 394.00 C 271.99 394.30 261.37 393.91 253.00 394.00 C 244.63 394.09 235.43 394.10 227.00 394.00 C 218.57 393.90 208.23 394.32 200.00 394.00 C 191.77 393.68 182.87 396.59 178.00 389.00&#xA;C 175.90 386.88 176.08 388.00 175.00 385.00&#xA;C 173.90 381.94 174.40 379.91 175.00 377.00&#xA;C 175.83 372.99 176.48 370.39 179.00 367.00&#xA;C 181.54 363.59 184.21 361.67 188.00 360.00&#xA;C 194.80 357.00 202.48 358.16 210.00 358.00&#xA;C 204.18 349.77 197.87 341.27 197.00 331.00&#xA;C 196.59 329.08 195.21 326.36 195.00 324.00&#xA;C 194.72 320.78 194.25 315.36 196.00 313.00&#xA;C 196.00 312.50 196.00 312.00 196.00 312.00&#xA;C 196.30 310.37 198.29 306.24 198.00 307.00&#xA;C 198.19 306.12 198.11 304.33 199.00 303.00&#xA;C 191.11 300.89 179.04 304.79 170.00 303.00 C 160.96 301.21 153.07 308.94 145.00 309.00 C 136.93 309.06 130.06 302.11 126.00 296.00&#xA;C 123.16 291.73 121.53 286.73 123.00 281.00&#xA;C 123.82 277.81 125.91 276.29 128.00 274.00&#xA;C 131.09 269.45 136.40 267.32 142.00 266.00&#xA;C 144.65 265.37 147.06 264.79 150.00 265.00&#xA;C 150.50 265.03 151.50 265.00 152.00 265.00&#xA;C 154.50 263.94 157.04 264.47 160.00 264.00&#xA;C 169.80 261.15 164.14 257.96 165.00 250.00&#xA;C 165.05 249.51 165.00 249.00 165.00 249.00&#xA;C 163.47 246.93 163.50 243.03 165.00 241.00&#xA;C 165.00 240.50 165.00 240.00 165.00 240.00&#xA;C 164.66 236.86 165.54 233.27 166.00 231.00&#xA;C 166.97 226.20 168.52 218.81 172.00 215.00&#xA;C 163.08 216.93 154.33 208.76 146.92 206.08 C 139.50 203.40 129.72 198.14 129.00 189.00&#xA;C 128.94 188.24 129.32 186.68 129.00 186.00&#xA;C 126.69 186.39 128.17 187.06 127.00 185.00&#xA;C 125.33 182.05 124.95 177.75 125.00 174.00&#xA;C 127.20 174.74 124.69 178.33 127.00 179.00&#xA;C 126.92 177.05 125.64 173.65 126.00 172.00&#xA;C 126.57 169.37 130.73 167.21 133.00 167.00&#xA;C 133.50 166.95 134.00 167.00 134.00 167.00&#xA;C 134.67 165.13 137.08 162.88 137.00 163.00&#xA;C 138.55 160.15 138.62 158.02 141.00 155.00&#xA;C 143.80 151.45 148.11 148.46 150.00 147.00&#xA;C 157.03 139.76 167.00 138.77 177.01 136.01 C 187.01 133.25 192.68 124.37 201.00 119.00&#xA;C 204.06 116.44 206.52 113.70 211.00 112.00&#xA;C 216.35 109.98 220.25 109.36 224.00 111.00 Z"
/>
</g>
<g
stroke="None"
fill-opacity="0.97"
fill="#1F1F1F"
>
<path
d="M 211.00 112.00 &#xA;C 207.73 113.57 204.34 116.85 201.00 119.00&#xA;C 192.68 124.37 187.01 133.25 177.01 136.01 C 167.00 138.77 157.03 139.76 150.00 147.00&#xA;C 147.22 149.86 143.35 152.60 141.00 155.00&#xA;C 138.62 158.02 138.55 160.15 137.00 163.00&#xA;C 136.21 164.44 135.13 166.05 134.00 167.00&#xA;C 134.00 167.00 133.50 166.95 133.00 167.00&#xA;C 130.91 168.68 128.16 170.13 126.00 172.00&#xA;C 125.64 173.65 126.92 177.05 127.00 179.00&#xA;C 127.08 180.85 126.54 183.21 127.00 185.00&#xA;C 128.17 187.06 126.69 186.39 129.00 186.00&#xA;C 139.58 184.19 139.28 173.57 145.30 166.30 C 151.33 159.04 159.11 154.07 168.00 152.00&#xA;C 171.54 151.18 174.52 151.23 178.00 152.00&#xA;C 198.43 156.53 210.55 180.87 193.25 196.25 C 175.95 211.63 151.55 202.15 136.00 191.00&#xA;C 134.75 191.30 134.29 192.83 133.00 193.00&#xA;C 141.03 202.59 157.50 209.93 171.00 209.00&#xA;C 165.13 212.19 180.28 209.95 174.00 214.00&#xA;C 171.29 219.69 168.04 225.37 166.00 231.00&#xA;C 165.54 233.27 164.66 236.86 165.00 240.00&#xA;C 167.63 242.52 165.14 247.56 165.00 250.00&#xA;C 164.14 257.96 169.80 261.15 160.00 264.00&#xA;C 157.59 264.70 155.01 265.00 152.00 265.00&#xA;C 151.50 265.00 150.50 265.03 150.00 265.00&#xA;C 147.41 265.74 144.01 265.77 142.00 266.00&#xA;C 136.40 267.32 131.09 269.45 128.00 274.00&#xA;C 126.55 276.13 123.72 279.04 123.00 281.00&#xA;C 121.53 286.73 123.16 291.73 126.00 296.00&#xA;C 129.31 299.51 133.40 300.99 138.00 305.00&#xA;C 139.13 305.57 141.66 305.69 143.00 306.00&#xA;C 147.25 306.00 149.12 302.05 151.77 301.42 C 154.42 300.80 158.84 299.47 163.00 299.00&#xA;C 167.21 298.53 171.76 299.00 176.00 299.00&#xA;C 178.68 299.00 182.08 299.89 184.00 300.00&#xA;C 191.28 299.72 196.47 297.98 203.00 296.00&#xA;C 203.30 297.57 202.75 299.61 201.00 300.00&#xA;C 200.53 300.72 200.61 301.25 200.00 302.00&#xA;C 199.77 302.28 199.18 302.73 199.00 303.00&#xA;C 198.11 304.33 198.19 306.12 198.00 307.00&#xA;C 197.52 309.20 198.55 310.92 196.00 312.00&#xA;C 196.00 312.00 196.00 312.50 196.00 313.00&#xA;C 196.00 313.50 196.00 314.50 196.00 315.00&#xA;C 197.34 318.15 197.00 322.19 197.00 326.00&#xA;C 197.00 327.66 196.94 329.34 197.00 331.00&#xA;C 197.87 341.27 204.18 349.77 210.00 358.00&#xA;C 202.48 358.16 194.80 357.00 188.00 360.00&#xA;C 186.82 360.87 186.62 362.45 185.00 363.00&#xA;C 185.65 362.60 182.90 364.43 184.00 363.00&#xA;C 182.50 363.73 180.03 365.82 179.00 367.00&#xA;C 176.48 370.39 175.83 372.99 175.00 377.00&#xA;C 174.79 379.31 174.51 382.75 175.00 385.00&#xA;C 176.08 388.00 175.90 386.88 178.00 389.00&#xA;C 179.28 389.54 182.52 389.85 184.00 390.00&#xA;C 183.44 380.93 188.33 375.54 195.08 370.08 C 201.83 364.62 214.17 366.00 222.00 367.00 C 229.83 367.99 239.80 375.93 244.00 369.00&#xA;C 233.64 367.84 224.41 364.16 217.25 355.75 C 210.08 347.35 207.42 335.10 208.00 324.00 C 208.58 312.90 214.05 304.64 223.23 298.23 C 232.41 291.82 242.58 289.26 254.01 288.01 C 265.44 286.76 278.78 290.03 288.69 294.31 C 298.61 298.58 302.42 309.65 311.00 311.00&#xA;C 292.98 277.80 244.73 276.83 217.00 297.00&#xA;C 209.30 289.11 224.66 284.69 227.75 277.75 C 230.85 270.82 239.46 258.34 233.00 253.00&#xA;C 230.18 263.89 227.65 272.58 218.75 280.75 C 209.85 288.92 200.91 290.73 188.93 293.93 C 176.95 297.12 160.44 288.18 148.93 296.93 C 137.41 305.67 132.86 287.36 144.08 281.08 C 155.30 274.80 164.62 276.35 175.25 269.25 C 185.88 262.14 188.73 250.71 187.00 238.00&#xA;C 178.32 241.41 187.54 262.01 173.00 263.00&#xA;C 169.98 252.46 170.62 238.53 173.32 228.32 C 176.03 218.12 181.89 210.83 192.22 208.22 C 202.56 205.61 207.52 199.40 214.25 191.25 C 220.99 183.11 213.85 167.29 220.00 162.00&#xA;C 234.12 146.99 229.05 129.74 225.00 114.00&#xA;C 224.85 113.42 224.66 111.92 224.00 111.00&#xA;C 220.25 109.36 216.35 109.98 211.00 112.00&#xA;M 152.00 273.00 &#xA;C 142.20 277.14 131.12 280.81 131.00 294.00&#xA;C 120.27 284.76 135.80 269.65 147.00 272.00&#xA;C 149.02 271.71 152.29 270.15 155.00 271.00&#xA;C 154.45 272.01 153.02 272.44 152.00 273.00 Z"
/>
</g>
<g
stroke="None"
fill-opacity="0.19"
fill="#000000"
>
<path
d="M 225.00 114.00 &#xA;C 229.89 122.33 229.91 132.23 232.00 142.00 C 234.08 151.77 221.37 159.93 223.93 168.07 C 226.48 176.22 228.75 187.50 232.00 194.00&#xA;C 235.40 198.53 239.35 201.24 244.00 204.00&#xA;C 237.83 198.83 233.59 191.20 231.33 183.67 C 229.06 176.15 224.84 166.83 229.08 160.08 C 233.32 153.32 236.40 141.18 233.78 133.22 C 231.15 125.27 231.64 114.34 224.00 111.00&#xA;C 224.66 111.92 224.85 113.42 225.00 114.00 Z"
/>
</g>
<g
stroke="None"
fill-opacity="0.09"
fill="#B0B0B0"
>
<path
d="M 201.00 119.00 &#xA;C 204.34 116.85 207.73 113.57 211.00 112.00&#xA;C 206.52 113.70 204.06 116.44 201.00 119.00 Z"
/>
</g>
<g
stroke="None"
fill-opacity="0.48"
fill="#000000"
>
<path
d="M 220.00 162.00 &#xA;C 219.66 166.74 225.00 173.64 225.32 178.68 C 225.64 183.72 229.13 190.18 232.00 194.00&#xA;C 228.75 187.50 226.48 176.22 223.93 168.07 C 221.37 159.93 234.08 151.77 232.00 142.00 C 229.91 132.23 229.89 122.33 225.00 114.00&#xA;C 229.05 129.74 234.12 146.99 220.00 162.00 Z"
/>
</g>
<g
stroke="None"
fill-opacity="0.99"
fill="#BEBEBE"
>
<path
d="M 309.00 244.00 &#xA;C 319.62 252.72 326.67 266.01 332.31 278.69 C 337.94 291.38 343.27 312.99 343.00 327.00&#xA;C 348.86 307.69 357.88 289.27 376.00 278.00&#xA;C 375.67 274.36 376.25 270.64 376.00 267.00&#xA;C 374.20 240.59 358.93 215.59 343.00 195.00&#xA;C 335.15 187.46 327.36 178.80 319.00 172.00&#xA;C 311.02 165.51 302.27 161.02 293.75 155.25 C 285.22 149.49 276.61 146.55 268.08 139.92 C 259.55 133.29 246.17 127.28 248.00 141.00 C 249.83 154.72 251.48 162.65 256.69 173.31 C 261.91 183.96 266.05 189.82 272.70 198.30 C 279.34 206.78 283.96 213.48 290.75 221.25 C 297.53 229.03 302.67 236.14 309.00 244.00 Z"
/>
</g>
<g
stroke="None"
fill-opacity="0.13"
fill="#858585"
>
<path
d="M 141.00 155.00 &#xA;C 143.35 152.60 147.22 149.86 150.00 147.00&#xA;C 148.11 148.46 143.80 151.45 141.00 155.00 Z"
/>
</g>
<g
stroke="None"
fill-opacity="1.00"
fill="#868686"
>
<path
d="M 168.00 152.00 &#xA;C 171.08 151.66 174.91 151.68 178.00 152.00&#xA;C 174.52 151.23 171.54 151.18 168.00 152.00 Z"
/>
</g>
<g
stroke="None"
fill-opacity="1.00"
fill="#F6F6F6"
>
<path
d="M 129.00 186.00 &#xA;C 129.32 186.68 128.94 188.24 129.00 189.00&#xA;C 129.45 190.21 132.14 191.97 133.00 193.00&#xA;C 134.29 192.83 134.75 191.30 136.00 191.00&#xA;C 151.55 202.15 175.95 211.63 193.25 196.25 C 210.55 180.87 198.43 156.53 178.00 152.00&#xA;C 174.91 151.68 171.08 151.66 168.00 152.00&#xA;C 159.11 154.07 151.33 159.04 145.30 166.30 C 139.28 173.57 139.58 184.19 129.00 186.00&#xA;M 175.00 161.00 &#xA;C 186.50 162.02 186.34 180.76 173.98 179.98 C 161.61 179.20 162.30 159.88 175.00 161.00 Z"
/>
</g>
<g
stroke="None"
fill-opacity="1.00"
fill="#232323"
>
<path
d="M 175.00 161.00 &#xA;C 162.30 159.88 161.61 179.20 173.98 179.98 C 186.34 180.76 186.50 162.02 175.00 161.00&#xA;M 168.00 171.00 &#xA;C 167.10 158.05 181.72 171.06 168.00 171.00 Z"
/>
</g>
<g
stroke="None"
fill-opacity="0.16"
fill="#A4A4A4"
>
<path
d="M 134.00 167.00 &#xA;C 135.13 166.05 136.21 164.44 137.00 163.00&#xA;C 137.08 162.88 134.67 165.13 134.00 167.00 Z"
/>
</g>
<g
stroke="None"
fill-opacity="1.00"
fill="#F8F8F8"
>
<path
d="M 184.00 390.00 &#xA;C 200.03 391.64 215.88 388.64 232.00 390.00 C 248.12 391.37 264.82 388.01 281.00 390.00 C 297.18 391.99 307.70 387.80 321.00 381.00&#xA;C 334.96 366.76 337.54 345.00 343.00 327.00&#xA;C 343.27 312.99 337.94 291.38 332.31 278.69 C 326.67 266.01 319.62 252.72 309.00 244.00&#xA;C 288.30 227.00 266.37 217.28 244.00 204.00&#xA;C 239.35 201.24 235.40 198.53 232.00 194.00&#xA;C 229.13 190.18 225.64 183.72 225.32 178.68 C 225.00 173.64 219.66 166.74 220.00 162.00&#xA;C 213.85 167.29 220.99 183.11 214.25 191.25 C 207.52 199.40 202.56 205.61 192.22 208.22 C 181.89 210.83 176.03 218.12 173.32 228.32 C 170.62 238.53 169.98 252.46 173.00 263.00&#xA;C 187.54 262.01 178.32 241.41 187.00 238.00&#xA;C 188.73 250.71 185.88 262.14 175.25 269.25 C 164.62 276.35 155.30 274.80 144.08 281.08 C 132.86 287.36 137.41 305.67 148.93 296.93 C 160.44 288.18 176.95 297.12 188.93 293.93 C 200.91 290.73 209.85 288.92 218.75 280.75 C 227.65 272.58 230.18 263.89 233.00 253.00&#xA;C 239.46 258.34 230.85 270.82 227.75 277.75 C 224.66 284.69 209.30 289.11 217.00 297.00&#xA;C 244.73 276.83 292.98 277.80 311.00 311.00&#xA;C 302.42 309.65 298.61 298.58 288.69 294.31 C 278.78 290.03 265.44 286.76 254.01 288.01 C 242.58 289.26 232.41 291.82 223.23 298.23 C 214.05 304.64 208.58 312.90 208.00 324.00 C 207.42 335.10 210.08 347.35 217.25 355.75 C 224.41 364.16 233.64 367.84 244.00 369.00&#xA;C 239.80 375.93 229.83 367.99 222.00 367.00 C 214.17 366.00 201.83 364.62 195.08 370.08 C 188.33 375.54 183.44 380.93 184.00 390.00 Z"
/>
</g>
<g
stroke="None"
fill-opacity="1.00"
fill="#E7E7E7"
>
<path
d="M 168.00 171.00 &#xA;C 181.72 171.06 167.10 158.05 168.00 171.00 Z"
/>
</g>
<g
stroke="None"
fill-opacity="0.06"
fill="#D5D6D5"
>
<path
d="M 126.00 172.00 &#xA;C 128.16 170.13 130.91 168.68 133.00 167.00&#xA;C 130.73 167.21 126.57 169.37 126.00 172.00 Z"
/>
</g>
<g
stroke="None"
fill-opacity="0.17"
fill="#010101"
>
<path
d="M 319.00 172.00 &#xA;C 327.36 178.80 335.15 187.46 343.00 195.00&#xA;C 349.36 201.12 355.23 207.97 360.00 215.00&#xA;C 351.42 199.09 333.96 180.10 319.00 172.00 Z"
/>
</g>
<g
stroke="None"
fill-opacity="0.19"
fill="#6A6A6A"
>
<path
d="M 127.00 185.00 &#xA;C 126.54 183.21 127.08 180.85 127.00 179.00&#xA;C 124.69 178.33 127.20 174.74 125.00 174.00&#xA;C 124.95 177.75 125.33 182.05 127.00 185.00 Z"
/>
</g>
<g
stroke="None"
fill-opacity="0.26"
fill="#000000"
>
<path
d="M 172.00 215.00 &#xA;C 172.45 214.90 173.63 214.23 174.00 214.00&#xA;C 180.28 209.95 165.13 212.19 171.00 209.00&#xA;C 157.50 209.93 141.03 202.59 133.00 193.00&#xA;C 132.14 191.97 129.45 190.21 129.00 189.00&#xA;C 129.72 198.14 139.50 203.40 146.92 206.08 C 154.33 208.76 163.08 216.93 172.00 215.00 Z"
/>
</g>
<g
stroke="None"
fill-opacity="0.33"
fill="#000000"
>
<path
d="M 376.00 267.00 &#xA;C 376.19 267.61 376.87 267.94 377.00 269.00&#xA;C 382.28 281.94 376.22 302.91 373.67 315.67 C 371.13 328.44 363.16 341.06 357.08 352.08 C 351.00 363.10 341.62 372.42 331.00 379.00&#xA;C 336.37 377.44 343.03 372.51 348.25 366.25 C 353.47 359.98 358.20 353.62 362.23 346.23 C 366.25 338.84 369.84 331.25 373.02 323.02 C 376.21 314.80 378.11 304.40 379.22 295.22 C 380.34 286.05 381.18 272.54 378.33 263.67 C 375.48 254.80 374.87 244.63 371.77 236.23 C 368.67 227.83 364.03 222.47 360.00 215.00&#xA;C 355.23 207.97 349.36 201.12 343.00 195.00&#xA;C 358.93 215.59 374.20 240.59 376.00 267.00 Z"
/>
</g>
<g
stroke="None"
fill-opacity="0.17"
fill="#8A8A8A"
>
<path
d="M 172.00 215.00 &#xA;C 168.52 218.81 166.97 226.20 166.00 231.00&#xA;C 168.04 225.37 171.29 219.69 174.00 214.00&#xA;C 173.63 214.23 172.45 214.90 172.00 215.00 Z"
/>
</g>
<g
stroke="None"
fill-opacity="0.60"
fill="#101010"
>
<path
d="M 165.00 241.00 &#xA;C 165.00 243.67 165.00 246.33 165.00 249.00&#xA;C 165.00 249.00 165.05 249.51 165.00 250.00&#xA;C 165.14 247.56 167.63 242.52 165.00 240.00&#xA;C 165.00 240.00 165.00 240.50 165.00 241.00 Z"
/>
</g>
<g
stroke="None"
fill-opacity="0.03"
fill="#7E7E7E"
>
<path
d="M 165.00 249.00 &#xA;C 165.00 246.33 165.00 243.67 165.00 241.00&#xA;C 163.50 243.03 163.47 246.93 165.00 249.00 Z"
/>
</g>
<g
stroke="None"
fill-opacity="0.04"
fill="#777777"
>
<path
d="M 152.00 265.00 &#xA;C 155.01 265.00 157.59 264.70 160.00 264.00&#xA;C 157.04 264.47 154.50 263.94 152.00 265.00 Z"
/>
</g>
<g
stroke="None"
fill-opacity="0.29"
fill="#7B7B7B"
>
<path
d="M 142.00 266.00 &#xA;C 144.01 265.77 147.41 265.74 150.00 265.00&#xA;C 147.06 264.79 144.65 265.37 142.00 266.00 Z"
/>
</g>
<g
stroke="None"
fill-opacity="0.68"
fill="#4F4F4F"
>
<path
d="M 376.00 278.00 &#xA;C 376.36 277.78 377.00 278.00 377.00 278.00&#xA;C 377.06 275.10 377.35 271.88 377.00 269.00&#xA;C 376.87 267.94 376.19 267.61 376.00 267.00&#xA;C 376.25 270.64 375.67 274.36 376.00 278.00 Z"
/>
</g>
<g
stroke="None"
fill-opacity="0.46"
fill="#000000"
>
<path
d="M 377.00 278.00 &#xA;C 376.24 316.06 358.69 361.73 321.00 381.00&#xA;C 307.70 387.80 297.18 391.99 281.00 390.00 C 264.82 388.01 248.12 391.37 232.00 390.00 C 215.88 388.64 200.03 391.64 184.00 390.00&#xA;C 182.52 389.85 179.28 389.54 178.00 389.00&#xA;C 182.87 396.59 191.77 393.68 200.00 394.00 C 208.23 394.32 218.57 393.90 227.00 394.00 C 235.43 394.10 244.63 394.09 253.00 394.00 C 261.37 393.91 271.99 394.30 280.00 394.00 C 288.01 393.70 299.78 394.82 306.78 393.78 C 313.78 392.73 320.86 388.48 320.00 385.00&#xA;C 324.03 383.93 327.43 381.21 331.00 379.00&#xA;C 341.62 372.42 351.00 363.10 357.08 352.08 C 363.16 341.06 371.13 328.44 373.67 315.67 C 376.22 302.91 382.28 281.94 377.00 269.00&#xA;C 377.35 271.88 377.06 275.10 377.00 278.00 Z"
/>
</g>
<g
stroke="None"
fill-opacity="1.00"
fill="#767676"
>
<path
d="M 147.00 272.00 &#xA;C 148.46 272.02 151.35 273.02 152.00 273.00&#xA;C 153.02 272.44 154.45 272.01 155.00 271.00&#xA;C 152.29 270.15 149.02 271.71 147.00 272.00 Z"
/>
</g>
<g
stroke="None"
fill-opacity="1.00"
fill="#E3E3E3"
>
<path
d="M 152.00 273.00 &#xA;C 151.35 273.02 148.46 272.02 147.00 272.00&#xA;C 135.80 269.65 120.27 284.76 131.00 294.00&#xA;C 131.12 280.81 142.20 277.14 152.00 273.00 Z"
/>
</g>
<g
stroke="None"
fill-opacity="0.20"
fill="#8E8E8E"
>
<path
d="M 123.00 281.00 &#xA;C 123.72 279.04 126.55 276.13 128.00 274.00&#xA;C 125.91 276.29 123.82 277.81 123.00 281.00 Z"
/>
</g>
<g
stroke="None"
fill-opacity="0.99"
fill="#1D1D1D"
>
<path
d="M 343.00 327.00 &#xA;C 337.54 345.00 334.96 366.76 321.00 381.00&#xA;C 358.69 361.73 376.24 316.06 377.00 278.00&#xA;C 377.00 278.00 376.36 277.78 376.00 278.00&#xA;C 357.88 289.27 348.86 307.69 343.00 327.00 Z"
/>
</g>
<g
stroke="None"
fill-opacity="0.32"
fill="#000000"
>
<path
d="M 126.00 296.00 &#xA;C 130.06 302.11 136.93 309.06 145.00 309.00 C 153.07 308.94 160.96 301.21 170.00 303.00 C 179.04 304.79 191.11 300.89 199.00 303.00&#xA;C 199.18 302.73 199.77 302.28 200.00 302.00&#xA;C 197.55 298.03 190.28 303.63 184.00 302.00 C 177.72 300.37 175.48 302.79 166.00 302.00 C 156.52 301.21 146.75 312.62 138.00 305.00&#xA;C 133.40 300.99 129.31 299.51 126.00 296.00 Z"
/>
</g>
<g
stroke="None"
fill-opacity="0.59"
fill="#010101"
>
<path
d="M 184.00 300.00 &#xA;C 181.34 300.10 178.66 300.00 176.00 300.00&#xA;C 171.88 300.00 166.28 298.95 163.00 299.00&#xA;C 158.84 299.47 154.42 300.80 151.77 301.42 C 149.12 302.05 147.25 306.00 143.00 306.00&#xA;C 147.64 307.07 150.96 305.59 155.08 303.08 C 159.19 300.56 165.50 300.79 170.00 301.00 C 174.50 301.21 183.31 300.15 187.00 301.00 C 190.69 301.85 200.07 297.39 201.00 300.00&#xA;C 202.75 299.61 203.30 297.57 203.00 296.00&#xA;C 196.47 297.98 191.28 299.72 184.00 300.00 Z"
/>
</g>
<g
stroke="None"
fill-opacity="0.75"
fill="#474747"
>
<path
d="M 176.00 300.00 &#xA;C 175.96 300.00 176.00 299.00 176.00 299.00&#xA;C 171.76 299.00 167.21 298.53 163.00 299.00&#xA;C 166.28 298.95 171.88 300.00 176.00 300.00 Z"
/>
</g>
<g
stroke="None"
fill-opacity="0.77"
fill="#090909"
>
<path
d="M 176.00 300.00 &#xA;C 178.66 300.00 181.34 300.10 184.00 300.00&#xA;C 182.08 299.89 178.68 299.00 176.00 299.00&#xA;C 176.00 299.00 175.96 300.00 176.00 300.00 Z"
/>
</g>
<g
stroke="None"
fill-opacity="0.44"
fill="#000000"
>
<path
d="M 143.00 306.00 &#xA;C 141.66 305.69 139.13 305.57 138.00 305.00&#xA;C 146.75 312.62 156.52 301.21 166.00 302.00 C 175.48 302.79 177.72 300.37 184.00 302.00 C 190.28 303.63 197.55 298.03 200.00 302.00&#xA;C 200.61 301.25 200.53 300.72 201.00 300.00&#xA;C 200.07 297.39 190.69 301.85 187.00 301.00 C 183.31 300.15 174.50 301.21 170.00 301.00 C 165.50 300.79 159.19 300.56 155.08 303.08 C 150.96 305.59 147.64 307.07 143.00 306.00 Z"
/>
</g>
<g
stroke="None"
fill-opacity="0.29"
fill="#757575"
>
<path
d="M 196.00 312.00 &#xA;C 198.55 310.92 197.52 309.20 198.00 307.00&#xA;C 198.29 306.24 196.30 310.37 196.00 312.00 Z"
/>
</g>
<g
stroke="None"
fill-opacity="0.03"
fill="#AEAEAE"
>
<path
d="M 195.00 324.00 &#xA;C 195.00 324.05 196.00 324.00 196.00 324.00&#xA;C 195.64 321.10 196.00 317.92 196.00 315.00&#xA;C 196.00 314.50 196.00 313.50 196.00 313.00&#xA;C 194.25 315.36 194.72 320.78 195.00 324.00 Z"
/>
</g>
<g
stroke="None"
fill-opacity="0.66"
fill="#111111"
>
<path
d="M 196.00 324.00 &#xA;C 196.15 325.26 196.76 325.23 197.00 326.00&#xA;C 197.00 322.19 197.34 318.15 196.00 315.00&#xA;C 196.00 317.92 195.64 321.10 196.00 324.00 Z"
/>
</g>
<g
stroke="None"
fill-opacity="0.26"
fill="#484848"
>
<path
d="M 197.00 331.00 &#xA;C 196.94 329.34 197.00 327.66 197.00 326.00&#xA;C 196.76 325.23 196.15 325.26 196.00 324.00&#xA;C 196.00 324.00 195.00 324.05 195.00 324.00&#xA;C 195.21 326.36 196.59 329.08 197.00 331.00 Z"
/>
</g>
<g
stroke="None"
fill-opacity="0.11"
fill="#B4B4B4"
>
<path
d="M 179.00 367.00 &#xA;C 180.03 365.82 182.50 363.73 184.00 363.00&#xA;C 184.40 362.80 185.00 363.00 185.00 363.00&#xA;C 186.62 362.45 186.82 360.87 188.00 360.00&#xA;C 184.21 361.67 181.54 363.59 179.00 367.00 Z"
/>
</g>
<g
stroke="None"
fill-opacity="0.78"
fill="#0E0E0E"
>
<path
d="M 185.00 363.00 &#xA;C 185.00 363.00 184.40 362.80 184.00 363.00&#xA;C 182.90 364.43 185.65 362.60 185.00 363.00 Z"
/>
</g>
<g
stroke="None"
fill-opacity="0.20"
fill="#868686"
>
<path
d="M 175.00 385.00 &#xA;C 174.51 382.75 174.79 379.31 175.00 377.00&#xA;C 174.40 379.91 173.90 381.94 175.00 385.00 Z"
/>
</g>
</svg>
</template>

View File

@ -1,59 +1,89 @@
<template>
<svg
id="logo" class="fill-current stroke-current w-[160px]" version="1.1" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 286.3 85" xml:space="preserve">
id="logo"
class="fill-current stroke-current w-[160px]"
version="1.1"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
x="0px"
y="0px"
viewBox="0 0 286.3 85"
xml:space="preserve"
>
<switch>
<g>
<g class="logo-imagesss">
<circle fill="white" cx="42.5" cy="42.5" r="40"/>
<circle
fill="white"
cx="42.5"
cy="42.5"
r="40"
/>
<path
d="M42.3,83.4c-22.6,0-40.9-18.4-40.9-40.9c0-22.6,18.4-40.9,40.9-40.9c22.6,0,40.9,18.4,40.9,40.9
C83.3,65.1,64.9,83.4,42.3,83.4z M42.3,5.8C22.1,5.8,5.7,22.3,5.7,42.5s16.5,36.7,36.7,36.7S79,62.7,79,42.5S62.6,5.8,42.3,5.8z
"/>
"
/>
<g>
<g>
<polygon points="38.8,69.8 38.8,31.7 22.3,31.7 22.3,38.5 29.8,38.5 29.8,69.8 "/>
<polygon
points="38.8,69.8 38.8,31.7 22.3,31.7 22.3,38.5 29.8,38.5 29.8,69.8 "
/>
<path
d="M34.1,13.2c-3.3,0-6,2.6-6,5.9c0,3.3,2.6,6,5.9,6c3.3,0,6-2.6,6-6
C39.9,15.9,37.3,13.2,34.1,13.2z"/>
C39.9,15.9,37.3,13.2,34.1,13.2z"
/>
</g>
<g>
<polygon points="45.9,69.8 45.9,31.7 62.4,31.7 62.4,38.5 54.9,38.5 54.9,69.8 "/>
<polygon
points="45.9,69.8 45.9,31.7 62.4,31.7 62.4,38.5 54.9,38.5 54.9,69.8 "
/>
<path
d="M50.6,13.2c3.3,0,6,2.6,6,5.9c0,3.3-2.6,6-5.9,6c-3.3,0-6-2.6-6-6
C44.8,15.9,47.4,13.2,50.6,13.2z"/>
C44.8,15.9,47.4,13.2,50.6,13.2z"
/>
</g>
</g>
</g>
<g class="logo-textsss">
<path
d="M136.1,63.6c-4,0-5.3-2.6-5.3-6V38.5h10.6v-6.7h-10.6v-6.7h-9c0,7,0,29.1,0,32.7
c0,4.2,1.6,7.5,3.8,9.7c2.3,2.2,5.6,3.3,9.8,3.3c5.1,0,8.4-1.8,10.6-4.2l-4.7-6C140.2,62.1,138.5,63.6,136.1,63.6z"/>
c0,4.2,1.6,7.5,3.8,9.7c2.3,2.2,5.6,3.3,9.8,3.3c5.1,0,8.4-1.8,10.6-4.2l-4.7-6C140.2,62.1,138.5,63.6,136.1,63.6z"
/>
<path
d="M217.7,30.7c-4.9,0-8.2,1.6-10.4,3.8c-2.2-2.2-5.5-3.8-10.4-3.8c-15,0-14.9,12.1-14.9,15
s0,24.1,0,24.1h9V45.7c0-8.5,4.9-8.3,5.9-8.3c1,0,5.9-0.3,5.9,8.3v24.1h0h9h0V45.7c0-8.5,4.9-8.3,5.9-8.3c1,0,5.9-0.3,5.9,8.3
v24.1h9c0,0,0-21.2,0-24.1C232.6,42.8,232.7,30.7,217.7,30.7z"/>
v24.1h9c0,0,0-21.2,0-24.1C232.6,42.8,232.7,30.7,217.7,30.7z"
/>
<path
d="M273.2,46.4c-4.3-1.4-6-2.5-6-5.2c0-2,1.1-3.8,4.3-3.8c3.2,0,4.5,3.3,5.1,4.8
c2.7-1.5,5.3-2.9,6.6-3.6c-2.5-6-6.3-7.9-12-7.9c-8,0-11.7,5.5-11.7,10.6c0,6.5,2.9,9.8,11.2,12.2c6,1.8,6.5,4.7,6.2,6.2
c-0.3,1.7-1.6,3.6-5.3,3.6c-3.6,0-5.8-3.8-6.8-5.4c-1.8,1.1-3.4,2.1-6.4,3.8c2.1,5,6.8,9.1,13.5,9.1c7.9,0,12.9-5.1,12.9-12.1
C284.9,51,279.6,48.5,273.2,46.4z"/>
C284.9,51,279.6,48.5,273.2,46.4z"
/>
<g>
<polygon points="239.7,69.8 239.7,31.7 256.2,31.7 256.2,38.5 248.7,38.5 248.7,69.8 "/>
<polygon
points="239.7,69.8 239.7,31.7 256.2,31.7 256.2,38.5 248.7,38.5 248.7,69.8 "
/>
<path
d="M244.4,13.2c3.3,0,6,2.6,6,5.9c0,3.3-2.6,6-5.9,6c-3.3,0-6-2.6-6-6
C238.6,15.9,241.2,13.2,244.4,13.2z"/>
C238.6,15.9,241.2,13.2,244.4,13.2z"
/>
</g>
<g>
<polygon points="114.7,69.8 114.7,31.7 98.1,31.7 98.1,38.5 105.7,38.5 105.7,69.8 "/>
<polygon
points="114.7,69.8 114.7,31.7 98.1,31.7 98.1,38.5 105.7,38.5 105.7,69.8 "
/>
<path
d="M110,13.2c-3.3,0-6,2.6-6,5.9c0,3.3,2.6,6,5.9,6c3.3,0,6-2.6,6-6C115.8,15.9,113.2,13.2,110,13.2
z"/>
z"
/>
</g>
<path
d="M176.4,52.4v-3.7c0-12.3-4.7-18-14.8-18c-9.3,0-14.7,6.6-14.7,18v4c0,11.5,5.8,18.2,15.8,18.2
c6.6,0,10.8-3.7,12.7-7.9c-2.2-1.4-4.6-2.8-6.1-3.8c-1,1.7-2.9,4.4-6.7,4.4c-5.8,0-7-5.9-7-10.9v-0.2H176.4z M155.7,45.7
c0.2-7.1,3.3-8.2,6-8.2c2.6,0,5.9,1,6,8.2H155.7z"/>
c0.2-7.1,3.3-8.2,6-8.2c2.6,0,5.9,1,6,8.2H155.7z"
/>
</g>
</g>
</switch>

View File

@ -2,7 +2,7 @@
<UiDialog
v-model:open="open"
:title="t('title')"
class="btn btn-primary btn-outline shadow-md md:btn-lg shrink-0 flex-1 whitespace-nowrap flex-nowrap"
class="btn btn-primary btn-outline shadow-md md:btn-lg"
@click="open = true"
>
<template #trigger>

View File

@ -1,11 +1,12 @@
<template>
<UiDialogConfirm
v-model:open="open"
class="btn btn-primary btn-outline shadow-md md:btn-lg shrink-0 flex-1"
class="btn btn-primary btn-outline shadow-md md:btn-lg"
:confirm-label="t('open')"
:abort-label="t('abort')"
@open="onLoadDatabase"
@abort="onAbort"
@confirm="onOpenDatabase"
@open="onLoadDatabase"
>
<template #title>
<i18n-t
@ -76,7 +77,7 @@ const { add } = useSnackbar()
const handleError = (error: unknown) => {
open.value = false
console.error('handleError', error, typeof error)
add({ type: 'error', text: 'Passwort falsch' })
add({ type: 'error', text: JSON.stringify(error) })
}
const { openAsync } = useVaultStore()

View File

@ -5,11 +5,11 @@
</div>
<div class="flex flex-col justify-center items-center gap-5 max-w-3xl">
<!-- <img
src="/logo.svg"
:src="convertFileSrc('/logo.svg', 'http')"
class="bg-primary p-3 size-16 rounded-full"
alt="HaexVault Logo"
/> -->
<UiLogoHaexhub class="bg-primary p-3 size-16 rounded-full" />
<span
class="flex flex-wrap font-bold text-pretty text-xl gap-2 justify-center"
>
@ -26,6 +26,8 @@
v-model:open="passwordPromptOpen"
:path="vaultPath"
/>
<UiButton @click="refresh">Refresh</UiButton>
</div>
<div
@ -80,8 +82,11 @@
</template>
<script setup lang="ts">
import { UiLogoHaexhub } from '#components'
import { convertFileSrc } from '@tauri-apps/api/core'
import { openUrl } from '@tauri-apps/plugin-opener'
const refresh = () => location.reload()
definePageMeta({
name: 'vaultOpen',
})

View File

@ -1,11 +1,17 @@
import 'flyonui/flyonui'
import type { HSOverlay, IStaticMethods, HSAccordion } from 'flyonui/flyonui'
import type {
HSOverlay,
IStaticMethods,
HSAccordion,
HSDropdown,
} from 'flyonui/flyonui'
declare global {
interface Window {
HSStaticMethods: IStaticMethods
HSOverlay: typeof HSOverlay
HSAccordion: typeof HSAccordion
HSDropdown: typeof HSDropdown
}
}
@ -16,14 +22,14 @@ export default defineNuxtPlugin(() => {
if (window.HSStaticMethods) {
window.HSStaticMethods.autoInit()
}
}, 50)
}, 500)
})
/* if (import.meta.client) {
if (import.meta.client) {
setTimeout(() => {
if (window.HSStaticMethods) {
window.HSStaticMethods.autoInit()
}
}, 50)
} */
}, 500)
}
})

View File

@ -119,6 +119,7 @@ export const useVaultStore = defineStore('vaultStore', () => {
return vaultId
} catch (error) {
console.error('Error openAsync ', error)
throw new Error(JSON.stringify(error))
return false
}
}

View File

@ -0,0 +1 @@
export const useNotificationStore = defineStore('notificationStore', () => {})