From 4d60893dbe715ef144b546ddda13c52e0fba5877 Mon Sep 17 00:00:00 2001 From: lkddi Date: Thu, 26 Mar 2026 11:15:11 +0800 Subject: [PATCH] =?UTF-8?q?feat(ai):=20=E5=B0=86=E5=B0=8F=E7=8F=AD?= =?UTF-8?q?=E9=95=BF=E5=8D=87=E7=BA=A7=E4=B8=BA=E5=AE=8C=E5=85=A8=E7=8B=AC?= =?UTF-8?q?=E7=AB=8B=E7=9A=84=E5=AE=9E=E4=BD=93=E7=94=A8=E6=88=B7=E5=B9=B6?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E9=9A=8F=E6=9C=BA=E9=87=91=E5=B8=81=E5=8F=91?= =?UTF-8?q?=E6=94=BE=E5=8F=8A=E6=8C=81=E7=BB=AD=E5=9C=A8=E7=BA=BF=E5=88=B7?= =?UTF-8?q?=E7=BA=A7=EF=BC=8C=E8=AE=BE=E5=AE=9A=E4=B8=BA=E5=A5=B3=E5=85=B5?= =?UTF-8?q?=E4=BA=BA=E8=AE=BE=E5=B9=B6=E4=BD=BF=E7=94=A8=E8=87=AA=E5=AE=9A?= =?UTF-8?q?=E4=B9=89=E5=A4=B4=E5=83=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Console/Commands/AiHeartbeatCommand.php | 199 ++++++++++++++++++ app/Enums/CurrencySource.php | 4 + app/Events/ChatBotToggled.php | 34 +++ .../Admin/AiProviderController.php | 115 +++++++++- app/Http/Controllers/ChatBotController.php | 84 +++++--- app/Services/AiChatService.php | 4 +- public/images/ai_bot_cn_girl.png | Bin 0 -> 41606 bytes public/images/ai_bot_female.png | Bin 0 -> 31617 bytes resources/js/chat.js | 7 + .../views/admin/ai-providers/index.blade.php | 66 ++++-- resources/views/chat/frame.blade.php | 25 ++- .../views/chat/partials/ai-chatbot.blade.php | 14 -- .../views/chat/partials/scripts.blade.php | 68 +++--- routes/console.php | 3 + routes/web.php | 1 + storage/app/public/avatars/ai_bot_cn_girl.png | Bin 0 -> 41606 bytes 16 files changed, 523 insertions(+), 101 deletions(-) create mode 100644 app/Console/Commands/AiHeartbeatCommand.php create mode 100644 app/Events/ChatBotToggled.php create mode 100644 public/images/ai_bot_cn_girl.png create mode 100644 public/images/ai_bot_female.png create mode 100644 storage/app/public/avatars/ai_bot_cn_girl.png diff --git a/app/Console/Commands/AiHeartbeatCommand.php b/app/Console/Commands/AiHeartbeatCommand.php new file mode 100644 index 0000000..0d59ff1 --- /dev/null +++ b/app/Console/Commands/AiHeartbeatCommand.php @@ -0,0 +1,199 @@ +first(); + if (! $user) { + return Command::SUCCESS; + } + + // 3. 常规心跳经验与金币发放 + // (模拟前端每30-60秒发一次心跳的过程,此处每分钟跑一次,发放单人心跳奖励) + $expGain = $this->parseRewardValue(Sysparam::getValue('exp_per_heartbeat', '1')); + if ($expGain > 0) { + $expMultiplier = $this->vipService->getExpMultiplier($user); + $actualExpGain = (int) round($expGain * $expMultiplier); + $user->exp_num += $actualExpGain; + } + + $jjbGain = $this->parseRewardValue(Sysparam::getValue('jjb_per_heartbeat', '0')); + if ($jjbGain > 0) { + $jjbMultiplier = $this->vipService->getJjbMultiplier($user); + $actualJjbGain = (int) round($jjbGain * $jjbMultiplier); + $user->jjb = ($user->jjb ?? 0) + $actualJjbGain; + } + + $user->save(); + $user->refresh(); + + // 4. 重算等级(基础心跳升级) + $superLevel = (int) Sysparam::getValue('superlevel', '100'); + $leveledUp = $this->calculateNewLevel($user, $superLevel); + + // 5. 随机事件触发 + $eventChance = (int) Sysparam::getValue('auto_event_chance', '10'); + if ($eventChance > 0 && rand(1, 100) <= $eventChance) { + $autoEvent = Autoact::randomEvent(); + if ($autoEvent) { + // 执行随机事件的金钱经验惩奖 + if ($autoEvent->exp_change !== 0) { + $this->currencyService->change( + $user, 'exp', $autoEvent->exp_change, CurrencySource::AUTO_EVENT, "随机事件:{$autoEvent->text_body}", 1 + ); + } + if ($autoEvent->jjb_change !== 0) { + $this->currencyService->change( + $user, 'gold', $autoEvent->jjb_change, CurrencySource::AUTO_EVENT, "随机事件:{$autoEvent->text_body}", 1 + ); + } + + $user->refresh(); + + // 重新计算等级 + if ($this->calculateNewLevel($user, $superLevel)) { + $leveledUp = true; + } + + // 广播随机事件 + $this->broadcastSystemMessage( + '星海小博士', + $autoEvent->renderText($user->username), + match ($autoEvent->event_type) { + 'good' => '#16a34a', + 'bad' => '#dc2626', + default => '#7c3aed', + } + ); + } + } + + // 6. 如果由于心跳或事件导致了升级,广播升级消息 + if ($leveledUp) { + $this->broadcastSystemMessage( + '系统传音', + "🌟 天道酬勤!恭喜侠客【{$user->username}】挂机苦修,境界突破至 LV.{$user->user_level}!", + '#d97706', + '大声宣告' + ); + } + + return Command::SUCCESS; + } + + /** + * 计算并更新用户等级 + */ + private function calculateNewLevel(User $user, int $superLevel): bool + { + $oldLevel = $user->user_level; + + if ($oldLevel >= $superLevel) { + return false; // 管理员不自动升降级 + } + + $newLevel = Sysparam::calculateLevel($user->exp_num); + if ($newLevel !== $oldLevel && $newLevel < $superLevel) { + $user->user_level = $newLevel; + $user->save(); + + return $newLevel > $oldLevel; + } + + return false; + } + + /** + * 解析配置的奖励范围,如 "1" 或 "1-5" + */ + private function parseRewardValue(string $raw): int + { + $raw = trim($raw); + if (str_contains($raw, '-')) { + [$min, $max] = explode('-', $raw, 2); + + return rand((int) $min, (int) $max); + } + + return (int) $raw; + } + + /** + * 往所有活跃房间发送系统广播消息 + */ + private function broadcastSystemMessage(string $fromUser, string $content, string $color, string $action = ''): void + { + $activeRoomIds = $this->chatState->getAllActiveRoomIds(); + if (empty($activeRoomIds)) { + $activeRoomIds = [1]; + } + + foreach ($activeRoomIds as $roomId) { + $sysMsg = [ + 'id' => $this->chatState->nextMessageId($roomId), + 'room_id' => $roomId, + 'from_user' => $fromUser, + 'to_user' => '大家', + 'content' => $content, + 'is_secret' => false, + 'font_color' => $color, + 'action' => $action, + 'sent_at' => now()->toDateTimeString(), + ]; + + $this->chatState->pushMessage($roomId, $sysMsg); + broadcast(new MessageSent($roomId, $sysMsg)); + SaveMessageJob::dispatch($sysMsg); + } + } +} diff --git a/app/Enums/CurrencySource.php b/app/Enums/CurrencySource.php index 9101414..f6d88b3 100644 --- a/app/Enums/CurrencySource.php +++ b/app/Enums/CurrencySource.php @@ -44,6 +44,9 @@ enum CurrencySource: string /** AI赠送福利(用户向AI祈求获得的随机奖励) */ case AI_GIFT = 'ai_gift'; + /** 赠人玫瑰(用户或AI对外发放金币红包) */ + case GIFT_SENT = 'gift_sent'; + // ─── 以后新增活动,在这里加一行即可,数据库无需变更 ─────────── // case SIGN_IN = 'sign_in'; // 每日签到 // case TASK_REWARD = 'task_reward'; // 任务奖励 @@ -145,6 +148,7 @@ enum CurrencySource: string self::ADMIN_ADJUST => '管理员调整', self::POSITION_REWARD => '职务奖励', self::AI_GIFT => 'AI赠送', + self::GIFT_SENT => '发红包', self::MARRY_CHARM => '结婚魅力加成', self::DIVORCE_CHARM => '离婚魅力惩罚', self::RING_BUY => '购买戒指', diff --git a/app/Events/ChatBotToggled.php b/app/Events/ChatBotToggled.php new file mode 100644 index 0000000..a98753a --- /dev/null +++ b/app/Events/ChatBotToggled.php @@ -0,0 +1,34 @@ + + */ + public function broadcastOn(): array + { + return [ + new Channel('chat.system'), + ]; + } +} diff --git a/app/Http/Controllers/Admin/AiProviderController.php b/app/Http/Controllers/Admin/AiProviderController.php index 985dcfa..629ddbb 100644 --- a/app/Http/Controllers/Admin/AiProviderController.php +++ b/app/Http/Controllers/Admin/AiProviderController.php @@ -46,8 +46,40 @@ class AiProviderController extends Controller { $providers = AiProviderConfig::orderBy('sort_order')->get(); $chatbotEnabled = Sysparam::getValue('chatbot_enabled', '0') === '1'; + $chatbotMaxGold = Sysparam::getValue('chatbot_max_gold', '5000'); + $chatbotMaxDailyRewards = Sysparam::getValue('chatbot_max_daily_rewards', '1'); - return view('admin.ai-providers.index', compact('providers', 'chatbotEnabled')); + return view('admin.ai-providers.index', compact('providers', 'chatbotEnabled', 'chatbotMaxGold', 'chatbotMaxDailyRewards')); + } + + /** + * 保存全局设置 + */ + public function updateSettings(Request $request): RedirectResponse + { + $data = $request->validate([ + 'chatbot_max_gold' => 'required|integer|min:1', + 'chatbot_max_daily_rewards' => 'required|integer|min:1', + ]); + Sysparam::updateOrCreate( + ['alias' => 'chatbot_max_gold'], + [ + 'body' => (string) $data['chatbot_max_gold'], + 'guidetxt' => '单次最高发放金币金额', + ] + ); + Sysparam::clearCache('chatbot_max_gold'); + + Sysparam::updateOrCreate( + ['alias' => 'chatbot_max_daily_rewards'], + [ + 'body' => (string) $data['chatbot_max_daily_rewards'], + 'guidetxt' => '每个用户单日最多获得金币次数', + ] + ); + Sysparam::clearCache('chatbot_max_daily_rewards'); + + return back()->with('success', '全局设置保存成功!'); } /** @@ -192,11 +224,90 @@ class AiProviderController extends Controller Sysparam::clearCache('chatbot_enabled'); $status = $newValue === '1' ? '开启' : '关闭'; + $isEnabled = $newValue === '1'; + + // 确保 AI 实体账号存在 + $user = \App\Models\User::firstOrCreate( + ['username' => 'AI小班长'], + [ + 'password' => \Illuminate\Support\Facades\Hash::make(\Illuminate\Support\Str::random(16)), + 'user_level' => 10, + 'sex' => 0, // 女性 + 'usersf' => 'storage/avatars/ai_bot_cn_girl.png', + 'jjb' => 1000000, + 'sign' => '本群首席智慧小管家', + ] + ); + + // 防止后期头像变动,强制更新到最新女生头像 + if (! str_contains($user->usersf ?? '', 'ai_bot_cn_girl.png')) { + $user->update([ + 'usersf' => 'storage/avatars/ai_bot_cn_girl.png', + 'sex' => 0, + ]); + } + + $userData = [ + 'user_id' => $user->id, + 'username' => $user->username, + 'level' => $user->user_level, + 'sex' => $user->sex, + 'headface' => $user->headface, + 'vip_icon' => $user->vipIcon(), + 'vip_name' => $user->vipName(), + 'vip_color' => $user->isVip() ? ($user->vipLevel?->color ?? '') : '', + 'is_admin' => false, + 'position_icon' => '', + 'position_name' => '', + ]; + + // 广播机器人进出事件(供前端名单增删) + broadcast(new \App\Events\ChatBotToggled($userData, $isEnabled)); + + // 像真实的玩家一样,对全网活跃房间进行高调进出场播报 + $activeRoomIds = $this->chatState->getAllActiveRoomIds(); + if (empty($activeRoomIds)) { + $activeRoomIds = [1]; // 兜底 + } + + // 把 AI 实体挂名到一个主房间,即可被 app/Console/Commands/AutoSaveExp.php 扫描发经验 + $mainRoomId = $activeRoomIds[0]; + if ($isEnabled) { + $this->chatState->userJoin($mainRoomId, $user->username, $userData); + } else { + // 清理可能存在的所有房间的残留挂名 + foreach ($activeRoomIds as $rId) { + $this->chatState->userLeave($rId, $user->username); + } + } + + foreach ($activeRoomIds as $roomId) { + $content = $isEnabled + ? '🤖 【AI小班长】 迈着整齐的步伐进入了房间,随时为您服务!' + : '🤖 【AI小班长】 去休息啦,大家聊得开心!'; + + $botMsg = [ + 'id' => $this->chatState->nextMessageId($roomId), + 'room_id' => $roomId, + 'from_user' => '进出播报', + 'to_user' => '大家', + 'content' => $content, + 'is_secret' => false, + 'font_color' => '#9333ea', + 'action' => 'system_welcome', + 'welcome_user' => $user->username, + 'sent_at' => now()->toDateTimeString(), + ]; + + $this->chatState->pushMessage($roomId, $botMsg); + broadcast(new \App\Events\MessageSent($roomId, $botMsg)); + \App\Jobs\SaveMessageJob::dispatch($botMsg); + } return response()->json([ 'status' => 'success', 'message' => "聊天机器人已{$status}", - 'enabled' => $newValue === '1', + 'enabled' => $isEnabled, ]); } diff --git a/app/Http/Controllers/ChatBotController.php b/app/Http/Controllers/ChatBotController.php index c010b06..1e5c3c4 100644 --- a/app/Http/Controllers/ChatBotController.php +++ b/app/Http/Controllers/ChatBotController.php @@ -62,6 +62,11 @@ class ChatBotController extends Controller ], 403); } + $aiUser = \App\Models\User::where('username', 'AI小班长')->first(); + if ($aiUser) { + $aiUser->increment('exp_num', 1); + } + $user = Auth::user(); $message = $request->input('message'); $roomId = $request->input('room_id'); @@ -92,40 +97,61 @@ class ChatBotController extends Controller $reply = str_replace('[ACTION:GIVE_GOLD]', '', $reply); $reply = trim($reply); + $maxDailyRewards = (int) Sysparam::getValue('chatbot_max_daily_rewards', '1'); + $maxGold = (int) Sysparam::getValue('chatbot_max_gold', '5000'); + $redisKey = 'ai_chat:give_gold:'.date('Ymd').':'.$user->id; - // 原子操作,防止并发多次领取 - if (Redis::setnx($redisKey, 1)) { - Redis::expire($redisKey, 86400); // 缓存 24 小时 + $dailyCount = (int) Redis::get($redisKey); - // 给用户发放随机 100~5000 金币 - $goldAmount = rand(100, 5000); - $this->currencyService->change( - $user, - 'gold', - $goldAmount, - CurrencySource::AI_GIFT, - 'AI小班长发善心赠送的金币福利', - $roomId - ); + if ($dailyCount < $maxDailyRewards) { + $goldAmount = rand(100, $maxGold); - // 发送全场大广播 - $sysMsg = [ - 'id' => $this->chatState->nextMessageId($roomId), - 'room_id' => $roomId, - 'from_user' => '系统传音', - 'to_user' => '大家', - 'content' => "🤖 听闻小萌新哭穷,AI小班长看【{$user->username}】骨骼惊奇,大方地赏赐了 {$goldAmount} 枚金币福利!", - 'is_secret' => false, - 'font_color' => '#d97706', // 橙色醒目 - 'action' => '大声宣告', - 'sent_at' => now()->toDateTimeString(), - ]; - $this->chatState->pushMessage($roomId, $sysMsg); - broadcast(new MessageSent($roomId, $sysMsg)); - SaveMessageJob::dispatch($sysMsg); + if ($aiUser && $aiUser->jjb >= $goldAmount) { + Redis::incr($redisKey); + Redis::expire($redisKey, 86400); // 缓存 24 小时 + + // 真实扣除 AI 金币 + $this->currencyService->change( + $aiUser, + 'gold', + -$goldAmount, + CurrencySource::GIFT_SENT, + "赏赐给 {$user->username} 的金币福利", + $roomId + ); + + // 给用户发放金币 + $this->currencyService->change( + $user, + 'gold', + $goldAmount, + CurrencySource::AI_GIFT, + 'AI小班长发善心赠送的金币福利', + $roomId + ); + + // 发送全场大广播 + $sysMsg = [ + 'id' => $this->chatState->nextMessageId($roomId), + 'room_id' => $roomId, + 'from_user' => 'AI小班长', + 'to_user' => $user->username, + 'content' => "🤖 听闻小萌新哭穷,本班长看你骨骼惊奇,大方地赏赐了 {$goldAmount} 枚金币福利!", + 'is_secret' => false, + 'font_color' => '#d97706', // 橙色醒目 + 'action' => '大声宣告', + 'sent_at' => now()->toDateTimeString(), + ]; + $this->chatState->pushMessage($roomId, $sysMsg); + broadcast(new MessageSent($roomId, $sysMsg)); + SaveMessageJob::dispatch($sysMsg); + } else { + // 如果余额不足 + $reply .= "\n\n(哎呀,我这个月的工资花光啦,没钱发金币了,大家多赏点吧~)"; + } } else { // 如果已经领过了,修改回复提醒 - $reply = $reply."\n\n(系统提示:你今天已经领过金币福利啦,每天只能领一次哦!)"; + $reply .= "\n\n(系统提示:你今天已经领过金币福利啦,把机会留给其他人吧!)"; } } diff --git a/app/Services/AiChatService.php b/app/Services/AiChatService.php index 97a7cab..f6a90ba 100644 --- a/app/Services/AiChatService.php +++ b/app/Services/AiChatService.php @@ -89,7 +89,8 @@ class AiChatService $guideRulesText = $this->getDynamicGuideRules(); return <<-HB{3o*-6b`Yv>+uZInp2?Al)!@cX#*j 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%0A((I~6d73!0Gp4W>0oPxr^#1EXTY znCplkHNG;?ZDMx+)>4P3FUW(v#%NIv@eD?G8NYw~4nJ3ZWGFdxjbkTVlzEzC?E4k# zYh7P;-YZ2ObEa>{j7vx@I0gC6<3t@P389~bnrdNvitJrx-$v}COXO=pq;cWHBKaA; zxvw>r<~c`vq`~TpGMCvkKfQ)oE;G)x@m;kovpbo7RoY%R5Dk5TvHLS5jc_HdEXVK= z|M-h25*gv#&Z=8jSOG^*2Qut$YCnz4sE&KKQ6SBYj}(6VTIcd_XTx_k+Z)iUUJJ*lrO zN3Ur3T|fRQwMtYV{-aljiUi$&jQVCETa|Ot)>PRx)OCHutS!c8%FP$DA^btd5AhE~ z^54%FH_1#74;>V4!K@0#xdGInPWjJZ1CRn(t*rc@7&W95@JkP^(p4qySfn8Vdj>3H zP}=P>RqMyH1Z+M%J)qscwcJ`Mz?kz%q}>_>Kvy$I^Q%0{$^@tT_=D9{Fp=*8Lxwhf zfKg#3E{jo>_>0~gXj7~%FAc_!)f;|tr1W@KeQ4#)hiwx}v#%$rSAFlqVDq~Vo%1!$ z5*AtNQth?!V=F3IIIIcXE{Zpl?b;+bM!jH=2hTQ%?oPc7<{i= zo`Zi>7r72+DQ5@vFP#hAYZV?Yi&yk&q}7H;WI_4A6;YQb>-SZ6mcU(1P1AN}Rlp|v zbgblAq8dNwbm=}q1K5o76@GsYyYkBd*I5c{dk6_}bi6qe^`wiVF3pi~Uw6PCKsrE+ zSJ)&i-mHe_!Gz%zMYi8{zOPqWt^~uo@o+SjE=k^`smfR~z56&X4W>?eh*MjscK(Up zadS(&oayw-(w`9Pzb~6TMzou_`bTyHGBkggW34y|L0`uf2^LIExPl{>FRVv{J*hTr ztz1pBne56^>+Wq{cYwVv+Eid0Hz5CdlCpZpI+MAntzWkswWBm&x`9pC>5m&=rkJxcfhwSIb<#wt@lfDCiaje9Z??a1m z^8lz-QN(}MZz+_9!;k+_#`3Q>{tLFDP{E#8+nqc1M*7k^;w=-}TG;#>?-nu*V6CM# zQYUPh{*(w9W1amFkJ97huWWaFto`MCyZ6pg9E^NdGPjBlYt6I+@`?tz=OLtVQK9`H zOV)HB_)l(o07EtBrN2+yEv6_x5+Ee zdDbt!?If~S6OOW~$jE8T9qX}ltoaf9$wT%B-Q1z-gjL*g(>qV+9gn8{&Z+A|HLL<` zy>LZk?dFJryK-jbEB>CSn%VRDFQGOJ8zRqm5G9-Qh!DpBkxh;@Pp#N{ubN7^*u5Ao zw8v5jkL%CmuI~TXXkOkaWN?Abw$j{y=x}RtJ2zH_Ql&D0iPrg!1C9YEO9nuMnf(8h z2{3*A7>NqEie>@uawySSfi(>miByBX0IOI4<})2Ih#0qsR6$1p#Ci*;0qgnS0$?4% z|4?HYx=Ixb4A%4*w38zZB415~?25PS1vZD%z!WhXpmQJduYwU$2+HgHk5>@^JPm~R zdw<}Y3_V>1FpxC!s|r!6d4Y;)5!EWJ_+%A`ncfX(YdEKOek0Pv@huvPwi79wP!*vX=DI$ZJKvUdHHz0dgd}KkEcnhP}<-=b}zIQ4vtjYUe zS_BsBjE{nn<`Ab!4vg=MYZV%;A4?6VGVFn+Yr>K)k_Pu9RU<}{?(W>zTkI~d^lw(Y zuO*OPv{;m00=H4HHJb7{8zf*`>pF+4WTzEGI@emen_g#G>Id14#M&u_9<8p+`-)i# ztFEl*CX@8o5)eIkl00{LbVLDv1s6UlB;scmVhV>IN3mZksnplKYh@+mY2rq`D0PcY zO3W-0p-JDFx&d{WUTtVNcvW@IN+qsZ%HlEjZOXE~S!b{K!3H1hOd|8g+kAU+dLZ3| z+84WsXe~5QByWk1iTo`7?r!7aL~H>r;8>=YQD!`BwK@(jbbBW|o@4EYdRsk}vzG@} zvzq(p{O5qvsqx^oH&aVNE<;;V?5ZWhke$K)C5M&QhcnX;<0Tg!OTT>93WM=bUtlY4 z-b&?va~a$}5Q;<`a7=iaTy{g@Pvmbvsc!xdzg*OdqNs|1n3)`;eT)i+N#=jo6Y+pF zWg6yxybnyE#EEt5-=WPJe@vOmKNANm*Fnl#SB@H3vN3>XN+1pB7PJlf=c}s9SzrJg z)f-T5dT4hj22`C1IKH4;z=!rc|2SX&+NrRZp(@9_HXA}lqBbyYK&7Mo#|M4e{`Q8= z29Pqmpn|OLkX=E@B@;_Axj30f;|P3)VDMeMhyihrpI-;3F7f!}i|=Z8_GdYwyvS76 zB0W-Ne}zzv+fd(t7SoFo4^4N*yN#?870>6lGCH4Y;_amFPZkfrxP zm7A*!S@VzG8$Bgyd|n%0Zr*-B7! zzk_(JU#@ed^kCPM(SZ)u8&KRQ&;9z>P@Th&fPJE%@Xd~FZaQD75>fL? zdD^eR5BnvQM1IG9E>um@-On1B%u*l&0N!3V^b`FvFaS>K{<~ zJE)k{@x-!DOdu@R4WGR`E;2@BH(!w37 zvgF|(K0gVmrsTZ{w>jVi5wq0gqQv;G4A2Bdzjb$@sUv9MXn*`50Pe#2$4?9s!%P3^^BB}mXg zjFMBh{-u}y=hj3+idC_0udU5%HJb|9gQwr?!%gBD2DE<_!YGe6F-1chBipXZ+&|uc zHZ^!f+9xxOyWJ8M1~zcNZ-jd;S&4P@Xe6#!{<#W^kZdS8M{LhC^80)ra1nT||8A8; z2G{k0XljF+Dgkw%pX8&@V-Owdz`!fjLRQ#A-t!DGNY_C$>f(debk1KcQaz)hm0#s} zKch?-h#Dm!g)D+?j`mUnIyp@gW|JGf)4vYsBYu|>Ajca#p}AD@cbkiA&98sJxAzm}8RUsG;Z#H_O^-(0w;TnvK)Jx*29ea; z2fuM*dll$?`kc=o@d_K|)|`cJx}gq$7nltbn1odKBeuSEd~{!iv^=1}q50^9b5}T*%B5 z4)AfZn6b{_Zx`y^Tin|{)6jBFfN-|2x6TP&No%L|Rw_tTz}<=&hZD9JtCUIz-AINs zs6`m#?hKSvbu7^(4VT!ybs&j+mdsn(-rh7SSZFwYok$e+TY>H_>|5XUh1cGX-x^+c zx*ccR8E(_v^-0P)gRZgn2TmH&koX*FTL9)kLtHcisKf-Yg8+1rNC$X31tNe_0O(nO zm;m+}dh;>~s;RKuMcbxUFhC~b0$vU9k{z13ECbjD0AYaudKF-r(d;f*H4&Q$z+pT9 z(}?Cas6lMETyI8o3Wo(_;=)TfW$UWb2OPT0(U7y<1*P764od^_LoF(zxR1mTUK@)x z6|sv{tIn)9gWB)U-1+xO%ft^0&m#8;N1J||E&uttH?uj3--Npx^?b`z4D`@;=xDLf zJ;!>!Yg=0-?grFM)?w#n#}*~6HFZ!e#29(y?-uU2H*PT7GqMsTq-T5Y32(wqPp|T? z0)+pZ?85i4)=`qb8xXp1T-j`xuXAG5ftZzxCzV^@3~WdAP_;Pm?*q7?&di(mYxP_; zyunKHo;YlZ_lvoVqj~OcYNQZ`3TY&;40 zzE`4bolg_XM_TJ&Y5BmtcwKda4&TdiYyPE2yxfF?qc)yCc=4O2-I{Ei; z^Qm-$wXX@8Xj~TT1lC+v!g63=U4+Y%9#{ywgdB1W{ElcC zO>hpJ+ft*5ZaU2tzX83kIgj77ZNHMd7%9$w?Y7p({6|$Q<=3z$iwdsm@Y}L3p7j+lH$W z5#bcQ^o4CE6GN2&(K0TJ?j^6TXPal#jd%h>6R<@6HQY&+a`%%%325X>u|p6kO+_pn z-@STn`T&d_wwAht`(TNc+znyr!n5v>l8?w7!?uyQUF~0Gc->W6MprynZAV2;YWw_$ zm~o0rET<7qz5bTT*L{JHayX?KTEk7B$at!MZMx1X@{=2x8{!VT%#YY1Yx4T-cFhsw z__Vp0F*-`VgMVf*Mb=hVP@npeO=mS{kpYg_YuG+p{c!^tlZfbjR=|m6&^qZMU7A8+ z0$@h3FdKI+I`cL$A{&NF$%ti|p+=pTvJ2u9+tOfd$uY{TmVZnohCC2X01WUy+LD?T zT!s!S0q!+F;8g=2ro??T`~UT8nc6M3#r3}T&*%0<2Q{Rb|BGiOfyfQ`{ntd$eSp~n z;p?EwOq{nk0bu#t_Mt&Xv-iio7pmD(iZYtSf4yKoMQL_BpDu{S2R6sKI>o!>5#sw@ zRw-YaI^BRwJp~a0$XbyC=gzZ@-^b1Q*h%L_;^uUb2#G(};^kes#2GtnT2AwOPhk_9 zNN5Oet=(dwR7*Ur5Yc$q(1$jQ!qNU}6vGAKO!?Fm&me!hy+t|Ai}y7#ROy1D|Me4KEu_$Q`}?^bg~$r5w+W-Q9QaP+Mn9Jpw;I(_9i0&!tg zGt%N8PJYym-27u`VrA6{u%1ZgQC%f6sW?relUyG-&JD;STz3r*8vBWk+bnQ~m|b+UZMfs=Wm_)v+A2lVIbIF+J#xt+ zjw7rNGYv(u<94Z`p#6Sm?Lek)6(!4O3+|1antirX%gNF+95499Be-wbfQL7)b6$L9 zv2s0yV_2Mivze)-(}$*4G{m{>s#JoT=LnLEU^D#YjmP4RjQ65p=>Fz_@n)>=4Xj-M7FJ0paSENmdaeoqw_z>uv82y9a(?oeZrjg+q@-rp1d*( zy5}{bP(KZs-i=HVEVLoG;@npbS)q9UTve5~I1>DE z_l11bbh3EizMo=ng8j7c&hA4xnKv3J+SKJYUHfs?i;n&jeUkQ)H=uqPlHbPn4_Rpt z!E)VD*3RH76T{18o~s_K%D-M%v27>V96O~7M6186ttIV+r}dQGXbpV!BbrEK^>r17 zo{SxT<*t%Ey9enX%{_C|?JwW7flAht)dYK<#)fsE4pOxD$ya}`Hp~)DV@@b7pCq%G zJz-Jq_~oV3v4{89hS=G>%~9w3#xo@&3>%*L_e8wp3`Q?RqJ)#~sVvGPoL+!84QGc= zNzPRhSqqf@`bmQuOq$3dQuuB1hAsIgW&3t~Q%~f{9iw8uvI&%OJBVYO zL0`R;>@7`~nWP;Hnj95C86QR*q=Y=q)k{XH{m znBfmw8F*{GiuLr#Y!?72U6~h;TI_{)8>b1Ecq+;hhik+#b0W^LOtq6>P=e!Y{5gZQ z=S0p%A~7xBipbVPP%xRYj8@;{xKf{3v(Tx`!m%(IcO9q+3>k87?rTA zH{0rU{~6*(c8)pSW{)V(Cp@mZ%k{g_haP;dV_nz|dLo0m);d$gm`ob%*5&1sj@G4J z+30j~D7Sn8$HXigk9^&$G&|Wg*Ifr`7VymCgO+YW5+R9ug=%U(H~EU@&TI+o7w0~M zP_pu}BV)1VS}#6z6E-#N74ZUanQz=rOgJA9YDW7?@8d!NzaJN1w*l1jpQtI?zwrU? zl>xlvv$(H7fEFJJ3WeSWoF~AM>IWh_auxuF18|&=;(vTAd31~!;L|~pijn|B5EWOo zOXGa`YOnp-+%-atA;e;G=i&kMuh{QPjZQ24t>5;`YI?u4%~gLIOj?e7);Cn9rPvRx zjd}(`kndMEcTHQFWI1cHz^PvM32B@Ux;@&+m_;CqQ&FVKL5YFMcFdEEAMfJ43mli- zf4<@YD2YH(o}4w}g@NZ&+)Y!0=aXZuL`Hh#wxlVM19Ww?Orp>_?V0$GLCdud=fLG` zE=74t;!aEzPLCm4sQr`mV}xYN0*9N^ElwP@6QRYy{PE|vZ|jKe_i8Ox2L0YGAP5zx zJ911!wc%w}(oJnD>qt8Xf`&_Nu8DY-_jsyjbH_c_cB3f2R#2vb8M8vRE|h*gHH-G4 z_5v5~xMCd9mFt|Z>}yW{Nyy63wWyGI^6mzNe>5{w;L-r#`(d-zoW~Z46w*-@=Q&2* z-O%NX8&C<R4vcHdQ zUHoN5-gWoULGvlqRo}eIS*mvVuV1LnlCMnuMLI5ar(+I%2q*$sR?h6#L~VHD5FIe| z5%>K!2i5KMHK_2uA*I!(6U$hk?z8>W?0ep$r-W>IdD@})|CgakK74atu53lTbIy4Q9NO!=fE*xqJBcEdG8VI6(0uVwok z3T{Beu-{IBWw{OyjhC&rO%}!8jvZ+}d>fHgq*)ZS9$isTpG2+JM1JTL>iKL_dr;Wf zQLrqZ`x9fN*4yt>(Fcfrtm7i-E04vXP&-A$#(uESiyIJoWj}c%L}A=$shcS{`1s&Z z`60*3?j83JBLysSSF&K&tRM54Vc683)jS%af0NC_*N=HFlisK?@WvLtA^|h9rFuB(&i5wjgt{`HQMuneEVptEbxoQ^aTYbL!#dZ;>O z%q^$>-cJG}Gu;R6JOb$*Ko|lj#rXuI=M9}R0_wLwh@TZM8qH5aepw=kwqgEr;qG5h z=ch+kmm04Dm4%FD(@Ol}^xnJ$8WgBtX&;6w;XoKYMfj2mMSkqHd|ag5h{AS@`W+Zl znaaIO(cNZep49GoxIQ|Pb!IouK(Az@sn!yH={y^ye0B8U_~h!E1DW5IG%f4s7OC3Q zHa<9;e@9KwSnkKma7G$U;&-e^nCU}YoJW^J9}#9Gl9XLMD5;@Tg_tDmBNYtq$MIbsp$=V(x1iS!sXyfy z9rkWOfhynRuaBx%fQX9MZ;{jnw^Q!*lamXRvB{4C%rCNHuErT~N;fr+lBp-<%k9g% zUM;S~wy_NE(Zz<0st<&yYAH&6uStR4AJ0z6dawU_k!A^N1^WnUC^=cE7fing_M1{SD1>Kboz9eV4MUR=EMXYheCN7-n4O5+n4t5L>n_Hb= z_2Uzi_eq_-of{XJmN@g%yU&!^@tY|cWx$BH3ptV9kWE8?hOZtv{$U!P17-)wF&;%l zutWI07s)eZLcUq4dKRyUOcGm0zU6hXp><-+%U#5=YuIkFxDwy%P5wEq=;2y#VIR{< zFZ%c$R+PvpRAD2`Q|_SA%H{aeALK_Ms9-O5-ldCN8rX??p1}Mh<(-)tkKbTwmPh5g z1sH*4p!{Q52;A=)wyHeA{I|F3?LbuT1SP?Qf}YF|yF+ijh}OE*M!xS6xND!GGtX2x zJYM)iJIiyQT1eOR-pQhlQW=}~6j(E0t-55cnYVtu03Mw85})AkBLR`Ns5Uw_R^!-u}Jom z@NMA214wXQeMyA>j|jz~T4iC}>Z-5flf{tF0*yddK0@aN%5j{hlg0wOI0;IeMVg?v zwFKhzKXn=loP9K8!If;WmXkXLR-PN-@=!O>p&>tPqBRS#QEDaJvsCF6l~h_iN7$K> z{&Nctvu^aHW|-+YiWV6Yc_&=Ag0AqZ-vLd%@cC9)yX*@|s-q&mJEzaIo2bwC)<kXj3SD$60s<`*JiGdp4V;D=gQ6zZW)JJS6SeYmgm|b}i@X;kT;1!4iZ8TF z8u!&3VSBMy29qv}uP^D5rI*_%gFY_vQ@bmDo*rATlB}!jrsfOL&{wJj&m%+kXku*o ztVSHj7dms8GZVIfK!$NZg%9)Dus==pn45$9uytv zb7;l?^&~EXPre$Q?5e4{95i?>y!-V)Q<-wTM)VVhACkXj+EA@>@Tkl3DdHoIsY)wv zw<`*ZiZKO5{z{o?D9nzB^U0RkXSY(?)S*$gJ?$21uP^Ri=D9GMxaJn7+Niu8?p-V* zpI%&U+p*ENT_v1rDRko0`}&mue;C(sCz>?q)fPYRR(^IYC|1Y}HTCXlUm_LEgOb#e z6khS{bC%`WF-Vy5zOmvC%Zwbm0XekU_D6j18ATyyMEYxW>|tDlQ-y1#ygf`qRxf-z zLDG!(Qh2@aPqvj`Ml8rS)`+;((&SGI(|j`%Q=5~)ue?6~>JgmYd?=7RXL$cft;s%? zL5OCBx1La0tEghHb!SQ00*{M_<-$uHx7@fd-Sc1_!!pSjw5=0zn;KbJ+a0T*>5= zoXMTG>sP3mp1}it)n<9cIHRDyFEVM@)<&gf?t|4v(_Aps7T|nnHdEp*I#(5d>C%|^ z09kR570r8IWR3;GUxi_6h`2avDI7OHcb4SI{&ft*VfOVz)_ji~12u3Ku`pUy%}JhT;z+19^JFg{ zHGpyv!*N}XEueT7sWTx{EJ^DB@}a*=td-ka7lx?}c_Sm6iqiv@ZJ&mRKz^+Tsi||m zI;y>&i_0;gS0bFN)2|McM=2p;S_24&FoG9;TNK|>V?825LDi}as^Q~U&@ek;V}Oo13m@8e z*~#+FrjMo$Z!qmbyD;CH);64*ZHr8vQvrlm7Dt=Nm4t>WZ1P$)B+kGow^Sb6)38^Gcz50n= zWrv|Fp`VMV%J)W^FSyN&F38Tc`(BPtrBaA8J&3p>vCGj_q@JOFKoM0b9c$-3y-OO8q2N_aUIsz3_o zmw1694ZN_ z9=IbrXK0>q^i7+w!hchF$cs-XTRCQwep=?{ zAKi3e@2k!b%GsRv`RAWBS_(12HrES;>QLNEi^5*X`P3_RGXWe&e8P+pq0Ig=n6>Mn zb_sH8Zs_UT+OBU47*k}u%Jp6b$DVOfwJVcO=DCzV^B)Nu$hNW8*27)rA*}<@RZ{Jd z)hzee{R++ah45OtW*b^_6c*|G$|iRi%2fY{fX3M5{1Z42A%?m7ZTTu@`oHGYH8ux1 z0qH>pXEn__$6akdboo^g(s1q_ynLQHZIby-Dnp4qR3K41DW7N>usYw$JDMEnXY3W_ z%hV5v(&Wm5OI#*C^u(+7hkx-I58Tun&goH2NueR?kX9It96ft#Lt5U`?D@z$#NkyN zqmNWvpK|=qmd}P@^({K~%0GU~kqhz%&_7|JDBn65=%DJ+0a2j~OUwH6&A6|KCl$33 zr{5OOHR^~};>C2wF6c&7#cI_M^2CByGFCc>92uiu6=A|1KnxUg572?)A;Dii* zb>e@C`#|7IUK-+mo9K-h2jujr9Zr;WAC$<1|6cfUJ&mOs_vb$GJn`9*)K$=sT= zWhewp!sg^8h>xcRTLrZEL|`+NOxi4mfiv`jbggv*RxRSpQz|^WDuTe!IeS+@i9vPP zfncaA(!GYwjMthWtz&hTs-eXV;ddoO6j-*M`Xs)@+dRezIt|&17%lvyUAPT-;wZMo zgcBH1o_LzlRczOEAyyHXEo*MU`yl?aP-G2|)F6tF%*revv98$p3+Ete6`ojgWh~7n zD(m<*XQ<79=y$mK`LU6*T7)5Fn1y<^S-otxVz6~!J$CcF`kEtMbX06ES*(zM(2iT& zV_?Q^h|8ug`fOC{&CEqga*P^$jUV1o+P_`skbC?HDT*Y0QB3*5H4^1q7^>x1{j)90 z@<31SIrq6L-|6>Xxn`X9kM`;6=wb=mD>_^kSp(A}b|E$&k7fh^U{~!6G>izWe6`$~ z^oyuZBVBZ|an#F)BImwIkP!KMN zE_OPg>Cg>1cCbG-Yj&BZdu$%yZjO|RM66GQ#VCS#U;gxwAva)Xpi3e-*D8;l(yr*& zmywNU54>5W?NLz>!}Qyx^8eZg{q>=t&Q&bH4&BU)=&Bu2uMe{76YzHBwBOng)M zNeWv?xk$#d`e*ata&C6_AeQcg%BXV+Etk$_3#lPbN8DM@dAss4A`3;VK)R__dHnJ# z(T_(rARa?uchO?qUFtK>p4O$PgNKVlSXC(R(YmYW@mqhMrHqF^&m8b%ABS|7wOF!# zdxu~bAbQg)JjACj^?+0X?s0eJCrtZ8*wTy1*Sy`r*Bsz`5ZC3;6@g~7T*52S!WQKm z_8tRMA8b@3HIJu7kJYf!v#seDK#-+CDxl5FwNl${!&dOKxGs*Q z+vm8rXg&E;6aBH{liZD>T=SF7yM>2kzxOFFmPS@@zc}A9HIw1EBM5Rj<-g8= zPucHv7F0ZE{9O^i7}x_B%)n4%Y|zB|rP@GFI;#`iyneQ?xB5DUH(ilqTp+inU=h|u=vr>-@0G*(oeYh&LmeYWQ`tKmit-a z)L6e;O)~f8_)(7B$@;*1t~gbHrgiO~q?P-HCTUOqcj{h|Ce4m(X;JQWE~b(`rNZF_QKmI$adD?2_1~tF2vPa0lBZHE-UjE5mRLSk<6-4hM(; z16i0r4#4dpqD*u`CHjOIpmPDdi;fkdvjr5`lpdvF-$n-g)1!P|83An1KL8yA=-}Hk zV!*K``upyEmkL*}`8uBa+20Ls5piH!ggOJ}2qWUkZO>3=7ivKioIh7cZ29|D28xvC zNL-cnI#E18P0Wq;c(vTUZeC0vGyYQH(2i75x^}5pOz+|lB|sJ%87n{e(qc^*e`35; z591^u9uL|;WP>Pt=ltHRY#&qBEs84CTr5=(?-1oMiU9YT?h;qN1SZa|~~`Pg(1M{`

