From e130260ba1d82853c25275a864a687588177a61c Mon Sep 17 00:00:00 2001 From: Younes Date: Tue, 15 Jul 2025 14:21:59 +0200 Subject: [PATCH] second commits --- .vs/ProjectEvaluation/wpfapp4.metadata.v9.bin | Bin 0 -> 1176 bytes .vs/ProjectEvaluation/wpfapp4.projects.v9.bin | Bin 0 -> 77102 bytes .vs/ProjectEvaluation/wpfapp4.strings.v9.bin | Bin 0 -> 124427 bytes .vs/WpfApp4/DesignTimeBuild/.dtbcache.v2 | Bin 0 -> 102220 bytes ...0639ec84-02ba-40c8-8e4a-85fb58784068.vsidx | Bin 0 -> 19703 bytes ...84dd64ab-f1a0-41e3-8c91-d95715df3514.vsidx | Bin 0 -> 9348 bytes ...b99a802e-23be-430a-8325-1cc92729346f.vsidx | Bin 0 -> 32826 bytes ...bc34cb05-0d5d-4d7c-9377-a4d1ad562327.vsidx | Bin 0 -> 13843 bytes ...e44836d5-acd9-4492-9a59-9683fdc2c18c.vsidx | Bin 0 -> 13319 bytes .vs/WpfApp4/v17/.futdcache.v2 | Bin 0 -> 121 bytes .vs/WpfApp4/v17/.suo | Bin 0 -> 62976 bytes .vs/WpfApp4/v17/DocumentLayout.backup.json | 171 ++ .vs/WpfApp4/v17/DocumentLayout.json | 171 ++ WpfApp4.sln | 22 + WpfApp4/App.xaml | 8 + WpfApp4/App.xaml.cs | 31 + WpfApp4/DatabaseService.cs | 305 ++++ WpfApp4/Fahrzeug.cs | 202 +++ WpfApp4/FahrzeugVerwaltung.cs | 193 +++ WpfApp4/MainWindow.xaml | 132 ++ WpfApp4/MainWindow.xaml.cs | 333 ++++ WpfApp4/PdfService.cs | 281 ++++ WpfApp4/WpfApp4.csproj | 17 + WpfApp4/WpfApp4.csproj.user | 14 + .../BouncyCastle.Cryptography.dll | Bin 0 -> 7072536 bytes .../EntityFramework.SqlServer.dll | Bin 0 -> 591440 bytes .../Debug/net8.0-windows/EntityFramework.dll | Bin 0 -> 4977744 bytes .../net8.0-windows/System.Data.SQLite.EF6.dll | Bin 0 -> 206520 bytes .../net8.0-windows/System.Data.SQLite.dll | Bin 0 -> 446136 bytes .../net8.0-windows/System.Data.SqlClient.dll | Bin 0 -> 267136 bytes .../Debug/net8.0-windows/WpfApp4.deps.json | 396 +++++ WpfApp4/bin/Debug/net8.0-windows/WpfApp4.dll | Bin 0 -> 43008 bytes WpfApp4/bin/Debug/net8.0-windows/WpfApp4.exe | Bin 0 -> 138752 bytes WpfApp4/bin/Debug/net8.0-windows/WpfApp4.pdb | Bin 0 -> 22784 bytes .../net8.0-windows/WpfApp4.runtimeconfig.json | 19 + WpfApp4/bin/Debug/net8.0-windows/fahrzeuge.db | Bin 0 -> 12288 bytes .../bin/Debug/net8.0-windows/itextsharp.dll | Bin 0 -> 2592768 bytes .../linux-x64/native/SQLite.Interop.dll | Bin 0 -> 3160952 bytes .../osx-x64/native/SQLite.Interop.dll | Bin 0 -> 2284828 bytes .../netcoreapp2.1/System.Data.SqlClient.dll | Bin 0 -> 954752 bytes .../runtimes/win-arm64/native/sni.dll | Bin 0 -> 174224 bytes .../win-x64/native/SQLite.Interop.dll | Bin 0 -> 2005688 bytes .../runtimes/win-x64/native/sni.dll | Bin 0 -> 160040 bytes .../win-x86/native/SQLite.Interop.dll | Bin 0 -> 1592504 bytes .../runtimes/win-x86/native/sni.dll | Bin 0 -> 136488 bytes .../netcoreapp2.1/System.Data.SqlClient.dll | Bin 0 -> 1023360 bytes ...CoreApp,Version=v8.0.AssemblyAttributes.cs | 4 + WpfApp4/obj/Debug/net8.0-windows/App.g.cs | 70 + WpfApp4/obj/Debug/net8.0-windows/App.g.i.cs | 70 + .../obj/Debug/net8.0-windows/MainWindow.baml | Bin 0 -> 6339 bytes .../obj/Debug/net8.0-windows/MainWindow.g.cs | 279 ++++ .../Debug/net8.0-windows/MainWindow.g.i.cs | 279 ++++ .../net8.0-windows/WpfApp4.AssemblyInfo.cs | 25 + .../WpfApp4.AssemblyInfoInputs.cache | 1 + ....GeneratedMSBuildEditorConfig.editorconfig | 16 + .../net8.0-windows/WpfApp4.GlobalUsings.g.cs | 6 + .../Debug/net8.0-windows/WpfApp4.assets.cache | Bin 0 -> 17525 bytes .../WpfApp4.csproj.AssemblyReference.cache | Bin 0 -> 3700 bytes .../WpfApp4.csproj.BuildWithSkipAnalyzers | 0 .../WpfApp4.csproj.CoreCompileInputs.cache | 1 + .../WpfApp4.csproj.FileListAbsolute.txt | 37 + .../net8.0-windows/WpfApp4.csproj.Up2Date | 0 .../net8.0-windows/WpfApp4.designer.deps.json | 526 +++++++ .../WpfApp4.designer.runtimeconfig.json | 25 + WpfApp4/obj/Debug/net8.0-windows/WpfApp4.dll | Bin 0 -> 43008 bytes .../Debug/net8.0-windows/WpfApp4.g.resources | Bin 0 -> 6567 bytes .../WpfApp4.genruntimeconfig.cache | 1 + WpfApp4/obj/Debug/net8.0-windows/WpfApp4.pdb | Bin 0 -> 22784 bytes .../WpfApp4_MarkupCompile.cache | 20 + .../WpfApp4_MarkupCompile.i.cache | 20 + WpfApp4/obj/Debug/net8.0-windows/apphost.exe | Bin 0 -> 138752 bytes .../obj/Debug/net8.0-windows/ref/WpfApp4.dll | Bin 0 -> 10240 bytes .../Debug/net8.0-windows/refint/WpfApp4.dll | Bin 0 -> 10240 bytes WpfApp4/obj/WpfApp4.csproj.nuget.dgspec.json | 90 ++ WpfApp4/obj/WpfApp4.csproj.nuget.g.props | 23 + WpfApp4/obj/WpfApp4.csproj.nuget.g.targets | 6 + WpfApp4/obj/project.assets.json | 1378 +++++++++++++++++ WpfApp4/obj/project.nuget.cache | 45 + WpfAppSQLite/App.xaml | 9 + WpfAppSQLite/App.xaml.cs | 13 + WpfAppSQLite/AssemblyInfo.cs | 10 + WpfAppSQLite/MainWindow.xaml | 12 + WpfAppSQLite/MainWindow.xaml.cs | 23 + WpfAppSQLite/WpfAppSQLite.csproj | 11 + .../obj/WpfAppSQLite.csproj.nuget.dgspec.json | 72 + .../obj/WpfAppSQLite.csproj.nuget.g.props | 16 + .../obj/WpfAppSQLite.csproj.nuget.g.targets | 2 + WpfAppSQLite/obj/project.assets.json | 78 + WpfAppSQLite/obj/project.nuget.cache | 8 + 89 files changed, 5471 insertions(+) create mode 100644 .vs/ProjectEvaluation/wpfapp4.metadata.v9.bin create mode 100644 .vs/ProjectEvaluation/wpfapp4.projects.v9.bin create mode 100644 .vs/ProjectEvaluation/wpfapp4.strings.v9.bin create mode 100644 .vs/WpfApp4/DesignTimeBuild/.dtbcache.v2 create mode 100644 .vs/WpfApp4/FileContentIndex/0639ec84-02ba-40c8-8e4a-85fb58784068.vsidx create mode 100644 .vs/WpfApp4/FileContentIndex/84dd64ab-f1a0-41e3-8c91-d95715df3514.vsidx create mode 100644 .vs/WpfApp4/FileContentIndex/b99a802e-23be-430a-8325-1cc92729346f.vsidx create mode 100644 .vs/WpfApp4/FileContentIndex/bc34cb05-0d5d-4d7c-9377-a4d1ad562327.vsidx create mode 100644 .vs/WpfApp4/FileContentIndex/e44836d5-acd9-4492-9a59-9683fdc2c18c.vsidx create mode 100644 .vs/WpfApp4/v17/.futdcache.v2 create mode 100644 .vs/WpfApp4/v17/.suo create mode 100644 .vs/WpfApp4/v17/DocumentLayout.backup.json create mode 100644 .vs/WpfApp4/v17/DocumentLayout.json create mode 100644 WpfApp4.sln create mode 100644 WpfApp4/App.xaml create mode 100644 WpfApp4/App.xaml.cs create mode 100644 WpfApp4/DatabaseService.cs create mode 100644 WpfApp4/Fahrzeug.cs create mode 100644 WpfApp4/FahrzeugVerwaltung.cs create mode 100644 WpfApp4/MainWindow.xaml create mode 100644 WpfApp4/MainWindow.xaml.cs create mode 100644 WpfApp4/PdfService.cs create mode 100644 WpfApp4/WpfApp4.csproj create mode 100644 WpfApp4/WpfApp4.csproj.user create mode 100644 WpfApp4/bin/Debug/net8.0-windows/BouncyCastle.Cryptography.dll create mode 100644 WpfApp4/bin/Debug/net8.0-windows/EntityFramework.SqlServer.dll create mode 100644 WpfApp4/bin/Debug/net8.0-windows/EntityFramework.dll create mode 100644 WpfApp4/bin/Debug/net8.0-windows/System.Data.SQLite.EF6.dll create mode 100644 WpfApp4/bin/Debug/net8.0-windows/System.Data.SQLite.dll create mode 100644 WpfApp4/bin/Debug/net8.0-windows/System.Data.SqlClient.dll create mode 100644 WpfApp4/bin/Debug/net8.0-windows/WpfApp4.deps.json create mode 100644 WpfApp4/bin/Debug/net8.0-windows/WpfApp4.dll create mode 100644 WpfApp4/bin/Debug/net8.0-windows/WpfApp4.exe create mode 100644 WpfApp4/bin/Debug/net8.0-windows/WpfApp4.pdb create mode 100644 WpfApp4/bin/Debug/net8.0-windows/WpfApp4.runtimeconfig.json create mode 100644 WpfApp4/bin/Debug/net8.0-windows/fahrzeuge.db create mode 100644 WpfApp4/bin/Debug/net8.0-windows/itextsharp.dll create mode 100644 WpfApp4/bin/Debug/net8.0-windows/runtimes/linux-x64/native/SQLite.Interop.dll create mode 100644 WpfApp4/bin/Debug/net8.0-windows/runtimes/osx-x64/native/SQLite.Interop.dll create mode 100644 WpfApp4/bin/Debug/net8.0-windows/runtimes/unix/lib/netcoreapp2.1/System.Data.SqlClient.dll create mode 100644 WpfApp4/bin/Debug/net8.0-windows/runtimes/win-arm64/native/sni.dll create mode 100644 WpfApp4/bin/Debug/net8.0-windows/runtimes/win-x64/native/SQLite.Interop.dll create mode 100644 WpfApp4/bin/Debug/net8.0-windows/runtimes/win-x64/native/sni.dll create mode 100644 WpfApp4/bin/Debug/net8.0-windows/runtimes/win-x86/native/SQLite.Interop.dll create mode 100644 WpfApp4/bin/Debug/net8.0-windows/runtimes/win-x86/native/sni.dll create mode 100644 WpfApp4/bin/Debug/net8.0-windows/runtimes/win/lib/netcoreapp2.1/System.Data.SqlClient.dll create mode 100644 WpfApp4/obj/Debug/net8.0-windows/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs create mode 100644 WpfApp4/obj/Debug/net8.0-windows/App.g.cs create mode 100644 WpfApp4/obj/Debug/net8.0-windows/App.g.i.cs create mode 100644 WpfApp4/obj/Debug/net8.0-windows/MainWindow.baml create mode 100644 WpfApp4/obj/Debug/net8.0-windows/MainWindow.g.cs create mode 100644 WpfApp4/obj/Debug/net8.0-windows/MainWindow.g.i.cs create mode 100644 WpfApp4/obj/Debug/net8.0-windows/WpfApp4.AssemblyInfo.cs create mode 100644 WpfApp4/obj/Debug/net8.0-windows/WpfApp4.AssemblyInfoInputs.cache create mode 100644 WpfApp4/obj/Debug/net8.0-windows/WpfApp4.GeneratedMSBuildEditorConfig.editorconfig create mode 100644 WpfApp4/obj/Debug/net8.0-windows/WpfApp4.GlobalUsings.g.cs create mode 100644 WpfApp4/obj/Debug/net8.0-windows/WpfApp4.assets.cache create mode 100644 WpfApp4/obj/Debug/net8.0-windows/WpfApp4.csproj.AssemblyReference.cache create mode 100644 WpfApp4/obj/Debug/net8.0-windows/WpfApp4.csproj.BuildWithSkipAnalyzers create mode 100644 WpfApp4/obj/Debug/net8.0-windows/WpfApp4.csproj.CoreCompileInputs.cache create mode 100644 WpfApp4/obj/Debug/net8.0-windows/WpfApp4.csproj.FileListAbsolute.txt create mode 100644 WpfApp4/obj/Debug/net8.0-windows/WpfApp4.csproj.Up2Date create mode 100644 WpfApp4/obj/Debug/net8.0-windows/WpfApp4.designer.deps.json create mode 100644 WpfApp4/obj/Debug/net8.0-windows/WpfApp4.designer.runtimeconfig.json create mode 100644 WpfApp4/obj/Debug/net8.0-windows/WpfApp4.dll create mode 100644 WpfApp4/obj/Debug/net8.0-windows/WpfApp4.g.resources create mode 100644 WpfApp4/obj/Debug/net8.0-windows/WpfApp4.genruntimeconfig.cache create mode 100644 WpfApp4/obj/Debug/net8.0-windows/WpfApp4.pdb create mode 100644 WpfApp4/obj/Debug/net8.0-windows/WpfApp4_MarkupCompile.cache create mode 100644 WpfApp4/obj/Debug/net8.0-windows/WpfApp4_MarkupCompile.i.cache create mode 100644 WpfApp4/obj/Debug/net8.0-windows/apphost.exe create mode 100644 WpfApp4/obj/Debug/net8.0-windows/ref/WpfApp4.dll create mode 100644 WpfApp4/obj/Debug/net8.0-windows/refint/WpfApp4.dll create mode 100644 WpfApp4/obj/WpfApp4.csproj.nuget.dgspec.json create mode 100644 WpfApp4/obj/WpfApp4.csproj.nuget.g.props create mode 100644 WpfApp4/obj/WpfApp4.csproj.nuget.g.targets create mode 100644 WpfApp4/obj/project.assets.json create mode 100644 WpfApp4/obj/project.nuget.cache create mode 100644 WpfAppSQLite/App.xaml create mode 100644 WpfAppSQLite/App.xaml.cs create mode 100644 WpfAppSQLite/AssemblyInfo.cs create mode 100644 WpfAppSQLite/MainWindow.xaml create mode 100644 WpfAppSQLite/MainWindow.xaml.cs create mode 100644 WpfAppSQLite/WpfAppSQLite.csproj create mode 100644 WpfAppSQLite/obj/WpfAppSQLite.csproj.nuget.dgspec.json create mode 100644 WpfAppSQLite/obj/WpfAppSQLite.csproj.nuget.g.props create mode 100644 WpfAppSQLite/obj/WpfAppSQLite.csproj.nuget.g.targets create mode 100644 WpfAppSQLite/obj/project.assets.json create mode 100644 WpfAppSQLite/obj/project.nuget.cache diff --git a/.vs/ProjectEvaluation/wpfapp4.metadata.v9.bin b/.vs/ProjectEvaluation/wpfapp4.metadata.v9.bin new file mode 100644 index 0000000000000000000000000000000000000000..30c6f311aa5abb14252b27fdf6a094fad0a16c13 GIT binary patch literal 1176 zcmYk4ZA^_}7{~9YtDJMIBx7qUALOI?VzItxv+;qZ$x$kC^oC|JQh6D%M&5EzSfhE# zOO!}d%AvgGP$|)Snh)ei8cQGUTl~-SZ0GK5zjOcZ>$$G``rp^{XpG5AeE;%IiH9Tl z%AabLZ*nA5JJpD|&+D7wm-yvAv0?wGz82dO7G&8Rp}wU+Bfw**fb+tzJl?eo2Ma%Ug}jMJx6m`@fnl^1`!Y`DwiVNKKNT>38?kau>8->5 zdh8A^l1IG8%P?>k+XHmE2`{hF6X7eT0wDwW)FXg=Gyw4?!)c1CM~6)BGgIx1-N6tH+$0aw;#lhAl2q z$f;u8n^;e5=F8Ej1&D5=P*baZ0g*^7p*=qM7e*gLjPj4~4nRVj%C*sUOSD~|)hVjX zHfAHDh*c(4)p6wdx+f^C#H@j-dW&pwcp7g-q^oYbXnf9P!_FFFUA|+h=HY~RVp)f# zFLuc^<#)4^>r_IjipDArXUXI|Y0*udqme5GhFq)4vfNV@3CiRiWyeCSJ-0voH|B7L z=GNPc6IQDhCMvSd_H(^1QJ`)dtrE7<=%fbYs~9#h=>$K(cQ6D7T`MP+vATQ7=MJ;{ zqO>NMCbY?oO#cPqzqw(?P8;4O`FQ#3!bAKOS4j$Jtta}i!@r=lCjWbDo8%T7grA&z*F!HJO?kp zOYjObg4e(SHsJ1Wu)gJ*v_hwVChSW*nM{OkhHe2Hp_9Nn=wz&|Slc-Bk?*+-(qudT fCqICXpaXP*E-t&d?1Ab9eO&f)`3Y)(|I_{h3{eJD literal 0 HcmV?d00001 diff --git a/.vs/ProjectEvaluation/wpfapp4.projects.v9.bin b/.vs/ProjectEvaluation/wpfapp4.projects.v9.bin new file mode 100644 index 0000000000000000000000000000000000000000..447bbb71038d8e3f4a2083d1130ee99dae239007 GIT binary patch literal 77102 zcmeHwd7w?z`}f(?xocmUNyt1CLYc!wWQfc|AFAv7wLX33o4$}CCJKpLo|xiqV! zNm3F;?2mKbXRW>VUhCYmzrOu?Uw^#syZ^ZRuIKYiYprLkz1G=hpY?bN�Y9Br4up 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 literal 0 HcmV?d00001 diff --git a/.vs/ProjectEvaluation/wpfapp4.strings.v9.bin b/.vs/ProjectEvaluation/wpfapp4.strings.v9.bin new file mode 100644 index 0000000000000000000000000000000000000000..71223df4b0839076462280390cacf5d2a3dfc0da GIT binary patch literal 124427 zcmeFa*>9X#mM1n@N=cd8_bs(hTT-EvLSzJ&P_nYRD3Ve#OIwLlDyxe%s$j%NDpJ9S zsQ4l%vAU|Kx0&u9V|wgyW6-uAY``$)$p#Fx{b2ZEV8HWe&#MjCumJ;xA8Z5u3;a9F zUA`?MxT(8=u1YZ??sD$A=bn4+x#ymH?xzR-!9OU?e7W>84BFw+a&37jYBiJvKW{la1$>rK`mZ>IU%-*30mmPSk5fu+&O{79l#JS`62xWz?e*jrm|SZF!9 zG(S7X6Qz(;duoeoIH|*dU37Jn8dO8R)5kNCwY!ZPFx{Yc*sH*hQHX#r| zDJ>E!A)N8ub{kZgIN!hwTPt@U`J}sFq%@r@D@Y{g#ZK^sOwCu#_S<^1Tvdt;M~Fx3 zluChEx#W!5HcH(VNvfc_$lUx8OKR{A$SGoXV~F)GT^nTB(7BX3lQkbqgU{>b4vnSa z^?3$fv0@uLj?k-GquP8Iq7w@SHKAOr<%uYQgH{W69AV<61=h13*BYvw^b$=`ywhsG z*#eHd*yk6^AsFjXt+TYus*P(amM@d_m%Sw@glHy!!5XMqJXR4?A1q!YHU-3=%CVjsALjJ$_K@EO#q!p&F-&4zI(Jg3@$*YyFKt>ebyyL20tQ zh2EOoX|`54v+$y%xR!d#u3HV$hx+7;WN*UXXSk_r>Uj8`KV9=dEl3_kNJx?l|3b zke#JBG!&m1nBv(mb`4)^qISmVP2-yaW9Mh0<3?uy(ixD8PPZNP82iSZ}ga612wZ&u7F_BCc@4D&GjJk>VaNfLB$`^V}&|X|C@+;e&Kv(6MUizZj z=+xGN`6>?XYb&*&ozU)nGO(W1AJ)$6A9KxmOsTXA-rzfd9zb^fXpK*KpRKIaYmH#0 zTzO;F=m!H6Iuk?^TdN9f&V}Pat+7;It4@r0?4s5=<)affZapqHR=efZK$WRnJ0WX! zuyriQXsW8aRkJ9MIhv90i1?G(R`cnVl4otU#*R@*ePQ%C*`Rw04km0JRgy8j$)nP3 zp!1>`);Ai-QKK_#gT*<61tt2JB)5(`iHR8uAC=3t0XtTH_8%sVd$z*nhblpv2u9Hn zvr;5)8;oL@QT&g#jj?TSNt~|K=Sp!+jx6l7wbjNVgt!^s%VvCCmOsjW{NYeE1a^oR z96fK2>_WRM&crvZBfc@`EZOr>OW5uT3&A1EONK-wEI8jEyssc*2XsJFH$~%o)`c@8 zI759%^u*v{w_axZ5@V^d`Pmj_J)kFXnxUI@WQM4r?byqEqG!9 zbY8N~F-z-X&^U`D#nJm-5g$m=wr4B#ZTR&;`gcj zYO5sc1J^mX_NHPVFn_SS(_k?uuPwrq=COiFGUPoCb_l5qGlAj$Eo*inz&7Ror~(=D zkk#B5z{RO4xt-Gp?EH-he06zc7vQBQa=?RaRVwb&=yAaoNnHs)V|i3thA zumA40(cUU8J-=w?AcOZ`{7qr>Dp=Ozq6j|!;ol%WJUjB!Z170KZP%0m(86!qW4Tz4 z8MU&V(QazQR^+Ib9)r`rg~x;Ib3HB;s6cT}BdXrTu(rK1+Mix2(CRz75sj;V3qgCm zRtcU!x3aoU!6L-N5~FNBtqRd=OFB;)uqoSq?^Qdk?vC!283eEAdJv$1@`cFR3xFr1^ddcTPt zC4k^+-)onM(Ou{+;{us~fzxHjHe1~-ECC5%+Ru4hMy-|WwOQiAW+O!wl)x(ZD#wu8tfLqwtKayW`2Kr%oM#3&};HUOPWcvzO}K70^5AE zTk+KOrcmTsK(E##1x=r~cu6AyYtxM;&5!*>y)GOXKEJcIu)JIk7CLYwE4QoO;vCoB z7J3YFbeS3)X41C2?f&qYP|((!e`d6PJUH^{0M@oJ!+KNxQP2q5W~oyWyo1IU#xT?Jv-P0eu2lmoea0hF z!5Dh_)!H4aNYuH_8HSUV%_!0&$D(z6`SNFN-Fu5CYQx>(Q%T@#{ez&GsNUIz5QQh6 z+$T(E?!MJa>F=ewhjf4hy*so;bq>}=G7 zr3zw~#iCb421xmq(iW(K5r%!DS?oXq+vuKB$U9l1$zyI`YVP1Gc&uWt%NKn($>0EA zx6R#~R-ECR#m7BXzMx;2`HSM8mfME4zdvT6!o%;(@Sn99P(_!%yyK%b-Kx=&T(-+_ zuiaDTwbKNYZICKsL32$2Uy5j_V-`CY$tsp~pV{t~$hGt>ES^&wh*um7_RtJaNdXUoqOMc##`&?>0kJXiCVQ!0&5;J7?9Jz-To+e zeYaJq|NAxL)7fBsuCb2(kXI$PHQwEQOYh#Eo+28=*X^Xb+49C#9l`diPth?ykI?_= zR$Ej+Ht?pswQ)pqkU$Nb)t|6$wmaPxIw^rIXSUj~*HzP-r_ds1nz&8$(dcPyPN_)z z7ZwX=;*Aa6dS9BzozcR^0I0UEv-&L)nCf0{Rxr0bU;lp-w&CvS( z{rh?RJE0}j+O@dR3O**EXOph`S3>cKVG#-A8Y@A(V#uhKtaHtNb+I;GF+kO~I#$h6 zKL>*JnK+8lB}Y(-5@R7eZN6wWJD(2*8@GP0A!O#C#~Vlx2wRTf=rwq_e;xn;X6}l*o-j&JE{spGhCJ zw$0~W9)SUbjKB-sN+k%xy996UeWl*5!nVmdss#y*FgHAO^{b)bPP-cn4;|DZB$D^C zo-(~TqO>GNQ@)I-Bb_k+eb{UqS2Rg@bvSbB6A(v<2dX@!n4WYZO;oy-O`1DHH*O_B z<#M@85ey}M@KQ_6D&f*G?uB-lB*B#%w}=%1X@xxdmf{so`V}5F>s6>xWV57766ZQz zBOwYzXuI84Y)KT~5s7E3h=s?cRiPelGzD=Q2o=}+CP=Us515jz@TDb|Wr6tZK8>1t zJC_vx&fPsqiNuCAS`5)^@Mu_Wm;}g#6c%>B%Nug{(^V7^udS}UW z%fa?4+N`Z^OhCEh1zU^S);cI2h!#kse^)$FZA*C4@wvq>K8Ag|CymjZx(biefsJf{dU?_V&2BN?XC_WeVtv1&sDQ>p>eB zP1Ctmm$tT@H?Qf>h_`^C8fL{Z&IKd2qcZW*)vk3Ae`KJ3LVmn? z&F-#?P5S=TAk8ND0nLJUgX))q)F$)-1UU}E#U|nVn!jJws$atirEcswlues+I{pcd zM7HVSVcw@ty$I?7w7*Zy4mmtX^Gs9EKt=L?LL>SL8qx3p(GO`qv=2tUx%a_gYH7NT ztHf&v1+iy*v~X~)-EOuiervn44?<+E)j4E#X|x@pt77u<1LiaBODHjSm=qEE7PiWj zAffP4P98Ap$h>uJ=-Qp3Yp<{6a_9=_uC+!DoLZ45G!{12ma+C-p-CUQngJso(p$*5GFzNKVsGBT4Kj*3-v|K4iTpzoUwT>TgdP zPzyo1U3o)7BD?`htwx^nQghLYLxgr(F&%*+SRC+92#vreL}BtjIz?PuUk^l9tD1Le z;ccxYg4D_I&ti$Z6HpV;NuvvU8rLOfz)8XBOgg5=r|Yoda;eY z_N#K67QJvfWDWtpwaK%fSb$p>G-CSx6vAd5yTG-Hu|o^sDbpxAT`zA?${90rby0ZM z;67Z@pD%)6bz!D>j4LAzY$u`bx8R&r3C_>F2`X<9*OE>X>6$1@ar%;*?&9SRv|B0H z>l;|ct-FJ1TtSCFv}y!4zLo>x#cM(Mm_$7ohmSE;2irSJ7ixzfhd0c;1T7ZZWmvMP z&q##i>0H*Sq2(yam8oys*O4};*~VpFzHGFG6RM_wX^ZuB%r{T1*t{*-kRI0*!X^I) zY02MTBwc{AzQGPhbDOlOpgG>l0l|lq1iPI>IyGrJjl_;1-Rg+>ljuNcwA0J3K-vQi zPpuF$TBel*^!A1PH+X9~O#0pp8VP(Zp&sfu9>lpR^@!vsd?_+_lTNf|VUFE2Z6H&* zr3I!A&uLR4IKall>eMdI&%Ac$8X?SUVBZ>I)~qhnu}IQB-@}tO?g~+c1Med}DZj6+ zb&Wx84i{T$P$njXb>yxj%EhK2M=`tQN*TY+bZ~oMG8{@4j=@Bs{K!pLjE2Cj zsL`_Lxc$52QUVioV>MqGADO@ocI0=ms2zH*Jtd+fJ!+R*Z`ho0Rhv&QLTl1Q4|Ywj zC3XtOlS<=bI9lY>c|=5b9IOX*eQIjtGgmYLaR0kn*3vFonPb6vU;WmB%QZ(dLh zGy_%A`hNZpW34bb5tAh`H(KF$J&3w342o&eAOi^_7fwHc5`=l9#dNs#lj$1_dRjRo znyZHK!r1k>2I&#Fg^J;Y&cH_~QRWSeFf(#(nYpRixd$&FO<{u5ztZaw`j~n4 zVs85RbDRRMVABFsB!n*33A;CL#Zt&RucHgaJ2V_>mVyvGwz#sk&=R@q>DqY?_b?U)>NYHAx(m7<-N~(4cdro}?DR(9s?;1Vh zN1P5C#SL1(`51LvFv6(*LuRU2C~6zFkmOb@la!M0(~|j6V0Z|d#i5jHu60YUW}Ao@ z10SPl?&Ecg=$Z6F(=d2?3RSWr3M>U3IyNcfa_0oFA*(}jzw+FhB!|gE$YU5SHf8pcDdHMvk#d6TgTEj^ z%!v54kI6e%nO;!v}_X{0|`dQq3n14=5_d5Y$F3pT5r4RM-aM zBYB=qP*VwXCjEpKSD(`}1|-}8HzLQC?Huv(kfr;PyNIqPiYPsXD^m{8z1z2^TtDa+ z<(X9aynXxLZH^iz-)^_S+wv6-KJsNf48ux=zUOBbUi1B(lj>zaRyaMn4X?8vVV-+5 zskul!Jr=f89#Y}qcQR<{p!U9e?s zJN-oq>ckgjB`8mq1H{p-*4NFjb4B~EKNDLfC}^Z?(E)e$Z6Y`KfBpbX^#Ngqa-fNl zY{J+k`%bf4v{JdA`5iVhN@X1xl1N7;sbH|nK~(mh#spsEC=?K)9k$tNjYRby@3_Bz z6VieCZ(b32A9n7#NRR}1eA#)H?U2d9!N*Oy(E&qnya~`r7Rr}+&0ym*`^_j*Zk@1( zQ5Qsn==VABMQ@csp0)ACm_2;tug^EwAA+jrIv372qM$yN>48Jpk7QmePn)<{U>yIF zgt<3`w#Ft#<)gqKlk!*6CMB)JX{Av%-5ZS&YWOmgemEEt;8OX=GQGi`-518SaX7|{4LA!ZvN7)HBNKexV z-Jkulk4WE*bE=lsl>a;vL7TzcRg!11qws{l6di%BEAto|M~fyDh1}qIb$K=e`?}s-UY-QE)sPlC$q(u+}0~ z%d6??xt1v4a&`=w$Lq8LMcOmVi**{uj(C#D%%FnjL;KX5uP^<9gwWXtGmF zKZg71$XOg&T4*%=6qC=OIAmny4tnLT+^wV1I(%ut8ebB`p}SQ!nSaT)_0NID8Z;&H z_L*+4l5yIN!`yng-eoStyCs7a%vtcfFZ50GxzB{i4!$=QKhG3gR-#6unyOGqF5M2i z8A#gWG9u(LsP%j?LDDUr@5!F)DcNxmbjpsAj30@b@C3}@Q!on9$K%>^yWHNmLgi?p zqS&*QS=joX;0L6px|$qTL&$W6b{?k_8;-^Da`@56*HBARvy5^wG%dPs+Vu)8!-jz5 zgT|KHgDuszc>3VnP->H`c^Y&(?Q-2n%Fy~WfR**=FzGaK4?P_OhUs|nKB&cTM>jTq>AY+$Hi?;d zqt9-juDTVr-_RT$ym+ohyOS7}O~Fzl&fT<1GGkH@KAs>&DWly?5QZ;O2}Nh8xXfoP zA(l{Cy~`?Z8u^j-j?ZMtJq$}eOHbH8_}H+9gb6bR95Gf=y7d>SRapX-% zJZsPcwF_^W@8C{Hi+Xs{s&*0+nG~7hv9x(;P80XXW@qm|n7I3(G%8lL`q|lO3jOW7RZm?AXj&_2oSG<9#Pm zZ`5dUsr63i@`{5*qyJqH;$sGO8!Ts;Dx@=RKw~6!2-@G$82~5+I>5}gcLwCBLkX44 zuWMBt@{!`Bz#*&QA6luyU!3H&RbyE-_m+~_9VRR+q@L$cNw>0+KSIX`0 zE$%D*#`^6m{j!_eSNb(KwXgImet>-?H)qs_jD4k#(hlw`BTeuAzB1BW`o7Zd=+5mc zBMtwHZC^;S%X?G-ktcSM3^P8#f=tkjS_OmT16J zViS1=tkdv!(ql-&bTZV>R-G7?!K;`N8vBTP zbA!%KlKHCfvphWs7>r?jOzj4 z4y{ML$ToAgKf}ETCxd7Z2ZV{fumD?`>cSh8vVcioJlL{!OB-N!I)o2#$+&il@%Gq}9ipd9z` zq1RL{wbB{hy=gIP9t@9iGI{sH_Eit+XUL1;9o@Bj5tOU652tp*3t((p>1lHY_gTUx z!P+vW;F%c4FIxpN^_YM*beW6n<#fMoEx@Shyojdf@L(KQBP}DngqmnhS|MUiU2ARl zYq=k})956Hx@fkiar+QGsgTh4crC2ee-7xWx$$)aa-M=Lwav;g9rmimw#wlF>s(2N zga*|6_lk;l<7qz~Dn0bL>WJ>7jjIj1q+SQ$B3#Kv=gAk}^U$#>VH6OtoA#T8+VF_M zKoGF)`cyQYCiM**qg)@L!b!!}2XYuV(vl|z#(fx2tVNe_0mE{b@dvfXS)ZlkF8uT{ zo3TGn$$K2EmMa@`>i~>-#t&#&W3>kHkh8txX4TTvx%ZbBnkyan(g$wWv*hWTr>!de zB3Q-5Y;TZ9=)IImRzR7N^wf`BN_ngN4f*?v3%U|2cleEd)gOq#!HkrL!nRG(Iw7i3I@64udGX zfSq%<#RF7z`~JK+ZOp%`HP)*3sFfCI_and+cJ>Uu8Hb9S@Q~qr5a@s|TA;1!vV-z| z%>&tL*IW)7(?N4-Xj9V!+69t5cH*1f&{`251x+x0yD$f{!|-{PU+zYZ9!`ay!V8pd z_vH5Lr5+PN%$1dU*C$gh^jwI+ecHrLB`JQ!757qe-|Zxy$wPJ=Q*h~`SXb#hDtUI} zmd4~k)D89nV%2-;mK^;O^`dY2#7}>Z@ZxXJ6@FyKSG-C%(+(V+JV#U5C4-Zs-oN?S z)PK$AJUFW5Tynm9+KkpUB{`L}3@j%ksYBZy?&Gu|gbffsohz|yx2Z%d1Oc#olz?NY z8L#q_U_;1dGcW|?4Pk#{&BOH@-5fueCGlnRUN+Vc40$y`V3f8j2T`X8qwvAN$ImQr zt};2iG%OtP)>y!ttHaE1UiR=y7)W-TWb4|SF{FapR7XE33O3c^tLsP9%`}*C0bwS3#VGA1Vxox(2#Nst;U=V{k7TNptG}_ zt5FLQhI8QLPiZv_i7xn{Q#s>(gm#OW-ua%M$cHF+8*@8sXE12YQY^h~@{kovQ88)@{P`X;iOi>&Oj%-IcuCnXB5CYY(KSQMSe|r3 z`5|`cblVESqO%Jr6basv0z~r-r>B%KGcRrwu!v?Ac-ca%EV?Ko{j=q@Nq@`kI;Aot zMmHgA90I**?+}(U7Zkcnx1%&~28TpVtN~ldiDE62*2rbp!qgOLb}o;bO*kIHzXGUK zD0mMo2t*Q$q(A8|-2|$!+x8YF;7ARdk^8@XV8$f=snm~m#4*Z1+@F~0w!g@+q%_Pg zV%}g96X3R{Vg|Wl0XVFnjKLc)EiYc*I@p?-A? zZr2oV(^-eS9gbI~>vn?lD4d)q?24b(^f{j%#zH`zpI7@@2%beurjRAD-IbTu3 zA8e55AJ!CDgy(%!>=H(}Jj51-z-k+wbE|;2c0aHrZQxlWEEeMBE~T-DrSRv5!eBoe zNdPFBvoTdM^=3G3FV6lXvN)WT@#PHPWOXjfZukY9l)CjQSvY6ld5tTPJ^>K!OO;*P z9*QtSzm^;cHXWQLS8 zFzlR4i7{u&^oTWQix^J-GKI@Miyd2R?wFZo?R>v=X!ybFY-(g;Z0(3iFwLusbuM)V z7akLS=-e5N!vAb=LXsHK=jlkaI*GAUguQXg>VJmVWbN!>p@Qwo^e$p&#c4<^eeOMG zp4?yzbNvRxSi~Svbk}mnk+Z+x{kh?p?W|YYj3v2Fzw^GHCGH8>zmq-ludPAEUB36P z4#3wk3`Z@)xk9X?4OB8wsDL%@38auAb_#S7tbBk&;a#Ez0EYs>pbpce5qhIhJw;Q% z8PY0wc4pZf8ZuyAd>Si_ED{i0ZMjq;n~L|i1475;wtxW=ze^IMd}?+f0mUY$=3?l> z#!8!sRM5-*)Xg)3GQRh09NIm>&;L6#bUp^%UDx?DD;fN8a`$m!y>f;APVtl7*&FgY z0@yn=|BF@cT_@=qxE>Y+nCc#WH;2PXc)`L@E=+6(BwE98h}6_&mhBWKhc^cX3SKHu zCj<*mOn1gCX9`AnLdwYPxYUwS7Pu5+0S0E5^p?Ra+LO)qJwfScJC@oP62!5%-0s^m zTl6SMgNb2(za&z@W((jrNUm=I!1icv?^Qpab4Ozy~oTLF7ws5d;v0ymG zZ4YhT*C+!fiAIg>S7{J3xE9cTeq~yFEy25OwhV>l+0@sIwKaMXe65v{9|I~BBx~_Z z85b!n92&%I*gV|v?36?c?zM0!b{=#p9#00OXfo{`zJEt){)W|78yb4;H^$P2omCKt zK}P+UB4-)oYr_q4JCNDPW;(U4KjcT5UO2wOtH*`x4w*OeYr4~E*OqZ#GQ@4zJ0j_< zcBdAFWLcuXpOb%7uh&a5Ty=);;KVAup?UacYrE{2@w7|<^NviH_!$oF zu~5`|TaZ`-gW!`aUM20=C#8(w-~n!%>mEU7>1#3*Qt~Z3{@nBp2Pu4qxL0AvyEJ99 zXn+n0(0haR-r{1HAi=~4M3S8LHnTuJZPxpU5QN8O$fYi>;7q^;V|o2@Q6R>%Njq3qBBH`W^>Qersia7ic5=RM2V`SRZlKpJ=e z3#K8W_>mGpyrC3wT8f+4AG)iT?O~9AMs2%zgbz&Z&;P*oSTzoEjkIHHK}FA%Y(DE5 zks1u$lEIw&c;cH%tFxgPI4m$x3MgN=#M&a=nQZj1SBmj*ceGO$WL8Z%DxV5R3*Rl-Za9HYFQ-zb32+n zuml6YK=@Wf3|Q9)3M^?3f%u#kJ)>oCYhmNXC3rGfBNS|2lBrvaTYAfU#qkq=ly zOmn8Aj)$U${0f5%#8Uf|m*Oa6_x?RWYt?8AGBY&Gj!-s!*$a%VOmFI#MMwe1W`lRl zz_j!LrvPx6EK^J;3n_CKaneBEibTokQSjzeta0<((3}k# zw=CUe>j6RE;|_3d3v;Kj192 z%4fb#%pB-6_kUqm4O$nS>KrTP7KIOh@4sVlvOP0>w+SBr4QcZZwUjxDVSd2|%}(g5 z!Se=Q3mLqcqi*j(5a`80L_rL(w+^u_)ZQF^V*?3-7=mj3Asf$Ds&5j*frMl>hFht= zISg~z!YGDT*^TVLbvB2~7gl_c;=+CiykSfegcXO)CTeXCpTD-6h-u79g+#&!6B8B% zYs@kMMIanFAaQmHb#ss{HmyLm=zyDwM=&%78rv&qBQOar*IOl1ft3tC+8QE2*2Q0$ zqMGzrVgC;+jY-ufqe0N#EDSfme_P3evyWl!t|Abz&h`w@#lc};^SkaeV1L8P#9eFG0JY3g;qIVoaFSTh)6>3xd;&LO=c zLY_ytrM_UR3GXJ?!`^|p`hs4fpo2r$wS|{`+%*)TK^iOY3tBiGEt3W44H&;fM)z~B z#gp@)L^gWX{&rdC$EkTdUPZU#d{AGQxNpfU%zZc_LocrCU7E|7IZX3km_EG$N60TRwZ$!w57RYTmCS2csQ6TprUV1T=CQG zZcm5n#;E5Wz` zhEr3oMLG+C?#~Cl2zP+x7ZU)MXtkZ92ef6&l?H(vkvyPm9v9IfB2cM45}h@C9%FFG zr2#qpsNP(r;I9%25laglnO*Zcf*Yk2O4KVs)GsD0_C3_P;e$0Hmq&%|dzI z#Giyi)eCu5m#&?x2R9?-_?=lHz8P6QQ2xrxZadE~aGKz==W`@eJwn^fAD$J-%F3C_r(-4Lfb(K6iX4|%-Q;Jba^^UF=LLW+s}lpb z@F;v2n35*Oa`qyt)hAP(wTu_txyN`yjGYk36O0%|+nYCP^$mC-rx$SwUe6|u8c2%K zX9;*1CiVWmYs#jy>Pnf0@dQiwR?qJDBkU6W{}83YM!48~8#Im;N0(QMrSXY!wKy>r z6vv-OsCZ|{9QyJ*D#{3;Icd<3AGOT=8?Msi$JB)cuvc=D-V zi&EYokh@4=_2J@BxRZ^R%S$SWgLs6FQ(B7V808a!p^KBK^O$mS`GElT#DXBCVR1%5 zi<9W4@W=u=ltK+2D#UVFrPw4quWbso>2572x^2r*%{!T{Er?Dc5j|*t2_zz`IqzTJ zlR}n88aMbMr)T6+pk1PeXXrg_7D#rZq_gRAdahyNU)T@>d0v`0vb)6ZaqGd^2{>NRR=>3mL$CQpM788Am4<&9N5Pn$9P+eBsaeHVxf4qG+P+CTY5M?Jv;NDP@KJAKp)2j@1t{x-h4L)#Afr|9KT!PMptYSd1kpyCz&jI3-Xs|V&_$@FYImZN7{)e~>^2@f z?Y4t|vb#}LvD1F9w-7uGk@}sc;)Ub(D(o?*o`hamO$>LAP9E^yh}@Ca#Juu~3E~|_6L&!a*#mt6@IHGj$vfUnG8Nz7=M`QB(a??xBMxngrZVdz;J^c2^w_NiJ z!77C-f@x|~-EN5wP#!i0r~y1wSEQ@ZPQ4&VDt5_#KbP7p-wLNthBWIsd_{8H=%h4UUpVWvV}d37@K0@XycTpQDuMXsvPnj|s|lZ3rJHghRF2L7>>Bu=;lCJ}gWDhF1bv`GVE~t| z+xcpQ9LqmTG&lSWVYC*x zYv&;-rhtQ)7I}TS>f$W(8{9<6d>muX!x)+hDwkWWLcTBzlT@$LCK&9i%}Et@N{YYl zZtP_$YASTi4Hq&v{;3EJKB%B&0q4J4ToTgZL0ID4NWEPkG2T)mI$+pGT*+M0c+s4K$Bjw#|DXINPT#0hT^*BfRwTDcV+nvpwAPtgfUaBycLJD#UhIh2+> z>I7emxN3A!c{k6lziPE3FK{w^DkoXp777x{#Nv{?Xn)FD4RKy<#gkO>|V_b?%>kO`ACwkWISruB01*L7Im2}ba9b0 zks`Fk;^YHU{J8z?d$(_!=RVD|_iWPTh{DY}1#Py6t{DaB{Lw=SOt~1V91r)svjCMCy%o#PZAky3-gUgt+|1v_Pw?YWrbVI zgK=AQIg9ndBCm_sE|P+X7ZDzG8`U~uD#UFY z+z9mtYtA63+(b{)fl%9~;}=u8Vm4T(mS_?0m2ZF?H!E-zK8#F_z=-AvXIu!8Wmg0Z?_`qGXt?)TVbUNpj4 za%2J#ov0!}M|+p7|BD^$W)gZPcGU4NQai5f5$#Csq6z>CPoq7aZx|X~xBQ^XiOyF) zkk_|h8%@?0=$Jv7g~ZD6(6hcz9g#pKX>3K%@a2rAwT%lA>gLVXhzzEmk)T0WRxnmt zdV$i3GN1EnEvy*#D3x>bK>JNrL_FA9Yv9xzs>oWo1BC|={_BtYNzJ#|)Bjz@f>yp5Zujc4t-Uvv?h;YN4kzlM6yoCaWS|d#E zJV=kRh6?4qkHOD(P#j}CFpZbr8=a8eWuq?H1lpY-p3qA~REHvs@PHB+>(4)$dOhF3 zi8Erv{yKP6>wMi^mMpr-{<2+j#Sg1X_?d zE)Iyd6|tb~OHQs>Yom>)8#}hhjW{H@ELGaI7TImH3lZsb{j-Jc#vu{$X;lZLay?!; zff`u48o<-^tp%8%6h;De0EfF(XH54NYaQ5*Oa!4s{WuP`KFhNjMM}rqvi0pk9e;D( zjJGYB=!}UBZ%c$<=mIS~@*-Hr6Vgps@zaQ8$AryRAf9<}da>yMUNPjB>1Yl)Z2=3! z9-cm1NEEtlfatzhRXZ4&!Z)xyVg0o53VkP?*z#Y}?SL@98ku%}7V*wM+~l*rVd zPP|LjUQn*WCl$TIYC6+KG?&$&Q7B`A#blV}36VhMBjf=OGm2_-3N~^Ps)5R&I&LtStSj0XE-*oNLheE!l>X zXT3N9$r}pN3Ge6DP)_z9C9NJ4dFQ+HR*WXkcj^3N@CMg+rivp+GDj(x??a?cKl4ww42%^={DYB5tZ>kj$!!O=S|hR2un%Es184f_aq+ zd#0UaJ=|MsZHV1R10W>JTriT1qal$_g$ZA02jX8DM{;Mq#r7@z#Tzv^sToJ1u3mFEJtKDPUs~{c?{P367q;0K;nPrWK`w;oh>?+zv>GTKPqFn+h z7I+#^Bob>GM<{m=D(c4bX06eIny=yt1mFT!)Rc3qaj7sa6~+aZ z38^q46(*#@gfuiE^(Lg=gw&gmh9+W~s=?mxMn{MINJ4k;kZ16ez;9C1KjqnDjw- zw|GM}E(v>=guP3`-X&r0(u6<}_AX5_f0ibxN8oj0MSSQlY8}6*5BQ*Zg%Rcu zd`J-tMbJ~(kyN{%vJ3TT(|P+vY6 zWNmqFI@k^j+H+lGx$P_H_@Z*;>%fpXfOu+&V zKaduJ@bKdoF%dol7asmXQAk%5(iLS;MRcK;jEhJq{9;^+Lb{?1PEiJ@DC8*$d5S!_ z3Pqk=g(6Qb5J`YZ$BNRiqI9e%9V<%5iqf&7AYWwUfhKhYAA|%xs4MuOuHb_Rf)64q zK8PUrAhP0v2!ifW>-Z2T+?C=8w*Ubx)hDI;Bv&8h!5J5<@j>CxRj`W zjFei3ZFzc%m9KF0bvoLvTIS(y8%_7{v9;r6OmCuYPS0`v zz}x4jgA@*`On_F8Lg zc+Z?ri_fgHGe~S6A3YxN9kTa{t9HVq3CG%}K?h#CHR@uy!&g_xuKAhd*bH(lHl*!i z?AvTp*JL@cO{q~w%>XQazMN^+>*Tm^@YFE<6z$qlkPgr2ae4NFR|yeLT>^V6M0fGi za@X%}9WeVuWkb&WLGp6a;7b)&4sx)^f9#a2H=xA7o7!Ajrbml2GR=Z?f$KVBG*y&I z65_nC$9l8PcIjXtyJ@2*82<=SDYDDckb)e_4l6hXf;ZWKmCiF*>9^xwlA1R`TGd~& zsEAnrD_SOm94jWnpDGK?R}bJi6C8gb@^hzjlCzbt0U=CxT5Ro6|`*`si+vRU3hBftPzY)yJ0J+SXLjB=G~!cEI;>S z8a4?5?9V;pQDnesYw%bi7W7M=&@Auh^rR+H1PF7SdH}|Fbe}BoxWvNlIt)tsd)E7| z6k#{vJ@wl1DW#{M9-gX*KlGG-G8t}yGQP7rH8^DtLZ#wAwZN#Xa}ofl3Wcjc&UAU)j^h zO;^ngLH*r)t?_)Tx{PkE@!vsuKQuKpRLX3~gu0f&OAz?Cesf#FcM7f`TWvgdg*0#+ zQ)uL0xw!D^O~CvBPCAaG8gfJwhM}bp*F99kD{DC}qU_uOcaV+i$RsLU-8`lOT+aO& zUIdD+r6uv@HaeD+6z?7W_OTG&>WuNr+Dho(v^tj)OC0Z!FL+UoJ7`QnWyTM%Es z+&265%$uO{*5=CEwHinRmvwGQ9lZkK_LZM&HXe&vN9>WBbxe)U#S_@yPPaR?6$As& zW&ecs*+fjh6vxZKyjbc?*M&edq40{9$7L+^kHW_hS5m+MzUm+D*E=KjWnK4%?Q66? z1G`L(-=|lt#Rnc{UA@fS*z};JzF^Vq+FSSM+)NHcJ{87E6)}_ z?yMsjUvbTsllRn`ArhP6{$<&GfBdc-*7m%de!d?~l5OoE9FI*fheI@J%uSrb^uy|R zoMkSH99*cug`iz0zqLIxUwrX{Zy)^N;dOG>hc{S20sZY($WZvQ&sa%mex99_?Bo@T z)r<14o9+Fm_@vye(S;ZKqyeEzHuQZCEP^-~P{ipKMoOXPI^hwaeW>@9kE^l6&4y2j z3U~2m?U2%ie;m+RJl*V^6oi@xyAhCsG6lVW%RLRJ5K>{9ytAA)w94wY8vnToHB-AFysv z;2fRpbV)#okf6a4W8@M{_Pn1M+w;COv1j_llfC#iF}82Iu`$!??w`j+@>+LoPr1GJ zajiTtX0B|R*}(gfhvj;G8TyJy%BwN20cCs=6zcL22f_m5u3Vn8e}iZ?@e0Kcd_H^?Ec*}PT=stuyKoSRkW6&c?@y+e`Tkt6x4c%J7~6~4 zUMzgPUdWGpybgyr`ZNCVI>O7*pK-|KW!gg>CP@dgdTA7^Q+P^$y%I?wiRYt<&)=Y3 z$vGob#uS;Uw+nW(;N#@t%u48B8We0r$%z3GBSNzK`Gx4RfdBhhqY_+9q>(OU*j!XR zD?a?n2WSe^5#wMc8ap|GNf-%;`|ZNQ+wOjSDB4(dVK=nQLh=YPmdG(Eyexj;x(@29 z9?n2EwTTlh>N?4j5xVgj+w+84;T4w&$%|_$d?#*h9pMsqAkQJ+f9@6ttY8u9gpdnd zR5+a4me<2i3o+m+v|bC|J;VtN?gxa&Bo&N8VgzG!+Bn)-gY!E4Pi_K7LCi>p>5%8Q zB&z*7K6&j}TjmbWP0T%Vp#?)IN@NsFvi3o_QUU*< zW@A4_oD}WL^C2qGT7WUJd?%M_5$ND3WM&iD5;>_J9921q+MQ;lS^w0&3bkMD4A*1A zhRAGhlB&SjM|T&(&VKBEh_ojo&Pky6O6~nYh+h)TWKuZg`ij}4<1wsu1|TDZI5`MmFIK&^~-6S zEne7?d|f_Bu_MmVUm!kAB5TTm7tQgArJY;da{$Y8hEEKv3nTV&X`Y#<7&F;aTB8Oc zWl6IZd~P}nLwS&YjgSAw_nW9-o8!m2vA@(0}9+l(Hz46`v-8U@4mka?Pkh;!+F1a zU+ac-%8DjHRnmO=)(qd@rO)=8pq`)LuN~}d8+i`iO0|Rfl%zny=0`N;U9F*z=^Fvy zPaNn+n`Zbv3Ssg7$a^hRZ#EmN<#q)juQg>EQnFSd$ccn_8P^T11b)^^*n3Qj;W3t# zb`UIwRYuQz_i<_0!pgdZ%hXCq^01^s5Hk$=)lJ;+q8myTkZKvH5gqE4N&IrBcL8bG z@Wc5y)#*2P4Jx!YPCJ?2t-gBxa1Z{`vb2J=$_qP_#NV9i^TKyX^ZAF@?dZ&;Ubz4{ z*xmZmHqPPy^as=hpOFk_dJN^pJi*#7%Q25X)}{jUsbo+Cev#g+xnoS_@ssi^{W9h{i=;$MDbAN?II{#So5B;McMypZ_UAN^hDNMZ)KaqPuE zFa!N9jQpp6!_45#zc_iliB5BPbJKH2SC0Q8G4zD1LCT35p184}zC>|ZR9E`v=kJtI zqJf^kK;s_P7Odp%l?u6_<*`ep?1)>MNXAL#$&Z~dUqFhEJ#%Zk!I`a3%L z*MDb*!M7#8kI&5y#s6N+x*|3T_y>ljzs15|{jH_s(HOND;n9)Tv1BtN?8Nc}o|}0_ zCfJ$jvSLCcLaPzb3X`Az7Wwb!NzWc`0tOxdi-sCo6C0UXzk4^o4BA=3o7-9e!Vn!w{Wd+L=471)`n{ zjv1kzEi>$Ne}5Bb^9_m5*_7Bu@Khv2$^5@6#bT=z@sr`qL6(SE_jF;9Wy~xQDjp1E z?8MA|i&`_^{iQEuqZLi^^kE+ZFZnau=_Dil<=@J_|Ir7>%E%lyGDE3S$770<%)j%G z1d9!uo*_5a}okFgTJMY;dH~PPOCIr znZ==~?=v3#WMHL>y(5X z!ik>|Q2+Z6aAd2SYJ3Z8Yh74Ao9(nD>NOqiY94)!myf1V1@ClN>-i~;q;5N4scd$D zNN`MG*upS_41xLO;JI(a2T5|f_WUt-wG7kxxzXWP-ts1_uaHgIGv7}w(ap&)4HRMw z1@-W@n|l5_q63VJbH;Er1kW6J<2ZF(h*St_^zkc=$TON0aw)}qm$8id6n zWynUjEuNzh^*K()Q0+C!k>0N<^PTG1?;mD){FsLO-+mOKT6}^{gE*XP=44f+_=Yiq|_SaA2w@pasvBr&Eg;9 zlM0^uIX=DzW;sm}G{?;^LUY{w5@ht3wr_q(ljfJSV(M}K3KM%^byBztsW2hG1d{#5 zknAspRG2u3ZF&AZZowhe)=fkKzim&?O@y*|M7pDfEi^D5JQK=cNH5;WH+tevzR`n* z@@>q18^^a36w_7)-86l2J~Yl*^$l@es9saQouI0E4N#38ai23=Yh*dE5E>N9zzfUm zUBdwS#lvcpW5Bow3Yz;G~tT!|jZXU(Dza z>f}dH#d^evWM&;3AMI7KkXErE6${xtn@D0g!9APEZfqhAOC)k*6Fsn;$fsb5M5)*V z%gH2`lZ@qLHkOlVSR#=do9uz*WEz%8%qC(fiC&4(D`lfsN<$Bcj9zK9^W$6n1wd{p zTFSTr$K*u3n4K>1a(l5YGld6@Gc|Uc3A*FUeh8IOOYws;}&yb>@v#X?>n%~62saR0RUp_AWvGrSI;et0XcbM*09 zIKi$5RrO>dJ9gMYT(OTy5FLU)8~KTmQ($;%cB4^VtLeo+K&2eIrX!wraG|4wr*OGL zKaRoiV}-Pn&X85SP+5MmGVR2QPf4mGQw3 zR9gaNGq<$IOsh~V=!JU z4p>&)+Bg88d*LMw1zZP{sX1_sZ<+lUnEhV`^*Zah1J`yQ>w25B={;1FhTv>asgtj_ zOeeXl+G_~FXzfAEs>qpMFC*q2*p8qR-}W2^<77^bstvdsA`tv?ca&yGgkgkBRBg4f2wye|M+%BRTTup@I-cO9qcLtd zK1SpemXX!yf65B@!2CHw4xX)^114_a)t+To-(o&qa}vZO5jbjW~`BW+2u5NdKB(t|MIEzn7FH0cguAl?s@UdH-RvBjJAFo zQQG=Bv8PS^taRG?C3?};FEY0vbk+NENS=M-a)pW^P~g^7(Ny^iS~ z%w6)ESW+3aR1F9`J%+|>tG?h$whY{f)k5s`57&Bn0UT?Ompw>I-TdOA)i#R7|P*ewVQYSMu2T+{HN4!6h!cNt%^ZPg028v-WN)YO;gV&@al~mQQ9QsAscy zPaq$FUwDco2;Y}q(yM&{70%d_5-9go;WBIPHlIMESk_ITJ+MMg!55;U=-0bHJ9T|a zG)+;boB+4Ia~r>`ihuMWluv60OXt!b_e0*<(b55Y0I>*))4nym{k~$cXYCKbHYyAg zDoS6r$*TB=yUjM*u#v_=HGw-lProcW+JWzwqq5hEm$*zx( z3DTD7zQsMFh}eTj1>2+E;QsVOb}Pf(g!}bu3;pT^Z})|TH(r+WVh%E!6BdI4`~XUN z!oPug(pO1OuXaj>dBi@I60>~Aje?{mB95Vbg4iAsb8mhW;kXo)vUl}i?G?R1XW~uk zDSxD+yS>Un+4s-Cxoe~Sx|XQ%0X9;GoQbykZlp46etjP|^482m@@4I#CS^EPB59p{-iuDy9 zi5mBefFDpKen4T9z;$3@lc@P2_&(;C$iloo->233kbIxk{@{F{R{KM!IP~)DuY-1! z`TMIlsntHHHj|3M;Mz=T^$*bjl@7l9iTKztoA+IodRL#?^(}Oda~iK3GyPVntm7IF z#s`?Y$>SHV{l0UzXYCJS-8P=veEi{|K7e&Qt7>60xd zOqG3^egGJkr>k%b#kGery!nj-G&35%UUcclx3YajbH`xeBuCPPpb-MddT<1TDGq%6 zFwGC)OlqrBSzM`uBljcrmiz`U*We(*b076;!ol$rV2SgnmwwJBlIy6KaV3(Wj-y`w z&9r=R8}&-v%`Rn}KfTgl!0Q!nOu;>!UK_!+&Aad9lIW5arY9_LS%s{?=OBQ@9!x$X zAT_*aIS}<#`-HuXjf(>0CZE%)H{3fe+0EcVDqM3x?D`slDI0?TUUK)7#YdezcuiZ} zj`@MO>$#uxr+}eEU$iRxa6|rOs{j}90FRoqHeMpKH~n~mSNHH*si6 zRTze#3F>~c1Ju!0$xAqEx)j%a@yCK;BVY|?V|LHZ7-!h%_Ao8sk9dFZ4$_xzWpgXZxMZJ z)AR(#T^WQjj3C`Hm(DqYoj~>TW{pWC!qy#0?g<<{2-sR(So8ulKO%_~rbeAtd9y*#wS#{xz=f&~}4s82md|6D43(-yk4pl$UxU?*yv_L$5ewnwja&3?%?fTIaAP*ZOgQfN zWREtOzv*z7zeIt^!vS~}xYnpQS5Mg|0|>k!_%kuO=$4%++Hqps0pxwJ5!E@Us%N1ELZUfxV@ZH$j{)7OuoFDyR0?ozHg-VGrns&r?+!Wd?}m|@L;gUm6ta= z@IX^}B>pFLdw1N49QIv2f-lQ*y5(IbFMzoFptzghZCXJzd-r=1E9RS7Z* zas4}Q{t-XH-bM;hT?w&3m040l^HLhkKSNZM&YNF+`K8qi^nL1Pdj@y$a?;jjDiBt= zz6)xl9@eUB<<=)N^aXGKzyz8xbMdaCvK~*3ys4V4%^BJHUEb&*Ctd`r4k9)m=)l}`)Q%lHQm7G-o1M1~zn%}Bd(r0$Z<^hD^+BKy6w}$5%Y~{Y7osn`j=UV= zKaF%w9j%Dh>6sey+FbarhTLskCopi)5*N##gC%)e7XD@|kB}SQl|~(VECzts3Ep?I zN_h9;2PlGT^o>fljqBZm0L;&?t;s#c-;C0$4oUpH*7I;{X0cJL41x$hD#h}*nq6E4 z^AoI=^}$Nz`I`JZ-!_6F?|vY_Fbdj4yKl-2+jck>nHDVrR&Tv(+GrOj-s0V0SOMZ>O z4?X6-+1s!N+eGjU33bx1{aA6cw2)w=Jy0)JQM?`_%tT)@oN*Xnm`{fQ0C z8kJhBoT15L2763?lm18ZT8V*iX@Seri=0ujJieV;rl#U81KmM@NcF zz&Ui$Stv>#MFU>y$OGX^`TP>rbM{5@i}{xGym~l5FEl*}=}7kz^Xpq{`lMHrNmI8b zwA?n}Ctcolr+e{!(Pe-IF@JBVJ8^hN`9Wq7T_b^=euUUmh~)+yJgAzN+rvlG)$h9$ zevMyfH7udFwPqVYtw$_uX8fjcQ(hXN(_MO)yUxB%Hx27ZRRc)k^kVT2@wiYYykSc5 z1r76%aja0z6f!_)qChvo9Ep{@0BfL$2^`D9BQSJ8Yix~1i)5qv1>V-IgR$K?jXv9b zgw7yfpVzthXyHw54a%!n2x*3guigX=4@LHM-UdD(#QqFz>Qd7Y3roVa4T zq$3=64Y}1PUo4o=Ij{FANa2jHxYG|Yh0tk&Y-hO#Cu!uI9hJAZp9{IP+ilZ|?0?-M z&Ow5&g>EPnRi2q>lofQ>omXAf9hf``EoAhvKi6ypRm~`72F$XeB{2o*G+sAc!z=S>F_GwXup7;)uw8x|R?)D;Acle-#1 zQC9z5yAHMMTHLsAAb3{gEuYc2GB?u7$iTTmsenl2c;Oev6%b3JKEb~n^&NbF+?Pg<5Bff@v zkS3++!CiAL{y2oNWka5g=aFIu-7MiYM+GtBqXqA9Xo;sgYVh2F811Czcu~wRB@3DL z5mS_+zaro!_2~&Bu~lK)I1IVR-D4~JS!=p_*=Pr=&=DjC9N`;lTP@7Tm7Q&G!n0e8n9WD==xG9``HFSDv( zvnvrlW4*bUtf#6O$aW4iY9V54Lfo9ol0(X$v%3;VEr1(&Ni%iH=AY;oMT4Z>-}~shXhvHMC?Am+>^itWzdDnL=brYqmQQ z7&Uw{OG}|yP?Gd;xLkK%GpT3#2vK4&3r!y*i4GW4eC93!%2D%hi!hSF>dSGN2ii^2 zNlp-t1??S<}MvLOxE+#*9CyBgBZp!6FHxm=2G&YldQr00f!aNr8A}21&DM$ z=rt3}2?5R#8?O|@1phqV2f+_91?o1X*WRf-zRai}+P_#Cf%!w72WPRq+8(y}# zx)m_%0I$s9X)EbrBC&G*7=nGa16t0?b@m+6MVY_LqRd~<@?Xp1W^UqD4^kEDLAh~) z|7z0`zwO9#9DBO8<`igYs9^dY9@HANd@2)YiZFrsp`Q%x41(vXaFDe_f`p%?%oNwV z%f6>tvfdSAL14a0$+v7VTdz~(7}}nD?OqZV<{?Yw9^g^o`2#JPJ-IVVo>~BLIL`x4 z!c}KmbmcHAw;K}HT#ebmZq%$DAT~9p>G6}3FxbUgJjLR=3J&qmxRy?Fe>ZSFgZh4% z+r3A^FZx9vsz=K989~47P#Tr}0$9m)BS=$?x4x{WdDOTkvK$wz#J*0OQ<+1w?j?DE z=B;(nk8cXY8<-X|)6CeiYI{27w`KTLVMiREMpI@(?zXd6kqUPf@S~hzCQDpEi6=pO z6<)k_cfj8ZUvVoEZHLK)y9-YhVpX0A*kGb7WR;I+!@CLZ{0#Agj}$VqTQ-!RC+d;y zFH(k#QfCsy82q(FG8PSHRtw>Bq6jrWwF?jH<<%>cO&*ds3T|)cg0Z2sF;M9Z7rsb9 zMZ@+)DT)C$>gf`hU|#}3*ZC5 zaP1GO9*A}u?+{S_Vw3)|g*C*cm~bkX1{t7N!Vx+lUAWIrO;=yx%10? z&II9U!@x3%(F*@vh^DIK?0Ud`J&UhOY11FeC_^b%%z zcBxa*ESe0R@GPoeidVa2{pF=e(#>W8!tX5&m_;qbuD(+5Rs(E{^)`}9J6FVPkxXT4 z7`dbmZ7zUY2d51~y4wg_Fj9iE%^uk{cp7Ev8^%6pxG2Zg z6VS$FDCKN5>)dz7l$^!M1s|cYrSmND3+iM3A+^>qfXOvccM>qV^1~rXoWct#Ia9KR z0KkzirGPPm2`7SO33VBmi%P<0D=QD^akMhDeMet2Hf(&?dbYo2Sd^>|rd5)ei|k6s zDk!$0qT+I%R*h`QdF+blQY4d77n@WmMIDo=`9l_Bt&k3tr(sQ%(H7W?P2vq62GWUj zJ*FOs@)iD0&&sMQ_NWirC@cSHb-KNZLv$FeuaG8d`fHUBT{Xxi08s}mND*~Wv%-ri zTyYX(o{TUk2jL}?i5Aze`-dgQ90395m;H@o58KT(Q7~zWwwqX|*+XIi;>d(`=0V6R z_>w&i->Q>SE)A9vjJcA%r|`T~c*fF#H>qSoqIT}uQu2fq6`gNHpn4|0NNK!L)w}eV zg&ldZs&}QLt>nK^)w|9x_(xEF5v=1}4p#oAhjqEGvz-o8lmj;GCN{h+8%{$X8-s@+ zh)=!sp@+HIF_nQttqI6Jzg2`5U*Qdz~1IZ`7fRJ1Z{c~ z>v-fhJlxucIYq@s`;3?WJZP`{|FvCxQFNRN=zc_sA^lkHs-E8o9&P;`qy-SV#Uc+uk zgOxS?U<}I22ezmwN@1Vq7zN8Xw+nbVDRW19B0SirctIIljFq{*obbhRZyAo`5bIpO zlkakA(Mm^6A)uzcZbBg_JzD*Rq-4FTl{#6X^KLe@5oyfUfdtk+JEHqbew9E-O6oDG zfaM{}$6{a=2c7|-$dh8_2zJsBu-Mt$fqlt!j3P*>XElcdXq-}jEMx=Ir~sBK;@ZMX z&=J~nC}&8~V#NtWtX@SUkr3m(1~bWb{Gnj#`o|HSAy_zGRMg_ViVA7MBsj%D$rKUq zLP{ZT9R<%J0OT{X+o$Y2;HWAJTkdE+w3))w*B3*8Atu=RFd#LmypM?!V+a7FyU80v z0I2s0;Q!mM!%ufo9s*1fb`%&y{uTq#q5uCq)!*Bp=y^m=~L$DKK%9TidU{?F=E^x z_QbfBw>orudR&8LSHXKhIy@lvbOR)T#*TW3haAoDI=jtP{s5oSyD2US;fc$nOZfuw zAbaPFH0>-}xZBZc0SM72U^NNnDtBHFF(PdJ9W__GRKrFf);mMU%0_b!j1H}93lBS} zb(Yb-^o?T6louWuW1WmRYpG-zEk#!s-ks~IIkM+f5hT`y&>^ri{(9n8~CpSG{;kJA>y+2Q0eBzjB{d))l#W`gp9L)BLLI>$v@MdxpNutIBQgjdtsdhN2< zru0iVhhGKuwz1n#V?{(Gfb-21z&9YyOT_NEb_|3Qv)g02S*Mj$0iP&3^9J@)-H|+F zaE~N#%3uw+PS)DcF4yet`Rd3tvnmuU-V@1^09&#a#aOWdgwf*~*$%(dJ=}G;L;;5n zibbSw%VxbIjf!AVwa`p?7g0mMBytZ-LdP=m3gql5by2j$e6)K2A-uTVUHJR6Jl zo~$7+bnoZe#{|<%bgP?o;Cu@qK=F)UDfErvA!ZyH;;C;HftrgNDdXGQGLbz@k?$8{ zateQPW|wF6X&zp($ZQusT13(Jc|E(dz2n-pH(-)~aMi)8^etl|zl|FER>9JvXDM?l zz6w=dJxrNW(cvyu81iaATDYm@B+28tajjt^OBzq)0=b3@Qi~5=vr)W5RK~kQr59_f zV<8n+f5X8TUyG&4jO(IwZHkdZ@W<9(KVM#3USD5X-dv{ds>|-uf!NZbrNW&aJ8ZnL z2$&wt{5V-H+c5k$B$zp=n$c3_L+hXHXcxaH>~ApgQw5hv52*C&dTqzI--(b-4vu!S z!?X$Ig^p5E62ylmJNBSHT|zAHV!BON`1z=gU(2D#JgYc8sx+H;G$&o5hc@>LsC&S$yn~c>gOT zarmrqR@*yRTGtx8IG5Pt HaEku{%1P<# literal 0 HcmV?d00001 diff --git a/.vs/WpfApp4/DesignTimeBuild/.dtbcache.v2 b/.vs/WpfApp4/DesignTimeBuild/.dtbcache.v2 new file mode 100644 index 0000000000000000000000000000000000000000..ebe692916c76f3d64de5d6f8e488778db0db3442 GIT binary patch literal 102220 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 He)s#d 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 CG0VdM literal 0 HcmV?d00001 diff --git a/.vs/WpfApp4/FileContentIndex/84dd64ab-f1a0-41e3-8c91-d95715df3514.vsidx b/.vs/WpfApp4/FileContentIndex/84dd64ab-f1a0-41e3-8c91-d95715df3514.vsidx new file mode 100644 index 0000000000000000000000000000000000000000..93024ff881041ec9dc7c07ea95bfaa0a4c61419a GIT binary patch literal 9348 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 j343dos@eY?xTb64{}oFw{VmSb2zZzOk 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 B(qsSt literal 0 HcmV?d00001 diff --git a/.vs/WpfApp4/FileContentIndex/bc34cb05-0d5d-4d7c-9377-a4d1ad562327.vsidx b/.vs/WpfApp4/FileContentIndex/bc34cb05-0d5d-4d7c-9377-a4d1ad562327.vsidx new file mode 100644 index 0000000000000000000000000000000000000000..1676d558218c85afca881fd142f1df6e368fee3b GIT binary patch literal 13843 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 literal 0 HcmV?d00001 diff --git a/.vs/WpfApp4/FileContentIndex/e44836d5-acd9-4492-9a59-9683fdc2c18c.vsidx b/.vs/WpfApp4/FileContentIndex/e44836d5-acd9-4492-9a59-9683fdc2c18c.vsidx new file mode 100644 index 0000000000000000000000000000000000000000..23443ccb459740bdcedf294d0a859e0d8c705194 GIT binary patch literal 13319 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 literal 0 HcmV?d00001 diff --git a/.vs/WpfApp4/v17/.futdcache.v2 b/.vs/WpfApp4/v17/.futdcache.v2 new file mode 100644 index 0000000000000000000000000000000000000000..440f83eae0f17a745adc87d7d986076a290ead92 GIT binary patch literal 121 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 literal 0 HcmV?d00001 diff --git a/.vs/WpfApp4/v17/DocumentLayout.backup.json b/.vs/WpfApp4/v17/DocumentLayout.backup.json new file mode 100644 index 0000000..a37f162 --- /dev/null +++ b/.vs/WpfApp4/v17/DocumentLayout.backup.json @@ -0,0 +1,171 @@ +{ + "Version": 1, + "WorkspaceRootPath": "C:\\Users\\bib\\source\\repos\\WpfApp4\\", + "Documents": [ + { + "AbsoluteMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|c:\\users\\bib\\source\\repos\\wpfapp4\\wpfapp4\\databaseservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|solutionrelative:wpfapp4\\databaseservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|c:\\users\\bib\\source\\repos\\wpfapp4\\wpfapp4\\pdfservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|solutionrelative:wpfapp4\\pdfservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|c:\\users\\bib\\source\\repos\\wpfapp4\\wpfapp4\\mainwindow.xaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|solutionrelative:wpfapp4\\mainwindow.xaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|c:\\users\\bib\\source\\repos\\wpfapp4\\wpfapp4\\fahrzeugverwaltung.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|solutionrelative:wpfapp4\\fahrzeugverwaltung.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|c:\\users\\bib\\source\\repos\\wpfapp4\\wpfapp4\\fahrzeug.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|solutionrelative:wpfapp4\\fahrzeug.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|c:\\users\\bib\\source\\repos\\wpfapp4\\wpfapp4\\mainwindow.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}", + "RelativeMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|solutionrelative:wpfapp4\\mainwindow.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}" + }, + { + "AbsoluteMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|c:\\users\\bib\\source\\repos\\wpfapp4\\wpfapp4\\app.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}", + "RelativeMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|solutionrelative:wpfapp4\\app.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}" + }, + { + "AbsoluteMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|c:\\users\\bib\\source\\repos\\wpfapp4\\wpfapp4\\app.xaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|solutionrelative:wpfapp4\\app.xaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|c:\\users\\bib\\source\\repos\\wpfapp4\\wpfapp4\\wpfapp4.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|", + "RelativeMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|solutionrelative:wpfapp4\\wpfapp4.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|" + } + ], + "DocumentGroupContainers": [ + { + "Orientation": 0, + "VerticalTabListWidth": 256, + "DocumentGroups": [ + { + "DockedWidth": 247, + "SelectedChildIndex": 4, + "Children": [ + { + "$type": "Document", + "DocumentIndex": 8, + "Title": "WpfApp4", + "DocumentMoniker": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\WpfApp4.csproj", + "RelativeDocumentMoniker": "WpfApp4\\WpfApp4.csproj", + "ToolTip": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\WpfApp4.csproj", + "RelativeToolTip": "WpfApp4\\WpfApp4.csproj", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|", + "WhenOpened": "2025-07-15T10:49:09.761Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 7, + "Title": "App.xaml.cs", + "DocumentMoniker": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\App.xaml.cs", + "RelativeDocumentMoniker": "WpfApp4\\App.xaml.cs", + "ToolTip": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\App.xaml.cs", + "RelativeToolTip": "WpfApp4\\App.xaml.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAoAAAAeAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-07-14T12:08:49.466Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 6, + "Title": "App.xaml", + "DocumentMoniker": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\App.xaml", + "RelativeDocumentMoniker": "WpfApp4\\App.xaml", + "ToolTip": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\App.xaml", + "RelativeToolTip": "WpfApp4\\App.xaml", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|", + "WhenOpened": "2025-07-14T12:08:18.503Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 1, + "Title": "PdfService.cs", + "DocumentMoniker": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\PdfService.cs", + "RelativeDocumentMoniker": "WpfApp4\\PdfService.cs", + "ToolTip": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\PdfService.cs", + "RelativeToolTip": "WpfApp4\\PdfService.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAABgBAAABAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-07-14T12:05:46.954Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 0, + "Title": "DatabaseService.cs", + "DocumentMoniker": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\DatabaseService.cs", + "RelativeDocumentMoniker": "WpfApp4\\DatabaseService.cs", + "ToolTip": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\DatabaseService.cs", + "RelativeToolTip": "WpfApp4\\DatabaseService.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAACUAAAA2AAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-07-14T12:04:21.362Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 5, + "Title": "MainWindow.xaml", + "DocumentMoniker": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\MainWindow.xaml", + "RelativeDocumentMoniker": "WpfApp4\\MainWindow.xaml", + "ToolTip": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\MainWindow.xaml", + "RelativeToolTip": "WpfApp4\\MainWindow.xaml", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|", + "WhenOpened": "2025-07-08T06:16:53.827Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 4, + "Title": "Fahrzeug.cs", + "DocumentMoniker": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\Fahrzeug.cs", + "RelativeDocumentMoniker": "WpfApp4\\Fahrzeug.cs", + "ToolTip": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\Fahrzeug.cs", + "RelativeToolTip": "WpfApp4\\Fahrzeug.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAMkAAAABAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-07-13T20:58:44.24Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 3, + "Title": "FahrzeugVerwaltung.cs", + "DocumentMoniker": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\FahrzeugVerwaltung.cs", + "RelativeDocumentMoniker": "WpfApp4\\FahrzeugVerwaltung.cs", + "ToolTip": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\FahrzeugVerwaltung.cs", + "RelativeToolTip": "WpfApp4\\FahrzeugVerwaltung.cs", + "ViewState": "AgIAAJgAAAAAAAAAAAA1wIQAAAAVAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-07-08T06:51:06.505Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 2, + "Title": "MainWindow.xaml.cs", + "DocumentMoniker": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\MainWindow.xaml.cs", + "RelativeDocumentMoniker": "WpfApp4\\MainWindow.xaml.cs", + "ToolTip": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\MainWindow.xaml.cs", + "RelativeToolTip": "WpfApp4\\MainWindow.xaml.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAqwBIAAAAPAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-07-08T06:16:49.191Z", + "EditorCaption": "" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/.vs/WpfApp4/v17/DocumentLayout.json b/.vs/WpfApp4/v17/DocumentLayout.json new file mode 100644 index 0000000..24e077b --- /dev/null +++ b/.vs/WpfApp4/v17/DocumentLayout.json @@ -0,0 +1,171 @@ +{ + "Version": 1, + "WorkspaceRootPath": "C:\\Users\\bib\\source\\repos\\WpfApp4\\", + "Documents": [ + { + "AbsoluteMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|c:\\users\\bib\\source\\repos\\wpfapp4\\wpfapp4\\databaseservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|solutionrelative:wpfapp4\\databaseservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|c:\\users\\bib\\source\\repos\\wpfapp4\\wpfapp4\\pdfservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|solutionrelative:wpfapp4\\pdfservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|c:\\users\\bib\\source\\repos\\wpfapp4\\wpfapp4\\mainwindow.xaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|solutionrelative:wpfapp4\\mainwindow.xaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|c:\\users\\bib\\source\\repos\\wpfapp4\\wpfapp4\\fahrzeugverwaltung.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|solutionrelative:wpfapp4\\fahrzeugverwaltung.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|c:\\users\\bib\\source\\repos\\wpfapp4\\wpfapp4\\fahrzeug.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|solutionrelative:wpfapp4\\fahrzeug.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|c:\\users\\bib\\source\\repos\\wpfapp4\\wpfapp4\\mainwindow.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}", + "RelativeMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|solutionrelative:wpfapp4\\mainwindow.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}" + }, + { + "AbsoluteMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|c:\\users\\bib\\source\\repos\\wpfapp4\\wpfapp4\\app.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}", + "RelativeMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|solutionrelative:wpfapp4\\app.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}" + }, + { + "AbsoluteMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|c:\\users\\bib\\source\\repos\\wpfapp4\\wpfapp4\\app.xaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|solutionrelative:wpfapp4\\app.xaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|c:\\users\\bib\\source\\repos\\wpfapp4\\wpfapp4\\wpfapp4.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|", + "RelativeMoniker": "D:0:0:{F6C5C16A-1943-4B83-A33B-9B0680A662FE}|WpfApp4\\WpfApp4.csproj|solutionrelative:wpfapp4\\wpfapp4.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|" + } + ], + "DocumentGroupContainers": [ + { + "Orientation": 0, + "VerticalTabListWidth": 256, + "DocumentGroups": [ + { + "DockedWidth": 247, + "SelectedChildIndex": 4, + "Children": [ + { + "$type": "Document", + "DocumentIndex": 8, + "Title": "WpfApp4", + "DocumentMoniker": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\WpfApp4.csproj", + "RelativeDocumentMoniker": "WpfApp4\\WpfApp4.csproj", + "ToolTip": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\WpfApp4.csproj", + "RelativeToolTip": "WpfApp4\\WpfApp4.csproj", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|", + "WhenOpened": "2025-07-15T10:49:09.761Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 7, + "Title": "App.xaml.cs", + "DocumentMoniker": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\App.xaml.cs", + "RelativeDocumentMoniker": "WpfApp4\\App.xaml.cs", + "ToolTip": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\App.xaml.cs", + "RelativeToolTip": "WpfApp4\\App.xaml.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAoAAAAeAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-07-14T12:08:49.466Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 6, + "Title": "App.xaml", + "DocumentMoniker": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\App.xaml", + "RelativeDocumentMoniker": "WpfApp4\\App.xaml", + "ToolTip": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\App.xaml", + "RelativeToolTip": "WpfApp4\\App.xaml", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|", + "WhenOpened": "2025-07-14T12:08:18.503Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 1, + "Title": "PdfService.cs", + "DocumentMoniker": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\PdfService.cs", + "RelativeDocumentMoniker": "WpfApp4\\PdfService.cs", + "ToolTip": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\PdfService.cs", + "RelativeToolTip": "WpfApp4\\PdfService.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAABgBAAABAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-07-14T12:05:46.954Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 0, + "Title": "DatabaseService.cs", + "DocumentMoniker": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\DatabaseService.cs", + "RelativeDocumentMoniker": "WpfApp4\\DatabaseService.cs", + "ToolTip": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\DatabaseService.cs", + "RelativeToolTip": "WpfApp4\\DatabaseService.cs", + "ViewState": "AgIAABwAAAAAAAAAAAAzwCUAAAA2AAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-07-14T12:04:21.362Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 5, + "Title": "MainWindow.xaml", + "DocumentMoniker": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\MainWindow.xaml", + "RelativeDocumentMoniker": "WpfApp4\\MainWindow.xaml", + "ToolTip": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\MainWindow.xaml", + "RelativeToolTip": "WpfApp4\\MainWindow.xaml", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|", + "WhenOpened": "2025-07-08T06:16:53.827Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 4, + "Title": "Fahrzeug.cs", + "DocumentMoniker": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\Fahrzeug.cs", + "RelativeDocumentMoniker": "WpfApp4\\Fahrzeug.cs", + "ToolTip": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\Fahrzeug.cs", + "RelativeToolTip": "WpfApp4\\Fahrzeug.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAMkAAAABAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-07-13T20:58:44.24Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 3, + "Title": "FahrzeugVerwaltung.cs", + "DocumentMoniker": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\FahrzeugVerwaltung.cs", + "RelativeDocumentMoniker": "WpfApp4\\FahrzeugVerwaltung.cs", + "ToolTip": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\FahrzeugVerwaltung.cs", + "RelativeToolTip": "WpfApp4\\FahrzeugVerwaltung.cs", + "ViewState": "AgIAAJgAAAAAAAAAAAA1wIQAAAAVAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-07-08T06:51:06.505Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 2, + "Title": "MainWindow.xaml.cs", + "DocumentMoniker": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\MainWindow.xaml.cs", + "RelativeDocumentMoniker": "WpfApp4\\MainWindow.xaml.cs", + "ToolTip": "C:\\Users\\bib\\source\\repos\\WpfApp4\\WpfApp4\\MainWindow.xaml.cs", + "RelativeToolTip": "WpfApp4\\MainWindow.xaml.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAqwBIAAAAPAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-07-08T06:16:49.191Z", + "EditorCaption": "" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/WpfApp4.sln b/WpfApp4.sln new file mode 100644 index 0000000..78e96c7 --- /dev/null +++ b/WpfApp4.sln @@ -0,0 +1,22 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.12.35728.132 d17.12 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfApp4", "WpfApp4\WpfApp4.csproj", "{F6C5C16A-1943-4B83-A33B-9B0680A662FE}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {F6C5C16A-1943-4B83-A33B-9B0680A662FE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F6C5C16A-1943-4B83-A33B-9B0680A662FE}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F6C5C16A-1943-4B83-A33B-9B0680A662FE}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F6C5C16A-1943-4B83-A33B-9B0680A662FE}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/WpfApp4/App.xaml b/WpfApp4/App.xaml new file mode 100644 index 0000000..eb57771 --- /dev/null +++ b/WpfApp4/App.xaml @@ -0,0 +1,8 @@ + + + + + \ No newline at end of file diff --git a/WpfApp4/App.xaml.cs b/WpfApp4/App.xaml.cs new file mode 100644 index 0000000..574fb08 --- /dev/null +++ b/WpfApp4/App.xaml.cs @@ -0,0 +1,31 @@ +using System; +using System.Windows; + +namespace FahrzeugVerwaltung +{ + + public partial class App : Application + { + protected override void OnStartup(StartupEventArgs e) + { + base.OnStartup(e); + + + AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException; + DispatcherUnhandledException += App_DispatcherUnhandledException; + } + + private void App_DispatcherUnhandledException(object sender, System.Windows.Threading.DispatcherUnhandledExceptionEventArgs e) + { + MessageBox.Show($"Ein unerwarteter Fehler ist aufgetreten:\n{e.Exception.Message}", + "Fehler", MessageBoxButton.OK, MessageBoxImage.Error); + e.Handled = true; + } + + private void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e) + { + MessageBox.Show($"Ein kritischer Fehler ist aufgetreten:\n{((Exception)e.ExceptionObject).Message}", + "Kritischer Fehler", MessageBoxButton.OK, MessageBoxImage.Error); + } + } +} \ No newline at end of file diff --git a/WpfApp4/DatabaseService.cs b/WpfApp4/DatabaseService.cs new file mode 100644 index 0000000..3cfa15e --- /dev/null +++ b/WpfApp4/DatabaseService.cs @@ -0,0 +1,305 @@ +using System; +using System.Collections.Generic; +using System.Data.SQLite; +using System.IO; +using System.Linq; + +namespace FahrzeugVerwaltung +{ + public class DatabaseService + { + private readonly string _connectionString; + private readonly string _dbPath; + + public DatabaseService() + { + _dbPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "fahrzeuge.db"); + _connectionString = $"Data Source={_dbPath};Version=3;"; + InitializeDatabase(); + } + + /// + /// Initialisiert die Datenbank und erstellt die Tabelle falls sie nicht existiert + /// + private void InitializeDatabase() + { + try + { + using (var connection = new SQLiteConnection(_connectionString)) + { + connection.Open(); + + string createTableQuery = @" + CREATE TABLE IF NOT EXISTS Fahrzeuge ( + Id INTEGER PRIMARY KEY AUTOINCREMENT, + Marke TEXT NOT NULL, + Modell TEXT NOT NULL, + Baujahr INTEGER NOT NULL, + Leistung INTEGER NOT NULL, + Kilometerstand INTEGER NOT NULL, + Kaufpreis DECIMAL(10,2) NOT NULL, + Farbe TEXT NOT NULL, + ErstelltAm DATETIME DEFAULT CURRENT_TIMESTAMP + )"; + + using (var command = new SQLiteCommand(createTableQuery, connection)) + { + command.ExecuteNonQuery(); + } + } + } + catch (Exception ex) + { + throw new Exception($"Fehler beim Initialisieren der Datenbank: {ex.Message}"); + } + } + + /// + /// Speichert ein neues Fahrzeug in der Datenbank + /// + /// Das zu speichernde Fahrzeug + /// Die ID des gespeicherten Fahrzeugs + public int SpeichereFahrzeug(Fahrzeug fahrzeug) + { + try + { + using (var connection = new SQLiteConnection(_connectionString)) + { + connection.Open(); + + string insertQuery = @" + INSERT INTO Fahrzeuge (Marke, Modell, Baujahr, Leistung, Kilometerstand, Kaufpreis, Farbe) + VALUES (@Marke, @Modell, @Baujahr, @Leistung, @Kilometerstand, @Kaufpreis, @Farbe); + SELECT last_insert_rowid();"; + + using (var command = new SQLiteCommand(insertQuery, connection)) + { + command.Parameters.AddWithValue("@Marke", fahrzeug.Marke); + command.Parameters.AddWithValue("@Modell", fahrzeug.Modell); + command.Parameters.AddWithValue("@Baujahr", fahrzeug.Baujahr); + command.Parameters.AddWithValue("@Leistung", fahrzeug.Leistung); + command.Parameters.AddWithValue("@Kilometerstand", fahrzeug.Kilometerstand); + command.Parameters.AddWithValue("@Kaufpreis", fahrzeug.Kaufpreis); + command.Parameters.AddWithValue("@Farbe", fahrzeug.Farbe); + + var result = command.ExecuteScalar(); + return Convert.ToInt32(result); + } + } + } + catch (Exception ex) + { + throw new Exception($"Fehler beim Speichern des Fahrzeugs: {ex.Message}"); + } + } + + /// + /// Lädt alle Fahrzeuge aus der Datenbank + /// + /// Liste aller Fahrzeuge + public List LadeAlleFahrzeuge() + { + var fahrzeuge = new List(); + + try + { + using (var connection = new SQLiteConnection(_connectionString)) + { + connection.Open(); + + string selectQuery = "SELECT * FROM Fahrzeuge ORDER BY Marke, Modell"; + + using (var command = new SQLiteCommand(selectQuery, connection)) + using (var reader = command.ExecuteReader()) + { + while (reader.Read()) + { + var fahrzeug = new Fahrzeug + { + Id = Convert.ToInt32(reader["Id"]), + Marke = reader["Marke"].ToString(), + Modell = reader["Modell"].ToString(), + Baujahr = Convert.ToInt32(reader["Baujahr"]), + Leistung = Convert.ToInt32(reader["Leistung"]), + Kilometerstand = Convert.ToInt32(reader["Kilometerstand"]), + Kaufpreis = Convert.ToDecimal(reader["Kaufpreis"]), + Farbe = reader["Farbe"].ToString() + }; + + fahrzeuge.Add(fahrzeug); + } + } + } + } + catch (Exception ex) + { + throw new Exception($"Fehler beim Laden der Fahrzeuge: {ex.Message}"); + } + + return fahrzeuge; + } + + /// + /// Sucht Fahrzeuge basierend auf einem Suchbegriff + /// + /// Der Suchbegriff + /// Liste der gefundenen Fahrzeuge + public List SucheFahrzeuge(string suchbegriff) + { + var fahrzeuge = new List(); + + if (string.IsNullOrWhiteSpace(suchbegriff)) + return LadeAlleFahrzeuge(); + + try + { + using (var connection = new SQLiteConnection(_connectionString)) + { + connection.Open(); + + string searchQuery = @" + SELECT * FROM Fahrzeuge + WHERE Marke LIKE @Suchbegriff + OR Modell LIKE @Suchbegriff + OR Farbe LIKE @Suchbegriff + OR CAST(Baujahr AS TEXT) LIKE @Suchbegriff + ORDER BY Marke, Modell"; + + using (var command = new SQLiteCommand(searchQuery, connection)) + { + command.Parameters.AddWithValue("@Suchbegriff", $"%{suchbegriff}%"); + + using (var reader = command.ExecuteReader()) + { + while (reader.Read()) + { + var fahrzeug = new Fahrzeug + { + Id = Convert.ToInt32(reader["Id"]), + Marke = reader["Marke"].ToString(), + Modell = reader["Modell"].ToString(), + Baujahr = Convert.ToInt32(reader["Baujahr"]), + Leistung = Convert.ToInt32(reader["Leistung"]), + Kilometerstand = Convert.ToInt32(reader["Kilometerstand"]), + Kaufpreis = Convert.ToDecimal(reader["Kaufpreis"]), + Farbe = reader["Farbe"].ToString() + }; + + fahrzeuge.Add(fahrzeug); + } + } + } + } + } + catch (Exception ex) + { + throw new Exception($"Fehler beim Suchen der Fahrzeuge: {ex.Message}"); + } + + return fahrzeuge; + } + + /// + /// Aktualisiert ein bestehendes Fahrzeug in der Datenbank + /// + /// Das zu aktualisierende Fahrzeug + /// True wenn erfolgreich, sonst False + public bool AktualisiereFahrzeug(Fahrzeug fahrzeug) + { + try + { + using (var connection = new SQLiteConnection(_connectionString)) + { + connection.Open(); + + string updateQuery = @" + UPDATE Fahrzeuge + SET Marke = @Marke, + Modell = @Modell, + Baujahr = @Baujahr, + Leistung = @Leistung, + Kilometerstand = @Kilometerstand, + Kaufpreis = @Kaufpreis, + Farbe = @Farbe + WHERE Id = @Id"; + + using (var command = new SQLiteCommand(updateQuery, connection)) + { + command.Parameters.AddWithValue("@Id", fahrzeug.Id); + command.Parameters.AddWithValue("@Marke", fahrzeug.Marke); + command.Parameters.AddWithValue("@Modell", fahrzeug.Modell); + command.Parameters.AddWithValue("@Baujahr", fahrzeug.Baujahr); + command.Parameters.AddWithValue("@Leistung", fahrzeug.Leistung); + command.Parameters.AddWithValue("@Kilometerstand", fahrzeug.Kilometerstand); + command.Parameters.AddWithValue("@Kaufpreis", fahrzeug.Kaufpreis); + command.Parameters.AddWithValue("@Farbe", fahrzeug.Farbe); + + int rowsAffected = command.ExecuteNonQuery(); + return rowsAffected > 0; + } + } + } + catch (Exception ex) + { + throw new Exception($"Fehler beim Aktualisieren des Fahrzeugs: {ex.Message}"); + } + } + + /// + /// Löscht ein Fahrzeug aus der Datenbank + /// + /// Die ID des zu löschenden Fahrzeugs + /// True wenn erfolgreich, sonst False + public bool LoescheFahrzeug(int id) + { + try + { + using (var connection = new SQLiteConnection(_connectionString)) + { + connection.Open(); + + string deleteQuery = "DELETE FROM Fahrzeuge WHERE Id = @Id"; + + using (var command = new SQLiteCommand(deleteQuery, connection)) + { + command.Parameters.AddWithValue("@Id", id); + + int rowsAffected = command.ExecuteNonQuery(); + return rowsAffected > 0; + } + } + } + catch (Exception ex) + { + throw new Exception($"Fehler beim Löschen des Fahrzeugs: {ex.Message}"); + } + } + + /// + /// Gibt die Anzahl der Fahrzeuge in der Datenbank zurück + /// + /// Anzahl der Fahrzeuge + public int GetAnzahlFahrzeuge() + { + try + { + using (var connection = new SQLiteConnection(_connectionString)) + { + connection.Open(); + + string countQuery = "SELECT COUNT(*) FROM Fahrzeuge"; + + using (var command = new SQLiteCommand(countQuery, connection)) + { + var result = command.ExecuteScalar(); + return Convert.ToInt32(result); + } + } + } + catch (Exception ex) + { + throw new Exception($"Fehler beim Ermitteln der Fahrzeuganzahl: {ex.Message}"); + } + } + } +} \ No newline at end of file diff --git a/WpfApp4/Fahrzeug.cs b/WpfApp4/Fahrzeug.cs new file mode 100644 index 0000000..cadf7e0 --- /dev/null +++ b/WpfApp4/Fahrzeug.cs @@ -0,0 +1,202 @@ +using System; +using System.ComponentModel; + +namespace FahrzeugVerwaltung +{ + public class Fahrzeug : INotifyPropertyChanged + { + private int _id; + private string _marke; + private string _modell; + private int _baujahr; + private int _leistung; + private int _kilometerstand; + private decimal _kaufpreis; + private string _farbe; + + public int Id + { + get => _id; + set + { + _id = value; + OnPropertyChanged(nameof(Id)); + } + } + + public string Marke + { + get => _marke; + set + { + _marke = value; + OnPropertyChanged(nameof(Marke)); + } + } + + public string Modell + { + get => _modell; + set + { + _modell = value; + OnPropertyChanged(nameof(Modell)); + } + } + + public int Baujahr + { + get => _baujahr; + set + { + _baujahr = value; + OnPropertyChanged(nameof(Baujahr)); + OnPropertyChanged(nameof(AktuellerWert)); + OnPropertyChanged(nameof(AktuellerWertFormatiert)); + } + } + + public int Leistung + { + get => _leistung; + set + { + _leistung = value; + OnPropertyChanged(nameof(Leistung)); + } + } + + public int Kilometerstand + { + get => _kilometerstand; + set + { + _kilometerstand = value; + OnPropertyChanged(nameof(Kilometerstand)); + OnPropertyChanged(nameof(KilometerstandFormatiert)); + OnPropertyChanged(nameof(AktuellerWert)); + OnPropertyChanged(nameof(AktuellerWertFormatiert)); + } + } + + public decimal Kaufpreis + { + get => _kaufpreis; + set + { + _kaufpreis = value; + OnPropertyChanged(nameof(Kaufpreis)); + OnPropertyChanged(nameof(KaufpreisFormatiert)); + OnPropertyChanged(nameof(AktuellerWert)); + OnPropertyChanged(nameof(AktuellerWertFormatiert)); + } + } + + public string Farbe + { + get => _farbe; + set + { + _farbe = value; + OnPropertyChanged(nameof(Farbe)); + } + } + + // Formatierte Eigenschaften für die Anzeige + public string KilometerstandFormatiert => $"{Kilometerstand:N0} km"; + public string KaufpreisFormatiert => $"{Kaufpreis:C}"; + public string AktuellerWertFormatiert => $"{AktuellerWert:C}"; + + // Berechnet den aktuellen Wert basierend auf Alter und Kilometerstand + public decimal AktuellerWert + { + get + { + return BerechneAktuellenWert(); + } + } + + /// + /// Berechnet den aktuellen Wert des Fahrzeugs + /// Formel: Wertverlust basierend auf Alter und Kilometerstand + /// + /// Aktueller Wert des Fahrzeugs + public decimal BerechneAktuellenWert() + { + if (Kaufpreis <= 0 || Baujahr <= 0) + return 0; + + int aktuellesJahr = DateTime.Now.Year; + int alter = aktuellesJahr - Baujahr; + + // Wertverlust pro Jahr: 15% in den ersten 3 Jahren, dann 10% pro Jahr + decimal wertverlustProzent = 0; + + for (int i = 0; i < alter; i++) + { + if (i < 3) + wertverlustProzent += 0.15m; // 15% pro Jahr in den ersten 3 Jahren + else + wertverlustProzent += 0.10m; // 10% pro Jahr danach + } + + // Zusätzlicher Wertverlust basierend auf Kilometerstand + // Pro 10.000 km: 2% Wertverlust + decimal kmWertverlust = (Kilometerstand / 10000m) * 0.02m; + + wertverlustProzent += kmWertverlust; + + // Maximal 90% Wertverlust + if (wertverlustProzent > 0.90m) + wertverlustProzent = 0.90m; + + decimal aktuellerWert = Kaufpreis * (1 - wertverlustProzent); + + // Mindestwert: 5% des Kaufpreises + decimal mindestwert = Kaufpreis * 0.05m; + if (aktuellerWert < mindestwert) + aktuellerWert = mindestwert; + + return Math.Round(aktuellerWert, 2); + } + + /// + /// Gibt eine detaillierte Beschreibung des Fahrzeugs zurück + /// + /// Formatierte Fahrzeugbeschreibung + public string GetDetailedDescription() + { + return $"{Marke} {Modell} ({Baujahr}) - {Leistung} PS - {KilometerstandFormatiert} - {Farbe}"; + } + + /// + /// Berechnet das Alter des Fahrzeugs in Jahren + /// + /// Alter in Jahren + public int GetAlter() + { + return DateTime.Now.Year - Baujahr; + } + + /// + /// Prüft, ob das Fahrzeug als Oldtimer gilt (älter als 30 Jahre) + /// + /// True wenn Oldtimer, sonst False + public bool IsOldtimer() + { + return GetAlter() >= 30; + } + + public event PropertyChangedEventHandler PropertyChanged; + + protected virtual void OnPropertyChanged(string propertyName) + { + PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); + } + + public override string ToString() + { + return $"{Marke} {Modell} ({Baujahr})"; + } + } +} \ No newline at end of file diff --git a/WpfApp4/FahrzeugVerwaltung.cs b/WpfApp4/FahrzeugVerwaltung.cs new file mode 100644 index 0000000..8d530dc --- /dev/null +++ b/WpfApp4/FahrzeugVerwaltung.cs @@ -0,0 +1,193 @@ +using System; +using System.Globalization; +using System.Text.RegularExpressions; +using System.Windows; +using System.Windows.Controls; + +namespace FahrzeugVerwaltung +{ + public static class Utilities + { + /// + /// Validiert eine Eingabe für numerische Werte + /// + public static bool IsValidNumber(string input, out double result, double min = double.MinValue, double max = double.MaxValue) + { + result = 0; + + if (string.IsNullOrWhiteSpace(input)) + return false; + + if (double.TryParse(input, NumberStyles.Any, CultureInfo.CurrentCulture, out result)) + { + return result >= min && result <= max; + } + + return false; + } + + /// + /// Validiert eine Eingabe für Ganzzahlen + /// + public static bool IsValidInteger(string input, out int result, int min = int.MinValue, int max = int.MaxValue) + { + result = 0; + + if (string.IsNullOrWhiteSpace(input)) + return false; + + if (int.TryParse(input, out result)) + { + return result >= min && result <= max; + } + + return false; + } + + /// + /// Validiert eine Eingabe für Dezimalzahlen + /// + public static bool IsValidDecimal(string input, out decimal result, decimal min = decimal.MinValue, decimal max = decimal.MaxValue) + { + result = 0; + + if (string.IsNullOrWhiteSpace(input)) + return false; + + if (decimal.TryParse(input, NumberStyles.Any, CultureInfo.CurrentCulture, out result)) + { + return result >= min && result <= max; + } + + return false; + } + + /// + /// Bereinigt Eingabetext von überflüssigen Zeichen + /// + public static string CleanInput(string input) + { + if (string.IsNullOrWhiteSpace(input)) + return string.Empty; + + // Mehrfache Leerzeichen durch einzelne ersetzen + return Regex.Replace(input.Trim(), @"\s+", " "); + } + + /// + /// Zeigt eine Fehlermeldung an + /// + public static void ShowError(string message, string title = "Fehler") + { + MessageBox.Show(message, title, MessageBoxButton.OK, MessageBoxImage.Error); + } + + /// + /// Zeigt eine Warnmeldung an + /// + public static void ShowWarning(string message, string title = "Warnung") + { + MessageBox.Show(message, title, MessageBoxButton.OK, MessageBoxImage.Warning); + } + + /// + /// Zeigt eine Informationsmeldung an + /// + public static void ShowInfo(string message, string title = "Information") + { + MessageBox.Show(message, title, MessageBoxButton.OK, MessageBoxImage.Information); + } + + /// + /// Zeigt eine Bestätigungsdialog an + /// + public static bool ShowConfirmation(string message, string title = "Bestätigung") + { + return MessageBox.Show(message, title, MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes; + } + + /// + /// Formatiert einen Preis für die Anzeige + /// + public static string FormatPrice(decimal price) + { + return price.ToString("C", CultureInfo.CurrentCulture); + } + + /// + /// Formatiert einen Kilometerstand für die Anzeige + /// + public static string FormatKilometers(int kilometers) + { + return $"{kilometers:N0} km"; + } + + /// + /// Berechnet die Differenz zwischen zwei Jahren + /// + public static int CalculateYearsDifference(int fromYear, int toYear) + { + return Math.Abs(toYear - fromYear); + } + + /// + /// Prüft, ob ein Baujahr realistisch ist + /// + public static bool IsValidBuildYear(int year) + { + int currentYear = DateTime.Now.Year; + return year >= 1900 && year <= currentYear + 1; + } + + /// + /// Generiert einen Dateinamen basierend auf Fahrzeugdaten + /// + public static string GenerateFileName(Fahrzeug fahrzeug, string extension = "html") + { + string marke = CleanInput(fahrzeug.Marke).Replace(" ", "_"); + string modell = CleanInput(fahrzeug.Modell).Replace(" ", "_"); + string datum = DateTime.Now.ToString("yyyyMMdd_HHmmss"); + + return $"Fahrzeug_{marke}_{modell}_{datum}.{extension}"; + } + + /// + /// Prüft, ob eine Textbox nur numerische Eingaben enthält + /// + public static void SetNumericOnly(TextBox textBox) + { + textBox.PreviewTextInput += (sender, e) => + { + e.Handled = !IsNumeric(e.Text); + }; + } + + /// + /// Prüft, ob ein String nur Zahlen enthält + /// + private static bool IsNumeric(string text) + { + return Regex.IsMatch(text, @"^[0-9]+$"); + } + + /// + /// Konvertiert einen String sicher zu einem Integer + /// + public static int SafeParseInt(string value, int defaultValue = 0) + { + if (int.TryParse(value, out int result)) + return result; + return defaultValue; + } + + /// + /// Konvertiert einen String sicher zu einem Decimal + /// + public static decimal SafeParseDecimal(string value, decimal defaultValue = 0) + { + if (decimal.TryParse(value, out decimal result)) + return result; + return defaultValue; + } + } +} \ No newline at end of file diff --git a/WpfApp4/MainWindow.xaml b/WpfApp4/MainWindow.xaml new file mode 100644 index 0000000..3f27810 --- /dev/null +++ b/WpfApp4/MainWindow.xaml @@ -0,0 +1,132 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +