From 031b1f9d7745b379c0faf1a1db539253358af2e5 Mon Sep 17 00:00:00 2001 From: jiangdong Date: Sun, 5 Oct 2025 23:44:27 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=9F=E8=83=BD=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DesignTimeBuild/.dtbcache.v2 | Bin 163175 -> 0 bytes ...6df2a7c3-84eb-4692-8dc9-a1385e100411.vsidx | Bin 32068 -> 0 bytes .../.claude/settings.local.json | 15 + .../DesignTimeBuild/.dtbcache.v2 | Bin 0 -> 172414 bytes ...02dc5d48-31bd-47e6-bf2b-35c521138732.vsidx | Bin 0 -> 66843 bytes ...178a272a-821a-472d-8c8d-51cff4bfbeec.vsidx | Bin 0 -> 50458 bytes ...6af3c25e-5958-4720-9fbe-23e159844c6a.vsidx | Bin 0 -> 124344 bytes ...6efa3979-3ca3-4d97-9ef7-741d0a2ab991.vsidx | Bin 0 -> 95118 bytes ...ce930036-c604-4a73-a92e-7fea58a05fe1.vsidx | Bin 0 -> 148033 bytes .../.vs/FateMaster.API/v17/.futdcache.v2 | Bin 0 -> 123 bytes .../FateMaster/DesignTimeBuild/.dtbcache.v2 | Bin 0 -> 234553 bytes ...053f0843-ef85-4857-8ccd-87c818b3c248.vsidx | Bin 0 -> 20774 bytes ...6b0f227b-ae48-4f94-8348-212b93c67b9f.vsidx | Bin 0 -> 62767 bytes ...9162da77-0cc9-400e-9596-b7aeb56973e4.vsidx | Bin 0 -> 83405 bytes ...f22928ac-3dfb-427b-9d28-02ce44c26d90.vsidx | Bin 0 -> 5631 bytes ...fe402726-679e-408e-9088-fcf495ad9272.vsidx | Bin 0 -> 208 bytes .../FateMaster/config/applicationhost.config | 1026 +++++++++++++++++ .../.vs/FateMaster/v17/.futdcache.v2 | Bin 0 -> 1890 bytes .../FateMaster/v17/DocumentLayout.backup.json | 54 + .../.vs/FateMaster/v17/DocumentLayout.json | 54 + .../fatemaster.metadata.v9.bin | Bin 0 -> 4743 bytes .../fatemaster.projects.v9.bin | Bin 0 -> 341070 bytes .../fatemaster.strings.v9.bin | Bin 0 -> 202215 bytes .../Controllers/Admin/PricesController.cs | 0 .../Controllers/Admin/RecordsController.cs | 0 .../Controllers/DivinationController.cs | 0 .../Data/ApplicationDbContext.cs | 0 .../FateMaster.API.csproj | 0 .../Controllers/PricesController.cs | 97 ++ .../Controllers/RecordsController.cs | 62 + .../FateMaster.Admin.API.csproj | 20 + .../FateMaster.Admin.API.http | 6 + .../FateMaster.Admin.API/Program.cs | 41 + .../Properties/launchSettings.json | 41 + .../FateMaster.Admin.API/appsettings.json | 12 + .../DependencyInjection.cs | 26 + .../FateMaster.Application.csproj | 21 + .../Interfaces/IAdminService.cs | 19 + .../Interfaces/IAiService.cs | 19 + .../Interfaces/IBaziService.cs | 19 + .../Interfaces/IDivinationService.cs | 29 + .../Interfaces/IPriceConfigService.cs | 29 + .../Services/AdminService.cs | 98 ++ .../Services/AiService.cs | 225 ++++ .../Services/BaziService.cs | 402 +++++++ .../Services/DivinationService.cs | 124 ++ .../Services/PriceConfigService.cs | 97 ++ .../FateMaster.Domain/Common/BaseEntity.cs | 17 + .../Entities/DivinationRecord.cs | 77 ++ .../FateMaster.Domain/Entities/PriceConfig.cs | 40 + .../Entities/SystemConfig.cs | 32 + .../FateMaster.Domain/Enums/DivinationType.cs | 32 + .../FateMaster.Domain/Enums/PaymentMethod.cs | 22 + .../FateMaster.Domain/Enums/PaymentStatus.cs | 22 + .../FateMaster.Domain.csproj | 9 + .../Interfaces/IRepository.cs | 19 + .../Interfaces/IUnitOfWork.cs | 12 + .../Data/ApplicationDbContext.cs | 47 + .../DependencyInjection.cs | 30 + .../FateMaster.Infrastructure.csproj | 23 + .../20251003155521_InitialCreate.Designer.cs | 218 ++++ .../20251003155521_InitialCreate.cs | 148 +++ .../ApplicationDbContextModelSnapshot.cs | 215 ++++ .../Repositories/Repository.cs | 66 ++ .../Repositories/UnitOfWork.cs | 55 + .../Constants/AppConstants.cs | 48 + .../FateMaster.Shared/DTOs/AdminDTOs.cs | 42 + .../FateMaster.Shared/DTOs/ApiResponse.cs | 32 + .../FateMaster.Shared/DTOs/BaziDTOs.cs | 148 +++ .../FateMaster.Shared/DTOs/DivinationDTOs.cs | 40 + .../FateMaster.Shared/DTOs/PriceConfigDTOs.cs | 23 + .../FateMaster.Shared.csproj | 9 + .../Controllers/BaziController.cs | 66 ++ .../Controllers/DivinationController.cs | 81 ++ .../FateMaster.Web.API.csproj | 24 + .../FateMaster.Web.API.http | 6 + .../FateMaster.Web.API/Program.cs | 54 + .../FateMaster.Web.API/Program.cs.bak | 41 + .../Properties/launchSettings.json | 41 + .../FateMaster.Web.API/appsettings.json | 37 + .../FateMaster.API/FateMaster.sln | 61 + .../Models/DivinationRecord.cs | 0 .../Models/PriceConfig.cs | 0 .../Models/SystemConfig.cs | 0 .../{ => FateMaster.API}/Program.cs | 0 .../Properties/launchSettings.json | 0 .../FateMaster.API/FateMaster.API/README.md | 254 ++++ .../{ => FateMaster.API}/appsettings.json | 0 .../.claude/settings.local.json | 19 + frontend/fatemaster-web/src/api/bazi.ts | 112 ++ frontend/fatemaster-web/src/i18n/index.ts | 25 +- .../fatemaster-web/src/layouts/MainLayout.vue | 533 ++++++--- frontend/fatemaster-web/src/router/index.ts | 455 +++++--- .../src/views/bazi/Analysis.vue | 522 ++++++--- .../fatemaster-web/src/views/bazi/Result.vue | 469 ++++++++ frontend/fatemaster-web/vite.config.ts | 2 +- 96 files changed, 6271 insertions(+), 493 deletions(-) delete mode 100644 backend/FateMaster.API/.vs/FateMaster.API/DesignTimeBuild/.dtbcache.v2 delete mode 100644 backend/FateMaster.API/.vs/FateMaster.API/FileContentIndex/6df2a7c3-84eb-4692-8dc9-a1385e100411.vsidx create mode 100644 backend/FateMaster.API/FateMaster.API/.claude/settings.local.json create mode 100644 backend/FateMaster.API/FateMaster.API/.vs/FateMaster.API/DesignTimeBuild/.dtbcache.v2 create mode 100644 backend/FateMaster.API/FateMaster.API/.vs/FateMaster.API/FileContentIndex/02dc5d48-31bd-47e6-bf2b-35c521138732.vsidx create mode 100644 backend/FateMaster.API/FateMaster.API/.vs/FateMaster.API/FileContentIndex/178a272a-821a-472d-8c8d-51cff4bfbeec.vsidx create mode 100644 backend/FateMaster.API/FateMaster.API/.vs/FateMaster.API/FileContentIndex/6af3c25e-5958-4720-9fbe-23e159844c6a.vsidx create mode 100644 backend/FateMaster.API/FateMaster.API/.vs/FateMaster.API/FileContentIndex/6efa3979-3ca3-4d97-9ef7-741d0a2ab991.vsidx create mode 100644 backend/FateMaster.API/FateMaster.API/.vs/FateMaster.API/FileContentIndex/ce930036-c604-4a73-a92e-7fea58a05fe1.vsidx create mode 100644 backend/FateMaster.API/FateMaster.API/.vs/FateMaster.API/v17/.futdcache.v2 create mode 100644 backend/FateMaster.API/FateMaster.API/.vs/FateMaster/DesignTimeBuild/.dtbcache.v2 create mode 100644 backend/FateMaster.API/FateMaster.API/.vs/FateMaster/FileContentIndex/053f0843-ef85-4857-8ccd-87c818b3c248.vsidx create mode 100644 backend/FateMaster.API/FateMaster.API/.vs/FateMaster/FileContentIndex/6b0f227b-ae48-4f94-8348-212b93c67b9f.vsidx create mode 100644 backend/FateMaster.API/FateMaster.API/.vs/FateMaster/FileContentIndex/9162da77-0cc9-400e-9596-b7aeb56973e4.vsidx create mode 100644 backend/FateMaster.API/FateMaster.API/.vs/FateMaster/FileContentIndex/f22928ac-3dfb-427b-9d28-02ce44c26d90.vsidx create mode 100644 backend/FateMaster.API/FateMaster.API/.vs/FateMaster/FileContentIndex/fe402726-679e-408e-9088-fcf495ad9272.vsidx create mode 100644 backend/FateMaster.API/FateMaster.API/.vs/FateMaster/config/applicationhost.config create mode 100644 backend/FateMaster.API/FateMaster.API/.vs/FateMaster/v17/.futdcache.v2 create mode 100644 backend/FateMaster.API/FateMaster.API/.vs/FateMaster/v17/DocumentLayout.backup.json create mode 100644 backend/FateMaster.API/FateMaster.API/.vs/FateMaster/v17/DocumentLayout.json create mode 100644 backend/FateMaster.API/FateMaster.API/.vs/ProjectEvaluation/fatemaster.metadata.v9.bin create mode 100644 backend/FateMaster.API/FateMaster.API/.vs/ProjectEvaluation/fatemaster.projects.v9.bin create mode 100644 backend/FateMaster.API/FateMaster.API/.vs/ProjectEvaluation/fatemaster.strings.v9.bin rename backend/FateMaster.API/{ => FateMaster.API}/Controllers/Admin/PricesController.cs (100%) rename backend/FateMaster.API/{ => FateMaster.API}/Controllers/Admin/RecordsController.cs (100%) rename backend/FateMaster.API/{ => FateMaster.API}/Controllers/DivinationController.cs (100%) rename backend/FateMaster.API/{ => FateMaster.API}/Data/ApplicationDbContext.cs (100%) rename backend/FateMaster.API/{ => FateMaster.API}/FateMaster.API.csproj (100%) create mode 100644 backend/FateMaster.API/FateMaster.API/FateMaster.Admin.API/Controllers/PricesController.cs create mode 100644 backend/FateMaster.API/FateMaster.API/FateMaster.Admin.API/Controllers/RecordsController.cs create mode 100644 backend/FateMaster.API/FateMaster.API/FateMaster.Admin.API/FateMaster.Admin.API.csproj create mode 100644 backend/FateMaster.API/FateMaster.API/FateMaster.Admin.API/FateMaster.Admin.API.http create mode 100644 backend/FateMaster.API/FateMaster.API/FateMaster.Admin.API/Program.cs create mode 100644 backend/FateMaster.API/FateMaster.API/FateMaster.Admin.API/Properties/launchSettings.json create mode 100644 backend/FateMaster.API/FateMaster.API/FateMaster.Admin.API/appsettings.json create mode 100644 backend/FateMaster.API/FateMaster.API/FateMaster.Application/DependencyInjection.cs create mode 100644 backend/FateMaster.API/FateMaster.API/FateMaster.Application/FateMaster.Application.csproj create mode 100644 backend/FateMaster.API/FateMaster.API/FateMaster.Application/Interfaces/IAdminService.cs create mode 100644 backend/FateMaster.API/FateMaster.API/FateMaster.Application/Interfaces/IAiService.cs create mode 100644 backend/FateMaster.API/FateMaster.API/FateMaster.Application/Interfaces/IBaziService.cs create mode 100644 backend/FateMaster.API/FateMaster.API/FateMaster.Application/Interfaces/IDivinationService.cs create mode 100644 backend/FateMaster.API/FateMaster.API/FateMaster.Application/Interfaces/IPriceConfigService.cs create mode 100644 backend/FateMaster.API/FateMaster.API/FateMaster.Application/Services/AdminService.cs create mode 100644 backend/FateMaster.API/FateMaster.API/FateMaster.Application/Services/AiService.cs create mode 100644 backend/FateMaster.API/FateMaster.API/FateMaster.Application/Services/BaziService.cs create mode 100644 backend/FateMaster.API/FateMaster.API/FateMaster.Application/Services/DivinationService.cs create mode 100644 backend/FateMaster.API/FateMaster.API/FateMaster.Application/Services/PriceConfigService.cs create mode 100644 backend/FateMaster.API/FateMaster.API/FateMaster.Domain/Common/BaseEntity.cs create mode 100644 backend/FateMaster.API/FateMaster.API/FateMaster.Domain/Entities/DivinationRecord.cs create mode 100644 backend/FateMaster.API/FateMaster.API/FateMaster.Domain/Entities/PriceConfig.cs create mode 100644 backend/FateMaster.API/FateMaster.API/FateMaster.Domain/Entities/SystemConfig.cs create mode 100644 backend/FateMaster.API/FateMaster.API/FateMaster.Domain/Enums/DivinationType.cs create mode 100644 backend/FateMaster.API/FateMaster.API/FateMaster.Domain/Enums/PaymentMethod.cs create mode 100644 backend/FateMaster.API/FateMaster.API/FateMaster.Domain/Enums/PaymentStatus.cs create mode 100644 backend/FateMaster.API/FateMaster.API/FateMaster.Domain/FateMaster.Domain.csproj create mode 100644 backend/FateMaster.API/FateMaster.API/FateMaster.Domain/Interfaces/IRepository.cs create mode 100644 backend/FateMaster.API/FateMaster.API/FateMaster.Domain/Interfaces/IUnitOfWork.cs create mode 100644 backend/FateMaster.API/FateMaster.API/FateMaster.Infrastructure/Data/ApplicationDbContext.cs create mode 100644 backend/FateMaster.API/FateMaster.API/FateMaster.Infrastructure/DependencyInjection.cs create mode 100644 backend/FateMaster.API/FateMaster.API/FateMaster.Infrastructure/FateMaster.Infrastructure.csproj create mode 100644 backend/FateMaster.API/FateMaster.API/FateMaster.Infrastructure/Migrations/20251003155521_InitialCreate.Designer.cs create mode 100644 backend/FateMaster.API/FateMaster.API/FateMaster.Infrastructure/Migrations/20251003155521_InitialCreate.cs create mode 100644 backend/FateMaster.API/FateMaster.API/FateMaster.Infrastructure/Migrations/ApplicationDbContextModelSnapshot.cs create mode 100644 backend/FateMaster.API/FateMaster.API/FateMaster.Infrastructure/Repositories/Repository.cs create mode 100644 backend/FateMaster.API/FateMaster.API/FateMaster.Infrastructure/Repositories/UnitOfWork.cs create mode 100644 backend/FateMaster.API/FateMaster.API/FateMaster.Shared/Constants/AppConstants.cs create mode 100644 backend/FateMaster.API/FateMaster.API/FateMaster.Shared/DTOs/AdminDTOs.cs create mode 100644 backend/FateMaster.API/FateMaster.API/FateMaster.Shared/DTOs/ApiResponse.cs create mode 100644 backend/FateMaster.API/FateMaster.API/FateMaster.Shared/DTOs/BaziDTOs.cs create mode 100644 backend/FateMaster.API/FateMaster.API/FateMaster.Shared/DTOs/DivinationDTOs.cs create mode 100644 backend/FateMaster.API/FateMaster.API/FateMaster.Shared/DTOs/PriceConfigDTOs.cs create mode 100644 backend/FateMaster.API/FateMaster.API/FateMaster.Shared/FateMaster.Shared.csproj create mode 100644 backend/FateMaster.API/FateMaster.API/FateMaster.Web.API/Controllers/BaziController.cs create mode 100644 backend/FateMaster.API/FateMaster.API/FateMaster.Web.API/Controllers/DivinationController.cs create mode 100644 backend/FateMaster.API/FateMaster.API/FateMaster.Web.API/FateMaster.Web.API.csproj create mode 100644 backend/FateMaster.API/FateMaster.API/FateMaster.Web.API/FateMaster.Web.API.http create mode 100644 backend/FateMaster.API/FateMaster.API/FateMaster.Web.API/Program.cs create mode 100644 backend/FateMaster.API/FateMaster.API/FateMaster.Web.API/Program.cs.bak create mode 100644 backend/FateMaster.API/FateMaster.API/FateMaster.Web.API/Properties/launchSettings.json create mode 100644 backend/FateMaster.API/FateMaster.API/FateMaster.Web.API/appsettings.json create mode 100644 backend/FateMaster.API/FateMaster.API/FateMaster.sln rename backend/FateMaster.API/{ => FateMaster.API}/Models/DivinationRecord.cs (100%) rename backend/FateMaster.API/{ => FateMaster.API}/Models/PriceConfig.cs (100%) rename backend/FateMaster.API/{ => FateMaster.API}/Models/SystemConfig.cs (100%) rename backend/FateMaster.API/{ => FateMaster.API}/Program.cs (100%) rename backend/FateMaster.API/{ => FateMaster.API}/Properties/launchSettings.json (100%) create mode 100644 backend/FateMaster.API/FateMaster.API/README.md rename backend/FateMaster.API/{ => FateMaster.API}/appsettings.json (100%) create mode 100644 frontend/fatemaster-web/.claude/settings.local.json create mode 100644 frontend/fatemaster-web/src/api/bazi.ts create mode 100644 frontend/fatemaster-web/src/views/bazi/Result.vue diff --git a/backend/FateMaster.API/.vs/FateMaster.API/DesignTimeBuild/.dtbcache.v2 b/backend/FateMaster.API/.vs/FateMaster.API/DesignTimeBuild/.dtbcache.v2 deleted file mode 100644 index 16afe371ff0cb22fa2de29b13aaf108aab5537cd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 163175 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 EA0&K&@&Et; diff --git a/backend/FateMaster.API/.vs/FateMaster.API/FileContentIndex/6df2a7c3-84eb-4692-8dc9-a1385e100411.vsidx b/backend/FateMaster.API/.vs/FateMaster.API/FileContentIndex/6df2a7c3-84eb-4692-8dc9-a1385e100411.vsidx deleted file mode 100644 index d47f90cb1a69d48e6496f833d882c8c3a225ae49..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32068 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 b>i`LR5`N-XiM8Uuy{o&|!panS#TEY#UB#Bx literal 0 HcmV?d00001 diff --git a/backend/FateMaster.API/FateMaster.API/.vs/FateMaster.API/FileContentIndex/02dc5d48-31bd-47e6-bf2b-35c521138732.vsidx b/backend/FateMaster.API/FateMaster.API/.vs/FateMaster.API/FileContentIndex/02dc5d48-31bd-47e6-bf2b-35c521138732.vsidx new file mode 100644 index 0000000000000000000000000000000000000000..223dc54bffe9363e7cab4c1f627e2702ef12f44f GIT binary patch literal 66843 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 M|M}hTH-G#64?+uCdH?_b literal 0 HcmV?d00001 diff --git a/backend/FateMaster.API/FateMaster.API/.vs/FateMaster.API/FileContentIndex/178a272a-821a-472d-8c8d-51cff4bfbeec.vsidx b/backend/FateMaster.API/FateMaster.API/.vs/FateMaster.API/FileContentIndex/178a272a-821a-472d-8c8d-51cff4bfbeec.vsidx new file mode 100644 index 0000000000000000000000000000000000000000..c31f52763f083de99ce2ed045f382c406e933a43 GIT binary patch literal 50458 zcmcJY34oSW)yK~aGxH9^Hq62{Qw@{LV8~)x%Ax}d08iKVA|(4A|_=S zx#yCoxTcwDT3POznOXU@m|9w<(yA?Px$yn|=bq=~9Y9<^m^uIF-siddx#ygF?tPw_ z&@!oSx!KG2ng2VcN5Vxw%cyyWELgE<$%5r879BnBpaly*vuNqT^Y$caxZtDAL zNkJh~meR$CETE(2O&OamT(V&C(s>h(T(Sfv9=~AuqKQjaEMD=sJVyohI;^XC`m^t+B~ggy zycpiy*i&gjb}6jvv^X5orsj$SmcWxNhDQKOUO>`9L-}%OCmMhtZOJzA9w1!Rb6~&VS!eceNk3;OIpMBOsS9 zU$J263UtY`W%1uMzJ@$45(2Ae zMr}c)sGzYY*L~oYY!vfv)0{Ipr{DNNyQ@IVZ@HAe?0NJ1DrEMegEli#H?~MKF`2GD zOv69+y~cMvPueDqYneWA*ph>@5q+2V*IP~*eh`!KpnXz;Za|rh&snEgWt|;nw!X+p z%dEW4cFtKTP9}b@sDn z9;mXSeu^otvaj^B%0X7?X&Z>Cw`Q`fup(koajC47u-+;wY^5h8f0b2dq$)16rhe9x zvvP8)Pz>c3QO|lCPtioySxKdJR#{0uEA|J7RB^O%pp{f9AxRoobY%74;K|j5g06_R zc*7~Wgv?Va9xk)uDr@eh$~;?VYiVPxeYD2<aIcg-z^X-Fm8GHQw9T(A!-1u#%qEP-hEkt+__sII+l@YOSfSbyizL&Kl^?oE6tt zN1ctWu?KT@p4qG-yS&n>>20bkBQl$z|%{q6(W|XU#clF0tlv^+2g9 ztA)67U0q~7$)sG3YAChh0m`bp#EOfJ#T?1W zU;L1>$`UaNkqx!BG7T%0ud~mX{k_O`thT{)T8%h|p=Z2$*K1sw>zzG3h9RiPN2VNn zjP9y8e&B%^L=O_vT5nCBTnTGbv66BthLh?4YOAKh87ca$%vy6cqDDDv=%!H~TxWfA zHm=+ToAoWSz9m*tY9+;1O^?x;rr|E3^0j*S`Z`-f|JSP1)@PYlb{AvQ_FNCk^|Wqf zdZrQ{qX@dX+(yD_wN_T6d>HO-KJIj5ky$x87h6fK)zhdlD|7xSqGxheR&Hfk^>#4>*WZdttf|y0St(2~IzCDsg)u<eSW@S$+r=u9nY8z2$MbtAd7BU_?rOejW**4B^ zy&3Kzt05oH{BassCXQ_)^Ll&Gd;2tIsP{&7jcu2+)5^txMMYws(^Jo$yGIFn($iz-o>LMf3SCTF32neYDa3svfwx0o{Jb^#Kp)+%efs@3XnMufUC zNvkTX7^W?=p;U}9%2`{v{jFGa?%aA0GwAtFrpeAB@XUlXXUkL#+S^%URb^@jE!qpV z&)Il_HR6yVos7&gw_#l>aw^a;fy**Z^_6~s)y4i*@JGIU>)Y{!l$(-fN?NqZ3 zMfPHU+fZ%2OKd}_ZRl{u+J-^)y9(RT!(QuYZ!i(+ z?eKaD@J^S{FZguZ%PHkH_*CKnxOYLlt;)~JZZ?HB*4bILsyrQ==GS#ac2|FEW6(=% zNvSRAZf(8n_};c(AKS0en)_O1Kf7>%RSvXs23cRP#vgjx&l%r(n~!iV&=ieG-3sgI zVWmBd>!$pyudrs1N$e*%>B50JudKJrU51cba}o>a1#bnE7+Qot(A^3v>7ltJ72_H5 z0PzvyMb{KrIgi~pX`2#Y!)XJGVF68&Ev%gl^ZaG_AWIal3JgNi@ z!nhPm?(J1$t6X-G)n1wA8o;bUTvS>y%BWc7!kkH8^zd?9a@JaIH<`WQN!p5RwQEMi z!nWP4txUtcF6lLw7^$8k`rA3KALo|Z-0pTxFZ+FOJFkzOS80`frMs^hU?l@>+d zyZ|q@zO}ZRZlvb5c4uM?O2i0(8(lh~5H**pt-Vsp=*LM|4YUR(OTFFM&DNILM6)$T z_G=f*m{mQU6Gr6h59Kz(tS5#+z4dfvcnYaY^AXfV)~CPyt(PPKa`J$I*0aJ^_fU5| zO^=n?uKlf{kL)xGLi{39iU(?*Qmg3yK1$n+nZX0~_S$>Zk3Ixz>ulRv+r7sAH)l)A z?NaZ78iaGd%-}4u$-QODCKzqA^IwQur8gn`<4aVJvdwxF~oGhO@d)+k%3gW1Gdnq%7 zP|a&=ZE}sR$t?Dpy}=<_O@oQ&0+t?Dn4h@D?O(AKzp%Yp@6(~DbXwMDkJ z-d^`6+*xNItFlXLtnDZprjx^i5$nNZK>#A)|i9LX=-b>O99@}MrwGOle6*eIm*v0llnT;zl z^b2zYxw-_w;x^$tGpva1`)g5F-p3l4=>zSW3SWaD+2}y*8S-?qpJ_EYO{=ZQlLEU% zOJJmj%ahY7G+CiV)|iUxEulw=r33Bn6?RQ;Tbl$?y?q|V-AiHzai>X9Z%-mUlJxd# zrsvzS?&fLHDa_@4={MM~)=&^|1(q9p_#SjqH|s33BUrdq*^9OISDz8{%I!O5-zc(= zyZzZ(Vx6Vd+1=JL5UF*rI@-==8ic{VFW%Bl9fx7uVgnd zRH_G9XHt<>wyefpaYeZVO##!=5H}%u(j0^;tI?!G-QGavGYw(;eSGZBGGB&gnwOEy zCCQoWhk_;ZN6Z(?2x=C{`K56(a%$`pFY#=qdCsp^aYc8_pLDCd=*W2$%6x!LwJU-E3gY^%1r zyq6vyWR2L##kM-tpAJv69?h60e$LuaruFt2ZwMC4q1n1%Qn_92%4JBkT~uNA<77wxtS7&8RPjaZWPE4BjC32C{ zjN@cR&F4Fd-{cG0xc-7a3p`Yfd7FQLb#BM>6+SZn6BYw>MC)RrW%y zomgY%Wqr$f?X_y#Ep;zbBlR$gaW|y9`H;QkoQBXlxynYPqPYC7aY%O(gnY`2&zZ`(xfkh?+3}VARyr`HM0e!Sgx0e4v(8NO&=c z5Aov+VlQiE$daV0vA?n^MDD>zJVy6Yw?3Mfcw8G1ba*=v^<9??OP!5hbKT7X^95gE z-h*}+XoF!|)^3|GE2!K1u<%_jZDBFu?DQhMT{O* zr*V`M8{y!KZtO!A-2+%eWXl06!%wsG?LxCFi)@?Js|EQS?);#9Jm&_V)U@vH)|FJ7 z)l;ea@kV;X@1h9zvTiEtlF5{`TcJYPZ0=m_wMvo}+Ze-A>Ms+sca>OMsXbmOX_Gdr zx91RvjAjysnQVL&1y?L5ww9~NF6PVDxuwu_ueUY6`j+G=v#+`U{{rHU5g90Xi!Gr! zxCt}oY@5W%FlUAJ=wYY!v{UH(!W9jb>}qv%kr>G)q%CNjds=s93i1~IFLbH(x1T3-w3iL;ZG-zrgAZ`d z!SKVwMl)q#WODn}GW(}b-gP-U8M~|6N*Mx|_VVd%Vw*W{|E$i2IAgQYXZ2c!t|_sK zQh6139t?Ggo8HJhAJ^7L9Y&AA2k`U*ii?7w`x}XEsSXWP)iw-tZZx|uwTcTKo z_1eY5vO+eZzOlx+zK-6et9>!sS!M@gBs(|mkLhdnk0RTr+Ftk7)5^RVjD=igzb&#c zb#|9YWk}Z5sgek71Uut`bVbN_y6`DYdt12l-45U0T@bV`c@8nfx6fMFD_c;cEu`4r zDYhI#pNUE>loDHJZY5fAEw%x*^>s(C$SV44Tt;*=mgl4D?08o_X*qUyx!vlP{~rDA zG-_C4`;^)~Z{xT)$~UL52l6#R{@+_;KQ_}!2Z=Ypo_ZTjUR%h?*d8b>M6L_);qC-z z@YVNWbv76tuCd>^#nr%a6`?x7PWLtGSMqC8zq?JDU5=dbUR`O{n0$T7Az8TC%17e?6SNQrOa}ePglALF7liJGEWixX& zv&m8P_thC&MKagRtcv!sdsSn%=j;>Zc2%~iT0TIFJLJ`tS6JBu!5_k0n4ez}&=4G7 zgd8~gm80-u{K-m!2BavSWykU8B9zX>wAvWN>hxV_c{&T zQd-ZZPoXzB?{xi8wNIg3>Y^*_?PBB)Yr6buuG$9r5XVY6t>dy?(N1bZPR)o4m>yqVv3-$lg#;Ky$wKQ zvFX3LqD%_Z4NK~_y4+eA$0|`y2z-$f0&cm%2`tHxqIbc}*v5Ee2iWAK0?>Ut+AN^ID!Y zDTX(@70GALuwrslSPOfF>1;;+NQSRo(aV^lO$9E&jSlcFu00DaJ!TnP;d_p0$C>Tj zGNuxu5|QrxzXe%=Z1)u+>r?F2D@}(zu=McLc4BRMs?NOXDcIP>bcZ*(tmd$(+@XgU zX+gm;)?K~s#b;po=-^!s3)MLhK+;yCcjCMK=~yT6Ckk={GWD$k4w`E7qjGW^BynY)hT} z#0@rFQk|K-QRPZufIE)%g0;veEvZ~bC^ zHTGLK$l1cUv&g7Y@-_&XD{9%pL zR%7eDm+q{#9GNpW-9TlIqyFIVgY&B})E~>PN_!g4XL;^hcocy(OLwhB(3KZ!oM%V}e(JTm8mfWm?8~lh`2!d% z>)bC#+b83F@(uJaxy6W`EN4ii4MJBY^N)I#+W2Jt;dHH(PZg&(I)cIFLY`roj{`hg zm}@bMFv*)+Fi&!lv%ADb27E#nVV5RHaenb`wg5|mDeSgf7gbnh>wGn#{&X&a&C0UX zMB32ozR8AWs!ZCkLN0l2aniD7Bl*^K{ktY>^#FLIz|VY_t3uWSj5wlR%lRbVd{NIp zHy7w`R!Og!y@qQY^V@Cj@K^X5Cv@2=-}Nipy<+jT$?jD;P4O;wuTXiNaB|@$LMB6s z^K-MzF5%D@&M|tPdBGV-cf6yL%8PsmSfu!Ay-HTibQ*`~pmehPfwl9P?fPwOAhR+* zA6+Fiz%v|9pp(6^^9wC8-x6v@MGmwYR#=(shayX<{>gI5H9`Z7;o5UP2N)0+-iJD( zNe$sQ4n$Fz9j-I4JlMKj5TT~&tRFeNHg?(ICwWvTj}gU{%nBHg>mok zc)*=oJRb1>w2sL0YO?wBPOU=y>x)D>?VUG^w=#)*`H!eX2*7V?J>JZUvf#7{az>Wh z+pNbAOov4a*W+7Ux^A*^#G2izAxFFJ+~foiNBh|St<}+{3bX@K9Yv5I(+}&s2l>0c zD5kxB_K#!Lh`}qI53xg*hVoL^js@@iM@u;w`Xu5P)8U=`1ao)sCdwW;*qnb|kBGBp`XNq^EFRWoiqn2|s|G4Dgb(A4bJl zWp)x-?-|`HVPA6&Ebmpdy_yBwmj zA*6$~3^&VI=S=SYkJ~V;L{4!YOD76A0iO3-_bv2VrzN2;VV3&xfmHcDi@gvaFaQIZ znaw--!9sQ@Hg`L)JD{^(%xE9+%b6f)v$$Ta>DO?-B)iLx75ynY<}@#V%&CvOo!jP5 zRk8WYCJ5RbmUD~fIyaS9mRp4zLfq;`^WAyd?9*_|=3?P?iO&lp`No%tddMk?ETZ=? zbeYcS3^sgTjsuo)acy-N!ru>oF&$vYjsiyN;w`~-leG3bIV%R|`8=&S3f-qvrqD2R z?TN|9$ljGdT}%(ty^J^v;|ACtvc&@a)lOa_z?jUso!t)2$Q)*? zFUQ_iZq(Zf*EQ^eAXrX;_uK=aaz|$RCY!`(I0vbX>Q z_R8O3i#&f|nB3s2dfW0I=vIx-!|UYoMI&PsK!U9YO@DN0A@ZL&(AW+KaEY{jd zzt`J~T)4P?g9{&m5p*(oC!MxR2e6p}KEYX7$z<{z=(n%rtS254d~5!|N^BTdnkmnE zKWATXPYX5!LW%j_Nk_e3+iCM-z=gYMRQfkxW63_5^oJ)`Qti+ zi+BuYDU>BJOH}k!IuW-LI|P2tEU08Q>$Ny4%y95x0*86XpPfE;O`L+jEO3Uuz_6yF z$$OsJyJVf4?G^I2NYj>_-fOzbvC2%2aTGIe)l*xxK{+nY^k@Gu?S96@_X8vwje$Iy zc}vB~=E=_y-K6jeEZ#Q?vZ@pIV`F%`M28a_QNM__}vIp3Hatlx{diR6< zJM+@_bSDgZSUdEvGPXt7XGycbU#*%?hR*Y`k3H z*4wU}L2`rhy}h>Sp0Nk<`S?;j9hm$)lcG>)bNb8Otr%eV7}2x%Tgu&1+W3NJ;nq@_ zO=Tvg*9J-GLTNQT%$`U(N8vGBwy8LIf%M2c*cVytht(`i^)*T3+ zbh?0sq&<|a_$B0b%^$X5jJobc{@rb=pXF?M5>}f?Di$U_yD!gHC51Lg1LjBS)tt6{ z8+;|p&JpIQ&gysFGx~cEtLSMH^ZO|XG?$i}ZW-X`X92}2M2vh~{b?2KMGr#N_t`x5!1jrdrs; zo0RU>+9pSsm~qX>w?Y*_qkOAq6CqIP&JZ*sTT8rh-hh`L9wWI6JtuaR^}B(4zauhmpcQ zO#4tw30m)`Y5u}qg)GaTQv(-%} z@`0Z5TJ7qx8Ut@lx?5sZr8=p?lxgstde)enM(%PvwP4ey!A;^**zQTL#e#DM`6F|0 zbUiY64_4nGy>lU+ao^p2>0CWlcm8Bop_G0{9qRJDPo3qe?1^ma`D5kQ$FvEU^L^(c zzN^4eF8{6v8_h01(SU5yaUz0#+p?^t?fK0_Y)*c%(d4yUG|?Mdded+ZMw5BX5%gqS zZFR8&x1>!;v?pc3qVIbzK&RCFjl9CuMBeV*X!QDee+zamOq=(EAu(WYW<+|g1gD43 zBfe^~BQKb+Sn!VnAQiC|;HU%Axw5=(gu6cb8kjQvIR*BeF@YM=DOTr645YM@VtR7Y zRe9n-bF)p(t}>lVd8OQ5cXtrWw>9;~F$3a{WJb7cP?fU-U{rSsv8jDkwY8FouX@r; zh1d9zHr`yzAA;qD&BcBQcKe)d^1|j8k2>r9yRODS{~p%Ar}Ze-A-Ybl&vx0a`a0&F z%L?pv+-044L$Rwm`$tk|7;mn;IPH)>2oXvRDFM6s5|~~peCLjjRKyEq$RD4)Jf_7< z{`{m1)q6hFH*irU2*9TqQ0BYy|21g&&AjyeH}TT@oBnCuh0okSIl@{V@x_eO(jEh~ zPHw%w71?QJb|nSDb;weGM+_;%<|YEO*mvp~dU~T9o14gO&c?Xfg8c}xnZlwH8x>w! zndc?~PhdjIg{$>0K#kqS>HztcHvr&pJU>VSKkLF!j>ohsvmfQ`Q6!`* zFXSy=1#V4dY3v^Z!A502Lh8ef2N*bx5THJ&4}!W%Nw#qYZYHh2b3_u1DE82~)!;r) z*5l1-aWufH21WdD#DIIm_I%=y5r`S8quk{tSFnej2-e9uBDtfiE@KmZB#+cditGG-EiG*j; zS7Dv`Q$3z)vb*;YgPnA&p9AOOUf!C?-X-Zh zBYiapfm7I%{*H-yDer-V-TaDcIu4pH$p@zW@mgGfP(IrI{N!7$-WyheS;; zX#4xW7)TrUH1k`To7L(*Y*b8NR^<#wTA0_{=BKLGu%Y9NxJ^%0ZGNPx@YqJao~efQ zrX7=l?Gh|BZI@(wB~@>~SAr8hKc`-FTMlW!l;3!2H+lGzC*KXcWF+AIUY8wq(hD8g zTISMhX}NNXMoZo`ntYh#vtE#GPc%6u#w@5l)KmuP3u-ypgYy5;e`k0 zAIT2PuX;Bh2S_$pjm@g`511g^H{UsR-wuKra~I){&jHc&>oPmg569y3L_KjX=rWcq ztV8keqqeYP2ij!+Jl8i^iZbckv(cPClT2Iwe|%_fYZ7d-kBo%mv=3SmtCB%XW6BaQ zy{O{M^A27JKW-5(965L4rMV6pIA<&0W(SbWWtLzYdvRf$(4XkyyouuLueWt-edw#g zY_DzO8IQDk#gO?L8PPY`S5jT(zFYoi*ataJQn+`3ZbjfAg=i_F@9kXZg{yD;Yz&QC zt#qK~S9-t6Cl@`oH5ZMqO}6MN1^WBEqqxr;vX#p5-+g~6JU zZC2(if{tZZ!J?_#yI(Y=JW+6%QiWoFGd+$>>tthvvdaBrewn?=8F>G2-03br`oR)g zbl125l%0lc({)9hJXB25wC;Xy-U-x%GyK-xZf3$d8!)&}V}0T2-QqWh(#xv;kvF{s z;M#M6i;hiq)2gfu35McG=8&_5-0uiXG@~y_QSSO|T3S81VT>Q385xB;usj(HKFf*x>E|!(lROi89SA*F@igij%u5UvpO`$b)-QT9 z3fRWft<1V3-`tAkm8d4(F-hm%u}i4~wPo6}Rm$^lQK6_TH2m0B_PU{u-uYbIds$61 z=l8tct7K+{h|o^!SvRWZXQxC$`*Vbzx$G_=RtE?!j!bZ|lI~4!YVdWJwExIx7QSVl zIgwD`!SG4cq&<4~L~U#S-bem?Z{8})dzJHPnM9lXz?jQ;9}P&U{#lYkpGvE7`5aOdhsm zHl!|Kl2yB!|6|tsKUQN}k;&w>Zt=?rW6SZ&$4iYPCdP)0-{(`Rj=Tit$YFd>+dsm5 z{KWI15sn{?_>X}qV=%wUk8NyE&wG)MO(2$%4GqLt@^}vEJMI+t$-tchcL9~}rz5PU zsU5rVtG0{@+#_&2sQawDJ>A3z?-@8L;-^HIwVyvfHEGVX9RvJ@XLW`27U!p`g0?E9;kdS;#cK-onPg*mS5#}8NZ5O7vU=duL`^x z)brN{ego9=ynN>4{%uhC-xlH9K|TLNewF_nfp>yRcMre1e_!AOpq~3tgn50{!w-St zt4AXIv%sGR{vzWW#F#@e;xRnz{diA8~AwO6M;_#{ti?@h(v1-xuNgLFNA-sQe#_@J~UN^C-xV{Vzo6 zeiPxxKt2C>;FF+a=qqvmRZ#i99^p3v-wb>!a6_On<5Fjh9XU+t$Z-xw&a63>29^cp z0`cZsJ?XcJ@V0^5fvN|ecAS1AL|d% z^8-Q2(d|K%$2OJ6vzu>x9nU63cnT=_G!s-m&j!`cb0dC1#4iSw-?5mr^*I{w`Cp!(}3Q1!Yk!ao4{(Mu?v{%%nD z-V=B)sCGRKD*dyd%6T4CyIuhKv42JUe*#|ymCq}n(!BxVWj0P!d3wIe?f3fxvW7O< zupbBYJpMGt9pnBmQ2aI}!h3-gggYWUD{voBdT$}fj~yEEhk>${{|8ii&X4#DK=uDs zpxSj!;B}z#xeesUZigt{W8eVrMUW=hzd=2x%BtRc-o@Kh269VZl=1PZ2K9VDQ01^4 z?KlYRNqD=sKLphH43GPK(8-_sB&ha|jr$Woerz&C`RxU&zo$lcI_UZyl)g9?zj`=O2skZzIg7YrULjBK}XH>a!jcAHEdvF9))m z_wv|S@cjN8_(sIP8TeKppS1GlRe9AHSG$M#=%OQTKSy?7oWFa3k}n?t)$T@6>9z^v zk2!e!CqVVX&_MQ_Jv=OMIH+`dLfiWTC%&iSM7rbdpvGrX+~@0a{@nDq-v%mu2dHvp z1@fg=Pd_*A?;m&|NK>+!3c#}Q9p9DS< z_=~vzXdqub_ve2JD&Jp6_%{*$ZQv6T|73)JAK|A!_207*elGC&!1bW`;qRc@_adnF z{U`3f6!EWuD*wNrp5GAn)yaCE%|pM>muh`J^#U~>y+J)+9pRe5+Q5E+{R25Q=II84 zs!u&Ae&Pg~m&04)KCUA{<-ZfC_U#(+&7kTzKClH;{W#j>^_UJykIx6CUpW2Z&mRFQ zKRz+}jJLbSz?$?9rmmNUm^9fM>I~-JbJAq_jqar*ORK3Q7S_kh9sy^*; zpU;c=eg1HSr#}Ex{f`Hg{|Ryb6j0@`OYZTX2fg1xe(WrW?w=RoOF`+`8$p$SOWgl1 zsBya^;_r?4AAx%QH=yeGThRLtR6Twd@lQqg>A3$)g#QGp{Phw3GblcL15|(DIQIMO zHG6*DBisvAdv^d;uMwc++89vjT0oUQ5mdb)V5L7vXKt2BvQ1xz%@V21pGYnMyMu6&{Pk~DJ>A+p%{-_9#4jdCWHgNaAJp!9S zl{*1czEdJRE$&YboDn!Pur+XRQ0dtx^7_n*@V=nr!hsP#KX3u4b}s_e&ci{C-_c+{ zkU!+%@m~hjzB57P|5Z@!KRe>j0hRwn5xzL^lEANn%Kr*b>92|~Tj8GX^?^6U{clD1 zrU>5>cpIqt^3hF~6Ayu^$HSoN_tOaf3{*LfM);R;|5u>u`DBED7x$k6mG3hVem3qu z7x;YOdQkcPHSix1&licj{1-vB^QFN52J&Z_{Jtiw_>wO%J2rqScNKB z;T53TeQeEw-WhTKOMzboRqj_Kd={wu&IQ%p3*-LRBYZ{RHK63< z?Vz5&1LVgZf~cIIgG&D^a3J`P2>%<@^DjsEbx`$uGr}CoaQ+?us@(%4JUqgj!uRx_ zjPTB&%GoXA$3%Es+#eq}0hHd`JHq^xEHAeM6yME_@cw}Zg6g+JLDl21z{P=wgX*`X z5k4})%OkuZ@EB11b5h{xpwgWIYMjpnmH&C5`t4#+^|=D1OYBBa&)*EHo!m&T< zxc`p`zYzET8R35g{yXAditx*UuLQmds=lvB_>BnjN7cN1{-lSm3u-}?-#>65sQM0y zaD9Y768KS2{l9&Ln?SW^M^OF$X;9^k0@csE$NdSQ@@)a7mll93cOj_f4vp~Q2rmJZ z&oWTyjsn%spNsetBK|~B<8dme{7#GT84><6sC?Fd%IB+rX9b=Os{R)QUIHqgOF^Z( zJmRm8@O2TsF~Z*l_53XnzAeJv3%ot>hoIVdH>i5t6X6Hq{)2%Jfm*LU0jge4NBkc_ z`GwvB)qiyukE-8CL6zSS;g5qVXM0fPGzAU;#s9m28o%8^<;UN(^ZBs=RC$MhN_Qxz z=axnIC{X=;EU5W(5-9)P*Fcqj5vcTQBYZiie69dhpR42k^$~wVgufl(n*(nF)vnt> zjrW}qe^=n$asR%+AAu_W$ALcqRqn%qKLwTF&m;T`Q1$s0sP;S&@lS%{-{&IyJjjo| z3{n2Cf=c%WsQljyd@GPYQ|R$hcDm2;ZbuGsdwR}^c$j069_Cwc9_Aw%-k*Iyy9}kT1g208K$~zQP{zpW3 zS%i-P)sD}C>c7tgo&YLcCn!ER9n^EHLDlPAQ2AX5D%~ZZp1%y#bC*Z_m7wZ%L&SeG z!ncBY{`(PsJE(l_0F^HXo;{!YK#kWUasL+)|0t+@ACK@8ai71Y<@x*p)VMznsvJH= z@AxN^!nDF=l_ww22kk-2lDYI4}U!F zZx`Y11NmZx*JmiGe1`>c_|xrz382bp12r$_f@;Ttz(YaR`)E+UABcd~b~SZ-L6^+Y!DQ)N?-o zRsVZHjl%<=()|Qf{T>FD?vV)p3{-iKM*J^9@!t~>|9ep5{#@K&5AtKLMfi14`Mv=v z9bawqa(Ow*<2jAy`S$=-E^mfA_6g(<7<&KlJtKdfzYga4Y!~-A7UuE1qwVz=8S$S4 z)vjGZwQ~%pahMYEGeFgQA5it14XT~{ff~<6V1MugQ2fpx#`5P*k1$94J$x3Z{Lceb z{|h2~aooQo@arHd#I6UGKi?(wbhm@5$GxEH!OLfk_Xj=zs^54~(&Kp#(D7%W+VfZZ$&(38vVI$pz6gdAC7$M#_P|C zKM(Wfq$8&Ry_{N5`S*`_{uqJB*G0HK@FSp}`&fh<0tW{+27Wwn8&K`oKEh3)^k_?j zCxRO9y+H9dZ$tR=?Qx$!x#abn1!`U{i10z6@?8XKT$V-rQK0I#9Mt$83o73e&Q01Q;cwWSxAK?o@mH+h!Uk0k3yj$k&xf+yw zx;5^9FXF!sY99V1!ViOL-)}(G@3)}Rt&i|uK#lWX1OEo9z5fEmw^ozt$%jb&IgZ0R z@m_}hwlr# zA5{7u1^zhV9}47S)1KcWfxiG%&aXkGdkmC3c`D-n1ggAeLDge@g#QeRZ~5eo-~U(K ze+kt5;q4C}uihY0)(EPc?Lm#xCqR|66R3Pff$H}uaeq3f@j3w1xN}0^>&IUN@$!~} zm;iPX=;H@!yw8mA*`UffA5{G>0F~dh5q|@y@^6Xz-wEXJfOQtpz=QF!A8)UBq7*cvaxlf!Baae|>~+2>d3f{m&Zpp!n`ZQ1fsDh^p6Lc<_AsfhzZ- zpvvJ5PVX=NHm4)6i+VqdjPOo@yj11&-UU=W`8bY0&!2Ab_;C>)4@wUl0IIzUK-KRk zQ0-n0imz6HvbRo(FkeLUc;1n6JO$MAr-G{I=@Gv=;=c%LJl24!&(}becX8mQpvqYr zcv;}(Aga#318N=kD5!iM16AJRAYG=v8tmbJfy(FKpvK``@rYR$3Q*D z3r~)N0~-TB4obg{1T{Xpf~xQ6xIZRvY~b#Jdw_b5KjY~2X^HrWfqMo{3Y;7`1ynt! zgG%2Ds(pN8%CQ4feP;#k1Bx#Wi12}++Iw)|;)p*SRDUgt@KK;Z{&`<6cnu@i(CIeIoFwz-K`9=la0E zNBlnnUjkL$D-nJ@a094v%Wz7o-*^Ml`F0yn<6}Yb$H}1b=kFo-^JjplGFuC(-Rt81wV?XtR#5r= z5LCH$fvV5lf%kxF$Ah5i_fX)&asQ{F`3qd`9FsS-|Cc;O6%Ks=(^7WL6Um5YIM|d?T zdAu&-uLV_~8zTH|Q2E~ss$BjIy5nu2`tSP@{sE|VJqYUgAIJTNBmOZ^?RYlsKL<)K zzW~af;5}8(mk%I#`FuXX!@Pp%<|Up**3+XhrQylv#T9jNgb39A0PMEs{fm9t0O z-wRYed&m8@z;;mW*(Y#L#P1h4H*g-PemDTs^9v%pFv5p`(x=Bo_;^tD@0TL{O5A@n!v6)8AFpG2`nLjk5!>T=PtN1{@T-@@mz+J!`+OeewJ}FNcH!7F zkPn0UbA2MrpFZ>a_;`@V*G7E*2=nC&kLSf$e~uT_96uKE4WQcD7~zixZWG8KGWGu1 z0aSa3foj)CP~$Qdl$@FhYCNaK{h6S~??6!bF9=)+iXRRK_55cdo`xggZ0;*nX zBYYXCc3lzSb#edd2wwxLzpjt)4RQZl5xxmj`kNzsOW=0`ZwU^D!Brc>qIViTbgtqr=TKQqOjnL^2p zeC&!N?GX!mQ?yfJF7t46}ANr&IO#puQ5- z^$gnD#FcWJ>1C-cOj~6abS6|S-GTCS-EOntvz^E{aodizBX>mG z`5i%D?ntT`P_;#|9Z=PI7XQ75zuk;nCKLz)1A(6+Um63=`84YYB9{~BiiQI zx;ugX8AdMSoaz~kj_6FM9ngvNx~Ov2cnx!|7S)rJJm*QC=VZ@E<2a0adR{y~%*Sz< zP4y?m`NQZPrPas|Blmrrs*N-JnVFt;rst`V9p=3;jIe6h=Be5}zMU2fqYTBjGs>b< zovP*<{bBT;a_I0>9iC_EPw~Joo=^>Eaeo-~(37)0x7p-2JpX?hSL$uiR;RO}>MPL> zsQPEPw|cm@ceuB1IHl@&jplH#|8UBi$hAgRbe2=)rdkcRxwL4w&)g9{J4e7P`}^4M z02S|yfFnlu{~=C?Mo4j*izED*5%x*Hp6{`Vw}$)mJg17^$wWU%d7`@h6!LHcS3}83 z5<>i_Tvb!$J;bT*rqXspT8?!2BA#yalDBg@#Hs4Lo7Y--s-*U)mumMZu7#2sL!2t^ zQ#`49wAikU#t7)H#O&tRyAj@zYvn0A%;^Z^wZ>|c=Qhf7N)lYTj3X~`k?2gQMtqFd zM6`qJ-6?$xPfT#y3LVdrV|;waz~{5Lp2B_67N--P&Ty*dr}#4}WsHyY7$55~l%)JM z%A#|i9n@TOcc*(eonvF^yAG&&eXRG~Snr#$)MOkn(j#M?qsDq$#*+U`V&*`1M}`e? zs%yzF(VTk(UaB#roC9N{5O)n45bRk_ma zqN-bmr|s~T&hj3Ryc$O?dS*7iVsjG|p+nQvaz08T>YBJHw)p$=})Rkf~?VZ4{uBXsj*$feH>ss~H z2#G32{G8d2GrYaxMvX*^Q<=RylwYX zvWF&652X@ci7KC2epj3`ff{I}=6IiI1Y3w5;&hZ#$y3cw(GIAjji}-^14Sn|l~fo; zuOwSQbedncI#pU}UD17@(xNToBHJ@bS;@8*+8}#Tvr{z9Hl@`#i7H0@k;x#%={o&a z{aa|AsGbxLh$`(wWTU8RrBN1DDH>(b^t{TF&67zt^_s4gqa>K9o|GIDRa-PuBmwoL zMo?5wY6L~~r0fCJY$8;nCaSv077jQqoAHo@T1b70;x3pb=1s;%HH|S6nG7t4>@gI>zZZr^-QND4NDlHE&@o z)T63{xJVqP=O=kfr}*>JJm+cN4@tgA8i)&pvWG=g|73GZg6mqNCXFVla;JNXW_WF- zM>9DkKGU_Va%nnI)lDm=iKJH_N*{=-Tvr;!+SgmOua~l~*Lh#hb6?MA zjz1&GJdwPVkNgx`xlVDa-j!YvRg7#R(GI7xpi|%n(HTzlyfnz3)Oegz@r8Oomad*r z4JT2?5T`?(j)qE}h$>!danUxYq=cxRk^C1G-)sFRI@M{b({`t`pqk6F4HYAKCZ1LP z($1pFP4ix~#i`2DxQXg{p{Pnx>n6D+skNx=PK}4C+9ECzm6Xy5O(OkdsBA}3_ zeu9xscXGN5R4a06`Wa5!oXXadMiLiHcdB^l0#W5H=`5-k)nPKR(z=q;qNAZ&VNGFG zzXMeLrq!gzP|{y?E>t5csuVAN9AWEJXFON>HBCWTGlp za!*vxNaBeqK6wzbb+zIp-$WBPr%_Ki?&b07&l$)tQI#v{C#rI#g(ZbGZ(6+-tv(i# zhe{WFJT_=sIzUYA!u4 zsvIOMMCU^_6J<{*ZR)lCNGrR1g8LU{LTB^rR7%ncO8k>NA5)QEijlSzZE-rqX{%GM zPNZ$8`W#Fvm8s4}vR0dj*SL$eIh_MlugHpRW1PgjTBi+hI?|~uT1f!;y>@`gDwsz8 zviqc|W&6%>Dl10PNm@|6tkr{bp>h@Uqfltq*5HH4jAf zjCfX5PpamkDp$1@Rn4`=6jhy7BT=n+l&h%noaSk@-b}tKQI#T@BC7mllj}KAaZA$Q z)2Nxs()vzxs8h8ltpubS#PQRewt`$z&yn z%Kj1^>r|=KW1>nW`6=4rbhguZQ1zbZB&T{_oH(8TT1zV=s{G}j)s>!?loQqSvTQ}w zrkU`pEESb58$(ogWnE0C2E(1Ib^CZebBL24eTdUhUdA>~JD}pLs+LKn zi)yrGbBZcASq7QxkWWt6txolfJW--^ogNRBr)P$HL}XEo=URO(sy3_VMU_h2JA-=2 z6Rnk~=oqIeQSww&y`r_0WLBe7JulfSs{E6!mL!@q;0$W4)+ra!6f@he_l0IUT=kbU z7FC{-$)ZD@%8M$=EV_qNlrYmSI2t>%d6j!u<>ykw$kg`}vc@{z0* z)woE0imFd!eTl06nqQ(CLGhe)fO60}S5#%m{~`~xEMxgR#M6qABo${jIvwg%YZ{H0 zsC0=|W1{lF$rejClxVV^^rUPPQR)ArSJlrm$z9J&zDmaI?o@eZQfC&|ns=gUX6wmp z{-yb}H!+$qqRLIPL{zoa3=oy~c?M%4I>zZ9PL*@Up=ouh{Ka3Qs&mE*85bxL#5tl$C7W1OeB8m#kEE5ZwHF|&Hp;gq`K9NzTO%spvG%@X zHw<;Em>v1m9>N5t(lg?I(G)N1K%Qw?7&Ep5*yR zo(c7@_T{t|7gbFp?L|j9RjnlXMJ2JMF-27?wMSHSlP(ZdiL#=T9V)8aWP6IL&a!$W z$MsCorIHDmOcyWcTF+<%l($mpSy7eP8u995jecfhsjqcUZE5%VYh;t{m3T;0{VX}0c7?oCd2fNG|Ts;088MMp!mzS7!N*TcMzHB!3Ps$KbrD%CLZ6IIQIQ5Vs) zQzVYij*wQoYNd7$wBl6`8$JD6{VE4}<;C&iovJL2c(xjm9?`XClEzw8rN{~rodeZM zW8-XTYmAYJbd z-5<_vLn>)L$QBYE1(l_(d6MX8u4Q9OK8laT)uI~nVT^#NcFx7sqVjx*pGCFzHQZyg z$EaDSkk$+Bv{U73RW8q?(rI5vGB?}*(Y5RdJuSKqGG@&b)oC1;Z!*!Z%$@g%YqbVimEKhF;TTqEA`CINE$+RtYY?q zW-BC>s5Ox26lhu>$Wo9-Q6EaLiK-My^dy@_Q;b?FIV7r7ng^J3>wqUw#bW8L8+F3qJF)lm9NRQacMX3}=zPQ@r+`IqF?(nyIjMOC+CZHqs% zJtyrJsUE7o>?Bd87r%)PbvnxFXs5eF<@piSGiet=K4e|XqD<=?tqOE4sV(joRnFQe z5SQRS>zB&wXn)uL(lUaMj40E_Mdl`d2d zDt}3A(G;V!TK{Tp>v{3Ks9L%^GE)|(uG0w{oh;F{dS)E+MO5`qdv%%}y4KoQ+FVrj zk!H21%2EyFNt^@KOcB*HnlJJT=)R=4##m)(j)*E=l37&sPrd_5W?d_Xq%SoKbgfe4 zO%$C6O}0)t`yzi;=69IvStY7+vlb|SrAxc2qKc7Z7uBM0TV+r^%Bj z9?(2YbUN4CO%zqW8eh>NPKP>`O_8*SX1MGarIi-Z9M-k^Q8QU-)$^jtS*sdRrJCWT zXicf>S*fD(vZ#ke^}PC1RJm#GB&rgnf7JeTo=o+Wzg<-GO!`rDtW)J6c`vG* zC4)s(x+I=PMs*gai|QHirl>4z^_8e}r$$J=fYDI(lIR4dTDhrzq*)as`ypxBeaK}B zvP?ZMs%!1`=1?RZr-GS^BWny&Zq>-l~vs|BiBYtMCv)1gplwCtbGrRp6n{ri#*zw__q L1qoMPnDGAq5$3cb literal 0 HcmV?d00001 diff --git a/backend/FateMaster.API/FateMaster.API/.vs/FateMaster.API/FileContentIndex/6af3c25e-5958-4720-9fbe-23e159844c6a.vsidx b/backend/FateMaster.API/FateMaster.API/.vs/FateMaster.API/FileContentIndex/6af3c25e-5958-4720-9fbe-23e159844c6a.vsidx new file mode 100644 index 0000000000000000000000000000000000000000..b71e7ba39e31afd6d6fbd90322f2ccfd324809e7 GIT binary patch literal 124344 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 literal 0 HcmV?d00001 diff --git a/backend/FateMaster.API/FateMaster.API/.vs/FateMaster.API/FileContentIndex/6efa3979-3ca3-4d97-9ef7-741d0a2ab991.vsidx b/backend/FateMaster.API/FateMaster.API/.vs/FateMaster.API/FileContentIndex/6efa3979-3ca3-4d97-9ef7-741d0a2ab991.vsidx new file mode 100644 index 0000000000000000000000000000000000000000..fe67c87f4293a7aba92a91997a40cf9636f3e697 GIT binary patch literal 95118 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 literal 0 HcmV?d00001 diff --git a/backend/FateMaster.API/FateMaster.API/.vs/FateMaster.API/FileContentIndex/ce930036-c604-4a73-a92e-7fea58a05fe1.vsidx b/backend/FateMaster.API/FateMaster.API/.vs/FateMaster.API/FileContentIndex/ce930036-c604-4a73-a92e-7fea58a05fe1.vsidx new file mode 100644 index 0000000000000000000000000000000000000000..2d14ba8c3fcb49b94f437a41a820cb5368e5548f GIT binary patch literal 148033 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≫2b)~0GOgnU^ulowv z4n2=CbXl67wk+*%PTK6;wAu2snJ+Y7V zpB;3QuJm+a8>J^gMCcCXqMGo}eqriz>h8>=?gQxovkS6TiN3N`v`RA%1He2=K}fPJ z#KBcri-Rl_AXpvX6%kS2JhYq09ir?{nrHzP(0}>b9m=H{hPC6MBFHx}q(rk_2#T&Y z1hq7EAt*R369nh8j0~004ZH1vyu|iAvG^+=FEchbUi(mW%zE9=|EP+g(nn$Tw5=|Adj z)+l@PZ()0^H)4LwI`iDH z>1#;LH)bEkfTDYPZSfO_f5BM0lthmMtKW3S+WR|{uI@_Hy3@_RIWndv zP4LclbzhoZ?#V7q(|l)yEKsm6z9+T%Qk{;zmj2wEI3w2zLq!gLJ03YVLrs~1GLbYQ zyrv*1WK~9D^h+Pg8xjy{G_KVQZW-c|tXx;jQ!1M}v2Ks17~~*5Zc$;t+$rOZ6*s&X zp>fk{hADkapACoD*B~X=MP*KyI*!zb1hy~ZM0B&>g<}f^-uu&hR`&SLT3I3(v_3#e zileL;6;M!&NEuOwA<>=r5e0l;-Tlv0C^H`R#V9gTi-VczGrDj&Umx}IO2t@|j5TzM zUv(P}ZmBX3trdetS~_iu$fC2 z)8|fuX%XpXreEhCggPo${(;MFW-(grd;(a~v>A5yPNfhs zffM6hcAUU0g|?zEV}Rt|z^1ESukrkFvLuiUi6L2*Cv2ETa@AB3($F0Z&w@f=eUAz;uBUsf=E$!|HjB)Aa-=eXTj1P1oacJKs@}cfl z5vi9OO-2GN+N>E@wgs6DiLq;U4f>oCok&@(aMrC9v zZxNxJLrM$_F-W&nwGQY+i*p$ohe)Zc47=*bp`%V~q2HR3zSU!6l9pQnH`!SjWaj&= zY}MDpb7gYfZfH3HwcwiJZpBe}ugx%nLHpQn7xavHjI!>E)1doyzX99u7Ok6Zj!`Qs z6*L^Y$As*hS$=FU-qKT)_0o#!Ig+#qcZAClL>4&oQ4JhY1O-XX4ZB&^7D#3w99Oln z)!&6l2-e-M?Au%DE_u9xDkE}$z^i3phcPft8v9W-n~^or4VfC;+NW@ZH2l2;cyBJd zao_X9WklzX><|UQ#6?H<)UZ46(`)Ied~-!En;b
+
+
+
+
+
+
+
+ + + +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+ +
+
+
+
+
+
+ +
+
+
+
+
+ +
+
+
+ +
+
+ +
+
+ +
+
+
+ + +
+
+
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/backend/FateMaster.API/FateMaster.API/.vs/FateMaster/v17/.futdcache.v2 b/backend/FateMaster.API/FateMaster.API/.vs/FateMaster/v17/.futdcache.v2 new file mode 100644 index 0000000000000000000000000000000000000000..25c36acecc7e550324782f1132d3577903331541 GIT binary patch literal 1890 zcmd;KU|{ffv5HAcEJ@8xEG|hcib+aL&Q8rsiE#r8`GSS?90NR&xxpEUMX4wXAR>Cn z#RWzASxi7Pd7bm~(lXOaixNvR^Yd6;Qj<#4IRbJLOVaX-a@id7DxCvDZyI_#0hNM* z*P_(#bxij-NOp@$er{rB9LAAIAS&0WmkCNr$Y)GfatcMWt_8692cxFkg0GtA&_MtdK~mp^e2 ztSe2ru;I2b@^{9lv%;BWOwlz-cdHT=R_m%p*wvUwvX|ip`o5FJx(2UXcFH=?6 z&GFp=hz4R9B{X_Lg+JI~@D$8%iA^`5*K5Zr_ct;sjo+hi{V?vF!0CIP5DN?mr`!*GWS3KA&A-pc&9{Nqg>;kqe&zKhMzr!$qiS&uH#7Q{EtKK%wv477 znXgv+KUSbMbL0xy4#O&-9kGMgOK-JdRM_gZOet4}8CEe>M~;%5TThWO@LB1=dfF!G zMFbXy-BsaydnsypJAAiiRBPU@&ifX8cVM(`?s&Dxt&Ga@+~3PZIx-rt%zHw})^ggI zzf_&h6Lc#1JsFY3=wOLTBrA^+F8j0*b{j&PLj{!)|BomJ4~Bfcm`k&#&3B6|y_-DmG%I&DuHsyvLgml#jR ziGHgy#1fNf#tvVYi|JFYlFoX7jNJ=PZdnh59NV^t7MQ!$!nyVmv9|3}ibzulWIaOJ z^VHV)fe3?t4jcl$0CqAmat8IA5{G2E!wdIa4whU(T~$KA%CYojk)l6pHr-(JkLNq& z{ulO%kUQtRvQE@w66DD7hveL3$P*^clC`=AbAOoAH&XcTuGwFJJ~uV_i&oJ0fIea2 zacO@Z`n$}*(tZk(Y7#IRm&0ccsHS3o)Hmbt z*kl6G3Fr*m2DCK|-UZ_zklhvI?Z6#CJLm^O7l*MMzVC#bh%pI>f-WP%aPwrwqaD0E zyTW?_J%L_8Z^ly??*l0nNMpP&0OU*qQn zn3G@6bxx{Xw9Tr@oFw9X)kVJ+FOhTkMi))&P$uQN@qX=6G5h1)gYPc^J#GNwPlds z!g5nWSEc2t4$6sMEG=5doP8l&-p*FwY zQ#(`Sz1|Bx^3ZGMP`Met-$Os{R5c$JRP(=j?7H{Yz(we;mjB?3pY))){q1_^Ke_oC zw}baF!Q8kNDofgfxdU0Hzs*JvbfxPnNp+a(V+Qos#8$d#v+|HhjUSyao!86aB-1__ zoyE;&JycgxU<64exs-vx7x-Pgn14hH7h?H6Tb7^8s0+e*{R1#@q0 zdGv>+p*g4Dm--#4zi9P7x`PG$aQ!aa#pt(^86^DkcNwkU{Fq!T=x*7~=su`=g+dJTRUEQ|n-0KM=%3S)1KDL@|}6*vgpNI)=|hVQ<>eUNK_evn6F?2j=W z$NN<_lrFd(QlaX(Ik;__UAua*;MU)kf_ig03+Qd9;Nt21 z^e@SU|2_)hVkWciqXK5%Q~7vU`|dUVq|HU^ATD$sbPoP14;CQq`PUHpbFlHn&r4Xt z-X`UOgSRKBT1x~6#hdo^FBSRF{Euf+grIQ{!OK}dAM_s8>uVWu#{W*yJ52?nySGP4 z=X?b?8`ez9b$MEgxI*jZ4d_Je{1snsYFurCTwm>6Pp&laf~V@O;b6!xvVaW>x}FrR zB5=oPJb8lN@XfsR>5!rmvajgy&sIM59v0=b@5C4{HO-zQ zZCVB8Vmx>Z&Bu<=iT)G^)W`ER*5Y;CnWscHX7*Gp-wT$Dejd|VcK)=FUP=&x#&Tp3 z%cmJx=T}IZpv=_&QmT*fvy8qPxkYt;{Y7$)QS#oE%BTJ!(HTF*$iFv!hS~S9{@0ZL n7t}>Y$D`lrBw`6Zm0D!3eku_-iK}%A|A{zZdzGwj_^JE}TkLK5 literal 0 HcmV?d00001 diff --git a/backend/FateMaster.API/FateMaster.API/.vs/ProjectEvaluation/fatemaster.projects.v9.bin b/backend/FateMaster.API/FateMaster.API/.vs/ProjectEvaluation/fatemaster.projects.v9.bin new file mode 100644 index 0000000000000000000000000000000000000000..253c5857622ec7ab6b64688f681114ef7e3b6e69 GIT binary patch literal 341070 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 z%0DeJZdNE5Y!Mv1} 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 literal 0 HcmV?d00001 diff --git a/backend/FateMaster.API/FateMaster.API/.vs/ProjectEvaluation/fatemaster.strings.v9.bin b/backend/FateMaster.API/FateMaster.API/.vs/ProjectEvaluation/fatemaster.strings.v9.bin new file mode 100644 index 0000000000000000000000000000000000000000..dea6c4edb6abdd46480a4d443d228598241751c6 GIT binary patch literal 202215 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 T5NlR1q7}|t6{76tkmCOWb|*`F literal 0 HcmV?d00001 diff --git a/backend/FateMaster.API/Controllers/Admin/PricesController.cs b/backend/FateMaster.API/FateMaster.API/Controllers/Admin/PricesController.cs similarity index 100% rename from backend/FateMaster.API/Controllers/Admin/PricesController.cs rename to backend/FateMaster.API/FateMaster.API/Controllers/Admin/PricesController.cs diff --git a/backend/FateMaster.API/Controllers/Admin/RecordsController.cs b/backend/FateMaster.API/FateMaster.API/Controllers/Admin/RecordsController.cs similarity index 100% rename from backend/FateMaster.API/Controllers/Admin/RecordsController.cs rename to backend/FateMaster.API/FateMaster.API/Controllers/Admin/RecordsController.cs diff --git a/backend/FateMaster.API/Controllers/DivinationController.cs b/backend/FateMaster.API/FateMaster.API/Controllers/DivinationController.cs similarity index 100% rename from backend/FateMaster.API/Controllers/DivinationController.cs rename to backend/FateMaster.API/FateMaster.API/Controllers/DivinationController.cs diff --git a/backend/FateMaster.API/Data/ApplicationDbContext.cs b/backend/FateMaster.API/FateMaster.API/Data/ApplicationDbContext.cs similarity index 100% rename from backend/FateMaster.API/Data/ApplicationDbContext.cs rename to backend/FateMaster.API/FateMaster.API/Data/ApplicationDbContext.cs diff --git a/backend/FateMaster.API/FateMaster.API.csproj b/backend/FateMaster.API/FateMaster.API/FateMaster.API.csproj similarity index 100% rename from backend/FateMaster.API/FateMaster.API.csproj rename to backend/FateMaster.API/FateMaster.API/FateMaster.API.csproj diff --git a/backend/FateMaster.API/FateMaster.API/FateMaster.Admin.API/Controllers/PricesController.cs b/backend/FateMaster.API/FateMaster.API/FateMaster.Admin.API/Controllers/PricesController.cs new file mode 100644 index 0000000..a204a76 --- /dev/null +++ b/backend/FateMaster.API/FateMaster.API/FateMaster.Admin.API/Controllers/PricesController.cs @@ -0,0 +1,97 @@ +using FateMaster.Application.Interfaces; +using FateMaster.Shared.DTOs; +using Microsoft.AspNetCore.Mvc; + +namespace FateMaster.Admin.API.Controllers; + +[ApiController] +[Route("api/admin/[controller]")] +public class PricesController : ControllerBase +{ + private readonly IPriceConfigService _priceService; + private readonly ILogger _logger; + + public PricesController( + IPriceConfigService priceService, + ILogger logger) + { + _priceService = priceService; + _logger = logger; + } + + ///

+ /// 获取所有价格配置 + /// + [HttpGet] + public async Task>>> GetAll() + { + try + { + var prices = await _priceService.GetAllPricesAsync(); + return Ok(ApiResponse>.SuccessResult(prices)); + } + catch (Exception ex) + { + _logger.LogError(ex, "Error getting all prices"); + return StatusCode(500, ApiResponse>.FailureResult("获取价格配置失败")); + } + } + + /// + /// 更新价格配置 + /// + [HttpPut("{id}")] + public async Task>> Update(int id, [FromBody] UpsertPriceConfigRequest request) + { + try + { + var price = await _priceService.UpsertPriceConfigAsync(id, request); + return Ok(ApiResponse.SuccessResult(price)); + } + catch (Exception ex) + { + _logger.LogError(ex, "Error updating price config"); + return StatusCode(500, ApiResponse.FailureResult("更新价格配置失败")); + } + } + + /// + /// 创建价格配置 + /// + [HttpPost] + public async Task>> Create([FromBody] UpsertPriceConfigRequest request) + { + try + { + var price = await _priceService.UpsertPriceConfigAsync(null, request); + return Ok(ApiResponse.SuccessResult(price)); + } + catch (Exception ex) + { + _logger.LogError(ex, "Error creating price config"); + return StatusCode(500, ApiResponse.FailureResult("创建价格配置失败")); + } + } + + /// + /// 删除价格配置 + /// + [HttpDelete("{id}")] + public async Task>> Delete(int id) + { + try + { + var success = await _priceService.DeletePriceConfigAsync(id); + if (!success) + { + return NotFound(ApiResponse.FailureResult("价格配置不存在")); + } + return Ok(ApiResponse.SuccessResult(true)); + } + catch (Exception ex) + { + _logger.LogError(ex, "Error deleting price config"); + return StatusCode(500, ApiResponse.FailureResult("删除价格配置失败")); + } + } +} diff --git a/backend/FateMaster.API/FateMaster.API/FateMaster.Admin.API/Controllers/RecordsController.cs b/backend/FateMaster.API/FateMaster.API/FateMaster.Admin.API/Controllers/RecordsController.cs new file mode 100644 index 0000000..f39c346 --- /dev/null +++ b/backend/FateMaster.API/FateMaster.API/FateMaster.Admin.API/Controllers/RecordsController.cs @@ -0,0 +1,62 @@ +using FateMaster.Application.Interfaces; +using FateMaster.Shared.DTOs; +using Microsoft.AspNetCore.Mvc; + +namespace FateMaster.Admin.API.Controllers; + +[ApiController] +[Route("api/admin/[controller]")] +public class RecordsController : ControllerBase +{ + private readonly IAdminService _adminService; + private readonly ILogger _logger; + + public RecordsController( + IAdminService adminService, + ILogger logger) + { + _adminService = adminService; + _logger = logger; + } + + /// + /// 获取卜卦记录列表 + /// + [HttpGet] + public async Task>>> GetRecords( + [FromQuery] int page = 1, + [FromQuery] int pageSize = 20, + [FromQuery] string? type = null, + [FromQuery] string? paymentStatus = null) + { + try + { + var request = new PagedRequest(page, pageSize, type, paymentStatus); + var result = await _adminService.GetRecordsAsync(request); + return Ok(ApiResponse>.SuccessResult(result)); + } + catch (Exception ex) + { + _logger.LogError(ex, "Error getting records"); + return StatusCode(500, ApiResponse>.FailureResult("获取记录列表失败")); + } + } + + /// + /// 获取统计数据 + /// + [HttpGet("statistics")] + public async Task>> GetStatistics() + { + try + { + var stats = await _adminService.GetStatisticsAsync(); + return Ok(ApiResponse.SuccessResult(stats)); + } + catch (Exception ex) + { + _logger.LogError(ex, "Error getting statistics"); + return StatusCode(500, ApiResponse.FailureResult("获取统计数据失败")); + } + } +} diff --git a/backend/FateMaster.API/FateMaster.API/FateMaster.Admin.API/FateMaster.Admin.API.csproj b/backend/FateMaster.API/FateMaster.API/FateMaster.Admin.API/FateMaster.Admin.API.csproj new file mode 100644 index 0000000..b1ce769 --- /dev/null +++ b/backend/FateMaster.API/FateMaster.API/FateMaster.Admin.API/FateMaster.Admin.API.csproj @@ -0,0 +1,20 @@ + + + + net8.0 + enable + enable + + + + + + + + + + + + + + diff --git a/backend/FateMaster.API/FateMaster.API/FateMaster.Admin.API/FateMaster.Admin.API.http b/backend/FateMaster.API/FateMaster.API/FateMaster.Admin.API/FateMaster.Admin.API.http new file mode 100644 index 0000000..e9aa78d --- /dev/null +++ b/backend/FateMaster.API/FateMaster.API/FateMaster.Admin.API/FateMaster.Admin.API.http @@ -0,0 +1,6 @@ +@FateMaster.Admin.API_HostAddress = http://localhost:5127 + +GET {{FateMaster.Admin.API_HostAddress}}/weatherforecast/ +Accept: application/json + +### diff --git a/backend/FateMaster.API/FateMaster.API/FateMaster.Admin.API/Program.cs b/backend/FateMaster.API/FateMaster.API/FateMaster.Admin.API/Program.cs new file mode 100644 index 0000000..31129c9 --- /dev/null +++ b/backend/FateMaster.API/FateMaster.API/FateMaster.Admin.API/Program.cs @@ -0,0 +1,41 @@ +using FateMaster.Application; +using FateMaster.Infrastructure; + +var builder = WebApplication.CreateBuilder(args); + +// Add services to the container +builder.Services.AddControllers(); +builder.Services.AddEndpointsApiExplorer(); +builder.Services.AddSwaggerGen(); + +// 添加Application和Infrastructure层 +builder.Services.AddApplication(); +builder.Services.AddInfrastructure(builder.Configuration); + +// Configure CORS - Admin需要更严格的CORS配置 +builder.Services.AddCors(options => +{ + options.AddPolicy("AllowAdmin", policy => + { + policy.WithOrigins("http://localhost:3002", "http://localhost:3003") // Admin前端端口 + .AllowAnyMethod() + .AllowAnyHeader() + .AllowCredentials(); + }); +}); + +var app = builder.Build(); + +// Configure the HTTP request pipeline +if (app.Environment.IsDevelopment()) +{ + app.UseSwagger(); + app.UseSwaggerUI(); +} + +app.UseCors("AllowAdmin"); +app.UseHttpsRedirection(); +app.UseAuthorization(); +app.MapControllers(); + +app.Run(); diff --git a/backend/FateMaster.API/FateMaster.API/FateMaster.Admin.API/Properties/launchSettings.json b/backend/FateMaster.API/FateMaster.API/FateMaster.Admin.API/Properties/launchSettings.json new file mode 100644 index 0000000..491c726 --- /dev/null +++ b/backend/FateMaster.API/FateMaster.API/FateMaster.Admin.API/Properties/launchSettings.json @@ -0,0 +1,41 @@ +{ + "$schema": "http://json.schemastore.org/launchsettings.json", + "iisSettings": { + "windowsAuthentication": false, + "anonymousAuthentication": true, + "iisExpress": { + "applicationUrl": "http://localhost:7582", + "sslPort": 44338 + } + }, + "profiles": { + "http": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + "launchUrl": "swagger", + "applicationUrl": "http://localhost:5127", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "https": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + "launchUrl": "swagger", + "applicationUrl": "https://localhost:7141;http://localhost:5127", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "IIS Express": { + "commandName": "IISExpress", + "launchBrowser": true, + "launchUrl": "swagger", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + } + } +} diff --git a/backend/FateMaster.API/FateMaster.API/FateMaster.Admin.API/appsettings.json b/backend/FateMaster.API/FateMaster.API/FateMaster.Admin.API/appsettings.json new file mode 100644 index 0000000..c005171 --- /dev/null +++ b/backend/FateMaster.API/FateMaster.API/FateMaster.Admin.API/appsettings.json @@ -0,0 +1,12 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + }, + "AllowedHosts": "*", + "ConnectionStrings": { + "DefaultConnection": "Server=localhost;Port=3306;Database=fatemaster;User=root;Password=your_password;" + } +} diff --git a/backend/FateMaster.API/FateMaster.API/FateMaster.Application/DependencyInjection.cs b/backend/FateMaster.API/FateMaster.API/FateMaster.Application/DependencyInjection.cs new file mode 100644 index 0000000..93eaa07 --- /dev/null +++ b/backend/FateMaster.API/FateMaster.API/FateMaster.Application/DependencyInjection.cs @@ -0,0 +1,26 @@ +using FateMaster.Application.Interfaces; +using FateMaster.Application.Services; +using Microsoft.Extensions.DependencyInjection; + +namespace FateMaster.Application; + +/// +/// Application层依赖注入扩展 +/// +public static class DependencyInjection +{ + public static IServiceCollection AddApplication(this IServiceCollection services) + { + // 注册应用服务 + services.AddScoped(); + services.AddScoped(); + services.AddScoped(); + services.AddScoped(); + services.AddScoped(); + + // 注册HttpClient用于AI服务 + services.AddHttpClient(); + + return services; + } +} diff --git a/backend/FateMaster.API/FateMaster.API/FateMaster.Application/FateMaster.Application.csproj b/backend/FateMaster.API/FateMaster.API/FateMaster.Application/FateMaster.Application.csproj new file mode 100644 index 0000000..aff3518 --- /dev/null +++ b/backend/FateMaster.API/FateMaster.API/FateMaster.Application/FateMaster.Application.csproj @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + net8.0 + enable + enable + + + diff --git a/backend/FateMaster.API/FateMaster.API/FateMaster.Application/Interfaces/IAdminService.cs b/backend/FateMaster.API/FateMaster.API/FateMaster.Application/Interfaces/IAdminService.cs new file mode 100644 index 0000000..104cb42 --- /dev/null +++ b/backend/FateMaster.API/FateMaster.API/FateMaster.Application/Interfaces/IAdminService.cs @@ -0,0 +1,19 @@ +using FateMaster.Shared.DTOs; + +namespace FateMaster.Application.Interfaces; + +/// +/// Admin管理服务接口 +/// +public interface IAdminService +{ + /// + /// 获取分页的卜卦记录列表 + /// + Task> GetRecordsAsync(PagedRequest request); + + /// + /// 获取统计数据 + /// + Task GetStatisticsAsync(); +} diff --git a/backend/FateMaster.API/FateMaster.API/FateMaster.Application/Interfaces/IAiService.cs b/backend/FateMaster.API/FateMaster.API/FateMaster.Application/Interfaces/IAiService.cs new file mode 100644 index 0000000..0b163c8 --- /dev/null +++ b/backend/FateMaster.API/FateMaster.API/FateMaster.Application/Interfaces/IAiService.cs @@ -0,0 +1,19 @@ +using FateMaster.Shared.DTOs; + +namespace FateMaster.Application.Interfaces; + +/// +/// AI服务接口 +/// +public interface IAiService +{ + /// + /// AI解读八字 + /// + Task InterpretBaziAsync( + BaziChart chart, + FiveElementsAnalysis fiveElements, + TenGodsAnalysis tenGods, + LuckCycleInfo luckCycles, + BaziCalculateRequest request); +} diff --git a/backend/FateMaster.API/FateMaster.API/FateMaster.Application/Interfaces/IBaziService.cs b/backend/FateMaster.API/FateMaster.API/FateMaster.Application/Interfaces/IBaziService.cs new file mode 100644 index 0000000..be02545 --- /dev/null +++ b/backend/FateMaster.API/FateMaster.API/FateMaster.Application/Interfaces/IBaziService.cs @@ -0,0 +1,19 @@ +using FateMaster.Shared.DTOs; + +namespace FateMaster.Application.Interfaces; + +/// +/// 八字服务接口 +/// +public interface IBaziService +{ + /// + /// 计算八字 + /// + Task CalculateBaziAsync(BaziCalculateRequest request, string? clientIp); + + /// + /// 获取八字结果 + /// + Task GetBaziResultAsync(long recordId); +} diff --git a/backend/FateMaster.API/FateMaster.API/FateMaster.Application/Interfaces/IDivinationService.cs b/backend/FateMaster.API/FateMaster.API/FateMaster.Application/Interfaces/IDivinationService.cs new file mode 100644 index 0000000..d691175 --- /dev/null +++ b/backend/FateMaster.API/FateMaster.API/FateMaster.Application/Interfaces/IDivinationService.cs @@ -0,0 +1,29 @@ +using FateMaster.Shared.DTOs; + +namespace FateMaster.Application.Interfaces; + +/// +/// 卜卦服务接口 +/// +public interface IDivinationService +{ + /// + /// 获取所有启用的价格配置 + /// + Task> GetEnabledPricesAsync(); + + /// + /// 提交卜卦请求 + /// + Task SubmitDivinationAsync(SubmitDivinationRequest request, string? clientIp); + + /// + /// 根据ID获取卜卦记录 + /// + Task GetDivinationRecordAsync(long id); + + /// + /// 更新支付状态 + /// + Task UpdatePaymentStatusAsync(UpdatePaymentStatusRequest request); +} diff --git a/backend/FateMaster.API/FateMaster.API/FateMaster.Application/Interfaces/IPriceConfigService.cs b/backend/FateMaster.API/FateMaster.API/FateMaster.Application/Interfaces/IPriceConfigService.cs new file mode 100644 index 0000000..6527df0 --- /dev/null +++ b/backend/FateMaster.API/FateMaster.API/FateMaster.Application/Interfaces/IPriceConfigService.cs @@ -0,0 +1,29 @@ +using FateMaster.Shared.DTOs; + +namespace FateMaster.Application.Interfaces; + +/// +/// 价格配置服务接口 +/// +public interface IPriceConfigService +{ + /// + /// 获取所有价格配置 + /// + Task> GetAllPricesAsync(); + + /// + /// 根据服务类型获取价格 + /// + Task GetPriceByServiceTypeAsync(string serviceType); + + /// + /// 创建或更新价格配置 + /// + Task UpsertPriceConfigAsync(int? id, UpsertPriceConfigRequest request); + + /// + /// 删除价格配置 + /// + Task DeletePriceConfigAsync(int id); +} diff --git a/backend/FateMaster.API/FateMaster.API/FateMaster.Application/Services/AdminService.cs b/backend/FateMaster.API/FateMaster.API/FateMaster.Application/Services/AdminService.cs new file mode 100644 index 0000000..75f124c --- /dev/null +++ b/backend/FateMaster.API/FateMaster.API/FateMaster.Application/Services/AdminService.cs @@ -0,0 +1,98 @@ +using FateMaster.Application.Interfaces; +using FateMaster.Domain.Entities; +using FateMaster.Domain.Interfaces; +using FateMaster.Shared.DTOs; + +namespace FateMaster.Application.Services; + +/// +/// Admin管理服务实现 +/// +public class AdminService : IAdminService +{ + private readonly IRepository _divinationRepository; + + public AdminService(IRepository divinationRepository) + { + _divinationRepository = divinationRepository; + } + + public async Task> GetRecordsAsync(PagedRequest request) + { + var allRecords = await _divinationRepository.GetAllAsync(); + var query = allRecords.AsQueryable(); + + // 过滤 + if (!string.IsNullOrEmpty(request.Type)) + { + query = query.Where(r => r.Type == request.Type); + } + + if (!string.IsNullOrEmpty(request.PaymentStatus)) + { + query = query.Where(r => r.PaymentStatus == request.PaymentStatus); + } + + // 排序 + query = query.OrderByDescending(r => r.CreatedAt); + + // 分页 + var total = query.Count(); + var records = query + .Skip((request.Page - 1) * request.PageSize) + .Take(request.PageSize) + .Select(r => new DivinationRecordResponse + { + Id = r.Id, + Type = r.Type, + InputData = r.InputData, + TraditionalResult = r.TraditionalResult, + AIInterpretation = r.AIInterpretation, + PaymentStatus = r.PaymentStatus, + PaymentMethod = r.PaymentMethod, + Amount = r.Amount, + PaymentOrderId = r.PaymentOrderId, + Language = r.Language, + CreatedAt = r.CreatedAt, + UpdatedAt = r.UpdatedAt + }) + .ToList(); + + return new PagedResponse + { + Total = total, + Page = request.Page, + PageSize = request.PageSize, + Data = records + }; + } + + public async Task GetStatisticsAsync() + { + var allRecords = await _divinationRepository.GetAllAsync(); + var recordsList = allRecords.ToList(); + + var total = recordsList.Count; + var paidCount = recordsList.Count(r => r.PaymentStatus == "paid"); + var totalRevenue = recordsList + .Where(r => r.PaymentStatus == "paid") + .Sum(r => r.Amount); + + var typeStats = recordsList + .GroupBy(r => r.Type) + .Select(g => new TypeStatistics + { + Type = g.Key, + Count = g.Count() + }) + .ToList(); + + return new StatisticsResponse + { + Total = total, + PaidCount = paidCount, + TotalRevenue = totalRevenue, + TypeStats = typeStats + }; + } +} diff --git a/backend/FateMaster.API/FateMaster.API/FateMaster.Application/Services/AiService.cs b/backend/FateMaster.API/FateMaster.API/FateMaster.Application/Services/AiService.cs new file mode 100644 index 0000000..31ac34f --- /dev/null +++ b/backend/FateMaster.API/FateMaster.API/FateMaster.Application/Services/AiService.cs @@ -0,0 +1,225 @@ +using FateMaster.Application.Interfaces; +using FateMaster.Shared.DTOs; +using Microsoft.Extensions.Configuration; +using Microsoft.Extensions.Logging; +using System.Net.Http.Json; +using System.Text; +using System.Text.Json; + +namespace FateMaster.Application.Services; + +/// +/// AI服务实现(对接Claude API) +/// +public class AiService : IAiService +{ + private readonly IHttpClientFactory _httpClientFactory; + private readonly IConfiguration _configuration; + private readonly ILogger _logger; + + public AiService( + IHttpClientFactory httpClientFactory, + IConfiguration configuration, + ILogger logger) + { + _httpClientFactory = httpClientFactory; + _configuration = configuration; + _logger = logger; + } + + public async Task InterpretBaziAsync( + BaziChart chart, + FiveElementsAnalysis fiveElements, + TenGodsAnalysis tenGods, + LuckCycleInfo luckCycles, + BaziCalculateRequest request) + { + try + { + var apiKey = _configuration["Claude:ApiKey"]; + if (string.IsNullOrEmpty(apiKey)) + { + _logger.LogWarning("Claude API key not configured"); + return new AiInterpretation + { + Summary = "AI解读服务未配置,请联系管理员" + }; + } + + // 构建提示词 + var prompt = BuildBaziPrompt(chart, fiveElements, tenGods, luckCycles, request); + + // 调用Claude API + var httpClient = _httpClientFactory.CreateClient(); + httpClient.DefaultRequestHeaders.Add("x-api-key", apiKey); + httpClient.DefaultRequestHeaders.Add("anthropic-version", "2023-06-01"); + + var requestBody = new + { + model = "claude-3-5-sonnet-20241022", + max_tokens = 4096, + messages = new[] + { + new + { + role = "user", + content = prompt + } + } + }; + + var response = await httpClient.PostAsJsonAsync( + "https://api.anthropic.com/v1/messages", + requestBody); + + if (!response.IsSuccessStatusCode) + { + _logger.LogError("Claude API error: {StatusCode}", response.StatusCode); + return new AiInterpretation + { + Summary = "AI解读服务暂时不可用,请稍后再试" + }; + } + + var result = await response.Content.ReadFromJsonAsync(); + var aiText = result?.Content?.FirstOrDefault()?.Text ?? ""; + + // 解析AI返回的结果 + return ParseAiResponse(aiText); + } + catch (Exception ex) + { + _logger.LogError(ex, "Error calling Claude API"); + return new AiInterpretation + { + Summary = "AI解读过程中出现错误" + }; + } + } + + /// + /// 构建八字分析提示词 + /// + private string BuildBaziPrompt( + BaziChart chart, + FiveElementsAnalysis fiveElements, + TenGodsAnalysis tenGods, + LuckCycleInfo luckCycles, + BaziCalculateRequest request) + { + var sb = new StringBuilder(); + sb.AppendLine("你是一位专业的命理大师,精通八字命理学。请根据以下八字信息,进行全面深入的分析。"); + sb.AppendLine(); + sb.AppendLine($"## 基本信息"); + sb.AppendLine($"- 姓名:{request.Name}"); + sb.AppendLine($"- 性别:{(request.Gender == "male" ? "男" : "女")}"); + sb.AppendLine($"- 出生时间:{request.BirthDate:yyyy年MM月dd日 HH:mm}"); + sb.AppendLine(); + sb.AppendLine($"## 八字排盘"); + sb.AppendLine($"- 年柱:{chart.YearPillar.Stem}{chart.YearPillar.Branch}({chart.YearPillar.Element})"); + sb.AppendLine($"- 月柱:{chart.MonthPillar.Stem}{chart.MonthPillar.Branch}({chart.MonthPillar.Element})"); + sb.AppendLine($"- 日柱:{chart.DayPillar.Stem}{chart.DayPillar.Branch}({chart.DayPillar.Element})"); + sb.AppendLine($"- 时柱:{chart.HourPillar.Stem}{chart.HourPillar.Branch}({chart.HourPillar.Element})"); + sb.AppendLine($"- 日主:{chart.DayMaster}"); + sb.AppendLine(); + sb.AppendLine($"## 五行分析"); + sb.AppendLine($"- 五行统计:"); + foreach (var element in fiveElements.Elements) + { + sb.AppendLine($" - {element.Key}:{element.Value}"); + } + sb.AppendLine($"- 最旺五行:{fiveElements.StrongestElement}"); + sb.AppendLine($"- 最弱五行:{fiveElements.WeakestElement}"); + if (fiveElements.MissingElements.Any()) + { + sb.AppendLine($"- 缺失五行:{string.Join("、", fiveElements.MissingElements)}"); + } + sb.AppendLine($"- 八字强弱:{fiveElements.BaziStrength}"); + sb.AppendLine(); + sb.AppendLine($"## 大运信息"); + if (luckCycles.CurrentCycle != null) + { + sb.AppendLine($"- 当前大运:{luckCycles.CurrentCycle.Stem}{luckCycles.CurrentCycle.Branch}"); + sb.AppendLine($"- 起运年龄:{luckCycles.StartAge}岁"); + } + sb.AppendLine(); + sb.AppendLine("请从以下几个方面进行详细分析,每个方面约200-300字:"); + sb.AppendLine(); + sb.AppendLine("### 1. 性格特点"); + sb.AppendLine("分析此人的性格特征、优缺点、性情气质等。"); + sb.AppendLine(); + sb.AppendLine("### 2. 事业运势"); + sb.AppendLine("分析适合的职业方向、事业发展趋势、职场表现等。"); + sb.AppendLine(); + sb.AppendLine("### 3. 财运分析"); + sb.AppendLine("分析财运状况、理财能力、财富积累方式等。"); + sb.AppendLine(); + sb.AppendLine("### 4. 婚姻感情"); + sb.AppendLine("分析感情运势、婚姻状况、配偶特点等。"); + sb.AppendLine(); + sb.AppendLine("### 5. 健康状况"); + sb.AppendLine("分析身体健康方面需要注意的问题。"); + sb.AppendLine(); + sb.AppendLine("### 6. 综合建议"); + sb.AppendLine("给出人生发展建议、注意事项等。"); + sb.AppendLine(); + sb.AppendLine("请用专业但易懂的语言,以JSON格式返回,格式如下:"); + sb.AppendLine("{"); + sb.AppendLine(" \"character\": \"性格分析内容\","); + sb.AppendLine(" \"career\": \"事业分析内容\","); + sb.AppendLine(" \"wealth\": \"财运分析内容\","); + sb.AppendLine(" \"marriage\": \"婚姻分析内容\","); + sb.AppendLine(" \"health\": \"健康分析内容\","); + sb.AppendLine(" \"summary\": \"综合分析\","); + sb.AppendLine(" \"suggestions\": \"建议\""); + sb.AppendLine("}"); + + return sb.ToString(); + } + + /// + /// 解析AI响应 + /// + private AiInterpretation ParseAiResponse(string aiText) + { + try + { + // 尝试提取JSON部分 + var jsonStart = aiText.IndexOf('{'); + var jsonEnd = aiText.LastIndexOf('}'); + + if (jsonStart >= 0 && jsonEnd > jsonStart) + { + var json = aiText.Substring(jsonStart, jsonEnd - jsonStart + 1); + return JsonSerializer.Deserialize(json) ?? new AiInterpretation(); + } + + // 如果无法解析JSON,返回原文 + return new AiInterpretation + { + Summary = aiText + }; + } + catch (Exception ex) + { + _logger.LogError(ex, "Error parsing AI response"); + return new AiInterpretation + { + Summary = aiText + }; + } + } + + /// + /// Claude API响应模型 + /// + private class ClaudeResponse + { + public List? Content { get; set; } + } + + private class ContentItem + { + public string? Text { get; set; } + } +} diff --git a/backend/FateMaster.API/FateMaster.API/FateMaster.Application/Services/BaziService.cs b/backend/FateMaster.API/FateMaster.API/FateMaster.Application/Services/BaziService.cs new file mode 100644 index 0000000..df75b85 --- /dev/null +++ b/backend/FateMaster.API/FateMaster.API/FateMaster.Application/Services/BaziService.cs @@ -0,0 +1,402 @@ +using FateMaster.Application.Interfaces; +using FateMaster.Domain.Entities; +using FateMaster.Domain.Interfaces; +using FateMaster.Shared.DTOs; +using Microsoft.Extensions.Logging; +using System.Text.Json; + +namespace FateMaster.Application.Services; + +/// +/// 八字服务实现 +/// +public class BaziService : IBaziService +{ + private readonly IRepository _divinationRepository; + private readonly IUnitOfWork _unitOfWork; + private readonly IAiService _aiService; + private readonly ILogger _logger; + + // 天干 + private static readonly string[] HeavenlyStems = { "甲", "乙", "丙", "丁", "戊", "己", "庚", "辛", "壬", "癸" }; + + // 地支 + private static readonly string[] EarthlyBranches = { "子", "丑", "寅", "卯", "辰", "巳", "午", "未", "申", "酉", "戌", "亥" }; + + // 五行 + private static readonly Dictionary StemElements = new() + { + { "甲", "木" }, { "乙", "木" }, { "丙", "火" }, { "丁", "火" }, + { "戊", "土" }, { "己", "土" }, { "庚", "金" }, { "辛", "金" }, + { "壬", "水" }, { "癸", "水" } + }; + + private static readonly Dictionary BranchElements = new() + { + { "子", "水" }, { "丑", "土" }, { "寅", "木" }, { "卯", "木" }, + { "辰", "土" }, { "巳", "火" }, { "午", "火" }, { "未", "土" }, + { "申", "金" }, { "酉", "金" }, { "戌", "土" }, { "亥", "水" } + }; + + // 地支藏干 + private static readonly Dictionary BranchHiddenStems = new() + { + { "子", "癸" }, { "丑", "己癸辛" }, { "寅", "甲丙戊" }, { "卯", "乙" }, + { "辰", "戊乙癸" }, { "巳", "丙戊庚" }, { "午", "丁己" }, { "未", "己丁乙" }, + { "申", "庚壬戊" }, { "酉", "辛" }, { "戌", "戊辛丁" }, { "亥", "壬甲" } + }; + + // 十神对应关系 + private static readonly Dictionary TenGods = new() + { + { "比肩", "比肩" }, { "劫财", "劫财" }, { "食神", "食神" }, { "伤官", "伤官" }, + { "偏财", "偏财" }, { "正财", "正财" }, { "七杀", "七杀" }, { "正官", "正官" }, + { "偏印", "偏印" }, { "正印", "正印" } + }; + + public BaziService( + IRepository divinationRepository, + IUnitOfWork unitOfWork, + IAiService aiService, + ILogger logger) + { + _divinationRepository = divinationRepository; + _unitOfWork = unitOfWork; + _aiService = aiService; + _logger = logger; + } + + public async Task CalculateBaziAsync(BaziCalculateRequest request, string? clientIp) + { + try + { + // 1. 计算八字排盘 + var chart = CalculateBaziChart(request); + + // 2. 五行分析 + var fiveElements = AnalyzeFiveElements(chart); + + // 3. 十神分析 + var tenGods = AnalyzeTenGods(chart); + + // 4. 大运流年 + var luckCycles = CalculateLuckCycles(chart, request); + + // 5. 保存传统结果到数据库 + var traditionalResult = new + { + chart, + fiveElements, + tenGods, + luckCycles + }; + + var record = new DivinationRecord + { + Type = "bazi", + InputData = JsonSerializer.Serialize(request), + TraditionalResult = JsonSerializer.Serialize(traditionalResult), + PaymentStatus = "pending", + Amount = 0, + ClientIp = clientIp, + Language = request.Language + }; + + var createdRecord = await _divinationRepository.AddAsync(record); + await _unitOfWork.SaveChangesAsync(); + + // 6. AI解读(异步处理) + _ = Task.Run(async () => + { + try + { + var aiAnalysis = await _aiService.InterpretBaziAsync(chart, fiveElements, tenGods, luckCycles, request); + + record.AIInterpretation = JsonSerializer.Serialize(aiAnalysis); + await _divinationRepository.UpdateAsync(record); + await _unitOfWork.SaveChangesAsync(); + } + catch (Exception ex) + { + _logger.LogError(ex, "AI interpretation failed for record {RecordId}", createdRecord.Id); + } + }); + + // 7. 返回结果 + return new BaziCalculateResponse + { + RecordId = createdRecord.Id, + BasicInfo = new BaziBasicInfo + { + Name = request.Name, + Gender = request.Gender, + BirthDateTime = request.BirthDate?.ToString("yyyy-MM-dd HH:mm") ?? "", + BirthPlace = request.BirthPlace + }, + Chart = chart, + FiveElements = fiveElements, + TenGods = tenGods, + LuckCycles = luckCycles, + AiAnalysis = new AiInterpretation() // AI解读会异步更新 + }; + } + catch (Exception ex) + { + _logger.LogError(ex, "Error calculating bazi"); + throw; + } + } + + public async Task GetBaziResultAsync(long recordId) + { + var record = await _divinationRepository.GetByIdAsync(recordId); + if (record == null || record.Type != "bazi") + { + return null; + } + + var request = JsonSerializer.Deserialize(record.InputData); + var traditionalResult = JsonSerializer.Deserialize(record.TraditionalResult ?? "{}"); + var aiAnalysis = string.IsNullOrEmpty(record.AIInterpretation) + ? new AiInterpretation() + : JsonSerializer.Deserialize(record.AIInterpretation); + + return new BaziCalculateResponse + { + RecordId = record.Id, + BasicInfo = new BaziBasicInfo + { + Name = request?.Name ?? "", + Gender = request?.Gender ?? "", + BirthDateTime = request?.BirthDate?.ToString("yyyy-MM-dd HH:mm") ?? "", + BirthPlace = request?.BirthPlace + }, + Chart = traditionalResult?.chart ?? new BaziChart(), + FiveElements = traditionalResult?.fiveElements ?? new FiveElementsAnalysis(), + TenGods = traditionalResult?.tenGods ?? new TenGodsAnalysis(), + LuckCycles = traditionalResult?.luckCycles ?? new LuckCycleInfo(), + AiAnalysis = aiAnalysis ?? new AiInterpretation() + }; + } + + /// + /// 计算八字排盘 + /// + private BaziChart CalculateBaziChart(BaziCalculateRequest request) + { + // 如果直接输入了八字 + if (!string.IsNullOrEmpty(request.YearStem) && !string.IsNullOrEmpty(request.YearBranch)) + { + return new BaziChart + { + YearPillar = CreatePillar(request.YearStem, request.YearBranch), + MonthPillar = CreatePillar(request.MonthStem ?? "甲", request.MonthBranch ?? "子"), + DayPillar = CreatePillar(request.DayStem ?? "甲", request.DayBranch ?? "子"), + HourPillar = CreatePillar(request.HourStem ?? "甲", request.HourBranch ?? "子"), + DayMaster = request.DayStem ?? "甲" + }; + } + + // 从出生日期计算八字 + var birthDate = request.BirthDate ?? DateTime.Now; + + // 计算年柱 + var yearPillar = CalculateYearPillar(birthDate); + + // 计算月柱 + var monthPillar = CalculateMonthPillar(birthDate, yearPillar.Stem); + + // 计算日柱 + var dayPillar = CalculateDayPillar(birthDate); + + // 计算时柱 + var hourPillar = request.KnowTime + ? CalculateHourPillar(request.BirthHour ?? 0, dayPillar.Stem) + : new Pillar { Stem = "?", Branch = "?", Element = "?", HiddenStems = "?" }; + + return new BaziChart + { + YearPillar = yearPillar, + MonthPillar = monthPillar, + DayPillar = dayPillar, + HourPillar = hourPillar, + DayMaster = dayPillar.Stem + }; + } + + /// + /// 计算年柱 + /// + private Pillar CalculateYearPillar(DateTime date) + { + // 简化算法:以立春为界 + var year = date.Year; + if (date.Month < 2 || (date.Month == 2 && date.Day < 4)) + { + year--; // 立春前算上一年 + } + + // 1984年是甲子年 + var baseYear = 1984; + var index = (year - baseYear) % 60; + if (index < 0) index += 60; + + var stemIndex = index % 10; + var branchIndex = index % 12; + + return CreatePillar(HeavenlyStems[stemIndex], EarthlyBranches[branchIndex]); + } + + /// + /// 计算月柱 + /// + private Pillar CalculateMonthPillar(DateTime date, string yearStem) + { + // 月份地支(以节气为准,这里简化处理) + var monthBranches = new[] { "寅", "卯", "辰", "巳", "午", "未", "申", "酉", "戌", "亥", "子", "丑" }; + var monthIndex = (date.Month + 1) % 12; + var monthBranch = monthBranches[monthIndex]; + + // 月干根据年干推算(五虎遁月) + var yearStemIndex = Array.IndexOf(HeavenlyStems, yearStem); + var monthStemIndex = (yearStemIndex % 5 * 2 + monthIndex) % 10; + + return CreatePillar(HeavenlyStems[monthStemIndex], monthBranch); + } + + /// + /// 计算日柱 + /// + private Pillar CalculateDayPillar(DateTime date) + { + // 使用儒略日数计算 + var baseDate = new DateTime(1900, 1, 1); + var days = (date - baseDate).Days; + + // 1900-01-01是庚午日 + var baseDayIndex = 46; // 庚午 + var dayIndex = (baseDayIndex + days) % 60; + if (dayIndex < 0) dayIndex += 60; + + var stemIndex = dayIndex % 10; + var branchIndex = dayIndex % 12; + + return CreatePillar(HeavenlyStems[stemIndex], EarthlyBranches[branchIndex]); + } + + /// + /// 计算时柱 + /// + private Pillar CalculateHourPillar(int hour, string dayStem) + { + // 时辰地支 + var hourBranchIndex = (hour + 1) / 2 % 12; + var hourBranch = EarthlyBranches[hourBranchIndex]; + + // 时干根据日干推算(五鼠遁日) + var dayStemIndex = Array.IndexOf(HeavenlyStems, dayStem); + var hourStemIndex = (dayStemIndex % 5 * 2 + hourBranchIndex) % 10; + + return CreatePillar(HeavenlyStems[hourStemIndex], hourBranch); + } + + /// + /// 创建柱 + /// + private Pillar CreatePillar(string stem, string branch) + { + return new Pillar + { + Stem = stem, + Branch = branch, + Element = StemElements.GetValueOrDefault(stem, "?"), + HiddenStems = BranchHiddenStems.GetValueOrDefault(branch, "?") + }; + } + + /// + /// 五行分析 + /// + private FiveElementsAnalysis AnalyzeFiveElements(BaziChart chart) + { + var elements = new Dictionary + { + { "木", 0 }, { "火", 0 }, { "土", 0 }, { "金", 0 }, { "水", 0 } + }; + + // 统计五行 + void CountElement(string element) + { + if (elements.ContainsKey(element)) + elements[element]++; + } + + CountElement(StemElements.GetValueOrDefault(chart.YearPillar.Stem, "")); + CountElement(BranchElements.GetValueOrDefault(chart.YearPillar.Branch, "")); + CountElement(StemElements.GetValueOrDefault(chart.MonthPillar.Stem, "")); + CountElement(BranchElements.GetValueOrDefault(chart.MonthPillar.Branch, "")); + CountElement(StemElements.GetValueOrDefault(chart.DayPillar.Stem, "")); + CountElement(BranchElements.GetValueOrDefault(chart.DayPillar.Branch, "")); + CountElement(StemElements.GetValueOrDefault(chart.HourPillar.Stem, "")); + CountElement(BranchElements.GetValueOrDefault(chart.HourPillar.Branch, "")); + + var strongest = elements.OrderByDescending(e => e.Value).First().Key; + var weakest = elements.OrderBy(e => e.Value).First().Key; + var missing = elements.Where(e => e.Value == 0).Select(e => e.Key).ToList(); + + return new FiveElementsAnalysis + { + Elements = elements, + StrongestElement = strongest, + WeakestElement = weakest, + MissingElements = missing, + BaziStrength = elements[StemElements[chart.DayMaster]] >= 3 ? "身强" : "身弱" + }; + } + + /// + /// 十神分析 + /// + private TenGodsAnalysis AnalyzeTenGods(BaziChart chart) + { + var gods = new Dictionary>(); + + // 简化的十神分析 + // 实际应根据日主与其他干支的关系来确定十神 + return new TenGodsAnalysis + { + Gods = gods, + MainGod = "比肩" // 这里需要根据实际算法计算 + }; + } + + /// + /// 计算大运流年 + /// + private LuckCycleInfo CalculateLuckCycles(BaziChart chart, BaziCalculateRequest request) + { + var cycles = new List(); + var startAge = 5; // 简化:起运5岁 + + // 生成10个大运 + for (int i = 0; i < 10; i++) + { + var age = startAge + i * 10; + cycles.Add(new LuckCycle + { + Stem = HeavenlyStems[i % 10], + Branch = EarthlyBranches[i % 12], + StartAge = age, + EndAge = age + 9, + Element = StemElements[HeavenlyStems[i % 10]] + }); + } + + return new LuckCycleInfo + { + MajorCycles = cycles, + StartAge = startAge, + CurrentCycle = cycles.FirstOrDefault() // 需要根据当前年龄计算 + }; + } +} diff --git a/backend/FateMaster.API/FateMaster.API/FateMaster.Application/Services/DivinationService.cs b/backend/FateMaster.API/FateMaster.API/FateMaster.Application/Services/DivinationService.cs new file mode 100644 index 0000000..b60a586 --- /dev/null +++ b/backend/FateMaster.API/FateMaster.API/FateMaster.Application/Services/DivinationService.cs @@ -0,0 +1,124 @@ +using FateMaster.Application.Interfaces; +using FateMaster.Domain.Entities; +using FateMaster.Domain.Interfaces; +using FateMaster.Shared.DTOs; +using Microsoft.Extensions.Logging; + +namespace FateMaster.Application.Services; + +/// +/// 卜卦服务实现 +/// +public class DivinationService : IDivinationService +{ + private readonly IRepository _divinationRepository; + private readonly IRepository _priceRepository; + private readonly IUnitOfWork _unitOfWork; + private readonly ILogger _logger; + + public DivinationService( + IRepository divinationRepository, + IRepository priceRepository, + IUnitOfWork unitOfWork, + ILogger logger) + { + _divinationRepository = divinationRepository; + _priceRepository = priceRepository; + _unitOfWork = unitOfWork; + _logger = logger; + } + + public async Task> GetEnabledPricesAsync() + { + var prices = await _priceRepository.FindAsync(p => p.IsEnabled); + return prices.Select(p => new PriceConfigResponse + { + Id = p.Id, + ServiceType = p.ServiceType, + Price = p.Price, + Currency = p.Currency, + IsEnabled = p.IsEnabled + }); + } + + public async Task SubmitDivinationAsync(SubmitDivinationRequest request, string? clientIp) + { + try + { + var record = new DivinationRecord + { + Type = request.Type, + InputData = request.InputData, + PaymentStatus = "pending", + PaymentMethod = request.PaymentMethod, + Amount = request.Amount, + ClientIp = clientIp, + Language = request.Language ?? "zh-CN" + }; + + var createdRecord = await _divinationRepository.AddAsync(record); + await _unitOfWork.SaveChangesAsync(); + + return MapToResponse(createdRecord); + } + catch (Exception ex) + { + _logger.LogError(ex, "Error submitting divination request"); + throw; + } + } + + public async Task GetDivinationRecordAsync(long id) + { + var record = await _divinationRepository.GetByIdAsync(id); + return record == null ? null : MapToResponse(record); + } + + public async Task UpdatePaymentStatusAsync(UpdatePaymentStatusRequest request) + { + try + { + var record = await _divinationRepository.GetByIdAsync(request.RecordId); + if (record == null) + { + return false; + } + + record.PaymentStatus = request.PaymentStatus; + if (!string.IsNullOrEmpty(request.PaymentOrderId)) + { + record.PaymentOrderId = request.PaymentOrderId; + } + record.UpdatedAt = DateTime.UtcNow; + + await _divinationRepository.UpdateAsync(record); + await _unitOfWork.SaveChangesAsync(); + + return true; + } + catch (Exception ex) + { + _logger.LogError(ex, "Error updating payment status"); + return false; + } + } + + private static DivinationRecordResponse MapToResponse(DivinationRecord record) + { + return new DivinationRecordResponse + { + Id = record.Id, + Type = record.Type, + InputData = record.InputData, + TraditionalResult = record.TraditionalResult, + AIInterpretation = record.AIInterpretation, + PaymentStatus = record.PaymentStatus, + PaymentMethod = record.PaymentMethod, + Amount = record.Amount, + PaymentOrderId = record.PaymentOrderId, + Language = record.Language, + CreatedAt = record.CreatedAt, + UpdatedAt = record.UpdatedAt + }; + } +} diff --git a/backend/FateMaster.API/FateMaster.API/FateMaster.Application/Services/PriceConfigService.cs b/backend/FateMaster.API/FateMaster.API/FateMaster.Application/Services/PriceConfigService.cs new file mode 100644 index 0000000..c82db06 --- /dev/null +++ b/backend/FateMaster.API/FateMaster.API/FateMaster.Application/Services/PriceConfigService.cs @@ -0,0 +1,97 @@ +using FateMaster.Application.Interfaces; +using FateMaster.Domain.Entities; +using FateMaster.Domain.Interfaces; +using FateMaster.Shared.DTOs; + +namespace FateMaster.Application.Services; + +/// +/// 价格配置服务实现 +/// +public class PriceConfigService : IPriceConfigService +{ + private readonly IRepository _priceRepository; + private readonly IUnitOfWork _unitOfWork; + + public PriceConfigService( + IRepository priceRepository, + IUnitOfWork unitOfWork) + { + _priceRepository = priceRepository; + _unitOfWork = unitOfWork; + } + + public async Task> GetAllPricesAsync() + { + var prices = await _priceRepository.GetAllAsync(); + return prices.Select(MapToResponse); + } + + public async Task GetPriceByServiceTypeAsync(string serviceType) + { + var prices = await _priceRepository.FindAsync(p => p.ServiceType == serviceType); + var price = prices.FirstOrDefault(); + return price == null ? null : MapToResponse(price); + } + + public async Task UpsertPriceConfigAsync(int? id, UpsertPriceConfigRequest request) + { + PriceConfig priceConfig; + + if (id.HasValue) + { + // Update existing + priceConfig = await _priceRepository.GetByIdAsync(id.Value) + ?? throw new InvalidOperationException($"Price config with ID {id} not found"); + + priceConfig.ServiceType = request.ServiceType; + priceConfig.Price = request.Price; + priceConfig.Currency = request.Currency; + priceConfig.IsEnabled = request.IsEnabled; + priceConfig.UpdatedAt = DateTime.UtcNow; + + await _priceRepository.UpdateAsync(priceConfig); + } + else + { + // Create new + priceConfig = new PriceConfig + { + ServiceType = request.ServiceType, + Price = request.Price, + Currency = request.Currency, + IsEnabled = request.IsEnabled + }; + + priceConfig = await _priceRepository.AddAsync(priceConfig); + } + + await _unitOfWork.SaveChangesAsync(); + return MapToResponse(priceConfig); + } + + public async Task DeletePriceConfigAsync(int id) + { + var priceConfig = await _priceRepository.GetByIdAsync(id); + if (priceConfig == null) + { + return false; + } + + await _priceRepository.DeleteAsync(priceConfig); + await _unitOfWork.SaveChangesAsync(); + return true; + } + + private static PriceConfigResponse MapToResponse(PriceConfig config) + { + return new PriceConfigResponse + { + Id = config.Id, + ServiceType = config.ServiceType, + Price = config.Price, + Currency = config.Currency, + IsEnabled = config.IsEnabled + }; + } +} diff --git a/backend/FateMaster.API/FateMaster.API/FateMaster.Domain/Common/BaseEntity.cs b/backend/FateMaster.API/FateMaster.API/FateMaster.Domain/Common/BaseEntity.cs new file mode 100644 index 0000000..827504a --- /dev/null +++ b/backend/FateMaster.API/FateMaster.API/FateMaster.Domain/Common/BaseEntity.cs @@ -0,0 +1,17 @@ +namespace FateMaster.Domain.Common; + +/// +/// 实体基类 +/// +public abstract class BaseEntity +{ + /// + /// 创建时间 + /// + public DateTime CreatedAt { get; set; } = DateTime.UtcNow; + + /// + /// 更新时间 + /// + public DateTime UpdatedAt { get; set; } = DateTime.UtcNow; +} diff --git a/backend/FateMaster.API/FateMaster.API/FateMaster.Domain/Entities/DivinationRecord.cs b/backend/FateMaster.API/FateMaster.API/FateMaster.Domain/Entities/DivinationRecord.cs new file mode 100644 index 0000000..e71c512 --- /dev/null +++ b/backend/FateMaster.API/FateMaster.API/FateMaster.Domain/Entities/DivinationRecord.cs @@ -0,0 +1,77 @@ +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; +using FateMaster.Domain.Common; + +namespace FateMaster.Domain.Entities; + +/// +/// 卜卦记录表 +/// +public class DivinationRecord : BaseEntity +{ + [Key] + public long Id { get; set; } + + /// + /// 卜卦类型: bazi, career, marriage, tarot, zodiac + /// + [Required] + [MaxLength(50)] + public string Type { get; set; } = string.Empty; + + /// + /// 用户输入数据(JSON) + /// + [Required] + [Column(TypeName = "json")] + public string InputData { get; set; } = string.Empty; + + /// + /// 传统算法结果(JSON) + /// + [Column(TypeName = "json")] + public string? TraditionalResult { get; set; } + + /// + /// AI解读结果 + /// + [Column(TypeName = "text")] + public string? AIInterpretation { get; set; } + + /// + /// 支付状态: pending, paid, failed + /// + [Required] + [MaxLength(20)] + public string PaymentStatus { get; set; } = "pending"; + + /// + /// 支付方式: alipay, paypal, stripe + /// + [MaxLength(20)] + public string? PaymentMethod { get; set; } + + /// + /// 支付金额 + /// + [Column(TypeName = "decimal(10,2)")] + public decimal Amount { get; set; } + + /// + /// 支付订单号 + /// + [MaxLength(100)] + public string? PaymentOrderId { get; set; } + + /// + /// 客户端IP + /// + [MaxLength(50)] + public string? ClientIp { get; set; } + + /// + /// 语言 + /// + [MaxLength(10)] + public string? Language { get; set; } +} diff --git a/backend/FateMaster.API/FateMaster.API/FateMaster.Domain/Entities/PriceConfig.cs b/backend/FateMaster.API/FateMaster.API/FateMaster.Domain/Entities/PriceConfig.cs new file mode 100644 index 0000000..0ce6139 --- /dev/null +++ b/backend/FateMaster.API/FateMaster.API/FateMaster.Domain/Entities/PriceConfig.cs @@ -0,0 +1,40 @@ +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; +using FateMaster.Domain.Common; + +namespace FateMaster.Domain.Entities; + +/// +/// 价格配置表 +/// +public class PriceConfig : BaseEntity +{ + [Key] + public int Id { get; set; } + + /// + /// 服务类型: bazi, career, marriage, tarot, zodiac + /// + [Required] + [MaxLength(50)] + public string ServiceType { get; set; } = string.Empty; + + /// + /// 价格 + /// + [Required] + [Column(TypeName = "decimal(10,2)")] + public decimal Price { get; set; } + + /// + /// 货币: CNY, USD + /// + [Required] + [MaxLength(10)] + public string Currency { get; set; } = "CNY"; + + /// + /// 是否启用 + /// + public bool IsEnabled { get; set; } = true; +} diff --git a/backend/FateMaster.API/FateMaster.API/FateMaster.Domain/Entities/SystemConfig.cs b/backend/FateMaster.API/FateMaster.API/FateMaster.Domain/Entities/SystemConfig.cs new file mode 100644 index 0000000..77f1fa4 --- /dev/null +++ b/backend/FateMaster.API/FateMaster.API/FateMaster.Domain/Entities/SystemConfig.cs @@ -0,0 +1,32 @@ +using System.ComponentModel.DataAnnotations; +using FateMaster.Domain.Common; + +namespace FateMaster.Domain.Entities; + +/// +/// 系统配置表 +/// +public class SystemConfig : BaseEntity +{ + [Key] + public int Id { get; set; } + + /// + /// 配置键 + /// + [Required] + [MaxLength(100)] + public string ConfigKey { get; set; } = string.Empty; + + /// + /// 配置值 + /// + [Required] + public string ConfigValue { get; set; } = string.Empty; + + /// + /// 描述 + /// + [MaxLength(500)] + public string? Description { get; set; } +} diff --git a/backend/FateMaster.API/FateMaster.API/FateMaster.Domain/Enums/DivinationType.cs b/backend/FateMaster.API/FateMaster.API/FateMaster.Domain/Enums/DivinationType.cs new file mode 100644 index 0000000..2edf078 --- /dev/null +++ b/backend/FateMaster.API/FateMaster.API/FateMaster.Domain/Enums/DivinationType.cs @@ -0,0 +1,32 @@ +namespace FateMaster.Domain.Enums; + +/// +/// 卜卦类型 +/// +public enum DivinationType +{ + /// + /// 八字算命 + /// + Bazi, + + /// + /// 事业运势 + /// + Career, + + /// + /// 婚姻运势 + /// + Marriage, + + /// + /// 塔罗牌 + /// + Tarot, + + /// + /// 星座运势 + /// + Zodiac +} diff --git a/backend/FateMaster.API/FateMaster.API/FateMaster.Domain/Enums/PaymentMethod.cs b/backend/FateMaster.API/FateMaster.API/FateMaster.Domain/Enums/PaymentMethod.cs new file mode 100644 index 0000000..5a2987b --- /dev/null +++ b/backend/FateMaster.API/FateMaster.API/FateMaster.Domain/Enums/PaymentMethod.cs @@ -0,0 +1,22 @@ +namespace FateMaster.Domain.Enums; + +/// +/// 支付方式 +/// +public enum PaymentMethod +{ + /// + /// 支付宝 + /// + Alipay, + + /// + /// PayPal + /// + PayPal, + + /// + /// Stripe + /// + Stripe +} diff --git a/backend/FateMaster.API/FateMaster.API/FateMaster.Domain/Enums/PaymentStatus.cs b/backend/FateMaster.API/FateMaster.API/FateMaster.Domain/Enums/PaymentStatus.cs new file mode 100644 index 0000000..4f0e0ed --- /dev/null +++ b/backend/FateMaster.API/FateMaster.API/FateMaster.Domain/Enums/PaymentStatus.cs @@ -0,0 +1,22 @@ +namespace FateMaster.Domain.Enums; + +/// +/// 支付状态 +/// +public enum PaymentStatus +{ + /// + /// 待支付 + /// + Pending, + + /// + /// 已支付 + /// + Paid, + + /// + /// 支付失败 + /// + Failed +} diff --git a/backend/FateMaster.API/FateMaster.API/FateMaster.Domain/FateMaster.Domain.csproj b/backend/FateMaster.API/FateMaster.API/FateMaster.Domain/FateMaster.Domain.csproj new file mode 100644 index 0000000..fa71b7a --- /dev/null +++ b/backend/FateMaster.API/FateMaster.API/FateMaster.Domain/FateMaster.Domain.csproj @@ -0,0 +1,9 @@ + + + + net8.0 + enable + enable + + + diff --git a/backend/FateMaster.API/FateMaster.API/FateMaster.Domain/Interfaces/IRepository.cs b/backend/FateMaster.API/FateMaster.API/FateMaster.Domain/Interfaces/IRepository.cs new file mode 100644 index 0000000..1fa9985 --- /dev/null +++ b/backend/FateMaster.API/FateMaster.API/FateMaster.Domain/Interfaces/IRepository.cs @@ -0,0 +1,19 @@ +using System.Linq.Expressions; + +namespace FateMaster.Domain.Interfaces; + +/// +/// 通用仓储接口 +/// +/// 实体类型 +public interface IRepository where T : class +{ + Task GetByIdAsync(object id); + Task> GetAllAsync(); + Task> FindAsync(Expression> predicate); + Task AddAsync(T entity); + Task UpdateAsync(T entity); + Task DeleteAsync(T entity); + Task ExistsAsync(Expression> predicate); + Task CountAsync(Expression>? predicate = null); +} diff --git a/backend/FateMaster.API/FateMaster.API/FateMaster.Domain/Interfaces/IUnitOfWork.cs b/backend/FateMaster.API/FateMaster.API/FateMaster.Domain/Interfaces/IUnitOfWork.cs new file mode 100644 index 0000000..05b6b0e --- /dev/null +++ b/backend/FateMaster.API/FateMaster.API/FateMaster.Domain/Interfaces/IUnitOfWork.cs @@ -0,0 +1,12 @@ +namespace FateMaster.Domain.Interfaces; + +/// +/// 工作单元接口 +/// +public interface IUnitOfWork : IDisposable +{ + Task SaveChangesAsync(CancellationToken cancellationToken = default); + Task BeginTransactionAsync(); + Task CommitTransactionAsync(); + Task RollbackTransactionAsync(); +} diff --git a/backend/FateMaster.API/FateMaster.API/FateMaster.Infrastructure/Data/ApplicationDbContext.cs b/backend/FateMaster.API/FateMaster.API/FateMaster.Infrastructure/Data/ApplicationDbContext.cs new file mode 100644 index 0000000..6371c1c --- /dev/null +++ b/backend/FateMaster.API/FateMaster.API/FateMaster.Infrastructure/Data/ApplicationDbContext.cs @@ -0,0 +1,47 @@ +using FateMaster.Domain.Entities; +using Microsoft.EntityFrameworkCore; + +namespace FateMaster.Infrastructure.Data; + +public class ApplicationDbContext : DbContext +{ + public ApplicationDbContext(DbContextOptions options) + : base(options) + { + } + + public DbSet DivinationRecords { get; set; } + public DbSet SystemConfigs { get; set; } + public DbSet PriceConfigs { get; set; } + + protected override void OnModelCreating(ModelBuilder modelBuilder) + { + base.OnModelCreating(modelBuilder); + + // 配置索引 + modelBuilder.Entity() + .HasIndex(d => d.Type); + + modelBuilder.Entity() + .HasIndex(d => d.PaymentStatus); + + modelBuilder.Entity() + .HasIndex(d => d.CreatedAt); + + modelBuilder.Entity() + .HasIndex(s => s.ConfigKey) + .IsUnique(); + + modelBuilder.Entity() + .HasIndex(p => p.ServiceType); + + // 初始化数据 + modelBuilder.Entity().HasData( + new PriceConfig { Id = 1, ServiceType = "bazi", Price = 99, Currency = "CNY", CreatedAt = DateTime.UtcNow, UpdatedAt = DateTime.UtcNow }, + new PriceConfig { Id = 2, ServiceType = "career", Price = 88, Currency = "CNY", CreatedAt = DateTime.UtcNow, UpdatedAt = DateTime.UtcNow }, + new PriceConfig { Id = 3, ServiceType = "marriage", Price = 88, Currency = "CNY", CreatedAt = DateTime.UtcNow, UpdatedAt = DateTime.UtcNow }, + new PriceConfig { Id = 4, ServiceType = "tarot", Price = 66, Currency = "CNY", CreatedAt = DateTime.UtcNow, UpdatedAt = DateTime.UtcNow }, + new PriceConfig { Id = 5, ServiceType = "zodiac", Price = 29, Currency = "CNY", CreatedAt = DateTime.UtcNow, UpdatedAt = DateTime.UtcNow } + ); + } +} diff --git a/backend/FateMaster.API/FateMaster.API/FateMaster.Infrastructure/DependencyInjection.cs b/backend/FateMaster.API/FateMaster.API/FateMaster.Infrastructure/DependencyInjection.cs new file mode 100644 index 0000000..a9f6aba --- /dev/null +++ b/backend/FateMaster.API/FateMaster.API/FateMaster.Infrastructure/DependencyInjection.cs @@ -0,0 +1,30 @@ +using FateMaster.Domain.Interfaces; +using FateMaster.Infrastructure.Data; +using FateMaster.Infrastructure.Repositories; +using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.Configuration; +using Microsoft.Extensions.DependencyInjection; + +namespace FateMaster.Infrastructure; + +/// +/// Infrastructure层依赖注入扩展 +/// +public static class DependencyInjection +{ + public static IServiceCollection AddInfrastructure( + this IServiceCollection services, + IConfiguration configuration) + { + // 配置数据库 + var connectionString = configuration.GetConnectionString("DefaultConnection"); + services.AddDbContext(options => + options.UseMySql(connectionString, ServerVersion.AutoDetect(connectionString))); + + // 注册仓储和工作单元 + services.AddScoped(typeof(IRepository<>), typeof(Repository<>)); + services.AddScoped(); + + return services; + } +} diff --git a/backend/FateMaster.API/FateMaster.API/FateMaster.Infrastructure/FateMaster.Infrastructure.csproj b/backend/FateMaster.API/FateMaster.API/FateMaster.Infrastructure/FateMaster.Infrastructure.csproj new file mode 100644 index 0000000..77d4cec --- /dev/null +++ b/backend/FateMaster.API/FateMaster.API/FateMaster.Infrastructure/FateMaster.Infrastructure.csproj @@ -0,0 +1,23 @@ + + + + + + + + + + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + + + + + + net8.0 + enable + enable + + + diff --git a/backend/FateMaster.API/FateMaster.API/FateMaster.Infrastructure/Migrations/20251003155521_InitialCreate.Designer.cs b/backend/FateMaster.API/FateMaster.API/FateMaster.Infrastructure/Migrations/20251003155521_InitialCreate.Designer.cs new file mode 100644 index 0000000..81fd856 --- /dev/null +++ b/backend/FateMaster.API/FateMaster.API/FateMaster.Infrastructure/Migrations/20251003155521_InitialCreate.Designer.cs @@ -0,0 +1,218 @@ +// +using System; +using FateMaster.Infrastructure.Data; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Metadata; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; + +#nullable disable + +namespace FateMaster.Infrastructure.Migrations +{ + [DbContext(typeof(ApplicationDbContext))] + [Migration("20251003155521_InitialCreate")] + partial class InitialCreate + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "9.0.0-preview.1.24081.2") + .HasAnnotation("Relational:MaxIdentifierLength", 64); + + MySqlModelBuilderExtensions.AutoIncrementColumns(modelBuilder); + + modelBuilder.Entity("FateMaster.Domain.Entities.DivinationRecord", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("AIInterpretation") + .HasColumnType("text"); + + b.Property("Amount") + .HasColumnType("decimal(10,2)"); + + b.Property("ClientIp") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)"); + + b.Property("InputData") + .IsRequired() + .HasColumnType("json"); + + b.Property("Language") + .HasMaxLength(10) + .HasColumnType("varchar(10)"); + + b.Property("PaymentMethod") + .HasMaxLength(20) + .HasColumnType("varchar(20)"); + + b.Property("PaymentOrderId") + .HasMaxLength(100) + .HasColumnType("varchar(100)"); + + b.Property("PaymentStatus") + .IsRequired() + .HasMaxLength(20) + .HasColumnType("varchar(20)"); + + b.Property("TraditionalResult") + .HasColumnType("json"); + + b.Property("Type") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("UpdatedAt") + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("CreatedAt"); + + b.HasIndex("PaymentStatus"); + + b.HasIndex("Type"); + + b.ToTable("DivinationRecords"); + }); + + modelBuilder.Entity("FateMaster.Domain.Entities.PriceConfig", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)"); + + b.Property("Currency") + .IsRequired() + .HasMaxLength(10) + .HasColumnType("varchar(10)"); + + b.Property("IsEnabled") + .HasColumnType("tinyint(1)"); + + b.Property("Price") + .HasColumnType("decimal(10,2)"); + + b.Property("ServiceType") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("UpdatedAt") + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("ServiceType"); + + b.ToTable("PriceConfigs"); + + b.HasData( + new + { + Id = 1, + CreatedAt = new DateTime(2025, 10, 3, 15, 55, 21, 572, DateTimeKind.Utc).AddTicks(8683), + Currency = "CNY", + IsEnabled = true, + Price = 99m, + ServiceType = "bazi", + UpdatedAt = new DateTime(2025, 10, 3, 15, 55, 21, 572, DateTimeKind.Utc).AddTicks(8685) + }, + new + { + Id = 2, + CreatedAt = new DateTime(2025, 10, 3, 15, 55, 21, 572, DateTimeKind.Utc).AddTicks(8689), + Currency = "CNY", + IsEnabled = true, + Price = 88m, + ServiceType = "career", + UpdatedAt = new DateTime(2025, 10, 3, 15, 55, 21, 572, DateTimeKind.Utc).AddTicks(8690) + }, + new + { + Id = 3, + CreatedAt = new DateTime(2025, 10, 3, 15, 55, 21, 572, DateTimeKind.Utc).AddTicks(8693), + Currency = "CNY", + IsEnabled = true, + Price = 88m, + ServiceType = "marriage", + UpdatedAt = new DateTime(2025, 10, 3, 15, 55, 21, 572, DateTimeKind.Utc).AddTicks(8693) + }, + new + { + Id = 4, + CreatedAt = new DateTime(2025, 10, 3, 15, 55, 21, 572, DateTimeKind.Utc).AddTicks(8696), + Currency = "CNY", + IsEnabled = true, + Price = 66m, + ServiceType = "tarot", + UpdatedAt = new DateTime(2025, 10, 3, 15, 55, 21, 572, DateTimeKind.Utc).AddTicks(8696) + }, + new + { + Id = 5, + CreatedAt = new DateTime(2025, 10, 3, 15, 55, 21, 572, DateTimeKind.Utc).AddTicks(8699), + Currency = "CNY", + IsEnabled = true, + Price = 29m, + ServiceType = "zodiac", + UpdatedAt = new DateTime(2025, 10, 3, 15, 55, 21, 572, DateTimeKind.Utc).AddTicks(8700) + }); + }); + + modelBuilder.Entity("FateMaster.Domain.Entities.SystemConfig", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("ConfigKey") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)"); + + b.Property("ConfigValue") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)"); + + b.Property("Description") + .HasMaxLength(500) + .HasColumnType("varchar(500)"); + + b.Property("UpdatedAt") + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("ConfigKey") + .IsUnique(); + + b.ToTable("SystemConfigs"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/backend/FateMaster.API/FateMaster.API/FateMaster.Infrastructure/Migrations/20251003155521_InitialCreate.cs b/backend/FateMaster.API/FateMaster.API/FateMaster.Infrastructure/Migrations/20251003155521_InitialCreate.cs new file mode 100644 index 0000000..5358e07 --- /dev/null +++ b/backend/FateMaster.API/FateMaster.API/FateMaster.Infrastructure/Migrations/20251003155521_InitialCreate.cs @@ -0,0 +1,148 @@ +using System; +using Microsoft.EntityFrameworkCore.Metadata; +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +#pragma warning disable CA1814 // Prefer jagged arrays over multidimensional + +namespace FateMaster.Infrastructure.Migrations +{ + /// + public partial class InitialCreate : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AlterDatabase() + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.CreateTable( + name: "DivinationRecords", + columns: table => new + { + Id = table.Column(type: "bigint", nullable: false) + .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn), + Type = table.Column(type: "varchar(50)", maxLength: 50, nullable: false) + .Annotation("MySql:CharSet", "utf8mb4"), + InputData = table.Column(type: "json", nullable: false) + .Annotation("MySql:CharSet", "utf8mb4"), + TraditionalResult = table.Column(type: "json", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + AIInterpretation = table.Column(type: "text", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + PaymentStatus = table.Column(type: "varchar(20)", maxLength: 20, nullable: false) + .Annotation("MySql:CharSet", "utf8mb4"), + PaymentMethod = table.Column(type: "varchar(20)", maxLength: 20, nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + Amount = table.Column(type: "decimal(10,2)", nullable: false), + PaymentOrderId = table.Column(type: "varchar(100)", maxLength: 100, nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + ClientIp = table.Column(type: "varchar(50)", maxLength: 50, nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + Language = table.Column(type: "varchar(10)", maxLength: 10, nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + CreatedAt = table.Column(type: "datetime(6)", nullable: false), + UpdatedAt = table.Column(type: "datetime(6)", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_DivinationRecords", x => x.Id); + }) + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.CreateTable( + name: "PriceConfigs", + columns: table => new + { + Id = table.Column(type: "int", nullable: false) + .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn), + ServiceType = table.Column(type: "varchar(50)", maxLength: 50, nullable: false) + .Annotation("MySql:CharSet", "utf8mb4"), + Price = table.Column(type: "decimal(10,2)", nullable: false), + Currency = table.Column(type: "varchar(10)", maxLength: 10, nullable: false) + .Annotation("MySql:CharSet", "utf8mb4"), + IsEnabled = table.Column(type: "tinyint(1)", nullable: false), + CreatedAt = table.Column(type: "datetime(6)", nullable: false), + UpdatedAt = table.Column(type: "datetime(6)", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_PriceConfigs", x => x.Id); + }) + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.CreateTable( + name: "SystemConfigs", + columns: table => new + { + Id = table.Column(type: "int", nullable: false) + .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn), + ConfigKey = table.Column(type: "varchar(100)", maxLength: 100, nullable: false) + .Annotation("MySql:CharSet", "utf8mb4"), + ConfigValue = table.Column(type: "longtext", nullable: false) + .Annotation("MySql:CharSet", "utf8mb4"), + Description = table.Column(type: "varchar(500)", maxLength: 500, nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + CreatedAt = table.Column(type: "datetime(6)", nullable: false), + UpdatedAt = table.Column(type: "datetime(6)", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_SystemConfigs", x => x.Id); + }) + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.InsertData( + table: "PriceConfigs", + columns: new[] { "Id", "CreatedAt", "Currency", "IsEnabled", "Price", "ServiceType", "UpdatedAt" }, + values: new object[,] + { + { 1, new DateTime(2025, 10, 3, 15, 55, 21, 572, DateTimeKind.Utc).AddTicks(8683), "CNY", true, 99m, "bazi", new DateTime(2025, 10, 3, 15, 55, 21, 572, DateTimeKind.Utc).AddTicks(8685) }, + { 2, new DateTime(2025, 10, 3, 15, 55, 21, 572, DateTimeKind.Utc).AddTicks(8689), "CNY", true, 88m, "career", new DateTime(2025, 10, 3, 15, 55, 21, 572, DateTimeKind.Utc).AddTicks(8690) }, + { 3, new DateTime(2025, 10, 3, 15, 55, 21, 572, DateTimeKind.Utc).AddTicks(8693), "CNY", true, 88m, "marriage", new DateTime(2025, 10, 3, 15, 55, 21, 572, DateTimeKind.Utc).AddTicks(8693) }, + { 4, new DateTime(2025, 10, 3, 15, 55, 21, 572, DateTimeKind.Utc).AddTicks(8696), "CNY", true, 66m, "tarot", new DateTime(2025, 10, 3, 15, 55, 21, 572, DateTimeKind.Utc).AddTicks(8696) }, + { 5, new DateTime(2025, 10, 3, 15, 55, 21, 572, DateTimeKind.Utc).AddTicks(8699), "CNY", true, 29m, "zodiac", new DateTime(2025, 10, 3, 15, 55, 21, 572, DateTimeKind.Utc).AddTicks(8700) } + }); + + migrationBuilder.CreateIndex( + name: "IX_DivinationRecords_CreatedAt", + table: "DivinationRecords", + column: "CreatedAt"); + + migrationBuilder.CreateIndex( + name: "IX_DivinationRecords_PaymentStatus", + table: "DivinationRecords", + column: "PaymentStatus"); + + migrationBuilder.CreateIndex( + name: "IX_DivinationRecords_Type", + table: "DivinationRecords", + column: "Type"); + + migrationBuilder.CreateIndex( + name: "IX_PriceConfigs_ServiceType", + table: "PriceConfigs", + column: "ServiceType"); + + migrationBuilder.CreateIndex( + name: "IX_SystemConfigs_ConfigKey", + table: "SystemConfigs", + column: "ConfigKey", + unique: true); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropTable( + name: "DivinationRecords"); + + migrationBuilder.DropTable( + name: "PriceConfigs"); + + migrationBuilder.DropTable( + name: "SystemConfigs"); + } + } +} diff --git a/backend/FateMaster.API/FateMaster.API/FateMaster.Infrastructure/Migrations/ApplicationDbContextModelSnapshot.cs b/backend/FateMaster.API/FateMaster.API/FateMaster.Infrastructure/Migrations/ApplicationDbContextModelSnapshot.cs new file mode 100644 index 0000000..daa407b --- /dev/null +++ b/backend/FateMaster.API/FateMaster.API/FateMaster.Infrastructure/Migrations/ApplicationDbContextModelSnapshot.cs @@ -0,0 +1,215 @@ +// +using System; +using FateMaster.Infrastructure.Data; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Metadata; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; + +#nullable disable + +namespace FateMaster.Infrastructure.Migrations +{ + [DbContext(typeof(ApplicationDbContext))] + partial class ApplicationDbContextModelSnapshot : ModelSnapshot + { + protected override void BuildModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "9.0.0-preview.1.24081.2") + .HasAnnotation("Relational:MaxIdentifierLength", 64); + + MySqlModelBuilderExtensions.AutoIncrementColumns(modelBuilder); + + modelBuilder.Entity("FateMaster.Domain.Entities.DivinationRecord", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("AIInterpretation") + .HasColumnType("text"); + + b.Property("Amount") + .HasColumnType("decimal(10,2)"); + + b.Property("ClientIp") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)"); + + b.Property("InputData") + .IsRequired() + .HasColumnType("json"); + + b.Property("Language") + .HasMaxLength(10) + .HasColumnType("varchar(10)"); + + b.Property("PaymentMethod") + .HasMaxLength(20) + .HasColumnType("varchar(20)"); + + b.Property("PaymentOrderId") + .HasMaxLength(100) + .HasColumnType("varchar(100)"); + + b.Property("PaymentStatus") + .IsRequired() + .HasMaxLength(20) + .HasColumnType("varchar(20)"); + + b.Property("TraditionalResult") + .HasColumnType("json"); + + b.Property("Type") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("UpdatedAt") + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("CreatedAt"); + + b.HasIndex("PaymentStatus"); + + b.HasIndex("Type"); + + b.ToTable("DivinationRecords"); + }); + + modelBuilder.Entity("FateMaster.Domain.Entities.PriceConfig", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)"); + + b.Property("Currency") + .IsRequired() + .HasMaxLength(10) + .HasColumnType("varchar(10)"); + + b.Property("IsEnabled") + .HasColumnType("tinyint(1)"); + + b.Property("Price") + .HasColumnType("decimal(10,2)"); + + b.Property("ServiceType") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("UpdatedAt") + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("ServiceType"); + + b.ToTable("PriceConfigs"); + + b.HasData( + new + { + Id = 1, + CreatedAt = new DateTime(2025, 10, 3, 15, 55, 21, 572, DateTimeKind.Utc).AddTicks(8683), + Currency = "CNY", + IsEnabled = true, + Price = 99m, + ServiceType = "bazi", + UpdatedAt = new DateTime(2025, 10, 3, 15, 55, 21, 572, DateTimeKind.Utc).AddTicks(8685) + }, + new + { + Id = 2, + CreatedAt = new DateTime(2025, 10, 3, 15, 55, 21, 572, DateTimeKind.Utc).AddTicks(8689), + Currency = "CNY", + IsEnabled = true, + Price = 88m, + ServiceType = "career", + UpdatedAt = new DateTime(2025, 10, 3, 15, 55, 21, 572, DateTimeKind.Utc).AddTicks(8690) + }, + new + { + Id = 3, + CreatedAt = new DateTime(2025, 10, 3, 15, 55, 21, 572, DateTimeKind.Utc).AddTicks(8693), + Currency = "CNY", + IsEnabled = true, + Price = 88m, + ServiceType = "marriage", + UpdatedAt = new DateTime(2025, 10, 3, 15, 55, 21, 572, DateTimeKind.Utc).AddTicks(8693) + }, + new + { + Id = 4, + CreatedAt = new DateTime(2025, 10, 3, 15, 55, 21, 572, DateTimeKind.Utc).AddTicks(8696), + Currency = "CNY", + IsEnabled = true, + Price = 66m, + ServiceType = "tarot", + UpdatedAt = new DateTime(2025, 10, 3, 15, 55, 21, 572, DateTimeKind.Utc).AddTicks(8696) + }, + new + { + Id = 5, + CreatedAt = new DateTime(2025, 10, 3, 15, 55, 21, 572, DateTimeKind.Utc).AddTicks(8699), + Currency = "CNY", + IsEnabled = true, + Price = 29m, + ServiceType = "zodiac", + UpdatedAt = new DateTime(2025, 10, 3, 15, 55, 21, 572, DateTimeKind.Utc).AddTicks(8700) + }); + }); + + modelBuilder.Entity("FateMaster.Domain.Entities.SystemConfig", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("ConfigKey") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)"); + + b.Property("ConfigValue") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)"); + + b.Property("Description") + .HasMaxLength(500) + .HasColumnType("varchar(500)"); + + b.Property("UpdatedAt") + .HasColumnType("datetime(6)"); + + b.HasKey("Id"); + + b.HasIndex("ConfigKey") + .IsUnique(); + + b.ToTable("SystemConfigs"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/backend/FateMaster.API/FateMaster.API/FateMaster.Infrastructure/Repositories/Repository.cs b/backend/FateMaster.API/FateMaster.API/FateMaster.Infrastructure/Repositories/Repository.cs new file mode 100644 index 0000000..8f2a9fc --- /dev/null +++ b/backend/FateMaster.API/FateMaster.API/FateMaster.Infrastructure/Repositories/Repository.cs @@ -0,0 +1,66 @@ +using System.Linq.Expressions; +using FateMaster.Domain.Interfaces; +using FateMaster.Infrastructure.Data; +using Microsoft.EntityFrameworkCore; + +namespace FateMaster.Infrastructure.Repositories; + +/// +/// 通用仓储实现 +/// +public class Repository : IRepository where T : class +{ + protected readonly ApplicationDbContext _context; + protected readonly DbSet _dbSet; + + public Repository(ApplicationDbContext context) + { + _context = context; + _dbSet = context.Set(); + } + + public virtual async Task GetByIdAsync(object id) + { + return await _dbSet.FindAsync(id); + } + + public virtual async Task> GetAllAsync() + { + return await _dbSet.ToListAsync(); + } + + public virtual async Task> FindAsync(Expression> predicate) + { + return await _dbSet.Where(predicate).ToListAsync(); + } + + public virtual async Task AddAsync(T entity) + { + await _dbSet.AddAsync(entity); + return entity; + } + + public virtual Task UpdateAsync(T entity) + { + _dbSet.Update(entity); + return Task.CompletedTask; + } + + public virtual Task DeleteAsync(T entity) + { + _dbSet.Remove(entity); + return Task.CompletedTask; + } + + public virtual async Task ExistsAsync(Expression> predicate) + { + return await _dbSet.AnyAsync(predicate); + } + + public virtual async Task CountAsync(Expression>? predicate = null) + { + return predicate == null + ? await _dbSet.CountAsync() + : await _dbSet.CountAsync(predicate); + } +} diff --git a/backend/FateMaster.API/FateMaster.API/FateMaster.Infrastructure/Repositories/UnitOfWork.cs b/backend/FateMaster.API/FateMaster.API/FateMaster.Infrastructure/Repositories/UnitOfWork.cs new file mode 100644 index 0000000..baf4cf3 --- /dev/null +++ b/backend/FateMaster.API/FateMaster.API/FateMaster.Infrastructure/Repositories/UnitOfWork.cs @@ -0,0 +1,55 @@ +using FateMaster.Domain.Interfaces; +using FateMaster.Infrastructure.Data; +using Microsoft.EntityFrameworkCore.Storage; + +namespace FateMaster.Infrastructure.Repositories; + +/// +/// 工作单元实现 +/// +public class UnitOfWork : IUnitOfWork +{ + private readonly ApplicationDbContext _context; + private IDbContextTransaction? _transaction; + + public UnitOfWork(ApplicationDbContext context) + { + _context = context; + } + + public async Task SaveChangesAsync(CancellationToken cancellationToken = default) + { + return await _context.SaveChangesAsync(cancellationToken); + } + + public async Task BeginTransactionAsync() + { + _transaction = await _context.Database.BeginTransactionAsync(); + } + + public async Task CommitTransactionAsync() + { + if (_transaction != null) + { + await _transaction.CommitAsync(); + await _transaction.DisposeAsync(); + _transaction = null; + } + } + + public async Task RollbackTransactionAsync() + { + if (_transaction != null) + { + await _transaction.RollbackAsync(); + await _transaction.DisposeAsync(); + _transaction = null; + } + } + + public void Dispose() + { + _transaction?.Dispose(); + _context.Dispose(); + } +} diff --git a/backend/FateMaster.API/FateMaster.API/FateMaster.Shared/Constants/AppConstants.cs b/backend/FateMaster.API/FateMaster.API/FateMaster.Shared/Constants/AppConstants.cs new file mode 100644 index 0000000..887e577 --- /dev/null +++ b/backend/FateMaster.API/FateMaster.API/FateMaster.Shared/Constants/AppConstants.cs @@ -0,0 +1,48 @@ +namespace FateMaster.Shared.Constants; + +/// +/// 应用常量 +/// +public static class AppConstants +{ + /// + /// 支付状态 + /// + public static class PaymentStatuses + { + public const string Pending = "pending"; + public const string Paid = "paid"; + public const string Failed = "failed"; + } + + /// + /// 服务类型 + /// + public static class ServiceTypes + { + public const string Bazi = "bazi"; + public const string Career = "career"; + public const string Marriage = "marriage"; + public const string Tarot = "tarot"; + public const string Zodiac = "zodiac"; + } + + /// + /// 支付方式 + /// + public static class PaymentMethods + { + public const string Alipay = "alipay"; + public const string PayPal = "paypal"; + public const string Stripe = "stripe"; + } + + /// + /// 货币类型 + /// + public static class Currencies + { + public const string CNY = "CNY"; + public const string USD = "USD"; + } +} diff --git a/backend/FateMaster.API/FateMaster.API/FateMaster.Shared/DTOs/AdminDTOs.cs b/backend/FateMaster.API/FateMaster.API/FateMaster.Shared/DTOs/AdminDTOs.cs new file mode 100644 index 0000000..798bc3a --- /dev/null +++ b/backend/FateMaster.API/FateMaster.API/FateMaster.Shared/DTOs/AdminDTOs.cs @@ -0,0 +1,42 @@ +namespace FateMaster.Shared.DTOs; + +/// +/// 分页查询请求 +/// +public record PagedRequest( + int Page = 1, + int PageSize = 20, + string? Type = null, + string? PaymentStatus = null +); + +/// +/// 分页响应 +/// +public record PagedResponse +{ + public int Total { get; init; } + public int Page { get; init; } + public int PageSize { get; init; } + public IEnumerable Data { get; init; } = new List(); +} + +/// +/// 统计数据响应 +/// +public record StatisticsResponse +{ + public int Total { get; init; } + public int PaidCount { get; init; } + public decimal TotalRevenue { get; init; } + public IEnumerable TypeStats { get; init; } = new List(); +} + +/// +/// 类型统计 +/// +public record TypeStatistics +{ + public string Type { get; init; } = string.Empty; + public int Count { get; init; } +} diff --git a/backend/FateMaster.API/FateMaster.API/FateMaster.Shared/DTOs/ApiResponse.cs b/backend/FateMaster.API/FateMaster.API/FateMaster.Shared/DTOs/ApiResponse.cs new file mode 100644 index 0000000..a730a29 --- /dev/null +++ b/backend/FateMaster.API/FateMaster.API/FateMaster.Shared/DTOs/ApiResponse.cs @@ -0,0 +1,32 @@ +namespace FateMaster.Shared.DTOs; + +/// +/// 通用响应包装 +/// +public record ApiResponse +{ + public bool Success { get; init; } + public T? Data { get; init; } + public string? Message { get; init; } + public string? ErrorCode { get; init; } + + public static ApiResponse SuccessResult(T data, string? message = null) + { + return new ApiResponse + { + Success = true, + Data = data, + Message = message + }; + } + + public static ApiResponse FailureResult(string message, string? errorCode = null) + { + return new ApiResponse + { + Success = false, + Message = message, + ErrorCode = errorCode + }; + } +} diff --git a/backend/FateMaster.API/FateMaster.API/FateMaster.Shared/DTOs/BaziDTOs.cs b/backend/FateMaster.API/FateMaster.API/FateMaster.Shared/DTOs/BaziDTOs.cs new file mode 100644 index 0000000..3ac5564 --- /dev/null +++ b/backend/FateMaster.API/FateMaster.API/FateMaster.Shared/DTOs/BaziDTOs.cs @@ -0,0 +1,148 @@ +namespace FateMaster.Shared.DTOs; + +/// +/// 八字计算请求DTO +/// +public record BaziCalculateRequest +{ + public string Name { get; init; } = string.Empty; + public string Gender { get; init; } = string.Empty; + public string CalendarType { get; init; } = "solar"; // solar, lunar + + // 公历日期 + public DateTime? BirthDate { get; init; } + + // 农历日期 + public int? LunarYear { get; init; } + public int? LunarMonth { get; init; } + public int? LunarDay { get; init; } + + // 时间 + public bool KnowTime { get; init; } + public int? BirthHour { get; init; } + public int? BirthMinute { get; init; } + + // 出生地点 + public string? BirthPlace { get; init; } + public bool UseTrueSolarTime { get; init; } + public bool UseEarlyChildTime { get; init; } + + // 直接输入八字 + public string? YearStem { get; init; } + public string? YearBranch { get; init; } + public string? MonthStem { get; init; } + public string? MonthBranch { get; init; } + public string? DayStem { get; init; } + public string? DayBranch { get; init; } + public string? HourStem { get; init; } + public string? HourBranch { get; init; } + + public string Language { get; init; } = "zh-CN"; +} + +/// +/// 八字计算响应DTO +/// +public record BaziCalculateResponse +{ + public long RecordId { get; init; } + public BaziBasicInfo BasicInfo { get; init; } = new(); + public BaziChart Chart { get; init; } = new(); + public FiveElementsAnalysis FiveElements { get; init; } = new(); + public TenGodsAnalysis TenGods { get; init; } = new(); + public LuckCycleInfo LuckCycles { get; init; } = new(); + public AiInterpretation AiAnalysis { get; init; } = new(); +} + +/// +/// 八字基本信息 +/// +public record BaziBasicInfo +{ + public string Name { get; init; } = string.Empty; + public string Gender { get; init; } = string.Empty; + public string BirthDateTime { get; init; } = string.Empty; + public string LunarDateTime { get; init; } = string.Empty; + public string? BirthPlace { get; init; } +} + +/// +/// 八字排盘 +/// +public record BaziChart +{ + public Pillar YearPillar { get; init; } = new(); + public Pillar MonthPillar { get; init; } = new(); + public Pillar DayPillar { get; init; } = new(); + public Pillar HourPillar { get; init; } = new(); + public string DayMaster { get; init; } = string.Empty; // 日主 + public string? NaYin { get; init; } // 纳音 +} + +/// +/// 柱(干支) +/// +public record Pillar +{ + public string Stem { get; init; } = string.Empty; // 天干 + public string Branch { get; init; } = string.Empty; // 地支 + public string HiddenStems { get; init; } = string.Empty; // 藏干 + public string Element { get; init; } = string.Empty; // 五行 +} + +/// +/// 五行分析 +/// +public record FiveElementsAnalysis +{ + public Dictionary Elements { get; init; } = new(); + public string StrongestElement { get; init; } = string.Empty; + public string WeakestElement { get; init; } = string.Empty; + public List MissingElements { get; init; } = new(); + public string BaziStrength { get; init; } = string.Empty; // 身强/身弱 +} + +/// +/// 十神分析 +/// +public record TenGodsAnalysis +{ + public Dictionary> Gods { get; init; } = new(); + public string MainGod { get; init; } = string.Empty; +} + +/// +/// 大运流年 +/// +public record LuckCycleInfo +{ + public List MajorCycles { get; init; } = new(); // 大运 + public LuckCycle? CurrentCycle { get; init; } // 当前大运 + public int StartAge { get; init; } // 起运岁数 +} + +/// +/// 运势周期 +/// +public record LuckCycle +{ + public string Stem { get; init; } = string.Empty; + public string Branch { get; init; } = string.Empty; + public int StartAge { get; init; } + public int EndAge { get; init; } + public string Element { get; init; } = string.Empty; +} + +/// +/// AI解读 +/// +public record AiInterpretation +{ + public string? Character { get; init; } // 性格分析 + public string? Career { get; init; } // 事业分析 + public string? Wealth { get; init; } // 财运分析 + public string? Marriage { get; init; } // 婚姻分析 + public string? Health { get; init; } // 健康分析 + public string? Summary { get; init; } // 综合分析 + public string? Suggestions { get; init; } // 建议 +} diff --git a/backend/FateMaster.API/FateMaster.API/FateMaster.Shared/DTOs/DivinationDTOs.cs b/backend/FateMaster.API/FateMaster.API/FateMaster.Shared/DTOs/DivinationDTOs.cs new file mode 100644 index 0000000..7afbc82 --- /dev/null +++ b/backend/FateMaster.API/FateMaster.API/FateMaster.Shared/DTOs/DivinationDTOs.cs @@ -0,0 +1,40 @@ +namespace FateMaster.Shared.DTOs; + +/// +/// 提交卜卦请求DTO +/// +public record SubmitDivinationRequest( + string Type, + string InputData, + string? PaymentMethod, + decimal Amount, + string? Language = "zh-CN" +); + +/// +/// 卜卦记录响应DTO +/// +public record DivinationRecordResponse +{ + public long Id { get; init; } + public string Type { get; init; } = string.Empty; + public string InputData { get; init; } = string.Empty; + public string? TraditionalResult { get; init; } + public string? AIInterpretation { get; init; } + public string PaymentStatus { get; init; } = string.Empty; + public string? PaymentMethod { get; init; } + public decimal Amount { get; init; } + public string? PaymentOrderId { get; init; } + public string? Language { get; init; } + public DateTime CreatedAt { get; init; } + public DateTime UpdatedAt { get; init; } +} + +/// +/// 更新支付状态请求DTO +/// +public record UpdatePaymentStatusRequest( + long RecordId, + string PaymentStatus, + string? PaymentOrderId = null +); diff --git a/backend/FateMaster.API/FateMaster.API/FateMaster.Shared/DTOs/PriceConfigDTOs.cs b/backend/FateMaster.API/FateMaster.API/FateMaster.Shared/DTOs/PriceConfigDTOs.cs new file mode 100644 index 0000000..367593f --- /dev/null +++ b/backend/FateMaster.API/FateMaster.API/FateMaster.Shared/DTOs/PriceConfigDTOs.cs @@ -0,0 +1,23 @@ +namespace FateMaster.Shared.DTOs; + +/// +/// 价格配置响应DTO +/// +public record PriceConfigResponse +{ + public int Id { get; init; } + public string ServiceType { get; init; } = string.Empty; + public decimal Price { get; init; } + public string Currency { get; init; } = string.Empty; + public bool IsEnabled { get; init; } +} + +/// +/// 创建/更新价格配置请求DTO +/// +public record UpsertPriceConfigRequest( + string ServiceType, + decimal Price, + string Currency = "CNY", + bool IsEnabled = true +); diff --git a/backend/FateMaster.API/FateMaster.API/FateMaster.Shared/FateMaster.Shared.csproj b/backend/FateMaster.API/FateMaster.API/FateMaster.Shared/FateMaster.Shared.csproj new file mode 100644 index 0000000..fa71b7a --- /dev/null +++ b/backend/FateMaster.API/FateMaster.API/FateMaster.Shared/FateMaster.Shared.csproj @@ -0,0 +1,9 @@ + + + + net8.0 + enable + enable + + + diff --git a/backend/FateMaster.API/FateMaster.API/FateMaster.Web.API/Controllers/BaziController.cs b/backend/FateMaster.API/FateMaster.API/FateMaster.Web.API/Controllers/BaziController.cs new file mode 100644 index 0000000..72da696 --- /dev/null +++ b/backend/FateMaster.API/FateMaster.API/FateMaster.Web.API/Controllers/BaziController.cs @@ -0,0 +1,66 @@ +using FateMaster.Application.Interfaces; +using FateMaster.Shared.DTOs; +using Microsoft.AspNetCore.Mvc; + +namespace FateMaster.Web.API.Controllers; + +/// +/// 八字算命Controller +/// +[ApiController] +[Route("api/[controller]")] +public class BaziController : ControllerBase +{ + private readonly IBaziService _baziService; + private readonly ILogger _logger; + + public BaziController( + IBaziService baziService, + ILogger logger) + { + _baziService = baziService; + _logger = logger; + } + + /// + /// 计算八字 + /// + [HttpPost("calculate")] + public async Task>> Calculate([FromBody] BaziCalculateRequest request) + { + try + { + var clientIp = HttpContext.Connection.RemoteIpAddress?.ToString(); + var result = await _baziService.CalculateBaziAsync(request, clientIp); + return Ok(ApiResponse.SuccessResult(result)); + } + catch (Exception ex) + { + _logger.LogError(ex, "Error calculating bazi"); + return StatusCode(500, ApiResponse.FailureResult("计算失败,请稍后再试")); + } + } + + /// + /// 获取八字结果 + /// + [HttpGet("result/{recordId}")] + public async Task>> GetResult(long recordId) + { + try + { + var result = await _baziService.GetBaziResultAsync(recordId); + if (result == null) + { + return NotFound(ApiResponse.FailureResult("记录不存在", "NOT_FOUND")); + } + + return Ok(ApiResponse.SuccessResult(result)); + } + catch (Exception ex) + { + _logger.LogError(ex, "Error getting bazi result"); + return StatusCode(500, ApiResponse.FailureResult("获取结果失败")); + } + } +} diff --git a/backend/FateMaster.API/FateMaster.API/FateMaster.Web.API/Controllers/DivinationController.cs b/backend/FateMaster.API/FateMaster.API/FateMaster.Web.API/Controllers/DivinationController.cs new file mode 100644 index 0000000..5f486ff --- /dev/null +++ b/backend/FateMaster.API/FateMaster.API/FateMaster.Web.API/Controllers/DivinationController.cs @@ -0,0 +1,81 @@ +using FateMaster.Application.Interfaces; +using FateMaster.Shared.DTOs; +using Microsoft.AspNetCore.Mvc; + +namespace FateMaster.Web.API.Controllers; + +[ApiController] +[Route("api/[controller]")] +public class DivinationController : ControllerBase +{ + private readonly IDivinationService _divinationService; + private readonly ILogger _logger; + + public DivinationController( + IDivinationService divinationService, + ILogger logger) + { + _divinationService = divinationService; + _logger = logger; + } + + /// + /// 获取价格配置 + /// + [HttpGet("prices")] + public async Task>>> GetPrices() + { + try + { + var prices = await _divinationService.GetEnabledPricesAsync(); + return Ok(ApiResponse>.SuccessResult(prices)); + } + catch (Exception ex) + { + _logger.LogError(ex, "Error getting prices"); + return StatusCode(500, ApiResponse>.FailureResult("获取价格配置失败")); + } + } + + /// + /// 提交卜卦请求 + /// + [HttpPost("submit")] + public async Task>> Submit([FromBody] SubmitDivinationRequest request) + { + try + { + var clientIp = HttpContext.Connection.RemoteIpAddress?.ToString(); + var record = await _divinationService.SubmitDivinationAsync(request, clientIp); + return Ok(ApiResponse.SuccessResult(record)); + } + catch (Exception ex) + { + _logger.LogError(ex, "Error submitting divination request"); + return StatusCode(500, ApiResponse.FailureResult("提交失败")); + } + } + + /// + /// 获取卜卦结果 + /// + [HttpGet("{id}")] + public async Task>> GetResult(long id) + { + try + { + var record = await _divinationService.GetDivinationRecordAsync(id); + if (record == null) + { + return NotFound(ApiResponse.FailureResult("记录不存在", "NOT_FOUND")); + } + + return Ok(ApiResponse.SuccessResult(record)); + } + catch (Exception ex) + { + _logger.LogError(ex, "Error getting divination record"); + return StatusCode(500, ApiResponse.FailureResult("获取记录失败")); + } + } +} diff --git a/backend/FateMaster.API/FateMaster.API/FateMaster.Web.API/FateMaster.Web.API.csproj b/backend/FateMaster.API/FateMaster.API/FateMaster.Web.API/FateMaster.Web.API.csproj new file mode 100644 index 0000000..f11467e --- /dev/null +++ b/backend/FateMaster.API/FateMaster.API/FateMaster.Web.API/FateMaster.Web.API.csproj @@ -0,0 +1,24 @@ + + + + net8.0 + enable + enable + + + + + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + + + + + + + + + + + diff --git a/backend/FateMaster.API/FateMaster.API/FateMaster.Web.API/FateMaster.Web.API.http b/backend/FateMaster.API/FateMaster.API/FateMaster.Web.API/FateMaster.Web.API.http new file mode 100644 index 0000000..9bc338b --- /dev/null +++ b/backend/FateMaster.API/FateMaster.API/FateMaster.Web.API/FateMaster.Web.API.http @@ -0,0 +1,6 @@ +@FateMaster.Web.API_HostAddress = http://localhost:5238 + +GET {{FateMaster.Web.API_HostAddress}}/weatherforecast/ +Accept: application/json + +### diff --git a/backend/FateMaster.API/FateMaster.API/FateMaster.Web.API/Program.cs b/backend/FateMaster.API/FateMaster.API/FateMaster.Web.API/Program.cs new file mode 100644 index 0000000..de4a36d --- /dev/null +++ b/backend/FateMaster.API/FateMaster.API/FateMaster.Web.API/Program.cs @@ -0,0 +1,54 @@ +using FateMaster.Application; +using FateMaster.Infrastructure; +using FateMaster.Infrastructure.Data; +using Microsoft.EntityFrameworkCore; + +var builder = WebApplication.CreateBuilder(args); + +// Add services to the container +builder.Services.AddControllers(); +builder.Services.AddEndpointsApiExplorer(); +builder.Services.AddSwaggerGen(); + +// 添加Application和Infrastructure层 +builder.Services.AddApplication(); +builder.Services.AddInfrastructure(builder.Configuration); + +// Configure CORS +builder.Services.AddCors(options => +{ + options.AddPolicy("AllowFrontend", policy => + { + policy.WithOrigins("http://localhost:3000", "http://localhost:3001") + .AllowAnyMethod() + .AllowAnyHeader() + .AllowCredentials(); + }); +}); + +var app = builder.Build(); + +// 自动数据库迁移 +var autoMigrate = builder.Configuration.GetValue("DatabaseSettings:AutoMigrate"); +if (autoMigrate) +{ + using (var scope = app.Services.CreateScope()) + { + var dbContext = scope.ServiceProvider.GetRequiredService(); + dbContext.Database.Migrate(); + } +} + +// Configure the HTTP request pipeline +if (app.Environment.IsDevelopment()) +{ + app.UseSwagger(); + app.UseSwaggerUI(); +} + +app.UseCors("AllowFrontend"); +app.UseHttpsRedirection(); +app.UseAuthorization(); +app.MapControllers(); + +app.Run(); diff --git a/backend/FateMaster.API/FateMaster.API/FateMaster.Web.API/Program.cs.bak b/backend/FateMaster.API/FateMaster.API/FateMaster.Web.API/Program.cs.bak new file mode 100644 index 0000000..720b582 --- /dev/null +++ b/backend/FateMaster.API/FateMaster.API/FateMaster.Web.API/Program.cs.bak @@ -0,0 +1,41 @@ +using FateMaster.Application; +using FateMaster.Infrastructure; + +var builder = WebApplication.CreateBuilder(args); + +// Add services to the container +builder.Services.AddControllers(); +builder.Services.AddEndpointsApiExplorer(); +builder.Services.AddSwaggerGen(); + +// 添加Application和Infrastructure层 +builder.Services.AddApplication(); +builder.Services.AddInfrastructure(builder.Configuration); + +// Configure CORS +builder.Services.AddCors(options => +{ + options.AddPolicy("AllowFrontend", policy => + { + policy.WithOrigins("http://localhost:3000", "http://localhost:3001") + .AllowAnyMethod() + .AllowAnyHeader() + .AllowCredentials(); + }); +}); + +var app = builder.Build(); + +// Configure the HTTP request pipeline +if (app.Environment.IsDevelopment()) +{ + app.UseSwagger(); + app.UseSwaggerUI(); +} + +app.UseCors("AllowFrontend"); +app.UseHttpsRedirection(); +app.UseAuthorization(); +app.MapControllers(); + +app.Run(); diff --git a/backend/FateMaster.API/FateMaster.API/FateMaster.Web.API/Properties/launchSettings.json b/backend/FateMaster.API/FateMaster.API/FateMaster.Web.API/Properties/launchSettings.json new file mode 100644 index 0000000..f272bcd --- /dev/null +++ b/backend/FateMaster.API/FateMaster.API/FateMaster.Web.API/Properties/launchSettings.json @@ -0,0 +1,41 @@ +{ + "$schema": "http://json.schemastore.org/launchsettings.json", + "iisSettings": { + "windowsAuthentication": false, + "anonymousAuthentication": true, + "iisExpress": { + "applicationUrl": "http://localhost:20980", + "sslPort": 44332 + } + }, + "profiles": { + "http": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + "launchUrl": "swagger", + "applicationUrl": "http://localhost:5238", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "https": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + "launchUrl": "swagger", + "applicationUrl": "https://localhost:7100;http://localhost:5238", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "IIS Express": { + "commandName": "IISExpress", + "launchBrowser": true, + "launchUrl": "swagger", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + } + } +} diff --git a/backend/FateMaster.API/FateMaster.API/FateMaster.Web.API/appsettings.json b/backend/FateMaster.API/FateMaster.API/FateMaster.Web.API/appsettings.json new file mode 100644 index 0000000..169d4a9 --- /dev/null +++ b/backend/FateMaster.API/FateMaster.API/FateMaster.Web.API/appsettings.json @@ -0,0 +1,37 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + }, + "AllowedHosts": "*", + "ConnectionStrings": { + "DefaultConnection": "Server=localhost;Port=3306;Database=fatemaster;User=root;Password=root;" + }, + "DatabaseSettings": { + "AutoMigrate": true, + "SeedData": true + }, + "PaymentSettings": { + "Alipay": { + "AppId": "", + "PrivateKey": "", + "PublicKey": "" + }, + "PayPal": { + "ClientId": "", + "ClientSecret": "", + "Mode": "sandbox" + }, + "Stripe": { + "SecretKey": "", + "PublishableKey": "" + } + }, + "Claude": { + "ApiKey": "your-claude-api-key-here", + "Model": "claude-3-5-sonnet-20241022", + "BaseUrl": "https://api.anthropic.com/v1" + } +} diff --git a/backend/FateMaster.API/FateMaster.API/FateMaster.sln b/backend/FateMaster.API/FateMaster.API/FateMaster.sln new file mode 100644 index 0000000..2a72e30 --- /dev/null +++ b/backend/FateMaster.API/FateMaster.API/FateMaster.sln @@ -0,0 +1,61 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.0.31903.59 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FateMaster.Domain", "FateMaster.Domain\FateMaster.Domain.csproj", "{BE5930BA-82BB-4925-B5A3-2CC67554D46A}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FateMaster.Shared", "FateMaster.Shared\FateMaster.Shared.csproj", "{7B3DCF56-B449-4958-9ABC-48A0841261B2}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FateMaster.Application", "FateMaster.Application\FateMaster.Application.csproj", "{BD8A2E8A-6F14-4EF1-A73E-16D63EF5BCFB}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FateMaster.Infrastructure", "FateMaster.Infrastructure\FateMaster.Infrastructure.csproj", "{6FCBB14E-2F5F-4F8B-870C-678311866318}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FateMaster.Web.API", "FateMaster.Web.API\FateMaster.Web.API.csproj", "{55411F9B-BBD1-42F8-B915-D7FF01B95A1F}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FateMaster.Admin.API", "FateMaster.Admin.API\FateMaster.Admin.API.csproj", "{1571483B-959B-4FCB-8D6E-67A57BF57EC0}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Api", "Api", "{CDE3BA32-2B7E-4A11-B87E-B4F1760A859A}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {BE5930BA-82BB-4925-B5A3-2CC67554D46A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {BE5930BA-82BB-4925-B5A3-2CC67554D46A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {BE5930BA-82BB-4925-B5A3-2CC67554D46A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {BE5930BA-82BB-4925-B5A3-2CC67554D46A}.Release|Any CPU.Build.0 = Release|Any CPU + {7B3DCF56-B449-4958-9ABC-48A0841261B2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {7B3DCF56-B449-4958-9ABC-48A0841261B2}.Debug|Any CPU.Build.0 = Debug|Any CPU + {7B3DCF56-B449-4958-9ABC-48A0841261B2}.Release|Any CPU.ActiveCfg = Release|Any CPU + {7B3DCF56-B449-4958-9ABC-48A0841261B2}.Release|Any CPU.Build.0 = Release|Any CPU + {BD8A2E8A-6F14-4EF1-A73E-16D63EF5BCFB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {BD8A2E8A-6F14-4EF1-A73E-16D63EF5BCFB}.Debug|Any CPU.Build.0 = Debug|Any CPU + {BD8A2E8A-6F14-4EF1-A73E-16D63EF5BCFB}.Release|Any CPU.ActiveCfg = Release|Any CPU + {BD8A2E8A-6F14-4EF1-A73E-16D63EF5BCFB}.Release|Any CPU.Build.0 = Release|Any CPU + {6FCBB14E-2F5F-4F8B-870C-678311866318}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {6FCBB14E-2F5F-4F8B-870C-678311866318}.Debug|Any CPU.Build.0 = Debug|Any CPU + {6FCBB14E-2F5F-4F8B-870C-678311866318}.Release|Any CPU.ActiveCfg = Release|Any CPU + {6FCBB14E-2F5F-4F8B-870C-678311866318}.Release|Any CPU.Build.0 = Release|Any CPU + {55411F9B-BBD1-42F8-B915-D7FF01B95A1F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {55411F9B-BBD1-42F8-B915-D7FF01B95A1F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {55411F9B-BBD1-42F8-B915-D7FF01B95A1F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {55411F9B-BBD1-42F8-B915-D7FF01B95A1F}.Release|Any CPU.Build.0 = Release|Any CPU + {1571483B-959B-4FCB-8D6E-67A57BF57EC0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {1571483B-959B-4FCB-8D6E-67A57BF57EC0}.Debug|Any CPU.Build.0 = Debug|Any CPU + {1571483B-959B-4FCB-8D6E-67A57BF57EC0}.Release|Any CPU.ActiveCfg = Release|Any CPU + {1571483B-959B-4FCB-8D6E-67A57BF57EC0}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {55411F9B-BBD1-42F8-B915-D7FF01B95A1F} = {CDE3BA32-2B7E-4A11-B87E-B4F1760A859A} + {1571483B-959B-4FCB-8D6E-67A57BF57EC0} = {CDE3BA32-2B7E-4A11-B87E-B4F1760A859A} + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {CCBFA1D4-AD7C-4B85-A94E-E43515B6C070} + EndGlobalSection +EndGlobal diff --git a/backend/FateMaster.API/Models/DivinationRecord.cs b/backend/FateMaster.API/FateMaster.API/Models/DivinationRecord.cs similarity index 100% rename from backend/FateMaster.API/Models/DivinationRecord.cs rename to backend/FateMaster.API/FateMaster.API/Models/DivinationRecord.cs diff --git a/backend/FateMaster.API/Models/PriceConfig.cs b/backend/FateMaster.API/FateMaster.API/Models/PriceConfig.cs similarity index 100% rename from backend/FateMaster.API/Models/PriceConfig.cs rename to backend/FateMaster.API/FateMaster.API/Models/PriceConfig.cs diff --git a/backend/FateMaster.API/Models/SystemConfig.cs b/backend/FateMaster.API/FateMaster.API/Models/SystemConfig.cs similarity index 100% rename from backend/FateMaster.API/Models/SystemConfig.cs rename to backend/FateMaster.API/FateMaster.API/Models/SystemConfig.cs diff --git a/backend/FateMaster.API/Program.cs b/backend/FateMaster.API/FateMaster.API/Program.cs similarity index 100% rename from backend/FateMaster.API/Program.cs rename to backend/FateMaster.API/FateMaster.API/Program.cs diff --git a/backend/FateMaster.API/Properties/launchSettings.json b/backend/FateMaster.API/FateMaster.API/Properties/launchSettings.json similarity index 100% rename from backend/FateMaster.API/Properties/launchSettings.json rename to backend/FateMaster.API/FateMaster.API/Properties/launchSettings.json diff --git a/backend/FateMaster.API/FateMaster.API/README.md b/backend/FateMaster.API/FateMaster.API/README.md new file mode 100644 index 0000000..09240fa --- /dev/null +++ b/backend/FateMaster.API/FateMaster.API/README.md @@ -0,0 +1,254 @@ +# 命运大师 API - 重构后的架构 + +本项目采用 **Clean Architecture(整洁架构)** 模式重构,提供清晰的分层结构,易于维护和扩展。 + +## 项目结构 + +``` +FateMaster.API/ +├── FateMaster.Domain/ # 领域层(实体、枚举、领域接口) +│ ├── Entities/ # 实体类 +│ │ ├── DivinationRecord.cs +│ │ ├── PriceConfig.cs +│ │ └── SystemConfig.cs +│ ├── Enums/ # 枚举 +│ │ ├── DivinationType.cs +│ │ ├── PaymentStatus.cs +│ │ └── PaymentMethod.cs +│ ├── Common/ # 公共基类 +│ │ └── BaseEntity.cs +│ └── Interfaces/ # 领域接口 +│ ├── IRepository.cs +│ └── IUnitOfWork.cs +│ +├── FateMaster.Shared/ # 共享层(DTOs、常量、工具类) +│ ├── DTOs/ +│ │ ├── DivinationDTOs.cs # 卜卦相关DTOs +│ │ ├── PriceConfigDTOs.cs # 价格配置DTOs +│ │ ├── AdminDTOs.cs # 管理后台DTOs +│ │ └── ApiResponse.cs # 统一响应包装 +│ └── Constants/ +│ └── AppConstants.cs # 应用常量 +│ +├── FateMaster.Application/ # 应用服务层(业务逻辑) +│ ├── Interfaces/ +│ │ ├── IDivinationService.cs +│ │ ├── IPriceConfigService.cs +│ │ └── IAdminService.cs +│ ├── Services/ +│ │ ├── DivinationService.cs +│ │ ├── PriceConfigService.cs +│ │ └── AdminService.cs +│ └── DependencyInjection.cs # 服务注册 +│ +├── FateMaster.Infrastructure/ # 基础设施层(数据访问) +│ ├── Data/ +│ │ └── ApplicationDbContext.cs +│ ├── Repositories/ +│ │ ├── Repository.cs # 通用仓储实现 +│ │ └── UnitOfWork.cs # 工作单元实现 +│ └── DependencyInjection.cs # 基础设施服务注册 +│ +├── FateMaster.Web.API/ # 网站前端API +│ ├── Controllers/ +│ │ └── DivinationController.cs +│ ├── Program.cs +│ └── appsettings.json +│ +└── FateMaster.Admin.API/ # 管理后台API + ├── Controllers/ + │ ├── PricesController.cs + │ └── RecordsController.cs + ├── Program.cs + └── appsettings.json +``` + +## 架构层次 + +### 1. Domain(领域层) +- **职责**:定义核心实体、枚举和领域接口 +- **依赖**:无依赖(最内层) +- **特点**:独立于外部框架和技术 + +### 2. Shared(共享层) +- **职责**:提供跨层共享的DTOs、常量和工具类 +- **依赖**:无依赖 +- **特点**:可被所有层引用 + +### 3. Application(应用服务层) +- **职责**:实现业务逻辑和用例 +- **依赖**:Domain、Shared +- **特点**:定义服务接口和实现 + +### 4. Infrastructure(基础设施层) +- **职责**:实现数据访问和外部服务集成 +- **依赖**:Domain、Application、Shared +- **特点**:实现Repository模式和UnitOfWork模式 + +### 5. Web.API(网站前端API) +- **职责**:为网站前端提供HTTP API +- **端口**:默认 5000 (HTTP), 5001 (HTTPS) +- **依赖**:Application、Infrastructure、Shared +- **CORS**:允许 `http://localhost:3000`, `http://localhost:3001` + +### 6. Admin.API(管理后台API) +- **职责**:为管理后台提供HTTP API +- **端口**:默认 5002 (HTTP), 5003 (HTTPS) +- **依赖**:Application、Infrastructure、Shared +- **CORS**:允许 `http://localhost:3002`, `http://localhost:3003` + +## 运行项目 + +### 前置条件 +- .NET 8.0 SDK +- MySQL 8.0+ + +### 配置数据库 +修改 `appsettings.json` 中的连接字符串: +```json +{ + "ConnectionStrings": { + "DefaultConnection": "Server=localhost;Port=3306;Database=fatemaster;User=root;Password=your_password;" + } +} +``` + +### 运行迁移(首次运行) +```bash +# 在 FateMaster.API 目录下执行 +dotnet ef migrations add InitialCreate --project FateMaster.Infrastructure --startup-project FateMaster.Web.API +dotnet ef database update --project FateMaster.Infrastructure --startup-project FateMaster.Web.API +``` + +### 启动网站API +```bash +cd FateMaster.Web.API +dotnet run +# 访问 https://localhost:5001/swagger +``` + +### 启动管理后台API +```bash +cd FateMaster.Admin.API +dotnet run +# 访问 https://localhost:5003/swagger +``` + +## API 端点 + +### Web.API (网站前端) + +#### 获取价格配置 +```http +GET /api/divination/prices +``` + +#### 提交卜卦请求 +```http +POST /api/divination/submit +Content-Type: application/json + +{ + "type": "bazi", + "inputData": "{\"name\":\"张三\",\"birthDate\":\"1990-01-01\"}", + "paymentMethod": "alipay", + "amount": 99, + "language": "zh-CN" +} +``` + +#### 获取卜卦结果 +```http +GET /api/divination/{id} +``` + +### Admin.API (管理后台) + +#### 获取所有价格配置 +```http +GET /api/admin/prices +``` + +#### 更新价格配置 +```http +PUT /api/admin/prices/{id} +Content-Type: application/json + +{ + "serviceType": "bazi", + "price": 99.00, + "currency": "CNY", + "isEnabled": true +} +``` + +#### 获取卜卦记录列表(分页) +```http +GET /api/admin/records?page=1&pageSize=20&type=bazi&paymentStatus=paid +``` + +#### 获取统计数据 +```http +GET /api/admin/records/statistics +``` + +## 架构优势 + +### 1. 关注点分离 +- 每一层都有明确的职责 +- 业务逻辑与基础设施解耦 +- 易于理解和维护 + +### 2. 可测试性 +- 依赖注入使单元测试更容易 +- Repository模式便于Mock数据层 +- 服务层可独立测试 + +### 3. 可扩展性 +- 新增功能只需添加相应的服务 +- 更换数据库只需修改Infrastructure层 +- 支持多个API项目共享业务逻辑 + +### 4. 依赖规则 +- 内层不依赖外层 +- 依赖方向:API → Application → Domain +- Infrastructure实现Domain定义的接口 + +## 开发指南 + +### 添加新功能 +1. 在 `Domain/Entities` 中定义新实体 +2. 在 `Shared/DTOs` 中定义对应的DTOs +3. 在 `Application/Interfaces` 中定义服务接口 +4. 在 `Application/Services` 中实现服务 +5. 在 `Infrastructure` 中添加数据访问代码(如需要) +6. 在 API 项目中添加控制器 + +### 代码规范 +- 使用 `record` 定义 DTOs +- 使用 `async/await` 处理异步操作 +- 统一使用 `ApiResponse` 包装响应 +- 使用 `ILogger` 记录日志 +- 遵循 SOLID 原则 + +## 技术栈 + +- **.NET 8.0**:最新的.NET平台 +- **ASP.NET Core**:Web API框架 +- **Entity Framework Core 8.0**:ORM框架 +- **Pomelo.EntityFrameworkCore.MySql**:MySQL数据库提供程序 +- **Swagger/OpenAPI**:API文档 + +## 下一步建议 + +1. **添加认证授权**:为Admin.API添加JWT认证 +2. **添加缓存**:使用Redis缓存热点数据 +3. **添加日志系统**:集成Serilog或NLog +4. **添加单元测试**:为核心业务逻辑编写测试 +5. **添加API限流**:防止恶意请求 +6. **添加健康检查**:监控应用状态 +7. **添加Docker支持**:容器化部署 + +## 许可证 + +本项目遵循 MIT 许可证。 diff --git a/backend/FateMaster.API/appsettings.json b/backend/FateMaster.API/FateMaster.API/appsettings.json similarity index 100% rename from backend/FateMaster.API/appsettings.json rename to backend/FateMaster.API/FateMaster.API/appsettings.json diff --git a/frontend/fatemaster-web/.claude/settings.local.json b/frontend/fatemaster-web/.claude/settings.local.json new file mode 100644 index 0000000..871a3c0 --- /dev/null +++ b/frontend/fatemaster-web/.claude/settings.local.json @@ -0,0 +1,19 @@ +{ + "permissions": { + "allow": [ + "Read(//d/project/fatemaster/backend/FateMaster.API/FateMaster.API/**)", + "Read(//d/project/fatemaster/backend/**)", + "Bash(cat:*)", + "Bash(dotnet build)", + "Bash(dotnet tool list:*)", + "Bash(dotnet tool install:*)", + "Bash(dotnet ef migrations add:*)", + "Bash(dotnet build:*)", + "Bash(taskkill:*)", + "Bash(dotnet add package:*)", + "Bash(dotnet remove:*)" + ], + "deny": [], + "ask": [] + } +} \ No newline at end of file diff --git a/frontend/fatemaster-web/src/api/bazi.ts b/frontend/fatemaster-web/src/api/bazi.ts new file mode 100644 index 0000000..7665ae2 --- /dev/null +++ b/frontend/fatemaster-web/src/api/bazi.ts @@ -0,0 +1,112 @@ +import axios from 'axios' + +const API_BASE_URL = import.meta.env.VITE_API_BASE_URL || 'http://localhost:5238/api' + +const apiClient = axios.create({ + baseURL: API_BASE_URL, + headers: { + 'Content-Type': 'application/json', + }, +}) + +export interface BaziCalculateRequest { + name: string + gender: string + calendarType: string + birthDate?: string + lunarYear?: number + lunarMonth?: number + lunarDay?: number + knowTime: boolean + birthHour?: number + birthMinute?: number + birthPlace?: string + useTrueSolarTime: boolean + useEarlyChildTime: boolean + yearStem?: string + yearBranch?: string + monthStem?: string + monthBranch?: string + dayStem?: string + dayBranch?: string + hourStem?: string + hourBranch?: string + language?: string +} + +export interface BaziCalculateResponse { + recordId: number + basicInfo: { + name: string + gender: string + birthDateTime: string + lunarDateTime?: string + birthPlace?: string + } + chart: { + yearPillar: Pillar + monthPillar: Pillar + dayPillar: Pillar + hourPillar: Pillar + dayMaster: string + naYin?: string + } + fiveElements: { + elements: Record + strongestElement: string + weakestElement: string + missingElements: string[] + baziStrength: string + } + tenGods: { + gods: Record + mainGod: string + } + luckCycles: { + majorCycles: LuckCycle[] + currentCycle?: LuckCycle + startAge: number + } + aiAnalysis: { + character?: string + career?: string + wealth?: string + marriage?: string + health?: string + summary?: string + suggestions?: string + } +} + +interface Pillar { + stem: string + branch: string + hiddenStems: string + element: string +} + +interface LuckCycle { + stem: string + branch: string + startAge: number + endAge: number + element: string +} + +export const baziApi = { + /** + * 计算八字 + */ + async calculate(request: BaziCalculateRequest): Promise { + const response = await apiClient.post('/bazi/calculate', request) + return response.data.data + }, + + /** + * 获取八字结果 + */ + async getResult(recordId: number): Promise { + const response = await apiClient.get(`/bazi/result/${recordId}`) + return response.data.data + }, +} diff --git a/frontend/fatemaster-web/src/i18n/index.ts b/frontend/fatemaster-web/src/i18n/index.ts index 82099a0..ecc6a75 100644 --- a/frontend/fatemaster-web/src/i18n/index.ts +++ b/frontend/fatemaster-web/src/i18n/index.ts @@ -1080,9 +1080,32 @@ const messages = { }, } +// 从 URL 检测语言 +function detectLocaleFromPath(): string { + const path = window.location.pathname + const pathSegments = path.split('/').filter(Boolean) + const firstSegment = pathSegments[0] || '' + + // 路径前缀到语言代码的映射 + const pathToLocaleMap: Record = { + '': 'zh-CN', + 'en': 'en-US', + 'cn-tw': 'zh-TW', + 'jap': 'ja-JP', + } + + // 检查第一段是否是语言前缀 + if (['en', 'cn-tw', 'jap'].includes(firstSegment)) { + return pathToLocaleMap[firstSegment] + } + + // 否则返回默认语言或存储的语言 + return localStorage.getItem('locale') || 'zh-CN' +} + const i18n = createI18n({ legacy: false, - locale: localStorage.getItem('locale') || 'zh-CN', + locale: detectLocaleFromPath(), fallbackLocale: 'zh-CN', messages, }) diff --git a/frontend/fatemaster-web/src/layouts/MainLayout.vue b/frontend/fatemaster-web/src/layouts/MainLayout.vue index a5aba22..07a791c 100644 --- a/frontend/fatemaster-web/src/layouts/MainLayout.vue +++ b/frontend/fatemaster-web/src/layouts/MainLayout.vue @@ -3,8 +3,8 @@
-

Ap0WSIY_)7yd2FGZ?75an_5_ zsykw~wN%SM=v~(z+Yoy!!FlRMcvm6eCrk_F_8RlV?4LI=wG1Fnth!Ysj@ff$UX701vm2$R?`K$t~ zQMI^i19zj}YzFc6iA%h-9!fQf3vwY-cPr?zGP`Q>ODT%B&KxYERE)-MB}p3gF_d! zJZ;r7^UezuC#6|9@6?)Uo9Q=at6t?YX&2$aUF8~n*IYZ+S_b8(+(^&9g=ofn08<(sUkY# z(5VH5_P2`>ZmESTj-sI%-88o0k~H3O0_eab)hX$NGDNV|77C3=xq?j7&U4dcqv1SW zeZ%gXQ)o-9NCq{<+ukseN~DGmA(LD#*{fX9)x!4P{@rFZE5%I0M`B1@qJUaF^*xA| zOY$s_4B>L8w*@SlSQOzYJWAKdI zXPk_2awe0RKJPo?f>>{woh#KOSr&rv9|HI4a8~wh{D?y-armT`j_FOGtfd*fHZEe% z=;*9^#8qV#tAi{mM(n23>eGsgkSMSa%*;(IWQbw3sksfCLx7GCgDqDyPqzUE+hjMJ zcUx_{sj9m!LwBEvumVsYlK8svmKZM!PE0jE(MG~nIv+Y3mc?j&gI4>?8N#85L);*> z5RE(s4F&0pe5GqWd+61=Fo0yn9olDG)_w14l2`9@Nr@A> z?L6VOtS=Qa9>g#PnfC#2iFpu*6R2IMW-BaIzCF)_SPXB)iG`H5>+lV)ozvExX)Fx$ zlCFt%UV1)jJJZwFhu8}+x0{)szA%lQm$s(g*t7w2Ibst={EVDSaa@5Cr(WJ_;%ZQr0hx0ip6K=f6Kn~ow5YIG@ZCC z?Q?cIFXmi>WI~I82j7gQAoFZxsu)ei+Y9o?nKZp?Gq2(@Z+7|X(Mr%=y37(G#M&T> zT?`?z-L?>oUeI;RJCRMiF6|*}?m=ut5$o#Ai|sDA zR!{2aGtO`ApgTk)>L zFiT-vB4GI|*P1?*WLh=lH^luzf_CF|g2bCg&CEcpRv7Sj4Ru^W@L*j@mJdPdRV?Xo8pnBcdMrKda+jv&t~K0>qTcwwwarB!Io>SxQ;NLzxc(50Mh{cUO}fyPJU(T`3V!sE6{5MeKF2 zMbrp&1h++QQ0BKu(m81ptZ5W&bbJ6@YHE2)xuwv|Dm5ad*skRE+S+Y35v!i(Al|CqQosKLR;%Js^~7bg1r^khTjjO+#)5>cYUFq zwrTmx#8~dDGE6RGuSk`r-WbVM>P{NkLff+yK3!i{TroCYOxI%a};ADhUh*YH)^N4wtHwPHDdbt+x!{y`>^=daXc=mE3C<}D^gfaHeA>PVFAVtQK z#vDlUO=s8mvwREY+iq#>PZ?Jg$?%&KCM$WHtKTrXq>;YeYfI33`Rhh`!{l6l?KZ@1 z9X?l0di2V+yhhLot?@&~?6s>qlU0*0rd7R?IibtfG5C&crdoQKt1*5qcX}iJjyp2F z>48eSfGkx;0#v7&tAn809b)A@-i5=q0mRDx!1T6=frOX4W1*&H*||%@j3Qx5x3fvr zBS|i5O&|DO*7T@8?D^JVtuv1Y%1S#^fQhzwXGb@Oyh)WUMULvxciSc`{dlZ|Wb>m% z>#ic*dKqwLy+7J%qIj$gxG+~JpscDrgjCxybp0xE#YNa|EQ`ij(M@k$)p?l?-ZPCV zXYWbl$F^}?Hn?I`NmF9%7eT5xE+5XqEL+1^|hI%XgFq8$4;R2ikTJ1KWH^{nW&Nzg`?>lH4c3#1*ofSGphoF#14>1^MwEk#6S zTd0+kzAi0l)W|hb+#tcGf8em`V<%#8L~4xq1U~>X^iZD&cBUzZq$vySm>--p*^*x9 zbShklnNB+>V&~GaoX*@-IqTACH-)DilGw$j=)3*zFO+M-kNBSQRX&VC6vkoMAVUQ% zla~7^`*yKFgr>)5OfufP`AE--JfGSRpFm!=@SyKYKy9^p ziFMaFHe<|$0T)w2l8DaNNnil^hm=;pzt5V(U}y+!jpy{X%tfaY4VKpGq}ngXhMKQV z*i~iB1|K+Zru=@tZoIB5t^;=l?ZDoUZ9xjfiw;->a37_bW>&Go5#3*dTQo)85l#{2 zp_SierMZ_WUIHV$n~lQmbZL){gFeX24&Q}M!o06JboiRXnT_ux93R71u2yX|vg zQP-DqM|ryh=ELercQ)|c^<+1X9awOvEY6st9_ac|6EQ(bPSOoPj;eia!`m&uPjbD0)zQ9ilv~qE*58H9X@I0~d z7QTzqYkp|$JWj09%X3@}UF0P!v%o0b#j-Nm3vYeQR&gjJ5PBu*=&IbBzcPS%$6p14 zj$iZPPa*8yZN~!O)=RSbWVFE za|$2DO^K77eKv}lGSlAgLBBvJVskW(X5ry|ozn(UzE;UmZ95uQdCvw1IGK^f8z*=V z&xJl(_z&yAtN?Q;w1^Jjccyz-_dX=uv(R3zhqcoT`B+UuM{(@O$LhMzNLzqZZj!h7 zs&e>A>d1V*T+2d4&^Z{fFlyzIpDyFvDN+jN>5&mHvSmV7)(@$O=IMT7oU4myd=8h? z*ua7Uwe~D{?~Zk!S*4j&wj_2#L^ukF`>w>5Gtw44X$J(A&k*hwYu((eEaz25ENea6aT>U2zWPXMEL~(~_JpVQCs^-{4Nk4vMgF4Xb%Io&{>o ziuC(gk+zGd>IJ1>X=R#R_SUHpd*9iUpdhnVpZjx-sL414+YX^oXc3N=OLIU|Yyx5! zVfj^EV>3`Yfje|GY82|89Q%YIDux-J%9lo)%Kikh5LA%Wg1 zV-41uo4t;MqANZY3UF0c#+Y%d{pMQKkyt4%1`myN6>kG@4_WQ>(O{9M%)r$eE~SZ8 zhpWkhF{;C9WIctN+fT6*vot<~E_75Tr|g(uCo{tQioV=(Oo_OxvWQW!ShP?|qzELB zLgPc0Fl-ou8LGq6u&A(qOI9W88P_sFb{ng9K(=Ur3d)q(Rcw6+ia=^|H9s?haNnDg~ zHQJv;^4e)GQzi&ycppVD40f5-yN1xfb z?F`Z!aCgxh+!HcT4BfT7EiA;m2WgE2Wp&6~*;powG&KJkNfBu_dbat0sFhv`g_`RiZ|tyBQ0ZlSHy;;j zHsF*ozqULF{+46x&?=VbLmYF0ei4_Cx9RbT44N2Q(1!;zFurpPzo~^Nco(L`xnHyK z22%`-$}jNNNdy1xW7PzP+&Nw8`y&X7ybSXBusISE= zMCX4l@Ps1FTG~5i;&fqgu%|a&UbDZSxF*boDK@8=IA_8)F_i@ws$-nQcbUo+L1i}> zW@(%|^TC@<5-X!hDkTGhXa7q{v+;7_i1KXc0rt5nUH{BN`-BzE=xkzbnH7T?!tzeU= zCw25$H?gAXH(;1nRt$sf%SJlXTPQUu5^nieuI{47o)Lc43(a?{j>9%D@wqVTQRRFH zT8ojD^_A=h;D6{YeP4iq)|x>BE%+&YLFqK%(8o(SpLVU?fe>R%RxF>!i`nc~F{(%~ zwA;NGvJffNdr0XeyRy>i@u=v?Mh>p2_-#V-Mt2>f8cd68gF)O$ zMRC#ANNKLS>i;XH7v5k7IvBPwmU##|lt>*_YiGtd$uT@V&jn5qA&pXzA{L{WYf&u` zQ8yv(6}gC0njGY=rGp#kslB!}2{X6nKQpb4&ug(uBYoGeMYmi{RFjm2JqW^^iOXwU zM;$)d;rO>{HZvLN(MaL8^e@3JDJQrsK_6<+R7%%^b&*+{CgCV9TSD-#!ppjzPMK=D zJK~3ALV70)d+`WPN*zf?p`?s*3qMwh+YF@_nnaSf+Fcr-wRGv&d?DH;{9RWQf|6a; z?5N??A!jx9M`qcQW?9TV27g%RMgG@a&*@E_Lzc7JZ>gnQ8F+zllQNVo_Eyt9Yo;OX z(FhVKC-kx&d1{sQAxDu7^qmTO1YuCQhk1iEM|!hXKYaYb|IU!xPf7@ zxH~Q2blPwikH=Yb#*i2ZV=!%kkZiqsOlYa!G-9k?0K_3Tdei5Jba}X}l?b!Tx?_#Xe3J#X+eSq<=kwDCnV%w%p0%6+ zvG-sgkWPR5N8A8nx5As}9q}3&GGa@l!B6_T;8bz$gBOPoQ}S3h^Ste@5MkERpBRVG zg)zKjH)QBbm??3&wcp#kg;F}T2oJ+=vdcSF+bNdgi~se?5so^gtnW;I)qdv3Y1mjB z^bs0XeG*cwnkZdo?oW%8to2l0w~Ge72Wj6=%wD3E+f>+CX%UQh;sDs1;uXCsw+%t0 zSGjD3%wx$yw^@6JOedMb_(nN`B6~-i{Vto2rE$5(`#{59Uh%^$PrWN3TO&)LtU`Bm z=H;vrtp!m!#vk)Oya96u#yn-vGH7I8#xS{E*wAkH^HZO!UE&=#8aWh+d4oj@d%3lQ zYr@qda7o_N#7MwqF{Q~ccgWH}fP8RAS~n;zjsz^Bd#6A_{Lx1G3kqUv|1k`;y7=sE zd72yH>VdDMs5AU7f0;e+o9LAk*-zFm8x%*qSOM@65#?fgZTF56!^6ZPj}Kx^`Wn%aqOA7j>~NGE~Eu)1`Nr3kpuk`wZXce@2`bbaZ`J z+PpiRpG&+RvtMdQ`!HjBhekzocMn=8uPl=PC)+$MS+7C6^RBkmXMGAAjx8S((q)vR zZqzIKvbqn1a66?Jt_laem}|=P5nb`^mXUbmiC}4!2+Cuau3preF0Kl>_%!UHC^wo0 z3}^PBV?;71v~+pJNQ1P!7UCRHmziB?u*1gHh?MuWE}E1!=}G6!Oc(d1=OEIv?G1{k zV}R;Q(?%4O+enNne%44Vl$~0$eY(y*^b$pzY^ZC)lqb6BjGHT zBRz(S5I;a5nPzEyZFRuc}c>99^JLsz7zfQWiodr4?tJ9#^}l!}i)w%VwhIdMAG# zqLEJF4?{pFY`{Cy5ga07&6d?#Z!%cUR2oQ+554;Al~A^>i~4v64tq~%kk_!dSgH*K zMYP$2jbgOr2i5fPHr8^Tp9M9tsJomsbwg@zW4YX_MIc5sgrX5*%1yDI(^#$-`As)g z2-z^@u+~_=QZ&}z6FV0A@h7zSlhE!$AI)#|S(giS)tF7XmRmmT#Dq*`VLw^9sIT~h zNJaw1czXDc0kCX7w|6YW4A`5VHhi7c5p-Kzf}kv{+ItYjmRbdc?aC5pTR|uS^Nudn z(;yskJM=HHm{aLJYcYUa+p>(>MXn~^&l*&aDo0i#=(RH=_pVcx>HV_a!Bze96Mj|@ zUvxLal~@JxH~-w18?5cC_ISqx@iIdR%g1bxXZ%Ls?sg7#w_`(S7wipw6Rmx|#V@0A z-^%`mg&$euN}Bx%jQk?9tzAT0b0sa--+X}%(?!mR)K;*0FOx4Pvd&!P2e)9pG5=`{ zHKh(;G0t237>P+fkF{)LcgXUQ+*H_qwTMQ#o+3&M^18!J9px4Y`u zy2?o33Ww|_v7NW>2{02@G4R!7+vQVO?I|!C^cuAdtPG``0qDyJof*@VkHBdcgAZ)e zvsY(!7+YR3*u~%DXIpIXD!)EEGiGn|^V{6J@It?6*Vr}+@+xd72NkEh=;qk+K;!fU z974bv*W`jaDu3bfQ$Brmo}Al%WbDqaj|D);+Qcxs4m$!t?WmWx zxE_D+AIsV_VfmbLq&)Tu*d{=XEHBKcycEv$D;I>ceWFqK>z@>a7aj1odoc3cLNUnF zz9KvGbhfJ5sb|sKjz>CW)7_w#P6YqC7JKLJI2yj$d8MUO+$k6p&ajc*=e^0koX>GL z((1EDarZiACB8Z_g_DGSbcfeUOj(|oATz7o($#%_ETmB7d?lHAV%@ziXB!^OSCY^7 zZjlCyI;a;{k}-Z<9AdY&T=Ra!E6W*0yA70IGrNZ3Jf#*TkRHjfeE(*vlpvp`$3)ZP zQ5_zat_+$NL`1CKFGo%el zBXC$2ANXDB>-@t!Re&Yr!}rB(Q6bwdV~_rqrw9$7$taFdt{rh7w3x%YPxGi_=$|s7 z@3=nCPdCHV{gqtTJI$D)%5FPMM3mU{p)&l$G`tz^h&faYW>`gMFwEK)8Z3gsHZZyD zTHAh)Ne44Tnq;3ny@yqluvpT2#cMYqQW$J7ZD)wWsX{M><^X$jq=Ce0CNUZj zlsW6mZ9co^5SRB|{_1PoTBzXlz3BuOGTCcTb5g{Mh)0%&49{pyFTQqvOL3aw6~Ez{ zqRO^o>zlJE%UE@NHC@-x37#nh6J;@B7cZ!u`%Sr;Y;WWuWqdFR3T=xtTMlWg3VfGb z*&84hN+g%c%}yrBBKZ|j@l1+NusRGw8m;JF5oxC_oy7}Ip=N)?!ONv+qZUPz9UEf- zq$hRs+25P95sPc5<-V@Ue37jQKa0hbhz1FEX4jV+4i%&zlxyuMN5XKV-#y2#;^Jh@ zU%CQUu}h8?*lLFj3hI39S7A^ni##m3=RN|(ApuiOE(P0$jj%CE#>pzu>sWrnY8VxI zQDj;Fp)SR2@`0-{__}--Y>VYKKc#5PSkW3bV+Wi4H3AX^3EY;f6c?SPuZ%Y^8&XCs ziVIp%T?AOS+jruyfy|AF*U{>pZG%VXgo^cs%PjQzsrVQ@5-A#yr|HLM-_s9lRuH(O`u#0VimEn zT}wy0_ILNI5Y1SH%M}j;Ad5_;VSm_BR*{V)3PKA}iis$v$NVT1^P}{Z|K=E*{V0jE z5}UPlKQ6VpBPui@OPVMPF;@FuO2LMME9}k6%4GQwS+GV^qCc$<+4@<@)=y4JmQq;? z5(D{ZdxYkbvSv;U4G-@M1aH=|JQy?yA_|s1Fs*pgI5Aft91P4I<3%Cv0^1~Vt->~gJ+Vb?qsD)yd`&ct6)*hx# z7T1OHdW}Rj_Z>~ASt2Q@P2cmHQnE-90{jdRotqz}#G`2M5V2gY+^Viin}SI3W9+RL zlc-ZVR$Z;E2aQOU4A#Z(Hj_CXTSB2NcV9-twcHjgoV!)Sl`$3;?*7xVcyl9rk$GVc zMUx(eLko4U7m+X-zad2smfB@yIy|C17TJ?MMsU=CFW!lp#-_~kbFeKZ882< zMV>Ijqu|X1La-teYv9$ykuo>QdOVFYW4;#p`$qaiZ(8DO0`2ibRsP;C;-sZXAXecp zDwjXwe0E;C^7-d3H+$-fOppxB@J9?`zAZY}3+4nTh^y(^kGiPMx*jb7L)I9Y`UH^O zZF?&_6QAYQy|N>~5dsQ2l7c#P0J11T^2q`;YFT3Da@hT%J;vTvbq&4Nr4Dg9PS5SzIuw;s#cMO5xw2->x`P^_Zs17E7}qHQSh5 zL1O6mX)At20yWGEhg5{(s*Spt+2BXyf=De#w%poft8Nt$Q;$x>3oS<8_WU8tuzC04 zVY<|)>Dr`Tuw8Tq!;&xx;*Y#n2LPzD4BDC6IB!~;DhpHYyQx{N=<7z<@(Evw5;FW^^?n~{!QnvUyA2eSgUG#wnPE504WUX|@(v8TYM75g|o zG~Lv7v~6rC`*tDRs#4jXh+7Y0Z&k?HS z=cSYoSFx*BXFfhuvBqXa$jG+k2G-`bSX8!Tt7ch- z&@P`k@#R@=1j)sB7#=^YF6c3nVnP?r6MG|`EosU%nefLJy*pq|q-{Ij^&kzUBMJnf zEFC^&DxFZ%fS8Q5Dph%I4q* zHkZ7U>SsZQ8r+v>dfYUZx2c3nz| z<%cI2{C*WzC^9UJumM?20B$;nsRjAJq_3C}TOS7E-BF!HZlD zC5YJ^`u&#Z2^!a@{&=_-+#14=NxubghR4Y zO3_-~d!jaPF2kz8s|LpC!q%d_(`*;y)f_5z%0iMb4x*1 z9bN?_4-po7qcOI4aiYIx?7RvcBTIT0X)rHuko8_Q)S`uER0M5?l%i?7y2VnFm}|j& zU5Oc(xGjx=?z&#H#Zp+hBo3y!tXjy#4Pa=~Mnn?6d!9iaxLt}@7O|9ik+E$#NXF?? zbgd%%(gaM}S> z8vn<&+GPJNygC2b9!gvCpKFC_8~$&`|0fHd0dB(oI{z)tF2V_*#qY}hvHYLJf6L#^ ze@i!o|3>$@3hxbCy8ZcY`3~T}J%17ZEq#Ok#>=4!9|k^&|1amir8|!QmhKh&w{)}l zZ{?jNJO#Apr}E#*IbGpJ!o{GaKU3jl!n1_01?~B{{NI%S=kwp_t>nLze z(!HDiR*(1c-{kcng|7rH-$(gxbUvl!oLBH?r-^T>F(vfrTZiQjgR{j{s(B! z9}xZ%H2M$n-}3)k_=wOFTl^-VrQ1}vnQ(KEPufDbrEn|ZlZ0Cfw*igLwhHqaXQ#iT z!cSKCsluHV{|trepyi*S_-6^b6u+Co6G7wqIl?`KQ}lc<;d4Qg)ARIvf5pE*;R6+Z z5oqN$6`rc_K?+X;t-M1NK2+hCC_F>qmkMVp{wU$mia!>#a$ceMSAxdhtA(>cE2m%2 zPZG`*zD9U5Xmn0h_%z`>(DE--_;leS(8@VO&(Bi$9EDrL^FcmorNXZV%?{tJ@LNH% zw|9a@?{bh&dJkX5&-)a<0yI88ApEf6Kceu*K+FFr#b2fPs}=sN!e0Q5?iUsRCE=G9 z|5ecFTnk!xH-N_9w?RJXJHi`$;v~nH2fR_Gg3O`-Av+x;uURQV*g&CH4{#_N`T{sEkllD}23TS-n16p|; za`W<@FMOfm4-j(8)}J?p2Z4O-uPS-`p$fkkG`jo^F~^z0mkVDBnx8!ZwEE2fcL2`> z$Ahm2jh~Bz9JTgz|D*7mK%@Uwh2N&|JB3`L_2*XzKL}bs_DO|51M*3q6>?F=%lm@x z8qnI)*A@N-XnbC;@C~4q|1HJe2=Yna72d4)AAqLUJ3yoNE70nFFKG4q9cXm_2yO-b z3*?g?;%jSgED!DZ=6qTH@u0Pv9YHJqsi38Qy6_o_-vzXCCW2PZ?!spapCg?R=7`i zf^e2_HfZIasBpjVB;j0;PdY_7543Vl7cN!&GSK)rOZZwnKUd-9AfI%e!smllpNka# zM$q_plb*j>_!i+M!ncBa(mNEsRQOKN@?R#rT=DM_zE|;AfX4p^K|bjtd>P+Y3O_3R znDFBupY$n(uM&P*_!;5VAfNPkg})%YM)6-(_$#25{|$w&)$#|n=VzC!p)VJ~Rqy-ML%3;Tp82xkdrgT`+^X!+(U z{x!mr6@RM2rwQi?=j-`Gg-=&_vBFD)OND3X`7(vi624aWIz2x};d6z{g)QL<(D*%H z;g!M*gcpKVuZuxG=}n4%v+ym#ON4I)`J_t~ey8wVpwYQp;rA$fg~IO_t`dGg&p)j2 zM}$`jKdR@S0FD1oDgG*uPx`FFp98JjYZU(##eY@!HR0DmqjRmo*MXMrn~Gnp_-_fn zE&Pt~M&V7M(fJ-|`Ml@qbbHeue)o{0C_L>Aw~J4`}osRd|iiIvH#K9m1M$6X6))royqp z&4lBGn+vxPZYkVK_$1KEAFuGXpvhr-g?9j9DeWZOS@F*hK2z8!tb<1HSqgUvcNOji z8vWfBezx#A!b!qCgnNQk{$2_{SGc!uAK|{j=Lz={J|DFF2Pk}?@I|2UIaT2v;X#T& zSm8s2hYAl9zF7DY;SAy7!Xtz)1+Dy}6h2yb3}|vVR^j7>uMoac*eg6<_$uM6g?+*k zKr81&(CRf8H2Np&`6@$-?#PrJBt6V@D||@_54Sm(fbK# z`EFDE?ZP`iqkosezfkyB!v9nJJ;L8A{`bN^3ID3+_bL2$;Xf7sFX4lV|F`fF#Xl-s zqj;{MJ71fE=C8P}?YNnc`{o|rT)2gBOW{_+CkgozW1fB+A@`!4{`Ly<`eA>*qvCfG zK3(xUE8Gd1Ja4VrxS5O#y6hrL0g!#nRiygz95e1Y(V!UKc{ z3ST5_2%EyG!XD7*PE&Zg@L=H~!b63J3119az8MN1E<8f`QsI%H)#oUMj}{)I_~V4V zia%cXD&ebzeZmujvp}PJqQd>clZ11HuMwUsWarQMK210uG&-k)Cg-J~$@L83nZjkl zvp`FC4ruvWpvmDpg)aat|AoTW3ojC0EPMlK`Tj@YHwoV?d<$sw-zL0Nc$uERTjBSD zM&}BJKcMFyRQMwbUn%^k@MC)ZNrgY9@Mnad6JDd|UsU)j3Udw4>-jasUn{&p@!teZ zPTyAiO`!4lJw3l!$e(WTdj3%O6UE;u{3&SpZd3Sn;T^&|g+CYG1)ALMR`^%KUkiT& z8ohfI{;lv{;qO4>`%j>y`-|fLD!fnlH{tz4Zufb)|5W&2!UsX4^RUAI7XC;0U*RLd zM}=#IHb^sj>JZjI<8LfzbjK-vbA`7QK1uOggC>t{g*ynJB77QX^q(%=S@;a$GliX? zmA8w+6F{T8t8jPF_}W9^ZqU;2rSLv_{(R8N+h6zs;R`{d_afm`#rFsg0*&5ug%1WT z{b7oKiSTeeKSIx6rud^2f3)xz;md``3Xc=M0yO%^EBq>jPf&OkX#C7k{7H(RD}0UO zPgVFd;XL7d;R4}8;pw22yF}ropp|o`!pnqb316${XDfUTXnI(o@Oi@Xg)2d$|9XWl z5?(BP18Di*tngcemk8eqTK;z^e5vrA!gmQT6TVw`x$r&0_X^)9yh8YX(CB|q;SYgU z|BonqrSPM|j|o36`~+zEuTuEa!p|uFa|(YRG`iO){6*oHgkRS4uYyMJ8^Y`L{04?ei z^LrG&SNMC-%KfvR->3NdL2H+P7yd)|fbgHfe}Pv1Lkd3(8Xx~v_z{I|Q`zD-5sn3o z{$>hqA$*c>JZOCFpzu>bE9a@8<$Id&>B5~squ;4;UAPO#kTC70@I>M6prxOr@E*cF zg_A)mZwhGX_E!8p!hMC$6Yd9Ex)&(?Lg4|z13|0LRE2wl2MMPMrwb1j9wIyxH2N=5 zc!uzB;Ss`@3XcRW{ZR@Z4O)F(uJEzK^z0 zDT+T;c$#n?X!#c?yij<$aFK8^X!Onmjoxb&|2l=wRd~6uC0rpqPk6p?rSJmK%74AW z7YQ#GzCrj#(8_(Y!fz2?B77@obl$G;I~0DW!tVkt|K$q5N8u|Je!p;);y_;%qP!aIdO7v3fOh47ccyM@0J{#y7O;r|Km z5&l+qFKFfeLE%4w#{XYItM}g&f4}hW!hZ-K5dIUi^bachknmyQzdBl)_gjd^Kq4Kd10D!Y>QI23mXly6_vqYlYW= zM)#Wv|F3Yh;=iNtjl!FR-_`S5gg;dLkAy!K{zT7z1{$BY3-46?FBHC8_-oM4W&Bm) zzk$a8{ldQs{~>%p_)p=#Kr81Vg&!9FTlgR0e}#{LmVS-Gwz=s34K%roQFv3((ru>r zEfl|{a4X@Hgj)-@5snvb3mTp672ZL(qwvYXrwDfvK2`WM;nRgXgGTR}3U>pH%o$3SX`8XN8{wjoud&zDD>(;g^J87Jdb^^j}l>>%wmc zuN7Vg8o&Rm@M?u`RQM+0cZJ^*-YmRD_+@0hZKHT z_;2BVg#Q&j0vbI#=xltA0nHvZ1ucG@!kg>)lN8<>G&zn}cw5lY@1XFGdj1sQQ}ujj zJ%5JqnZi!c=Om7Neb@)8oyH%-b>H-QFvd_=fGky}K9C`Bnyc_U;bP%gpz(1IXmpngS1A4h zg@CQKS>m#7i`bc(w4e!q0)0{~FNfe@XFQ295sL6@M*g>26T?e?hCyYT>tp-xhvHc%$$p z;dh1K6W%Pm1+?;h1X?+_D*mUS@pYTRw+rtO-l^wz34f{hyA}R5Xmo!I@=1T=%lN)u z@&8o#U&05459#@T6@COXzU)w;>2)*E!drkwe{0bA9538XxC3bA?I?UQX!)M1@Y94( z2hARL(ep0F?<(9)I8o1^Bis|T^7qp7=PG_*#qY297l6j!0earh^Mmw!n!<;I)*g;j z_-H*pM)-2!vBKkouMoZxG=5&Ka35&(ovrX3(D>+A_$1+6(DI!MTKf6I(}hcfXM&dQ zbqb#g8od^1dU?IV7b|=TXzl${(CA(Unw+lyO)u{kt^#d*dX>VT7Jde_^w)q4CDXMa zrjTv|jo!_m(YXaQK7OF^4?*MeR?yPjCcIP6e=fXB_zOM%mBPOU?cDDD3jZB6{?;gL z0i(MKXyuO)ZYmrL8b9MeOSh%sw^Dc;(D>UPgk-M)#%Qj^K&lcHkMH(LED%J%UF6T+sA%K4|$b04?2x!qy9a3fBm096Gl0Hvx^G%|J`Hh2pnVcx#2XQFuFrw+F5K9TmTm;-4yf znx5~h@H0TG-?J3%0@NvRd z2wy4e1&!{j74B1bwyY5D|4)O)=VulFIpODpUl3j+{G#wnpym6j!e0}9UHA>*wV?5HJ!t9wSMjSA z|82$JB)nPAZxMc9@jnvYD!fh4Zx`O7_`4MTh47c4mH#V+e+^nc@MnepBK)iHKH=X$ zyLY!nVGEc)=m4!AV?dMVIEA-VcpK2tjTdgK_#Hvx<0*>YN%&O7KOHo>&s2P;;&)Me zm*RI7?k1cF8r^4u#?PLLpDgUw^SwZ$zYl2Xp0D^9DEuPO_-+WB!l}X@(DEG&8lA&H zv!5eCM3jyPE&r=Pb-8Z&CRB zpw;__3jav>W8qJPw}QssZJ_D>F3|ktZxsF=X!7~J@DIX23jZYhGiY?~Q}}Pf`xXBH zX#D(3@ec|gQvAO`%m0Yt9~G`qe2qbb@ih)KyV*)O9yGpp1TFtgpq2A9J%6Ucb8#KBnDt@lwPgQt6X!I8-elck2 zmn!}Y(CD9~@N0#y6P~T-%Rwvue9-b=pywAVd=Y4Jc{6DA-m2$s1I>TD4`hgzJ^|YJ z^g7VeeG@c#s}=r^@VmlW^!x|HAAwe%9}9mXyj9PC1{&Qv6n`gZv{deG9nQTP_& z+d(Vm9l}e6?-afZv~u39@a3TK`#y!Q5WXKY`X5sG!=R=6sPGet|D^C!!mEUz1}**n zqv4`3TH4|ci!QcBOI=c>@I|U=nlx$Bw7Bcy?y$JK>jH~Y++}gs;_g~l+~s@D zos;F)=gj+FzjNo#ojdc--k^P>yh+|HZ;`jk+vM%?4tb}%OWrN-k@w2`LfUt~d{F;G z^5KwrJ*NG*d_q1cpOR0@XXLXX>0i*EEnn3CihMn!9&gIGL(a=P+V6$r^P&Ea>%U(}xlZ3 z$tL|%WV39MQ$zA=3rW|Z-D&s?IaB`z+8c(%-$egra*L4qZWB_UZRK_$@&6gpu3h!- zCU*}>w|7Xq{q*lI50D2Meuz9w|Kaiod89llB;Vt-kC!LtKSldgd0NPQ=^Vo^(0^e_ zKV2MBzf1LBCjTQZmsiLu3b6d^jY(#|?i% z|I^yf$YlmsiLuL+W#NNWAOx z&yv@N^v})Ow}iyIJtW%TW7-2?g`ln?2DEaZOmY)F1D7(QG7>)LO~H|1L) z<-Vi+Zb96O*JaTt?H>5v44Kww2`&Iw^c{rn-g+k&l98%B4L-JozE+v-< zS;zDWIS*@voVNk`M}_1!CM3UgwQIHOLh>IMGS9Z@pC;R7M@T+1v}cCYX9MjGj4_Hl)1qA^q4GQjaMie5O$tyz2yHZ{iQorl8 zXUXg34f4j2c(-cbCU2K_gtYr^?R(_C@;>?Bka!QuNAy1`9}6kxDeb4_GxAyaTu6Vu zpgmi@sQ+c{SF~RXDfdn7w+(+szN`Oz?GNOK@}rRSpN5qCx&ANY9QkEP{l5u`_nrRl zL$0UaLh|`DWPC4{m!kNW2{|vzhNN3w`|olExuRT2t}IuP|B$^x@>xxLb-6}J`MtH* zmVIPj*-!SD147ab)*d2QB%Ab42`Q&V zf1B)(Gvo##@iq#%KDP~7zw8>)&%4RpDnAR!XO8xlA@}{?_5UTiFI&Z%JET7IhU7n=oZs+;}-S^X=>RSaL%@YO=fSwpU+zqedle_!o>+5@x)hLk&0jtFVz=#cBOE~NhT zvO$iO<3i$349TZS{}kD5c&p(Z+A|EFDc9G(QAm3>(cWBpOYLn!>a(r(4ss{`JIh_< zu5!1KdhQug&wcgpr~g3hgXF>T5W^1(Nq3a?vGN3Yvf-zP)c;KV=Y-VvT>a;3Um!1( z7s-o5(qE!|X-K^<*MDV5J+9TB6_Wq;A>;iX?R!JwJrI`lPRMokqTw%vu7~U?=a%z?)N}rj zau*J1&ypeeEG3r-S!b;f5`SgcD4wV@`bW!k zWo=0Mu_5uth2%Ryd!lw@NWN3#R5?vf4@uuCXN2UlzT8m%Mj`oZs=ZlA`CDmkZTNQD z+shsF@1(u6_HH5PW51B{4lw*c?Sn(g`&URgM;d;V{$sU|lgG;wLh?H)B>k!K48zaV zK1ci9kof0oUl3B>zqK!smxknbx%L$y>8{egTKn3N@p6;?o8>L?R(YGeUEUFr-(A{w zhm?1p_J8I5@&Wl^NVixL>C*+gzsgQcTpglVz-Af_qUNiiika7K?;U9;Lk55AC z^La@8ujIG-e~>?i(wB(l4OBu=b*I@sRjS$R*|9 z2x)(xkaGHlr0;L|AnhTtM*oPA_#@>g{bRJ(mFvm> zGrT?||FPN=44)_`>2K1WBAfNMYPW^t)2_cWr_{MS*!#9^(g`CgrwEro04r$LW za##I(gp{+F_P&PiC-;{J$OA+A`H+xw|I&Y${v+iv`i~8Xcf9rq+9zqBEKkvYnmj}Q znc8Q|bLIJlU!Z-F_QfIfyHxwKkp8$*`zr10v}eidL(<)(eRD{?Z`FT?_FWV zHwnpaQ@L44y|&ceN^Y%xJNZw!v*EjhtcUm3zn?tN@Pk6iJw*FZ!w(Os@6p=Fh1_RP z3#r%XA?eQ4K1-f0&ynYb#5-U60(qglNM0=eEiVaa?| zuU5)iSUdk$qoth1L+ZD3m@Tw!LqqZz5t44STsNd%>lt3Jf1I3X_$1jFW=Yy@bL}lc z+Pkgxc5?fW`u|gV$B^=O)!r?n9(!u<6%v0R?R^bDK>tD7hZ_Db?IX003`u{q_A&C< zkaA9tC(G01nerTYen@{@ATJELo-Q-|ijekR8&cjZ{Wr>6LgL?L_&p){-7D{t|CRTL z)bAnrXh^<~8~%j;r}aOp{X$sAS4jS^$XDfSA@z7i``wUoK9C>l|3v$9?JwjU`KA0S zq`Ysnzmwm~ALNfA_5WG>7x`;Q`G08tsXbTzk2|P;_mJ?p<$U_**Ir0_VeQ32%2`7H zlJakIDY`e8$0QTV-2F{0{BuvQy3oNxz}?Mj`Px)!s~Q9#X$8wYQR6hs57b zdwcC2wRe&`%U$HIA?fxADSsdR`^x>~{_=p3_y=nrqJ5b5;qnN1q&zC5-p6Pk8VKj3MIrfLqJ63M<=R)sEA?L^XUQ84zbT~Nw`kuQ zQqGgOTHbF z?p^Kocm03K?kiRP z9mQ&! zSbK=}Fzw+X?HsMWjvOP`4Qbc^h19=Ze}n#U`X}n2Bpc;q*(9gP=8*haWxMQ@>xa~9 zW9`l4mU0`peMtZ8puLmaRsU{sce#h*du#6__m%q@exUY2@?d$0;fHA-E{~8$8h(uS zvGTZ(_MBw+srpX~>EAQ-pRIka;pc^Mx_Sf3qXn(K$gZxqcB!3Rc|5y3D{y*fO`n#=M z_5WNU@q1|J|GvD`YhLa7R(&-3mIR7w1>*!`bUT4KSsMYWIZ}gdy?UkL+aZcQeOVQlMAOB-e!15NO?0u^4VDb zW^&7rb<6JBdxhk;x7wixBg^>Q3 zEnk!`g`|H~`!)G`NO^A?{+|B#L-PMn`y=_W{6u~#Ka-z_l=G$hT7GBv_wt93cKjA{ zp1ZA5U7z!X*b9fWW08=0EGCzbe+vm;N-nK`S?%TI^78M7uP9g6ze-5^SJPfyt|8Y9 zY0ugr=WS3(xr0OeHQK}E@R0mQhqSLYBwm9YACi7TNV_J5#Gj(w5)wW&B;B--cpV}B z>9R8|$z zGVdOteY89-Ho_@`t|CN@N49?A@!IQ(w{elgx?(Ezcr*j zcZB%wly}Ly<$kaIQ%L=P(f&Q89e;$xo9iEy-94lpbBFB5EfdntRSjP) zOwE+pR*wNKJMRi2^$OnFvFKIh2uLfUsx zNIsW@bA^|N^yjVm?~r$gTn`UvKN`*z`!V@=NPbUiKO>(F$^QlUl6+OZA>R(E-@EdC z{U6Cs!?_avnf4s*FXdPAfAVYjO-T9QYyY7Ab4Yo=>i)$0L|2?$#lzYj&L(=Uh50r<B__tUST+6Xi)^_ryO%`&8}I zL+WvM$a?Ei!!HXd{|fCZL%uUvJ)}Lo!yaMZka0gGB>qrY zBZr0E;~ybMg`{6Mq@0GZM>t-8V@N)e^*3v`gp@N~yHn1PGs7MU-%xua?M*}OKU?YF zI;1|^YHugE4;e3eYVQ>;75libM|fgL_&Fi{aCu0+*MvR7St0q}5K_S zfBL_c--JEl|6cnC`C~}BpS6FHzsldj9trySz)@YxsTI4`@FqAJYG*_G9vK`9#Qgdp4xp7xd4TFUprf`t_BNc(3b! zL%u2B3VSB}y^wex>i=kg0VM}8^43Muz%?Qi6_^1G07ew4rH|26Cx|DW1_ z$!@Dx^Xohz=XKtYcnfMT6wV!caqT5S%Kux)yu5r!c`F*elJ-AB@>xA({0uaFkQ^+B zgrpy)Jv=1;k^0w>>&d#1de+N^ka8v%-WakT-q7%k^lvJ+2w4~J5Rz`^koJ1Pgj~n>YTs}810naLXG8AOuZ86QR!Dz*6mnmf6LMa^4XMZXA?NR} zkn+2)QMIdw>>17-|NJ5OEgX_=QNtGtsn2pD@mA8ma!7u?i<}`p4h*TsF(LUJ z7t*h1hr~NSq@DjZ{L+x`5pL9fTS)!y45{Z`^6rrQp9zWoW=Onu41YJIy!W*~kROJ` z`$YRw`I-D&ej(?Coc|v~(*2_USM5JS%K0m#Jw4W}>e*Ay9g=Q7?fFCEEi4x|{BI%o zEUmqqTtTiJ(*9LK(yykydPur8wbzop<=V1ONIm*%56~X0Jwy%-$#0k(p?{w z?RDjPA?a!jZwTj&-565u$+AgKk!Po17L>-gG%rZfN*Ma$~uP;hSr35z=4V zgyg@S;s2C7htzKu?cGD-?HSG+9-#l=ka&k^AEte{_E90}jtS=pPcr;ud5SzWq&;V7 zpQ(M0_POD_3IDhDB_a7;8ItZA{nyIt!g=GrMc%Fdo{;$e)xJNZeh+FtBp(im_n3TA z|5G9T_MHCN`dR(9zqS}ke#pM#=yotY@_VOY1Ss|pqd+A>_B>y$E*9?i* zJ7iv~F?@s^9n#))wAYh$A?X^l$A`>Y?IH0y^v?*X*CzTm4Qbbw+FOOxXWNi^?j-jJ ziMLNke*4P(LgF7N57B?9_Tkz`$Rp)Z@@RRCJT|196XmJl(y^~J{Hl<8U9WwEyiwj1 zlKwXB+vOc0{c~4HeeczOpZ@#xKcxLgNIyLt(%xs}vmxnU(4HNV?@QV*%U9&9A@Sb` ziT9R#NB{dF`G27QBkhmnC;C6r{#?O~Jg%bM%kWjTSJz%c zt|`|td~NMMA^p-{4$?n3q@1DJHFB67Zum$!T8=S%UAbOJ{&m{*vO$hDe1i5wIZ1z$ zY>{mt^=c34_YOH-c7~LZSU3)L>z2!do_t!o^ z`(W)uv=0lZ{}K9+)PIaTUY=z5$?_C=syt1e9@5^kw9l63$a4+9Kwc~_HT*K|E3~f+ zso&Mw*BCxa`+9kUywUJm=L)!P4_TwSr{^^kX zo(-ArUNZb;`ASH-*F)mH8S-54iQ%7y?jRyhRLO)bJ(bQX%n{lPl_9B_v%hxtd(V@ZQ>eLdx%}e}EjUe@I9^HFCHd zY4|8PI;7s~hSaAnq#wo`KEd$Dko)ZPka+8d#M>lXEZjMyyj?@`+e3S=kb3Sd_mTU` z{lfVZewg;*A?c6OK3e;@ko-@OC&^Pn@;_Cc7Lwoj;R501A^BYua-X_E-X7A9yF>2( zPlUAR*^vC63rROyzO4Th`KtamwBOWzCnVnw^na-RsrF|f<^81nv;0N=8dB~b+J9=# z)u+mL?vVP;6EZ#*3KtBQ2`TsQA?a5N>919^R}E?3S|RCs8{Wt8{`v>Vf%=EYVREEg zCnW!MwQFUA94{w@l-DRH>u;8=`rE<<5^uwhd^gs=iQF`#U0cYlL)yE&_KqRxb`B|T zmyq`EsekW~^!tVEiyRXY@7R!dCxwjf^Fp3yuQPmBNI5rY-z;yDx60e(?IHEJQ~NG? zcS!m7Y5!N=FCUN(hScY=koZsPe@Z^B|2a8ZzARspZ-%t*t&sY^7t*fp4F54?{QMpg z?~jmpbM>w4?jh~yDd!2xcr$!q?IjIgO8?R!^VDD*FE+d&yPhY9a0Kt-W^0 zxELBzpJ5^SkJMkUe{4uQ#>w#^^=&e|Ii!7UA?Z8xcZQ^!p?`yrc$?_oG^E_k4c|&` ztABg#9px@^_mF({*4{6qoc*;A3d#2n{fBBFX84iv7c39TlGhu4Q%L;VLe9tC`tQ^KU`Tx)(tgbFCqv>tXZZ8-1vxvU z{Fk*~k*~_v41Y7E{CD-gC*PMJ$PYvE`$YRw`I-JX@_+JM`9nzkf0RGTpAG*_`*-<= z{%-xMbaTn>vWM&$QlELX=acix1q@#}q*{LGN+ z{uX+#+w4x5?W>^0`a;`O#hSGPsyi4(m!kX3)(Mg zzY>!ERry*-eZSD26H>4Lh4Y0!h4jyFhW{@A&_7rIs=OW{>E;O+3YXAcN-i5xujSX5n<*gf1zdG%)hK~!0KOy8iH-*cGTZfG69YfOX z8q&^vL*nl*4-Bc#LE4ANf9XFg{KSxaPYp?bn)X@RXUlWsx$?Y_@-GO< z?_znWygVeoE98|S@vqjtCM4agkn88(ka|2|_=EBx{f~vje=?*U&xiEGYa!*lF5i%E zhQxm-B;OD8e<(i+Iq%oC=W!X!v9#W4rL;7Vc*;{{~ko5gS))gbPN6U3X z>QNVxPeVvPW3|VJWnH1&Yj>3eSgUH{YbcI_)->lnVCtdnCy+A}F6-^P&kH0f{E zo+dj&;!W3{5z?Lw!ZIEV-!!EBt+lraiMM^oxZNXUUfe%iHayMnGvzrU{rzw4%R+SFoF%W9H^>`9>UoRyts(t!dr154)_;$@SN{Xr4~C?FL_Qvp z{z=213hD3X4S!MlHTiZ(JKr({7U{$el5R|--eurU$lP> z7mhvepsF1Ugsd}`(q1;?ysQ$^j@3izyM|mdq`kdE`k}A>e%b>=`f+H;_!t!uf1Qwg z#>jQ$dLiXc3MsESB;QuU+vGIaZg^)%{u}AvSpR0)o69ZqZ>_zJ+%}|M+iUL-QtnRL zJ8SQzy}R5)|K8gB$bI!6AP)|iAC5Ns7= zejAei_lEx}O^;_xd~YY#Dem>j8pl=hgA>vDp2qv4Zfll~Ujrhl4j*WVe^ z?;GgfP;L}bpG`vAx4Hf;LgH@|av#}M|88=3xkpI4y+iWZSNj0N50nQPeu(y=@?Rn4 z92qi?9IyX`kbF^1oBw zt^b~o@%&K8`sz9T&xhpuqV`MLuZEnj5A=T+QolKd|4)8v_;>RAkn(@j{z?9<|5xqb z0dlac2`P7&_DJnfa&$<2$7rt`GOp^h>t#boIpeh_ z$cg$VhvYLwf3yBp?Y5BdFjN1AaudTh)!rf`pRM$7t$#c1?d1;ochcTDB;Bt1_t4(U z@V&M7)!t9;FAp&MAnk+YA@b0WemO$>NO@G4KiS>wypaC6FeKh3A@#W|r2qe8_?7yv z*1j$z{*Ch1kodRB+e6kB_h{cM?+YpK0qqC1AJKkP`w989{%1nUdqI14NIhQ)$?sMD zujzk7|J(ZCk?+d)C-{lH&MY&Q)xvOaZL-q>kkJUrU z>8*cl*(W4jKRH1EKshKR{ZQ>1IV>cjtkM{oB z2WTIxeMm_9!{yQXj|sVdoDwqcoE=jBdGf-LbeDv*=Tdo@{Exgmq+VCbtMy+KlHV-t z>*Wn0_p!STzb_>H{n`(Ol=rayNA*9U|4IE%Yd>T7^ZIAYm-N3X-w4U~P5D+xx$kJd z8&cm7LgtfCL)t&b@Gs?8@_!-mzt#Ruejk$WkMd{zzsO(ZZ}Rt$eEyQ%YpQzokUizx za-NX<=hL1)B>h7A7tvna@FldD3KvPdRrRkXSC?zZHAC9nC#0Ny`um5JGbp5ghUp)! zf0XuUxlTy>b+y;iuGOxS^&$C=(;hD;$cctemd&!&@HRP3w#$x?d}qiF_?A~)5) zMM!*J{_vdf6byhNPdMJyA}QjUoNg6cVpR|5WX1+U>GKPM4h_>DJfYKyDb4 z@5UkZ++2H0?QKKS?I3pwIZr!l?-r7N5AD6R_tic?9<2XR?Zf3!^4O4kkJCO;`y_d? zJSC*O)3i^QXUH={>U)m%xgqVkQ2QdoFOmPze|bo}t3&d?R{wQ!mi`;GZe}BE$0iV-vS}!EErPHMGap<|C0Kb(Oy&z`bTMx4yosQ+W%*Gy>^2fE62(4azaQs zjUnxC(r%G$A^W5og!IdX`Zv+uRC^1#wcJkrGbG)P+Pj3*cMtu0YVWJPUr2op3>OWL z*MEZkleJILK3$$A&o%r!d49-zc&YYfA^BgSeWms_a#lz`+z?XFTSDr8tKoNO-)Z>0 z`tO$y8UAp{e$$iMPsyi4%70GImM$?hYneCH17xA{Z*Z2`HUTu3e)(mzXvv}Y;( zOUq^SFQ>hHNWLp+uPj#yY0s+Kt7)$(*AB_Qui^dl57Zu{Jyg3!dxZALkaEY!TK#n) z^`D?UQBIPLa&k!hnnUU_RePFtM@T#Kf=d zHo0g^(Y9z^d}w>LzJ%6yYc9uxHgp?Xl(b{J;Tc!rk1M&2>((02_-^Djq4+0sn^um= zZDOh6#NwG$LK{oYlS|sk<+v#i3%$BEmC&Z*Z_+;_{wc*jrPQIhl+sc>Ev238rL>~8#BVLfZ6$tN@wBCmz0wBS(pJ*8l~irrrWX$-PAl=JrIj4hx@q0;ca$8a zm(ZCdpP40}jnijqCA@#pK}8#ijw{+!w5^=EzTNudzp42*Ai4JGHn3Y~bWqAdCr1aT zzfs~0OY8e|8_{i2bY%YPld{JYt&P^D^gbzje9@+8L&>KhE#tT&I<|Pmmg8}y#PKPo zPtuUjgi_*!ZZmT{F?B(y$;6zEJ_#fL$))tk>7PFFQdUz5Z7OwZD*h?y$v*kl8f{6f z(c#glDIcZ&Q%jtwrL5MJ+$XWgb6U3{MM*`Uqm64Vye|qVq z>50`RXNXqM$bWrO27NWNTVqk`HZ%R)H}$TKavu98?ZkX+TKzX5_34-L@C+))gOgjo z)U2`S5ukB$q`anbSRctQ!~ zs_B=qDScvzIVpANmtJd*Hm2_Vauz6Sa@vbdFG^WcVxiQwIp@4zVo+yBJ~|`HIPaHU z?I?<;J$39Cdqh!cKE0GUz0_)Y$zghO?U(ite@5}oEH$SmnSD0Mzky}c4=nb;hv>wjlZz5M zHa&*YKjTXdoaO!*D}-`Qp~RV}hukLR{PfRRBu-O_-&8zJIX`%2M4A22_9$~;|NNtL z=0LPH+FEMMyvH%QF$Vf4FFee9D6MPLKRw6HbtrMBl{n0G{S$+FwkK}?a=rA=2qDh& zlJf?o4>vC5Zk#w=sr5x0ijIqNWeq4qYs)dAoKdtj%K1QRiq4D-PA+YqT+(vA56DR1dgA_w5}&a#An~Y4b4DCWD5C-;4r2qQCLE#oTlG*k?tLh^ zaZf^Piqb!f3Y65-N`0nfgb&COWwn=9ca*wylyaw+W9H`p$(Q`6m-x&i1M;sfID90mQD!HU5(j5A4a`xmqQqo&LMwl5Ii6N@W^`!!4ILL{z8aX=q#Bm9jE;^D zFP`BgpW(6a)D<0DbZV4&45hBjU}$wr>9wW3b)~Gjl9rJ?Fh}H2morH_2Nb3B`qH}k zl1F`sUteOfav+pDKliMG8S}*Fo`ur7h7zA^fn(~{kh3{3=?NX1bZA3SN@u+>u>3>m zRjwD5HgfMn>3^;rv^~md1f5=VMwENvz|@RX6H7fOmR3(JHJMa$Xe^DRD|k%PM7H{!!27(o4-5i31axvRaCV)yBZo3{PtrQEeq>=FEZl$4F~0 z`Lvf(m=9UQQF>?Tht86JXQ^{%u9$%t^YrJ85;~*!XOwbhmfoIOS~0WKd}isBnF-}S z+PCPaDB~C%RJ6J))|BHZQD!f+q3GD6#ne)h)>2|?W^eAqoPB1EK{-RzYFcS2YlA^413x99EzyqBlO5$;Pfz)S$~-?P z^3H9D^7 zgrXCR(xa@J(aA+Aoz*cqwP{@fXh^OYJft0xk%m$VYb2DM zhn9XDTIw*g)SopoYb;7FtJ$*ukki<#H!N>B+I>{Ep4|9h@{ni!wIGm9*o^7#NrFJ2=-PIZP<=x&IB$ zd1B8(qO)c?T%XQClE^{Jr+DhxV zn{Z59rj>efH4RRk$e%SfN=>Ghd^$@#XOuYHs|LrWUFeUB%{@{6n9S6dT4u;l?%!l=Khb4Ejq4fYqaaW!HDb{iPc!E#zl4h zt20avoD<5V4p?aQ-|&!o07|(v=}A^ygbvHNLdlbRDvF!hNT*eY1+v1KFZl-UPj4{ zXG4@cTT0ERmKIg(RMz&~iK#g|E$Gx}duc^SDZQiAlhHUNN5q+4dapD24av+%ix`I} zeZ{C_f241e{UPQf*1?P}lyk{*JX%wf`#ev0U1yp*ImgwVd2EiEfvS;CIkh>aFUfFfmm~swkExfc19U3C^1<}pyWKP#2KEWp=m#!;l;y!kzEGr#$1Q;d^WNiGmmjx zSCrK>qX;E`MiI&m4XX~6`ZH!&HHd*oV1Wvzoc-)p_?iMKZ?<_emLO3RrXFZhTnWe0mC6pZ`JTueZ zj2U!Plre*H7TN9Kj)jMND_TAA)R*IlMO%utN4XQABa1c^ogC#(R^2nJJ04nHsjNPk zKdLzcC4a6nbb7QJ5tPjRlK9*sQD&uKIm0Nq4NDK#Brihg@tU-j(KI4`#popGk?C6$ z54*T%ZPD>jR*mSeqNHU{9&L*9G>6hUp50JV@$809D%x7KEz0OZ=^17!l-hEaM5zN~ z45e<)Wk;f>j8c?d znqKO_os?r*SM48lmezHacFia?VMn4SBXUx5Wd>tEk^3GiCzQE^-6NE<#7vD=&++v+ zX6{1A79AI5^@oy{l@8hw<*tWTcQx|l9)eOja}vr*iqVP^IxM}7a?BV*8F}mypfjVa z$53L9Ok3G;pjJE|q17>^FjJxAR+oNYG*cF1jJcAWc@9Ep3+pbFQdoDP)RPg#H9(1s zB9wB+7te$e%KqoDoEt(XWgMZ@VN!Y?Z7WJ0CYAiT4-U&2ni}PeNOg6gXlaeMmH6yp4a=BmkMdpwr8l`Bqhq2xr=#PG5tQ5M=CFh;v+M;zurx%?W zWlpNjH#(&pw?}CMO8n}a3@FNG>mT~APf_CYgo`#sJIk5vEcvj{gNOL+Y!1(8;k>gVLaG1Eq+>6yZ_!avW)+mx z96Qr!bF{jKSz~j|dV#$$lv$SDEY>K5GQ*(lQJxb~?o?gRQq?+p6qdG_M&fl?OZ3Y`{ZCPS;|z^Y|!@z6tEPlLqenEXeSIy2%~e^VA^pybS*03{~( zHI!B`^PuEkpFT&4!z_f-4~$H5Cw@al4J&(E!E+yqpZA-r^(me5P};=`oOgBjCS(+$ zGorj-tlp}kw3pdtM9wt%^ZupUZ$ha#&wVK8g10c-*YPx$w9O^YmeLB|+KxzGgibBv zg7+FeT-Gyg-{_*Y)om`ZDsMhpcu^f|IU5UxNKho0=tk}tgckryHx^iR%#jHxt zjLXQO4DuOYj#;tu=BX{p{5CRUjMg=l-sY|D$kc;4ywyeVuu?&(Co>+3e@clnC1ZdU zB>lrm3FTR^YV*|6uBq|ip+6aWDB*1-x3-LpkvXDutn;~63GGO|M#gTBc9uG@M&h_V zqlWiJqw-%{`8OlFL0Zh(qBhF@IocfMjo~_pU0bvzS{vUw>4BywyCq}FXhi#$v&n@#o?0oDwIDTTR~)5=y!}CGW4-ZdSAE7FHJ~S16IQE-s!k{+@~nZl<~P5cn3y&zFq11s);w^ z9MeYL8KK0SSo(n-nc9>`o|8(RtWj#ya_U@t5yjhdj;X`sGScWxj%f?45tJTdO@b26 ziWH@dlQUXTTEsp+O0V-~AEhn4pQ2h#v$h^C1;+VI3{P-Iw&!l z%eihYu`__uldUDs z)>2|?$&=MJep=0UCbj7WYSmU!@x1}ZjHtE}pLICL#OGZz%DLn2i_*{2N`0o49^-C^ zhdN9vHDnFXF|C_ca%KmWW9r;q;77|`m8fn5aF$S84G)uO~?eTdRh);`r8 z7-jTvhoQH|6s1IF9h91LC8698yGAQ(C0d5kCtd$h2kzY{Z-&`9LEH1MdOOZ~lH*B5 z$+_N8>cCE2*HbZfe2(cEo`2B^Mai?Fw4!>~&NBdOS=J5gv7p4{O$5q_W_8L;O`lY& z;cA^x)p%U;!%tZ}J)zWx*$<^f<4cJ=Ju%l))`W7tc&29Fr$oLVLunWD9?BV+Sk4G< zSm_tyH^zq&hjj?|48{`k8%ii&{h`EReS$Lf`7RKp|5>Y`w2}8Cb&1W$WR9xK5oaG8 zB~R8ZD6L}_;x0wG?DnAa-qg}Yz7ph%x?V-;H=f|o>aNBy>s^%gww0WjTe#a%E<2Ja zPTJg-tvk=z-Uq13B8pnLMRei67@*bEcM6|K! zlqh>pX!VwuS&BU zfD)gz4N9%pf#;g1<_$T^D5H$8nNhy*V`l@UMpa7IEgWO9dO_*ov8A?r1I976C(n(n8tJj-k|%pI98(k4CunO?N@*^2<9WG0*A=<7lv*(x@O=iJsinu50qT>I zwzKv?$(bh_l=0S9&SP7tEnnv0p}njn!zQ_NYcPN+K&; z5v*8H;;;vfQp1|G5$$>l!7-z+YxkWxuvTI3jXehTN>SRv+>LU5vsPiRg`9aJL#rJu z@@L-&CAY4<4fZT~>TSp~Zm%fMqpVM$I&*DhM+)>e+GC$l0-4cQ+?$&Gt0O3$z-%#2K`@uer36}##> zq2$k713biJEsoL(WI1M>c%b#N}jBsP{!WWa<170;+Q;{OF7?^$jph7mL15hUx~Ek zY;a85`O2{&eZ)DRR!ZcZ8SfFPCt)b9Za0+Nc!sLp6QJ}Y--e<1rpIMHt zNbz)*vY6#KriPuR&YdL(b}}2%Yn-VWB`tFuZ=pEjyt6~;f8HiHlwGNYZX2g>7~j2% z_ANRp%5QYo#bZ~3_j)MrOn4SU+1F#Og>sMYpB&NZt9-uq;hTDtXWZ($c)ph7Dk3*# zQIy=++ef*3^TjtxKGnC+?5XnnKuqr9DC>Q`;Xrw2U~R!Q$*xuP2DjRI(09w>cDR`O^lJmNF-y^Z?f@ zN{hIvP{s!56D3dTi}G~E%!$(T)%T;!jU3}0SK^E-IrFU=9`fWp8Y@wL&BeP(bWBlF z@yk1ub1~kSw3ly9(HT)@SCl*_lsqSvR&&*jP0x}8?_pW#a_*QdQS#@_2wH`b8+&Ca zJ;^MJGOpNjLFpe>k0>Sb{D_hR->jk?MX4dbia|#gB?q3tP|~tjMz2v~_3Ii|o*dH; z?7X0yqw1bi^)Fw2sV(0jpp?aW73I3%YbTVln1@mNq^0D~ z*H#?UI#zNhx$#Rklze!eMJbWzS(NtjRRc=DwU)NCGtM!kkP@X8?7yM(C;M+G`7@KF ztvL+vwlU%nRPNs`*@CK=YrbuJupfSuv3RpXZF!h z@?qtQQd`!~D1FW<8YNFw(P))3HRR5Mk^|4+D6Qjd7fMXt)T7jaJvx+{u#br{ddUkV zEniWhoICD2DDm0TLun)TAe6r12^}RjzSSR_^t5_LsT)rz98(H!AI2tMYQpLorCqGC zQP$mEznyP@fnZ29i;czwL_^hZzxd82DZF{CehpszE)J#7nW@HQw9#Jn>rm28D`$uDIA(-TD|Ke4j$_)+ z{D4v}dvPc!+Di`11MInwGuJ-P6~yPat0?1y=WCSE&eB)B-{hF_#>x|=EUt8v-1r^w z`1DTiqNAd`H%F&OSv{hB=fvs}WsSqS5#_0dbt6i<`E4a{wn)V)5hWGBTtnHF;X4q% zk|BSdrcrWW9zZ$fi)_AuB_>b4j5$2KA4jPJUs0j-3M)XAZ}@lyKzYjH8v)+2O^x#A zkvBY*a!>1e=QA_MystpXf$I^aw(Med{l=B&X+}Kxvle15?^TpGa%G{sv3E=#;mb1WppX16;D)z)s>cd?gWsGr`M@h?Fp1nx& zXHja>QF7}jJ-`*$^_xBRz&WNq(@QFT^~o`DIy08h!9~f3 zD~@wEuqdIt5kwhXyiG$XonMKf)RtYW@#QIxzv3_|A^d#;l$95MEr8$g^ZP1(Y09sx zm{)iw$G6P*c|Jl}2lKrX-|i7IJniMp3Lf@z(CWQ8=%DG z8bKNNjCb123W7BdN*w-1N7oloTo)YE3hp&1F}Oxha%1-at^CxvG3SuKA3+>e^(cP6 zW0{cJ4=zfHTrVi4@Qxd$tSKcv-y%~dzRluZ(^Wrqk2xkL-&vuQ!rll<{;bJSdVtj! zN?CmShmI+VpL-K?0r6R}p~P&<2tJU5+V{cSFoy)RQmfQCh+EgA$WH z5dNY`@1lK+j*9YkII6#;!M73o=8$_9$~SP_tx)#S_`3oq@!8WriOGEm!jmWYa2G>~Ijq!yI~QMia>wJ#O1^!g zhJ2TYPA$s$;VU_mIP6HE#9;3hKlAdEW1_AHzFFlqV|Q9HQjLt^#}iR6OB?ne-Xm!t~ zS9yL%X$7+fO6h!!iPF#2U)f-#$T7Xgw=pPZkhub-6y^$){8_uAKqTNNtFEAM`hlmMLbQT#9_`tsWW$5l$!7j3`!|&*{7`jE>hRuiQt)S6c2Y~o+}t#eBFoA3cm3}=|g^* z&KCpZ!#jACw9HT_@%i?T`$Sz)MmVxJS`cTIeWhgQFXW#x_%hx;MQ_~OpM80U=>{fAN(HAU&MNu|zQxjg%kGru53DV=kPvNz9t zc~bh9{^ZwTycH%U&x9y<_bH`a?2K{D`QnKWWxc@N7Nwr-gH1{rb?~D7o?77jI~&KVN8|Ba4zVUu$%|x#3RFF=g>LMo`+t`&N|v z@uI}xo=fkLGi%Xmjzei9?^ICg%-@GXIgdOOqO_VdC(0S&J1&$s++k5#F*7+dX2gt& z@;7PFrYK)Wqr6+aWzH#OIwI%2(2SZC`yeijp%sz$j($4FgJjcxppAM^g<+K~UPuJ)-L^Cie)AX*qAjQ2K{;DM~Lfr=#=?R|-lBe&>R6 z2H7v=-cN3|l`A4-e(@(bmducc7h z#rHC3^<4~gV-3l=s#j6&ggon^#9{vgw;2q_SaGB!&Qt@b7n)7D~BC8_BrSQ_JmNL?%2KHd5B}qF z%-tyUWClRVlhr0l&-0ERrB7HxqMUuc-$iK)d!Z!YtTMLhZUv% ztS3?0%SsZZEOu5=YRHv|(i^-*IkivnM0qBmr%*-#zwku~W#&QI<6~uy^7RC}xJ@}L#AFsi$)Dd$p{(~=ZKK?8 z_=`IzY58jrD7!(dd-$%7RMoG2crU|mj!DJ$NGQ4Sgv+;gJWKJdQP&rEtOq!zEba#= ztzce4sT=QEQ1%k|W*nsy-nXHoqNn(xg=6L=loENu`CV+)?VodsLKuVCF%o8#50|ZoFYZ+3n`d6?g05MahY$V3d5=5k#v!k7{2HKYJuR z>(DyxH)!?rNm}L>ly-HkyE$eKK{?l~Vi?8bz|4n|N7oEN{kcZTl{j4`P&(g3qVzU% z3;SHue@f0CN+~?mqQv00@F=NxZsqL@@!9)A85=ykqLjfswVI_}ZwU?34uOK+4ADC@W>d%`Uw2DdnJ4*iSr*TYguzEqMCu@6@da~Qh7gxiI z5}&z+_gIw0m_VsNa|KEc?4hB=WR=3MMDL<~i;jx+$(TpEQ}szI_AL0D8mv-KzK&s) zg7OtCGX~12?_culpWHd--oosG(xc2FtU-A);C&EE&a87#a%RU6<(JLOGki(LYKvVp zR<6Y1>mZa8**!-I<$W>AF@IqNB~JC1KWKUNw;51!9+sZ0em~84B`teveAi2>`RyGe zm^jQfDAzIXk>{LODB(9+Xr((WBI->#ahyKSwIoLMZQ6=|PlI*lR&KQ>=MVTFH|RN_043+HTsh)h6-vMHr6Nk*SP`Mr zkU0t^2kz@A{lH9x(i`j^pp?t%sOy((Ev40buSgm63^Nr=;+2CHu?t35&X0`O2PcH2-mKscO=n%_)QLUwDs<@(X0%CZp`GR(G%AIbz++jLy1+-z8I@k)=MYURY04A4+0X z4cU!HDT`m0p!oSU2g)_djDZq|FZWR5bbTvLDePLHDo2sD+Z1^^E~^Yl*P4=($Cd10Ph=lpF@1Eag-9deo<=99tBDrSZSb?$kQ!K zOxDmS`(&)6QF@zoD@sgOnkY44ErybowGT?$S;e6AK-apU%7^pIT@EET?kec$qO_5j z8zoO>29!LRA5dz@^?=fcT+=B1%oT=K*9!G#{1S_L(i)VQ%nZyFoC|i~QF@OZMYIa# zEVGxw-aTW6zvzLI4{yN9i?;BWT2WfW*K{Z&g)fg$@@Jicl9n|DTGa-!{y{01d4~C` zZ_&X;=>cM(#NnBXHc;-g(tCXW#&NZ0O5gCc8%m$E+Cj;O>lUS4p0Jo7X&t}DM~TT- zFDUU@`Jj}}?15tOJsV1&uw#SLE^3BS-_FuM{ECEQ;;=44$&=X%CAZG}$FFfX`#eLk z+dHTzeaJU4C}WIWV3f4%g0`fLzC}kx`y_vqan~m~wIqz0k5v=Ou15c~9i1L!&4V(J z4ooTh^*WT_jG#k`l4?j&pp?kp65}sF5ocKHgR<{NkD!#uZ|&Kkt0~I+V0Qa?_f!4i zh316%s8v17F z22)pZDj)N-XU&q(x8&STyfsN{u7sXqlc2lpq(J)D!=U@KvZz%{%bBf$OH=FMy+QXU z%7q~||sBu8JbbBmBXtOxYv*ujdlC*A@{%cHAqYGi(d$`uWX?u<32uaG8# z{sHB{1B2caPfK+4dr3wT7KqbroKLf_|Duycv|lTx=7>)GW#L()vo8+)H8!6&Br?N$ zb_O9jeT0WrwA0-56b~)hWqT?Opt3~lAwL?Qls9)PI-diRmV-KE*D@+ao5ieJ8UM{A zkQZv~X0Up1y%XiH<)R!!$fEm22#V?=mDnQOnj~ZupgTo9pc1XhqU%;KhkuZ+rRhP- zLU(FeI5qc8x$#sWEwLQX{pJElle|YLQppH`YGLLSYunhXj_d_rxBK->NCR3wrd_55 zket@hovEwQR=m6Wji;zAHax1A7Lj#yRHCs8)tzsXZ**HOXH=$kH?NKU#Z|kxL@!-B zXD1%nMc}JpY1>OcE4=pTeyiK)U*__tE>;pTaZ&DPpJSf#PK<^~C;W%#iZ+GnE*6yS zMKfmls4m7x^eitTzHO4k93M%}R`(6PX|fcoYam(7@i9AW%-4;x=vnO)S)*q9NJ8F4 z{9F{hj&kEoMk9%cS|o{iJ<3!3AkvkXFH{SWO6W`_QALG~oh z!*k2vmrkU$bYnDnr&eZB&gKFrPcs5k6LSG{zqtU?mAL?t-zbl??c6RTv+*6hJ24RG zts39yh<-k`e(a-^J~V%BlFbSW(v0;K^fq}R^xdSgyAsJ}RTq_FCS#Y8-0ZvbKAaO~ zRTt^{v1M`AocCl^mLC4D1S2xls|7O z%3p6R*3(%&bJfden*ovh|;p{>aWX;#7u?@sZ<$jc}O7uCX?6KO+ljI^O27B@gz{V=MX zSuv6)5w4`~QCWN`s86!0!2dTl)sBA%$rJB@IlZ(J&8qb>?jLhXlA4L2r(*H2=-F<^Ci#ao z=L2J@GqQF}d=N}M|fb079A?}*+*e4BjCam?sQuCGA%I8_?wrhHEIg&31uF~=D*z;i$4)L1(( z55;TCbM11o4yWaK>%J)`3Zgs3HzIlROK+?}X|-bwqS8f|Aw495kQ*fkz=_~TL8v^Ay&LHt#61Bh^CCxf84x#()>BsEz zRts^MC}({as)fD_X-VIO;ts^Um}#gJ56oE0WFJa<$~TSK-6DS;;Ox9%E6^}+Fm6rq z*tdbcG5au(Et!a3(T&n-6l=qN0%>2D2zsPN>)I$cvq)60tWxL?rOBBVPHWQg5y6Ve zN~EUm7)J238x?lf^O6My?<+3)BwAN`^OH0#r9v&o>wF|z? zrzV}~KT$qPH>di*fyLlt#UPuOgDY}ORjkL{5(zm&v zHG!ToVxy;wkf;{Q_J1|??O^tVMC)`&3M2{p5Y^hr_C){ z+M;}3`r8ms!v-ZA?=I4kI6b6ERv%uP^uW?X(z5qZ-p(V&Ycs!RxRzvkyyq&f3c=FA__{Zi=N@#rG0S}j7B zQ7j2PfYqD1DQ7EzNM>tsNM?2vTJ7Z5N9FQIq5AU4qT2Cg@&MhM^uxb`O3?$LQuqT< zZu$XKcUBgXS$jiyn$u{R-s7-&y%Ba9`exV~sFX3bxJQ46&Pp-5lE1N| ztSggK8%MhJ>&580_Kvg>kC+`~&Ic#IvvJTDrA4Fr*-@w;+11yDdTahJCoJ$dimFBJ ziG_n!ujhUzev?pi4!`VD_0n5Oo9m*!#EIBwKlY*TIaZDQa*TYAC9iY#<-Ap`o#vpe zSj|CSpWiV+*U$ZwwJvETI)B~?j8jt%mwFFY(LAgF8msU8p3-E~_YGZJ(_zb!+{z9b zEuFB4G~h%*Bm++?%E2CIRHBqV+OvF6sE%35%N(A)VJ1&pIIn$l)2C`yPo7=2gqUh`-gz37>b5J|$5gEYg(U>@L3b25~(nUHabPKGVx zSr&(OLMnY8s;@o(y(29K$?v_PJ81>w?C*AroSI6}?y`qOOuWDPJvO8br>>*ijG;N% z3X>*-^&5LWX_qJ2N{k&&`+8rL$b4kJ&z>h zc|d-4tpiycB1MrTqB79l5qn1TWv;N&(RJ+w<)e+Db5Ggfs6?kipi-=gB024uMmiaL zZIzRqEgt&=viYW(vo;`dm6kWtp>djZAZ_WsB`r-Z;!pjvnEd?AbQGd8NCbb z$Qqj+UHqu%o_h?AbRtMN&C+ed62$UM*9a#SM! z8_M6hA>Nu+jEu+XMh0I#nicV_IY-l4DNh>9`_h!Bm@V|IQ`6A1_L-vyAahbwioO!n z#S9eHQRFkSdF_)zIf(s2_xt`w^nCPgkF}khMps`x@^2Y0kR-+nG{>@jhU^!s59ldA z9aIZDY0&+8WTXMHLnDHOZ{K?O*37zSV*1@{jS*>VtPv?!&+jYAx$5y*S`p>rF>9Hc z?C~*2&kh04`g--wzLYUDpdWTIx>MgBD+B4uSdApn^CO+>?T`$52&9L6`@RJ=rakqr z_sKoJWK=t?$hW>U-OtKGUr1~+ekywoFGU`2)GzWrp{RB~C}cZ*@3p7|@^6e`#FZPi~sTh$ju(>qU7bX=qWaI&J;oQ(&A9O zo3@5qlMWLRS-VA%oY@g5LPnfAZSy}PsYIP4os1}Hb-73KO3Tx{38h6&p{K04 zVPZJck>>>IoXwW_1$2)Y2oJ1!S+_y8Sg!!HjG2= znfo60n6&4u-XU+uTC$-#`84bbwj1wI@}PToHtFhD2IcLUWPLpTLn7LTJBU_^SL@!CJZ%$5i zUL`%Mg-96m7whbpQvk?p%wqM*|9<+~h!hkpZ?@^#%sKBT{fHxcs_WVgx+i-?c}1kN zAA_{kgHY{6b&Ous7bX&sR<$p5h2H}`%WsM5o;_jwlU6I0d*9n6tuERclE;cHdM~l* z@A1)AI=yT0yhtkc8!Fd3GY3!??GEK*{xAOJ&^#B-jPTeb6^jl%#Ue!Y;^{|qG50Z| zs5_q%`VO@_q`i1e%yF~?rN6W`%m$=yMRpddFG~UCZ)8TL8}YP4W$B5LhV`auDF>l*B^>s%D%HI{8RI}$hLp2T;BC6&aXv174ovMZ(r-l=ZC)@{;p@o|Gurn VcVGYU&u>Zm@L&G>{lDLI;(w(pIY9sb literal 0 HcmV?d00001 diff --git a/backend/FateMaster.API/FateMaster.API/.vs/FateMaster.API/v17/.futdcache.v2 b/backend/FateMaster.API/FateMaster.API/.vs/FateMaster.API/v17/.futdcache.v2 new file mode 100644 index 0000000000000000000000000000000000000000..37bb9b7cbe1778e5a7726fa8ee4b5b0b5e58e806 GIT binary patch literal 123 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 G=Dz?CqVwzk literal 0 HcmV?d00001 diff --git a/backend/FateMaster.API/FateMaster.API/.vs/FateMaster/FileContentIndex/053f0843-ef85-4857-8ccd-87c818b3c248.vsidx b/backend/FateMaster.API/FateMaster.API/.vs/FateMaster/FileContentIndex/053f0843-ef85-4857-8ccd-87c818b3c248.vsidx new file mode 100644 index 0000000000000000000000000000000000000000..1efa0e47f2f23801ea7ccf224f768ad907b5e7c5 GIT binary patch literal 20774 zcmc(ndw5<|mB#luKm|kr1x2}-280wsNF%}0Vrgz|(i*De3#3wa(sa zuf6u#Ywzz1(A7O-&z(~$=cf2`OOg2sQTOB}>o=@BW%bHUOV%vkwEFbr8#k@quw=#Z zm8Y&=yK2dFsrp0J(lOZkKZw0+*KAO`4R2ey>1`WUFX=z|#0|?goxE=C#wBg7ZS50V zTi-OXy}i9{;?mx=CvQ4=`DtAnR?BqD%8l6*;ct%k)f+B2^5NqD*P-s!8&5uQ?dlEk zY}fPuj~wb)zy7q7S4OzHS9GmgyJ_{=oBG$ST7BBk+U4svp0sY0!?e$}*`XD$&q3Qk zRHSib8cpe?l-3pLr82!#q-pu5Ogk58=Q0%%^_A@vAH=I0}NClqZ8_+O^-A;osx*wA$1T#1Wg3am zaW$pYMS8qU=cV+gyof37TciWZbXQ7sz_mK8Z}cik0;GJ)M>W~3 z&&pWhY((8hqPt8f2-6~4{wEyMS5cDLoHO$0hM10WCMR1C#rsnlSET35^!Cc_`%>Cc zr2WdYSCOtO(*v<0aZ+(@Zj z&3aPXCz8_KDk1fdlYIL&iG88z=Yi;@iddwTWjZaT-&dY@6zL~r+Ak+Y9fz!ZzUS{31wZAf6 zi(`^!B(GPM+k=te7$387luLOt>Y<2r(To~mbLk;x?6e|XUZz(?ug)^f49{~f4M7;| z{H)!OlMx?H^KXY}Ez*QCy)mW7#%#$v`m!SJRHkc^Q(fs%Ym{~4i_}z-IoWu_|H4C! zo*NV1aLEx)>76lUCAJnKPe=Ri>@w{hqvytJinOLo-;TLAmZ>{-!P`p;FG(9>_M8O` z@ylg8D{PKLsIzfRL|NSs5q1v5DAMSa((fu2jYO_at5R;H^6LFnnQf?YV&o=xm@ay&Jb!IU^NMs{nckPurA7Kw znU0K*VkaJcS*EwdUgNMR(hfQoa!jHiWSbhDw~1hC^%=cLkCv2KmMqs6S&Jyu4I1KH z8>y^mvIS9-`;EylT@nt$S4w^iv z97D}6hozpH#(FyLIl7^0(KS;w$eTq8{IVjQRHlQ%&PePCFg(mfL+$etI0#|k(`8zn z(%scqbzrZH(@-PgOch3T%quRls!n;1x{2K|W>WZEWi=r!Q$xg19m{yo62GjzEMI>Nc(}gF3h)muAL}(B(?CdR$7o zjJZoM%~#XV>=BuuSmj(&{%C11TcqV>YR;=uU038Ag{a#2S~A5%fg+L-O!dkxX$kU! zT*~XnxuZ6*7OiRft*_ot+v8lM|18s=qmq2BNEby-(DY>!CoA`IaHhpdF;*48k!t8V zEOPs=qEXLRjk9}dlWWc?)mEw#gMsSWQUyvE`?@kvCnM(4Y_9H{%(o6sN+T(Ke@vGg zb`6?8Bjn)M39P<3=kq=qtO}jCWWF9(RU)rKQykpdSr-@S&)SK#!||y~(NoT-O}9Q< zRTpnn`#DAWyE1L4E5?`yt*m;fvNcoz$EBDi(N>-$u2>4JQcDxj6m*eLVDr>81vRVt z=GaO(8jTU7G|8*m#vHQRGIiNmT4kwvHN^3e3x(659<*AKtwlPtOg&XS(a`E8`&yLx zSsrRq%J4hmwj;OmB1)52SuIE7gw=M=iJ{?gk*xiZll7-dCrM)6RiDp}3t^qoGVH950u!SU2EW(n%Fmoo~c0+^?%@SZN`Q~F$N?CG!=*EQtFJf+#d64?#qgFO{DbZTu8%V&5pCR3cJSbtj>k{3~h*e zQC%bz)jQ(6*dC>-`sJwRU6ae*(rUTu6k4T;C-(bb)HJ0*&cHg0Mq{Ns%`tn;u2yl& z@%&sQr`%Q?WHT#2l+vBydB?qW@VJCOFI$tBJbdpPK zhu8udQSr%FGHGZZ-L(XoDR!zg&FxhLrbSI_h+S5v$7od(WLY-VIOnIvB8RI4ZmQD2 zVX1srmOrA#^2xF)@aAeQw&sm9reb`kNCPGJ5L#9iJYseJ>Vw8ec%o>(u1p91cPU*v zuNcY{n=yYwGUlGC=}(JH_5>r~d5-lo)lo6maEiJ1RKBraSERR<>Bf{!Ez;~VojfM^ z8cSi^9QOpZm#A5QX?r?pIBhr8E*+8Qm+7CwCA!2Yx+uy*US-w5dd1~`-fMVRWs$b3 z8jP*jnpB>G%F&%sYP9ipE7O+v-bVH0!m5GNKo>RzlZ{y|;+ANvS<8;x)`Q0SZprsu za;%PO5v3__qHmUIe>JPW>!{L0_SH9Msa7h_NViknJvPN~`ZS?Q<-2ITajuICr$*1S zkcE*5X%;(kK3Ct;sM#`o1s4lPPF4w=1C^c6xjHt~dzI-Oal~u%TmkBUuhO{nH1p6g zi^2T0TV#tOme;qA#%PfaD$~~54Rsk)qx3e%U&D>&n`E6-m8m+OI^6RouS2T`MgH(H z=Tu$s2uO}n4tRxmn-hWhb4pc>*{yYURkPDFIkm=|fS;*GR~KczR!t|n`f9{`%Jhxu z!pSGuXi$fusXFL2BSl_IVB^)2DI4=9(m{5BJ_1xRQ8Pt#bE*=rD!FRL#|4pZbO-YlI?#EYx$|MrOaO{a&TqEd{~M zambrRDSBIcIiP}2uco@^yQnn^NE{{EL#?d7(8$x*(VQRZoT=lWQFg2uWA1xPt1qlZi*&bk&|iJx8*>7x0bbQERhJOWy^dH} zeJP=3QUtX6vY&HCxs+qx5Q&r#hqc`L+A4OCrZz81x^gC84`k=VWzzQviexUNXX`#$ z-9{Sqjbbj9)!O~-BFZKkFzTwT);61FJ7X( zN=&fMwP1bE7w`4GL&*D?-(YSuztP-eKFr)AX1rF*+Tmg6DD%-`{GDuB-x)^xV=Z@@ zd&IPxZn@X8j)t(;FJ_!MmbJ>E*B5xf3(fi^SIBP_(|(!dmF6{K#yQdQDdyA7>&?oO zXtzm>oiok)SQqlSW__6(vi3;ui1{7ntzyPgnGC-!vHsoW_n0p;Uv5_6342$HS!>;; zgReG!)O?NkljiHp`lu59x0zL=!w=o)LjPGYcK^ll=f(K>1 zZu33nZ%(f&2o>wBk=_qBY0dA#``zdzXW1hIbjQZ4u}v%XUbJNgx9j5pDI zq~Et&o@Ab4{V`(JLBC#&ejV0#TJAB=w7%D@IvD->%mZTLHrMY}-$I^md4c&j>la%- z-n_(m75nJ7!n|6HenFX>dfkkp{RhlfnLlj)nEB)8Yt8>C)=#?L@-{K{^>IGzeb)Rh<}aAPWd4fzcCmi= zLL&O#Y56Y8UlSAmZ^^4xsrd=>ugp)H zpEf@$)=&Bm%Q}w3&L7RXX@!gv_@RqT$okb|$SjE9}-ez48 zLf%)bpR~V#{<@Ece!Tf0^C5oUWce_2i&AjXOH|q=1u=7Fl-xb_T!q2;`zsIak{PF%?%ipoA&kfQ3 ze(N7FKj`=R92Nb3Wc?%N$E<(c^3Tos^b+&=jrl3_Gh*WRtmWs-e=xt`_xg+& zTxb#Xn064;e@F99V*R9@E$?F9)%sV6>9@P(SDE*={-=}-af53~Mo^ATeGq&9QAd6IdGd8)ZXjQuXl(=E@mJX_2-eU|4~9yHIjeprm1 z1?Gk3#bWv&FV;_bt9iM3m6(2O%qLlYs(G#X4D%-QS>|)a^gqvhf%RL=Tg?}n-z~l^{1NLvX1>P!3BUi8`Fisgc-8{)WMT{SB5i`zI z^Reb>V*KwC)2_!n!}?ib`pvdH;P-=;hs+DCUnr*iBJ*PFmsmc*{8sZ)^D^^tG5)L) zn)!lru|0i&orN7{o5^HVBTWhYQEU~Zu5K1mz)1ijQtN-zRLVz z>pyDw8uKU3*O@;prvEnc4PxeTqvg+9zDdmdZ?^n-%U?8q*?gNAd!v@`GT&qVrup0E z`^2=r-|_>Ne`xt3^TXCZBF4W*Ek9;{T#SD|xBLt9udIL4{IvDYSpL2FdF%gZ`9*UY zm;Ecn*xyOa_~WeK+4`58UuoXcyqB2yy~ezc_4``hUyQv2EI0W5f#!qF6U@!#Bg}2) zcJn0j6ft&>5i|Z&%g6eCr@6;G(>&WeAg14-7&~(<51Hp%zrgZB^I|b^I>Efmywbcz zjJ*@hCs}{0<$@~@TZ?k-d znDOtl{%-RzKWX`C z%g|bpUi(2GyY4KOMOuv`%8>|oS1QTw!Dkq?`HigE$?aG%luj~{r9oFujTzL zzd?-M@#X`~Z!{lbo?t#qj9)F5Tg`3Ow_AR*m~khWkG6h_nEq4E9e&?w?y`QmxmS#T zv(5ct><;+-T=TH`IP+pL{gzl>YF=UeD$6IDPqF?q%j?99v)+7$d4qYQn0cIOKF55X zm~k&Kk63@9`6BBtv3#ldGV>MYE6pD=Uv2)V82kTV`4g6}731%xtiRs8&H8^b-(dY` z#n}0r<>Jw|J~-Vo4@7v_loKFujc#w{(I&hnE%cEBl9EX z$Her1-25~16Mp|I%fGSwl=&I+@5T84oaH~5UogKU#(tq+guy$QcQU_B%=~sWzrwtS z7`yz3dc5Du^4^yB5o7Q5=KcJBf4^_AJl^jQwEkf053zix-#1%6!rW$VH%~H85#!e} zmX9@entRMM#rQYNa=&@dJS4`>u$XoWtY2haVqR)qA*S6b%O{#ovHmp6>%`byZ+WBT zO=9|=Y56S6=ZJ~#dFIX5Z!uqJey13_7nv_MUt)fj82gusv3HsI3cr89-(P9|p!q8E z)#i_wKPJY`$IaK8|51z|*IV9ZzR`S>`DXJi=3B+|`?456ziRn5^X=wQ^Bv|p&3Bpa zHh;~0kNN9j{Qcl-1p1@nB{ilA`Uh+doDz6~uuZ?8ZA?d}7GX!~4eS?oN&?Yz#dBBc zi|2vBIf3&6=L@@|O?T>vXL?N!O|RZG$_l-D(@@|-;jDP>i#C1w-ECv)kLUihNY8`u zJeX$3Go#E4%R@%m3`d*c&q?oq|`!yqQj*uDU)dQRLjAify{cTadW?7z)4o@=_jl*MhEgIu+y=&Fq7L5+J zsW*6}utVzt_5}_E&KGuRL~x#vH3fSE(RYWwM^S9ie`3a4))z#>`nJgDoKu{yr&V)k6fzsU9}MqXg}ecq1K%WUizvP+;yOu4lpAB7ZK0bG z*c{j@Y*XKf>XWfu&$-u9c}-j<2(iG(JXc<{>3L#!G*SOX60yr;<0Dquw0HXTZ!fX4 z@TOfYuy&;WPKnl&!qW+X&4H~#@}WI!w~Nsuf&BAkJ(C}efz3ij0?8L_AEkf#^>>m+ z1=|CU79K6jAbMmF?$;=9*1OiQ-W>C92|O~aOb9C=_Q0cs^g!y@-=j4yPxS3qo+393 z$udTrAS4ou2J#;4kH5|OH$A$PHIpTG2-%g#=s+JHSmvKNHO;f~lH;EZ_2i{8*P7CV6**eB1xsex3!KIJet z6v*g(^0`B^U=(&}hx%i4AnXh(Z`sMTr#gVxp@M<5oEI(UMc;Xn(B$^mpQrua5i&^M zp_m2Lk7wpGq}m8Fiy{33(wBM%GIwetNc-XNnH|@m|2`MZLd~N?BVl1tSXeAQ)n{hl zVBoNjj3&xMfs2Jy3C@NY!dV)nQ?@cmjNgQhR64aif*?h70U#2T>$8Ih=V#oWR9@w_1Lc;S4#?~)ZxEcPkbETmd@ z>+cj{i&~L2!$Rgt4mAa$VI;6Ga3FAAAgk1)xaMpF`{NmXZ&>S9)^|%gM~IgoZRRK+ zz~hAY->sSB;gD)hw|bJntYde~hp0`^NO;~O&l&^KaKeB`3E7+A6d}OJ5 z&tw*rxF>d4&Kl-POX3ZZO+*W93hW5vZI8U}(TUF!XArnZ$j<7~I%0?Y1=6ceaRnK- zKRhH0dB#t67KjCQCWszeAR`P!-+}OIPK-QPvB3{KoEP!o?BN*;d4=$jXZ)F`@j)WM z9t81cUf7%$(cnDmk#=$*J`6>B_8QNO$c_UUWmx$OVt+X1!P(s-TWF38YsW=AkJJBj zfm|Ub3)QwKauRIPY^WO3qsnrN>eDmXNPOoBu?5Z$GP~(|*CL60m=P;Tgc>7G=vlEG zGjLeX@C;cXmb2rT_|FJyGc+&yl6y14GjOJ!sd_Us7mytUQY{#FrhJ|l*cR9>q>_O{ zLOh=tnGNRqTC+UJyB&)>=Uq-+Ce|RilXrH$N3uuR2fSrh5sQJqysA`3BHbGiB1YUh zu?}L5S%S1=HoUAuevX+ZtmIFd=rL&`g zfZV2+O2mNv8>J$5kzSI(Ma$t8L zc34Re4Xf0re^_(sAtya;xG{3#R@H$Tfu3Ckq9-Pt!9358(aFhb<+4R`4^2KH7wVaF zjQT>w#ZQoVQ}e*tfdhf`s&?>kdd72bhHxPI4k!P^Pp~n z%|hxn*cnJqDmFPsMsp_uy93E2ZbKk;SRIhJ%ooH0_YQDa$V!p5+%-7y$laDe`m%$l zr@UpqR5?vWA+x6jVuyWCmgjxO9j7qxjU=FQk@&oN3(Y24$Cw;4A=}0w)LJ0jr;@!l33$ zZGzc>^uiwyJ@es4J5z{1xr(vgoqFb0IafU=2a+9RJUAG*K*(;bsvh~z&3Iy9TVT78 zy9#GEGiZs-ZP5&>Q=D3iXK1K?VAk}<^H3n)0Wf!Nc{7EqK8Q_n0Hh@~3S`85FXxWK zGxqZ>fm4>}T#p!qJOk$jW;=|?2@ft5a<&pRM%;dO@r(s>49tTlN{X*go5-0A5 zAfGU}6?0Z~29n*>QV zkk7=&t9`G0BHO`v;UyYu;%i4BdLj%i5|Rby%X|F?h5n;|sfYiUQ~crIMCZ>W{!=6U JSu#2Ee*xn0-_!sA literal 0 HcmV?d00001 diff --git a/backend/FateMaster.API/FateMaster.API/.vs/FateMaster/FileContentIndex/6b0f227b-ae48-4f94-8348-212b93c67b9f.vsidx b/backend/FateMaster.API/FateMaster.API/.vs/FateMaster/FileContentIndex/6b0f227b-ae48-4f94-8348-212b93c67b9f.vsidx new file mode 100644 index 0000000000000000000000000000000000000000..7c6485f2a1acfb6a78149787ff0176cde36b1f79 GIT binary patch literal 62767 zcmce<31F4Q)&GBT6OuqkLRiBRNJ2+4djcC(9nwQ6fy?Q2`ND*w;-%(<6K0@i}RKjhB$&OGzXdgg31 z&vPfYO|2?5EBmMUzuT%39uKtbwfMLtYnCowvU<(ZRf~^aa?D9fR~)Zp_W_7A;eN*eA z53iazOOIK(>e#K+Gx3)1?qD_f^Ov14dU49Cl_zcN_?;r`ZuUdKhswK;F(~w_!?)w89b~|y$=7wrcS-NV?vZbpRpStHbZC7vds>z?7 z&B&GZ#;j^mcFVir%IC}Nwtbk%7rpu8@fz4Q6|e3;d=Ejw-53LncY z>e~4uD}J(F1ig857U%cI`2cL-xMj!Z*HiKQ<2zhUl(%~EHbxAxe*CC+cX-fp)of$L zsAlHwbAGj>gO;mi8zV+FqrZLIc2(21a`}>FD;7^)xqLY*XVQ|@OQ)<@vuw@jdDN9- z0erc#@3W_EPj8|cFIx;?^LQmL-Ko0bb1pmQ!>A^2ygJq3ovNMt?uSy%+|!Zn%M&GU zrJhlJPdImndUNXX{1KaX`YHK~KQ}$=TV{TAhpTB{a=NsPnM>E4u=3cg^u?@r(u|LN zSk=s3vt-SwtG8Osq2K!Hj`SvvIVakqk}bt^8n;_lJzTpz3RDnuK0BMU^pusWm#ta3 zYAcJU;M1co-GM>NuV(&=Wou?1w_xR}le&&upFdx?UDZrqaoj4@(N(7&v*y%QOBc5- zS+ivE#LZm0?Pw`$OFyPdXt-e@wZ%LGcBzC*^A1$gHg9&wW_{~ge3q%z9C6^d?a^$aH>sLamd#nZ`V>00Rko?B z_C0Ix4)vc_M9F_5AsO@9s!7dFv$&W2}?xoMiFh)0fn359?g8 z^ym+6;F|67w{F8ftZMQMjchNnxTgHbKHEcS+1`jlW)0lUq_8g;S9J9@ip&-baOv)!qI`+J}6J2W>R$nvC~1^4f~BZKyVEKjo@8xy5H`;kNx zg+RGYs<4iX^=h=glvrkzWis}1p>=Dr6N;@gWAh4aUAdK3Snt7BT4}vnthC8?%h*o} zt)t4W=xv!MyQ;uC8m*(dRTtSkLu`Dr-BV;m%~n)onITr+Y?*l49>E4CiPtf!7qot8KE5Q8uN-`i`=`gREniwNmULD;TD$J*jJueQucb8g9J` ztf0gWZnT0?c5s39Fe~M*Dk~rl?HpmHjn;!gN^IjO+gPISJyKuj2<`WhTT5&ueWVIH zHOf|&*j1y{7d&05gwiToS7P^%vil3H7{zde6*pS(Aj=H1f+8!VQ>K>m8ej!OtZ;G^?}iO;$^^+?t13GmWV*N~@*uL#(#M<}s3V+1rBdtXEI#m9g4#`(qEwl-fOo zDsWo0l@7F$!J4CjTD!2u`VY0CmDZ=l-fgmtRW_x!74}if`)2G~2#hbit*DPC9ZIXs z*pxzRuCb1x)=FJXc1&tdu}H4hK&3Yiw%Q6cqocwyH8w9}^9$|r3cIx0`qbD1O}1~w zHdI&vg;ZKOUFd1kNU5}{a%&xI1yy!bnYC7ER9h=GO5HM+skWjTt1Z?D^rGc0)&aHm zuwI2)2vch8>`L34{N;8)q4lh=YbdA5%6eL+&}!>cPHmZGnA}n=7OK#SAWxa*LZj4V zr9*99mNMz)Ukh!g!B*E~Co!HimPu}5N<)N18Wd*(-do|gG5J0(I$bbxTwv#_5 zOk$<&TxEq$R0U3Tr8QPG)QY=XL8;nbO4STbr4CC}afKB-)%ERTJ^ETfe=A`2 z`&q$2ql5xxe~3{?W~dcZS}`ptvjQljrxiF!ur4&wbs}#vln%FodW{1l4QndxW8G@4 zW4Lvzw=Y4@X?UxwS8wap$4XOm)Wt#@WGk7(8WBd3&qXbhMVld*YGu$wFmlkWmwle!nJ(CW3 z6e&-EbHxJZhm5VLmzjk)DYIOhpYYWRdk=QXqOPLU=>0SEmVW)_6h&P?4At zeQ&bKlGK@QRytB5M$<>wwX`DZ)!jM<=-$!>t8G?ku!U*e zt=j;bIK&QZu!+q!t<0A9wB;GQo)PY0)154#oV&e)&-Jm#`q~-&ZBezg_OnF;trw(T zXT65mWwkaZyEfqxbB0@0y|HG8gf!FoY_b*W0@FvHHYv zS&2|);+f>BvQ{o7358%Hg+B(3zfodh@!f?ry--WG?bS>sBIx z&L6^*>QaWjg;omppg^A*@@RRcdMPbcm#vfuC1*E;MdJBh8Yw9qtxSS7bs>q@RByKA zxQiv33ZyRDmYPJdOnO$b)VpLscWR}zgIwX^JMy>0rcx%&b6yQ$Ku%M+L<+6lvO4q@ zbv9dk=!<4zUP+Vm9b+>`ko3U4W+MEh&A0Ps28)6eG z?b{93joO>-zCzo8Mu#XVv=L=?SWi35*J(!&n?tkVc!f63*XhUl*lvC8>Hbo^diAqQ z2THZb)JZkHy4Eg9S{$9~WtR-Mwt5@UWLFNdqtYN$+k`s%h^vU-OWIf06~q*<9P$}s zPQ6L`k9SiVc+$OH%Agw6rfl5amB#W@;H$1PEca&6c=!xbb+gz_oFBHIv1x_Yy-Av6 z&;XOdT)^duY+QG{dw`7_Vm%vdT(gbq+L1JO@E;Zh%Oo++oZdo{kTQ*$$8pRKrD3YL zc731=+6?rYNA&COeUOv2GZOUeb-F`6pgoX6w=7dfNJO z8_~noy9!rTVN*KkB-Pfc zN*WoI|DkplZGe_sjeMun9z^G?w%Wlqx5nCC)p-Z;$7m#jB8gFWV7=@Vv~g5EIzFX` zq31l#V#!!fR0UVOpR2KPtb$5)xo2ty#$CBR8)H7Vkm62?&WM^dy#1KfHfmA-mtlSi3c2-Y2%c*W%4?C>XCRSLt zJbm&Xu1`K)ZSDQ+>4DaFu=S|3zQgR!T6?_4)(w@#x2~5xKHTQl+xMI77Svs+F(X+3 zIY}FbY%rx+WvqQX7z{{a!WbrHwy38q^4gnw$X+O{utTe*xSm&I?+&%=kUp@BJl*u9mx9r!p_W&z$O@GrQOwJE8%h&x#jX~NOG0ix(ZwGHZndF1QU}xtxm>! zQLXjD$o1+j%virdF_ZO8Rt}w)Svh?ywz7=vpVz^=yo1BMgPXc^a6xv>ViN8@$iBX1 z2WjEpUUm-rztJYu+k_S?YqDX!aPCP8c8MKcZ2RId!*5n*|I0ec*umLFw5f;nFSNT# z?THGb>dDDk?`yTJ<-xWP6Mm5WsLtAb;u>o0N?%zgj1VV;MJ#EteKBF&?l_z!R&Eo~ zKu`?OyU=gT#YLMcY%$)j{*rwVJmbSeTnnR4UO}%2LmRI{^~hl9f`fC<%##H1A&4` zh_RWhLZm7pl~tb<{`X&E*;OCqxJJ6sNAFM!{Grw@t6A-+UQs5_c|%VL%9DFoN2&EF zwBbJH7^Fw^v6;*!y=D#4akP}d)?R0C46@g>NbH zV7q&eJz6PuL_K^y^^OTjT}ZqO1tvAG!sen2mC1kd7Q(ux*glFY&ViAo_GpDo%{s5X zQfb%F_~Z>}vA3G+cpqw9ZSuF^Imh#ZBQAeYC*na6B$)+&PO3PrbyPuCv}+W_wbnXZ zWQlaB?c@?kI;ZQs2x2%eI+FG{eAzN|xOD!5Y|0l*i9%>0yo;@kCR^Lx1{c}=Lu|ih zyFWRB^W8_itv=w2bE^)Nk%H1yk9eY~=uvoj3#`!Rh_U^B zp}mDUnWhQX8%Hm7P54E$_lGhX)aIlSs|Fa8|+^R`6!YX9JvK@n?5}g6Tku`5I zwW@P_Ri0Rn&0DJ;wU4s)a=H5H2=tF1OdcLLGg~PT9gJ0pG2$&LWL*@?yIz5AfNUWu^G!vIch^t|3Lwhjp}K>?Co(P;{5; z0C)O0c9d8$$cQEzN47?57-mNmTi+IKtYD$Qfzgi8Z<%XUSp+3)r^)$Y2i;*n@Z91N zMf4=sdUAmxhCZOXo5oZ~>wrJ3V9ZgE(FrT8J04E74m1-dl}!3R$VSoysFVgf=bTb) zyVclhm39FwA&-ml>T>&hh5aa}@ZkM(o#z?XdHN=u2hS>gRM&iN%a?Z$RT2utc6Yf| zW5l)C-Ko-Ker9b?b_9BnhpYaj11o^J8!Y!V=^AsCsH}a;Xx}qf#Lx1zcd4fMRoq$dPb5B0t$OWYZKAa~KYvnY2=f!6tF4;$Fe{i+_wCx3 z$!x-s>L94zKiiSK13ZXl61nRA|jVSFt$%Glks z0pAGX7!EVk2IZ)ZSz~q($G-0=Ylv-4=R%0x`f}Te^o;v1kl=_#q#?biwkoWK8hLfj zO`-}u3=4wi`0f}yN4tkfDsj8Z_lCq*Q65;Hh{z(bCVaN?kPr5)Qg&x32l>UWN4|vW z>J7s$nj3AlJ2Q45IzUzj6D>K5qss@vd+~8)y@KnLC}f!oF)g$lSIO8_h1S55I)zVg=z=axDUF?QXXsF==sG?2PsWGwCXrTq@y>;i?v3 zBL1YwlOJ}M!lW7{6)s;P>BKt9Y>xY8f6rY>o}xtML~2r{T&l9sb7d0EE=iFBXCWes z?7{9EoLMjXc5EG_3f5}u?S#LYLkFCwQ8gMdX z`5RnO>hZR?ZdRcZ2_>5-ts{EfXcG&p$fTAq8f`hw44cK3k=S(_K#0&8b+>eH(qI$U zWsM}pTPbf?>_n#>QWg$OFY9nXNq8TJL;v2^e{1{E*yA6>;lQrMW`~2jVvg!=R~Ff* zAvUGiMzOk`rA$KBcipE(f+Wty25XV+!lZP!yDRJ-S1BhY&o&#uZhu|q-sak7+a(Pw z0*m$QlsOLVg{A7=NGUK3xC=F`MRp=!Tsd(w&c)67Ia3-XDyeWNHYGN+%z6|{16+wU zU8o(pAN009eXP41n9pKhrrq;l)@_J2Vqe$TQ}80l&s|SFv9(+5D0JyjDk>dQ(IyLG zw6E3mw>p?iKdY;?$8vivRGQW=x3C1VHd;r$oNwp=N#pu^g`MSICb;XBFhJ~-q*)=s zw`$9HM`!?5KZ>|<>xtpQ2NLv*mQrc&441Q_*;nF7{1S>OjjsDT=B8sqN9Ex^)%#&C?o(wnWg$lAJVGli?y575S070L$F z*I;eU)|M6#b}QZzAEm$b)RBN=-C^=*p&e3Thhv-$ws-RFQ^qh^ujTf;Lfgj`fV-Qt z2XqrsxJh2bo6sfD>d~LE!3RrU{T-avZIeFq*N-<8F`n+9Z_1wZD8X3H?eb);=JHBw zqNiz32i?^z(6mMvqMZ9n4v>spmz2zm{jJFIhXcxXZK->T0qxAm9@FM#kikKswafGd1>Lll>Ty8)e_v z);dB`bXq=0&q5oU(_L{Y)=Q?Jl(u^st<;sPI>dBNJFT(bAO}&*u`i%83{}El3$Qagu+-)qv-4!$Rr|pr7Ch^_bSu zHdu;Fg!R6@J`mg4>W(3MZMls$tP%*GZ3uVNzrSL@DUPikRQvA~gJ!$Oo%20VT^Qti zPk6q91mP81yRUBCcO7|tp@H~?lET@dL#+pvX!93~05<|e-pl=>9gt``Hw&X4;of^c zd&7*t-)^ys11pNV!i$Ogho}&54au zJ=jNW?j=5-8+{L=zzxZ}S;AQ{-K$P#*otzxF6=9b42ToXfD;lnm9Zxa?ScwB3?Cyq z)J^t75q8m*wM~XECnXq=0lQ zwQ&|lyxg;WH>yU(ek)_*vXb3rqz?`d zjSnZ={eV`rpOIb*A8xT~4(gB8Ni9ZIPH(0LRTI-Mkz!JN$ce&3m=sPHNZN7EQZo9d zPMF~9cHIV2$9mdg#~BR@t;x3qbGsEt*sbiUvs$;YTY>(D14mnau2Wr@_|ldN)mgo* zVz52I{(?LF*2*}m`>+1^_(;D0}Swx?x+p zt`K%wX1&uHAqW*#mZx1ap=>4mG^^;w*<<`RZdvG{yDMOvd4L|6;&zxGyd49UBVmK= zSU6aYm8IpDmayx7XeOQ4Y;MtUxQlg{zr?a_Xhj`L4^}kF*xbBT$I|uz5d|iJl5b5U zNm?iM`-D!elBC;kOHRG%I^)caTSm+XqsopI8qt4u_B+x42k?Jx-nDT-FPX^lPh!!X zka+3Gxd_H1)Oiaa$;z}5fa+DI-HkrQ#y(4LI)y>k-6r*v2lB`sI&pDpsiE6{y~c2_EXH`F%ysFwNp0S;H_{6MoE06&2y%e3f_`!IQ= zbDW`KxxwgAr#*$!FEBtFsTG%%DLkkG>tiTLeAN#ueGGFWXU;QF^b}*qO@J!5=ugV` zEubKA;-%PKMkQ7UpXZo;Z*io%vkn$GULDdWX&T8D&l*ASIor95*{7CT`(BOBf%0ig zlZ-gY^xP!!07dGc+dkd%9YIVY1J2x)>kv+1l~tu_q8wjJI3jAx4MzuO%XuIIRk_4{ z9n^IfoQnNK6n@v`YCCO==3H}ZbGsU!o^Ft52Dc1bMOkG`&T1S8s9Wwscz&o=Gy80E zG1@p2XvTkBZfO8>HYsZy*_WK3cs_C0WF4NI$;8`P>-L>IoQOpnHC6Tpmn=L-vw7Ph z9rfg~BX+}aKf+XD(M4_;y5ENN5(j-do$@7T@^ZMbHV6f~#y;Z;HrCdps!QMUX zEcl}|P!2?;^Ly#|O*-q6+^y;1AZ9;F2TpPDow`y-awlW6A}}D0BH#s@h+TWF*wE7@ymR?S8M2E@PTWpcL|L3g|tDs4v ztRi`a-6t%oJPmKsY`1lyqu46pmPK|HH!iSCc(d!wA6JH?>$L_PDdVqd1PpdUtLhB_W+LfPE#F4ui_)e&zN* zKAyc91jvI&+gS3@23{1m$Jep93#;)^a z7+5_YinW_$cY2_YfpRa+Nj%5lbPm-aVi-)0&4__uD6xw1_+^c59rM5vK@UvlH}Vyp zME|*knWl`^Cfz>qTSVt}Jki!kl}eki^f8@WrKj6>UewLryS8;?)Oqg*+zt6~oE}&} zS-(f_N!~CC)3$8dC`sK<`eafj8F}A!to6+Z6gFfchYaiA=X9S_*B09i`3kwq4!lwu zQAD?PhJGwHm3yKyjT_3CZyCTb zP&3vs@{oO2?Z@xL+DE~|Ft3Iczz4AX;m^f7Qab^znA*>TqGiFH-FSg}#7+c@onkSf zb3GcO!(Hk)8eOxsvQ?cmxVE4u$O#1xZcKYPI_REEWGfpe%yn)9B|Q_m#RdvmhmV*X zVn}&391i%=exw-kB^gIqJwf{>=-x?J$;oTvEJ8Ma4>7xeh`x7W&QZ^pLn^clI@!h= z>HMHU-Ws8IxFg`z+gc+BbAW-P3r?AEW*$+w$~Qjl-PW-dZ%-XoL*ChSo!sWwHU}iS zoZRNzg3fa$t`6sC-wFu`Z%=v-u9AF)-(=S%JB#tm?VP4VU#^_)~Ms*_CYZgoXgnLUg0 zy+p=MIjgx;kErhOya58}l ztT&dg_edUEOxH%aH07#I`<^T@cN%D|xwlrzL)YbrqRxzSR@{sF6Sf<6ajg~B+wy$p z9u_yt9|vR3qQTRcH~`jhP8-bEdlRcnY+hy1vPZU7vRYv#@Qpz_ zbjo)QZ{W;FA=L8}Y>~8tfq;V)B4lN;$~w~HU1j!*8r@|pA~^iOFD-IL2O&FKQGy*4J9T!-OFZ)E?)V2UgiG{wP!TJOj3I z%cBKsSFtMB!nCsjmwkLanvvUg%WX6#GpAmg!mY`ONM7-z^rD59Npnj|MgEfuoIXV^ z;HhRz(Dd}i5^RCAWtP>nC%Fa=Rj+fETlzUv?UIX~o$D*D2U>T%nu<`+8JnEZwB`AS z3-iuDOi7kPzOw={Nc+^o_4uJwPj8U-KyHWJW2A{Hn0hxMpL0)w1P4|FzRL7s0q8SF zGpGcZPI!lSBqUKz(h#r$womgD#`!ih zIjGpi(>9k@wrbC_D_3@2+{GA#-#SPi)A|T<`uXnbpah z+%_lIAtHEqvIX)v`F~`^a8!6BM^&?Ym6H{{ORbF)NA6(Ue6EZm?tYqLtvh(pd4k`< zQCU-*bmciRPERGC1M7g~(g?uu(w29No!De}GqmKBWbq|j%i!lzCTbf)U6=RtO;TBl z>;TTdaQ=iHI*!GrGcfGaq0Zr7-O|=Z0cNXxEv?GmwZ|pMN@q+caLcC#*46o;Vn5ti zz=j}8uinn&aAS$}XOAq2U8bI;mlPG(%rEa`;PCWi63r}6R2MeXM(K<_8?4$CWBV+3 zgq3}?WF^59*dBEkWe?2Q>t+Qogaz!wxO>03L%hAova3Wtz^0At;#<9$*)AJfEB}6t?x4Lzk%Fik=9ff|j*~{n1 zB@6R&6?&3g$3%;5uiWFhcxGU6aKaKhXp|j9&ZN!4URdeLZ=Zw_2TkFY@J7x>!!$VS z1yjWwzm(|X5!NR1;=vA4U(Q#smJ77oepv4_Z%)o5rqmTBo29uyL(v6 zNkGH2F_%hpurmx&e?~xuHhqnw9KwV<(pk9NDY$e5j>q=NRx3vbG{3e<#)T}eWWzG2 zP4ch>8PLc=5m;-Z=1#)Yzeu%6=eS^WcrufFA9+-4+DguIqDo_TcS>E>lGS6{z7fXO zY8`AJH)*n%(C7ULxB~3fX1VXCq#E=2Ro63GoepTFThg8{GL+NW`Rp1-U16Mp3trtt z8D=MF3y#5OV+ekms_=-1^Aabch(dEt5mf~-6_ zB)8>$VRQWd#Y3r#QdeV&fki>hJBauU3*7y>`>|QZAk@llyv0%8+_oSGEy&!uU}j36pq;K^!hb4%+}m{)p%%*vHc*LA=@!N zaU53ESy?nId}Y{xMdDo>2dlxk$J1E9jPpF_9_!MJ6M5Jq9f{#2Dq^nagS}IWbE-|^ z2FS#NU|g^Qw(SxFOoxZl)_+RLGRDouODBgaJe-ZioCgVg54|EubGQ@IypvXt~fRSl#G0%{mSQf8K!Xz+}dRcOBql2*X$OA9*Mv>wMUm$0})+>)t(4u4tZDw+X_| zJ#v!M$56)nNfX$}StwMU4n%R}BVW(SQNAmX=~W5ZFoN6UlpjAvC}PMS9O{4|Sr=JH znV#233m^9^A~mHaj~T+Q(}MC))l+AEv7@xdzImsGj}O+x(Ea(o z$F$bcLPJg=q_$OCA+xh%* zcH(f$bmQ%>EaaqeCxr^Jo;x$i2shhGcnF6N(}6&QPEPJ4@pJ1a_q0y7aHyitoh_T6 zjPSQR%H%zHhd{g&A4a9tQC<|pP7 zrUAahQTBS$?Xg7oLIWUaOcLs%0T_wtnG2p%*v11FoDbamLV)zN1xK^oqs#sa?46f1 zjzIM)x2g&|hSwdWvpu*y(RJZJoQT`LEz$RRg^tTp9`^`kIE|b0c7!Z!7Pdnl8P%H# zY;B``ipN0Gii04LN^S+vajDH2`7lYWMVBTIG7&wW)eUdw)vsJ~^`19;KH;tacq!f$ zBnTP{<;y5er+NJm2DyJ3b_yXwPKCqwTdRGIQe5RZKY4PJJ3ZhT#?_#Ae=$eAdW+eC z{8IDEtU7J1b57FtP!9DylsF3FuglZ(Cir9Vtmb>>5xX=md8BD152VnMLc0-D1rH$% z1Pz&|&J&A3387!P$B>aMXpgWg9--yL5k10$Wbb~IJl-s1eBC&pYW*BnwTry5uCaH( zjniEC0n2vJFh0xkF{3Ud1A^Y4cYrC?Qak%@_Q{REMU;7*56Xahr< zPJE>UC%I>ZSf@_C_ilN*wbSE5{~m57P6B2nZ)X+Q8WuZ9JiJBTvyKa67ol{b+@~fk~B$N~eGl19UeIN8ja{XA2Sy z&7C3a&*HVfi@uUWk`;CY=bdn*_?w8@UDesW)~@Ewy{uWbS70D0Y25q4p3fc7+XnQp zvh1U6>1By<$n+S_vh4C1Ut>*vGOE)H!60}&pWAHr(8zL&)8o#Ru)iQ|SUt>~r(+6H zsL%r$hpp;Vs7!ylD{QqOy!=N%aeNden>BlL#D$+U|HwFRp4FC;>qV`S?(g};Xl47E$3sQYn(Y} zXDUZ;Ogb;b<`k&Eub@4td?j{??_9tPFF|p_Jj~c%3hkUG*}N==t7sAooYjGtW7`oi z%G5YjLygd|Xq7Wvn0^S^Iw^z&PVGue#Eb;-_dmBo%rGCUIn>&$zZ%IUlMVH?#wO;i zWhjC7)ZLA%ipfHVF#Flv()1o18F7#Yx(e-dMQ#%9WV73SbXy3!a=kC;7lI^9&IsbMA#dEXvO3PDi;Gfgtlm$Jttl6K$l8RiCEG*R0;z4r`^S zh+tm3=SK${QU)&7`neixcKqRKTaawYuTrO%H+J}|UG%UdTWPro<#zhZx@KXrUg$Ob zWky_osK@!t2}6GcG)rb3uX#+3&+4uyz!L6Ean2UlhJZ-#9^@?g4e8y3+h8Ear0w0V zY{YrU%kU6Cp}_>9O7+Y+vfOh;OXAT>KhGeAImgejP@D{Si#R7Mc)W{qI~}?6_E_R* zLB2@K-5N!fG1M&Nsv7$-ROIibVCZ;HS5;z(PP%g1`@0uzbTfZEG>i_wgP+_BH9D{3 zY$T(K1b-#Hj$msqKm35a?#%zh>t2DLF)f{>dFqP8*sOOp-)nuz;J)TKC2YR{iIe5S z=g_vi_avO-FJ?R^@5PLq-^+g-GWXKj5ArzVM1Sfb_%Ko?H$e;$d?Rg>+v%NhVRnk!j!m z!s@ARlpZb?lzX-sh1LyWHQqI%m|}loH%vCnL#7_x55o=hZ>tYh@Ki-nIM4GRtl)^q zWT$yOSh3|(74R;O9&P2Riu8zgq)jN- zpSO6fGi|A-t#i0H>REbz0iNLITXF}nGjbQc3xq5>FdobQv@y31Rs)|&yG~uVkXTUA z22vpHab$GN7#=kV#)wk_JqNY9#2Qes=oH%2C~IIXbZ5m;%uCK&~s{Hd|| z`3K36yu3n?-}1mc-pQ@h)u-VK+mVHG_syxY8*qZLh)_20A*AOMYwa89orLu^4aR~V z?k}t^t(O|WPwFu8|F7S%x%rik$)?+uA13RD)d6*Q4wSb}GebigUS`KOZx>&G6TlXkZO3tat6dN01# z*8DS3owgP7G~RU|ipHBx?Bvb~XB}Dhy8-n8597c|-1b4Q3(n?Vi%Fb4NKCKOo;w80 z0hoF@ZS<^k&gqB84`%E1zs-H&e7_vr$sdKrOLK@bhnIQpN|rOUW?xQt2uco%E9XT0 zk1vAg>RL=XA+p}z+$+Zv8Xck#)<@h=-@r1{Uje89m^c<@Ro&_2=hx zU=)>hUW*>Wy$bL8`#86gU4ZOB4Q5*T%XfdJBWG!cdW1#*^$D#2T`_GI$N|d`CEX9V z2}6W3xgEaHMoq!J+d2#FI~tpkqZ>BmZ5Zk#%It7fO{N@n97dcE!p5$zwNDCC{-N0{ z^J&G6nQS-QcS)5^+k)6BN%WvG<{pht;+Sl{Jy)6(Ge+QjPVX=#4gN4)R+LZnw+HLD zfzTFm8oMvR@?W%*>`)o3mR1)k@_q@Wai2tOQQpo81Cv1Krxtn;WcjTJi zs(5$1W11mTvfGZlF{z!mPxyN$TD=SKWZFgs+Cw*U$C-+{%B)1v`Bn_3C1*cS*WnK= zknADVZNAqU^@b(P;{AXxIZxam{}{}FB{#{8@deG}$jT{)IX?g^C~GtFxHp5T%>qWa z-rqsNGv--SktyEdd?`%0(9fcz^`4lvt9h}}lU|{~tB-TfTIPr(C%G`MgTraU!U8@Z$hp z&WylWpz_V(qxBFijUHd=A-oEB7OqM&qvxSKFYT`a82N; zpxXPfz%wHK6QJr_8}W64XM?KeoWS!y-G4qGmH%lzs{eBlzYtXZizEK|z)L{o`w|~r zzbx>pfnN*U7aRiNs}1OE{C0;v3d416*0rNEa1{{*VMSNW*@|KOwg z-r%Eh-{PZk-sYq9cO(8@;HE%jQvM96@hk?Fzk9^XL6zS-;{8G8=P@lWe_-GsQ1{iu z^WH~6;SQ_2FRaXP9PrgJ+K_S2h{cZL6!HLh(86YpU(z9530OBgZ$Ym1Zu}$LFIc5 z>Z%NY!+{2`#)RUh%;alJ8cWZ-C!KN~}! z@^%Gv|89}K2k7$!YJB)DQZIKhDE@m8sPQ-))O|+;9tkS{F%dr&R5{0k{MoXIpA4$r zk3@V8sQW$!s=U)9ekRDDe)Gj~ZKR(A4kmpgsQllE>sNs4|8)_+A+CQj(!Ue&?}DoD z*1#Wt{MnBPbpMY79|TqYLlJ)rRK0i|J>TEs`u_#K4)SOJBv8NKjQHE2%6TW!--~o* zQaTP8zYo8>$8j|{c8hd23%$G^kzN+a`zt+Pc_1%t_jqL>=Nvp<704c&*TZI4Ulra+Vn&)*U_I?{KF_}GY#i})@P-!*Wzz}@5e zo`Dkr_m1oP1nwKSU*P_r+B-4g9O3bJTi^kK(?HGpjEK()WV^%rb8y6Yb*IPiM0z=g zM0`OYJO6%tVc?=b9^dzIToUo41CI$jHgIX+ae>E!;u9+(&eosT`;oxafu{z36cpX? z+7{3E@xV_6eloBla2+VR-Vk^};3c5w`CFjszXepew}SlH9RymZcY(V8zk!c{8t+Fz z<$o;j=b-olZvgfBo&k0L3vvCApvM1C5&tu&cD)9w{5L@HS2TPtm$#vKJFtx& z0aX2sAb-{p@zJ2l+a=;0Qu6ELBfb|%6}B&^cJBu&e_O<-fGT%t#HU64z`z-SvjW=# z=YZ-budMZQ4-H%xxCm6ehX)=Ncue4Npz1vVRJ)deY8OY89Z!w)(*i#l_%TrTeLV0J zpz1j*a2?p6_?P1PWr1G}{2Dlf>vw>v?`}}@a6ecE{sL6_zXJKQ-xBEhGoa@AB~bd) z+aQ1T9)a4wDNuu=abbhnuXhJ^KaYgF+-m@pe*~!Vc8d5IQ1y-r#8~it?G7s6z94@# zi9qd~8Sy!w%3lcT{=-0(zc}!4uz@&+g}3LNNIw@;{tckU@6({lxj5oqi0faB_+_BV z{Yu2Y7S}g|YR?VeK=3D#&M!%M{`*1A$5WvC@yEFS5~%Te1?10O3;ZXj^@+jk_p?pr zH_Y>l4@yR5^8^>Ky@U z99rV~=)f_7;{x$4`grUMD*q%<_w)Rgmp?6#_k8-e9|g+hI}=nsd_JDwn8gTSvw`bJRwyFAjb2)q*1xPLpYe>d>^AVX$9i1?2{m3wEz z?*`Ss`#_B!Pi=Yq56AVN1wIz|3sCg+`-ndY>i*{<{ybPs{2fsB;wtfSd1a%wn;%1R z`sX!hp3df{*Vi}V13>j}ASiloh+H+Fia!~fbCqdnJHmLf}i|e0?_-6wz3j9LgmqF3P z6<|N`Hc;i?0ct(|8dQ0_zuNOX52~FnfZ~U5MEuRbw*ub=HGl7dx}U=hj-1}{@;Qv= z@iI{TtcvtLpw`E*xIP@D2pa_|-_D@g$4g%wcMseXRJ+E5s&{Wt_3j_(t$`B*CxI%b zEs#ef{r;&DpAM?tgCl(osCixpims1~^y33h2wVpG`~)tK^c8_TVDHyI61Y0>)VO{c zsP>-@s=sG}8t02a_2*Jh{rn=RdcGX#{{yOhSH|_L;`%iazc%96gDU^Vh<_{M-vL$r zEuhN3HPY{h^gAQ{E>Lv#6Hw#xFev(YJkp;4RsPd){l$p?2~@d%2361BBK|6=*HYaeXkT@v8$hE*v)W`&vM)&wW6Z+Xkv# zoU8NeQv;_59t5gCvq1jz1JRy;Vc?>`!$9RbB5+Bh9}TMA$3}c9DEe6yaUK)$>!*V1 z&*>3ABd&h}R6p3-@_Nq(RnNJBp9=g8sCq5{)t}D=UKn^$T>pH;FNyf2fnSRBFGu_< z5&tTv`Y(_4D>mL(A^=A?&e!3vyhXyVTTm*^^PmcIemub{Wu}wycXZ%t3b)svq6pDhQQATUJUB~FMti;?V#q3SD$+MKL*wQ`#|M;02E#R zJg)y5RQvt_s-D+D<^N|~e=G1^P~~zK#rs`sfuQ8W=!lO2Ro~8_#$$I-{oW(e zCq#TNQ02CQ^2_nGppXAzQ1>4R>b|2um2)g8`>6xexStPdKE4EM-Zp}2&*h-*yCULO zfg0a$f~xO3pzi-+T)z|4xbWzh*Yi`5F57QFwS&i7{rdBu?*9|0`u-kqHfFrOH$mlp zC(_xF^YZvLNxzR@no8>(RC{VbwRae(_SS-GS4-e-k-j^q{!a+p7Zg3P3+VOn`fe}( zAW;2aQ_#zsAIMLLczgk<_ALTc@8ZBC;`)(+M}d`GUkR$6r-7>P46qUW2B`jD2dZ5+ zg8bPJ2vj~>PM&@*sD5$!(A)Q5Tz?qU`2H5u{k)0M>E~5Y?c%)#Uf;h!-Ty}5o1pUZ zG6B!`UZigdRHK!j%}+=6{2U7dIsWN!4!ZgMC7|Y$pEvP#bF9#>^Zp-44t+cFb19CT z2lM;-M|=RN{_?1Zrw;)&Uc=*h1E}`$$cSHW0oCt4K+O~HU3U9uF{tr87F2sq1VsmH zK#j*~pvw6;sQ#T1_z6(;ogH{SsC*ZIy6?iki$Rt9rMUi8Q0?YtGCltl5x*K#`PW38 zV`(1exU1*C2~@c^NBXxx)%Sf+a^(KF{$Suw10Mux`D!nx z29*7_J19PR0I2bt0jj>4pzb>u6dyb`;wOM=$BCfEdpW57of>#1sQW(|cowK~&W`wc zQ1_o3xB*lq33{`G-31b#E{Mo{5oSGFF}ph?;`$G;B%nLdoiy6CGh`1)%!Xq z{e=f-yj&ha^?vpPRo_5R?W&FI^`O?*7_bqX2P)s8pxS#_#Q9Y#FK-E`b{!9Dulkdq z>OCv2uLXw_zcSLV0#(kn5x)*p`)>kO&i6pocUxS)J@5_?614~8`XiD4v%p6|joZ&b z@rB<<`V*1@DaT0g5mwez${|5)J1LFMlNRW2_{_xO3B@_#zgKLe^g z7e)MHQ1xE|>i)|j{VS3FKY?G5>sQ6~s{^lz>(@p6`alkIdOvQ8__qRYj&xp5>GjDXEL6!F$sPdkV^cN!jV&KalQ)X|2YUid%FF=V_eceFm$#q~eI6cy5f-1iq zRQYoP=LH@D>i$Kb+I3jq;=sc}Sh6h#HLjpm-m2*8v)9go}=Itk- z=ItR+e&Lruwc}5q^8YpBuY&5=KO+52Q0;jO)cu{0r1uXT z2&%rp5g!Wb{t=++9|`Kd7Et*{gDQ7y;4YxrwI?XPHwje!$)Nf@Gvc#At+T^Hm2)Jh zb}xJsU0*dZG5%DuY)w>SVcy9z%?&Xnw4XFIz1u;GB?znz0sCplW z_(Pz||0$^Y9*y{8pvLXDp!)j+sPdlzmG3!F^}iVLKS%skQ2G8I_Fb`bR z<;(*$FGqmNza-L^1}+0t-ie^fSq&=RX`ssaB&c%Mfy#Gw#Lokj?|e}G{|u;czBsO5 z8hBY;|0?L~0#rHIL^`kR^7!?j>iZ6;alSRuZv$2S9iYbNfw=w%sCNB4uKyBLdmaZ> z{%<1w`?&sOq(24fzULzS`G~&+vZU-CQ1|~k;=NFc)UIk!{TmAUdI3deyMSunZlLbl zJ>q+U;!o2-(dGO|UjQoKp`hBaIPj=QUlMpUsB({u>n8-B9M_k}bxyH+`#u`+(?N~H zCqRw&xuC}L)1d1845)H1i1_Csei0}>btS0$*MVx^jiBh_mWba0>i!=F-Wlolf*PlX zK-K?9Tz?eQcs&lPyx)T=@A6F`a7V?EyVcH{UxCC^NVbr&JQwp zIJCUBHj-aT@MD8uNhSNBLiDN&EL+T z=%Wo(duM?vryW#3=0ucls*@5Q-o(C%bhKQdZ@lQwmvk|`_;ul8zqKJP!;+I7H(ujXC;$H^UzOP37 zYoNyQO0X9E38?z-12ygsf*O~fMf?|W{gR3dM}F|gAitvS>tSPDzdX{f0JUy!0JU!J09EgOpvt)))Hpl@svaJi z^Yq6+mH+dI{}NRF{2-fOe+E>!FM-nQcwvdpH_tZs^)gWR^D~l;<)G>x0;;}Yf%SnS zK;>@))h=GW>evFRU1Q?iuM3N8q}+esmwH zeNg#t3A{D%Hc;)lBjP`Z_>Thb0#)w4f%k#x??Z9@VNm?$m!RtV4XE|=6sUZE0JRSP z7V+0X@kJRE8fRYO>V8xg+(R6W;&s`q=K+QqNA`8fO#RQY#;lCO`&^Eok zv!KTNxxha}`U`{0)XFt4uQ$e+J8mRha1h#{^{}5339~O8NsPc~nmH)U%KM7Ph zC&%>_fv14VwQK#lv^fu9Cd?q@;OcQL4O_yVZ;=6xw%{xyNug35nAsC+jD z-VCbzTR=$7eh#W#zX<##sQizEy8pMJ+V^C{pN{w+BK|_eUyk^nBmOr~?R-7(&A9$H zsPf+hRquO|E+b3z@m2}1kKa-A>%6GSk+*C3ePt2v8CV`z0jghpBi=8tf8YR6h~_7+PQ1Q_XO3ieIk9|!2JUE2UX8RQ0K3&jwZAxq+VoRo*6K;8Fd#Qz;=wQ0OdL9N%}pz<{YjsR8vC{XR$3Do%S1uDH2 zRQe=P?Vl1j4b=5npvs#a*bXY+Tu|*?0P6aofeQl{1s)c-7*zhFK;3@~sCt(M9uKOV z69SikqN9&Qd=;p9KND0rYeD5-2P)tB5&tx(>z|AGg`oOzDX4nC465F*fSR`}L8V^< zs=R9huLE`8w<3NssQbPHs{C6bep}!jk$xwra_$PeJMbP*_y0KXK2Y^O5b=is9|m>* zBcST}dEl=><^OHq6QIg_D)1Rl_dN@WPrMZImqCr&>!9Y{>e9OE1FHN1frA5wfm%1C zB0e^7*T6kN)jI(cz3vzBR#5Gm466PE!2*JutwVE|k9sC2V2m2Ff zTm}UW1vPG?zyfe|;7*|K-xXAQ_5d^Bcu@H!fIdEv-WoV5u1^LvFS9_Ee^^{UJn%?R zk#D4^;-4B2o$45cQi{F76@Ci`mJPE3vzkt&7-UBnBHt&R)z#>rPl!3ah zC#e2Zf$IMNP<*~It~Y^d&!~ux22l}gdZf<`JQ!3xb3u*6VUd0$sCtfy>qkfWabO|o z%Od?GQ2Oxc5kCV|y=Q@i;5tzKx&%}|uLM=@RiMWICQ$tNK~U}ZDOd>pEaH!WD(_d3 z{u@yJeJZX$1FGFGMfzVsmH#(TSAd$QfuPDA2C5x(pvtKS zb>E1<=13n27LmSFq>lr2AHSaA<%|a<@8`tz`Jl=>1S|p<1s(ya{3Q`z3M$`mfyaX? zcNwU5t^qY}XM(z~162OCf$IX#28&2P57hX44pcc8Mf}U4^xf-0-G2k9@^1k}S3dxi z|3`8CPOymhy`ai_2-Nk5BmJ?6|03{Lfscb4*C!+XG^qNX0oDFLMEVO6e+d*F|0~kp z4162ZeeVSRJMdjl?d7Kiy}WLLyl%|f*8?o#dIhNaD+BqFHNV~)R6F`bd_Y{Uj`$!@ z_YaNqVS%-Ay*}c@BR(RqDbkxG-V!)Ea7 zQlw7?H7`>len8;Vz-eGNuFnKDFLOcVpAV{^3qjSt7}UBxF|MBsivOM-@iRc>KMT}+ zT@dLP23`!R{4aqT_b*5KS0et^h<`2OUyt}V0Y-W_bHw}g|`sY z+X0?`s;Qi5w6mT%RLgYFbD+0#hUb~#<;?W&Gd<5tPnqT6Y%ihRueN(#?VjH5wX~c1 zKG(0#^{aEeWQ~l{)71rhS6rd`GS73)_nZqnWr5ebh?dsdA}{|8Qil8g2GZJnWGA!d ztWj?!Wuk{|9!~SH-NSVC48H5WX8zCNqZv^+#>2e{ceZhayLh;}hZCu#nR1nX5-o4` zF;_U-zbn0sD+;F*YP1y|N;sV~g-V(3C1`}3nNi)Vu~n$=v%KWlUXI4LnUAh&Jk{1I zgc?1CYQsFnM4_(E<2@41r0TB2nBivLBQY;%O+8Hi_x65H^KhP1-e_oZ7vekFZj8xJ zPCuf>#eBw*qEPX1wh!TM{(ZcsPw;RetsO%v+dQ1^;S3LFdN|9&b`R%zIG=D5eNm|I z8bgJ1JXD^^p58{OV<=ZSHL41gvyFa@AywsToE08QD5_SdoKyX-sb1zZPuDDr@mWx) zS~Lq|>>$r6Y9GUl=w8js7@rq~hxqq}gtI*7Y_CzXGlqO>v*t*lzH5#Ys)RY-3(@}= zYMSh!+Mu3%s-iUYb^lX6^tR zoBKb}za8k|3_{J6!gj*x^iSa|59bkTOvW+-x=Z6QmTU6~)klSM2-VK9-cE%J`F;p1 zW~`|tW1+ptPB)`H+>dai9Zo1J6D5uFaJ+{TJjNR>`9IP_-Ie{XRXEP?8fUxu_q_>s zhU%26a90oaFr`m`YmVdFG{Svohw_c|m7K!S{$2O)VtW$q#%E{Gud>n_sQ21NdYIZf zf$zIgvhLB<3FK6*BcnxX*B*QqDpYRe*QefB)M#Hb6XM(qXFGgpq z?M0q(glhR-UcbU!_^#1WxVzUn(Z^^Wp=dziY(mkYMtQo2vpj6~Fs0Aq`+oFpAMTm# zp{`Ei-hJqa?mB=n_Tk$^58FJP;^9mWRpxYRQ>fCWdwx;lKHd_AbNH?mw-2pR9#N*k zg@p6yyTbiE+}}ghC5qjb(HZ069v+VOaDs<3J#6=Iu7~poHEa7ihuPQH#lF-#o0Nrw z`@w5RdZ_Q>vkFHOiW@1MODI&B{_hV;rte4VXAz3G>_?gNZGZB$c{tBny+%pJy~sV0 zT;jI+Hp$oMBudu!O5#oCzrraV9^|2TNgMwaDqSP5P%=lnbfWV~g;V*S^bBzjeb-&m z3KWVTh)XC`jhc~(&N;Js$qdFo-$#2Wjw@cOQ1{NDX9{)i4Em^WA>m9Pg_+(qNx;-Y zh3d;JZ^JBa+bpkLT8GkA&Ma@kEH9_s^S67A?M@x-epR(fW~=XWyqr0nXO5Sq8C1G* z&GB;PdX3`G6RAVJnCtoH(pP=g3YcpLd#E;u>J*9-i|Qs4AL*gSLDv+jFVbohs?2#_ z<~;7uca6q;#zUb-SiF5AB`Ux4pNYseU0vw2ywFE@q0it#Z_gr1o5Z#K2sLw}kI5dk zdpOs_MTC;GlDkt04+KR+DO3s4?zBFo#mx4cv#EI!Bcr=CCJN^f&iC@?dw%I0lW3dn zS{Nykb>gTB_a@ZpP$&wOPNZJv~g}Q6Dmnp47-_{PgM0*}JGMbrYKhiw8}}s6K9ldF8HH-YY`=Fl97VlSjgp?~oBAu7 zQK)`Nzf`DlMBfV4qq%;sc$4&Rl^{B4gAxuWl+M{^XHt&FXtalWdAK*BY%+x-J>1kR~<-N>jSL3<_2I4EmAfo{}c|t{Nrx6{;7K`&nyE znuoq?re;!uLgkt1<JjmkRgwQ1dHYL7{rB5*2E+q+KXf-{*ME z(kt{`?VRKFO1sl{wNv_rLXE#xpF*`{uD4{aw?r#ZDQbzr%2#MKolP10GR zYSC(y+)~Nn^9ohkJZu7mDpMM>LX|AJu2AJC4yCg6UA>duqEI!?b1InU^@;;1MYYf4 zze3e69b2J#CkY~cr_vVqT*xOP-Z#=i@rpye-b20oL%rlfy)@}OQz%P0C4CgCOmUkj z_%}qU;us1w50Y~Vl_EVsp?aV-m}W`dfvJ3#POEU1hq_l%RiScfmKBPcG;Xq0lvC}W zN}EP{INHO#Jlva5Tuz~`%A=!DbRn*#PyeX8nu31tpUDc>g zcS_JoP%A_a3e^(nrP5_pvLvWNSy!SKh3Z%G8HqpZyLu%4tWf#Wx)QbNd#d$7|DMV@ z*uSd{;^7L_wppy~>9jz1$d9RTq=y<$arGpJ6smWk+v(2Fr6;LgQH4U4EUuf?oJ1#y zk`$_ZaZZKGDbA@-y%x_@sM^IR6{_B(dx^*CyXaE)C{&H2K!vFU(StaKbT!>8?x#@s z7kSDePdSouWQk37zuRo)Lw4Lj)Gg~;bep_`3K#HQ-V}wCJe1}qjYVO*hq6 zX@DM_AjMpG_g}O_9SE#$xONHvMd>RVXD)myKTCTP$ zR0&!&3RQx99g3^9vd0vP+ls0cDv$V>!UcrVPZTOeG%RgNwTohB(E550l_KAQ!qFb8 zC6d=#tLls7uELofscRTYE`Qa@mdxV6Birl;b;%{BGitMLZ!=AmG-$e zq2#qfS>~d1h3bD<_eXIHqVw-_o&5!+sWMTiEL*8Zi(Yy8< zYQb56tm!_Zb1o=rhnI<3qj^YPRus*^esmCx(QZZSNP|&L=fye;dB5^OWRP3Lt5AJD zFe@YGk+p5o7TsCX@CT9Ho$b;%Qqk4w0UT0Hg zJ8K2;VahBGl4{uu@2)-Foq9V@>`2t6ormPNt57?;nSXp8z6sxk+F!e&+N~GbipEmQ z`@c?k!c(yF*tH_FImWL;<3PWPvXHG|TUc+V4cbn96kW52$o|URp=fwJEg*^9KJnzd#p^~9NPRn2QQ2GU zAhE;skt3}5qVR)tiuLAVJ?C7QryKD24SVb_vuEFS8GrQ#22O{{?AbT*-Ocnf$P zYJrc5&qJO7){oE&J60=e9XzK|)p{fkT|hFdIn$$7QGLIo*`r;{_qDE{=1nr+XIMQf< zwli-lpF%g3c{%16NxB^wke>2#WnPqJ4g@dnzRT%hW0o8LGAN4 z@o~8J>d}IW%QOa6v?kA)H2<}W+=75|3Po9?4387Cz7pDCLwLauIO#b z%^0<1GV@yTYxq2r$ym7xxq-&|=q-^eHa68Sjm5@-dZY)aWw8j`ME>i{!*$kLwBd=d zh#s&Wy798-PAaqE+`#vt)nVOHU+fp^Q3=V(R$(m@N!S=VtBw()_WiJ9~>py>jYCx3cDM zQa%gchI+OmP;0U_*f@ueZbzWr)xc&JNh?RVZe(SQoRQ6Kc&q0nPg42M;fk9{B__sq z!xiC~4L+As(frfco;KLB*`QT!e96foc6XA_{8&{q#x=W@U0-@bEy%~>%lt!c(M<9) z(MHBm)l|zUXOMkdhQ+x z%@}V7TT_qD8q}Jz2K8%BQI=g4uslfCTy9G*@~am)t59QB8*(NbkS8^y=AxCCnR^i zAc@vlL|a&QyGWb%HCj{l6}`J`lHQG`QlMVs!`BJKQi%6Famt`Joh(SR9y8L%NXsYV zySr&%w^0-&$Alk;zEr^LP)|G)C!FsiXa#OUK2%RW_QLt6&dTgM3uUTMJF-NmHPIQe zj>~HJb(h{{4wReURMUF%OwU63Jgb2EHRsrSAU*OOkPLS-Vl#CVlHbi2_6xI~R7UOm zLG7^ds0FqJ)v-%Z9h!@x9bW=ki4P$Uz^cdxoes?&w){Hf-$V879rPBR$BVF0y61d* z_VgmW4Eto4@?FT>%6^>AZ78{hom=t^2c2;r-AF?v_AV z4C4OmLwGl2#qm{m9B#wY@O5|=)*krkhepdjY{HZ9bjb3fm~44Yp0nF17sYPlAK_(q z6F!88p>G3GP4*VoS9?4ywvcV~U6IVR`LR#XEcLzx#q0DI^+HQU)%seoqhHM)-iAge z11}f9Pw6<^gm*(XSH7(B#reCL2j87v%&EnX@`dZokW^1ob3bI$o<@fAA#KN-<0 zFCLGk(~#%9`#h!Jrp&6l#oP@=+U^5T-hqF49@-@=jJ>k^;rrA)AJW6``8Qu(9FJ$= iBz+n0;V|^~`s2TO@ZWj(hQ(sTjJ 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 N@GI`_n-Ipv{vTorDyIMd literal 0 HcmV?d00001 diff --git a/backend/FateMaster.API/FateMaster.API/.vs/FateMaster/FileContentIndex/f22928ac-3dfb-427b-9d28-02ce44c26d90.vsidx b/backend/FateMaster.API/FateMaster.API/.vs/FateMaster/FileContentIndex/f22928ac-3dfb-427b-9d28-02ce44c26d90.vsidx new file mode 100644 index 0000000000000000000000000000000000000000..04bf1b9eb5a13eaffd568672bd5db105d241f5fa GIT binary patch literal 5631 zcmaKvXJDJv6^5@vNSFy>Z;V+s1jQj?#3t0TE!%2kNs;9kr*4ZA3?*qu>ZFrG?Q}rt zo^+RPI_YlH1$3r+4+@m-y*C9K-uK)`^dHiv_qpG>=bn4+j59DeyllUe?l>aF=ZcIp zBM$aVZJ*t?d1lkjsmrE!&TO6Dv2$j2YUA{#Ei+eMIyEHIXqXDcdifzNq#p}{=P+1e3Yv)>%ETiJIhr^msIppqSRCmf&1sOGID&$8F zeeuk-EXrIyQdx5C1+8dp5l0PorL;NxRgha}N_(P}hSL|V2@b(wI0DP?;qVc#0!LvL)?gj3gAF(an{XUz z;KgtfZh()3Q}9vn(eN?w5;zSv!cFi}I0G+(m&3=xE8u3h1wIaLg;&CDa65cFoP|5! zPWS})MEE55WcU=QD?H}sD)=;bHM|Bs9nQgdxC=f5J`+9*J{w*OuY=El*Td(+=fUU0 z7r+<77r__9m%x|8m%*3ASHK(KE8(l)tKn){*Vjqr`|P4La|E%2@IZSd{z zCio8cPWUePZulPfUU)NnAACRj0Q?~Q5d1Lw2>dAg7~Bm%4nF}u2|oot4R3+B!rS0y z;Ai3I;OF5N;1}T@_$Byd_!an7_%---_zn0?_$~Nt_#OCN_&xZ2_yhPucsu+NyaV0| z?}9&ucf+5+pTeKPpTl3kU&3F(U&G(P-@@O)-@`w^Kf*u3Kf}Mkzrw%4zr%mPf5Lyk zf5ZR4d*FZJz3@JGKl~ru3w>GWNo{Ze+y^d%`@%(VG29RC4-bF`!h_(!a0y%r4}r_z zq3|$xI6ML#36FwD!(-sF@HlupJOQ2vPlE06WY_^ufv3XL;OX!T*a^GfneZ&Q9G(pe za0Tp!E8#hC6xi^VUu&o^o@c8q^@ua3c`e1dc^q!j z8q>JS9*xyy_nY%|ZzX*lsT6yoq#1L$5tK86=wHEQJMD-e%^z+z<6{kx&E-yza zN&b{UynRkG-6gnw&|L(OM>ea5qd{o1ysyuRk*0Cr%rdPkLydB4@ zZ>>qaT4nV*BHa*udd(ftbL#owVlAC#oJgCiOa4 zo1({9)vs6T6Y1U25n7kJ-_}SxueqJa)2Xsor>ZC}H!1tfHl3w=wcR7I+S5_9S6%%&rf1{-`@T!Id|&#G z^cm<6%{QX=L?PN0QO}~!sI@oLt$Y@(gQ4p}8`6B1ywg4Y;m{3I=Vq-+y@Ebzj^Mp( zwcTsvx{lDUP|uxrh}YX0`4-Bzi_fbq&cr$rn$Pi=%3f1vkbWH_`c^_==n?U(x0_}{H&+*Xyi-#g-d jpNNxCijz=^Gv7>C$2`YB!IFjgE#+knmTlB$bV=p|IAjMp literal 0 HcmV?d00001 diff --git a/backend/FateMaster.API/FateMaster.API/.vs/FateMaster/FileContentIndex/fe402726-679e-408e-9088-fcf495ad9272.vsidx b/backend/FateMaster.API/FateMaster.API/.vs/FateMaster/FileContentIndex/fe402726-679e-408e-9088-fcf495ad9272.vsidx new file mode 100644 index 0000000000000000000000000000000000000000..12b04721aa6268282d660a0886e8dd3ee6413a4c GIT binary patch literal 208 zcmZ>EaTnxZU|7Qd0hv%b6-c{S#S|3fXQd{W#H1ybq~<0Tm!uZOBqb(ir{<-^xB-QH z!9seD0iJlc;i*Yr6#+&0=|zdT@p-A`ddbEAp@0QyAv2JMv4QS^v)Q2XAPOYU59K#N L=^iLO14;t`_2e$d literal 0 HcmV?d00001 diff --git a/backend/FateMaster.API/FateMaster.API/.vs/FateMaster/config/applicationhost.config b/backend/FateMaster.API/FateMaster.API/.vs/FateMaster/config/applicationhost.config new file mode 100644 index 0000000..cdd2df8 --- /dev/null +++ b/backend/FateMaster.API/FateMaster.API/.vs/FateMaster/config/applicationhost.config @@ -0,0 +1,1026 @@ + + + + + + + +