^fz-hGqYJgD@rmWzKUm-K#jTN-&&qmA2QJz0zSdul)(ZF$1~;Sb9h^#pS~EPdVa!sCmlel0<{tlfrkE=#obT6&#n zf%~9!P4OMX{p&PQ>PP(oUc~D@ny;RW+S)J8x%eF}d5V|sysxqe8%XdZbI#I6jOo`u zfvl?wvK1<^X~wcRmoC-&*u@hmUVp z0IuJ-_O~nW-lcO!D{_5*iogXY2ANT^Lxm%A=V+y7mg3Ct&0g(Zm@4tzyTnSg--jzM zoG2H4Is6__+1cqzO>{9S$2Qg(N{yC>$YZa}W0*G{w{G&Ij6i=y;zEke7wXR`@5re%LE_MD7V^M;12;Rd;mwbJFvxGjiYU#g&yp zM}N@gfjG%y^EWR(Ml!0-PJM`a4bOYyvtirsHj;V%UDX(;=(Ho+w+VxIGkcnFAh1ZU?HYZVc0gZeC2?BhG5q z#4cXL)0rLQOq`g7U7v^q9i8NJOM)Rlmrt=$d$S(r%1k5;7t;-VF7$DkQ;`PtB9NIy zRyEvHUN_hXd-q&nZQ09ZC`$I!)x%E1{st7B`0We!(1)UUT7I85sCRJ7bApYXj%m6v zJi#LEmOs3u1LX4+91cHCFa@CO5N(EYAT|*Ty8)4WTn&yod>hW%zQXZ=4SL!KEp+KE zTv%t)3Q>|GO+5#+l-u6JKjo@9LRYK_!uAfiTv1}?jfN)ssmD)4vQ*O;j$k1VignT7s*nY8&a=pi zJAsq2IFEp&2C8h}{0h&%yeMq28kscKKMjc1f@<%9upE#rfn{mQCQXmSnjQ*d{Qmc> zR~eA{prS;d?v16F(~O`VbAHf7wh`Yf&vQLpUL|O`%-~PwS1sl((CYr`Y&p$YDZ3b1 zT(EgJmgmJ;0FVZn9pxIaQ>2XiV?KH%xu6_$u`mnMrWxQZ_SgT~kaFg`sxDp*qo$Iof@K@M?i`BNUiM3ug7AI z?a;p={a#$XNe@)yhDPmWeAEt=?>)pUP5-3n4dF$JqSEX9<{>R><&uOE3)M(YsV~0g z?HW}_+G6C_7tf0~SG9$cVDuVlOLTIAR7Gyu#R2QxBLh#=QvXz+8}4mc@@Ez@SP3jk zPeUxe${O5fhAq!xTX@T5{g4 zbiUWUl zfiU=vxcu)b@nAxzR*U<2!I`hFB;VWguE$9=?ecxOrx&9LRNsjw-F{zSQRZ+VwUR-r z%~J<5-VBbqVW3lfs>JZ zA{$!}kXjRvc}orD(z%YCV$dhAy0T}` z{U$@DE4}_3P=))$PXkXkL-RKx5rU7ZjDxwCW)gtCr!doRVA_k3Ly1 zvp7SPdI6^UM1t*!yS2U1F*bFuv^;+gz3O0M;+iw!ufD3;U=e?%P0G}Hv0H}2Rm5S@ zUg7}}+4z(*UYoI^8S|)ZBF6ZJr*!-2rYg~!zMlTXt+f6kay)|!C6=o}O*oEu6_ z=fxCiiSPnA^_8Kja%Xjs{bt8B+|bPufRnQ$yAmmd?(cfpQ6AZA17YN%dO|YMjj#v{yfb8N z4S7ePm*sWq^=v4=qJv=V;h5JwR^8)uy&}ZoWKG-wznjV3k62Z+^cSpip5^7{bN8Q- z-fuqDrrdh-=vwF+mN|Hoe_zPf#PS}?WoJFlMe$0Ayl*VNYv%ICCj-cy_4IXr{b)D5 z!0Fp`DPztxLh=HLW63J8=7oMR(JITUX$Qt6;}JSCS71W{vrJnr?0|`eP;O&#Ogm^h|US-8~g48A$8f}_}BbLNtl22sH(lXDp zN~Y$nymCFa-g3mnnXGg-ABHZOZ@64>1WpLY;^x#;#~rLF22a{YJzEjDi%&(#+p zt-7;h`toUK&*bNk38Bh%gfA;|vdL%*%nxmhbfM*tW+yH2djr`FkDlc`ru*db21-ZZ z_RdM5)fubFPp(wAYY0y@)(tQ~@!jkC7xXYcd-T)t!bim zfchiZ@%ZgwHIeob-y85*X)*M(v!7dzGF*p_(*3QD`99T{G?K6&6Pz8WeUDN55iiU1 zF}CKqsAA6J<$EQm(yu(TOKY{WT!L(@<4@sG*Nn5k(?1#K8lI3r{>e*K2A4u!TSl`z zjN`@PLTeg5X{FZ}rv?eu+Y66HmtF=Qo1moab(rH4^(+21W_y}?sjrFo>#5=i`Jd~a~XQuzWv+64}`r#*~SLB)wlB!Fe$nvk~uX zSlSlVb6VVS;i2SVa|u1Wd-Y(R?AZ^x9usvAvCfoYRtTe^H)HB&4-PqMb*0iF;9P)K zpxnQMq`*PY+Y`;sv)gQQvinf~LG8hJhYm_l_`s@hiBks~Vse)aZX`2Bp1m^y5iNAM zzO5_oE{dY^ZMa$DBOo==Q{$HagAW@NTvQfWVd18C z@RX(i}a`L z+WYnjgak(diERIJ^mcY|Cu_N-_A2Cak*JmCJHr(SB@It#LK$Dl(|Lv@De0hSL9jpM zb*^vx?+>^+WDIm6vGS!Z`EE72LRi)hk95#OV&cDa(0~4FfTaNlq(RuvFcSV2l$Fs} z*T(y$Xt7#S+PDQh@nMN>ba!4!UFsaH`H^{B+0r)_1ChPjgD9!ajHL@{?pCmLm{BnO zL;Gp@f!kD&%lfAkk8OZF< zH?Cvh;DE==hL!zH{U6%9I`yxTG|r?5=~4H^pQQt9elfP$w?EJSn%$83MrW>f{zHSC zR?Z`??mYU~B&5i93|mgmp>M19=w&f-Nqhb?9B3*_KiJS^AIzzB07iuKKj(RNDgbx* zUnCw#@&UGWS-?j15D~S+29lkRph~Rh4pBGd>k8sHEAvg7ZB6TeTSMgFeP+5tkaR!j zy~A(Mr@24AYVaxwqv?0Fyl8Yqflq-X0gmkzW2+Tk`}ukQKeR^-F;`NTIg8)YN}?fc zvlERvsY%txZj4nawDKFheAGvhvm%J%>Awu6K1`Y9#S{@J!<86UkwM=D-qH>t6_}?i zKA0$Vt+Z*#f@2!T#^q0b(sEzj!G_*-I13xLRLj}O1`-SSmg+BapZt17;bM|hZ0?e? z6wso&M!h+L|6D>EvZLFLWyth?i$I?epcDju&45+KpA4-ohJ01-o^M9 z8z$@V%Ce+eDVPtnBEfA*(>iiuT=Gfl&BB2BNjG=KI*RlWr5776feX-o=(RME|K2W% zYKz&|>SvdIA(qBUDF9i8g*Zzxcz200Et7pQNIC;XI7!^wMyz&9A^g zGyI=M6WtLW1zvVj@t_KZXqGfut7{zz31j5kU0KntZ$MdczOljX2~$&UqXlc0bPyC1 zjm&nc*I+l&M>iO%#Fhm7j1L0scP+wdpp3SBc#s~&BH8Tl9tjhCYa!rlR45O~|6Vg0 zwE3+~J$iTtGKV;SXPmu1HyrZ%r|P6*E;s#cX|AvpZAESVPC)T4RnI9Xta_Qq5cyN5 z))4JJ9-o$PuXO%apYtPcauW^Z&T7R_>XnD?`Ym-?c&UMd-jXLwH~|#M*PeghUVBzb zbxuHp5S#^eu*g@U3(Qi&_iq{SfTzOj1W_ES zA5xtdBdZ-HJ1Dyt$da$ApUY3>a_Z7^G)GsKmW?(MO243DD!AU^W-H1&h zKx|r~9*SOFlejSn;OFDWS^Mt?OArl9A$~fw6IC zC4iZL#e@0i4bXREkbi#Q3IVv8#{iT@gFE+sPa)8%*#bnH2lxyVsiuOoEHF=qkj{B< zYcjc^Bu`b7L&Q1#O6{>+-_%9ZeHvHr)}h@%$*{m5Idy+Wjl&3AD%@RG1K2;>i+=HG z@DOiz^6st(lpmMOYW_G{DqhgIP2ojNAe(h|b=@h+&@_4JBR(Gyt}-t4F#{@rMuFyw zJx&&xK4jN-@VwO5Im`_iVqQn+|7&{BVX$;W(S?fkYkgVSvSvdtI;m@-^vHYa01j;E z#=FiIq8{2yLRw9cyM)xA`&0|q_ac_;~FXi@%|)h7%v#!r@-Bo>hLDADt{QqsrqNkn@^Co{3^d;?$SQI zANNa_o{2u4&oP+SmX7tOINeJH83YE-N_e`!(Q?8Vmne^`<+c_K!yBBok=>g44}Ty_ ziwo;1xeN)YogFOmOM$cDzkZs2r`fVSeVvTwX;Xnfj)28U*G57409XcXHN5|cbq7BgrCqFM{x-O#Z9g3 zN#GA>`2EhIg$PmkQoJ^DLbD%~zpl;Nr8LG)#-w^KJ9B&AImg&cd`g|9Y4WF%y_a3u9W zBAWdSAwSx)_2MKzJQsW~p#4*3oP{Z;B7~)(YGC-O;TS{$>=jP}B zp>;Pk@<8f>G>5th#!T^USCe4(p&Knal5b|KwtZJi zNZ1Abd~#19cG3;pWLrq#illTCS8C0hsI&j z{)5ZHX>a3wu*3`Sw{laytyN9FwFaZR5FKPHf4--v`nT7I$(1H=5-d+&s9HkWd6y_f zPG#%VHLYfW(7|rWhF!R6YaQXfae zZ1v%*-rmsF*$vGjLL%75>HM45S3V=|h4I@RUatGvTm*5oeIb&2&p2<={Pb%z6@J#p zJ38Z)HhwaerRMJXr6oMUUOF49Mrui7#o?3y-yR?f~(4BM2AcoS-YSBvR4w*>erp)mP^!+Kf=; z>TX%FC?}mBfYza`^*}yDr#_JvU6UOWrCqBiJIt8vQrnQgbD9b)TX_?KkgdAaR>5ts zs(hN|Lm;bVFKtM5*`v_G?gQq##~!ukn{Kf>WGh3s6z)ambbqk2#6vBVfU|_Q&Ge^} zP(v9c3GE>K!_CHT-39hhSG|d$l%zon+7}uGlTp5jPSFJ%KtpZxA^c(9fj0KQsFVF4 zV}c(oG(IWve_T7jb6-yoz9ce^c(PhAz;VV{=ilvM{{m0^$BqQrp1S#s7KycU=W)0v zh@kqbMX^VTN#Q+H#(@p8_CoqL;qTSWx&EX8gmRz6zTt3wSS*e5MNszrwMB>^p6A4I7!xOiwwxuIXO9V=lBQ-6c=WND&>j@t{azdtL|bxnig&o;))< z7(b=hq3S)UfeQ}u-l<>cyLC3TqCg)YNSu8$BkWlkp2QIVf2i_1EApWyT>~zmoZLa? zhgS;t`#+A%ca4WG;|V7kAQnHMA07%?tq~wC2l&dQ9{61V^+DkcaF6js7)o+Xmo)ON z?jKre2PDhoit#fesr2iJdS7-^dI@Vz z{dUR|B6%*3ALNVOQj$d2g|)~zyxD10T}Z{(Bc)3z;3DpRVIa^5<1bA{`?b(?m^T!mpDX3wpKWYX|2C^Zfrk^dBExif5 zc{S=dK~NNlg7+<^J0bg*mKTS*3o{NEP&pIlFC~h=(y9a4pR6N6UZglbjB`d|*-*qO zs=r=5g+%f|6+^imTW)mBoAIPtVb4AOKU0(Ee}?jbrCldRDQ zQtk!{1d$OWkn>1|I(++OGWb$X!ZZlwaf_rDMUJvJM74q!{kDfUQyp#`bn3vnBwcO* z#(~);cPL~I_R)KI?Ri)uM-~ue^o@eIw@E4+FzYAjOOUckAbs)Sr%Nqmz$k{;Ut2K0 zSg|@_QkJpXk=8p(0(qaI>Y7v&=#UrL1B3-1i(*C#1(mq94OLp$K~nti870_Gm zc2m5r(D-~cKSNM&(#ehNyF3g=T@P9`*# zon^OhfJMKjO(bs*_el2twV$Rd%lXTE!tr9f)$}=0^bw*4^FPQ zO6dF0o|B;x)RUX9`Fo$LGgM3ZhMpJyT@bxT2cLwBaHD5kUX{(6vrdEx=a= zd}AZ@s!XKVn4F{*P&8>-QtUU_Mk<;r)&$WAd8{u8row$MgAdhT8t4JlAlh3NVer`u z-&WbB)Ztn*FKf##GRlRc_O!19b_!1PvpMuybNeHIGC*wp$@wS*_P1X_ zEXP*g@G!*ipz;CBDSLFcfT26T-P5ek1{C44Y&kiPr(y*L2R;?HT27C62~5t-&d(JP z$?+|I>jg)-*63r-9f?$==f~}dO`AH4>p!J^j^Df}ziK$NNk2pL7g6Y^6&rxZB-K{1 zcje&m(NO9<_JexCMKS!zL8x%hI~h6Iq>1d%{RT9TU*u(ZVzvwbZjlt= z^ay~)avzt!k-93p>yE8ob_=RIE$_s0quWc}nmT-ho!Bd?I+RFZ2_bg zhALXBwj3+EORA}vu3rF^!ZoN`!5{8)udso_i0O(`wNy@5*D@Gw@f5}ym1ipWP43Tc z{`+fLo}OLK3rh{r*KRO3M6o7(K2$i0nCJMMYACkQ68r2>+RbkR!k_8w6>y)+oS578UG+j;yovKmypQXy$KcsCwhAL8D(FS=juAncZHh4cy zLla><;n*yXk`zzwG8(hJV@Mt?&1nOgq~t<*TATaq*p~2PeKqQX?GAk%%fNhzHB(mr z2m^}z&|JSrDm+i^(^DHnOX`=AbImv{k86j^M#@gikFG0kZg|I)mg<=Kjc`ne7knLa zgFRZ7JPQJgi2SLD=k3Z(4=&h9_)99cx6axcR+Ki$=?@qS>cfgz%RJd=$rnj@g^JQN zvRxRec1>)ehF-6lBQ*Y@y>yVnbJAVglqtVX4!PAOpu!tBtlJr_JqNAplGzlD^oomk z;K+F7nUK(-j~wyzgi)@B0kgtC|InTy98dGVrgM4(3;5}-_cuSW#+cLWMabw`{~Y{U z<=X-4(UtH?QjHZ2RdJ$=Jb&}EDKuxQdyE$UW*2bL`g~eikc{x1q1C;5L~=-X3lY~Z zXyNYuRX#!z0?Cdf2~U?p5vJsaSbDYf z$&|LwW_gjCznAma%k1+qy495xWqE`C8*)9Q?EaHOn4zp&|7rgKdWDVWf0HpFbqAz| z|3?}FV9LR55&_taQZw7W(0pSL-fZY= zb@tca1N{^c_7lEk#>Cy9_ww^sO~S%7Bae<;b!ow zy$BF+uI89Qt=!!A0z>s&3r{tK%GMxCQBJ8giwqx%`EIBA%5P$N2psd9KkSS}haX6& zx7gc1JD{r4?wY%k|9I#4^C+>4j_g7OHaqy%x91h1>^yL%0?vYFf zz>k}q4&I63jp2N4c@RFJEhjUU{`sZ^#zv&ZZIp-IBE71b+u z9r*~B7HPr{DfS>Fh(ZC2yXkM_6pB2dXR*ay`TkSmeZb6 zy-+7i30ke`1IM9sE4Y$vz(XTJ#_7Fhu(2}D$oK|Pwlx;zRhv;?NN3EGcLm`2xOpDb zi-LDA!77393Q$xdC;Jwd*meUlJx8$Rut~|!3fcUARz88D0V1dZ-P~$ls-v204&L9T z^9A?MD{`d2Hhs6eIfG^gwreBzSXE z>I(R@*2KZ#0paU(#)MkBPiVAxsoAvaK3|r4F4e<9lx7{GukO@BY+NjzUCxGGUWE*J z-)G`nOCR?NuQ$0$QjMb8pVrrznAEMRBdW~Q3m-UAkgxnLJn?s%fzks?^4iGb{9KQm zt-?8uBo;iQ%A#XtCQ=Q1m4RhK*u|6USO|m3s=$ahz|#692j0!U5E!1Sm?8YJGTB02 ze#iWyyKD@6I$5+BWqSGv@L&a|2DaQi%`SQ&bdiwGHSiB@oD8L_Z1jc&;Atg;z7-qs z48>SMcA-EBJ9UdG<0TNPk_@eC`VsA~wFcu?$2f=$Ah1*|rqpwwU>33c>wNqgvrsZ! zqOq7Wr?d%QGqFY#X2D?uwfil)jD>JHg@hV%Ub10USvOLYyE0)QQ{=(dBldR~f6XZU zIo8f;e%Fgy=PlqUj}ZbEbaT{xpwCr#LT(h3X(g-qj;yt*9sOr+Aq4tepohI2)DiTn zx~?4B4DvTURS&j`p4yV1xPbq?r91 zXi_y1T$U96KSQi_ z3jb&;i85c2Tw{`D5PMQ-QEOgzirTG#e?{R25MaA56J6W7HmdK3#i?TpzXcu?6kIdH z+)~DH`a?7GT!*OCf>ppS_^+Ri9+gFVxHWq2K~wTSv~s-?M+Uh1_YcGR5_TRqF;zxM zp#2wLX;E-L+pvn5g6B;W@k_L7t5iru;J?6>j;!F?<}{6#NUb1P5DGr*Eu;48IDl@| zHEz592$H{Ts&l~-zD}(O2Y=$H zbg|Ms3~)E8m5|**cdPBxlxOK&Q3XG9c~nvLa?+?1pdTG4>)AQb*QxDxm0t}p^)6v7 z>53#EVP^S?)QACO(93<|hSwx$jw??0JxGp>;?OqY`e7;sRd@+TalLcTdx+@He(Kc7 z0)Qb53aLh0zBy&N)r(uekEZC*=%%24`4th$8c&e}Zj3Uxi_@~;|q^KK!uvW)tTMD9*SrfM9EOy#U*U)_UdGc{+Rv8~lk%6%oFJ z=EZh`7Q(ScWw8hR5_3s+?TMowUqNSY|3ArmOa=$`~)>~u@^b?vc7d$3HL868!07dy9TIj2b2w}}wW!G%?Xf^4;4Fad&ylhQr%fy?weAdzGh{+f`4fBM^ zfYmyiQ>^onMJ|Y#>gR^vruloq<UU|!+PD>;}$_e^Sem_fo zdVH)$-J*7`3Jxvnrr|2oIhKWc4C<$4drK6DnF{YsD>DC*sh;gT|ILaGY+n&Z!~Rq< zOx!Qf9LJb+qa8^h#6I*921E&( zVzWID08kceyRaXD7O9@2Uk7Nrca3OYud9s5G=ooDRba}Ek+BtFv_);{>jE6PvmujK z7y$ksysGXQ>gXMa6D|(6WN$m9j0n}t_yVnp{^WZ{HFe{w>@A~yg%4&CXn94X#PiA) zko9q=c+-F4P`{1MDXfw0n{uDCEMz9B^QFb}oKEFe$t?{Bu!#+7Ish%(Z9pkL$NY0E z7F@XR{^|CIsI|4XAMT(LBD#fsHmVIYsx?Vwn~`xLq5#mR|5rj6aI3$SJJU#cjU) zA-fdihlfgW5hszFUr%M`V3eO`K-^6w)M+Tvq4zQu&A*d(KPvpQc_fcnYKt`v!D!~` zT)T{sJ;jm7`bGxvqPx{PLGRU^y-z%z@FlP}ZnD9L$W&upML7?zx_cw7+$*yp}>6{|=KeR@jL!^uGcdCyc5yzue zwq;hK8oD#@3lG{0P>{rr`pWmxH%jWy{ADxF<|G;d3%br0gMj%{qk3y}U?fLUux) zZ$Ns@gYNS2N=&KCcNfDxp~nXf-ob|~Nx~NI`)L&!@*J2WHB~umUwnNb=k^(9^u!3- zw`JSd^UG6RLlkg8N_^4H`W{JZ$0OASWwTp&*yt1c#ClIC>ctNWVTNPw{fkn1lgpWx zdyb1*p}FSUTMAO=elf?8%YDDr44(LICs;ALH&#DsNg(j9%{n^=E-MX{h%{|r6%fVs z^jwsa`pIP7RQlLRrtjgS-ZskQ zf=eIwQHiYE$gim5o2eH3teM)J-P7Hg2weY)&E@;S{fmp@+05um>Uc)mcXB$idjp@I z*wlT4+e%L6F1``5q~y4yj@dME3V%KL>RqOA>7Qj%#FTA)*iL&FXT)o#wvov$zncJ-c?(!A87T$SLdgBWpP%G@}nS(AGV z+n_$8N=E+6(QFY z41OoyL`tlaQgKbF;*2Nn#|zuTZ9^lyxY!L`G(IEXDXRUX!2Y7{Wy9yy3?4@3R&A8; z#AKhp%(PlU9*%?FOVk0GYLliY`P~&Q&~Lr`=_%zi{f&FB}3cBQf@C*NR`1EuLv_AJ$?UFoY1bB zV!GU)U~Qk%QjIARFM-xOmEn3Fta%q?H>s@~He4+xKLq3bho-42#yxXC{$|oqV34X` zdpw7D&a|WI?RrBTY`EgO6#KUSO8NA2($syMSNw;}!ObM~6O#K5kQ{x>id=IK`(BBdDDBD>c&bI3BjP6gWMAPF^_^~l zv^C%<*t#i_fcK>zq&mL=Hgc}b)(UWTU){D8X3>%0utnU0-ly6sJyk}z~v34UFS!8v?_%$ z0^}#SsVcInc(aOymguEe_V?9DAChB0J{QOM?p=IAutN?W{RRX6bD+#MY~WYs%BC=n zt@jTAY#rMiw*23Wo~C;?+P04rl$cto7+CVn&l?jCXYUz9jRK~z;g+Mf3TCJx~b zw<45X$6D-`fg!ekvx3oBXv8#)iAgo(r*qM497I#?YBu{QsV_8KZl`TlO;tTiF~<%W zc$~CypABKB(FO>YbDWAV*&nfl`p0CF?a>m{+_QYW==s)qMmE2&?gHssdCX99wTRM4m}j(Tz0eoL{SKT05BinUz9< ze{?}}&RR9$9ed`)$KLKalFMR+{+F0hA#6wZfDcc*rHUkKM=BN{iD!~?EJeLh(WqJ@ z%O0@Hkz=KAT9z3y1I>2JXM2(AWc{7p8k_i_h)Xv@lmv2D964MiuIUE zDf4+dErVcmLttiyOnM;$q@Qmmpe1>%y3vobZuG4iXjv@eDUGWrERSH{WUJ7s_URbz zD=4qxj(n5O_@R@)&wf82CNG0=r!}|DE(tc*;&b%uRZeab;ihzm7i9-viXrhufrc8U z=%qRTQpc++4YxE`k2=P^h${ZJYSt)!<2TLe1@SBGuR7`gZ>FZPUb8fDh=_fg2T(cA z_#2g);^{)PgpjEBeYJCcZWHR+W@@n|gHv*hvQ;@0eq9khm*6ucB|let(@j$2O+jN{ z9o;_DUo)N=@+9mBs&xFUc&#S;q`8ppaXYmS3K67xZ-%9!Af)e-dBmXAeJ)(!@%)pB z@7UPN2WA_J$L7)~k0}`5OzQ`h_$bCbA*|Sq)5Edf!$u~1#?Qj_`S*8UMLgDZcT$2G z6{Z5N(_Ol$6(^>s^=lA!DQj-D?RCfAo*#6rO512r*^&9i7_06;zDXwRy~+XJqbknJ zVlRv#y{JDcR+>I#26JszHeLs0q#LlVtN||p)-vLMXq{eF#GGV~*_Rk@u#OWjx-R`G zc_9hLRbB!zg_K($a1ihaTPFy7&bdjQI(T|?>Ig0bGXxMgcQrhD5ya6W@wC9Mv~5F3 zpJ;BrU;K!e;`^V91GL_9u@iq+@BB`Es?9S{mGSSh*b7`qKpp!l&$2N24-IM*89X#E z5ARp^ZcUfh%3Reyb>1|dlZBUuRvY^8EA^{r(R(sX!c9fC;#Bri z$2X&8tZ}%><9fQ>k82l`@KfOo_U7?>!E>_iJ|FEp_T6Gzjy-8r{%Q+2dIss#hZE}R;v0D!H%h-KKZM*@7x*s+cPda+0DatT_|x1~QK^j|=<}K04Ukix$zI{eG!O^KGkH z^QQ1b+u$TbxzLt2urMpn;5%hqE$Fb|z7O08CKR2Xao4g9msUXBj9lXQMbw#3LR1{Vh+rF1ibhd!G~wl1tzB8#YIcfSjo6_q1GRx-?uQc(dxDBI`VTzecVE zdTcW!e>ZW^X61Fcbs22&LY5A1P#!Z~ZEyA8P*Qv_RFkIds!ucV;uCRH>MY5nV9IiC z=)MK{=9@YdKTTFk6Vf$Zxg#=(D~_nk_zVcg8V@(j^J>G#zTZW}1@+I#Ca3XBbVJzM zG2$-E#wf*iEMwh0@NTEvj23JIeac^*BI_Gq_j>g3HG2Hfp^-rCORU@JLhQAp6Y2{_)b~Z1wYx7 z!O!n*>jmyKE*acgG~E zFR)HE4#g9X-1x+&GGtp8ftFQbu-KH=y1uEt^lpG1PRft0rxlS67 zWk|uHT?CHGZ-w+v^1}5CKVfZatZ~r9Lhx$=&^cFcANgE`G`#Oh?(%I~IlG|EogRWzI3T}IYs7JK`#`$X~j6dd!!MgR+ z=DH&XrzO@E(~2?)bvHv4TR(Pxmpa*`H7g!A5pv9_oh!XxNHP%nxO%sZ>In_j< zHvY20BvQP?b^De;T1T8DKM%IrPgG0XOWd=KJaW04Lb(~J>A$Drrz#HcA&bZS9dAdIpYi=l{H zb_?L?bll1^o{?6G7l`xh`IS5}zLWFh`M3oO>rwNfU2&cq!5{-H?}@Fp-Qs7h0LjHe z>o0Wug(eB{1eT_+4+_g`Qcf}V<vl*mho|L_H$%v+8{D9?h$O%%KTuyBfTY11QtLN}DFAYvd}SL;ZQtUoW2(y>HM*ldDB37Wi}p^}(4{q0)tu4Jlx z^8PVnVm%Fsb#atzF^eK+p9Wi`q*^|w2joJ)nlTL z(ktWPMS0j_Pxt4807*Dsgsts?=rms$ovNG)gb)|PzGJktB&;$lu1rX|+-Ol3rEC(t zt&t>6bXN6MWaINP8MoTX0E}!V00^~2x$&d@2DY{M#q1l3a+UMfSWGli(FZN|T_GCu z4pEsgKG&6>r=YCu)7QHrMP{zkUd{l_M^C%TmCJk4`aMv>L=<67vXpTcM&~G z%y5_$aZ6Uhofi5(H2n2@`N+2&R&w$Ew}|Z9=~5?}{lP#InV*AlZU`dA_ee#STiurM zRODdD+|2GZ0q#(qp%Gu`{HUCt)dq^}`*_+xs4u#>USM{v!Jhb%Q6~q)JCYkAFR=By zbFCV!EdTY$0&I`HZ%>k^7POzLdA!*~+gtj>WXHLY=;NMImk)hlKg&=HO!IDlpv=!CRCxUk57=!Awe|r;B&;c29FKFuF3cDQC(tc+la{i*Q zogtT6ZqDFl zTY3S*sxg4+B;c&{JMCRJ<0$V-npr2w#6sHgeC2CrdaTjtl@7e#@5t{)FMr;k+y!731=p%ZuB zfXcP^Pros@1*l1P8c(awiOb~7-w|%3?f~%d zOycese?Za(qYeq(1GTO`34#hcSkf0{Lz(jvBB6^W5(9&;@?ZIR zVvOi2r!;<}Qn89gyDqdZ%gZg90o1IiHeRO0t$;Be%VU)+=ve17AhG}?(nnPu=K_a` z(x*H?*A4Qpba*`I^`sI7jsb?{HN~_80oi(~PQTn@HdxCi6Wg!=TbdSOJIpia6 z%UM3WfRGrqrw$o^Q!)zPJDZwDNpjIgMh~=u6Rj4!GumF=27c^DCjLbXJ`=>;WO6NC zi})Ej|G_rpFs&Z(l|gomW3@M)R5Ir+xGQubki{}98ow!kO}gc+2k{^^M}xk?^yCb| zwn;gZ>s2`wW^KxcIM?!OVnLX%`#Z8!xkVq(`XfSea7uA4ElqWZNU;|A%(27OaX?M$$uR`?YH3Yi&zDm&vkv=1kmFQ)sXdH>g(@5n+c_cTIi~EwXT(cdmWwq{L+c^K4@}X~fwTeoe>`pIe=ytl zA8k-zdkPRe2G$m^0oLi{2fNe5DrH;{$&I|!sccJP`L1AcI|ac@|9#Yc%#T3KM*Yr~ zD$~gMt&@yW&g=|X_{q8D9Ttci;iW%vp;f`fcH}Qnh7dem4yjcZOm@BM@6G6J9wnDh zppNO3b(=!5rpqu5urc62Q~w@v1V-xK0o#Pdbx-cwme_GUnuy1IVi2`DXPclCf%ZT+ z{kj&BAbZ)ooXT1$>4%w(drD- zFU>2jx9mepLZ^0}Uaq?=Uf6q&C(}61F&f|KsyKNB0dH25dP6l25nEz|eMh;3tj6)0VzQHcHrK;+uo^of=;4h%u zH>!eN7h(fM^Qkh&saug_pj$vNydKRl%+-$L2tl3Z_NhiE@Dr=M8C=aJ6hDD&nH}S2 zBODA3c!Trl&YtEvp!IUDB_ORdTkd=Cbd%+Q^J?nT_N3hMrv9#NU73aQYN-TjC6x~~ zkb?3l(z?-L8FciNK5XK-gYKTITG*X)3p?C;s8YGhHCi(|X;A-WkZ3Ji<5gla50+x| zrCKW|xPn3TxZNmX<$>h$J9QwF?lvgm{(`t}n7Y5=Y>6I0M2-Mf&F$;k`sx#uy`F2- zd$}jn{rqf@aDiyXpnJnens6ts2=yk#EpOITaZBCtMekw*$z``u#lqMG+RR!s>y)sj zrR)lOB)Z8uflxQjg3NOikXM}5S2bCRxj!bguktj>MEpf1Di<(h4?c?3WcZft^CFAQ z@&|IbWVhv%B;XYHSQzazvkbjU@>TeH-u|p*!aobD>#F4IZh3rxHBhaLEw2 z6TaOMyPKd&PPxK?(L;MTYsN%FptY*+3EqYN;uePB*~QvN@GU66{Lyo(O&u({F|Fya zdMHApC#J~}k9PjdRee0yZHaua?2nhNcV8t6u-zr@y~7zVDZk`!@hD_!>}Ri(8jb%z zw~gN520iDaep?{KycjcbMlFfALjF=`JickM%x#yjX26aj!md@HAp;0h(ySN+9f3qAfS1C8t=#rXXm;Jd;?erfvNv#w zmv=y_VnWL?B)Ye~sz6uS4gA}4d|t4o7!y1Btk z#h7a|&@X{)qt50(tGoWC&gzX-=3QJXR#-b7?@=CiI2wz_?H(BIZlrE+*72yJlnU2a zP&L*tMR%|`^8}!UXQyKm^OlHE9_q+ce6;|382m=a2Ef*qKL_HRVx=%OMc7_DCT!bn zTWl}!C4ytie+065ldrE{hwCfVH9;?#zL?1Hvc1u$FiY{HF5FQlghy^-kvsxUL*IZj znFeR@_GziI0-{(Up?LvTxK(8DS*b`(K%Df9LMyve%hbpnO;{dd;{Altmh~c8QfeEl z1&83;Sb*2wb8w;osTaYMT&yphh`YAr^H#I|)-()zDQtwQBYJPKK?N4xsa7c$c1Ezv{ z{sVH}k_&GOu`+_RrLeD{uR`xa`}*Y?8*PdFe?)LCNjimGzJxn`yD2R65j8ChhNZ5l z^8l}|I;tL&NZ6PYYp{l(wBuZAp_0Q;sAvphp=r6hTxbwivrNGjK5!sdeM@Uyo z$@6CT5BI|+2pYW()Aq9!r52Z#Tn8<^#LvZPL$2*hb){e=N9X2UjL7oY@Pn<8nVGY* z^$D+nM1_fS2*j_rpAALv1H}j}IGBl>Jq4D62ch{;mN~cn?eU--KJCMV@F5+1cM*RS zH&6#3Au`R69$O;=pcFN_{=cE3Exq zfFJ{V#>FoySy_+L{aT!60P`~1@n`#oM#mbkIE<1|GJck@=W9jv-8T8fRW`7skA1B` z7VQ(-U(z*uj&MB+Be@+cb)(P3HqbYGV?a^7nI0Y&EylXT8m#|iONc$N`u0ty82tWu zq-E?$C2zuoc{K_?zv~qR?AyBzr|LNoywnqSYVCs1I)t9S4b`n~z#zu$a@pf2H>_pf*C`^)UTG!{BNd>BVf(#IHKyxSs=304{A zl4anPjT2flO6Lcjodzi`Y1E&y#^>AHGc$()D2_wZtqvxo|`3?Wjyl4#m@vYR3x(@W}Ku3Nd1#az;ICy>{*-{D(hwvI|v`X1}qKi{UaLu#K~xzK^r#kcP+wI zY5&lE+vDN!SgRMqb`9M{`UyUKM4GGI{WZ*qD5nm2vK|Q6}2<^`{@0?et+b@_fDiKUq$12Qyp7UU0X;#M40m96r+g+%8Peo7MK< zt(Qy5kgB9QE4bq(QRN+zhcyl7AwgOUaqi+dpI2NtlJUK$>xY*DwEpm@zjg9V@R~a$ z{7Mz)UnH`}HMp%ETE+Z`1y?H-ZaipXwV z68ZzXHR-$*n-PJ4q%jK=mB?$~vV&AwJ%W~XKNI~Snoo|6Dq5WGaXWHmh`!w~awX7o z;(ht#*vjeM_jTJ8(~h9uARD8@4cR-0sWL?BeV9R17tZo$b6v0m1)0|Iu)P6IS!ws$ z&o4tX0T}M&Yj?8mShnyKu^YfjDxSIq*R)_N79b8uw)8rnSCEfp*4MW@0A)G#{Ju*3 zs&cfAZ*vZoBU_-EYP~VIEk@;8boV2~+%v=(En-RFEpxfI=i?+=8A^_&V$01A{-hZW zX@2Zs>F8PZ0P*bA?E|U{%=VHt^!RPsHUlZ;Sq`6pwvIx6-q30rdNdhJ-3dcJkTm0y zmW*5{mIo6`D@E&d=nBRlNn-H^9c8$!4E@0VGM@`zF}C||7S!i!!~r+Db?3H-oTgJl zi_#6hC+K3KGY$%uGaGxw1^_5R2yZ4}(LS2y{crBorwvedPc8(HkykC7w{SbL-$P4W zeHe2?ei$|paj?ai1dK1YTx2LiqGw zECev5P{6-m*s^)GB=m!UhFgd*Js%M{Cd8jRxO&+rN_o{kK{z6 z;~*^it@ksq`!dT<=xm3VqIn=q>V*nTQ!ul^v@VlVx`rR)RHIrE1VLaQWzDAjt_Yh- zQ0~bdpI0tp1;6(XcnjA= ziW~2qdgG@R`~gbo#J*|=fBMmVVR!um@*|7+`Ac`-lTdi=Js>Wo!q0Z|M|PruIV59Z z;DxG>zVS|A!zIw#7NPmmrR2L@8^Z_vv!aJb=x!0<4-x~W-C@8cQIK;!R2Sp|km##O zz)l2++cj(e6T|-&4E}FAUI)75;vmRV2f9aZNDQ7F82jw z|Ll-O1EHAG9gnnS39)5-VZ}y6D?u)aub;c}$uXNTDl+#UsQD?w-9UuDyS$3_!l2AE zf(Y9|&6i&ecfeF1EQZW1*59Rb8_>DVZFcodi`|SX?u-Ytn67sce}f*J`j;?{UHj-^ zb|IF`mY5yo2mVna6x$2iio8e=H2yKY)8lvDvSm3ZPfI(Mj)|!Y*U?(=@_EjltBj@I z@I~?Wc;gie^0oM{XC&^x47&N3#nyviy8hD<+k#g%{x!C$=af+My2X>?>1CK-Y< z;qmtUjat~e3*?sy#|0`Bx-lz5QOW^XzO7fXcWoF2gtJmLN^{afl*QX|e zW7W>S(F~bS0y2G2wM4;TZ#`1@lfCr|6AzrKb{lIfyxsf5A+2lVC~%2)2mXxTHa9qX z+<&u|O-i(<3}K+o_Rqa=Rb!4Eth`+8gP1+fuJKr&Pwr$N4x6MQ6ZNYj*IEEGydtVB ze%pBAj!n!vJ_u3|3%-!k+ybak-J=e2blM|EpVFyM-J$bv-yHn@G!VRi=yBQsJA4fGbBlUlrd|w3U}iEu^n|Xr?FteB&UJVV$m6UEM)@c)hID zo=uH|30vr=Zw50QE=h05AHxCJ=%xZZz0y^4{O`Kn=xJEr{CkO2^KFv&+=f|~OgXKd zmS>^lkEb4cU=LHx4Eaav^NT|%?^kCJfq`fWP!J*s64krKR^T%-*1a&9qAATLw%Y_j zSK*7lECEbZS5(xQNdXflE`uEviGt1F*;o=cJc%Ae9{;?OMLn8`tx*yDWF{6({0IJ1Y zX9tXN>j1AxXh;-ap@=h(L~yxZ1GpwM0D6`K;1M9W&>3{OEf3JjTuwTGM=B7*!l(~y zo~nw4xqSSIi!&x2SCqj;h=MyUXZt6mI>Ji@?!;XMO2Q}9QAz3#A74>9Z2*u8{svvF z6IEUWhy~6u#=O%3pf9RS*!uiPcK(fe8DQ@)e4R+ejD8FZ!r@$I+{RXI9&XIQ+6e$PA)DC4<0LjEl+l1z zf5b%w@v|qy3!glKSO8{$GOxSCs*nDG9WfYxF;%xnf<=R~=us|L#fLn>7F;G=1#G4& zXNZZavsn*EXK7T%Q`x|&+`<^sZ%4o{%am`|$k{rk*<(ei`&X~=uKwiDYcE@?U8qs) zpfbaHTYE{fm8mM=qldX<7uJefy>g?%TVsrKx78yxiYoHqPXCC6{vun)EM%bT8Y=VKjT95M!} z$~3QUnjSM0Hj?cQA>Vp-4f@FvE#gOvq_4r|?B?~gd4ybDX_1A02bkP$&>=}%7QI+L zdKF-(lh;oAVCm0B7ARekz4BQtI#VXE5zkDBb?(xNiOQ*!0D&BmT)Dc=#gu0I8h=$8 zAM8cjySur*rF}ebkRR?V)F>bpuffB^oL6pku$IzdnKpE#C5=)^_8s2^Tm}Qxv#6NY zz45uCr?8Pm{VqsUz0%KcJf=0bUMfBx=6k|{!MwT`wk&9=WseW*g=k?6Y0M^-^nt^1 zmyPqEEyaku#U+jDl0#bYaG<%cq5uIIkKLq0jKruJG5V_hqL zI<3I4nV6jH0zE+;BvccbO-fCI-uIZS>Cm4==O0d>|f z`qD3^3xtH+N&=Kt2$EK}O&p zUTzZCIES3HM7wthiTnn&BdazAu~_lL_}vd2a@INOz-d$=6aei^OwUjuiqkV-mcwQy zq5*b6VS1*8uaoT}?GC}AkVT`Nh)iS$>?;V8F>W2^H!>wotnUo{B_Xqpae!=E)L3mx zCvIBu*HCy1EQn_39MY+rwEE&}yWk5-1^Ud6Pq;8%7Rw^yLOe#St`t#| zO}1gk{Um)R(Ej{X(;m3q<<`#!E-a;zB`((oA|E3UkBO&M(RN-xh4s~iIc`Tp-X<;+%2b-wtm$U|^&R;juyXHGs9BPpo`PMjllkRdqqhs?rx_YtLTFHSRt6r~ZZ~5Zp2)tktl7tP9w9`4L&D!rhQS zJ({_~PGQ_bwUou^&K0KeU@oL?w{9qW0Vq=dr!oT+@|q3eH1efvA?t!=X3X{4qSDMa zxoE?7f6;8&*N2E5cC{PyR>G}*gA${ka4i1@DOaXJ5lW^-MfIK}X$VdjK*yCumv`Ej zQ}h0vzrD8s*S~iAiNRw(){&_(9fIa=ID9n;&S{WnCc_cE=920;%tTX&^N$onC`OXVJ7{EyE841%!NJJ}FZF;Au2 z9hKrli;ByCdN)u#Y~mVif@SI3YYpa=t3Q_usCyi5v{uGJFR=f**}8LH@}EM5Xx<~H z@mV%S&XaD>_czavTMLg=iKZs%WtyuUrA4%;BPOvKdXuiv?u!UcsGT&23h(l*-BOh~84(i9c z$HckixzAS3qr5hc%02nXZ}xI0&*fn5Kb&@ya*|a%sz_=Gy(WZt_*wlf-G(%DyuAT- zI0n&mrH*s1kXEzL!CSV8t@ExMR{2m&>dz#h&hTKQlb%xK4phIdbsZaF$L*B|9yKa(fT%NFwLodnJ$#4y7A$RIRc*c8nAT>?lPbo z;!xVWIpI-!rBE8+w1MvPI|C*05uGA){E-6yB%bd7@i89&o`D={pi*}K zNA;b8$bmxp-*#@nHSjbm+l%*1ne4XBI)ry();byIohLt{CEhb;qFqA?lyh_jg3jgD50ZB6lvI20d?xlX-4W8k2YV5efj5hJED zHcK%evQ(ztBbJ!}pSshYSSGUF;tKCa3*$TDHx2p=HV@YWKeHTPi(fV3K3K~ja(V-f za%HuatM6iWKjXQh_NY*Ok30|+`Zpfy+yK%9f@$gkgdE=Qq+J7|_oyxmbi&;576S^U zg;^sOLA}gdn}Fw(rUx_o{A)0mO@|E|$I3+Pe#DJQ!M|oPp94okv>L0!De1|@;=#VGGviR-rqw_XgmXK01`^{JZ&$d33A1aIC}#e2j-=h^)E!V00oi zD&(m2JqAziQ(i(qCK<99q+u}3wX(7#qwoqLsgH&g>% z%j+hNS_c9%_39F`zw3fmT=`WB^>Uw?g~#1bL^e38$<<_s0_b+a;$h$Q&hfVe_HlWI zCk(xorZdz0E?lxyIQ||cQ`X(rcjD+gTe6xOz9vEOS!&gCOO>K+F>stavRD`H8yf}@570eEjvc?dN~4>m7Az9oXhAp2y_&_p%yiGBPM?*%q{ z8-iP!8vt*cwSf~Fk_-{8g5VXGr;?Ez@m?in9rONR;%^YP zbit!rJnPCgAF7eWXMB?;^dBj6|H_yQT}{~|pD6bqHRSpP{n#%5SuE+9?-vr!vUp~o zgIkczV#>wA3rv(2Qd5Pj+%8y=%`g?GF4xP*XQd`(#6IXFK>`b1mo)LW_zj|UO@Q5; z$n910V8eE5R_)A3lh`t4P4F5}-YFe`LTnhF25nlCZKt*$#J?FDQb}kE*Yr~{u*=3~#+`SY4%l&bgHTZ|x^1JW> zF@r!#*X0=pcC9*t3ZR$0JK!M%yn_ES@cK=7Sl|^aPP~Om z>*5fCm+)(xi)f#q@1SG9Rw0lxlhm;{ zXBsFG=!m11W-4weo|5eH^ZT}h%!Rt>Pq?3y!iRYY-BK?SIleRzVztw6Zb`gnB<^k5M4Im0Bc8_B8*helj}(sA zRxV8R7QzDNI0DLriO0i7d3x#=4`AlN;mil-sh6!(rxt^W<_dR`>emPU!lY2wf|9_i z-=p|S$YSRbZN0mZjoRyFynS$uVK~iCktNqq4uqinFQ%_gv=y8v+1`V%0+Ey3A-8sF zevBdp&6(Wf1ecoN%UCmdS-UMo!nX=qrvg<62$yKQoeI5{pV&$*t~=^hpyD&Nitms$ z!N1qwjQyN%b<)>Mx|~`h?4GJ~;_R#QH!D z)(*+jW|!19T47fif1t&q+k}P5a<^#1+7-Kfyd#*oKVQL&4p4gg;x;p2iFa=CO52a8 zAB(5WRanoQ9|j?|utn`(jhHl>Mhy&EzGO~5KQ7CrOSB)WjEN0XS0r=*$TH;2sSkci zr#~`tZh%6hc{aev`1gY5TH2EAl#&uJ=m8v3f;q`cN>a3Qex7s_-+1?(FQN3vtcW@F z??A%|o4oJ@)3G$8bGR1=xC|clyq`;>J1bgb&n3k`opX|JS4G>!O=$MJ;;YP6uOL{- zNpA4y*^M#p)7vkl6jyUk*Otmq#-X`51-TQ@57-I1v9g(wziHPXj?(_?9+DC_T+x53}?#oc#r zRBie_NGku^>&|QWSiNoqkQOc&`t>pfv0Y`{T`)tz>-SH#D~?&?Y&LwqM!6t=b@ zd}v1bW#)CSE%oF3$Zoz8w=ZlHm10Y~V#INhnM8UH5su$gB-hh$=nkbeAx%>E$8G>5MS6{9PsyyTk>m4 zX?;HVjwY&7gcTrABAQXTi8C?N8uEJWA00Q;*3;h=i&rj-R0Be0V~H?QoAoKxufhg~ zT6N7RktdF^3Vr_gk0C!LrPoLJj(MvqzYl+xNX)@o)C>^6vqzJ}?Y~WEx)pFw5_eHU zI)Tj{5G<}@YW?%{pYQX-UV$l y44}uQQ%?sw#e$E-e=6H+_-AjcFq$ZiFzTI+W&nGcSn`1uY#rhwOAh$=&;J9yQ{DCe literal 0 HcmV?d00001 diff --git a/public/images/ai_bot_female.png b/public/images/ai_bot_female.png new file mode 100644 index 0000000000000000000000000000000000000000..b863d50854fde38c3e885b01d03285f7b51f5fb2 GIT binary patch literal 31617 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 c_1X>lX}<aIfgtj{UXDnLaXI?`0DWG3>Hq)$ literal 0 HcmV?d00001 diff --git a/resources/js/chat.js b/resources/js/chat.js index 84a4fb8..c66df4d 100644 --- a/resources/js/chat.js +++ b/resources/js/chat.js @@ -9,6 +9,13 @@ export function initChat(roomId) { return; } + // 监听全局系统事件(如 AI 机器人开关) + window.Echo.channel('chat.system') + .listen('ChatBotToggled', (e) => { + console.log("机器人开关:", e); + window.dispatchEvent(new CustomEvent("chat:bot-toggled", { detail: e })); + }); + // 加入带有登录人员追踪的 Presence Channel window.Echo.join(`room.${roomId}`) // 当自己成功连接时,获取当前在这里的所有人列表 diff --git a/resources/views/admin/ai-providers/index.blade.php b/resources/views/admin/ai-providers/index.blade.php index 4167b5e..bc8e7d5 100644 --- a/resources/views/admin/ai-providers/index.blade.php +++ b/resources/views/admin/ai-providers/index.blade.php @@ -67,28 +67,56 @@ }, }"> - {{-- 全局开关 + 操作栏 --}} + {{-- 全局开关 + 高级设置 --}}

-
-
-

🤖 AI 聊天机器人

-
- 全局开关: - - - {{ $chatbotEnabled ? '已开启' : '已关闭' }} - +
+ +
+
+

🤖 AI 聊天机器人配置

+
+ 大厅状态: + + + {{ $chatbotEnabled ? '已开启' : '已关闭' }} + +
+
- + + +
+ @csrf +
+ +
+ + +
+
+
+ +
+ + +
+
+ +
diff --git a/resources/views/chat/frame.blade.php b/resources/views/chat/frame.blade.php index eb8a409..44139d5 100644 --- a/resources/views/chat/frame.blade.php +++ b/resources/views/chat/frame.blade.php @@ -45,7 +45,30 @@ fishReelUrl: "{{ route('fishing.reel', $room->id) }}", chatBotUrl: "{{ route('chatbot.chat') }}", chatBotClearUrl: "{{ route('chatbot.clear') }}", - chatBotEnabled: {{ \App\Models\Sysparam::getValue('chatbot_enabled', '0') === '1' ? 'true' : 'false' }}, + @php + $chatbotEnabledState = \App\Models\Sysparam::getValue('chatbot_enabled', '0') === '1'; + $botUserData = null; + if ($chatbotEnabledState) { + $botUser = \App\Models\User::where('username', 'AI小班长')->first(); + if ($botUser) { + $botUserData = [ + 'user_id' => $botUser->id, + 'username' => $botUser->username, + 'level' => $botUser->user_level, + 'sex' => $botUser->sex, + 'headfaceUrl' => $botUser->headfaceUrl, + 'vip_icon' => $botUser->vipIcon(), + 'vip_name' => $botUser->vipName(), + 'vip_color' => $botUser->isVip() ? ($botUser->vipLevel?->color ?? '') : '', + 'is_admin' => false, + 'position_icon' => '', + 'position_name' => '', + ]; + } + } + @endphp + chatBotEnabled: {{ $chatbotEnabledState ? 'true' : 'false' }}, + botUser: @json($botUserData), hasPosition: {{ Auth::user()->activePosition || Auth::user()->user_level >= $superLevel ? 'true' : 'false' }}, @php $activePos = Auth::user()->activePosition; diff --git a/resources/views/chat/partials/ai-chatbot.blade.php b/resources/views/chat/partials/ai-chatbot.blade.php index 158a680..5c7b56e 100644 --- a/resources/views/chat/partials/ai-chatbot.blade.php +++ b/resources/views/chat/partials/ai-chatbot.blade.php @@ -13,16 +13,6 @@ } chatBotSending = true; - // 显示"思考中"提示 - // 延迟显示"思考中",让广播消息先到达 - const thinkDiv = document.createElement('div'); - thinkDiv.className = 'msg-line'; - thinkDiv.innerHTML = '🤖 AI小班长 正在思考中...'; - setTimeout(() => { - container2.appendChild(thinkDiv); - if (autoScroll) container2.scrollTop = container2.scrollHeight; - }, 500); - try { const res = await fetch(window.chatContext.chatBotUrl, { method: 'POST', @@ -40,9 +30,6 @@ const data = await res.json(); - // 移除"思考中"提示(消息已通过广播显示) - thinkDiv.remove(); - if (!res.ok || data.status !== 'success') { const errDiv = document.createElement('div'); errDiv.className = 'msg-line'; @@ -51,7 +38,6 @@ container.appendChild(errDiv); } } catch (e) { - thinkDiv.remove(); const errDiv = document.createElement('div'); errDiv.className = 'msg-line'; errDiv.innerHTML = '🤖【AI小班长】网络连接错误,请稍后重试'; diff --git a/resources/views/chat/partials/scripts.blade.php b/resources/views/chat/partials/scripts.blade.php index 1763b7b..4d79f4c 100644 --- a/resources/views/chat/partials/scripts.blade.php +++ b/resources/views/chat/partials/scripts.blade.php @@ -257,20 +257,7 @@ }; targetContainer.appendChild(allDiv); - // ── AI 小助手(仅当全局开关开启时显示,与普通用户风格一致)── - if (window.chatContext.chatBotEnabled) { - let botDiv = document.createElement('div'); - botDiv.className = 'user-item'; - botDiv.innerHTML = ` - - AI小班长🤖 - `; - botDiv.onclick = () => { - toUserSelect.value = 'AI小班长'; - document.getElementById('content').focus(); - }; - targetContainer.appendChild(botDiv); - } + // ── AI 小助手(已在 onlineUsers 中动态维护,移除硬编码)── // 构建用户数组并排序 let userArr = []; @@ -374,19 +361,16 @@ // 调用核心渲染(桌面端名单容器) _renderUserListToContainer(userList, sortBy, keyword); - // 重新填充发言对象下拉框(不过滤关键词,始终显示全部用户) - toUserSelect.innerHTML = ''; - if (window.chatContext.chatBotEnabled) { - let botOption = document.createElement('option'); - botOption.value = 'AI小班长'; - botOption.textContent = '🤖 AI小班长'; - toUserSelect.appendChild(botOption); - } + // 下拉框里如果 AI在场,可以直接选 for (let username in onlineUsers) { if (username !== window.chatContext.username) { let option = document.createElement('option'); option.value = username; - option.textContent = username; + let text = username; + if (username === 'AI小班长') { + text = '🤖 AI小班长'; + } + option.textContent = text; toUserSelect.appendChild(option); } } @@ -445,7 +429,7 @@ let timeStrOverride = false; // 系统用户名列表(不可被选为聊天对象) - const systemUsers = ['钓鱼播报', '星海小博士', '系统传音', '系统公告', 'AI小班长', '送花播报', '系统', '欢迎']; + const systemUsers = ['钓鱼播报', '星海小博士', '系统传音', '系统公告', '送花播报', '系统', '欢迎']; // 动作文字映射表:情绪型(着/地,放"对"之前)和动作型(了,替换"对X说") const actionTextMap = { @@ -522,7 +506,7 @@ // 用户名(单击切换发言对象,双击查看资料;系统用户或游戏标签仅显示文本) const clickableUser = (uName, color) => { if (uName === 'AI小班长') { - return `${uName}`; + return `${uName}`; } if (systemUsers.includes(uName) || isGameLabel(uName)) { return `${uName}`; @@ -530,14 +514,11 @@ return `${uName}`; }; - // 系统播报用户(不包含 AI小班长)使用军号图标,AI小班长用专属图,普通用户用头像 - const buggleUsers = ['钓鱼播报', '星海小博士', '送花播报', '系统传音', '系统公告']; + // 普通用户(包括 AI小班长)用数据库头像,播报类用特殊喇叭图标 const senderInfo = onlineUsers[msg.from_user]; const senderHead = ((senderInfo && senderInfo.headface) || '1.gif').toLowerCase(); let headImgSrc = senderHead.startsWith('storage/') ? '/' + senderHead : `/images/headface/${senderHead}`; - if (msg.from_user === 'AI小班长') { - headImgSrc = '/images/ai_bot.png'; - } else if (buggleUsers.includes(msg.from_user)) { + if (msg.from_user.endsWith('播报') || msg.from_user === '星海小博士' || msg.from_user === '系统传音' || msg.from_user === '系统公告') { headImgSrc = '/images/bugle.png'; } const headImg = @@ -733,6 +714,12 @@ users.forEach(u => { onlineUsers[u.username] = u; }); + + // 初始加载时,如果全局且开启,注入 AI + if (window.chatContext.chatBotEnabled && window.chatContext.botUser) { + onlineUsers['AI小班长'] = window.chatContext.botUser; + } + renderUserList(); // 管理员自己进房时,在本地播放烟花(服务端广播可能在 WS 连上前已发出) @@ -743,6 +730,21 @@ } }); + // 监听机器人动态开关 + window.addEventListener('chat:bot-toggled', (e) => { + const detail = e.detail; + window.chatContext.chatBotEnabled = detail.isOnline; + + if (detail.isOnline && detail.user && detail.user.username) { + onlineUsers[detail.user.username] = detail.user; + window.chatContext.botUser = detail.user; + } else { + delete onlineUsers['AI小班长']; + window.chatContext.botUser = null; + } + renderUserList(); + }); + window.addEventListener('chat:joining', (e) => { const user = e.detail; onlineUsers[user.username] = user; @@ -1192,14 +1194,10 @@ return; } - // 如果发言对象是 AI 小助手,走专用机器人 API + // 如果发言对象是 AI 小助手,也发送一份给专用机器人 API,不打断正常的发消息流程 const toUser = formData.get('to_user'); if (toUser === 'AI小班长') { - contentInput.value = ''; - contentInput.focus(); - _isSending = false; sendToChatBot(content); // 异步调用,不阻塞全局发送 - return; } // ── 神秘箱子暗号拦截 ──────────────────────────────────── diff --git a/routes/console.php b/routes/console.php index 00a5095..18ae635 100644 --- a/routes/console.php +++ b/routes/console.php @@ -14,6 +14,9 @@ Schedule::command('messages:purge')->dailyAt('03:00'); // 每 5 分钟为所有在线用户自动存点(经验/金币/等级) Schedule::command('chatroom:auto-save-exp')->everyFiveMinutes(); +// 每 1 分钟为 AI小班长 独立模拟一次挂机心跳,触发随机事件 +Schedule::command('chatroom:ai-heartbeat')->everyMinute(); + // 每 15 分钟:关闭掉线用户的开放职务日志(久无心跳 = 掉线,自动写入 logout_at) Schedule::command('duty:close-stale-logs')->everyFifteenMinutes(); diff --git a/routes/web.php b/routes/web.php index c9a4a90..b97b216 100644 --- a/routes/web.php +++ b/routes/web.php @@ -528,6 +528,7 @@ Route::middleware(['chat.auth', 'chat.has_position'])->prefix('admin')->name('ad Route::post('/ai-providers/{id}/default', [\App\Http\Controllers\Admin\AiProviderController::class, 'setDefault'])->name('ai-providers.default'); Route::post('/ai-providers/{id}/test', [\App\Http\Controllers\Admin\AiProviderController::class, 'testConnection'])->name('ai-providers.test'); Route::post('/ai-providers/toggle-chatbot', [\App\Http\Controllers\Admin\AiProviderController::class, 'toggleChatBot'])->name('ai-providers.toggle-chatbot'); + Route::post('/ai-providers/update-settings', [\App\Http\Controllers\Admin\AiProviderController::class, 'updateSettings'])->name('ai-providers.update-settings'); Route::delete('/ai-providers/{id}', [\App\Http\Controllers\Admin\AiProviderController::class, 'destroy'])->name('ai-providers.destroy'); // 开发日志管理 diff --git a/storage/app/public/avatars/ai_bot_cn_girl.png b/storage/app/public/avatars/ai_bot_cn_girl.png new file mode 100644 index 0000000000000000000000000000000000000000..dd112bbf3eb8c791c510bf1a3bbec4d18cf90a4f GIT binary patch literal 41606 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%0A((I~6d73!0Gp4W>0oPxr^#1EXTY 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 literal 0 HcmV?d00001