@spacex110/core 0.1.13 → 0.1.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.umd.js CHANGED
@@ -1,5 +1,5 @@
1
- (function(K,l0){typeof exports=="object"&&typeof module<"u"?l0(exports):typeof define=="function"&&define.amd?define(["exports"],l0):(K=typeof globalThis<"u"?globalThis:K||self,l0(K.AISelectorCore={}))})(this,(function(K){"use strict";const l0={zh:{save:"保存配置",saved:"保存成功",providerLabel:"Provider",modelLabel:"Model",selectProvider:"选择 Provider...",customBaseUrl:"自定义 Base URL",apiKeyLabel:"API Key",apiKeyPlaceholder:"输入 API Key...",testConnection:"测试模型连接",testing:"测试中...",testSuccess:"连接成功",testFailed:"测试连通性失败",selectModel:"选择 Model...",searchModel:"搜索或自定义模型...",useCustom:"使用自定义",noModels:"暂无模型数据",apiKeyTip:"输入 API Key 后可获取完整模型列表",fetchModelsFailed:"拉取模型列表失败,已使用离线模型列表",refreshingModels:"列表刷新中...",modelListUpdated:"模型列表已刷新",preview:"配置预览",unselected:"(未选择)",customProvider:"自定义 (Custom)",baseUrlRequired:"请输入 Base URL",baseUrlPlaceholder:"输入 API 地址,如 http://localhost:11434/v1",apiKeyOptional:"API Key(可选)",modelAllTypes:"全部",modelCount:"个"},en:{save:"Save Config",saved:"Saved",providerLabel:"Provider",modelLabel:"Model",selectProvider:"Select Provider...",customBaseUrl:"Custom Base URL",apiKeyLabel:"API Key",apiKeyPlaceholder:"Enter API Key...",testConnection:"Test Model Connection",testing:"Testing...",testSuccess:"Connection Successful",testFailed:"Connection Failed",selectModel:"Select Model...",searchModel:"Search or custom models...",useCustom:"Use custom",noModels:"No models found",apiKeyTip:"Enter API Key to fetch full model list",fetchModelsFailed:"Failed to fetch model list, using offline models",refreshingModels:"Refreshing models...",modelListUpdated:"Model list updated",preview:"Config Preview",unselected:"(Unselected)",customProvider:"自定义 (Custom)",baseUrlRequired:"Base URL is required",baseUrlPlaceholder:"Enter API URL, e.g. http://localhost:11434/v1",apiKeyOptional:"API Key (optional)",modelAllTypes:"All",modelCount:""}},yr={text:{type:"text",label:"Text",labelZh:"文本",icon:"💬"},vision:{type:"vision",label:"Vision",labelZh:"视觉",icon:"🖼️"},audio:{type:"audio",label:"Audio",labelZh:"音频",icon:"🎤"},video:{type:"video",label:"Video",labelZh:"视频",icon:"🎬"},embedding:{type:"embedding",label:"Embedding",labelZh:"嵌入",icon:"📐"},reasoning:{type:"reasoning",label:"Reasoning",labelZh:"推理",icon:"🧠"}},Q="https://registry.npmmirror.com/@lobehub/icons-static-svg/1.77.0/files/icons",H={OPENAI:"openai",ANTHROPIC:"anthropic",GEMINI:"gemini",DEEPSEEK:"deepseek",OPENROUTER:"openrouter",GROQ:"groq",MISTRAL:"mistral",MOONSHOT:"moonshot",QWEN:"qwen",ZHIPU:"zhipu",SILICONFLOW:"siliconflow",XAI:"xai",TOGETHER:"together",FIREWORKS:"fireworks",DEEPINFRA:"deepinfra",PERPLEXITY:"perplexity",COHERE:"cohere",OLLAMA:"ollama",DOUBAO:"doubao",MINIMAX:"minimax",CUSTOM:"custom"},d0={[H.OPENAI]:{id:H.OPENAI,name:"OpenAI",baseUrl:"https://api.openai.com/v1",needsApiKey:!0,apiFormat:"openai",supportsModelsApi:!0,icon:`${Q}/openai.svg`},[H.ANTHROPIC]:{id:H.ANTHROPIC,name:"Anthropic (Claude)",baseUrl:"https://api.anthropic.com/v1",needsApiKey:!0,apiFormat:"anthropic",supportsModelsApi:!0,icon:`${Q}/anthropic.svg`},[H.GEMINI]:{id:H.GEMINI,name:"Google Gemini",baseUrl:"https://generativelanguage.googleapis.com/v1beta",needsApiKey:!0,apiFormat:"gemini",supportsModelsApi:!0,icon:`${Q}/gemini.svg`},[H.OPENROUTER]:{id:H.OPENROUTER,name:"OpenRouter",baseUrl:"https://openrouter.ai/api/v1",needsApiKey:!0,apiFormat:"openai",supportsModelsApi:!0,icon:`${Q}/openrouter.svg`},[H.DEEPSEEK]:{id:H.DEEPSEEK,name:"DeepSeek",baseUrl:"https://api.deepseek.com",needsApiKey:!0,apiFormat:"openai",supportsModelsApi:!0,icon:`${Q}/deepseek.svg`},[H.MOONSHOT]:{id:H.MOONSHOT,name:"Moonshot (Kimi)",baseUrl:"https://api.moonshot.cn/v1",needsApiKey:!0,apiFormat:"openai",supportsModelsApi:!0,icon:`${Q}/moonshot.svg`},[H.QWEN]:{id:H.QWEN,name:"通义千问 (Qwen)",baseUrl:"https://dashscope.aliyuncs.com/compatible-mode/v1",needsApiKey:!0,apiFormat:"openai",supportsModelsApi:!0,icon:`${Q}/qwen.svg`},[H.ZHIPU]:{id:H.ZHIPU,name:"智谱 AI (GLM)",baseUrl:"https://open.bigmodel.cn/api/paas/v4",needsApiKey:!0,apiFormat:"openai",supportsModelsApi:!0,icon:`${Q}/zhipu.svg`},[H.SILICONFLOW]:{id:H.SILICONFLOW,name:"硅基流动 (siliconflow)",baseUrl:"https://api.siliconflow.cn/v1",needsApiKey:!0,apiFormat:"openai",supportsModelsApi:!0,icon:`${Q}/siliconcloud.svg`},[H.DOUBAO]:{id:H.DOUBAO,name:"火山方舟 (Doubao)",baseUrl:"https://ark.cn-beijing.volces.com/api/v3",needsApiKey:!0,apiFormat:"openai",supportsModelsApi:!0,icon:`${Q}/doubao.svg`},[H.MINIMAX]:{id:H.MINIMAX,name:"MiniMax",baseUrl:"https://api.minimax.io/v1",needsApiKey:!0,apiFormat:"openai",supportsModelsApi:!1,icon:`${Q}/minimax.svg`},[H.XAI]:{id:H.XAI,name:"xAI (Grok)",baseUrl:"https://api.x.ai/v1",needsApiKey:!0,apiFormat:"openai",supportsModelsApi:!0,icon:`${Q}/grok.svg`},[H.GROQ]:{id:H.GROQ,name:"Groq",baseUrl:"https://api.groq.com/openai/v1",needsApiKey:!0,apiFormat:"openai",supportsModelsApi:!0,icon:`${Q}/groq.svg`},[H.MISTRAL]:{id:H.MISTRAL,name:"Mistral AI",baseUrl:"https://api.mistral.ai/v1",needsApiKey:!0,apiFormat:"openai",supportsModelsApi:!0,icon:`${Q}/mistral.svg`},[H.TOGETHER]:{id:H.TOGETHER,name:"Together AI",baseUrl:"https://api.together.xyz/v1",needsApiKey:!0,apiFormat:"openai",supportsModelsApi:!0,icon:`${Q}/together.svg`},[H.FIREWORKS]:{id:H.FIREWORKS,name:"Fireworks AI",baseUrl:"https://api.fireworks.ai/inference/v1",needsApiKey:!0,apiFormat:"openai",supportsModelsApi:!0,icon:`${Q}/fireworks.svg`},[H.DEEPINFRA]:{id:H.DEEPINFRA,name:"DeepInfra",baseUrl:"https://api.deepinfra.com/v1/openai",needsApiKey:!0,apiFormat:"openai",supportsModelsApi:!0,icon:`${Q}/deepinfra.svg`},[H.PERPLEXITY]:{id:H.PERPLEXITY,name:"Perplexity",baseUrl:"https://api.perplexity.ai",needsApiKey:!0,apiFormat:"openai",supportsModelsApi:!1,icon:`${Q}/perplexity.svg`},[H.COHERE]:{id:H.COHERE,name:"Cohere",baseUrl:"https://api.cohere.com/v2",needsApiKey:!0,apiFormat:"cohere",supportsModelsApi:!0,icon:`${Q}/cohere.svg`},[H.OLLAMA]:{id:H.OLLAMA,name:"Ollama (Local)",baseUrl:"http://localhost:11434/v1",needsApiKey:!1,apiFormat:"openai",supportsModelsApi:!0,icon:`${Q}/ollama.svg`},[H.CUSTOM]:{id:H.CUSTOM,name:"自定义 (Custom)",baseUrl:"",needsApiKey:!1,apiFormat:"openai",supportsModelsApi:!0,icon:""}};function r0(p){return d0[p]}function se(){return Object.values(d0)}function Be(p){return se().filter(r=>r.apiFormat===p)}const me={[H.OPENAI]:[{id:"gpt-5.2-pro",name:"GPT-5.2 Pro"},{id:"gpt-5.2",name:"GPT-5.2"},{id:"gpt-5",name:"GPT-5"},{id:"gpt-5-mini",name:"GPT-5 Mini"},{id:"gpt-5-nano",name:"GPT-5 Nano"},{id:"gpt-4.1",name:"GPT-4.1"}],[H.ANTHROPIC]:[{id:"claude-opus-4.5-20251101",name:"Claude Opus 4.5"},{id:"claude-opus-4.5-20251101-thinking",name:"Claude Opus 4.5 Thinking"},{id:"claude-sonnet-4.5-20250929",name:"Claude Sonnet 4.5"},{id:"claude-sonnet-4.5-20250929-thinking",name:"Claude Sonnet 4.5 Thinking"},{id:"claude-haiku-4.5-20251001",name:"Claude Haiku 4.5"},{id:"claude-haiku-4.5-20251001-thinking",name:"Claude Haiku 4.5 Thinking"},{id:"claude-opus-4.1-20250805",name:"Claude Opus 4.1"},{id:"claude-opus-4.1-20250805-thinking",name:"Claude Opus 4.1 Thinking"}],[H.GEMINI]:[{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gemini-3-pro-preview",name:"Gemini 3 Pro Preview"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash-Lite"}],[H.DEEPSEEK]:[{id:"deepseek-chat",name:"Deepseek Chat"},{id:"deepseek-reasoner",name:"Deepseek Reasoner"}],[H.MISTRAL]:[{id:"mistral-large-latest",name:"Mistral Large"},{id:"mistral-medium-latest",name:"Mistral Medium"},{id:"mistral-small-latest",name:"Mistral Small"},{id:"codestral-latest",name:"Codestral"},{id:"devstral-latest",name:"Devstral"},{id:"magistral-medium-latest",name:"Magistral Medium"},{id:"pixtral-large-latest",name:"Pixtral Large"},{id:"pixtral-12b-latest",name:"Pixtral 12B"},{id:"ministral-8b-latest",name:"Ministral 8B"},{id:"ministral-3b-latest",name:"Ministral 3B"}],[H.GROQ]:[{id:"canopylabs/orpheus-v1-english",name:"Orpheus V1 English"},{id:"canopylabs/orpheus-arabic-saudi",name:"Orpheus Arabic Saudi"},{id:"moonshotai/kimi-k2-instruct",name:"Kimi K2 Instruct"},{id:"groq/compound-mini",name:"Compound Mini"},{id:"llama-3.3-70b-versatile",name:"Llama 3.3 70B Versatile"},{id:"openai/gpt-oss-120b",name:"Gpt Oss 120B"},{id:"qwen/qwen3-32b",name:"Qwen3 32B"},{id:"groq/compound",name:"Compound"},{id:"meta-llama/llama-4-maverick-17b-128e-instruct",name:"Llama 4 Maverick 17B 128E Instruct"}],[H.XAI]:[{id:"grok-4",name:"Grok 4"},{id:"grok-4-fast",name:"Grok 4 Fast"},{id:"grok-3-latest",name:"Grok 3"},{id:"grok-3-fast",name:"Grok 3 Fast"},{id:"grok-3-mini-latest",name:"Grok 3 Mini"},{id:"grok-3-mini-fast",name:"Grok 3 Mini Fast"},{id:"grok-vision-beta",name:"Grok Vision (Beta)"}],[H.TOGETHER]:[{id:"Qwen/Qwen2.5-72B-Instruct-Turbo",name:"Qwen2.5 72B Instruct Turbo"},{id:"Qwen/Qwen3-235B-A22B-Thinking-2507",name:"Qwen3 235B A22B Thinking 2507"},{id:"deepseek-ai/DeepSeek-R1",name:"Deepseek R1"},{id:"deepseek-ai/DeepSeek-V3.1",name:"Deepseek V3.1"},{id:"meta-llama/Llama-3.2-3B-Instruct-Turbo",name:"Llama 3.2 3B Instruct Turbo"},{id:"meta-llama/Llama-3.3-70B-Instruct-Turbo",name:"Llama 3.3 70B Instruct Turbo"},{id:"meta-llama/Llama-3.3-70B-Instruct-Turbo-Free",name:"Llama 3.3 70B Instruct Turbo Free"}],[H.FIREWORKS]:[{id:"accounts/fireworks/models/llama4-scout-instruct-basic",name:"Llama4 Scout Instruct Basic"},{id:"accounts/fireworks/models/qwen3-vl-235b-a22b-thinking",name:"Qwen3 Vl 235B A22B Thinking"},{id:"accounts/fireworks/models/deepseek-v3p2",name:"Deepseek V3P2"},{id:"accounts/fireworks/models/qwen3-vl-30b-a3b-thinking",name:"Qwen3 Vl 30B A3B Thinking"},{id:"accounts/fireworks/models/qwen3-8b",name:"Qwen3 8B"},{id:"accounts/fireworks/models/qwen3-vl-30b-a3b-instruct",name:"Qwen3 Vl 30B A3B Instruct"},{id:"accounts/fireworks/models/qwen2p5-vl-32b-instruct",name:"Qwen2P5 Vl 32B Instruct"},{id:"accounts/fireworks/models/llama4-maverick-instruct-basic",name:"Llama4 Maverick Instruct Basic"},{id:"accounts/fireworks/models/qwen3-235b-a22b-thinking-2507",name:"Qwen3 235B A22B Thinking 2507"},{id:"accounts/fireworks/models/qwen3-coder-480b-a35b-instruct",name:"Qwen3 Coder 480B A35B Instruct"}],[H.DEEPINFRA]:[{id:"meta-llama/Llama-3.2-11B-Vision-Instruct",name:"Llama 3.2 11B Vision Instruct"},{id:"Qwen/Qwen3-32B",name:"Qwen3 32B"},{id:"NousResearch/Hermes-3-Llama-3.1-70B",name:"Hermes 3 Llama 3.1 70B"},{id:"Qwen/Qwen2.5-72B-Instruct",name:"Qwen2.5 72B Instruct"},{id:"deepseek-ai/DeepSeek-V3-0324",name:"Deepseek V3 0324"},{id:"Qwen/Qwen3-VL-235B-A22B-Instruct",name:"Qwen3 Vl 235B A22B Instruct"},{id:"meta-llama/Llama-3.2-3B-Instruct",name:"Llama 3.2 3B Instruct"},{id:"Qwen/Qwen2.5-VL-32B-Instruct",name:"Qwen2.5 Vl 32B Instruct"},{id:"meta-llama/Meta-Llama-3.1-8B-Instruct",name:"Meta Llama 3.1 8B Instruct"},{id:"Qwen/Qwen3-Coder-480B-A35B-Instruct-Turbo",name:"Qwen3 Coder 480B A35B Instruct Turbo"}],[H.OPENROUTER]:[{id:"google/gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"mistralai/mistral-small-creative",name:"Mistral Small Creative"},{id:"openai/gpt-5.2-chat",name:"Gpt 5.2 Chat"},{id:"openai/gpt-5.2-pro",name:"Gpt 5.2 Pro"},{id:"openai/gpt-5.2",name:"Gpt 5.2"},{id:"mistralai/devstral-2512",name:"Devstral 2512"},{id:"openai/gpt-5.1-codex-max",name:"Gpt 5.1 Codex Max"},{id:"mistralai/ministral-14b-2512",name:"Ministral 14B 2512"},{id:"mistralai/ministral-8b-2512",name:"Ministral 8B 2512"},{id:"mistralai/ministral-3b-2512",name:"Ministral 3B 2512"},{id:"mistralai/mistral-large-2512",name:"Mistral Large 2512"},{id:"deepseek/deepseek-v3.2-speciale",name:"Deepseek V3.2 Speciale"}],[H.PERPLEXITY]:[{id:"codellama-34b-instruct",name:"Codellama 34B Instruct"},{id:"codellama-70b-instruct",name:"Codellama 70B Instruct"},{id:"llama-2-70b-chat",name:"Llama 2 70B Chat"},{id:"llama-3.1-70b-instruct",name:"Llama 3.1 70B Instruct"},{id:"llama-3.1-8b-instruct",name:"Llama 3.1 8B Instruct"},{id:"llama-3.1-sonar-huge-128k-online",name:"Llama 3.1 Sonar Huge 128K Online"},{id:"llama-3.1-sonar-large-128k-chat",name:"Llama 3.1 Sonar Large 128K Chat"},{id:"llama-3.1-sonar-large-128k-online",name:"Llama 3.1 Sonar Large 128K Online"},{id:"llama-3.1-sonar-small-128k-chat",name:"Llama 3.1 Sonar Small 128K Chat"}],[H.COHERE]:[{id:"command-a-vision-07-2025",name:"Command A Vision 07 2025"},{id:"command-a-reasoning-08-2025",name:"Command A Reasoning 08 2025"},{id:"command-r-08-2024",name:"Command R 08 2024"},{id:"command-r7b-arabic-02-2025",name:"Command R7B Arabic 02 2025"},{id:"command-r7b-12-2024",name:"Command R7B 12 2024"}],[H.MOONSHOT]:[{id:"moonshot-v1-128k",name:"Moonshot 128K"},{id:"moonshot-v1-32k",name:"Moonshot 32K"},{id:"moonshot-v1-8k",name:"Moonshot 8K"},{id:"kimi-k2-0711-chat",name:"Kimi K2 Chat"},{id:"moonshot-v1-auto",name:"Moonshot Auto"}],[H.QWEN]:[{id:"qwen-flash",name:"Qwen Flash"},{id:"qwen3-vl-plus-2025-12-19",name:"Qwen3 Vl Plus 2025 12 19"},{id:"qwen3-tts-vd-realtime-2025-12-16",name:"Qwen3 Tts Vd Realtime 2025 12 16"},{id:"qwen-image-edit-plus-2025-12-15",name:"Qwen Image Edit Plus 2025 12 15"},{id:"qwen3-omni-flash-2025-12-01",name:"Qwen3 Omni Flash 2025 12 01"},{id:"qwen3-omni-flash-realtime-2025-12-01",name:"Qwen3 Omni Flash Realtime 2025 12 01"},{id:"qwen3-livetranslate-flash-2025-12-01",name:"Qwen3 Livetranslate Flash 2025 12 01"},{id:"qwen3-livetranslate-flash",name:"Qwen3 Livetranslate Flash"},{id:"qwen-plus-2025-12-01",name:"Qwen Plus 2025 12 01"},{id:"qwen3-tts-vc-realtime-2025-11-27",name:"Qwen3 Tts Vc Realtime 2025 11 27"}],[H.ZHIPU]:[{id:"glm-4.5",name:"Glm 4.5"},{id:"glm-4.5-air",name:"Glm 4.5 Air"},{id:"glm-4.6",name:"Glm 4.6"},{id:"glm-4.7",name:"Glm 4.7"}],[H.SILICONFLOW]:[{id:"deepseek-ai/DeepSeek-V3.2",name:"Deepseek V3.2"},{id:"deepseek-ai/DeepSeek-V3.1-Terminus",name:"Deepseek V3.1 Terminus"},{id:"deepseek-ai/DeepSeek-R1",name:"Deepseek R1"},{id:"deepseek-ai/DeepSeek-V3",name:"Deepseek V3"},{id:"zai-org/GLM-4.6V",name:"Glm 4.6V"},{id:"zai-org/GLM-4.6",name:"Glm 4.6"},{id:"Pro/zai-org/GLM-4.7",name:"Glm 4.7"},{id:"Qwen/Qwen3-VL-32B-Instruct",name:"Qwen3 Vl 32B Instruct"}],[H.OLLAMA]:[{id:"llama3.3",name:"Llama 3.3"},{id:"llama3.2",name:"Llama 3.2"},{id:"qwq",name:"QwQ (推理)"},{id:"qwen3:32b",name:"Qwen3 32B"},{id:"deepseek-r1:32b",name:"DeepSeek R1 32B"},{id:"deepseek-coder-v2",name:"DeepSeek Coder V2"},{id:"gemma3:27b",name:"Gemma 3 27B"},{id:"mistral:7b",name:"Mistral 7B"},{id:"phi4",name:"Phi 4"},{id:"codellama",name:"Code Llama"}],[H.DOUBAO]:[{id:"doubao-seed-1-8-251215",name:"Doubao 1.8"},{id:"doubao-seed-1-6-251015",name:"Doubao 1.6"},{id:"doubao-seed-1-6-lite-251015",name:"Doubao 1.6 Lite"},{id:"doubao-seed-1-6-flash-250828",name:"Doubao 1.6 Flash"},{id:"doubao-seed-1-6-thinking-250615",name:"Doubao 1.6 Thinking"}],[H.MINIMAX]:[{id:"MiniMax-M2.1",name:"MiniMax M2.1"},{id:"MiniMax-M2.1-lightning",name:"MiniMax M2.1 Lightning"},{id:"MiniMax-M2",name:"MiniMax M2"}]};function f0(p){return me[p]||[]}function br(p){return/^o\d/.test(p)||/reasoner|thinking|o1|o3|o4/i.test(p)}function xe(p){const r=new Set,t=p.input_modalities||[];if(t.length>0)return t.some(u=>/text/i.test(u))&&r.add("text"),t.some(u=>/image|vision/i.test(u))&&r.add("vision"),t.some(u=>/audio/i.test(u))&&r.add("audio"),t.some(u=>/video/i.test(u))&&r.add("video"),r.size===0&&r.add("text"),Array.from(r);const e=p.capabilities;if(e&&((e.vision||e.image)&&(r.add("vision"),r.add("text")),e.audio&&r.add("audio"),e.video&&r.add("video"),e.embeddings&&r.add("embedding"),r.size>0))return Array.from(r);const s=(p.id||"").toLowerCase(),c=(p.name||"").toLowerCase(),y=`${s} ${c}`;return r.add("text"),/vision|image|visual|multimodal|vl|pixtral|llava|bakllava/.test(y)&&r.add("vision"),/audio|speech|whisper|tts|stt/.test(y)&&r.add("audio"),/video/.test(y)&&r.add("video"),/embedding|embed/.test(y)&&r.add("embedding"),/reasoner|reasoning|thinking|qwq/.test(y)&&r.add("reasoning"),Array.from(r)}const _r=p=>Array.isArray(p==null?void 0:p.data)?p.data.filter(r=>r.id).map(r=>{const t=r.name||r.display_name||(r.id.split("/").pop()??"").replace(/[-_]/g," ").replace(/\b\w/g,e=>e.toUpperCase());return{id:r.id,name:t,created:r.created||0,contextLength:r.context_length||r.max_context||void 0,capabilities:xe(r)}}).sort((r,t)=>{const e=(t.created||0)-(r.created||0);return e!==0?e:(t.id||"").localeCompare(r.id||"")}):[],Ae={format:"openai",getModelsEndpoint:p=>`${p}/models`,getChatEndpoint:p=>`${p}/chat/completions`,buildHeaders:p=>{const r={"Content-Type":"application/json",Authorization:`Bearer ${p}`};if(typeof window<"u"&&window.location){r["HTTP-Referer"]=window.location.origin;const t=document.title?document.title.replace(/[^\x20-\x7E]/g,"").slice(0,80):"AI Selector";r["X-Title"]=t||"AI Selector"}return r},buildChatPayload:(p,r,t)=>{const e={model:p,messages:r};return t&&(e[br(p)?"max_completion_tokens":"max_tokens"]=t),e},parseChatResponse:p=>{var r,t,e;return((e=(t=(r=p.choices)==null?void 0:r[0])==null?void 0:t.message)==null?void 0:e.content)||""},parseStreamChunk:p=>{var r,t,e;return((e=(t=(r=p.choices)==null?void 0:r[0])==null?void 0:t.delta)==null?void 0:e.content)||""}},Ee={openai:Ae,anthropic:{format:"anthropic",getModelsEndpoint:p=>`${p}/models`,getChatEndpoint:p=>`${p}/messages`,buildHeaders:p=>({"Content-Type":"application/json","x-api-key":p,"anthropic-version":"2023-06-01","anthropic-dangerous-direct-browser-access":"true"}),buildChatPayload:(p,r,t)=>({model:p,messages:r,max_tokens:t||1024}),parseChatResponse:p=>{var r,t;return((t=(r=p.content)==null?void 0:r[0])==null?void 0:t.text)||""},parseStreamChunk:p=>{var r;return p.type==="content_block_delta"&&((r=p.delta)==null?void 0:r.text)||""},parseModelsResponse:p=>Array.isArray(p.data)?p.data.filter(r=>r.id).map(r=>({id:r.id,name:r.display_name||r.id,created:r.created_at?new Date(r.created_at).getTime()/1e3:0,capabilities:xe(r)})).sort((r,t)=>(t.created||0)-(r.created||0)):[]},gemini:{format:"gemini",getModelsEndpoint:(p,r)=>`${p}/models?key=${r}`,getChatEndpoint:(p,r,t)=>`${p}/models/${t}:generateContent?key=${r}`,buildHeaders:()=>({"Content-Type":"application/json"}),buildChatPayload:(p,r,t)=>{const s={contents:r.map(c=>({role:c.role==="assistant"?"model":"user",parts:[{text:c.content}]}))};return t&&(s.generationConfig={maxOutputTokens:t}),s},parseChatResponse:p=>{var r,t,e,s,c;return((c=(s=(e=(t=(r=p.candidates)==null?void 0:r[0])==null?void 0:t.content)==null?void 0:e.parts)==null?void 0:s[0])==null?void 0:c.text)||""},parseStreamChunk:p=>{var r,t,e,s,c;return((c=(s=(e=(t=(r=p.candidates)==null?void 0:r[0])==null?void 0:t.content)==null?void 0:e.parts)==null?void 0:s[0])==null?void 0:c.text)||""},parseModelsResponse:p=>Array.isArray(p.models)?p.models.filter(r=>{var t;return(t=r.supportedGenerationMethods)==null?void 0:t.includes("generateContent")}).map(r=>({id:r.name.replace("models/",""),name:r.displayName||r.name.replace("models/",""),created:r.created||0,capabilities:xe(r)})).sort((r,t)=>(t.id||"").localeCompare(r.id||"")):[]},cohere:{format:"cohere",getModelsEndpoint:p=>`${p}/models`,getChatEndpoint:p=>`${p}/chat`,buildHeaders:p=>({"Content-Type":"application/json",Authorization:`Bearer ${p}`}),buildChatPayload:(p,r,t)=>{const e={model:p,messages:r};return t&&(e.max_tokens=t),e},parseChatResponse:p=>{var r,t,e;return((e=(t=(r=p.message)==null?void 0:r.content)==null?void 0:t[0])==null?void 0:e.text)||""},parseStreamChunk:p=>{var r,t,e,s;return p.type==="content-delta"&&((s=(e=(t=(r=p.delta)==null?void 0:r.message)==null?void 0:t.content)==null?void 0:e[0])==null?void 0:s.text)||""}}};function u0(p){return Ee[p]||Ae}async function ce(p){var i;const{apiFormat:r,baseUrl:t,apiKey:e,model:s,messages:c,maxTokens:y}=p,u=u0(r),f=u.getChatEndpoint(t,e,s),a=u.buildHeaders(e),n=u.buildChatPayload(s,c,y),B=performance.now();try{const l=await fetch(f,{method:"POST",headers:a,body:JSON.stringify(n)}),d=Math.round(performance.now()-B);if(!l.ok)return{success:!1,message:((i=(await l.json().catch(()=>({}))).error)==null?void 0:i.message)||`HTTP ${l.status}: ${l.statusText}`,latencyMs:d};const C=await l.json();return{success:!0,content:u.parseChatResponse(C),latencyMs:d}}catch(l){return{success:!1,message:l instanceof Error?l.message:"网络错误"}}}async function Fe(p){var d;const{apiFormat:r,baseUrl:t,apiKey:e,model:s,messages:c,maxTokens:y,onDelta:u,signal:f}=p,a=u0(r);let n=a.getChatEndpoint(t,e,s);r==="gemini"&&(n=`${t}/models/${s}:streamGenerateContent?alt=sse&key=${encodeURIComponent(e)}`);const B=a.buildHeaders(e),i=a.buildChatPayload(s,c,y);i.stream=!0;const l=performance.now();try{const C=await fetch(n,{method:"POST",headers:B,body:JSON.stringify(i),signal:f});if(!C.ok||!C.body){const v=await C.text();let F=`HTTP ${C.status}`;try{const E=JSON.parse(v);F=((d=E.error)==null?void 0:d.message)||E.error||E.message||F}catch{v&&(F=v.slice(0,200))}return{success:!1,message:F,latencyMs:Math.round(performance.now()-l)}}const h=C.body.getReader(),A=new TextDecoder;let o="",x="";for(;;){const{done:v,value:F}=await h.read();if(v)break;o+=A.decode(F,{stream:!0});const E=o.split(`
2
- `);o=E.pop()||"";for(const g of E){const b=g.trim();if(!b.startsWith("data:")&&!b.startsWith("event:")||b.startsWith("event:"))continue;const R=b.slice(5).trim();if(!(!R||R==="[DONE]"))try{const m=JSON.parse(R),D=a.parseStreamChunk?a.parseStreamChunk(m):"";D&&(x+=D,u(x))}catch{}}}return{success:!0,content:x,latencyMs:Math.round(performance.now()-l)}}catch(C){return C instanceof Error&&C.name==="AbortError"?{success:!1,message:"请求已取消",latencyMs:Math.round(performance.now()-l)}:{success:!1,message:C instanceof Error?C.message:"网络错误"}}}async function De(p){const r=await ce({apiFormat:p.apiFormat,baseUrl:p.baseUrl,apiKey:p.apiKey,model:p.model,messages:[{role:"user",content:"Hi"}]});return{success:r.success,latencyMs:r.latencyMs,message:r.success?void 0:r.message}}async function wr(p){const{provider:r,apiKey:t,model:e,baseUrl:s,proxyUrl:c}=p,y=s||r.baseUrl,u=Date.now();try{if(c){const h=await(await fetch(`${c}/test`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider_id:r.id,api_key:t,model:e||"",base_url:s||r.baseUrl,api_format:r.apiFormat})})).json();return{success:h.success,latencyMs:h.latency_ms||Date.now()-u,message:h.message}}const f=u0(r.apiFormat),a=e||"";if(!a)return{success:!1,latencyMs:0,message:"请先选择模型 (Please select a model)"};const n=f.buildHeaders(t),B=f.buildChatPayload(a,[{role:"user",content:"Hi"}]),i=f.getChatEndpoint(y,t,a),l=await fetch(i,{method:"POST",headers:n,body:JSON.stringify(B)}),d=Date.now()-u;if(l.ok)return{success:!0,latencyMs:d,message:"连接成功"};{const C=await l.text();return{success:!1,latencyMs:d,message:`HTTP ${l.status}: ${C.slice(0,200)}`}}}catch(f){return{success:!1,latencyMs:Date.now()-u,message:f instanceof Error?f.message:String(f)}}}async function ge(p){var y,u;const{provider:r,apiKey:t,baseUrl:e,proxyUrl:s,fallbackToStatic:c=!0}=p;if(s)try{const a=await(await fetch(`${s}/models`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider_id:r.id,api_key:t||void 0,base_url:e||r.baseUrl})})).json();if(a.success&&((y=a.models)==null?void 0:y.length)>0)return a.models}catch(f){if(console.warn("Failed to fetch models via proxy:",f),!c)throw f}if(!s&&r.supportsModelsApi)try{const f=u0(r.apiFormat);if(f.getModelsEndpoint){const a=f.getModelsEndpoint(e||r.baseUrl,t||""),n=f.buildHeaders(t||""),B=await fetch(a,{method:"GET",headers:n});if(B.ok){const i=await B.json();return(f.parseModelsResponse||_r)(i)}else{const l=((u=(await B.json().catch(()=>({}))).error)==null?void 0:u.message)||`HTTP ${B.status}`;if(console.warn("Model fetch failed:",l),!c)throw new Error(l)}}}catch(f){if(console.warn("Failed to fetch models directly:",f),!c)throw f}if(!c&&r.supportsModelsApi)throw new Error("Failed to fetch models");return f0(r.id)}var le=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function kr(p){return p&&p.__esModule&&Object.prototype.hasOwnProperty.call(p,"default")?p.default:p}function Sr(p){if(Object.prototype.hasOwnProperty.call(p,"__esModule"))return p;var r=p.default;if(typeof r=="function"){var t=function e(){return this instanceof e?Reflect.construct(r,arguments,this.constructor):r.apply(this,arguments)};t.prototype=r.prototype}else t={};return Object.defineProperty(t,"__esModule",{value:!0}),Object.keys(p).forEach(function(e){var s=Object.getOwnPropertyDescriptor(p,e);Object.defineProperty(t,e,s.get?s:{enumerable:!0,get:function(){return p[e]}})}),t}var E0={exports:{}};function Pr(p){throw new Error('Could not dynamically require "'+p+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var F0={exports:{}};const Ir=Sr(Object.freeze(Object.defineProperty({__proto__:null,default:{}},Symbol.toStringTag,{value:"Module"})));var Rr=F0.exports,ye;function L(){return ye||(ye=1,(function(p,r){(function(t,e){p.exports=e()})(Rr,function(){var t=t||(function(e,s){var c;if(typeof window<"u"&&window.crypto&&(c=window.crypto),typeof self<"u"&&self.crypto&&(c=self.crypto),typeof globalThis<"u"&&globalThis.crypto&&(c=globalThis.crypto),!c&&typeof window<"u"&&window.msCrypto&&(c=window.msCrypto),!c&&typeof le<"u"&&le.crypto&&(c=le.crypto),!c&&typeof Pr=="function")try{c=Ir}catch{}var y=function(){if(c){if(typeof c.getRandomValues=="function")try{return c.getRandomValues(new Uint32Array(1))[0]}catch{}if(typeof c.randomBytes=="function")try{return c.randomBytes(4).readInt32LE()}catch{}}throw new Error("Native crypto module could not be used to get secure random number.")},u=Object.create||(function(){function o(){}return function(x){var v;return o.prototype=x,v=new o,o.prototype=null,v}})(),f={},a=f.lib={},n=a.Base=(function(){return{extend:function(o){var x=u(this);return o&&x.mixIn(o),(!x.hasOwnProperty("init")||this.init===x.init)&&(x.init=function(){x.$super.init.apply(this,arguments)}),x.init.prototype=x,x.$super=this,x},create:function(){var o=this.extend();return o.init.apply(o,arguments),o},init:function(){},mixIn:function(o){for(var x in o)o.hasOwnProperty(x)&&(this[x]=o[x]);o.hasOwnProperty("toString")&&(this.toString=o.toString)},clone:function(){return this.init.prototype.extend(this)}}})(),B=a.WordArray=n.extend({init:function(o,x){o=this.words=o||[],x!=s?this.sigBytes=x:this.sigBytes=o.length*4},toString:function(o){return(o||l).stringify(this)},concat:function(o){var x=this.words,v=o.words,F=this.sigBytes,E=o.sigBytes;if(this.clamp(),F%4)for(var g=0;g<E;g++){var b=v[g>>>2]>>>24-g%4*8&255;x[F+g>>>2]|=b<<24-(F+g)%4*8}else for(var R=0;R<E;R+=4)x[F+R>>>2]=v[R>>>2];return this.sigBytes+=E,this},clamp:function(){var o=this.words,x=this.sigBytes;o[x>>>2]&=4294967295<<32-x%4*8,o.length=e.ceil(x/4)},clone:function(){var o=n.clone.call(this);return o.words=this.words.slice(0),o},random:function(o){for(var x=[],v=0;v<o;v+=4)x.push(y());return new B.init(x,o)}}),i=f.enc={},l=i.Hex={stringify:function(o){for(var x=o.words,v=o.sigBytes,F=[],E=0;E<v;E++){var g=x[E>>>2]>>>24-E%4*8&255;F.push((g>>>4).toString(16)),F.push((g&15).toString(16))}return F.join("")},parse:function(o){for(var x=o.length,v=[],F=0;F<x;F+=2)v[F>>>3]|=parseInt(o.substr(F,2),16)<<24-F%8*4;return new B.init(v,x/2)}},d=i.Latin1={stringify:function(o){for(var x=o.words,v=o.sigBytes,F=[],E=0;E<v;E++){var g=x[E>>>2]>>>24-E%4*8&255;F.push(String.fromCharCode(g))}return F.join("")},parse:function(o){for(var x=o.length,v=[],F=0;F<x;F++)v[F>>>2]|=(o.charCodeAt(F)&255)<<24-F%4*8;return new B.init(v,x)}},C=i.Utf8={stringify:function(o){try{return decodeURIComponent(escape(d.stringify(o)))}catch{throw new Error("Malformed UTF-8 data")}},parse:function(o){return d.parse(unescape(encodeURIComponent(o)))}},h=a.BufferedBlockAlgorithm=n.extend({reset:function(){this._data=new B.init,this._nDataBytes=0},_append:function(o){typeof o=="string"&&(o=C.parse(o)),this._data.concat(o),this._nDataBytes+=o.sigBytes},_process:function(o){var x,v=this._data,F=v.words,E=v.sigBytes,g=this.blockSize,b=g*4,R=E/b;o?R=e.ceil(R):R=e.max((R|0)-this._minBufferSize,0);var m=R*g,D=e.min(m*4,E);if(m){for(var w=0;w<m;w+=g)this._doProcessBlock(F,w);x=F.splice(0,m),v.sigBytes-=D}return new B.init(x,D)},clone:function(){var o=n.clone.call(this);return o._data=this._data.clone(),o},_minBufferSize:0});a.Hasher=h.extend({cfg:n.extend(),init:function(o){this.cfg=this.cfg.extend(o),this.reset()},reset:function(){h.reset.call(this),this._doReset()},update:function(o){return this._append(o),this._process(),this},finalize:function(o){o&&this._append(o);var x=this._doFinalize();return x},blockSize:16,_createHelper:function(o){return function(x,v){return new o.init(v).finalize(x)}},_createHmacHelper:function(o){return function(x,v){return new A.HMAC.init(o,v).finalize(x)}}});var A=f.algo={};return f})(Math);return t})})(F0)),F0.exports}var D0={exports:{}},Hr=D0.exports,be;function g0(){return be||(be=1,(function(p,r){(function(t,e){p.exports=e(L())})(Hr,function(t){return(function(e){var s=t,c=s.lib,y=c.Base,u=c.WordArray,f=s.x64={};f.Word=y.extend({init:function(a,n){this.high=a,this.low=n}}),f.WordArray=y.extend({init:function(a,n){a=this.words=a||[],n!=e?this.sigBytes=n:this.sigBytes=a.length*8},toX32:function(){for(var a=this.words,n=a.length,B=[],i=0;i<n;i++){var l=a[i];B.push(l.high),B.push(l.low)}return u.create(B,this.sigBytes)},clone:function(){for(var a=y.clone.call(this),n=a.words=this.words.slice(0),B=n.length,i=0;i<B;i++)n[i]=n[i].clone();return a}})})(),t})})(D0)),D0.exports}var y0={exports:{}},Mr=y0.exports,_e;function Or(){return _e||(_e=1,(function(p,r){(function(t,e){p.exports=e(L())})(Mr,function(t){return(function(){if(typeof ArrayBuffer=="function"){var e=t,s=e.lib,c=s.WordArray,y=c.init,u=c.init=function(f){if(f instanceof ArrayBuffer&&(f=new Uint8Array(f)),(f instanceof Int8Array||typeof Uint8ClampedArray<"u"&&f instanceof Uint8ClampedArray||f instanceof Int16Array||f instanceof Uint16Array||f instanceof Int32Array||f instanceof Uint32Array||f instanceof Float32Array||f instanceof Float64Array)&&(f=new Uint8Array(f.buffer,f.byteOffset,f.byteLength)),f instanceof Uint8Array){for(var a=f.byteLength,n=[],B=0;B<a;B++)n[B>>>2]|=f[B]<<24-B%4*8;y.call(this,n,a)}else y.apply(this,arguments)};u.prototype=c}})(),t.lib.WordArray})})(y0)),y0.exports}var b0={exports:{}},Tr=b0.exports,we;function $r(){return we||(we=1,(function(p,r){(function(t,e){p.exports=e(L())})(Tr,function(t){return(function(){var e=t,s=e.lib,c=s.WordArray,y=e.enc;y.Utf16=y.Utf16BE={stringify:function(f){for(var a=f.words,n=f.sigBytes,B=[],i=0;i<n;i+=2){var l=a[i>>>2]>>>16-i%4*8&65535;B.push(String.fromCharCode(l))}return B.join("")},parse:function(f){for(var a=f.length,n=[],B=0;B<a;B++)n[B>>>1]|=f.charCodeAt(B)<<16-B%2*16;return c.create(n,a*2)}},y.Utf16LE={stringify:function(f){for(var a=f.words,n=f.sigBytes,B=[],i=0;i<n;i+=2){var l=u(a[i>>>2]>>>16-i%4*8&65535);B.push(String.fromCharCode(l))}return B.join("")},parse:function(f){for(var a=f.length,n=[],B=0;B<a;B++)n[B>>>1]|=u(f.charCodeAt(B)<<16-B%2*16);return c.create(n,a*2)}};function u(f){return f<<8&4278255360|f>>>8&16711935}})(),t.enc.Utf16})})(b0)),b0.exports}var _0={exports:{}},Lr=_0.exports,ke;function i0(){return ke||(ke=1,(function(p,r){(function(t,e){p.exports=e(L())})(Lr,function(t){return(function(){var e=t,s=e.lib,c=s.WordArray,y=e.enc;y.Base64={stringify:function(f){var a=f.words,n=f.sigBytes,B=this._map;f.clamp();for(var i=[],l=0;l<n;l+=3)for(var d=a[l>>>2]>>>24-l%4*8&255,C=a[l+1>>>2]>>>24-(l+1)%4*8&255,h=a[l+2>>>2]>>>24-(l+2)%4*8&255,A=d<<16|C<<8|h,o=0;o<4&&l+o*.75<n;o++)i.push(B.charAt(A>>>6*(3-o)&63));var x=B.charAt(64);if(x)for(;i.length%4;)i.push(x);return i.join("")},parse:function(f){var a=f.length,n=this._map,B=this._reverseMap;if(!B){B=this._reverseMap=[];for(var i=0;i<n.length;i++)B[n.charCodeAt(i)]=i}var l=n.charAt(64);if(l){var d=f.indexOf(l);d!==-1&&(a=d)}return u(f,a,B)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="};function u(f,a,n){for(var B=[],i=0,l=0;l<a;l++)if(l%4){var d=n[f.charCodeAt(l-1)]<<l%4*2,C=n[f.charCodeAt(l)]>>>6-l%4*2,h=d|C;B[i>>>2]|=h<<24-i%4*8,i++}return c.create(B,i)}})(),t.enc.Base64})})(_0)),_0.exports}var w0={exports:{}},Kr=w0.exports,Se;function Ur(){return Se||(Se=1,(function(p,r){(function(t,e){p.exports=e(L())})(Kr,function(t){return(function(){var e=t,s=e.lib,c=s.WordArray,y=e.enc;y.Base64url={stringify:function(f,a){a===void 0&&(a=!0);var n=f.words,B=f.sigBytes,i=a?this._safe_map:this._map;f.clamp();for(var l=[],d=0;d<B;d+=3)for(var C=n[d>>>2]>>>24-d%4*8&255,h=n[d+1>>>2]>>>24-(d+1)%4*8&255,A=n[d+2>>>2]>>>24-(d+2)%4*8&255,o=C<<16|h<<8|A,x=0;x<4&&d+x*.75<B;x++)l.push(i.charAt(o>>>6*(3-x)&63));var v=i.charAt(64);if(v)for(;l.length%4;)l.push(v);return l.join("")},parse:function(f,a){a===void 0&&(a=!0);var n=f.length,B=a?this._safe_map:this._map,i=this._reverseMap;if(!i){i=this._reverseMap=[];for(var l=0;l<B.length;l++)i[B.charCodeAt(l)]=l}var d=B.charAt(64);if(d){var C=f.indexOf(d);C!==-1&&(n=C)}return u(f,n,i)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",_safe_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"};function u(f,a,n){for(var B=[],i=0,l=0;l<a;l++)if(l%4){var d=n[f.charCodeAt(l-1)]<<l%4*2,C=n[f.charCodeAt(l)]>>>6-l%4*2,h=d|C;B[i>>>2]|=h<<24-i%4*8,i++}return c.create(B,i)}})(),t.enc.Base64url})})(w0)),w0.exports}var k0={exports:{}},qr=k0.exports,Pe;function o0(){return Pe||(Pe=1,(function(p,r){(function(t,e){p.exports=e(L())})(qr,function(t){return(function(e){var s=t,c=s.lib,y=c.WordArray,u=c.Hasher,f=s.algo,a=[];(function(){for(var C=0;C<64;C++)a[C]=e.abs(e.sin(C+1))*4294967296|0})();var n=f.MD5=u.extend({_doReset:function(){this._hash=new y.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(C,h){for(var A=0;A<16;A++){var o=h+A,x=C[o];C[o]=(x<<8|x>>>24)&16711935|(x<<24|x>>>8)&4278255360}var v=this._hash.words,F=C[h+0],E=C[h+1],g=C[h+2],b=C[h+3],R=C[h+4],m=C[h+5],D=C[h+6],w=C[h+7],k=C[h+8],M=C[h+9],O=C[h+10],T=C[h+11],W=C[h+12],U=C[h+13],z=C[h+14],q=C[h+15],_=v[0],P=v[1],I=v[2],S=v[3];_=B(_,P,I,S,F,7,a[0]),S=B(S,_,P,I,E,12,a[1]),I=B(I,S,_,P,g,17,a[2]),P=B(P,I,S,_,b,22,a[3]),_=B(_,P,I,S,R,7,a[4]),S=B(S,_,P,I,m,12,a[5]),I=B(I,S,_,P,D,17,a[6]),P=B(P,I,S,_,w,22,a[7]),_=B(_,P,I,S,k,7,a[8]),S=B(S,_,P,I,M,12,a[9]),I=B(I,S,_,P,O,17,a[10]),P=B(P,I,S,_,T,22,a[11]),_=B(_,P,I,S,W,7,a[12]),S=B(S,_,P,I,U,12,a[13]),I=B(I,S,_,P,z,17,a[14]),P=B(P,I,S,_,q,22,a[15]),_=i(_,P,I,S,E,5,a[16]),S=i(S,_,P,I,D,9,a[17]),I=i(I,S,_,P,T,14,a[18]),P=i(P,I,S,_,F,20,a[19]),_=i(_,P,I,S,m,5,a[20]),S=i(S,_,P,I,O,9,a[21]),I=i(I,S,_,P,q,14,a[22]),P=i(P,I,S,_,R,20,a[23]),_=i(_,P,I,S,M,5,a[24]),S=i(S,_,P,I,z,9,a[25]),I=i(I,S,_,P,b,14,a[26]),P=i(P,I,S,_,k,20,a[27]),_=i(_,P,I,S,U,5,a[28]),S=i(S,_,P,I,g,9,a[29]),I=i(I,S,_,P,w,14,a[30]),P=i(P,I,S,_,W,20,a[31]),_=l(_,P,I,S,m,4,a[32]),S=l(S,_,P,I,k,11,a[33]),I=l(I,S,_,P,T,16,a[34]),P=l(P,I,S,_,z,23,a[35]),_=l(_,P,I,S,E,4,a[36]),S=l(S,_,P,I,R,11,a[37]),I=l(I,S,_,P,w,16,a[38]),P=l(P,I,S,_,O,23,a[39]),_=l(_,P,I,S,U,4,a[40]),S=l(S,_,P,I,F,11,a[41]),I=l(I,S,_,P,b,16,a[42]),P=l(P,I,S,_,D,23,a[43]),_=l(_,P,I,S,M,4,a[44]),S=l(S,_,P,I,W,11,a[45]),I=l(I,S,_,P,q,16,a[46]),P=l(P,I,S,_,g,23,a[47]),_=d(_,P,I,S,F,6,a[48]),S=d(S,_,P,I,w,10,a[49]),I=d(I,S,_,P,z,15,a[50]),P=d(P,I,S,_,m,21,a[51]),_=d(_,P,I,S,W,6,a[52]),S=d(S,_,P,I,b,10,a[53]),I=d(I,S,_,P,O,15,a[54]),P=d(P,I,S,_,E,21,a[55]),_=d(_,P,I,S,k,6,a[56]),S=d(S,_,P,I,q,10,a[57]),I=d(I,S,_,P,D,15,a[58]),P=d(P,I,S,_,U,21,a[59]),_=d(_,P,I,S,R,6,a[60]),S=d(S,_,P,I,T,10,a[61]),I=d(I,S,_,P,g,15,a[62]),P=d(P,I,S,_,M,21,a[63]),v[0]=v[0]+_|0,v[1]=v[1]+P|0,v[2]=v[2]+I|0,v[3]=v[3]+S|0},_doFinalize:function(){var C=this._data,h=C.words,A=this._nDataBytes*8,o=C.sigBytes*8;h[o>>>5]|=128<<24-o%32;var x=e.floor(A/4294967296),v=A;h[(o+64>>>9<<4)+15]=(x<<8|x>>>24)&16711935|(x<<24|x>>>8)&4278255360,h[(o+64>>>9<<4)+14]=(v<<8|v>>>24)&16711935|(v<<24|v>>>8)&4278255360,C.sigBytes=(h.length+1)*4,this._process();for(var F=this._hash,E=F.words,g=0;g<4;g++){var b=E[g];E[g]=(b<<8|b>>>24)&16711935|(b<<24|b>>>8)&4278255360}return F},clone:function(){var C=u.clone.call(this);return C._hash=this._hash.clone(),C}});function B(C,h,A,o,x,v,F){var E=C+(h&A|~h&o)+x+F;return(E<<v|E>>>32-v)+h}function i(C,h,A,o,x,v,F){var E=C+(h&o|A&~o)+x+F;return(E<<v|E>>>32-v)+h}function l(C,h,A,o,x,v,F){var E=C+(h^A^o)+x+F;return(E<<v|E>>>32-v)+h}function d(C,h,A,o,x,v,F){var E=C+(A^(h|~o))+x+F;return(E<<v|E>>>32-v)+h}s.MD5=u._createHelper(n),s.HmacMD5=u._createHmacHelper(n)})(Math),t.MD5})})(k0)),k0.exports}var S0={exports:{}},zr=S0.exports,Ie;function Re(){return Ie||(Ie=1,(function(p,r){(function(t,e){p.exports=e(L())})(zr,function(t){return(function(){var e=t,s=e.lib,c=s.WordArray,y=s.Hasher,u=e.algo,f=[],a=u.SHA1=y.extend({_doReset:function(){this._hash=new c.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(n,B){for(var i=this._hash.words,l=i[0],d=i[1],C=i[2],h=i[3],A=i[4],o=0;o<80;o++){if(o<16)f[o]=n[B+o]|0;else{var x=f[o-3]^f[o-8]^f[o-14]^f[o-16];f[o]=x<<1|x>>>31}var v=(l<<5|l>>>27)+A+f[o];o<20?v+=(d&C|~d&h)+1518500249:o<40?v+=(d^C^h)+1859775393:o<60?v+=(d&C|d&h|C&h)-1894007588:v+=(d^C^h)-899497514,A=h,h=C,C=d<<30|d>>>2,d=l,l=v}i[0]=i[0]+l|0,i[1]=i[1]+d|0,i[2]=i[2]+C|0,i[3]=i[3]+h|0,i[4]=i[4]+A|0},_doFinalize:function(){var n=this._data,B=n.words,i=this._nDataBytes*8,l=n.sigBytes*8;return B[l>>>5]|=128<<24-l%32,B[(l+64>>>9<<4)+14]=Math.floor(i/4294967296),B[(l+64>>>9<<4)+15]=i,n.sigBytes=B.length*4,this._process(),this._hash},clone:function(){var n=y.clone.call(this);return n._hash=this._hash.clone(),n}});e.SHA1=y._createHelper(a),e.HmacSHA1=y._createHmacHelper(a)})(),t.SHA1})})(S0)),S0.exports}var P0={exports:{}},Nr=P0.exports,He;function de(){return He||(He=1,(function(p,r){(function(t,e){p.exports=e(L())})(Nr,function(t){return(function(e){var s=t,c=s.lib,y=c.WordArray,u=c.Hasher,f=s.algo,a=[],n=[];(function(){function l(A){for(var o=e.sqrt(A),x=2;x<=o;x++)if(!(A%x))return!1;return!0}function d(A){return(A-(A|0))*4294967296|0}for(var C=2,h=0;h<64;)l(C)&&(h<8&&(a[h]=d(e.pow(C,1/2))),n[h]=d(e.pow(C,1/3)),h++),C++})();var B=[],i=f.SHA256=u.extend({_doReset:function(){this._hash=new y.init(a.slice(0))},_doProcessBlock:function(l,d){for(var C=this._hash.words,h=C[0],A=C[1],o=C[2],x=C[3],v=C[4],F=C[5],E=C[6],g=C[7],b=0;b<64;b++){if(b<16)B[b]=l[d+b]|0;else{var R=B[b-15],m=(R<<25|R>>>7)^(R<<14|R>>>18)^R>>>3,D=B[b-2],w=(D<<15|D>>>17)^(D<<13|D>>>19)^D>>>10;B[b]=m+B[b-7]+w+B[b-16]}var k=v&F^~v&E,M=h&A^h&o^A&o,O=(h<<30|h>>>2)^(h<<19|h>>>13)^(h<<10|h>>>22),T=(v<<26|v>>>6)^(v<<21|v>>>11)^(v<<7|v>>>25),W=g+T+k+n[b]+B[b],U=O+M;g=E,E=F,F=v,v=x+W|0,x=o,o=A,A=h,h=W+U|0}C[0]=C[0]+h|0,C[1]=C[1]+A|0,C[2]=C[2]+o|0,C[3]=C[3]+x|0,C[4]=C[4]+v|0,C[5]=C[5]+F|0,C[6]=C[6]+E|0,C[7]=C[7]+g|0},_doFinalize:function(){var l=this._data,d=l.words,C=this._nDataBytes*8,h=l.sigBytes*8;return d[h>>>5]|=128<<24-h%32,d[(h+64>>>9<<4)+14]=e.floor(C/4294967296),d[(h+64>>>9<<4)+15]=C,l.sigBytes=d.length*4,this._process(),this._hash},clone:function(){var l=u.clone.call(this);return l._hash=this._hash.clone(),l}});s.SHA256=u._createHelper(i),s.HmacSHA256=u._createHmacHelper(i)})(Math),t.SHA256})})(P0)),P0.exports}var I0={exports:{}},Wr=I0.exports,Me;function Gr(){return Me||(Me=1,(function(p,r){(function(t,e,s){p.exports=e(L(),de())})(Wr,function(t){return(function(){var e=t,s=e.lib,c=s.WordArray,y=e.algo,u=y.SHA256,f=y.SHA224=u.extend({_doReset:function(){this._hash=new c.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var a=u._doFinalize.call(this);return a.sigBytes-=4,a}});e.SHA224=u._createHelper(f),e.HmacSHA224=u._createHmacHelper(f)})(),t.SHA224})})(I0)),I0.exports}var R0={exports:{}},Qr=R0.exports,Oe;function Te(){return Oe||(Oe=1,(function(p,r){(function(t,e,s){p.exports=e(L(),g0())})(Qr,function(t){return(function(){var e=t,s=e.lib,c=s.Hasher,y=e.x64,u=y.Word,f=y.WordArray,a=e.algo;function n(){return u.create.apply(u,arguments)}var B=[n(1116352408,3609767458),n(1899447441,602891725),n(3049323471,3964484399),n(3921009573,2173295548),n(961987163,4081628472),n(1508970993,3053834265),n(2453635748,2937671579),n(2870763221,3664609560),n(3624381080,2734883394),n(310598401,1164996542),n(607225278,1323610764),n(1426881987,3590304994),n(1925078388,4068182383),n(2162078206,991336113),n(2614888103,633803317),n(3248222580,3479774868),n(3835390401,2666613458),n(4022224774,944711139),n(264347078,2341262773),n(604807628,2007800933),n(770255983,1495990901),n(1249150122,1856431235),n(1555081692,3175218132),n(1996064986,2198950837),n(2554220882,3999719339),n(2821834349,766784016),n(2952996808,2566594879),n(3210313671,3203337956),n(3336571891,1034457026),n(3584528711,2466948901),n(113926993,3758326383),n(338241895,168717936),n(666307205,1188179964),n(773529912,1546045734),n(1294757372,1522805485),n(1396182291,2643833823),n(1695183700,2343527390),n(1986661051,1014477480),n(2177026350,1206759142),n(2456956037,344077627),n(2730485921,1290863460),n(2820302411,3158454273),n(3259730800,3505952657),n(3345764771,106217008),n(3516065817,3606008344),n(3600352804,1432725776),n(4094571909,1467031594),n(275423344,851169720),n(430227734,3100823752),n(506948616,1363258195),n(659060556,3750685593),n(883997877,3785050280),n(958139571,3318307427),n(1322822218,3812723403),n(1537002063,2003034995),n(1747873779,3602036899),n(1955562222,1575990012),n(2024104815,1125592928),n(2227730452,2716904306),n(2361852424,442776044),n(2428436474,593698344),n(2756734187,3733110249),n(3204031479,2999351573),n(3329325298,3815920427),n(3391569614,3928383900),n(3515267271,566280711),n(3940187606,3454069534),n(4118630271,4000239992),n(116418474,1914138554),n(174292421,2731055270),n(289380356,3203993006),n(460393269,320620315),n(685471733,587496836),n(852142971,1086792851),n(1017036298,365543100),n(1126000580,2618297676),n(1288033470,3409855158),n(1501505948,4234509866),n(1607167915,987167468),n(1816402316,1246189591)],i=[];(function(){for(var d=0;d<80;d++)i[d]=n()})();var l=a.SHA512=c.extend({_doReset:function(){this._hash=new f.init([new u.init(1779033703,4089235720),new u.init(3144134277,2227873595),new u.init(1013904242,4271175723),new u.init(2773480762,1595750129),new u.init(1359893119,2917565137),new u.init(2600822924,725511199),new u.init(528734635,4215389547),new u.init(1541459225,327033209)])},_doProcessBlock:function(d,C){for(var h=this._hash.words,A=h[0],o=h[1],x=h[2],v=h[3],F=h[4],E=h[5],g=h[6],b=h[7],R=A.high,m=A.low,D=o.high,w=o.low,k=x.high,M=x.low,O=v.high,T=v.low,W=F.high,U=F.low,z=E.high,q=E.low,_=g.high,P=g.low,I=b.high,S=b.low,G=R,N=m,V=D,$=w,h0=k,s0=M,pe=O,v0=T,J=W,j=U,ne=z,p0=q,ie=_,C0=P,Ce=I,B0=S,e0=0;e0<80;e0++){var Y,a0,oe=i[e0];if(e0<16)a0=oe.high=d[C+e0*2]|0,Y=oe.low=d[C+e0*2+1]|0;else{var ur=i[e0-15],x0=ur.high,m0=ur.low,Xt=(x0>>>1|m0<<31)^(x0>>>8|m0<<24)^x0>>>7,hr=(m0>>>1|x0<<31)^(m0>>>8|x0<<24)^(m0>>>7|x0<<25),vr=i[e0-2],c0=vr.high,A0=vr.low,Vt=(c0>>>19|A0<<13)^(c0<<3|A0>>>29)^c0>>>6,pr=(A0>>>19|c0<<13)^(A0<<3|c0>>>29)^(A0>>>6|c0<<26),Cr=i[e0-7],jt=Cr.high,Zt=Cr.low,Br=i[e0-16],Yt=Br.high,mr=Br.low;Y=hr+Zt,a0=Xt+jt+(Y>>>0<hr>>>0?1:0),Y=Y+pr,a0=a0+Vt+(Y>>>0<pr>>>0?1:0),Y=Y+mr,a0=a0+Yt+(Y>>>0<mr>>>0?1:0),oe.high=a0,oe.low=Y}var Jt=J&ne^~J&ie,Ar=j&p0^~j&C0,ea=G&V^G&h0^V&h0,ra=N&$^N&s0^$&s0,ta=(G>>>28|N<<4)^(G<<30|N>>>2)^(G<<25|N>>>7),Er=(N>>>28|G<<4)^(N<<30|G>>>2)^(N<<25|G>>>7),aa=(J>>>14|j<<18)^(J>>>18|j<<14)^(J<<23|j>>>9),na=(j>>>14|J<<18)^(j>>>18|J<<14)^(j<<23|J>>>9),Fr=B[e0],ia=Fr.high,Dr=Fr.low,Z=B0+na,n0=Ce+aa+(Z>>>0<B0>>>0?1:0),Z=Z+Ar,n0=n0+Jt+(Z>>>0<Ar>>>0?1:0),Z=Z+Dr,n0=n0+ia+(Z>>>0<Dr>>>0?1:0),Z=Z+Y,n0=n0+a0+(Z>>>0<Y>>>0?1:0),gr=Er+ra,oa=ta+ea+(gr>>>0<Er>>>0?1:0);Ce=ie,B0=C0,ie=ne,C0=p0,ne=J,p0=j,j=v0+Z|0,J=pe+n0+(j>>>0<v0>>>0?1:0)|0,pe=h0,v0=s0,h0=V,s0=$,V=G,$=N,N=Z+gr|0,G=n0+oa+(N>>>0<Z>>>0?1:0)|0}m=A.low=m+N,A.high=R+G+(m>>>0<N>>>0?1:0),w=o.low=w+$,o.high=D+V+(w>>>0<$>>>0?1:0),M=x.low=M+s0,x.high=k+h0+(M>>>0<s0>>>0?1:0),T=v.low=T+v0,v.high=O+pe+(T>>>0<v0>>>0?1:0),U=F.low=U+j,F.high=W+J+(U>>>0<j>>>0?1:0),q=E.low=q+p0,E.high=z+ne+(q>>>0<p0>>>0?1:0),P=g.low=P+C0,g.high=_+ie+(P>>>0<C0>>>0?1:0),S=b.low=S+B0,b.high=I+Ce+(S>>>0<B0>>>0?1:0)},_doFinalize:function(){var d=this._data,C=d.words,h=this._nDataBytes*8,A=d.sigBytes*8;C[A>>>5]|=128<<24-A%32,C[(A+128>>>10<<5)+30]=Math.floor(h/4294967296),C[(A+128>>>10<<5)+31]=h,d.sigBytes=C.length*4,this._process();var o=this._hash.toX32();return o},clone:function(){var d=c.clone.call(this);return d._hash=this._hash.clone(),d},blockSize:1024/32});e.SHA512=c._createHelper(l),e.HmacSHA512=c._createHmacHelper(l)})(),t.SHA512})})(R0)),R0.exports}var H0={exports:{}},Xr=H0.exports,$e;function Vr(){return $e||($e=1,(function(p,r){(function(t,e,s){p.exports=e(L(),g0(),Te())})(Xr,function(t){return(function(){var e=t,s=e.x64,c=s.Word,y=s.WordArray,u=e.algo,f=u.SHA512,a=u.SHA384=f.extend({_doReset:function(){this._hash=new y.init([new c.init(3418070365,3238371032),new c.init(1654270250,914150663),new c.init(2438529370,812702999),new c.init(355462360,4144912697),new c.init(1731405415,4290775857),new c.init(2394180231,1750603025),new c.init(3675008525,1694076839),new c.init(1203062813,3204075428)])},_doFinalize:function(){var n=f._doFinalize.call(this);return n.sigBytes-=16,n}});e.SHA384=f._createHelper(a),e.HmacSHA384=f._createHmacHelper(a)})(),t.SHA384})})(H0)),H0.exports}var M0={exports:{}},jr=M0.exports,Le;function Zr(){return Le||(Le=1,(function(p,r){(function(t,e,s){p.exports=e(L(),g0())})(jr,function(t){return(function(e){var s=t,c=s.lib,y=c.WordArray,u=c.Hasher,f=s.x64,a=f.Word,n=s.algo,B=[],i=[],l=[];(function(){for(var h=1,A=0,o=0;o<24;o++){B[h+5*A]=(o+1)*(o+2)/2%64;var x=A%5,v=(2*h+3*A)%5;h=x,A=v}for(var h=0;h<5;h++)for(var A=0;A<5;A++)i[h+5*A]=A+(2*h+3*A)%5*5;for(var F=1,E=0;E<24;E++){for(var g=0,b=0,R=0;R<7;R++){if(F&1){var m=(1<<R)-1;m<32?b^=1<<m:g^=1<<m-32}F&128?F=F<<1^113:F<<=1}l[E]=a.create(g,b)}})();var d=[];(function(){for(var h=0;h<25;h++)d[h]=a.create()})();var C=n.SHA3=u.extend({cfg:u.cfg.extend({outputLength:512}),_doReset:function(){for(var h=this._state=[],A=0;A<25;A++)h[A]=new a.init;this.blockSize=(1600-2*this.cfg.outputLength)/32},_doProcessBlock:function(h,A){for(var o=this._state,x=this.blockSize/2,v=0;v<x;v++){var F=h[A+2*v],E=h[A+2*v+1];F=(F<<8|F>>>24)&16711935|(F<<24|F>>>8)&4278255360,E=(E<<8|E>>>24)&16711935|(E<<24|E>>>8)&4278255360;var g=o[v];g.high^=E,g.low^=F}for(var b=0;b<24;b++){for(var R=0;R<5;R++){for(var m=0,D=0,w=0;w<5;w++){var g=o[R+5*w];m^=g.high,D^=g.low}var k=d[R];k.high=m,k.low=D}for(var R=0;R<5;R++)for(var M=d[(R+4)%5],O=d[(R+1)%5],T=O.high,W=O.low,m=M.high^(T<<1|W>>>31),D=M.low^(W<<1|T>>>31),w=0;w<5;w++){var g=o[R+5*w];g.high^=m,g.low^=D}for(var U=1;U<25;U++){var m,D,g=o[U],z=g.high,q=g.low,_=B[U];_<32?(m=z<<_|q>>>32-_,D=q<<_|z>>>32-_):(m=q<<_-32|z>>>64-_,D=z<<_-32|q>>>64-_);var P=d[i[U]];P.high=m,P.low=D}var I=d[0],S=o[0];I.high=S.high,I.low=S.low;for(var R=0;R<5;R++)for(var w=0;w<5;w++){var U=R+5*w,g=o[U],G=d[U],N=d[(R+1)%5+5*w],V=d[(R+2)%5+5*w];g.high=G.high^~N.high&V.high,g.low=G.low^~N.low&V.low}var g=o[0],$=l[b];g.high^=$.high,g.low^=$.low}},_doFinalize:function(){var h=this._data,A=h.words;this._nDataBytes*8;var o=h.sigBytes*8,x=this.blockSize*32;A[o>>>5]|=1<<24-o%32,A[(e.ceil((o+1)/x)*x>>>5)-1]|=128,h.sigBytes=A.length*4,this._process();for(var v=this._state,F=this.cfg.outputLength/8,E=F/8,g=[],b=0;b<E;b++){var R=v[b],m=R.high,D=R.low;m=(m<<8|m>>>24)&16711935|(m<<24|m>>>8)&4278255360,D=(D<<8|D>>>24)&16711935|(D<<24|D>>>8)&4278255360,g.push(D),g.push(m)}return new y.init(g,F)},clone:function(){for(var h=u.clone.call(this),A=h._state=this._state.slice(0),o=0;o<25;o++)A[o]=A[o].clone();return h}});s.SHA3=u._createHelper(C),s.HmacSHA3=u._createHmacHelper(C)})(Math),t.SHA3})})(M0)),M0.exports}var O0={exports:{}},Yr=O0.exports,Ke;function Jr(){return Ke||(Ke=1,(function(p,r){(function(t,e){p.exports=e(L())})(Yr,function(t){/** @preserve
1
+ (function(K,l0){typeof exports=="object"&&typeof module<"u"?l0(exports):typeof define=="function"&&define.amd?define(["exports"],l0):(K=typeof globalThis<"u"?globalThis:K||self,l0(K.AISelectorCore={}))})(this,(function(K){"use strict";const l0={zh:{save:"保存配置",saved:"保存成功",providerLabel:"Provider",modelLabel:"Model",selectProvider:"选择 Provider...",customBaseUrl:"自定义 Base URL",apiKeyLabel:"API Key",apiKeyPlaceholder:"输入 API Key...",testConnection:"测试模型连接",testing:"测试中...",testSuccess:"连接成功",testFailed:"测试连通性失败",selectModel:"选择 Model...",searchModel:"搜索或自定义模型...",useCustom:"使用自定义",noModels:"暂无模型数据",apiKeyTip:"输入 API Key 后可获取完整模型列表",fetchModelsFailed:"拉取模型列表失败,已使用离线模型列表",refreshingModels:"列表刷新中...",modelListUpdated:"模型列表已刷新",preview:"配置预览",unselected:"(未选择)",customProvider:"自定义 (Custom)",baseUrlRequired:"请输入 Base URL",baseUrlPlaceholder:"输入 API 地址,如 http://localhost:11434/v1",apiKeyOptional:"API Key(可选)",modelAllTypes:"全部",modelCount:"个"},en:{save:"Save Config",saved:"Saved",providerLabel:"Provider",modelLabel:"Model",selectProvider:"Select Provider...",customBaseUrl:"Custom Base URL",apiKeyLabel:"API Key",apiKeyPlaceholder:"Enter API Key...",testConnection:"Test Model Connection",testing:"Testing...",testSuccess:"Connection Successful",testFailed:"Connection Failed",selectModel:"Select Model...",searchModel:"Search or custom models...",useCustom:"Use custom",noModels:"No models found",apiKeyTip:"Enter API Key to fetch full model list",fetchModelsFailed:"Failed to fetch model list, using offline models",refreshingModels:"Refreshing models...",modelListUpdated:"Model list updated",preview:"Config Preview",unselected:"(Unselected)",customProvider:"自定义 (Custom)",baseUrlRequired:"Base URL is required",baseUrlPlaceholder:"Enter API URL, e.g. http://localhost:11434/v1",apiKeyOptional:"API Key (optional)",modelAllTypes:"All",modelCount:""}},yr={text:{type:"text",label:"Text",labelZh:"文本",icon:"💬"},vision:{type:"vision",label:"Vision",labelZh:"视觉",icon:"🖼️"},audio:{type:"audio",label:"Audio",labelZh:"音频",icon:"🎤"},video:{type:"video",label:"Video",labelZh:"视频",icon:"🎬"},embedding:{type:"embedding",label:"Embedding",labelZh:"嵌入",icon:"📐"},reasoning:{type:"reasoning",label:"Reasoning",labelZh:"推理",icon:"🧠"}},Q="https://registry.npmmirror.com/@lobehub/icons-static-svg/1.77.0/files/icons",H={OPENAI:"openai",ANTHROPIC:"anthropic",GEMINI:"gemini",DEEPSEEK:"deepseek",OPENROUTER:"openrouter",GROQ:"groq",MISTRAL:"mistral",MOONSHOT:"moonshot",QWEN:"qwen",ZHIPU:"zhipu",SILICONFLOW:"siliconflow",XAI:"xai",TOGETHER:"together",FIREWORKS:"fireworks",DEEPINFRA:"deepinfra",PERPLEXITY:"perplexity",COHERE:"cohere",OLLAMA:"ollama",DOUBAO:"doubao",MINIMAX:"minimax",CUSTOM:"custom"},d0={[H.OPENAI]:{id:H.OPENAI,name:"OpenAI",baseUrl:"https://api.openai.com/v1",needsApiKey:!0,apiFormat:"openai",supportsModelsApi:!0,icon:`${Q}/openai.svg`},[H.ANTHROPIC]:{id:H.ANTHROPIC,name:"Anthropic (Claude)",baseUrl:"https://api.anthropic.com/v1",needsApiKey:!0,apiFormat:"anthropic",supportsModelsApi:!0,icon:`${Q}/anthropic.svg`},[H.GEMINI]:{id:H.GEMINI,name:"Google Gemini",baseUrl:"https://generativelanguage.googleapis.com/v1beta",needsApiKey:!0,apiFormat:"gemini",supportsModelsApi:!0,icon:`${Q}/gemini.svg`},[H.OPENROUTER]:{id:H.OPENROUTER,name:"OpenRouter",baseUrl:"https://openrouter.ai/api/v1",needsApiKey:!0,apiFormat:"openai",supportsModelsApi:!0,icon:`${Q}/openrouter.svg`},[H.DEEPSEEK]:{id:H.DEEPSEEK,name:"DeepSeek",baseUrl:"https://api.deepseek.com",needsApiKey:!0,apiFormat:"openai",supportsModelsApi:!0,icon:`${Q}/deepseek.svg`},[H.MOONSHOT]:{id:H.MOONSHOT,name:"Moonshot (Kimi)",baseUrl:"https://api.moonshot.cn/v1",needsApiKey:!0,apiFormat:"openai",supportsModelsApi:!0,icon:`${Q}/moonshot.svg`},[H.QWEN]:{id:H.QWEN,name:"通义千问 (Qwen)",baseUrl:"https://dashscope.aliyuncs.com/compatible-mode/v1",needsApiKey:!0,apiFormat:"openai",supportsModelsApi:!0,icon:`${Q}/qwen.svg`},[H.ZHIPU]:{id:H.ZHIPU,name:"智谱 AI (GLM)",baseUrl:"https://open.bigmodel.cn/api/paas/v4",needsApiKey:!0,apiFormat:"openai",supportsModelsApi:!0,icon:`${Q}/zhipu.svg`},[H.SILICONFLOW]:{id:H.SILICONFLOW,name:"硅基流动 (siliconflow)",baseUrl:"https://api.siliconflow.cn/v1",needsApiKey:!0,apiFormat:"openai",supportsModelsApi:!0,icon:`${Q}/siliconcloud.svg`},[H.DOUBAO]:{id:H.DOUBAO,name:"火山方舟 (Doubao)",baseUrl:"https://ark.cn-beijing.volces.com/api/v3",needsApiKey:!0,apiFormat:"openai",supportsModelsApi:!0,icon:`${Q}/doubao.svg`},[H.MINIMAX]:{id:H.MINIMAX,name:"MiniMax",baseUrl:"https://api.minimax.io/v1",needsApiKey:!0,apiFormat:"openai",supportsModelsApi:!1,icon:`${Q}/minimax.svg`},[H.XAI]:{id:H.XAI,name:"xAI (Grok)",baseUrl:"https://api.x.ai/v1",needsApiKey:!0,apiFormat:"openai",supportsModelsApi:!0,icon:`${Q}/grok.svg`},[H.GROQ]:{id:H.GROQ,name:"Groq",baseUrl:"https://api.groq.com/openai/v1",needsApiKey:!0,apiFormat:"openai",supportsModelsApi:!0,icon:`${Q}/groq.svg`},[H.MISTRAL]:{id:H.MISTRAL,name:"Mistral AI",baseUrl:"https://api.mistral.ai/v1",needsApiKey:!0,apiFormat:"openai",supportsModelsApi:!0,icon:`${Q}/mistral.svg`},[H.TOGETHER]:{id:H.TOGETHER,name:"Together AI",baseUrl:"https://api.together.xyz/v1",needsApiKey:!0,apiFormat:"openai",supportsModelsApi:!0,icon:`${Q}/together.svg`},[H.FIREWORKS]:{id:H.FIREWORKS,name:"Fireworks AI",baseUrl:"https://api.fireworks.ai/inference/v1",needsApiKey:!0,apiFormat:"openai",supportsModelsApi:!0,icon:`${Q}/fireworks.svg`},[H.DEEPINFRA]:{id:H.DEEPINFRA,name:"DeepInfra",baseUrl:"https://api.deepinfra.com/v1/openai",needsApiKey:!0,apiFormat:"openai",supportsModelsApi:!0,icon:`${Q}/deepinfra.svg`},[H.PERPLEXITY]:{id:H.PERPLEXITY,name:"Perplexity",baseUrl:"https://api.perplexity.ai",needsApiKey:!0,apiFormat:"openai",supportsModelsApi:!1,icon:`${Q}/perplexity.svg`},[H.COHERE]:{id:H.COHERE,name:"Cohere",baseUrl:"https://api.cohere.com/v2",needsApiKey:!0,apiFormat:"cohere",supportsModelsApi:!0,icon:`${Q}/cohere.svg`},[H.OLLAMA]:{id:H.OLLAMA,name:"Ollama (Local)",baseUrl:"http://localhost:11434/v1",needsApiKey:!1,apiFormat:"openai",supportsModelsApi:!0,icon:`${Q}/ollama.svg`},[H.CUSTOM]:{id:H.CUSTOM,name:"自定义 (Custom)",baseUrl:"",needsApiKey:!1,apiFormat:"openai",supportsModelsApi:!0,icon:""}};function r0(p){return d0[p]}function se(){return Object.values(d0)}function Be(p){return se().filter(r=>r.apiFormat===p)}const me={[H.OPENAI]:[{id:"gpt-5.2-pro",name:"GPT-5.2 Pro"},{id:"gpt-5.2",name:"GPT-5.2"},{id:"gpt-5",name:"GPT-5"},{id:"gpt-5-mini",name:"GPT-5 Mini"},{id:"gpt-5-nano",name:"GPT-5 Nano"},{id:"gpt-4.1",name:"GPT-4.1"}],[H.ANTHROPIC]:[{id:"claude-opus-4.5-20251101",name:"Claude Opus 4.5"},{id:"claude-opus-4.5-20251101-thinking",name:"Claude Opus 4.5 Thinking"},{id:"claude-sonnet-4.5-20250929",name:"Claude Sonnet 4.5"},{id:"claude-sonnet-4.5-20250929-thinking",name:"Claude Sonnet 4.5 Thinking"},{id:"claude-haiku-4.5-20251001",name:"Claude Haiku 4.5"},{id:"claude-haiku-4.5-20251001-thinking",name:"Claude Haiku 4.5 Thinking"},{id:"claude-opus-4.1-20250805",name:"Claude Opus 4.1"},{id:"claude-opus-4.1-20250805-thinking",name:"Claude Opus 4.1 Thinking"}],[H.GEMINI]:[{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gemini-3-pro-preview",name:"Gemini 3 Pro Preview"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash-Lite"}],[H.DEEPSEEK]:[{id:"deepseek-chat",name:"Deepseek Chat"},{id:"deepseek-reasoner",name:"Deepseek Reasoner"}],[H.MISTRAL]:[{id:"mistral-large-latest",name:"Mistral Large"},{id:"mistral-medium-latest",name:"Mistral Medium"},{id:"mistral-small-latest",name:"Mistral Small"},{id:"codestral-latest",name:"Codestral"},{id:"devstral-latest",name:"Devstral"},{id:"magistral-medium-latest",name:"Magistral Medium"},{id:"pixtral-large-latest",name:"Pixtral Large"},{id:"pixtral-12b-latest",name:"Pixtral 12B"},{id:"ministral-8b-latest",name:"Ministral 8B"},{id:"ministral-3b-latest",name:"Ministral 3B"}],[H.GROQ]:[{id:"canopylabs/orpheus-v1-english",name:"Orpheus V1 English"},{id:"canopylabs/orpheus-arabic-saudi",name:"Orpheus Arabic Saudi"},{id:"moonshotai/kimi-k2-instruct",name:"Kimi K2 Instruct"},{id:"groq/compound-mini",name:"Compound Mini"},{id:"llama-3.3-70b-versatile",name:"Llama 3.3 70B Versatile"},{id:"openai/gpt-oss-120b",name:"Gpt Oss 120B"},{id:"qwen/qwen3-32b",name:"Qwen3 32B"},{id:"groq/compound",name:"Compound"},{id:"meta-llama/llama-4-maverick-17b-128e-instruct",name:"Llama 4 Maverick 17B 128E Instruct"}],[H.XAI]:[{id:"grok-4",name:"Grok 4"},{id:"grok-4-fast",name:"Grok 4 Fast"},{id:"grok-3-latest",name:"Grok 3"},{id:"grok-3-fast",name:"Grok 3 Fast"},{id:"grok-3-mini-latest",name:"Grok 3 Mini"},{id:"grok-3-mini-fast",name:"Grok 3 Mini Fast"},{id:"grok-vision-beta",name:"Grok Vision (Beta)"}],[H.TOGETHER]:[{id:"Qwen/Qwen2.5-72B-Instruct-Turbo",name:"Qwen2.5 72B Instruct Turbo"},{id:"Qwen/Qwen3-235B-A22B-Thinking-2507",name:"Qwen3 235B A22B Thinking 2507"},{id:"deepseek-ai/DeepSeek-R1",name:"Deepseek R1"},{id:"deepseek-ai/DeepSeek-V3.1",name:"Deepseek V3.1"},{id:"meta-llama/Llama-3.2-3B-Instruct-Turbo",name:"Llama 3.2 3B Instruct Turbo"},{id:"meta-llama/Llama-3.3-70B-Instruct-Turbo",name:"Llama 3.3 70B Instruct Turbo"},{id:"meta-llama/Llama-3.3-70B-Instruct-Turbo-Free",name:"Llama 3.3 70B Instruct Turbo Free"}],[H.FIREWORKS]:[{id:"accounts/fireworks/models/llama4-scout-instruct-basic",name:"Llama4 Scout Instruct Basic"},{id:"accounts/fireworks/models/qwen3-vl-235b-a22b-thinking",name:"Qwen3 Vl 235B A22B Thinking"},{id:"accounts/fireworks/models/deepseek-v3p2",name:"Deepseek V3P2"},{id:"accounts/fireworks/models/qwen3-vl-30b-a3b-thinking",name:"Qwen3 Vl 30B A3B Thinking"},{id:"accounts/fireworks/models/qwen3-8b",name:"Qwen3 8B"},{id:"accounts/fireworks/models/qwen3-vl-30b-a3b-instruct",name:"Qwen3 Vl 30B A3B Instruct"},{id:"accounts/fireworks/models/qwen2p5-vl-32b-instruct",name:"Qwen2P5 Vl 32B Instruct"},{id:"accounts/fireworks/models/llama4-maverick-instruct-basic",name:"Llama4 Maverick Instruct Basic"},{id:"accounts/fireworks/models/qwen3-235b-a22b-thinking-2507",name:"Qwen3 235B A22B Thinking 2507"},{id:"accounts/fireworks/models/qwen3-coder-480b-a35b-instruct",name:"Qwen3 Coder 480B A35B Instruct"}],[H.DEEPINFRA]:[{id:"meta-llama/Llama-3.2-11B-Vision-Instruct",name:"Llama 3.2 11B Vision Instruct"},{id:"Qwen/Qwen3-32B",name:"Qwen3 32B"},{id:"NousResearch/Hermes-3-Llama-3.1-70B",name:"Hermes 3 Llama 3.1 70B"},{id:"Qwen/Qwen2.5-72B-Instruct",name:"Qwen2.5 72B Instruct"},{id:"deepseek-ai/DeepSeek-V3-0324",name:"Deepseek V3 0324"},{id:"Qwen/Qwen3-VL-235B-A22B-Instruct",name:"Qwen3 Vl 235B A22B Instruct"},{id:"meta-llama/Llama-3.2-3B-Instruct",name:"Llama 3.2 3B Instruct"},{id:"Qwen/Qwen2.5-VL-32B-Instruct",name:"Qwen2.5 Vl 32B Instruct"},{id:"meta-llama/Meta-Llama-3.1-8B-Instruct",name:"Meta Llama 3.1 8B Instruct"},{id:"Qwen/Qwen3-Coder-480B-A35B-Instruct-Turbo",name:"Qwen3 Coder 480B A35B Instruct Turbo"}],[H.OPENROUTER]:[{id:"google/gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"mistralai/mistral-small-creative",name:"Mistral Small Creative"},{id:"openai/gpt-5.2-chat",name:"Gpt 5.2 Chat"},{id:"openai/gpt-5.2-pro",name:"Gpt 5.2 Pro"},{id:"openai/gpt-5.2",name:"Gpt 5.2"},{id:"mistralai/devstral-2512",name:"Devstral 2512"},{id:"openai/gpt-5.1-codex-max",name:"Gpt 5.1 Codex Max"},{id:"mistralai/ministral-14b-2512",name:"Ministral 14B 2512"},{id:"mistralai/ministral-8b-2512",name:"Ministral 8B 2512"},{id:"mistralai/ministral-3b-2512",name:"Ministral 3B 2512"},{id:"mistralai/mistral-large-2512",name:"Mistral Large 2512"},{id:"deepseek/deepseek-v3.2-speciale",name:"Deepseek V3.2 Speciale"}],[H.PERPLEXITY]:[{id:"codellama-34b-instruct",name:"Codellama 34B Instruct"},{id:"codellama-70b-instruct",name:"Codellama 70B Instruct"},{id:"llama-2-70b-chat",name:"Llama 2 70B Chat"},{id:"llama-3.1-70b-instruct",name:"Llama 3.1 70B Instruct"},{id:"llama-3.1-8b-instruct",name:"Llama 3.1 8B Instruct"},{id:"llama-3.1-sonar-huge-128k-online",name:"Llama 3.1 Sonar Huge 128K Online"},{id:"llama-3.1-sonar-large-128k-chat",name:"Llama 3.1 Sonar Large 128K Chat"},{id:"llama-3.1-sonar-large-128k-online",name:"Llama 3.1 Sonar Large 128K Online"},{id:"llama-3.1-sonar-small-128k-chat",name:"Llama 3.1 Sonar Small 128K Chat"}],[H.COHERE]:[{id:"command-a-vision-07-2025",name:"Command A Vision 07 2025"},{id:"command-a-reasoning-08-2025",name:"Command A Reasoning 08 2025"},{id:"command-r-08-2024",name:"Command R 08 2024"},{id:"command-r7b-arabic-02-2025",name:"Command R7B Arabic 02 2025"},{id:"command-r7b-12-2024",name:"Command R7B 12 2024"}],[H.MOONSHOT]:[{id:"moonshot-v1-128k",name:"Moonshot 128K"},{id:"moonshot-v1-32k",name:"Moonshot 32K"},{id:"moonshot-v1-8k",name:"Moonshot 8K"},{id:"kimi-k2-0711-chat",name:"Kimi K2 Chat"},{id:"moonshot-v1-auto",name:"Moonshot Auto"}],[H.QWEN]:[{id:"qwen-flash",name:"Qwen Flash"},{id:"qwen3-vl-plus-2025-12-19",name:"Qwen3 Vl Plus 2025 12 19"},{id:"qwen3-tts-vd-realtime-2025-12-16",name:"Qwen3 Tts Vd Realtime 2025 12 16"},{id:"qwen-image-edit-plus-2025-12-15",name:"Qwen Image Edit Plus 2025 12 15"},{id:"qwen3-omni-flash-2025-12-01",name:"Qwen3 Omni Flash 2025 12 01"},{id:"qwen3-omni-flash-realtime-2025-12-01",name:"Qwen3 Omni Flash Realtime 2025 12 01"},{id:"qwen3-livetranslate-flash-2025-12-01",name:"Qwen3 Livetranslate Flash 2025 12 01"},{id:"qwen3-livetranslate-flash",name:"Qwen3 Livetranslate Flash"},{id:"qwen-plus-2025-12-01",name:"Qwen Plus 2025 12 01"},{id:"qwen3-tts-vc-realtime-2025-11-27",name:"Qwen3 Tts Vc Realtime 2025 11 27"}],[H.ZHIPU]:[{id:"glm-4.5",name:"Glm 4.5"},{id:"glm-4.5-air",name:"Glm 4.5 Air"},{id:"glm-4.6",name:"Glm 4.6"},{id:"glm-4.7",name:"Glm 4.7"}],[H.SILICONFLOW]:[{id:"deepseek-ai/DeepSeek-V3.2",name:"Deepseek V3.2"},{id:"deepseek-ai/DeepSeek-V3.1-Terminus",name:"Deepseek V3.1 Terminus"},{id:"deepseek-ai/DeepSeek-R1",name:"Deepseek R1"},{id:"deepseek-ai/DeepSeek-V3",name:"Deepseek V3"},{id:"zai-org/GLM-4.6V",name:"Glm 4.6V"},{id:"zai-org/GLM-4.6",name:"Glm 4.6"},{id:"Pro/zai-org/GLM-4.7",name:"Glm 4.7"},{id:"Qwen/Qwen3-VL-32B-Instruct",name:"Qwen3 Vl 32B Instruct"}],[H.OLLAMA]:[{id:"llama3.3",name:"Llama 3.3"},{id:"llama3.2",name:"Llama 3.2"},{id:"qwq",name:"QwQ (推理)"},{id:"qwen3:32b",name:"Qwen3 32B"},{id:"deepseek-r1:32b",name:"DeepSeek R1 32B"},{id:"deepseek-coder-v2",name:"DeepSeek Coder V2"},{id:"gemma3:27b",name:"Gemma 3 27B"},{id:"mistral:7b",name:"Mistral 7B"},{id:"phi4",name:"Phi 4"},{id:"codellama",name:"Code Llama"}],[H.DOUBAO]:[{id:"doubao-seed-1-8-251215",name:"Doubao 1.8"},{id:"doubao-seed-1-6-251015",name:"Doubao 1.6"},{id:"doubao-seed-1-6-lite-251015",name:"Doubao 1.6 Lite"},{id:"doubao-seed-1-6-flash-250828",name:"Doubao 1.6 Flash"},{id:"doubao-seed-1-6-thinking-250615",name:"Doubao 1.6 Thinking"}],[H.MINIMAX]:[{id:"MiniMax-M2.1",name:"MiniMax M2.1"},{id:"MiniMax-M2.1-lightning",name:"MiniMax M2.1 Lightning"},{id:"MiniMax-M2",name:"MiniMax M2"}]};function f0(p){return me[p]||[]}function br(p){return/^o\d/.test(p)||/reasoner|thinking|o1|o3|o4/i.test(p)}function xe(p){const r=new Set,t=p.input_modalities||[];if(t.length>0)return t.some(u=>/text/i.test(u))&&r.add("text"),t.some(u=>/image|vision/i.test(u))&&r.add("vision"),t.some(u=>/audio/i.test(u))&&r.add("audio"),t.some(u=>/video/i.test(u))&&r.add("video"),r.size===0&&r.add("text"),Array.from(r);const e=p.capabilities;if(e&&((e.vision||e.image)&&(r.add("vision"),r.add("text")),e.audio&&r.add("audio"),e.video&&r.add("video"),e.embeddings&&r.add("embedding"),r.size>0))return Array.from(r);const o=(p.id||"").toLowerCase(),c=(p.name||"").toLowerCase(),y=`${o} ${c}`;return r.add("text"),/vision|image|visual|multimodal|vl|pixtral|llava|bakllava/.test(y)&&r.add("vision"),/audio|speech|whisper|tts|stt/.test(y)&&r.add("audio"),/video/.test(y)&&r.add("video"),/embedding|embed/.test(y)&&r.add("embedding"),/reasoner|reasoning|thinking|qwq/.test(y)&&r.add("reasoning"),Array.from(r)}const _r=p=>Array.isArray(p==null?void 0:p.data)?p.data.filter(r=>r.id).map(r=>{const t=r.name||r.display_name||(r.id.split("/").pop()??"").replace(/[-_]/g," ").replace(/\b\w/g,e=>e.toUpperCase());return{id:r.id,name:t,created:r.created||0,contextLength:r.context_length||r.max_context||void 0,capabilities:xe(r)}}).sort((r,t)=>{const e=(t.created||0)-(r.created||0);return e!==0?e:(t.id||"").localeCompare(r.id||"")}):[],Ae={format:"openai",getModelsEndpoint:p=>`${p}/models`,getChatEndpoint:p=>`${p}/chat/completions`,buildHeaders:(p,r)=>{const t={"Content-Type":"application/json",Authorization:`Bearer ${p}`};if(!!r&&/openrouter\.ai/i.test(r)&&typeof window<"u"&&window.location){t["HTTP-Referer"]=window.location.origin;const o=document.title?document.title.replace(/[^\x20-\x7E]/g,"").slice(0,80):"AI Selector";t["X-Title"]=o||"AI Selector"}return t},buildChatPayload:(p,r,t)=>{const e={model:p,messages:r};return t&&(e[br(p)?"max_completion_tokens":"max_tokens"]=t),e},parseChatResponse:p=>{var r,t,e;return((e=(t=(r=p.choices)==null?void 0:r[0])==null?void 0:t.message)==null?void 0:e.content)||""},parseStreamChunk:p=>{var r,t,e;return((e=(t=(r=p.choices)==null?void 0:r[0])==null?void 0:t.delta)==null?void 0:e.content)||""}},Ee={openai:Ae,anthropic:{format:"anthropic",getModelsEndpoint:p=>`${p}/models`,getChatEndpoint:p=>`${p}/messages`,buildHeaders:p=>({"Content-Type":"application/json","x-api-key":p,"anthropic-version":"2023-06-01","anthropic-dangerous-direct-browser-access":"true"}),buildChatPayload:(p,r,t)=>({model:p,messages:r,max_tokens:t||1024}),parseChatResponse:p=>{var r,t;return((t=(r=p.content)==null?void 0:r[0])==null?void 0:t.text)||""},parseStreamChunk:p=>{var r;return p.type==="content_block_delta"&&((r=p.delta)==null?void 0:r.text)||""},parseModelsResponse:p=>Array.isArray(p.data)?p.data.filter(r=>r.id).map(r=>({id:r.id,name:r.display_name||r.id,created:r.created_at?new Date(r.created_at).getTime()/1e3:0,capabilities:xe(r)})).sort((r,t)=>(t.created||0)-(r.created||0)):[]},gemini:{format:"gemini",getModelsEndpoint:(p,r)=>`${p}/models?key=${r}`,getChatEndpoint:(p,r,t)=>`${p}/models/${t}:generateContent?key=${r}`,buildHeaders:()=>({"Content-Type":"application/json"}),buildChatPayload:(p,r,t)=>{const o={contents:r.map(c=>({role:c.role==="assistant"?"model":"user",parts:[{text:c.content}]}))};return t&&(o.generationConfig={maxOutputTokens:t}),o},parseChatResponse:p=>{var r,t,e,o,c;return((c=(o=(e=(t=(r=p.candidates)==null?void 0:r[0])==null?void 0:t.content)==null?void 0:e.parts)==null?void 0:o[0])==null?void 0:c.text)||""},parseStreamChunk:p=>{var r,t,e,o,c;return((c=(o=(e=(t=(r=p.candidates)==null?void 0:r[0])==null?void 0:t.content)==null?void 0:e.parts)==null?void 0:o[0])==null?void 0:c.text)||""},parseModelsResponse:p=>Array.isArray(p.models)?p.models.filter(r=>{var t;return(t=r.supportedGenerationMethods)==null?void 0:t.includes("generateContent")}).map(r=>({id:r.name.replace("models/",""),name:r.displayName||r.name.replace("models/",""),created:r.created||0,capabilities:xe(r)})).sort((r,t)=>(t.id||"").localeCompare(r.id||"")):[]},cohere:{format:"cohere",getModelsEndpoint:p=>`${p}/models`,getChatEndpoint:p=>`${p}/chat`,buildHeaders:p=>({"Content-Type":"application/json",Authorization:`Bearer ${p}`}),buildChatPayload:(p,r,t)=>{const e={model:p,messages:r};return t&&(e.max_tokens=t),e},parseChatResponse:p=>{var r,t,e;return((e=(t=(r=p.message)==null?void 0:r.content)==null?void 0:t[0])==null?void 0:e.text)||""},parseStreamChunk:p=>{var r,t,e,o;return p.type==="content-delta"&&((o=(e=(t=(r=p.delta)==null?void 0:r.message)==null?void 0:t.content)==null?void 0:e[0])==null?void 0:o.text)||""}}};function u0(p){return Ee[p]||Ae}async function ce(p){var i;const{apiFormat:r,baseUrl:t,apiKey:e,model:o,messages:c,maxTokens:y}=p,u=u0(r),f=u.getChatEndpoint(t,e,o),a=u.buildHeaders(e,t),n=u.buildChatPayload(o,c,y),B=performance.now();try{const l=await fetch(f,{method:"POST",headers:a,body:JSON.stringify(n)}),d=Math.round(performance.now()-B);if(!l.ok)return{success:!1,message:((i=(await l.json().catch(()=>({}))).error)==null?void 0:i.message)||`HTTP ${l.status}: ${l.statusText}`,latencyMs:d};const C=await l.json();return{success:!0,content:u.parseChatResponse(C),latencyMs:d}}catch(l){return{success:!1,message:l instanceof Error?l.message:"网络错误"}}}async function Fe(p){var d;const{apiFormat:r,baseUrl:t,apiKey:e,model:o,messages:c,maxTokens:y,onDelta:u,signal:f}=p,a=u0(r);let n=a.getChatEndpoint(t,e,o);r==="gemini"&&(n=`${t}/models/${o}:streamGenerateContent?alt=sse&key=${encodeURIComponent(e)}`);const B=a.buildHeaders(e,t),i=a.buildChatPayload(o,c,y);i.stream=!0;const l=performance.now();try{const C=await fetch(n,{method:"POST",headers:B,body:JSON.stringify(i),signal:f});if(!C.ok||!C.body){const v=await C.text();let F=`HTTP ${C.status}`;try{const E=JSON.parse(v);F=((d=E.error)==null?void 0:d.message)||E.error||E.message||F}catch{v&&(F=v.slice(0,200))}return{success:!1,message:F,latencyMs:Math.round(performance.now()-l)}}const h=C.body.getReader(),A=new TextDecoder;let s="",x="";for(;;){const{done:v,value:F}=await h.read();if(v)break;s+=A.decode(F,{stream:!0});const E=s.split(`
2
+ `);s=E.pop()||"";for(const g of E){const b=g.trim();if(!b.startsWith("data:")&&!b.startsWith("event:")||b.startsWith("event:"))continue;const R=b.slice(5).trim();if(!(!R||R==="[DONE]"))try{const m=JSON.parse(R),D=a.parseStreamChunk?a.parseStreamChunk(m):"";D&&(x+=D,u(x))}catch{}}}return{success:!0,content:x,latencyMs:Math.round(performance.now()-l)}}catch(C){return C instanceof Error&&C.name==="AbortError"?{success:!1,message:"请求已取消",latencyMs:Math.round(performance.now()-l)}:{success:!1,message:C instanceof Error?C.message:"网络错误"}}}async function De(p){const r=await ce({apiFormat:p.apiFormat,baseUrl:p.baseUrl,apiKey:p.apiKey,model:p.model,messages:[{role:"user",content:"Hi"}]});return{success:r.success,latencyMs:r.latencyMs,message:r.success?void 0:r.message}}async function wr(p){const{provider:r,apiKey:t,model:e,baseUrl:o,proxyUrl:c}=p,y=o||r.baseUrl,u=Date.now();try{if(c){const h=await(await fetch(`${c}/test`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider_id:r.id,api_key:t,model:e||"",base_url:o||r.baseUrl,api_format:r.apiFormat})})).json();return{success:h.success,latencyMs:h.latency_ms||Date.now()-u,message:h.message}}const f=u0(r.apiFormat),a=e||"";if(!a)return{success:!1,latencyMs:0,message:"请先选择模型 (Please select a model)"};const n=f.buildHeaders(t,y),B=f.buildChatPayload(a,[{role:"user",content:"Hi"}]),i=f.getChatEndpoint(y,t,a),l=await fetch(i,{method:"POST",headers:n,body:JSON.stringify(B)}),d=Date.now()-u;if(l.ok)return{success:!0,latencyMs:d,message:"连接成功"};{const C=await l.text();return{success:!1,latencyMs:d,message:`HTTP ${l.status}: ${C.slice(0,200)}`}}}catch(f){return{success:!1,latencyMs:Date.now()-u,message:f instanceof Error?f.message:String(f)}}}async function ge(p){var y,u;const{provider:r,apiKey:t,baseUrl:e,proxyUrl:o,fallbackToStatic:c=!0}=p;if(o)try{const a=await(await fetch(`${o}/models`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider_id:r.id,api_key:t||void 0,base_url:e||r.baseUrl})})).json();if(a.success&&((y=a.models)==null?void 0:y.length)>0)return a.models}catch(f){if(console.warn("Failed to fetch models via proxy:",f),!c)throw f}if(!o&&r.supportsModelsApi)try{const f=u0(r.apiFormat);if(f.getModelsEndpoint){const a=f.getModelsEndpoint(e||r.baseUrl,t||""),n=f.buildHeaders(t||"",e||r.baseUrl),B=await fetch(a,{method:"GET",headers:n});if(B.ok){const i=await B.json();return(f.parseModelsResponse||_r)(i)}else{const l=((u=(await B.json().catch(()=>({}))).error)==null?void 0:u.message)||`HTTP ${B.status}`;if(console.warn("Model fetch failed:",l),!c)throw new Error(l)}}}catch(f){if(console.warn("Failed to fetch models directly:",f),!c)throw f}if(!c&&r.supportsModelsApi)throw new Error("Failed to fetch models");return f0(r.id)}var le=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function kr(p){return p&&p.__esModule&&Object.prototype.hasOwnProperty.call(p,"default")?p.default:p}function Sr(p){if(Object.prototype.hasOwnProperty.call(p,"__esModule"))return p;var r=p.default;if(typeof r=="function"){var t=function e(){return this instanceof e?Reflect.construct(r,arguments,this.constructor):r.apply(this,arguments)};t.prototype=r.prototype}else t={};return Object.defineProperty(t,"__esModule",{value:!0}),Object.keys(p).forEach(function(e){var o=Object.getOwnPropertyDescriptor(p,e);Object.defineProperty(t,e,o.get?o:{enumerable:!0,get:function(){return p[e]}})}),t}var E0={exports:{}};function Pr(p){throw new Error('Could not dynamically require "'+p+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var F0={exports:{}};const Ir=Sr(Object.freeze(Object.defineProperty({__proto__:null,default:{}},Symbol.toStringTag,{value:"Module"})));var Rr=F0.exports,ye;function L(){return ye||(ye=1,(function(p,r){(function(t,e){p.exports=e()})(Rr,function(){var t=t||(function(e,o){var c;if(typeof window<"u"&&window.crypto&&(c=window.crypto),typeof self<"u"&&self.crypto&&(c=self.crypto),typeof globalThis<"u"&&globalThis.crypto&&(c=globalThis.crypto),!c&&typeof window<"u"&&window.msCrypto&&(c=window.msCrypto),!c&&typeof le<"u"&&le.crypto&&(c=le.crypto),!c&&typeof Pr=="function")try{c=Ir}catch{}var y=function(){if(c){if(typeof c.getRandomValues=="function")try{return c.getRandomValues(new Uint32Array(1))[0]}catch{}if(typeof c.randomBytes=="function")try{return c.randomBytes(4).readInt32LE()}catch{}}throw new Error("Native crypto module could not be used to get secure random number.")},u=Object.create||(function(){function s(){}return function(x){var v;return s.prototype=x,v=new s,s.prototype=null,v}})(),f={},a=f.lib={},n=a.Base=(function(){return{extend:function(s){var x=u(this);return s&&x.mixIn(s),(!x.hasOwnProperty("init")||this.init===x.init)&&(x.init=function(){x.$super.init.apply(this,arguments)}),x.init.prototype=x,x.$super=this,x},create:function(){var s=this.extend();return s.init.apply(s,arguments),s},init:function(){},mixIn:function(s){for(var x in s)s.hasOwnProperty(x)&&(this[x]=s[x]);s.hasOwnProperty("toString")&&(this.toString=s.toString)},clone:function(){return this.init.prototype.extend(this)}}})(),B=a.WordArray=n.extend({init:function(s,x){s=this.words=s||[],x!=o?this.sigBytes=x:this.sigBytes=s.length*4},toString:function(s){return(s||l).stringify(this)},concat:function(s){var x=this.words,v=s.words,F=this.sigBytes,E=s.sigBytes;if(this.clamp(),F%4)for(var g=0;g<E;g++){var b=v[g>>>2]>>>24-g%4*8&255;x[F+g>>>2]|=b<<24-(F+g)%4*8}else for(var R=0;R<E;R+=4)x[F+R>>>2]=v[R>>>2];return this.sigBytes+=E,this},clamp:function(){var s=this.words,x=this.sigBytes;s[x>>>2]&=4294967295<<32-x%4*8,s.length=e.ceil(x/4)},clone:function(){var s=n.clone.call(this);return s.words=this.words.slice(0),s},random:function(s){for(var x=[],v=0;v<s;v+=4)x.push(y());return new B.init(x,s)}}),i=f.enc={},l=i.Hex={stringify:function(s){for(var x=s.words,v=s.sigBytes,F=[],E=0;E<v;E++){var g=x[E>>>2]>>>24-E%4*8&255;F.push((g>>>4).toString(16)),F.push((g&15).toString(16))}return F.join("")},parse:function(s){for(var x=s.length,v=[],F=0;F<x;F+=2)v[F>>>3]|=parseInt(s.substr(F,2),16)<<24-F%8*4;return new B.init(v,x/2)}},d=i.Latin1={stringify:function(s){for(var x=s.words,v=s.sigBytes,F=[],E=0;E<v;E++){var g=x[E>>>2]>>>24-E%4*8&255;F.push(String.fromCharCode(g))}return F.join("")},parse:function(s){for(var x=s.length,v=[],F=0;F<x;F++)v[F>>>2]|=(s.charCodeAt(F)&255)<<24-F%4*8;return new B.init(v,x)}},C=i.Utf8={stringify:function(s){try{return decodeURIComponent(escape(d.stringify(s)))}catch{throw new Error("Malformed UTF-8 data")}},parse:function(s){return d.parse(unescape(encodeURIComponent(s)))}},h=a.BufferedBlockAlgorithm=n.extend({reset:function(){this._data=new B.init,this._nDataBytes=0},_append:function(s){typeof s=="string"&&(s=C.parse(s)),this._data.concat(s),this._nDataBytes+=s.sigBytes},_process:function(s){var x,v=this._data,F=v.words,E=v.sigBytes,g=this.blockSize,b=g*4,R=E/b;s?R=e.ceil(R):R=e.max((R|0)-this._minBufferSize,0);var m=R*g,D=e.min(m*4,E);if(m){for(var w=0;w<m;w+=g)this._doProcessBlock(F,w);x=F.splice(0,m),v.sigBytes-=D}return new B.init(x,D)},clone:function(){var s=n.clone.call(this);return s._data=this._data.clone(),s},_minBufferSize:0});a.Hasher=h.extend({cfg:n.extend(),init:function(s){this.cfg=this.cfg.extend(s),this.reset()},reset:function(){h.reset.call(this),this._doReset()},update:function(s){return this._append(s),this._process(),this},finalize:function(s){s&&this._append(s);var x=this._doFinalize();return x},blockSize:16,_createHelper:function(s){return function(x,v){return new s.init(v).finalize(x)}},_createHmacHelper:function(s){return function(x,v){return new A.HMAC.init(s,v).finalize(x)}}});var A=f.algo={};return f})(Math);return t})})(F0)),F0.exports}var D0={exports:{}},Hr=D0.exports,be;function g0(){return be||(be=1,(function(p,r){(function(t,e){p.exports=e(L())})(Hr,function(t){return(function(e){var o=t,c=o.lib,y=c.Base,u=c.WordArray,f=o.x64={};f.Word=y.extend({init:function(a,n){this.high=a,this.low=n}}),f.WordArray=y.extend({init:function(a,n){a=this.words=a||[],n!=e?this.sigBytes=n:this.sigBytes=a.length*8},toX32:function(){for(var a=this.words,n=a.length,B=[],i=0;i<n;i++){var l=a[i];B.push(l.high),B.push(l.low)}return u.create(B,this.sigBytes)},clone:function(){for(var a=y.clone.call(this),n=a.words=this.words.slice(0),B=n.length,i=0;i<B;i++)n[i]=n[i].clone();return a}})})(),t})})(D0)),D0.exports}var y0={exports:{}},Mr=y0.exports,_e;function Or(){return _e||(_e=1,(function(p,r){(function(t,e){p.exports=e(L())})(Mr,function(t){return(function(){if(typeof ArrayBuffer=="function"){var e=t,o=e.lib,c=o.WordArray,y=c.init,u=c.init=function(f){if(f instanceof ArrayBuffer&&(f=new Uint8Array(f)),(f instanceof Int8Array||typeof Uint8ClampedArray<"u"&&f instanceof Uint8ClampedArray||f instanceof Int16Array||f instanceof Uint16Array||f instanceof Int32Array||f instanceof Uint32Array||f instanceof Float32Array||f instanceof Float64Array)&&(f=new Uint8Array(f.buffer,f.byteOffset,f.byteLength)),f instanceof Uint8Array){for(var a=f.byteLength,n=[],B=0;B<a;B++)n[B>>>2]|=f[B]<<24-B%4*8;y.call(this,n,a)}else y.apply(this,arguments)};u.prototype=c}})(),t.lib.WordArray})})(y0)),y0.exports}var b0={exports:{}},Tr=b0.exports,we;function $r(){return we||(we=1,(function(p,r){(function(t,e){p.exports=e(L())})(Tr,function(t){return(function(){var e=t,o=e.lib,c=o.WordArray,y=e.enc;y.Utf16=y.Utf16BE={stringify:function(f){for(var a=f.words,n=f.sigBytes,B=[],i=0;i<n;i+=2){var l=a[i>>>2]>>>16-i%4*8&65535;B.push(String.fromCharCode(l))}return B.join("")},parse:function(f){for(var a=f.length,n=[],B=0;B<a;B++)n[B>>>1]|=f.charCodeAt(B)<<16-B%2*16;return c.create(n,a*2)}},y.Utf16LE={stringify:function(f){for(var a=f.words,n=f.sigBytes,B=[],i=0;i<n;i+=2){var l=u(a[i>>>2]>>>16-i%4*8&65535);B.push(String.fromCharCode(l))}return B.join("")},parse:function(f){for(var a=f.length,n=[],B=0;B<a;B++)n[B>>>1]|=u(f.charCodeAt(B)<<16-B%2*16);return c.create(n,a*2)}};function u(f){return f<<8&4278255360|f>>>8&16711935}})(),t.enc.Utf16})})(b0)),b0.exports}var _0={exports:{}},Lr=_0.exports,ke;function i0(){return ke||(ke=1,(function(p,r){(function(t,e){p.exports=e(L())})(Lr,function(t){return(function(){var e=t,o=e.lib,c=o.WordArray,y=e.enc;y.Base64={stringify:function(f){var a=f.words,n=f.sigBytes,B=this._map;f.clamp();for(var i=[],l=0;l<n;l+=3)for(var d=a[l>>>2]>>>24-l%4*8&255,C=a[l+1>>>2]>>>24-(l+1)%4*8&255,h=a[l+2>>>2]>>>24-(l+2)%4*8&255,A=d<<16|C<<8|h,s=0;s<4&&l+s*.75<n;s++)i.push(B.charAt(A>>>6*(3-s)&63));var x=B.charAt(64);if(x)for(;i.length%4;)i.push(x);return i.join("")},parse:function(f){var a=f.length,n=this._map,B=this._reverseMap;if(!B){B=this._reverseMap=[];for(var i=0;i<n.length;i++)B[n.charCodeAt(i)]=i}var l=n.charAt(64);if(l){var d=f.indexOf(l);d!==-1&&(a=d)}return u(f,a,B)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="};function u(f,a,n){for(var B=[],i=0,l=0;l<a;l++)if(l%4){var d=n[f.charCodeAt(l-1)]<<l%4*2,C=n[f.charCodeAt(l)]>>>6-l%4*2,h=d|C;B[i>>>2]|=h<<24-i%4*8,i++}return c.create(B,i)}})(),t.enc.Base64})})(_0)),_0.exports}var w0={exports:{}},Kr=w0.exports,Se;function Ur(){return Se||(Se=1,(function(p,r){(function(t,e){p.exports=e(L())})(Kr,function(t){return(function(){var e=t,o=e.lib,c=o.WordArray,y=e.enc;y.Base64url={stringify:function(f,a){a===void 0&&(a=!0);var n=f.words,B=f.sigBytes,i=a?this._safe_map:this._map;f.clamp();for(var l=[],d=0;d<B;d+=3)for(var C=n[d>>>2]>>>24-d%4*8&255,h=n[d+1>>>2]>>>24-(d+1)%4*8&255,A=n[d+2>>>2]>>>24-(d+2)%4*8&255,s=C<<16|h<<8|A,x=0;x<4&&d+x*.75<B;x++)l.push(i.charAt(s>>>6*(3-x)&63));var v=i.charAt(64);if(v)for(;l.length%4;)l.push(v);return l.join("")},parse:function(f,a){a===void 0&&(a=!0);var n=f.length,B=a?this._safe_map:this._map,i=this._reverseMap;if(!i){i=this._reverseMap=[];for(var l=0;l<B.length;l++)i[B.charCodeAt(l)]=l}var d=B.charAt(64);if(d){var C=f.indexOf(d);C!==-1&&(n=C)}return u(f,n,i)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",_safe_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"};function u(f,a,n){for(var B=[],i=0,l=0;l<a;l++)if(l%4){var d=n[f.charCodeAt(l-1)]<<l%4*2,C=n[f.charCodeAt(l)]>>>6-l%4*2,h=d|C;B[i>>>2]|=h<<24-i%4*8,i++}return c.create(B,i)}})(),t.enc.Base64url})})(w0)),w0.exports}var k0={exports:{}},qr=k0.exports,Pe;function o0(){return Pe||(Pe=1,(function(p,r){(function(t,e){p.exports=e(L())})(qr,function(t){return(function(e){var o=t,c=o.lib,y=c.WordArray,u=c.Hasher,f=o.algo,a=[];(function(){for(var C=0;C<64;C++)a[C]=e.abs(e.sin(C+1))*4294967296|0})();var n=f.MD5=u.extend({_doReset:function(){this._hash=new y.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(C,h){for(var A=0;A<16;A++){var s=h+A,x=C[s];C[s]=(x<<8|x>>>24)&16711935|(x<<24|x>>>8)&4278255360}var v=this._hash.words,F=C[h+0],E=C[h+1],g=C[h+2],b=C[h+3],R=C[h+4],m=C[h+5],D=C[h+6],w=C[h+7],k=C[h+8],M=C[h+9],O=C[h+10],T=C[h+11],W=C[h+12],U=C[h+13],z=C[h+14],q=C[h+15],_=v[0],P=v[1],I=v[2],S=v[3];_=B(_,P,I,S,F,7,a[0]),S=B(S,_,P,I,E,12,a[1]),I=B(I,S,_,P,g,17,a[2]),P=B(P,I,S,_,b,22,a[3]),_=B(_,P,I,S,R,7,a[4]),S=B(S,_,P,I,m,12,a[5]),I=B(I,S,_,P,D,17,a[6]),P=B(P,I,S,_,w,22,a[7]),_=B(_,P,I,S,k,7,a[8]),S=B(S,_,P,I,M,12,a[9]),I=B(I,S,_,P,O,17,a[10]),P=B(P,I,S,_,T,22,a[11]),_=B(_,P,I,S,W,7,a[12]),S=B(S,_,P,I,U,12,a[13]),I=B(I,S,_,P,z,17,a[14]),P=B(P,I,S,_,q,22,a[15]),_=i(_,P,I,S,E,5,a[16]),S=i(S,_,P,I,D,9,a[17]),I=i(I,S,_,P,T,14,a[18]),P=i(P,I,S,_,F,20,a[19]),_=i(_,P,I,S,m,5,a[20]),S=i(S,_,P,I,O,9,a[21]),I=i(I,S,_,P,q,14,a[22]),P=i(P,I,S,_,R,20,a[23]),_=i(_,P,I,S,M,5,a[24]),S=i(S,_,P,I,z,9,a[25]),I=i(I,S,_,P,b,14,a[26]),P=i(P,I,S,_,k,20,a[27]),_=i(_,P,I,S,U,5,a[28]),S=i(S,_,P,I,g,9,a[29]),I=i(I,S,_,P,w,14,a[30]),P=i(P,I,S,_,W,20,a[31]),_=l(_,P,I,S,m,4,a[32]),S=l(S,_,P,I,k,11,a[33]),I=l(I,S,_,P,T,16,a[34]),P=l(P,I,S,_,z,23,a[35]),_=l(_,P,I,S,E,4,a[36]),S=l(S,_,P,I,R,11,a[37]),I=l(I,S,_,P,w,16,a[38]),P=l(P,I,S,_,O,23,a[39]),_=l(_,P,I,S,U,4,a[40]),S=l(S,_,P,I,F,11,a[41]),I=l(I,S,_,P,b,16,a[42]),P=l(P,I,S,_,D,23,a[43]),_=l(_,P,I,S,M,4,a[44]),S=l(S,_,P,I,W,11,a[45]),I=l(I,S,_,P,q,16,a[46]),P=l(P,I,S,_,g,23,a[47]),_=d(_,P,I,S,F,6,a[48]),S=d(S,_,P,I,w,10,a[49]),I=d(I,S,_,P,z,15,a[50]),P=d(P,I,S,_,m,21,a[51]),_=d(_,P,I,S,W,6,a[52]),S=d(S,_,P,I,b,10,a[53]),I=d(I,S,_,P,O,15,a[54]),P=d(P,I,S,_,E,21,a[55]),_=d(_,P,I,S,k,6,a[56]),S=d(S,_,P,I,q,10,a[57]),I=d(I,S,_,P,D,15,a[58]),P=d(P,I,S,_,U,21,a[59]),_=d(_,P,I,S,R,6,a[60]),S=d(S,_,P,I,T,10,a[61]),I=d(I,S,_,P,g,15,a[62]),P=d(P,I,S,_,M,21,a[63]),v[0]=v[0]+_|0,v[1]=v[1]+P|0,v[2]=v[2]+I|0,v[3]=v[3]+S|0},_doFinalize:function(){var C=this._data,h=C.words,A=this._nDataBytes*8,s=C.sigBytes*8;h[s>>>5]|=128<<24-s%32;var x=e.floor(A/4294967296),v=A;h[(s+64>>>9<<4)+15]=(x<<8|x>>>24)&16711935|(x<<24|x>>>8)&4278255360,h[(s+64>>>9<<4)+14]=(v<<8|v>>>24)&16711935|(v<<24|v>>>8)&4278255360,C.sigBytes=(h.length+1)*4,this._process();for(var F=this._hash,E=F.words,g=0;g<4;g++){var b=E[g];E[g]=(b<<8|b>>>24)&16711935|(b<<24|b>>>8)&4278255360}return F},clone:function(){var C=u.clone.call(this);return C._hash=this._hash.clone(),C}});function B(C,h,A,s,x,v,F){var E=C+(h&A|~h&s)+x+F;return(E<<v|E>>>32-v)+h}function i(C,h,A,s,x,v,F){var E=C+(h&s|A&~s)+x+F;return(E<<v|E>>>32-v)+h}function l(C,h,A,s,x,v,F){var E=C+(h^A^s)+x+F;return(E<<v|E>>>32-v)+h}function d(C,h,A,s,x,v,F){var E=C+(A^(h|~s))+x+F;return(E<<v|E>>>32-v)+h}o.MD5=u._createHelper(n),o.HmacMD5=u._createHmacHelper(n)})(Math),t.MD5})})(k0)),k0.exports}var S0={exports:{}},zr=S0.exports,Ie;function Re(){return Ie||(Ie=1,(function(p,r){(function(t,e){p.exports=e(L())})(zr,function(t){return(function(){var e=t,o=e.lib,c=o.WordArray,y=o.Hasher,u=e.algo,f=[],a=u.SHA1=y.extend({_doReset:function(){this._hash=new c.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(n,B){for(var i=this._hash.words,l=i[0],d=i[1],C=i[2],h=i[3],A=i[4],s=0;s<80;s++){if(s<16)f[s]=n[B+s]|0;else{var x=f[s-3]^f[s-8]^f[s-14]^f[s-16];f[s]=x<<1|x>>>31}var v=(l<<5|l>>>27)+A+f[s];s<20?v+=(d&C|~d&h)+1518500249:s<40?v+=(d^C^h)+1859775393:s<60?v+=(d&C|d&h|C&h)-1894007588:v+=(d^C^h)-899497514,A=h,h=C,C=d<<30|d>>>2,d=l,l=v}i[0]=i[0]+l|0,i[1]=i[1]+d|0,i[2]=i[2]+C|0,i[3]=i[3]+h|0,i[4]=i[4]+A|0},_doFinalize:function(){var n=this._data,B=n.words,i=this._nDataBytes*8,l=n.sigBytes*8;return B[l>>>5]|=128<<24-l%32,B[(l+64>>>9<<4)+14]=Math.floor(i/4294967296),B[(l+64>>>9<<4)+15]=i,n.sigBytes=B.length*4,this._process(),this._hash},clone:function(){var n=y.clone.call(this);return n._hash=this._hash.clone(),n}});e.SHA1=y._createHelper(a),e.HmacSHA1=y._createHmacHelper(a)})(),t.SHA1})})(S0)),S0.exports}var P0={exports:{}},Nr=P0.exports,He;function de(){return He||(He=1,(function(p,r){(function(t,e){p.exports=e(L())})(Nr,function(t){return(function(e){var o=t,c=o.lib,y=c.WordArray,u=c.Hasher,f=o.algo,a=[],n=[];(function(){function l(A){for(var s=e.sqrt(A),x=2;x<=s;x++)if(!(A%x))return!1;return!0}function d(A){return(A-(A|0))*4294967296|0}for(var C=2,h=0;h<64;)l(C)&&(h<8&&(a[h]=d(e.pow(C,1/2))),n[h]=d(e.pow(C,1/3)),h++),C++})();var B=[],i=f.SHA256=u.extend({_doReset:function(){this._hash=new y.init(a.slice(0))},_doProcessBlock:function(l,d){for(var C=this._hash.words,h=C[0],A=C[1],s=C[2],x=C[3],v=C[4],F=C[5],E=C[6],g=C[7],b=0;b<64;b++){if(b<16)B[b]=l[d+b]|0;else{var R=B[b-15],m=(R<<25|R>>>7)^(R<<14|R>>>18)^R>>>3,D=B[b-2],w=(D<<15|D>>>17)^(D<<13|D>>>19)^D>>>10;B[b]=m+B[b-7]+w+B[b-16]}var k=v&F^~v&E,M=h&A^h&s^A&s,O=(h<<30|h>>>2)^(h<<19|h>>>13)^(h<<10|h>>>22),T=(v<<26|v>>>6)^(v<<21|v>>>11)^(v<<7|v>>>25),W=g+T+k+n[b]+B[b],U=O+M;g=E,E=F,F=v,v=x+W|0,x=s,s=A,A=h,h=W+U|0}C[0]=C[0]+h|0,C[1]=C[1]+A|0,C[2]=C[2]+s|0,C[3]=C[3]+x|0,C[4]=C[4]+v|0,C[5]=C[5]+F|0,C[6]=C[6]+E|0,C[7]=C[7]+g|0},_doFinalize:function(){var l=this._data,d=l.words,C=this._nDataBytes*8,h=l.sigBytes*8;return d[h>>>5]|=128<<24-h%32,d[(h+64>>>9<<4)+14]=e.floor(C/4294967296),d[(h+64>>>9<<4)+15]=C,l.sigBytes=d.length*4,this._process(),this._hash},clone:function(){var l=u.clone.call(this);return l._hash=this._hash.clone(),l}});o.SHA256=u._createHelper(i),o.HmacSHA256=u._createHmacHelper(i)})(Math),t.SHA256})})(P0)),P0.exports}var I0={exports:{}},Wr=I0.exports,Me;function Gr(){return Me||(Me=1,(function(p,r){(function(t,e,o){p.exports=e(L(),de())})(Wr,function(t){return(function(){var e=t,o=e.lib,c=o.WordArray,y=e.algo,u=y.SHA256,f=y.SHA224=u.extend({_doReset:function(){this._hash=new c.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var a=u._doFinalize.call(this);return a.sigBytes-=4,a}});e.SHA224=u._createHelper(f),e.HmacSHA224=u._createHmacHelper(f)})(),t.SHA224})})(I0)),I0.exports}var R0={exports:{}},Qr=R0.exports,Oe;function Te(){return Oe||(Oe=1,(function(p,r){(function(t,e,o){p.exports=e(L(),g0())})(Qr,function(t){return(function(){var e=t,o=e.lib,c=o.Hasher,y=e.x64,u=y.Word,f=y.WordArray,a=e.algo;function n(){return u.create.apply(u,arguments)}var B=[n(1116352408,3609767458),n(1899447441,602891725),n(3049323471,3964484399),n(3921009573,2173295548),n(961987163,4081628472),n(1508970993,3053834265),n(2453635748,2937671579),n(2870763221,3664609560),n(3624381080,2734883394),n(310598401,1164996542),n(607225278,1323610764),n(1426881987,3590304994),n(1925078388,4068182383),n(2162078206,991336113),n(2614888103,633803317),n(3248222580,3479774868),n(3835390401,2666613458),n(4022224774,944711139),n(264347078,2341262773),n(604807628,2007800933),n(770255983,1495990901),n(1249150122,1856431235),n(1555081692,3175218132),n(1996064986,2198950837),n(2554220882,3999719339),n(2821834349,766784016),n(2952996808,2566594879),n(3210313671,3203337956),n(3336571891,1034457026),n(3584528711,2466948901),n(113926993,3758326383),n(338241895,168717936),n(666307205,1188179964),n(773529912,1546045734),n(1294757372,1522805485),n(1396182291,2643833823),n(1695183700,2343527390),n(1986661051,1014477480),n(2177026350,1206759142),n(2456956037,344077627),n(2730485921,1290863460),n(2820302411,3158454273),n(3259730800,3505952657),n(3345764771,106217008),n(3516065817,3606008344),n(3600352804,1432725776),n(4094571909,1467031594),n(275423344,851169720),n(430227734,3100823752),n(506948616,1363258195),n(659060556,3750685593),n(883997877,3785050280),n(958139571,3318307427),n(1322822218,3812723403),n(1537002063,2003034995),n(1747873779,3602036899),n(1955562222,1575990012),n(2024104815,1125592928),n(2227730452,2716904306),n(2361852424,442776044),n(2428436474,593698344),n(2756734187,3733110249),n(3204031479,2999351573),n(3329325298,3815920427),n(3391569614,3928383900),n(3515267271,566280711),n(3940187606,3454069534),n(4118630271,4000239992),n(116418474,1914138554),n(174292421,2731055270),n(289380356,3203993006),n(460393269,320620315),n(685471733,587496836),n(852142971,1086792851),n(1017036298,365543100),n(1126000580,2618297676),n(1288033470,3409855158),n(1501505948,4234509866),n(1607167915,987167468),n(1816402316,1246189591)],i=[];(function(){for(var d=0;d<80;d++)i[d]=n()})();var l=a.SHA512=c.extend({_doReset:function(){this._hash=new f.init([new u.init(1779033703,4089235720),new u.init(3144134277,2227873595),new u.init(1013904242,4271175723),new u.init(2773480762,1595750129),new u.init(1359893119,2917565137),new u.init(2600822924,725511199),new u.init(528734635,4215389547),new u.init(1541459225,327033209)])},_doProcessBlock:function(d,C){for(var h=this._hash.words,A=h[0],s=h[1],x=h[2],v=h[3],F=h[4],E=h[5],g=h[6],b=h[7],R=A.high,m=A.low,D=s.high,w=s.low,k=x.high,M=x.low,O=v.high,T=v.low,W=F.high,U=F.low,z=E.high,q=E.low,_=g.high,P=g.low,I=b.high,S=b.low,G=R,N=m,V=D,$=w,h0=k,s0=M,pe=O,v0=T,J=W,j=U,ne=z,p0=q,ie=_,C0=P,Ce=I,B0=S,e0=0;e0<80;e0++){var Y,a0,oe=i[e0];if(e0<16)a0=oe.high=d[C+e0*2]|0,Y=oe.low=d[C+e0*2+1]|0;else{var ur=i[e0-15],x0=ur.high,m0=ur.low,Xt=(x0>>>1|m0<<31)^(x0>>>8|m0<<24)^x0>>>7,hr=(m0>>>1|x0<<31)^(m0>>>8|x0<<24)^(m0>>>7|x0<<25),vr=i[e0-2],c0=vr.high,A0=vr.low,Vt=(c0>>>19|A0<<13)^(c0<<3|A0>>>29)^c0>>>6,pr=(A0>>>19|c0<<13)^(A0<<3|c0>>>29)^(A0>>>6|c0<<26),Cr=i[e0-7],jt=Cr.high,Zt=Cr.low,Br=i[e0-16],Yt=Br.high,mr=Br.low;Y=hr+Zt,a0=Xt+jt+(Y>>>0<hr>>>0?1:0),Y=Y+pr,a0=a0+Vt+(Y>>>0<pr>>>0?1:0),Y=Y+mr,a0=a0+Yt+(Y>>>0<mr>>>0?1:0),oe.high=a0,oe.low=Y}var Jt=J&ne^~J&ie,Ar=j&p0^~j&C0,ea=G&V^G&h0^V&h0,ra=N&$^N&s0^$&s0,ta=(G>>>28|N<<4)^(G<<30|N>>>2)^(G<<25|N>>>7),Er=(N>>>28|G<<4)^(N<<30|G>>>2)^(N<<25|G>>>7),aa=(J>>>14|j<<18)^(J>>>18|j<<14)^(J<<23|j>>>9),na=(j>>>14|J<<18)^(j>>>18|J<<14)^(j<<23|J>>>9),Fr=B[e0],ia=Fr.high,Dr=Fr.low,Z=B0+na,n0=Ce+aa+(Z>>>0<B0>>>0?1:0),Z=Z+Ar,n0=n0+Jt+(Z>>>0<Ar>>>0?1:0),Z=Z+Dr,n0=n0+ia+(Z>>>0<Dr>>>0?1:0),Z=Z+Y,n0=n0+a0+(Z>>>0<Y>>>0?1:0),gr=Er+ra,oa=ta+ea+(gr>>>0<Er>>>0?1:0);Ce=ie,B0=C0,ie=ne,C0=p0,ne=J,p0=j,j=v0+Z|0,J=pe+n0+(j>>>0<v0>>>0?1:0)|0,pe=h0,v0=s0,h0=V,s0=$,V=G,$=N,N=Z+gr|0,G=n0+oa+(N>>>0<Z>>>0?1:0)|0}m=A.low=m+N,A.high=R+G+(m>>>0<N>>>0?1:0),w=s.low=w+$,s.high=D+V+(w>>>0<$>>>0?1:0),M=x.low=M+s0,x.high=k+h0+(M>>>0<s0>>>0?1:0),T=v.low=T+v0,v.high=O+pe+(T>>>0<v0>>>0?1:0),U=F.low=U+j,F.high=W+J+(U>>>0<j>>>0?1:0),q=E.low=q+p0,E.high=z+ne+(q>>>0<p0>>>0?1:0),P=g.low=P+C0,g.high=_+ie+(P>>>0<C0>>>0?1:0),S=b.low=S+B0,b.high=I+Ce+(S>>>0<B0>>>0?1:0)},_doFinalize:function(){var d=this._data,C=d.words,h=this._nDataBytes*8,A=d.sigBytes*8;C[A>>>5]|=128<<24-A%32,C[(A+128>>>10<<5)+30]=Math.floor(h/4294967296),C[(A+128>>>10<<5)+31]=h,d.sigBytes=C.length*4,this._process();var s=this._hash.toX32();return s},clone:function(){var d=c.clone.call(this);return d._hash=this._hash.clone(),d},blockSize:1024/32});e.SHA512=c._createHelper(l),e.HmacSHA512=c._createHmacHelper(l)})(),t.SHA512})})(R0)),R0.exports}var H0={exports:{}},Xr=H0.exports,$e;function Vr(){return $e||($e=1,(function(p,r){(function(t,e,o){p.exports=e(L(),g0(),Te())})(Xr,function(t){return(function(){var e=t,o=e.x64,c=o.Word,y=o.WordArray,u=e.algo,f=u.SHA512,a=u.SHA384=f.extend({_doReset:function(){this._hash=new y.init([new c.init(3418070365,3238371032),new c.init(1654270250,914150663),new c.init(2438529370,812702999),new c.init(355462360,4144912697),new c.init(1731405415,4290775857),new c.init(2394180231,1750603025),new c.init(3675008525,1694076839),new c.init(1203062813,3204075428)])},_doFinalize:function(){var n=f._doFinalize.call(this);return n.sigBytes-=16,n}});e.SHA384=f._createHelper(a),e.HmacSHA384=f._createHmacHelper(a)})(),t.SHA384})})(H0)),H0.exports}var M0={exports:{}},jr=M0.exports,Le;function Zr(){return Le||(Le=1,(function(p,r){(function(t,e,o){p.exports=e(L(),g0())})(jr,function(t){return(function(e){var o=t,c=o.lib,y=c.WordArray,u=c.Hasher,f=o.x64,a=f.Word,n=o.algo,B=[],i=[],l=[];(function(){for(var h=1,A=0,s=0;s<24;s++){B[h+5*A]=(s+1)*(s+2)/2%64;var x=A%5,v=(2*h+3*A)%5;h=x,A=v}for(var h=0;h<5;h++)for(var A=0;A<5;A++)i[h+5*A]=A+(2*h+3*A)%5*5;for(var F=1,E=0;E<24;E++){for(var g=0,b=0,R=0;R<7;R++){if(F&1){var m=(1<<R)-1;m<32?b^=1<<m:g^=1<<m-32}F&128?F=F<<1^113:F<<=1}l[E]=a.create(g,b)}})();var d=[];(function(){for(var h=0;h<25;h++)d[h]=a.create()})();var C=n.SHA3=u.extend({cfg:u.cfg.extend({outputLength:512}),_doReset:function(){for(var h=this._state=[],A=0;A<25;A++)h[A]=new a.init;this.blockSize=(1600-2*this.cfg.outputLength)/32},_doProcessBlock:function(h,A){for(var s=this._state,x=this.blockSize/2,v=0;v<x;v++){var F=h[A+2*v],E=h[A+2*v+1];F=(F<<8|F>>>24)&16711935|(F<<24|F>>>8)&4278255360,E=(E<<8|E>>>24)&16711935|(E<<24|E>>>8)&4278255360;var g=s[v];g.high^=E,g.low^=F}for(var b=0;b<24;b++){for(var R=0;R<5;R++){for(var m=0,D=0,w=0;w<5;w++){var g=s[R+5*w];m^=g.high,D^=g.low}var k=d[R];k.high=m,k.low=D}for(var R=0;R<5;R++)for(var M=d[(R+4)%5],O=d[(R+1)%5],T=O.high,W=O.low,m=M.high^(T<<1|W>>>31),D=M.low^(W<<1|T>>>31),w=0;w<5;w++){var g=s[R+5*w];g.high^=m,g.low^=D}for(var U=1;U<25;U++){var m,D,g=s[U],z=g.high,q=g.low,_=B[U];_<32?(m=z<<_|q>>>32-_,D=q<<_|z>>>32-_):(m=q<<_-32|z>>>64-_,D=z<<_-32|q>>>64-_);var P=d[i[U]];P.high=m,P.low=D}var I=d[0],S=s[0];I.high=S.high,I.low=S.low;for(var R=0;R<5;R++)for(var w=0;w<5;w++){var U=R+5*w,g=s[U],G=d[U],N=d[(R+1)%5+5*w],V=d[(R+2)%5+5*w];g.high=G.high^~N.high&V.high,g.low=G.low^~N.low&V.low}var g=s[0],$=l[b];g.high^=$.high,g.low^=$.low}},_doFinalize:function(){var h=this._data,A=h.words;this._nDataBytes*8;var s=h.sigBytes*8,x=this.blockSize*32;A[s>>>5]|=1<<24-s%32,A[(e.ceil((s+1)/x)*x>>>5)-1]|=128,h.sigBytes=A.length*4,this._process();for(var v=this._state,F=this.cfg.outputLength/8,E=F/8,g=[],b=0;b<E;b++){var R=v[b],m=R.high,D=R.low;m=(m<<8|m>>>24)&16711935|(m<<24|m>>>8)&4278255360,D=(D<<8|D>>>24)&16711935|(D<<24|D>>>8)&4278255360,g.push(D),g.push(m)}return new y.init(g,F)},clone:function(){for(var h=u.clone.call(this),A=h._state=this._state.slice(0),s=0;s<25;s++)A[s]=A[s].clone();return h}});o.SHA3=u._createHelper(C),o.HmacSHA3=u._createHmacHelper(C)})(Math),t.SHA3})})(M0)),M0.exports}var O0={exports:{}},Yr=O0.exports,Ke;function Jr(){return Ke||(Ke=1,(function(p,r){(function(t,e){p.exports=e(L())})(Yr,function(t){/** @preserve
3
3
  (c) 2012 by Cédric Mesnil. All rights reserved.
4
4
 
5
5
  Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
@@ -8,9 +8,9 @@
8
8
  - Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
9
9
 
10
10
  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
11
- */return(function(e){var s=t,c=s.lib,y=c.WordArray,u=c.Hasher,f=s.algo,a=y.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),n=y.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),B=y.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),i=y.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),l=y.create([0,1518500249,1859775393,2400959708,2840853838]),d=y.create([1352829926,1548603684,1836072691,2053994217,0]),C=f.RIPEMD160=u.extend({_doReset:function(){this._hash=y.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(E,g){for(var b=0;b<16;b++){var R=g+b,m=E[R];E[R]=(m<<8|m>>>24)&16711935|(m<<24|m>>>8)&4278255360}var D=this._hash.words,w=l.words,k=d.words,M=a.words,O=n.words,T=B.words,W=i.words,U,z,q,_,P,I,S,G,N,V;I=U=D[0],S=z=D[1],G=q=D[2],N=_=D[3],V=P=D[4];for(var $,b=0;b<80;b+=1)$=U+E[g+M[b]]|0,b<16?$+=h(z,q,_)+w[0]:b<32?$+=A(z,q,_)+w[1]:b<48?$+=o(z,q,_)+w[2]:b<64?$+=x(z,q,_)+w[3]:$+=v(z,q,_)+w[4],$=$|0,$=F($,T[b]),$=$+P|0,U=P,P=_,_=F(q,10),q=z,z=$,$=I+E[g+O[b]]|0,b<16?$+=v(S,G,N)+k[0]:b<32?$+=x(S,G,N)+k[1]:b<48?$+=o(S,G,N)+k[2]:b<64?$+=A(S,G,N)+k[3]:$+=h(S,G,N)+k[4],$=$|0,$=F($,W[b]),$=$+V|0,I=V,V=N,N=F(G,10),G=S,S=$;$=D[1]+q+N|0,D[1]=D[2]+_+V|0,D[2]=D[3]+P+I|0,D[3]=D[4]+U+S|0,D[4]=D[0]+z+G|0,D[0]=$},_doFinalize:function(){var E=this._data,g=E.words,b=this._nDataBytes*8,R=E.sigBytes*8;g[R>>>5]|=128<<24-R%32,g[(R+64>>>9<<4)+14]=(b<<8|b>>>24)&16711935|(b<<24|b>>>8)&4278255360,E.sigBytes=(g.length+1)*4,this._process();for(var m=this._hash,D=m.words,w=0;w<5;w++){var k=D[w];D[w]=(k<<8|k>>>24)&16711935|(k<<24|k>>>8)&4278255360}return m},clone:function(){var E=u.clone.call(this);return E._hash=this._hash.clone(),E}});function h(E,g,b){return E^g^b}function A(E,g,b){return E&g|~E&b}function o(E,g,b){return(E|~g)^b}function x(E,g,b){return E&b|g&~b}function v(E,g,b){return E^(g|~b)}function F(E,g){return E<<g|E>>>32-g}s.RIPEMD160=u._createHelper(C),s.HmacRIPEMD160=u._createHmacHelper(C)})(),t.RIPEMD160})})(O0)),O0.exports}var T0={exports:{}},et=T0.exports,Ue;function fe(){return Ue||(Ue=1,(function(p,r){(function(t,e){p.exports=e(L())})(et,function(t){(function(){var e=t,s=e.lib,c=s.Base,y=e.enc,u=y.Utf8,f=e.algo;f.HMAC=c.extend({init:function(a,n){a=this._hasher=new a.init,typeof n=="string"&&(n=u.parse(n));var B=a.blockSize,i=B*4;n.sigBytes>i&&(n=a.finalize(n)),n.clamp();for(var l=this._oKey=n.clone(),d=this._iKey=n.clone(),C=l.words,h=d.words,A=0;A<B;A++)C[A]^=1549556828,h[A]^=909522486;l.sigBytes=d.sigBytes=i,this.reset()},reset:function(){var a=this._hasher;a.reset(),a.update(this._iKey)},update:function(a){return this._hasher.update(a),this},finalize:function(a){var n=this._hasher,B=n.finalize(a);n.reset();var i=n.finalize(this._oKey.clone().concat(B));return i}})})()})})(T0)),T0.exports}var $0={exports:{}},rt=$0.exports,qe;function tt(){return qe||(qe=1,(function(p,r){(function(t,e,s){p.exports=e(L(),de(),fe())})(rt,function(t){return(function(){var e=t,s=e.lib,c=s.Base,y=s.WordArray,u=e.algo,f=u.SHA256,a=u.HMAC,n=u.PBKDF2=c.extend({cfg:c.extend({keySize:128/32,hasher:f,iterations:25e4}),init:function(B){this.cfg=this.cfg.extend(B)},compute:function(B,i){for(var l=this.cfg,d=a.create(l.hasher,B),C=y.create(),h=y.create([1]),A=C.words,o=h.words,x=l.keySize,v=l.iterations;A.length<x;){var F=d.update(i).finalize(h);d.reset();for(var E=F.words,g=E.length,b=F,R=1;R<v;R++){b=d.finalize(b),d.reset();for(var m=b.words,D=0;D<g;D++)E[D]^=m[D]}C.concat(F),o[0]++}return C.sigBytes=x*4,C}});e.PBKDF2=function(B,i,l){return n.create(l).compute(B,i)}})(),t.PBKDF2})})($0)),$0.exports}var L0={exports:{}},at=L0.exports,ze;function t0(){return ze||(ze=1,(function(p,r){(function(t,e,s){p.exports=e(L(),Re(),fe())})(at,function(t){return(function(){var e=t,s=e.lib,c=s.Base,y=s.WordArray,u=e.algo,f=u.MD5,a=u.EvpKDF=c.extend({cfg:c.extend({keySize:128/32,hasher:f,iterations:1}),init:function(n){this.cfg=this.cfg.extend(n)},compute:function(n,B){for(var i,l=this.cfg,d=l.hasher.create(),C=y.create(),h=C.words,A=l.keySize,o=l.iterations;h.length<A;){i&&d.update(i),i=d.update(n).finalize(B),d.reset();for(var x=1;x<o;x++)i=d.finalize(i),d.reset();C.concat(i)}return C.sigBytes=A*4,C}});e.EvpKDF=function(n,B,i){return a.create(i).compute(n,B)}})(),t.EvpKDF})})(L0)),L0.exports}var K0={exports:{}},nt=K0.exports,Ne;function X(){return Ne||(Ne=1,(function(p,r){(function(t,e,s){p.exports=e(L(),t0())})(nt,function(t){t.lib.Cipher||(function(e){var s=t,c=s.lib,y=c.Base,u=c.WordArray,f=c.BufferedBlockAlgorithm,a=s.enc;a.Utf8;var n=a.Base64,B=s.algo,i=B.EvpKDF,l=c.Cipher=f.extend({cfg:y.extend(),createEncryptor:function(m,D){return this.create(this._ENC_XFORM_MODE,m,D)},createDecryptor:function(m,D){return this.create(this._DEC_XFORM_MODE,m,D)},init:function(m,D,w){this.cfg=this.cfg.extend(w),this._xformMode=m,this._key=D,this.reset()},reset:function(){f.reset.call(this),this._doReset()},process:function(m){return this._append(m),this._process()},finalize:function(m){m&&this._append(m);var D=this._doFinalize();return D},keySize:128/32,ivSize:128/32,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:(function(){function m(D){return typeof D=="string"?R:E}return function(D){return{encrypt:function(w,k,M){return m(k).encrypt(D,w,k,M)},decrypt:function(w,k,M){return m(k).decrypt(D,w,k,M)}}}})()});c.StreamCipher=l.extend({_doFinalize:function(){var m=this._process(!0);return m},blockSize:1});var d=s.mode={},C=c.BlockCipherMode=y.extend({createEncryptor:function(m,D){return this.Encryptor.create(m,D)},createDecryptor:function(m,D){return this.Decryptor.create(m,D)},init:function(m,D){this._cipher=m,this._iv=D}}),h=d.CBC=(function(){var m=C.extend();m.Encryptor=m.extend({processBlock:function(w,k){var M=this._cipher,O=M.blockSize;D.call(this,w,k,O),M.encryptBlock(w,k),this._prevBlock=w.slice(k,k+O)}}),m.Decryptor=m.extend({processBlock:function(w,k){var M=this._cipher,O=M.blockSize,T=w.slice(k,k+O);M.decryptBlock(w,k),D.call(this,w,k,O),this._prevBlock=T}});function D(w,k,M){var O,T=this._iv;T?(O=T,this._iv=e):O=this._prevBlock;for(var W=0;W<M;W++)w[k+W]^=O[W]}return m})(),A=s.pad={},o=A.Pkcs7={pad:function(m,D){for(var w=D*4,k=w-m.sigBytes%w,M=k<<24|k<<16|k<<8|k,O=[],T=0;T<k;T+=4)O.push(M);var W=u.create(O,k);m.concat(W)},unpad:function(m){var D=m.words[m.sigBytes-1>>>2]&255;m.sigBytes-=D}};c.BlockCipher=l.extend({cfg:l.cfg.extend({mode:h,padding:o}),reset:function(){var m;l.reset.call(this);var D=this.cfg,w=D.iv,k=D.mode;this._xformMode==this._ENC_XFORM_MODE?m=k.createEncryptor:(m=k.createDecryptor,this._minBufferSize=1),this._mode&&this._mode.__creator==m?this._mode.init(this,w&&w.words):(this._mode=m.call(k,this,w&&w.words),this._mode.__creator=m)},_doProcessBlock:function(m,D){this._mode.processBlock(m,D)},_doFinalize:function(){var m,D=this.cfg.padding;return this._xformMode==this._ENC_XFORM_MODE?(D.pad(this._data,this.blockSize),m=this._process(!0)):(m=this._process(!0),D.unpad(m)),m},blockSize:128/32});var x=c.CipherParams=y.extend({init:function(m){this.mixIn(m)},toString:function(m){return(m||this.formatter).stringify(this)}}),v=s.format={},F=v.OpenSSL={stringify:function(m){var D,w=m.ciphertext,k=m.salt;return k?D=u.create([1398893684,1701076831]).concat(k).concat(w):D=w,D.toString(n)},parse:function(m){var D,w=n.parse(m),k=w.words;return k[0]==1398893684&&k[1]==1701076831&&(D=u.create(k.slice(2,4)),k.splice(0,4),w.sigBytes-=16),x.create({ciphertext:w,salt:D})}},E=c.SerializableCipher=y.extend({cfg:y.extend({format:F}),encrypt:function(m,D,w,k){k=this.cfg.extend(k);var M=m.createEncryptor(w,k),O=M.finalize(D),T=M.cfg;return x.create({ciphertext:O,key:w,iv:T.iv,algorithm:m,mode:T.mode,padding:T.padding,blockSize:m.blockSize,formatter:k.format})},decrypt:function(m,D,w,k){k=this.cfg.extend(k),D=this._parse(D,k.format);var M=m.createDecryptor(w,k).finalize(D.ciphertext);return M},_parse:function(m,D){return typeof m=="string"?D.parse(m,this):m}}),g=s.kdf={},b=g.OpenSSL={execute:function(m,D,w,k,M){if(k||(k=u.random(64/8)),M)var O=i.create({keySize:D+w,hasher:M}).compute(m,k);else var O=i.create({keySize:D+w}).compute(m,k);var T=u.create(O.words.slice(D),w*4);return O.sigBytes=D*4,x.create({key:O,iv:T,salt:k})}},R=c.PasswordBasedCipher=E.extend({cfg:E.cfg.extend({kdf:b}),encrypt:function(m,D,w,k){k=this.cfg.extend(k);var M=k.kdf.execute(w,m.keySize,m.ivSize,k.salt,k.hasher);k.iv=M.iv;var O=E.encrypt.call(this,m,D,M.key,k);return O.mixIn(M),O},decrypt:function(m,D,w,k){k=this.cfg.extend(k),D=this._parse(D,k.format);var M=k.kdf.execute(w,m.keySize,m.ivSize,D.salt,k.hasher);k.iv=M.iv;var O=E.decrypt.call(this,m,D,M.key,k);return O}})})()})})(K0)),K0.exports}var U0={exports:{}},it=U0.exports,We;function ot(){return We||(We=1,(function(p,r){(function(t,e,s){p.exports=e(L(),X())})(it,function(t){return t.mode.CFB=(function(){var e=t.lib.BlockCipherMode.extend();e.Encryptor=e.extend({processBlock:function(c,y){var u=this._cipher,f=u.blockSize;s.call(this,c,y,f,u),this._prevBlock=c.slice(y,y+f)}}),e.Decryptor=e.extend({processBlock:function(c,y){var u=this._cipher,f=u.blockSize,a=c.slice(y,y+f);s.call(this,c,y,f,u),this._prevBlock=a}});function s(c,y,u,f){var a,n=this._iv;n?(a=n.slice(0),this._iv=void 0):a=this._prevBlock,f.encryptBlock(a,0);for(var B=0;B<u;B++)c[y+B]^=a[B]}return e})(),t.mode.CFB})})(U0)),U0.exports}var q0={exports:{}},st=q0.exports,Ge;function xt(){return Ge||(Ge=1,(function(p,r){(function(t,e,s){p.exports=e(L(),X())})(st,function(t){return t.mode.CTR=(function(){var e=t.lib.BlockCipherMode.extend(),s=e.Encryptor=e.extend({processBlock:function(c,y){var u=this._cipher,f=u.blockSize,a=this._iv,n=this._counter;a&&(n=this._counter=a.slice(0),this._iv=void 0);var B=n.slice(0);u.encryptBlock(B,0),n[f-1]=n[f-1]+1|0;for(var i=0;i<f;i++)c[y+i]^=B[i]}});return e.Decryptor=s,e})(),t.mode.CTR})})(q0)),q0.exports}var z0={exports:{}},ct=z0.exports,Qe;function lt(){return Qe||(Qe=1,(function(p,r){(function(t,e,s){p.exports=e(L(),X())})(ct,function(t){/** @preserve
11
+ */return(function(e){var o=t,c=o.lib,y=c.WordArray,u=c.Hasher,f=o.algo,a=y.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),n=y.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),B=y.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),i=y.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),l=y.create([0,1518500249,1859775393,2400959708,2840853838]),d=y.create([1352829926,1548603684,1836072691,2053994217,0]),C=f.RIPEMD160=u.extend({_doReset:function(){this._hash=y.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(E,g){for(var b=0;b<16;b++){var R=g+b,m=E[R];E[R]=(m<<8|m>>>24)&16711935|(m<<24|m>>>8)&4278255360}var D=this._hash.words,w=l.words,k=d.words,M=a.words,O=n.words,T=B.words,W=i.words,U,z,q,_,P,I,S,G,N,V;I=U=D[0],S=z=D[1],G=q=D[2],N=_=D[3],V=P=D[4];for(var $,b=0;b<80;b+=1)$=U+E[g+M[b]]|0,b<16?$+=h(z,q,_)+w[0]:b<32?$+=A(z,q,_)+w[1]:b<48?$+=s(z,q,_)+w[2]:b<64?$+=x(z,q,_)+w[3]:$+=v(z,q,_)+w[4],$=$|0,$=F($,T[b]),$=$+P|0,U=P,P=_,_=F(q,10),q=z,z=$,$=I+E[g+O[b]]|0,b<16?$+=v(S,G,N)+k[0]:b<32?$+=x(S,G,N)+k[1]:b<48?$+=s(S,G,N)+k[2]:b<64?$+=A(S,G,N)+k[3]:$+=h(S,G,N)+k[4],$=$|0,$=F($,W[b]),$=$+V|0,I=V,V=N,N=F(G,10),G=S,S=$;$=D[1]+q+N|0,D[1]=D[2]+_+V|0,D[2]=D[3]+P+I|0,D[3]=D[4]+U+S|0,D[4]=D[0]+z+G|0,D[0]=$},_doFinalize:function(){var E=this._data,g=E.words,b=this._nDataBytes*8,R=E.sigBytes*8;g[R>>>5]|=128<<24-R%32,g[(R+64>>>9<<4)+14]=(b<<8|b>>>24)&16711935|(b<<24|b>>>8)&4278255360,E.sigBytes=(g.length+1)*4,this._process();for(var m=this._hash,D=m.words,w=0;w<5;w++){var k=D[w];D[w]=(k<<8|k>>>24)&16711935|(k<<24|k>>>8)&4278255360}return m},clone:function(){var E=u.clone.call(this);return E._hash=this._hash.clone(),E}});function h(E,g,b){return E^g^b}function A(E,g,b){return E&g|~E&b}function s(E,g,b){return(E|~g)^b}function x(E,g,b){return E&b|g&~b}function v(E,g,b){return E^(g|~b)}function F(E,g){return E<<g|E>>>32-g}o.RIPEMD160=u._createHelper(C),o.HmacRIPEMD160=u._createHmacHelper(C)})(),t.RIPEMD160})})(O0)),O0.exports}var T0={exports:{}},et=T0.exports,Ue;function fe(){return Ue||(Ue=1,(function(p,r){(function(t,e){p.exports=e(L())})(et,function(t){(function(){var e=t,o=e.lib,c=o.Base,y=e.enc,u=y.Utf8,f=e.algo;f.HMAC=c.extend({init:function(a,n){a=this._hasher=new a.init,typeof n=="string"&&(n=u.parse(n));var B=a.blockSize,i=B*4;n.sigBytes>i&&(n=a.finalize(n)),n.clamp();for(var l=this._oKey=n.clone(),d=this._iKey=n.clone(),C=l.words,h=d.words,A=0;A<B;A++)C[A]^=1549556828,h[A]^=909522486;l.sigBytes=d.sigBytes=i,this.reset()},reset:function(){var a=this._hasher;a.reset(),a.update(this._iKey)},update:function(a){return this._hasher.update(a),this},finalize:function(a){var n=this._hasher,B=n.finalize(a);n.reset();var i=n.finalize(this._oKey.clone().concat(B));return i}})})()})})(T0)),T0.exports}var $0={exports:{}},rt=$0.exports,qe;function tt(){return qe||(qe=1,(function(p,r){(function(t,e,o){p.exports=e(L(),de(),fe())})(rt,function(t){return(function(){var e=t,o=e.lib,c=o.Base,y=o.WordArray,u=e.algo,f=u.SHA256,a=u.HMAC,n=u.PBKDF2=c.extend({cfg:c.extend({keySize:128/32,hasher:f,iterations:25e4}),init:function(B){this.cfg=this.cfg.extend(B)},compute:function(B,i){for(var l=this.cfg,d=a.create(l.hasher,B),C=y.create(),h=y.create([1]),A=C.words,s=h.words,x=l.keySize,v=l.iterations;A.length<x;){var F=d.update(i).finalize(h);d.reset();for(var E=F.words,g=E.length,b=F,R=1;R<v;R++){b=d.finalize(b),d.reset();for(var m=b.words,D=0;D<g;D++)E[D]^=m[D]}C.concat(F),s[0]++}return C.sigBytes=x*4,C}});e.PBKDF2=function(B,i,l){return n.create(l).compute(B,i)}})(),t.PBKDF2})})($0)),$0.exports}var L0={exports:{}},at=L0.exports,ze;function t0(){return ze||(ze=1,(function(p,r){(function(t,e,o){p.exports=e(L(),Re(),fe())})(at,function(t){return(function(){var e=t,o=e.lib,c=o.Base,y=o.WordArray,u=e.algo,f=u.MD5,a=u.EvpKDF=c.extend({cfg:c.extend({keySize:128/32,hasher:f,iterations:1}),init:function(n){this.cfg=this.cfg.extend(n)},compute:function(n,B){for(var i,l=this.cfg,d=l.hasher.create(),C=y.create(),h=C.words,A=l.keySize,s=l.iterations;h.length<A;){i&&d.update(i),i=d.update(n).finalize(B),d.reset();for(var x=1;x<s;x++)i=d.finalize(i),d.reset();C.concat(i)}return C.sigBytes=A*4,C}});e.EvpKDF=function(n,B,i){return a.create(i).compute(n,B)}})(),t.EvpKDF})})(L0)),L0.exports}var K0={exports:{}},nt=K0.exports,Ne;function X(){return Ne||(Ne=1,(function(p,r){(function(t,e,o){p.exports=e(L(),t0())})(nt,function(t){t.lib.Cipher||(function(e){var o=t,c=o.lib,y=c.Base,u=c.WordArray,f=c.BufferedBlockAlgorithm,a=o.enc;a.Utf8;var n=a.Base64,B=o.algo,i=B.EvpKDF,l=c.Cipher=f.extend({cfg:y.extend(),createEncryptor:function(m,D){return this.create(this._ENC_XFORM_MODE,m,D)},createDecryptor:function(m,D){return this.create(this._DEC_XFORM_MODE,m,D)},init:function(m,D,w){this.cfg=this.cfg.extend(w),this._xformMode=m,this._key=D,this.reset()},reset:function(){f.reset.call(this),this._doReset()},process:function(m){return this._append(m),this._process()},finalize:function(m){m&&this._append(m);var D=this._doFinalize();return D},keySize:128/32,ivSize:128/32,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:(function(){function m(D){return typeof D=="string"?R:E}return function(D){return{encrypt:function(w,k,M){return m(k).encrypt(D,w,k,M)},decrypt:function(w,k,M){return m(k).decrypt(D,w,k,M)}}}})()});c.StreamCipher=l.extend({_doFinalize:function(){var m=this._process(!0);return m},blockSize:1});var d=o.mode={},C=c.BlockCipherMode=y.extend({createEncryptor:function(m,D){return this.Encryptor.create(m,D)},createDecryptor:function(m,D){return this.Decryptor.create(m,D)},init:function(m,D){this._cipher=m,this._iv=D}}),h=d.CBC=(function(){var m=C.extend();m.Encryptor=m.extend({processBlock:function(w,k){var M=this._cipher,O=M.blockSize;D.call(this,w,k,O),M.encryptBlock(w,k),this._prevBlock=w.slice(k,k+O)}}),m.Decryptor=m.extend({processBlock:function(w,k){var M=this._cipher,O=M.blockSize,T=w.slice(k,k+O);M.decryptBlock(w,k),D.call(this,w,k,O),this._prevBlock=T}});function D(w,k,M){var O,T=this._iv;T?(O=T,this._iv=e):O=this._prevBlock;for(var W=0;W<M;W++)w[k+W]^=O[W]}return m})(),A=o.pad={},s=A.Pkcs7={pad:function(m,D){for(var w=D*4,k=w-m.sigBytes%w,M=k<<24|k<<16|k<<8|k,O=[],T=0;T<k;T+=4)O.push(M);var W=u.create(O,k);m.concat(W)},unpad:function(m){var D=m.words[m.sigBytes-1>>>2]&255;m.sigBytes-=D}};c.BlockCipher=l.extend({cfg:l.cfg.extend({mode:h,padding:s}),reset:function(){var m;l.reset.call(this);var D=this.cfg,w=D.iv,k=D.mode;this._xformMode==this._ENC_XFORM_MODE?m=k.createEncryptor:(m=k.createDecryptor,this._minBufferSize=1),this._mode&&this._mode.__creator==m?this._mode.init(this,w&&w.words):(this._mode=m.call(k,this,w&&w.words),this._mode.__creator=m)},_doProcessBlock:function(m,D){this._mode.processBlock(m,D)},_doFinalize:function(){var m,D=this.cfg.padding;return this._xformMode==this._ENC_XFORM_MODE?(D.pad(this._data,this.blockSize),m=this._process(!0)):(m=this._process(!0),D.unpad(m)),m},blockSize:128/32});var x=c.CipherParams=y.extend({init:function(m){this.mixIn(m)},toString:function(m){return(m||this.formatter).stringify(this)}}),v=o.format={},F=v.OpenSSL={stringify:function(m){var D,w=m.ciphertext,k=m.salt;return k?D=u.create([1398893684,1701076831]).concat(k).concat(w):D=w,D.toString(n)},parse:function(m){var D,w=n.parse(m),k=w.words;return k[0]==1398893684&&k[1]==1701076831&&(D=u.create(k.slice(2,4)),k.splice(0,4),w.sigBytes-=16),x.create({ciphertext:w,salt:D})}},E=c.SerializableCipher=y.extend({cfg:y.extend({format:F}),encrypt:function(m,D,w,k){k=this.cfg.extend(k);var M=m.createEncryptor(w,k),O=M.finalize(D),T=M.cfg;return x.create({ciphertext:O,key:w,iv:T.iv,algorithm:m,mode:T.mode,padding:T.padding,blockSize:m.blockSize,formatter:k.format})},decrypt:function(m,D,w,k){k=this.cfg.extend(k),D=this._parse(D,k.format);var M=m.createDecryptor(w,k).finalize(D.ciphertext);return M},_parse:function(m,D){return typeof m=="string"?D.parse(m,this):m}}),g=o.kdf={},b=g.OpenSSL={execute:function(m,D,w,k,M){if(k||(k=u.random(64/8)),M)var O=i.create({keySize:D+w,hasher:M}).compute(m,k);else var O=i.create({keySize:D+w}).compute(m,k);var T=u.create(O.words.slice(D),w*4);return O.sigBytes=D*4,x.create({key:O,iv:T,salt:k})}},R=c.PasswordBasedCipher=E.extend({cfg:E.cfg.extend({kdf:b}),encrypt:function(m,D,w,k){k=this.cfg.extend(k);var M=k.kdf.execute(w,m.keySize,m.ivSize,k.salt,k.hasher);k.iv=M.iv;var O=E.encrypt.call(this,m,D,M.key,k);return O.mixIn(M),O},decrypt:function(m,D,w,k){k=this.cfg.extend(k),D=this._parse(D,k.format);var M=k.kdf.execute(w,m.keySize,m.ivSize,D.salt,k.hasher);k.iv=M.iv;var O=E.decrypt.call(this,m,D,M.key,k);return O}})})()})})(K0)),K0.exports}var U0={exports:{}},it=U0.exports,We;function ot(){return We||(We=1,(function(p,r){(function(t,e,o){p.exports=e(L(),X())})(it,function(t){return t.mode.CFB=(function(){var e=t.lib.BlockCipherMode.extend();e.Encryptor=e.extend({processBlock:function(c,y){var u=this._cipher,f=u.blockSize;o.call(this,c,y,f,u),this._prevBlock=c.slice(y,y+f)}}),e.Decryptor=e.extend({processBlock:function(c,y){var u=this._cipher,f=u.blockSize,a=c.slice(y,y+f);o.call(this,c,y,f,u),this._prevBlock=a}});function o(c,y,u,f){var a,n=this._iv;n?(a=n.slice(0),this._iv=void 0):a=this._prevBlock,f.encryptBlock(a,0);for(var B=0;B<u;B++)c[y+B]^=a[B]}return e})(),t.mode.CFB})})(U0)),U0.exports}var q0={exports:{}},st=q0.exports,Ge;function xt(){return Ge||(Ge=1,(function(p,r){(function(t,e,o){p.exports=e(L(),X())})(st,function(t){return t.mode.CTR=(function(){var e=t.lib.BlockCipherMode.extend(),o=e.Encryptor=e.extend({processBlock:function(c,y){var u=this._cipher,f=u.blockSize,a=this._iv,n=this._counter;a&&(n=this._counter=a.slice(0),this._iv=void 0);var B=n.slice(0);u.encryptBlock(B,0),n[f-1]=n[f-1]+1|0;for(var i=0;i<f;i++)c[y+i]^=B[i]}});return e.Decryptor=o,e})(),t.mode.CTR})})(q0)),q0.exports}var z0={exports:{}},ct=z0.exports,Qe;function lt(){return Qe||(Qe=1,(function(p,r){(function(t,e,o){p.exports=e(L(),X())})(ct,function(t){/** @preserve
12
12
  * Counter block mode compatible with Dr Brian Gladman fileenc.c
13
13
  * derived from CryptoJS.mode.CTR
14
14
  * Jan Hruby jhruby.web@gmail.com
15
- */return t.mode.CTRGladman=(function(){var e=t.lib.BlockCipherMode.extend();function s(u){if((u>>24&255)===255){var f=u>>16&255,a=u>>8&255,n=u&255;f===255?(f=0,a===255?(a=0,n===255?n=0:++n):++a):++f,u=0,u+=f<<16,u+=a<<8,u+=n}else u+=1<<24;return u}function c(u){return(u[0]=s(u[0]))===0&&(u[1]=s(u[1])),u}var y=e.Encryptor=e.extend({processBlock:function(u,f){var a=this._cipher,n=a.blockSize,B=this._iv,i=this._counter;B&&(i=this._counter=B.slice(0),this._iv=void 0),c(i);var l=i.slice(0);a.encryptBlock(l,0);for(var d=0;d<n;d++)u[f+d]^=l[d]}});return e.Decryptor=y,e})(),t.mode.CTRGladman})})(z0)),z0.exports}var N0={exports:{}},dt=N0.exports,Xe;function ft(){return Xe||(Xe=1,(function(p,r){(function(t,e,s){p.exports=e(L(),X())})(dt,function(t){return t.mode.OFB=(function(){var e=t.lib.BlockCipherMode.extend(),s=e.Encryptor=e.extend({processBlock:function(c,y){var u=this._cipher,f=u.blockSize,a=this._iv,n=this._keystream;a&&(n=this._keystream=a.slice(0),this._iv=void 0),u.encryptBlock(n,0);for(var B=0;B<f;B++)c[y+B]^=n[B]}});return e.Decryptor=s,e})(),t.mode.OFB})})(N0)),N0.exports}var W0={exports:{}},ut=W0.exports,Ve;function ht(){return Ve||(Ve=1,(function(p,r){(function(t,e,s){p.exports=e(L(),X())})(ut,function(t){return t.mode.ECB=(function(){var e=t.lib.BlockCipherMode.extend();return e.Encryptor=e.extend({processBlock:function(s,c){this._cipher.encryptBlock(s,c)}}),e.Decryptor=e.extend({processBlock:function(s,c){this._cipher.decryptBlock(s,c)}}),e})(),t.mode.ECB})})(W0)),W0.exports}var G0={exports:{}},vt=G0.exports,je;function pt(){return je||(je=1,(function(p,r){(function(t,e,s){p.exports=e(L(),X())})(vt,function(t){return t.pad.AnsiX923={pad:function(e,s){var c=e.sigBytes,y=s*4,u=y-c%y,f=c+u-1;e.clamp(),e.words[f>>>2]|=u<<24-f%4*8,e.sigBytes+=u},unpad:function(e){var s=e.words[e.sigBytes-1>>>2]&255;e.sigBytes-=s}},t.pad.Ansix923})})(G0)),G0.exports}var Q0={exports:{}},Ct=Q0.exports,Ze;function Bt(){return Ze||(Ze=1,(function(p,r){(function(t,e,s){p.exports=e(L(),X())})(Ct,function(t){return t.pad.Iso10126={pad:function(e,s){var c=s*4,y=c-e.sigBytes%c;e.concat(t.lib.WordArray.random(y-1)).concat(t.lib.WordArray.create([y<<24],1))},unpad:function(e){var s=e.words[e.sigBytes-1>>>2]&255;e.sigBytes-=s}},t.pad.Iso10126})})(Q0)),Q0.exports}var X0={exports:{}},mt=X0.exports,Ye;function At(){return Ye||(Ye=1,(function(p,r){(function(t,e,s){p.exports=e(L(),X())})(mt,function(t){return t.pad.Iso97971={pad:function(e,s){e.concat(t.lib.WordArray.create([2147483648],1)),t.pad.ZeroPadding.pad(e,s)},unpad:function(e){t.pad.ZeroPadding.unpad(e),e.sigBytes--}},t.pad.Iso97971})})(X0)),X0.exports}var V0={exports:{}},Et=V0.exports,Je;function Ft(){return Je||(Je=1,(function(p,r){(function(t,e,s){p.exports=e(L(),X())})(Et,function(t){return t.pad.ZeroPadding={pad:function(e,s){var c=s*4;e.clamp(),e.sigBytes+=c-(e.sigBytes%c||c)},unpad:function(e){for(var s=e.words,c=e.sigBytes-1,c=e.sigBytes-1;c>=0;c--)if(s[c>>>2]>>>24-c%4*8&255){e.sigBytes=c+1;break}}},t.pad.ZeroPadding})})(V0)),V0.exports}var j0={exports:{}},Dt=j0.exports,er;function gt(){return er||(er=1,(function(p,r){(function(t,e,s){p.exports=e(L(),X())})(Dt,function(t){return t.pad.NoPadding={pad:function(){},unpad:function(){}},t.pad.NoPadding})})(j0)),j0.exports}var Z0={exports:{}},yt=Z0.exports,rr;function bt(){return rr||(rr=1,(function(p,r){(function(t,e,s){p.exports=e(L(),X())})(yt,function(t){return(function(e){var s=t,c=s.lib,y=c.CipherParams,u=s.enc,f=u.Hex,a=s.format;a.Hex={stringify:function(n){return n.ciphertext.toString(f)},parse:function(n){var B=f.parse(n);return y.create({ciphertext:B})}}})(),t.format.Hex})})(Z0)),Z0.exports}var Y0={exports:{}},_t=Y0.exports,tr;function wt(){return tr||(tr=1,(function(p,r){(function(t,e,s){p.exports=e(L(),i0(),o0(),t0(),X())})(_t,function(t){return(function(){var e=t,s=e.lib,c=s.BlockCipher,y=e.algo,u=[],f=[],a=[],n=[],B=[],i=[],l=[],d=[],C=[],h=[];(function(){for(var x=[],v=0;v<256;v++)v<128?x[v]=v<<1:x[v]=v<<1^283;for(var F=0,E=0,v=0;v<256;v++){var g=E^E<<1^E<<2^E<<3^E<<4;g=g>>>8^g&255^99,u[F]=g,f[g]=F;var b=x[F],R=x[b],m=x[R],D=x[g]*257^g*16843008;a[F]=D<<24|D>>>8,n[F]=D<<16|D>>>16,B[F]=D<<8|D>>>24,i[F]=D;var D=m*16843009^R*65537^b*257^F*16843008;l[g]=D<<24|D>>>8,d[g]=D<<16|D>>>16,C[g]=D<<8|D>>>24,h[g]=D,F?(F=b^x[x[x[m^b]]],E^=x[x[E]]):F=E=1}})();var A=[0,1,2,4,8,16,32,64,128,27,54],o=y.AES=c.extend({_doReset:function(){var x;if(!(this._nRounds&&this._keyPriorReset===this._key)){for(var v=this._keyPriorReset=this._key,F=v.words,E=v.sigBytes/4,g=this._nRounds=E+6,b=(g+1)*4,R=this._keySchedule=[],m=0;m<b;m++)m<E?R[m]=F[m]:(x=R[m-1],m%E?E>6&&m%E==4&&(x=u[x>>>24]<<24|u[x>>>16&255]<<16|u[x>>>8&255]<<8|u[x&255]):(x=x<<8|x>>>24,x=u[x>>>24]<<24|u[x>>>16&255]<<16|u[x>>>8&255]<<8|u[x&255],x^=A[m/E|0]<<24),R[m]=R[m-E]^x);for(var D=this._invKeySchedule=[],w=0;w<b;w++){var m=b-w;if(w%4)var x=R[m];else var x=R[m-4];w<4||m<=4?D[w]=x:D[w]=l[u[x>>>24]]^d[u[x>>>16&255]]^C[u[x>>>8&255]]^h[u[x&255]]}}},encryptBlock:function(x,v){this._doCryptBlock(x,v,this._keySchedule,a,n,B,i,u)},decryptBlock:function(x,v){var F=x[v+1];x[v+1]=x[v+3],x[v+3]=F,this._doCryptBlock(x,v,this._invKeySchedule,l,d,C,h,f);var F=x[v+1];x[v+1]=x[v+3],x[v+3]=F},_doCryptBlock:function(x,v,F,E,g,b,R,m){for(var D=this._nRounds,w=x[v]^F[0],k=x[v+1]^F[1],M=x[v+2]^F[2],O=x[v+3]^F[3],T=4,W=1;W<D;W++){var U=E[w>>>24]^g[k>>>16&255]^b[M>>>8&255]^R[O&255]^F[T++],z=E[k>>>24]^g[M>>>16&255]^b[O>>>8&255]^R[w&255]^F[T++],q=E[M>>>24]^g[O>>>16&255]^b[w>>>8&255]^R[k&255]^F[T++],_=E[O>>>24]^g[w>>>16&255]^b[k>>>8&255]^R[M&255]^F[T++];w=U,k=z,M=q,O=_}var U=(m[w>>>24]<<24|m[k>>>16&255]<<16|m[M>>>8&255]<<8|m[O&255])^F[T++],z=(m[k>>>24]<<24|m[M>>>16&255]<<16|m[O>>>8&255]<<8|m[w&255])^F[T++],q=(m[M>>>24]<<24|m[O>>>16&255]<<16|m[w>>>8&255]<<8|m[k&255])^F[T++],_=(m[O>>>24]<<24|m[w>>>16&255]<<16|m[k>>>8&255]<<8|m[M&255])^F[T++];x[v]=U,x[v+1]=z,x[v+2]=q,x[v+3]=_},keySize:256/32});e.AES=c._createHelper(o)})(),t.AES})})(Y0)),Y0.exports}var J0={exports:{}},kt=J0.exports,ar;function St(){return ar||(ar=1,(function(p,r){(function(t,e,s){p.exports=e(L(),i0(),o0(),t0(),X())})(kt,function(t){return(function(){var e=t,s=e.lib,c=s.WordArray,y=s.BlockCipher,u=e.algo,f=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],a=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],n=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],B=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}],i=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],l=u.DES=y.extend({_doReset:function(){for(var A=this._key,o=A.words,x=[],v=0;v<56;v++){var F=f[v]-1;x[v]=o[F>>>5]>>>31-F%32&1}for(var E=this._subKeys=[],g=0;g<16;g++){for(var b=E[g]=[],R=n[g],v=0;v<24;v++)b[v/6|0]|=x[(a[v]-1+R)%28]<<31-v%6,b[4+(v/6|0)]|=x[28+(a[v+24]-1+R)%28]<<31-v%6;b[0]=b[0]<<1|b[0]>>>31;for(var v=1;v<7;v++)b[v]=b[v]>>>(v-1)*4+3;b[7]=b[7]<<5|b[7]>>>27}for(var m=this._invSubKeys=[],v=0;v<16;v++)m[v]=E[15-v]},encryptBlock:function(A,o){this._doCryptBlock(A,o,this._subKeys)},decryptBlock:function(A,o){this._doCryptBlock(A,o,this._invSubKeys)},_doCryptBlock:function(A,o,x){this._lBlock=A[o],this._rBlock=A[o+1],d.call(this,4,252645135),d.call(this,16,65535),C.call(this,2,858993459),C.call(this,8,16711935),d.call(this,1,1431655765);for(var v=0;v<16;v++){for(var F=x[v],E=this._lBlock,g=this._rBlock,b=0,R=0;R<8;R++)b|=B[R][((g^F[R])&i[R])>>>0];this._lBlock=g,this._rBlock=E^b}var m=this._lBlock;this._lBlock=this._rBlock,this._rBlock=m,d.call(this,1,1431655765),C.call(this,8,16711935),C.call(this,2,858993459),d.call(this,16,65535),d.call(this,4,252645135),A[o]=this._lBlock,A[o+1]=this._rBlock},keySize:64/32,ivSize:64/32,blockSize:64/32});function d(A,o){var x=(this._lBlock>>>A^this._rBlock)&o;this._rBlock^=x,this._lBlock^=x<<A}function C(A,o){var x=(this._rBlock>>>A^this._lBlock)&o;this._lBlock^=x,this._rBlock^=x<<A}e.DES=y._createHelper(l);var h=u.TripleDES=y.extend({_doReset:function(){var A=this._key,o=A.words;if(o.length!==2&&o.length!==4&&o.length<6)throw new Error("Invalid key length - 3DES requires the key length to be 64, 128, 192 or >192.");var x=o.slice(0,2),v=o.length<4?o.slice(0,2):o.slice(2,4),F=o.length<6?o.slice(0,2):o.slice(4,6);this._des1=l.createEncryptor(c.create(x)),this._des2=l.createEncryptor(c.create(v)),this._des3=l.createEncryptor(c.create(F))},encryptBlock:function(A,o){this._des1.encryptBlock(A,o),this._des2.decryptBlock(A,o),this._des3.encryptBlock(A,o)},decryptBlock:function(A,o){this._des3.decryptBlock(A,o),this._des2.encryptBlock(A,o),this._des1.decryptBlock(A,o)},keySize:192/32,ivSize:64/32,blockSize:64/32});e.TripleDES=y._createHelper(h)})(),t.TripleDES})})(J0)),J0.exports}var ee={exports:{}},Pt=ee.exports,nr;function It(){return nr||(nr=1,(function(p,r){(function(t,e,s){p.exports=e(L(),i0(),o0(),t0(),X())})(Pt,function(t){return(function(){var e=t,s=e.lib,c=s.StreamCipher,y=e.algo,u=y.RC4=c.extend({_doReset:function(){for(var n=this._key,B=n.words,i=n.sigBytes,l=this._S=[],d=0;d<256;d++)l[d]=d;for(var d=0,C=0;d<256;d++){var h=d%i,A=B[h>>>2]>>>24-h%4*8&255;C=(C+l[d]+A)%256;var o=l[d];l[d]=l[C],l[C]=o}this._i=this._j=0},_doProcessBlock:function(n,B){n[B]^=f.call(this)},keySize:256/32,ivSize:0});function f(){for(var n=this._S,B=this._i,i=this._j,l=0,d=0;d<4;d++){B=(B+1)%256,i=(i+n[B])%256;var C=n[B];n[B]=n[i],n[i]=C,l|=n[(n[B]+n[i])%256]<<24-d*8}return this._i=B,this._j=i,l}e.RC4=c._createHelper(u);var a=y.RC4Drop=u.extend({cfg:u.cfg.extend({drop:192}),_doReset:function(){u._doReset.call(this);for(var n=this.cfg.drop;n>0;n--)f.call(this)}});e.RC4Drop=c._createHelper(a)})(),t.RC4})})(ee)),ee.exports}var re={exports:{}},Rt=re.exports,ir;function Ht(){return ir||(ir=1,(function(p,r){(function(t,e,s){p.exports=e(L(),i0(),o0(),t0(),X())})(Rt,function(t){return(function(){var e=t,s=e.lib,c=s.StreamCipher,y=e.algo,u=[],f=[],a=[],n=y.Rabbit=c.extend({_doReset:function(){for(var i=this._key.words,l=this.cfg.iv,d=0;d<4;d++)i[d]=(i[d]<<8|i[d]>>>24)&16711935|(i[d]<<24|i[d]>>>8)&4278255360;var C=this._X=[i[0],i[3]<<16|i[2]>>>16,i[1],i[0]<<16|i[3]>>>16,i[2],i[1]<<16|i[0]>>>16,i[3],i[2]<<16|i[1]>>>16],h=this._C=[i[2]<<16|i[2]>>>16,i[0]&4294901760|i[1]&65535,i[3]<<16|i[3]>>>16,i[1]&4294901760|i[2]&65535,i[0]<<16|i[0]>>>16,i[2]&4294901760|i[3]&65535,i[1]<<16|i[1]>>>16,i[3]&4294901760|i[0]&65535];this._b=0;for(var d=0;d<4;d++)B.call(this);for(var d=0;d<8;d++)h[d]^=C[d+4&7];if(l){var A=l.words,o=A[0],x=A[1],v=(o<<8|o>>>24)&16711935|(o<<24|o>>>8)&4278255360,F=(x<<8|x>>>24)&16711935|(x<<24|x>>>8)&4278255360,E=v>>>16|F&4294901760,g=F<<16|v&65535;h[0]^=v,h[1]^=E,h[2]^=F,h[3]^=g,h[4]^=v,h[5]^=E,h[6]^=F,h[7]^=g;for(var d=0;d<4;d++)B.call(this)}},_doProcessBlock:function(i,l){var d=this._X;B.call(this),u[0]=d[0]^d[5]>>>16^d[3]<<16,u[1]=d[2]^d[7]>>>16^d[5]<<16,u[2]=d[4]^d[1]>>>16^d[7]<<16,u[3]=d[6]^d[3]>>>16^d[1]<<16;for(var C=0;C<4;C++)u[C]=(u[C]<<8|u[C]>>>24)&16711935|(u[C]<<24|u[C]>>>8)&4278255360,i[l+C]^=u[C]},blockSize:128/32,ivSize:64/32});function B(){for(var i=this._X,l=this._C,d=0;d<8;d++)f[d]=l[d];l[0]=l[0]+1295307597+this._b|0,l[1]=l[1]+3545052371+(l[0]>>>0<f[0]>>>0?1:0)|0,l[2]=l[2]+886263092+(l[1]>>>0<f[1]>>>0?1:0)|0,l[3]=l[3]+1295307597+(l[2]>>>0<f[2]>>>0?1:0)|0,l[4]=l[4]+3545052371+(l[3]>>>0<f[3]>>>0?1:0)|0,l[5]=l[5]+886263092+(l[4]>>>0<f[4]>>>0?1:0)|0,l[6]=l[6]+1295307597+(l[5]>>>0<f[5]>>>0?1:0)|0,l[7]=l[7]+3545052371+(l[6]>>>0<f[6]>>>0?1:0)|0,this._b=l[7]>>>0<f[7]>>>0?1:0;for(var d=0;d<8;d++){var C=i[d]+l[d],h=C&65535,A=C>>>16,o=((h*h>>>17)+h*A>>>15)+A*A,x=((C&4294901760)*C|0)+((C&65535)*C|0);a[d]=o^x}i[0]=a[0]+(a[7]<<16|a[7]>>>16)+(a[6]<<16|a[6]>>>16)|0,i[1]=a[1]+(a[0]<<8|a[0]>>>24)+a[7]|0,i[2]=a[2]+(a[1]<<16|a[1]>>>16)+(a[0]<<16|a[0]>>>16)|0,i[3]=a[3]+(a[2]<<8|a[2]>>>24)+a[1]|0,i[4]=a[4]+(a[3]<<16|a[3]>>>16)+(a[2]<<16|a[2]>>>16)|0,i[5]=a[5]+(a[4]<<8|a[4]>>>24)+a[3]|0,i[6]=a[6]+(a[5]<<16|a[5]>>>16)+(a[4]<<16|a[4]>>>16)|0,i[7]=a[7]+(a[6]<<8|a[6]>>>24)+a[5]|0}e.Rabbit=c._createHelper(n)})(),t.Rabbit})})(re)),re.exports}var te={exports:{}},Mt=te.exports,or;function Ot(){return or||(or=1,(function(p,r){(function(t,e,s){p.exports=e(L(),i0(),o0(),t0(),X())})(Mt,function(t){return(function(){var e=t,s=e.lib,c=s.StreamCipher,y=e.algo,u=[],f=[],a=[],n=y.RabbitLegacy=c.extend({_doReset:function(){var i=this._key.words,l=this.cfg.iv,d=this._X=[i[0],i[3]<<16|i[2]>>>16,i[1],i[0]<<16|i[3]>>>16,i[2],i[1]<<16|i[0]>>>16,i[3],i[2]<<16|i[1]>>>16],C=this._C=[i[2]<<16|i[2]>>>16,i[0]&4294901760|i[1]&65535,i[3]<<16|i[3]>>>16,i[1]&4294901760|i[2]&65535,i[0]<<16|i[0]>>>16,i[2]&4294901760|i[3]&65535,i[1]<<16|i[1]>>>16,i[3]&4294901760|i[0]&65535];this._b=0;for(var h=0;h<4;h++)B.call(this);for(var h=0;h<8;h++)C[h]^=d[h+4&7];if(l){var A=l.words,o=A[0],x=A[1],v=(o<<8|o>>>24)&16711935|(o<<24|o>>>8)&4278255360,F=(x<<8|x>>>24)&16711935|(x<<24|x>>>8)&4278255360,E=v>>>16|F&4294901760,g=F<<16|v&65535;C[0]^=v,C[1]^=E,C[2]^=F,C[3]^=g,C[4]^=v,C[5]^=E,C[6]^=F,C[7]^=g;for(var h=0;h<4;h++)B.call(this)}},_doProcessBlock:function(i,l){var d=this._X;B.call(this),u[0]=d[0]^d[5]>>>16^d[3]<<16,u[1]=d[2]^d[7]>>>16^d[5]<<16,u[2]=d[4]^d[1]>>>16^d[7]<<16,u[3]=d[6]^d[3]>>>16^d[1]<<16;for(var C=0;C<4;C++)u[C]=(u[C]<<8|u[C]>>>24)&16711935|(u[C]<<24|u[C]>>>8)&4278255360,i[l+C]^=u[C]},blockSize:128/32,ivSize:64/32});function B(){for(var i=this._X,l=this._C,d=0;d<8;d++)f[d]=l[d];l[0]=l[0]+1295307597+this._b|0,l[1]=l[1]+3545052371+(l[0]>>>0<f[0]>>>0?1:0)|0,l[2]=l[2]+886263092+(l[1]>>>0<f[1]>>>0?1:0)|0,l[3]=l[3]+1295307597+(l[2]>>>0<f[2]>>>0?1:0)|0,l[4]=l[4]+3545052371+(l[3]>>>0<f[3]>>>0?1:0)|0,l[5]=l[5]+886263092+(l[4]>>>0<f[4]>>>0?1:0)|0,l[6]=l[6]+1295307597+(l[5]>>>0<f[5]>>>0?1:0)|0,l[7]=l[7]+3545052371+(l[6]>>>0<f[6]>>>0?1:0)|0,this._b=l[7]>>>0<f[7]>>>0?1:0;for(var d=0;d<8;d++){var C=i[d]+l[d],h=C&65535,A=C>>>16,o=((h*h>>>17)+h*A>>>15)+A*A,x=((C&4294901760)*C|0)+((C&65535)*C|0);a[d]=o^x}i[0]=a[0]+(a[7]<<16|a[7]>>>16)+(a[6]<<16|a[6]>>>16)|0,i[1]=a[1]+(a[0]<<8|a[0]>>>24)+a[7]|0,i[2]=a[2]+(a[1]<<16|a[1]>>>16)+(a[0]<<16|a[0]>>>16)|0,i[3]=a[3]+(a[2]<<8|a[2]>>>24)+a[1]|0,i[4]=a[4]+(a[3]<<16|a[3]>>>16)+(a[2]<<16|a[2]>>>16)|0,i[5]=a[5]+(a[4]<<8|a[4]>>>24)+a[3]|0,i[6]=a[6]+(a[5]<<16|a[5]>>>16)+(a[4]<<16|a[4]>>>16)|0,i[7]=a[7]+(a[6]<<8|a[6]>>>24)+a[5]|0}e.RabbitLegacy=c._createHelper(n)})(),t.RabbitLegacy})})(te)),te.exports}var ae={exports:{}},Tt=ae.exports,sr;function $t(){return sr||(sr=1,(function(p,r){(function(t,e,s){p.exports=e(L(),i0(),o0(),t0(),X())})(Tt,function(t){return(function(){var e=t,s=e.lib,c=s.BlockCipher,y=e.algo;const u=16,f=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],a=[[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946],[1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055],[3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504],[976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462]];var n={pbox:[],sbox:[]};function B(h,A){let o=A>>24&255,x=A>>16&255,v=A>>8&255,F=A&255,E=h.sbox[0][o]+h.sbox[1][x];return E=E^h.sbox[2][v],E=E+h.sbox[3][F],E}function i(h,A,o){let x=A,v=o,F;for(let E=0;E<u;++E)x=x^h.pbox[E],v=B(h,x)^v,F=x,x=v,v=F;return F=x,x=v,v=F,v=v^h.pbox[u],x=x^h.pbox[u+1],{left:x,right:v}}function l(h,A,o){let x=A,v=o,F;for(let E=u+1;E>1;--E)x=x^h.pbox[E],v=B(h,x)^v,F=x,x=v,v=F;return F=x,x=v,v=F,v=v^h.pbox[1],x=x^h.pbox[0],{left:x,right:v}}function d(h,A,o){for(let g=0;g<4;g++){h.sbox[g]=[];for(let b=0;b<256;b++)h.sbox[g][b]=a[g][b]}let x=0;for(let g=0;g<u+2;g++)h.pbox[g]=f[g]^A[x],x++,x>=o&&(x=0);let v=0,F=0,E=0;for(let g=0;g<u+2;g+=2)E=i(h,v,F),v=E.left,F=E.right,h.pbox[g]=v,h.pbox[g+1]=F;for(let g=0;g<4;g++)for(let b=0;b<256;b+=2)E=i(h,v,F),v=E.left,F=E.right,h.sbox[g][b]=v,h.sbox[g][b+1]=F;return!0}var C=y.Blowfish=c.extend({_doReset:function(){if(this._keyPriorReset!==this._key){var h=this._keyPriorReset=this._key,A=h.words,o=h.sigBytes/4;d(n,A,o)}},encryptBlock:function(h,A){var o=i(n,h[A],h[A+1]);h[A]=o.left,h[A+1]=o.right},decryptBlock:function(h,A){var o=l(n,h[A],h[A+1]);h[A]=o.left,h[A+1]=o.right},blockSize:64/32,keySize:128/32,ivSize:64/32});e.Blowfish=c._createHelper(C)})(),t.Blowfish})})(ae)),ae.exports}var Lt=E0.exports,xr;function Kt(){return xr||(xr=1,(function(p,r){(function(t,e,s){p.exports=e(L(),g0(),Or(),$r(),i0(),Ur(),o0(),Re(),de(),Gr(),Te(),Vr(),Zr(),Jr(),fe(),tt(),t0(),X(),ot(),xt(),lt(),ft(),ht(),pt(),Bt(),At(),Ft(),gt(),bt(),wt(),St(),It(),Ht(),Ot(),$t())})(Lt,function(t){return t})})(E0)),E0.exports}var Ut=Kt();const ue=kr(Ut),he="ai_provider_config",cr="aiselector";function qt(p,r=cr){try{return ue.AES.encrypt(p,r).toString()}catch{return p}}function zt(p,r=cr){try{return ue.AES.decrypt(p,r).toString(ue.enc.Utf8)}catch{return p}}const lr={get:p=>{if(typeof window>"u")return null;try{const r=localStorage.getItem(p);return r?zt(r):null}catch{return null}},set:(p,r)=>{if(!(typeof window>"u"))try{localStorage.setItem(p,qt(r))}catch{}},remove:p=>{typeof window>"u"||localStorage.removeItem(p)}},dr={get:p=>typeof window>"u"?null:localStorage.getItem(p),set:(p,r)=>{typeof window>"u"||localStorage.setItem(p,r)},remove:p=>{typeof window>"u"||localStorage.removeItem(p)}},Nt=dr,ve=lr;function Wt(p=ve,r={}){const t=r.serialize||JSON.stringify,e=r.deserialize||JSON.parse;return{save(s){try{const c=t(s);p.set(he,c)}catch(c){console.error("Failed to save config:",c)}},load(){const s=p.get(he);if(!s)return null;try{return e(s)}catch(c){return console.error("Failed to load config:",c),null}},clear(){p.remove(he)}}}function fr(p){if(!p)return{providers:Object.values(d0),getModels:f=>f0(f)};const{mode:r,include:t,exclude:e,custom:s}=p;let c=[];if(r==="default"){let f=Object.values(d0);t&&t.length>0&&(f=f.filter(a=>t.includes(a.id))),e&&e.length>0&&(f=f.filter(a=>!e.includes(a.id))),c=[...f]}const y={};if(s)for(const[f,a]of Object.entries(s)){const n={id:f,name:a.name,baseUrl:a.baseUrl,needsApiKey:a.needsApiKey,apiFormat:a.apiFormat,supportsModelsApi:a.supportsModelsApi??!1,icon:a.icon},B=c.findIndex(i=>i.id===f);B>=0?c[B]={...c[B],...n,icon:n.icon||c[B].icon}:c.push(n),a.models&&a.models.length>0&&(y[f]=a.models)}return{providers:c,getModels:f=>y[f]?y[f]:f0(f)}}function Gt(p,r){const{providers:t}=fr(r);return t.find(e=>e.id===p)||null}class Qt{constructor(r={}){this.channels=[],this.activeChannelId=null,this.capabilityDefaults={},this.listeners=new Map,this.storagePrefix=r.storagePrefix||"ai_channel",this.activeChannelKey=r.activeChannelKey||"ai_active_channel",this.capabilityDefaultsKey=r.capabilityDefaultsKey||"ai_capability_defaults",this.proxyUrl=r.proxyUrl,this.storageAdapter=r.storageAdapter||ve,this.loadChannels(),this.loadActiveChannel(),this.loadCapabilityDefaults()}on(r,t){return this.listeners.has(r)||this.listeners.set(r,new Set),this.listeners.get(r).add(t),()=>this.off(r,t)}off(r,t){var e;(e=this.listeners.get(r))==null||e.delete(t)}emit(r,t){var e;(e=this.listeners.get(r))==null||e.forEach(s=>s(t))}getStorageKey(r){return`${this.storagePrefix}_${r}`}loadChannels(){try{const r=Object.keys(localStorage||{}).filter(t=>t.startsWith(this.storagePrefix));this.channels=r.map(t=>{const e=this.storageAdapter.get(t);return e?JSON.parse(e):null}).filter(t=>t!==null)}catch(r){console.error("Failed to load channels:",r),this.channels=[]}}loadActiveChannel(){try{const r=this.storageAdapter.get(this.activeChannelKey);r&&(this.activeChannelId=r)}catch(r){console.error("Failed to load active channel:",r)}}saveChannel(r){try{this.storageAdapter.set(this.getStorageKey(r.id),JSON.stringify(r))}catch(t){console.error("Failed to save channel:",t)}}deleteChannelFromStorage(r){try{this.storageAdapter.remove(this.getStorageKey(r))}catch(t){console.error("Failed to delete channel from storage:",t)}}saveActiveChannel(){try{this.activeChannelId?this.storageAdapter.set(this.activeChannelKey,this.activeChannelId):this.storageAdapter.remove(this.activeChannelKey)}catch(r){console.error("Failed to save active channel:",r)}}loadCapabilityDefaults(){try{const r=this.storageAdapter.get(this.capabilityDefaultsKey);if(r){const t=JSON.parse(r);this.capabilityDefaults=t}}catch(r){console.error("Failed to load capability defaults:",r)}}saveCapabilityDefaults(){try{const r=Object.keys(this.capabilityDefaults).filter(t=>this.capabilityDefaults[t]);if(r.length>0){const t={};for(const e of r)t[e]=this.capabilityDefaults[e];this.storageAdapter.set(this.capabilityDefaultsKey,JSON.stringify(t))}else this.storageAdapter.remove(this.capabilityDefaultsKey)}catch(r){console.error("Failed to save capability defaults:",r)}}async addChannel(r,t){const e=r0(r.providerId);if(!e)throw new Error(`Provider not found: ${r.providerId}`);let s=r.modelName||r.model,c=[],y;try{const n=(await this.getProviderModels(r.providerId,r.apiKey,r.baseUrl)).find(B=>B.id===r.model);n&&(s=n.name,c=n.capabilities||[],y=n.contextLength)}catch(a){console.warn("Failed to fetch models, using static info:",a)}const u={id:Date.now().toString()+Math.random().toString(36).slice(2,6),providerId:r.providerId,providerName:e.name,model:r.model,modelName:s,apiKey:r.apiKey,baseUrl:r.baseUrl,apiFormat:e.apiFormat,capabilities:c,contextLength:y,name:t,createdAt:Date.now(),status:"untested"},f=this.channels.findIndex(a=>a.providerId===u.providerId&&a.model===u.model&&a.baseUrl===u.baseUrl);return f>=0?(this.channels[f]={...u,id:this.channels[f].id},this.saveChannel(this.channels[f]),this.emit("update",this.channels[f]),this.channels[f]):(this.channels.unshift(u),this.saveChannel(u),this.emit("add",u),u)}deleteChannel(r){const t=this.getChannel(r);t&&(this.channels=this.channels.filter(e=>e.id!==r),this.deleteChannelFromStorage(r),this.activeChannelId===r&&(this.activeChannelId=null,this.saveActiveChannel()),this.emit("delete",{id:r,channel:t}))}async updateChannel(r,t,e){const s=this.channels.find(u=>u.id===r);if(!s)throw new Error(`Channel not found: ${r}`);const c={...s,...t};if(e!==void 0&&(c.name=e),t.providerId||t.model||t.baseUrl){const u=r0(c.providerId);if(u){c.providerName=u.name,c.apiFormat=u.apiFormat;try{const a=(await this.getProviderModels(c.providerId,c.apiKey,c.baseUrl)).find(n=>n.id===c.model);a&&(c.modelName=a.name,c.capabilities=a.capabilities||[],c.contextLength=a.contextLength)}catch(f){console.warn("Failed to fetch models:",f)}}}const y=this.channels.findIndex(u=>u.id===r);return this.channels[y]=c,this.saveChannel(c),this.emit("update",c),c}getChannels(){return[...this.channels]}getChannel(r){return this.channels.find(t=>t.id===r)}getChannelsByProvider(r){return this.channels.filter(t=>t.providerId===r)}getChannelsByCapability(r){return this.channels.filter(t=>{var e;return(e=t.capabilities)==null?void 0:e.includes(r)})}getChannelsByFormat(r){return this.channels.filter(t=>t.apiFormat===r)}getChannelsByStatus(r){return this.channels.filter(t=>t.status===r)}queryChannels(r){return this.channels.filter(t=>{var e;if(r.providerId&&t.providerId!==r.providerId||r.apiFormat&&t.apiFormat!==r.apiFormat||r.capability&&!((e=t.capabilities)!=null&&e.includes(r.capability))||r.status&&t.status!==r.status)return!1;if(r.keyword){const s=r.keyword.toLowerCase();if(!`${t.name||""} ${t.modelName} ${t.providerName} ${t.model}`.toLowerCase().includes(s))return!1}return!0})}getChannelCount(){return this.channels.length}getActiveChannel(){if(this.activeChannelId)return this.getChannel(this.activeChannelId)}setActiveChannel(r){const t=this.getChannel(r);if(!t)throw new Error(`Channel not found: ${r}`);this.activeChannelId=r,this.saveActiveChannel();const e=this.channels.findIndex(s=>s.id===r);this.channels[e].lastUsedAt=Date.now(),this.saveChannel(this.channels[e]),this.emit("activate",t)}clearActiveChannel(){this.activeChannelId=null,this.saveActiveChannel()}setDefaultForCapability(r,t){if(!this.getChannel(t))throw new Error(`Channel not found: ${t}`);this.capabilityDefaults[r]=t,this.saveCapabilityDefaults(),this.emit("update",{type:"capabilityDefault",capability:r,channelId:t})}getDefaultForCapability(r){return this.capabilityDefaults[r]||void 0}clearDefaultForCapability(r){delete this.capabilityDefaults[r],this.saveCapabilityDefaults()}getAllCapabilityDefaults(){return{...this.capabilityDefaults}}getChannelForCapability(r){const t=this.capabilityDefaults[r];if(t){const c=this.getChannel(t);if(c)return c}const e=this.getChannelsByCapability(r).filter(c=>c.lastUsedAt).sort((c,y)=>(y.lastUsedAt||0)-(c.lastUsedAt||0));if(e.length>0)return e[0];const s=this.getActiveChannel();return s||this.channels[0]}async chatForCapability(r,t,e){const s=this.getChannelForCapability(r);if(!s)throw new Error(`No available channel for capability: ${r}`);return this.chatWith(s.id,t,e)}async chatStreamForCapability(r,t,e){const s=this.getChannelForCapability(r);if(!s)throw new Error(`No available channel for capability: ${r}`);return this.chatWithStream(s.id,t,{...e,onDelta:(e==null?void 0:e.onDelta)||(c=>{})})}async getProviderModels(r,t,e){const s=r0(r);if(!s)throw new Error(`Provider not found: ${r}`);return ge({provider:s,apiKey:t,baseUrl:e,proxyUrl:this.proxyUrl,fallbackToStatic:!0})}async getChannelModels(r){const t=this.getChannel(r);if(!t)throw new Error(`Channel not found: ${r}`);return this.getProviderModels(t.providerId,t.apiKey,t.baseUrl)}getStaticModelList(r){return f0(r)}getModelsByCapability(r,t){return r.filter(e=>{var s;return(s=e.capabilities)==null?void 0:s.includes(t)})}getConfiguredModels(){return this.channels.map(r=>({channelId:r.id,providerId:r.providerId,providerName:r.providerName,model:r.model,modelName:r.modelName,apiFormat:r.apiFormat,capabilities:r.capabilities||[],status:r.status}))}async updateApiKey(r,t){return this.updateChannel(r,{apiKey:t})}validateApiKey(r,t){const e=r0(r);return e?e.needsApiKey?!t||t.trim().length===0?{valid:!1,message:"API Key 不能为空"}:t.length<10?{valid:!1,message:"API Key 长度过短"}:{valid:!0}:{valid:!0,message:"此 Provider 不需要 API Key"}:{valid:!1,message:`Provider not found: ${r}`}}maskApiKey(r){return!r||r.length<=8?"••••••••":`${r.slice(0,4)}••••••••${r.slice(-4)}`}getMaskedApiKey(r){const t=this.getChannel(r);return t?this.maskApiKey(t.apiKey):""}async chat(r,t){const e=this.getActiveChannel();if(!e)throw new Error("No active channel. Please set an active channel first.");return this.chatWith(e.id,r,t)}async chatWith(r,t,e){const s=this.getChannel(r);if(!s)throw new Error(`Channel not found: ${r}`);const c=r0(s.providerId);if(!c)throw new Error(`Provider not found: ${s.providerId}`);const y=(e==null?void 0:e.messages)||[{role:"user",content:t}],u=await ce({apiFormat:s.apiFormat,baseUrl:s.baseUrl||c.baseUrl,apiKey:s.apiKey,model:s.model,messages:y,maxTokens:e==null?void 0:e.maxTokens}),f={...u,channelId:s.id,model:s.model};if(u.success){const a=this.channels.findIndex(n=>n.id===s.id);this.channels[a].lastUsedAt=Date.now(),this.channels[a].status="connected",this.channels[a].lastError=void 0,this.saveChannel(this.channels[a])}else{const a=this.channels.findIndex(n=>n.id===s.id);this.channels[a].status="error",this.channels[a].lastError=u.message,this.saveChannel(this.channels[a])}return this.emit("chat",f),f}async chatStream(r,t){const e=this.getActiveChannel();if(!e)throw new Error("No active channel. Please set an active channel first.");return this.chatWithStream(e.id,r,t)}async chatWithStream(r,t,e){const s=this.getChannel(r);if(!s)throw new Error(`Channel not found: ${r}`);const c=r0(s.providerId);if(!c)throw new Error(`Provider not found: ${s.providerId}`);const y=e.messages||[{role:"user",content:t}],u=await Fe({apiFormat:s.apiFormat,baseUrl:s.baseUrl||c.baseUrl,apiKey:s.apiKey,model:s.model,messages:y,maxTokens:e.maxTokens,onDelta:e.onDelta,signal:e.signal}),f={...u,channelId:s.id,model:s.model},a=this.channels.findIndex(n=>n.id===s.id);return u.success?(this.channels[a].lastUsedAt=Date.now(),this.channels[a].status="connected",this.channels[a].lastError=void 0):(this.channels[a].status="error",this.channels[a].lastError=u.message),this.saveChannel(this.channels[a]),this.emit("chat",f),f}async testChannel(r){const t=this.getChannel(r);if(!t)throw new Error(`Channel not found: ${r}`);const e=r0(t.providerId);if(!e)throw new Error(`Provider not found: ${t.providerId}`);const s=await De({apiFormat:t.apiFormat,baseUrl:t.baseUrl||e.baseUrl,apiKey:t.apiKey,model:t.model}),c=this.channels.findIndex(y=>y.id===r);return s.success?(this.channels[c].status="connected",this.channels[c].lastError=void 0):(this.channels[c].status="error",this.channels[c].lastError=s.message),this.saveChannel(this.channels[c]),this.emit("test",{id:r,...s}),s}async testAllChannels(){return await Promise.all(this.channels.map(async t=>{try{const e=await this.testChannel(t.id);return{id:t.id,channel:t,result:e}}catch(e){return{id:t.id,channel:t,result:{success:!1,message:e instanceof Error?e.message:String(e)}}}}))}getAvailableProviders(){return se()}getProvider(r){return r0(r)}getProvidersByFormat(r){return Be(r)}exportChannels(r){const t=this.channels.map(e=>{if(r)return e;const{apiKey:s,...c}=e;return{...c,apiKey:this.maskApiKey(s)}});return JSON.stringify({version:1,exportedAt:Date.now(),channels:t},null,2)}async importChannels(r,t=!0){const e=JSON.parse(r);if(!e.channels||!Array.isArray(e.channels))throw new Error("Invalid import format: missing channels array");t||this.clearAllChannels();const s=[];for(const c of e.channels){if(c.apiKey&&c.apiKey.includes("••••")){console.warn(`Skipping channel ${c.modelName}: API Key is masked`);continue}const y={providerId:c.providerId,apiKey:c.apiKey,model:c.model,modelName:c.modelName,baseUrl:c.baseUrl},u=await this.addChannel(y,c.name);s.push(u)}return s}clearAllChannels(){this.channels.forEach(r=>{this.deleteChannelFromStorage(r.id)}),this.channels=[],this.activeChannelId=null,this.saveActiveChannel(),this.capabilityDefaults={},this.saveCapabilityDefaults(),this.emit("clear",{})}deleteChannels(r){r.forEach(t=>this.deleteChannel(t))}getStats(){const r={total:this.channels.length,byStatus:{},byFormat:{},byProvider:{},byCapability:{}};for(const t of this.channels){const e=t.status||"untested";r.byStatus[e]=(r.byStatus[e]||0)+1,r.byFormat[t.apiFormat]=(r.byFormat[t.apiFormat]||0)+1,r.byProvider[t.providerId]=(r.byProvider[t.providerId]||0)+1;for(const s of t.capabilities||[])r.byCapability[s]=(r.byCapability[s]||0)+1}return r}}K.AIChannelManager=Qt,K.I18N=l0,K.MODEL_CAPABILITIES=yr,K.PROVIDERS=d0,K.PROVIDER_ID=H,K.STATIC_MODELS=me,K.createConfigStorage=Wt,K.defaultStorageAdapter=ve,K.encryptedStorageAdapter=lr,K.fetchModels=ge,K.getAllProviders=se,K.getProvider=r0,K.getProviderFromConfig=Gt,K.getProvidersByFormat=Be,K.getStaticModels=f0,K.getStrategy=u0,K.localStorageAdapter=Nt,K.plainStorageAdapter=dr,K.resolveProviderConfig=fr,K.sendDirectChat=ce,K.sendDirectChatStream=Fe,K.strategyRegistry=Ee,K.testConnection=wr,K.testDirectConnection=De,Object.defineProperty(K,Symbol.toStringTag,{value:"Module"})}));
15
+ */return t.mode.CTRGladman=(function(){var e=t.lib.BlockCipherMode.extend();function o(u){if((u>>24&255)===255){var f=u>>16&255,a=u>>8&255,n=u&255;f===255?(f=0,a===255?(a=0,n===255?n=0:++n):++a):++f,u=0,u+=f<<16,u+=a<<8,u+=n}else u+=1<<24;return u}function c(u){return(u[0]=o(u[0]))===0&&(u[1]=o(u[1])),u}var y=e.Encryptor=e.extend({processBlock:function(u,f){var a=this._cipher,n=a.blockSize,B=this._iv,i=this._counter;B&&(i=this._counter=B.slice(0),this._iv=void 0),c(i);var l=i.slice(0);a.encryptBlock(l,0);for(var d=0;d<n;d++)u[f+d]^=l[d]}});return e.Decryptor=y,e})(),t.mode.CTRGladman})})(z0)),z0.exports}var N0={exports:{}},dt=N0.exports,Xe;function ft(){return Xe||(Xe=1,(function(p,r){(function(t,e,o){p.exports=e(L(),X())})(dt,function(t){return t.mode.OFB=(function(){var e=t.lib.BlockCipherMode.extend(),o=e.Encryptor=e.extend({processBlock:function(c,y){var u=this._cipher,f=u.blockSize,a=this._iv,n=this._keystream;a&&(n=this._keystream=a.slice(0),this._iv=void 0),u.encryptBlock(n,0);for(var B=0;B<f;B++)c[y+B]^=n[B]}});return e.Decryptor=o,e})(),t.mode.OFB})})(N0)),N0.exports}var W0={exports:{}},ut=W0.exports,Ve;function ht(){return Ve||(Ve=1,(function(p,r){(function(t,e,o){p.exports=e(L(),X())})(ut,function(t){return t.mode.ECB=(function(){var e=t.lib.BlockCipherMode.extend();return e.Encryptor=e.extend({processBlock:function(o,c){this._cipher.encryptBlock(o,c)}}),e.Decryptor=e.extend({processBlock:function(o,c){this._cipher.decryptBlock(o,c)}}),e})(),t.mode.ECB})})(W0)),W0.exports}var G0={exports:{}},vt=G0.exports,je;function pt(){return je||(je=1,(function(p,r){(function(t,e,o){p.exports=e(L(),X())})(vt,function(t){return t.pad.AnsiX923={pad:function(e,o){var c=e.sigBytes,y=o*4,u=y-c%y,f=c+u-1;e.clamp(),e.words[f>>>2]|=u<<24-f%4*8,e.sigBytes+=u},unpad:function(e){var o=e.words[e.sigBytes-1>>>2]&255;e.sigBytes-=o}},t.pad.Ansix923})})(G0)),G0.exports}var Q0={exports:{}},Ct=Q0.exports,Ze;function Bt(){return Ze||(Ze=1,(function(p,r){(function(t,e,o){p.exports=e(L(),X())})(Ct,function(t){return t.pad.Iso10126={pad:function(e,o){var c=o*4,y=c-e.sigBytes%c;e.concat(t.lib.WordArray.random(y-1)).concat(t.lib.WordArray.create([y<<24],1))},unpad:function(e){var o=e.words[e.sigBytes-1>>>2]&255;e.sigBytes-=o}},t.pad.Iso10126})})(Q0)),Q0.exports}var X0={exports:{}},mt=X0.exports,Ye;function At(){return Ye||(Ye=1,(function(p,r){(function(t,e,o){p.exports=e(L(),X())})(mt,function(t){return t.pad.Iso97971={pad:function(e,o){e.concat(t.lib.WordArray.create([2147483648],1)),t.pad.ZeroPadding.pad(e,o)},unpad:function(e){t.pad.ZeroPadding.unpad(e),e.sigBytes--}},t.pad.Iso97971})})(X0)),X0.exports}var V0={exports:{}},Et=V0.exports,Je;function Ft(){return Je||(Je=1,(function(p,r){(function(t,e,o){p.exports=e(L(),X())})(Et,function(t){return t.pad.ZeroPadding={pad:function(e,o){var c=o*4;e.clamp(),e.sigBytes+=c-(e.sigBytes%c||c)},unpad:function(e){for(var o=e.words,c=e.sigBytes-1,c=e.sigBytes-1;c>=0;c--)if(o[c>>>2]>>>24-c%4*8&255){e.sigBytes=c+1;break}}},t.pad.ZeroPadding})})(V0)),V0.exports}var j0={exports:{}},Dt=j0.exports,er;function gt(){return er||(er=1,(function(p,r){(function(t,e,o){p.exports=e(L(),X())})(Dt,function(t){return t.pad.NoPadding={pad:function(){},unpad:function(){}},t.pad.NoPadding})})(j0)),j0.exports}var Z0={exports:{}},yt=Z0.exports,rr;function bt(){return rr||(rr=1,(function(p,r){(function(t,e,o){p.exports=e(L(),X())})(yt,function(t){return(function(e){var o=t,c=o.lib,y=c.CipherParams,u=o.enc,f=u.Hex,a=o.format;a.Hex={stringify:function(n){return n.ciphertext.toString(f)},parse:function(n){var B=f.parse(n);return y.create({ciphertext:B})}}})(),t.format.Hex})})(Z0)),Z0.exports}var Y0={exports:{}},_t=Y0.exports,tr;function wt(){return tr||(tr=1,(function(p,r){(function(t,e,o){p.exports=e(L(),i0(),o0(),t0(),X())})(_t,function(t){return(function(){var e=t,o=e.lib,c=o.BlockCipher,y=e.algo,u=[],f=[],a=[],n=[],B=[],i=[],l=[],d=[],C=[],h=[];(function(){for(var x=[],v=0;v<256;v++)v<128?x[v]=v<<1:x[v]=v<<1^283;for(var F=0,E=0,v=0;v<256;v++){var g=E^E<<1^E<<2^E<<3^E<<4;g=g>>>8^g&255^99,u[F]=g,f[g]=F;var b=x[F],R=x[b],m=x[R],D=x[g]*257^g*16843008;a[F]=D<<24|D>>>8,n[F]=D<<16|D>>>16,B[F]=D<<8|D>>>24,i[F]=D;var D=m*16843009^R*65537^b*257^F*16843008;l[g]=D<<24|D>>>8,d[g]=D<<16|D>>>16,C[g]=D<<8|D>>>24,h[g]=D,F?(F=b^x[x[x[m^b]]],E^=x[x[E]]):F=E=1}})();var A=[0,1,2,4,8,16,32,64,128,27,54],s=y.AES=c.extend({_doReset:function(){var x;if(!(this._nRounds&&this._keyPriorReset===this._key)){for(var v=this._keyPriorReset=this._key,F=v.words,E=v.sigBytes/4,g=this._nRounds=E+6,b=(g+1)*4,R=this._keySchedule=[],m=0;m<b;m++)m<E?R[m]=F[m]:(x=R[m-1],m%E?E>6&&m%E==4&&(x=u[x>>>24]<<24|u[x>>>16&255]<<16|u[x>>>8&255]<<8|u[x&255]):(x=x<<8|x>>>24,x=u[x>>>24]<<24|u[x>>>16&255]<<16|u[x>>>8&255]<<8|u[x&255],x^=A[m/E|0]<<24),R[m]=R[m-E]^x);for(var D=this._invKeySchedule=[],w=0;w<b;w++){var m=b-w;if(w%4)var x=R[m];else var x=R[m-4];w<4||m<=4?D[w]=x:D[w]=l[u[x>>>24]]^d[u[x>>>16&255]]^C[u[x>>>8&255]]^h[u[x&255]]}}},encryptBlock:function(x,v){this._doCryptBlock(x,v,this._keySchedule,a,n,B,i,u)},decryptBlock:function(x,v){var F=x[v+1];x[v+1]=x[v+3],x[v+3]=F,this._doCryptBlock(x,v,this._invKeySchedule,l,d,C,h,f);var F=x[v+1];x[v+1]=x[v+3],x[v+3]=F},_doCryptBlock:function(x,v,F,E,g,b,R,m){for(var D=this._nRounds,w=x[v]^F[0],k=x[v+1]^F[1],M=x[v+2]^F[2],O=x[v+3]^F[3],T=4,W=1;W<D;W++){var U=E[w>>>24]^g[k>>>16&255]^b[M>>>8&255]^R[O&255]^F[T++],z=E[k>>>24]^g[M>>>16&255]^b[O>>>8&255]^R[w&255]^F[T++],q=E[M>>>24]^g[O>>>16&255]^b[w>>>8&255]^R[k&255]^F[T++],_=E[O>>>24]^g[w>>>16&255]^b[k>>>8&255]^R[M&255]^F[T++];w=U,k=z,M=q,O=_}var U=(m[w>>>24]<<24|m[k>>>16&255]<<16|m[M>>>8&255]<<8|m[O&255])^F[T++],z=(m[k>>>24]<<24|m[M>>>16&255]<<16|m[O>>>8&255]<<8|m[w&255])^F[T++],q=(m[M>>>24]<<24|m[O>>>16&255]<<16|m[w>>>8&255]<<8|m[k&255])^F[T++],_=(m[O>>>24]<<24|m[w>>>16&255]<<16|m[k>>>8&255]<<8|m[M&255])^F[T++];x[v]=U,x[v+1]=z,x[v+2]=q,x[v+3]=_},keySize:256/32});e.AES=c._createHelper(s)})(),t.AES})})(Y0)),Y0.exports}var J0={exports:{}},kt=J0.exports,ar;function St(){return ar||(ar=1,(function(p,r){(function(t,e,o){p.exports=e(L(),i0(),o0(),t0(),X())})(kt,function(t){return(function(){var e=t,o=e.lib,c=o.WordArray,y=o.BlockCipher,u=e.algo,f=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],a=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],n=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],B=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}],i=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],l=u.DES=y.extend({_doReset:function(){for(var A=this._key,s=A.words,x=[],v=0;v<56;v++){var F=f[v]-1;x[v]=s[F>>>5]>>>31-F%32&1}for(var E=this._subKeys=[],g=0;g<16;g++){for(var b=E[g]=[],R=n[g],v=0;v<24;v++)b[v/6|0]|=x[(a[v]-1+R)%28]<<31-v%6,b[4+(v/6|0)]|=x[28+(a[v+24]-1+R)%28]<<31-v%6;b[0]=b[0]<<1|b[0]>>>31;for(var v=1;v<7;v++)b[v]=b[v]>>>(v-1)*4+3;b[7]=b[7]<<5|b[7]>>>27}for(var m=this._invSubKeys=[],v=0;v<16;v++)m[v]=E[15-v]},encryptBlock:function(A,s){this._doCryptBlock(A,s,this._subKeys)},decryptBlock:function(A,s){this._doCryptBlock(A,s,this._invSubKeys)},_doCryptBlock:function(A,s,x){this._lBlock=A[s],this._rBlock=A[s+1],d.call(this,4,252645135),d.call(this,16,65535),C.call(this,2,858993459),C.call(this,8,16711935),d.call(this,1,1431655765);for(var v=0;v<16;v++){for(var F=x[v],E=this._lBlock,g=this._rBlock,b=0,R=0;R<8;R++)b|=B[R][((g^F[R])&i[R])>>>0];this._lBlock=g,this._rBlock=E^b}var m=this._lBlock;this._lBlock=this._rBlock,this._rBlock=m,d.call(this,1,1431655765),C.call(this,8,16711935),C.call(this,2,858993459),d.call(this,16,65535),d.call(this,4,252645135),A[s]=this._lBlock,A[s+1]=this._rBlock},keySize:64/32,ivSize:64/32,blockSize:64/32});function d(A,s){var x=(this._lBlock>>>A^this._rBlock)&s;this._rBlock^=x,this._lBlock^=x<<A}function C(A,s){var x=(this._rBlock>>>A^this._lBlock)&s;this._lBlock^=x,this._rBlock^=x<<A}e.DES=y._createHelper(l);var h=u.TripleDES=y.extend({_doReset:function(){var A=this._key,s=A.words;if(s.length!==2&&s.length!==4&&s.length<6)throw new Error("Invalid key length - 3DES requires the key length to be 64, 128, 192 or >192.");var x=s.slice(0,2),v=s.length<4?s.slice(0,2):s.slice(2,4),F=s.length<6?s.slice(0,2):s.slice(4,6);this._des1=l.createEncryptor(c.create(x)),this._des2=l.createEncryptor(c.create(v)),this._des3=l.createEncryptor(c.create(F))},encryptBlock:function(A,s){this._des1.encryptBlock(A,s),this._des2.decryptBlock(A,s),this._des3.encryptBlock(A,s)},decryptBlock:function(A,s){this._des3.decryptBlock(A,s),this._des2.encryptBlock(A,s),this._des1.decryptBlock(A,s)},keySize:192/32,ivSize:64/32,blockSize:64/32});e.TripleDES=y._createHelper(h)})(),t.TripleDES})})(J0)),J0.exports}var ee={exports:{}},Pt=ee.exports,nr;function It(){return nr||(nr=1,(function(p,r){(function(t,e,o){p.exports=e(L(),i0(),o0(),t0(),X())})(Pt,function(t){return(function(){var e=t,o=e.lib,c=o.StreamCipher,y=e.algo,u=y.RC4=c.extend({_doReset:function(){for(var n=this._key,B=n.words,i=n.sigBytes,l=this._S=[],d=0;d<256;d++)l[d]=d;for(var d=0,C=0;d<256;d++){var h=d%i,A=B[h>>>2]>>>24-h%4*8&255;C=(C+l[d]+A)%256;var s=l[d];l[d]=l[C],l[C]=s}this._i=this._j=0},_doProcessBlock:function(n,B){n[B]^=f.call(this)},keySize:256/32,ivSize:0});function f(){for(var n=this._S,B=this._i,i=this._j,l=0,d=0;d<4;d++){B=(B+1)%256,i=(i+n[B])%256;var C=n[B];n[B]=n[i],n[i]=C,l|=n[(n[B]+n[i])%256]<<24-d*8}return this._i=B,this._j=i,l}e.RC4=c._createHelper(u);var a=y.RC4Drop=u.extend({cfg:u.cfg.extend({drop:192}),_doReset:function(){u._doReset.call(this);for(var n=this.cfg.drop;n>0;n--)f.call(this)}});e.RC4Drop=c._createHelper(a)})(),t.RC4})})(ee)),ee.exports}var re={exports:{}},Rt=re.exports,ir;function Ht(){return ir||(ir=1,(function(p,r){(function(t,e,o){p.exports=e(L(),i0(),o0(),t0(),X())})(Rt,function(t){return(function(){var e=t,o=e.lib,c=o.StreamCipher,y=e.algo,u=[],f=[],a=[],n=y.Rabbit=c.extend({_doReset:function(){for(var i=this._key.words,l=this.cfg.iv,d=0;d<4;d++)i[d]=(i[d]<<8|i[d]>>>24)&16711935|(i[d]<<24|i[d]>>>8)&4278255360;var C=this._X=[i[0],i[3]<<16|i[2]>>>16,i[1],i[0]<<16|i[3]>>>16,i[2],i[1]<<16|i[0]>>>16,i[3],i[2]<<16|i[1]>>>16],h=this._C=[i[2]<<16|i[2]>>>16,i[0]&4294901760|i[1]&65535,i[3]<<16|i[3]>>>16,i[1]&4294901760|i[2]&65535,i[0]<<16|i[0]>>>16,i[2]&4294901760|i[3]&65535,i[1]<<16|i[1]>>>16,i[3]&4294901760|i[0]&65535];this._b=0;for(var d=0;d<4;d++)B.call(this);for(var d=0;d<8;d++)h[d]^=C[d+4&7];if(l){var A=l.words,s=A[0],x=A[1],v=(s<<8|s>>>24)&16711935|(s<<24|s>>>8)&4278255360,F=(x<<8|x>>>24)&16711935|(x<<24|x>>>8)&4278255360,E=v>>>16|F&4294901760,g=F<<16|v&65535;h[0]^=v,h[1]^=E,h[2]^=F,h[3]^=g,h[4]^=v,h[5]^=E,h[6]^=F,h[7]^=g;for(var d=0;d<4;d++)B.call(this)}},_doProcessBlock:function(i,l){var d=this._X;B.call(this),u[0]=d[0]^d[5]>>>16^d[3]<<16,u[1]=d[2]^d[7]>>>16^d[5]<<16,u[2]=d[4]^d[1]>>>16^d[7]<<16,u[3]=d[6]^d[3]>>>16^d[1]<<16;for(var C=0;C<4;C++)u[C]=(u[C]<<8|u[C]>>>24)&16711935|(u[C]<<24|u[C]>>>8)&4278255360,i[l+C]^=u[C]},blockSize:128/32,ivSize:64/32});function B(){for(var i=this._X,l=this._C,d=0;d<8;d++)f[d]=l[d];l[0]=l[0]+1295307597+this._b|0,l[1]=l[1]+3545052371+(l[0]>>>0<f[0]>>>0?1:0)|0,l[2]=l[2]+886263092+(l[1]>>>0<f[1]>>>0?1:0)|0,l[3]=l[3]+1295307597+(l[2]>>>0<f[2]>>>0?1:0)|0,l[4]=l[4]+3545052371+(l[3]>>>0<f[3]>>>0?1:0)|0,l[5]=l[5]+886263092+(l[4]>>>0<f[4]>>>0?1:0)|0,l[6]=l[6]+1295307597+(l[5]>>>0<f[5]>>>0?1:0)|0,l[7]=l[7]+3545052371+(l[6]>>>0<f[6]>>>0?1:0)|0,this._b=l[7]>>>0<f[7]>>>0?1:0;for(var d=0;d<8;d++){var C=i[d]+l[d],h=C&65535,A=C>>>16,s=((h*h>>>17)+h*A>>>15)+A*A,x=((C&4294901760)*C|0)+((C&65535)*C|0);a[d]=s^x}i[0]=a[0]+(a[7]<<16|a[7]>>>16)+(a[6]<<16|a[6]>>>16)|0,i[1]=a[1]+(a[0]<<8|a[0]>>>24)+a[7]|0,i[2]=a[2]+(a[1]<<16|a[1]>>>16)+(a[0]<<16|a[0]>>>16)|0,i[3]=a[3]+(a[2]<<8|a[2]>>>24)+a[1]|0,i[4]=a[4]+(a[3]<<16|a[3]>>>16)+(a[2]<<16|a[2]>>>16)|0,i[5]=a[5]+(a[4]<<8|a[4]>>>24)+a[3]|0,i[6]=a[6]+(a[5]<<16|a[5]>>>16)+(a[4]<<16|a[4]>>>16)|0,i[7]=a[7]+(a[6]<<8|a[6]>>>24)+a[5]|0}e.Rabbit=c._createHelper(n)})(),t.Rabbit})})(re)),re.exports}var te={exports:{}},Mt=te.exports,or;function Ot(){return or||(or=1,(function(p,r){(function(t,e,o){p.exports=e(L(),i0(),o0(),t0(),X())})(Mt,function(t){return(function(){var e=t,o=e.lib,c=o.StreamCipher,y=e.algo,u=[],f=[],a=[],n=y.RabbitLegacy=c.extend({_doReset:function(){var i=this._key.words,l=this.cfg.iv,d=this._X=[i[0],i[3]<<16|i[2]>>>16,i[1],i[0]<<16|i[3]>>>16,i[2],i[1]<<16|i[0]>>>16,i[3],i[2]<<16|i[1]>>>16],C=this._C=[i[2]<<16|i[2]>>>16,i[0]&4294901760|i[1]&65535,i[3]<<16|i[3]>>>16,i[1]&4294901760|i[2]&65535,i[0]<<16|i[0]>>>16,i[2]&4294901760|i[3]&65535,i[1]<<16|i[1]>>>16,i[3]&4294901760|i[0]&65535];this._b=0;for(var h=0;h<4;h++)B.call(this);for(var h=0;h<8;h++)C[h]^=d[h+4&7];if(l){var A=l.words,s=A[0],x=A[1],v=(s<<8|s>>>24)&16711935|(s<<24|s>>>8)&4278255360,F=(x<<8|x>>>24)&16711935|(x<<24|x>>>8)&4278255360,E=v>>>16|F&4294901760,g=F<<16|v&65535;C[0]^=v,C[1]^=E,C[2]^=F,C[3]^=g,C[4]^=v,C[5]^=E,C[6]^=F,C[7]^=g;for(var h=0;h<4;h++)B.call(this)}},_doProcessBlock:function(i,l){var d=this._X;B.call(this),u[0]=d[0]^d[5]>>>16^d[3]<<16,u[1]=d[2]^d[7]>>>16^d[5]<<16,u[2]=d[4]^d[1]>>>16^d[7]<<16,u[3]=d[6]^d[3]>>>16^d[1]<<16;for(var C=0;C<4;C++)u[C]=(u[C]<<8|u[C]>>>24)&16711935|(u[C]<<24|u[C]>>>8)&4278255360,i[l+C]^=u[C]},blockSize:128/32,ivSize:64/32});function B(){for(var i=this._X,l=this._C,d=0;d<8;d++)f[d]=l[d];l[0]=l[0]+1295307597+this._b|0,l[1]=l[1]+3545052371+(l[0]>>>0<f[0]>>>0?1:0)|0,l[2]=l[2]+886263092+(l[1]>>>0<f[1]>>>0?1:0)|0,l[3]=l[3]+1295307597+(l[2]>>>0<f[2]>>>0?1:0)|0,l[4]=l[4]+3545052371+(l[3]>>>0<f[3]>>>0?1:0)|0,l[5]=l[5]+886263092+(l[4]>>>0<f[4]>>>0?1:0)|0,l[6]=l[6]+1295307597+(l[5]>>>0<f[5]>>>0?1:0)|0,l[7]=l[7]+3545052371+(l[6]>>>0<f[6]>>>0?1:0)|0,this._b=l[7]>>>0<f[7]>>>0?1:0;for(var d=0;d<8;d++){var C=i[d]+l[d],h=C&65535,A=C>>>16,s=((h*h>>>17)+h*A>>>15)+A*A,x=((C&4294901760)*C|0)+((C&65535)*C|0);a[d]=s^x}i[0]=a[0]+(a[7]<<16|a[7]>>>16)+(a[6]<<16|a[6]>>>16)|0,i[1]=a[1]+(a[0]<<8|a[0]>>>24)+a[7]|0,i[2]=a[2]+(a[1]<<16|a[1]>>>16)+(a[0]<<16|a[0]>>>16)|0,i[3]=a[3]+(a[2]<<8|a[2]>>>24)+a[1]|0,i[4]=a[4]+(a[3]<<16|a[3]>>>16)+(a[2]<<16|a[2]>>>16)|0,i[5]=a[5]+(a[4]<<8|a[4]>>>24)+a[3]|0,i[6]=a[6]+(a[5]<<16|a[5]>>>16)+(a[4]<<16|a[4]>>>16)|0,i[7]=a[7]+(a[6]<<8|a[6]>>>24)+a[5]|0}e.RabbitLegacy=c._createHelper(n)})(),t.RabbitLegacy})})(te)),te.exports}var ae={exports:{}},Tt=ae.exports,sr;function $t(){return sr||(sr=1,(function(p,r){(function(t,e,o){p.exports=e(L(),i0(),o0(),t0(),X())})(Tt,function(t){return(function(){var e=t,o=e.lib,c=o.BlockCipher,y=e.algo;const u=16,f=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],a=[[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946],[1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055],[3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504],[976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462]];var n={pbox:[],sbox:[]};function B(h,A){let s=A>>24&255,x=A>>16&255,v=A>>8&255,F=A&255,E=h.sbox[0][s]+h.sbox[1][x];return E=E^h.sbox[2][v],E=E+h.sbox[3][F],E}function i(h,A,s){let x=A,v=s,F;for(let E=0;E<u;++E)x=x^h.pbox[E],v=B(h,x)^v,F=x,x=v,v=F;return F=x,x=v,v=F,v=v^h.pbox[u],x=x^h.pbox[u+1],{left:x,right:v}}function l(h,A,s){let x=A,v=s,F;for(let E=u+1;E>1;--E)x=x^h.pbox[E],v=B(h,x)^v,F=x,x=v,v=F;return F=x,x=v,v=F,v=v^h.pbox[1],x=x^h.pbox[0],{left:x,right:v}}function d(h,A,s){for(let g=0;g<4;g++){h.sbox[g]=[];for(let b=0;b<256;b++)h.sbox[g][b]=a[g][b]}let x=0;for(let g=0;g<u+2;g++)h.pbox[g]=f[g]^A[x],x++,x>=s&&(x=0);let v=0,F=0,E=0;for(let g=0;g<u+2;g+=2)E=i(h,v,F),v=E.left,F=E.right,h.pbox[g]=v,h.pbox[g+1]=F;for(let g=0;g<4;g++)for(let b=0;b<256;b+=2)E=i(h,v,F),v=E.left,F=E.right,h.sbox[g][b]=v,h.sbox[g][b+1]=F;return!0}var C=y.Blowfish=c.extend({_doReset:function(){if(this._keyPriorReset!==this._key){var h=this._keyPriorReset=this._key,A=h.words,s=h.sigBytes/4;d(n,A,s)}},encryptBlock:function(h,A){var s=i(n,h[A],h[A+1]);h[A]=s.left,h[A+1]=s.right},decryptBlock:function(h,A){var s=l(n,h[A],h[A+1]);h[A]=s.left,h[A+1]=s.right},blockSize:64/32,keySize:128/32,ivSize:64/32});e.Blowfish=c._createHelper(C)})(),t.Blowfish})})(ae)),ae.exports}var Lt=E0.exports,xr;function Kt(){return xr||(xr=1,(function(p,r){(function(t,e,o){p.exports=e(L(),g0(),Or(),$r(),i0(),Ur(),o0(),Re(),de(),Gr(),Te(),Vr(),Zr(),Jr(),fe(),tt(),t0(),X(),ot(),xt(),lt(),ft(),ht(),pt(),Bt(),At(),Ft(),gt(),bt(),wt(),St(),It(),Ht(),Ot(),$t())})(Lt,function(t){return t})})(E0)),E0.exports}var Ut=Kt();const ue=kr(Ut),he="ai_provider_config",cr="aiselector";function qt(p,r=cr){try{return ue.AES.encrypt(p,r).toString()}catch{return p}}function zt(p,r=cr){try{return ue.AES.decrypt(p,r).toString(ue.enc.Utf8)}catch{return p}}const lr={get:p=>{if(typeof window>"u")return null;try{const r=localStorage.getItem(p);return r?zt(r):null}catch{return null}},set:(p,r)=>{if(!(typeof window>"u"))try{localStorage.setItem(p,qt(r))}catch{}},remove:p=>{typeof window>"u"||localStorage.removeItem(p)}},dr={get:p=>typeof window>"u"?null:localStorage.getItem(p),set:(p,r)=>{typeof window>"u"||localStorage.setItem(p,r)},remove:p=>{typeof window>"u"||localStorage.removeItem(p)}},Nt=dr,ve=lr;function Wt(p=ve,r={}){const t=r.serialize||JSON.stringify,e=r.deserialize||JSON.parse;return{save(o){try{const c=t(o);p.set(he,c)}catch(c){console.error("Failed to save config:",c)}},load(){const o=p.get(he);if(!o)return null;try{return e(o)}catch(c){return console.error("Failed to load config:",c),null}},clear(){p.remove(he)}}}function fr(p){if(!p)return{providers:Object.values(d0),getModels:f=>f0(f)};const{mode:r,include:t,exclude:e,custom:o}=p;let c=[];if(r==="default"){let f=Object.values(d0);t&&t.length>0&&(f=f.filter(a=>t.includes(a.id))),e&&e.length>0&&(f=f.filter(a=>!e.includes(a.id))),c=[...f]}const y={};if(o)for(const[f,a]of Object.entries(o)){const n={id:f,name:a.name,baseUrl:a.baseUrl,needsApiKey:a.needsApiKey,apiFormat:a.apiFormat,supportsModelsApi:a.supportsModelsApi??!1,icon:a.icon},B=c.findIndex(i=>i.id===f);B>=0?c[B]={...c[B],...n,icon:n.icon||c[B].icon}:c.push(n),a.models&&a.models.length>0&&(y[f]=a.models)}return{providers:c,getModels:f=>y[f]?y[f]:f0(f)}}function Gt(p,r){const{providers:t}=fr(r);return t.find(e=>e.id===p)||null}class Qt{constructor(r={}){this.channels=[],this.activeChannelId=null,this.capabilityDefaults={},this.listeners=new Map,this.storagePrefix=r.storagePrefix||"ai_channel",this.activeChannelKey=r.activeChannelKey||"ai_active_channel",this.capabilityDefaultsKey=r.capabilityDefaultsKey||"ai_capability_defaults",this.proxyUrl=r.proxyUrl,this.storageAdapter=r.storageAdapter||ve,this.loadChannels(),this.loadActiveChannel(),this.loadCapabilityDefaults()}on(r,t){return this.listeners.has(r)||this.listeners.set(r,new Set),this.listeners.get(r).add(t),()=>this.off(r,t)}off(r,t){var e;(e=this.listeners.get(r))==null||e.delete(t)}emit(r,t){var e;(e=this.listeners.get(r))==null||e.forEach(o=>o(t))}getStorageKey(r){return`${this.storagePrefix}_${r}`}loadChannels(){try{const r=Object.keys(localStorage||{}).filter(t=>t.startsWith(this.storagePrefix));this.channels=r.map(t=>{const e=this.storageAdapter.get(t);return e?JSON.parse(e):null}).filter(t=>t!==null)}catch(r){console.error("Failed to load channels:",r),this.channels=[]}}loadActiveChannel(){try{const r=this.storageAdapter.get(this.activeChannelKey);r&&(this.activeChannelId=r)}catch(r){console.error("Failed to load active channel:",r)}}saveChannel(r){try{this.storageAdapter.set(this.getStorageKey(r.id),JSON.stringify(r))}catch(t){console.error("Failed to save channel:",t)}}deleteChannelFromStorage(r){try{this.storageAdapter.remove(this.getStorageKey(r))}catch(t){console.error("Failed to delete channel from storage:",t)}}saveActiveChannel(){try{this.activeChannelId?this.storageAdapter.set(this.activeChannelKey,this.activeChannelId):this.storageAdapter.remove(this.activeChannelKey)}catch(r){console.error("Failed to save active channel:",r)}}loadCapabilityDefaults(){try{const r=this.storageAdapter.get(this.capabilityDefaultsKey);if(r){const t=JSON.parse(r);this.capabilityDefaults=t}}catch(r){console.error("Failed to load capability defaults:",r)}}saveCapabilityDefaults(){try{const r=Object.keys(this.capabilityDefaults).filter(t=>this.capabilityDefaults[t]);if(r.length>0){const t={};for(const e of r)t[e]=this.capabilityDefaults[e];this.storageAdapter.set(this.capabilityDefaultsKey,JSON.stringify(t))}else this.storageAdapter.remove(this.capabilityDefaultsKey)}catch(r){console.error("Failed to save capability defaults:",r)}}async addChannel(r,t){const e=r0(r.providerId);if(!e)throw new Error(`Provider not found: ${r.providerId}`);let o=r.modelName||r.model,c=[],y;try{const n=(await this.getProviderModels(r.providerId,r.apiKey,r.baseUrl)).find(B=>B.id===r.model);n&&(o=n.name,c=n.capabilities||[],y=n.contextLength)}catch(a){console.warn("Failed to fetch models, using static info:",a)}const u={id:Date.now().toString()+Math.random().toString(36).slice(2,6),providerId:r.providerId,providerName:e.name,model:r.model,modelName:o,apiKey:r.apiKey,baseUrl:r.baseUrl,apiFormat:e.apiFormat,capabilities:c,contextLength:y,name:t,createdAt:Date.now(),status:"untested"},f=this.channels.findIndex(a=>a.providerId===u.providerId&&a.model===u.model&&a.baseUrl===u.baseUrl);return f>=0?(this.channels[f]={...u,id:this.channels[f].id},this.saveChannel(this.channels[f]),this.emit("update",this.channels[f]),this.channels[f]):(this.channels.unshift(u),this.saveChannel(u),this.emit("add",u),u)}deleteChannel(r){const t=this.getChannel(r);t&&(this.channels=this.channels.filter(e=>e.id!==r),this.deleteChannelFromStorage(r),this.activeChannelId===r&&(this.activeChannelId=null,this.saveActiveChannel()),this.emit("delete",{id:r,channel:t}))}async updateChannel(r,t,e){const o=this.channels.find(u=>u.id===r);if(!o)throw new Error(`Channel not found: ${r}`);const c={...o,...t};if(e!==void 0&&(c.name=e),t.providerId||t.model||t.baseUrl){const u=r0(c.providerId);if(u){c.providerName=u.name,c.apiFormat=u.apiFormat;try{const a=(await this.getProviderModels(c.providerId,c.apiKey,c.baseUrl)).find(n=>n.id===c.model);a&&(c.modelName=a.name,c.capabilities=a.capabilities||[],c.contextLength=a.contextLength)}catch(f){console.warn("Failed to fetch models:",f)}}}const y=this.channels.findIndex(u=>u.id===r);return this.channels[y]=c,this.saveChannel(c),this.emit("update",c),c}getChannels(){return[...this.channels]}getChannel(r){return this.channels.find(t=>t.id===r)}getChannelsByProvider(r){return this.channels.filter(t=>t.providerId===r)}getChannelsByCapability(r){return this.channels.filter(t=>{var e;return(e=t.capabilities)==null?void 0:e.includes(r)})}getChannelsByFormat(r){return this.channels.filter(t=>t.apiFormat===r)}getChannelsByStatus(r){return this.channels.filter(t=>t.status===r)}queryChannels(r){return this.channels.filter(t=>{var e;if(r.providerId&&t.providerId!==r.providerId||r.apiFormat&&t.apiFormat!==r.apiFormat||r.capability&&!((e=t.capabilities)!=null&&e.includes(r.capability))||r.status&&t.status!==r.status)return!1;if(r.keyword){const o=r.keyword.toLowerCase();if(!`${t.name||""} ${t.modelName} ${t.providerName} ${t.model}`.toLowerCase().includes(o))return!1}return!0})}getChannelCount(){return this.channels.length}getActiveChannel(){if(this.activeChannelId)return this.getChannel(this.activeChannelId)}setActiveChannel(r){const t=this.getChannel(r);if(!t)throw new Error(`Channel not found: ${r}`);this.activeChannelId=r,this.saveActiveChannel();const e=this.channels.findIndex(o=>o.id===r);this.channels[e].lastUsedAt=Date.now(),this.saveChannel(this.channels[e]),this.emit("activate",t)}clearActiveChannel(){this.activeChannelId=null,this.saveActiveChannel()}setDefaultForCapability(r,t){if(!this.getChannel(t))throw new Error(`Channel not found: ${t}`);this.capabilityDefaults[r]=t,this.saveCapabilityDefaults(),this.emit("update",{type:"capabilityDefault",capability:r,channelId:t})}getDefaultForCapability(r){return this.capabilityDefaults[r]||void 0}clearDefaultForCapability(r){delete this.capabilityDefaults[r],this.saveCapabilityDefaults()}getAllCapabilityDefaults(){return{...this.capabilityDefaults}}getChannelForCapability(r){const t=this.capabilityDefaults[r];if(t){const c=this.getChannel(t);if(c)return c}const e=this.getChannelsByCapability(r).filter(c=>c.lastUsedAt).sort((c,y)=>(y.lastUsedAt||0)-(c.lastUsedAt||0));if(e.length>0)return e[0];const o=this.getActiveChannel();return o||this.channels[0]}async chatForCapability(r,t,e){const o=this.getChannelForCapability(r);if(!o)throw new Error(`No available channel for capability: ${r}`);return this.chatWith(o.id,t,e)}async chatStreamForCapability(r,t,e){const o=this.getChannelForCapability(r);if(!o)throw new Error(`No available channel for capability: ${r}`);return this.chatWithStream(o.id,t,{...e,onDelta:(e==null?void 0:e.onDelta)||(c=>{})})}async getProviderModels(r,t,e){const o=r0(r);if(!o)throw new Error(`Provider not found: ${r}`);return ge({provider:o,apiKey:t,baseUrl:e,proxyUrl:this.proxyUrl,fallbackToStatic:!0})}async getChannelModels(r){const t=this.getChannel(r);if(!t)throw new Error(`Channel not found: ${r}`);return this.getProviderModels(t.providerId,t.apiKey,t.baseUrl)}getStaticModelList(r){return f0(r)}getModelsByCapability(r,t){return r.filter(e=>{var o;return(o=e.capabilities)==null?void 0:o.includes(t)})}getConfiguredModels(){return this.channels.map(r=>({channelId:r.id,providerId:r.providerId,providerName:r.providerName,model:r.model,modelName:r.modelName,apiFormat:r.apiFormat,capabilities:r.capabilities||[],status:r.status}))}async updateApiKey(r,t){return this.updateChannel(r,{apiKey:t})}validateApiKey(r,t){const e=r0(r);return e?e.needsApiKey?!t||t.trim().length===0?{valid:!1,message:"API Key 不能为空"}:t.length<10?{valid:!1,message:"API Key 长度过短"}:{valid:!0}:{valid:!0,message:"此 Provider 不需要 API Key"}:{valid:!1,message:`Provider not found: ${r}`}}maskApiKey(r){return!r||r.length<=8?"••••••••":`${r.slice(0,4)}••••••••${r.slice(-4)}`}getMaskedApiKey(r){const t=this.getChannel(r);return t?this.maskApiKey(t.apiKey):""}async chat(r,t){const e=this.getActiveChannel();if(!e)throw new Error("No active channel. Please set an active channel first.");return this.chatWith(e.id,r,t)}async chatWith(r,t,e){const o=this.getChannel(r);if(!o)throw new Error(`Channel not found: ${r}`);const c=r0(o.providerId);if(!c)throw new Error(`Provider not found: ${o.providerId}`);const y=(e==null?void 0:e.messages)||[{role:"user",content:t}],u=await ce({apiFormat:o.apiFormat,baseUrl:o.baseUrl||c.baseUrl,apiKey:o.apiKey,model:o.model,messages:y,maxTokens:e==null?void 0:e.maxTokens}),f={...u,channelId:o.id,model:o.model};if(u.success){const a=this.channels.findIndex(n=>n.id===o.id);this.channels[a].lastUsedAt=Date.now(),this.channels[a].status="connected",this.channels[a].lastError=void 0,this.saveChannel(this.channels[a])}else{const a=this.channels.findIndex(n=>n.id===o.id);this.channels[a].status="error",this.channels[a].lastError=u.message,this.saveChannel(this.channels[a])}return this.emit("chat",f),f}async chatStream(r,t){const e=this.getActiveChannel();if(!e)throw new Error("No active channel. Please set an active channel first.");return this.chatWithStream(e.id,r,t)}async chatWithStream(r,t,e){const o=this.getChannel(r);if(!o)throw new Error(`Channel not found: ${r}`);const c=r0(o.providerId);if(!c)throw new Error(`Provider not found: ${o.providerId}`);const y=e.messages||[{role:"user",content:t}],u=await Fe({apiFormat:o.apiFormat,baseUrl:o.baseUrl||c.baseUrl,apiKey:o.apiKey,model:o.model,messages:y,maxTokens:e.maxTokens,onDelta:e.onDelta,signal:e.signal}),f={...u,channelId:o.id,model:o.model},a=this.channels.findIndex(n=>n.id===o.id);return u.success?(this.channels[a].lastUsedAt=Date.now(),this.channels[a].status="connected",this.channels[a].lastError=void 0):(this.channels[a].status="error",this.channels[a].lastError=u.message),this.saveChannel(this.channels[a]),this.emit("chat",f),f}async testChannel(r){const t=this.getChannel(r);if(!t)throw new Error(`Channel not found: ${r}`);const e=r0(t.providerId);if(!e)throw new Error(`Provider not found: ${t.providerId}`);const o=await De({apiFormat:t.apiFormat,baseUrl:t.baseUrl||e.baseUrl,apiKey:t.apiKey,model:t.model}),c=this.channels.findIndex(y=>y.id===r);return o.success?(this.channels[c].status="connected",this.channels[c].lastError=void 0):(this.channels[c].status="error",this.channels[c].lastError=o.message),this.saveChannel(this.channels[c]),this.emit("test",{id:r,...o}),o}async testAllChannels(){return await Promise.all(this.channels.map(async t=>{try{const e=await this.testChannel(t.id);return{id:t.id,channel:t,result:e}}catch(e){return{id:t.id,channel:t,result:{success:!1,message:e instanceof Error?e.message:String(e)}}}}))}getAvailableProviders(){return se()}getProvider(r){return r0(r)}getProvidersByFormat(r){return Be(r)}exportChannels(r){const t=this.channels.map(e=>{if(r)return e;const{apiKey:o,...c}=e;return{...c,apiKey:this.maskApiKey(o)}});return JSON.stringify({version:1,exportedAt:Date.now(),channels:t},null,2)}async importChannels(r,t=!0){const e=JSON.parse(r);if(!e.channels||!Array.isArray(e.channels))throw new Error("Invalid import format: missing channels array");t||this.clearAllChannels();const o=[];for(const c of e.channels){if(c.apiKey&&c.apiKey.includes("••••")){console.warn(`Skipping channel ${c.modelName}: API Key is masked`);continue}const y={providerId:c.providerId,apiKey:c.apiKey,model:c.model,modelName:c.modelName,baseUrl:c.baseUrl},u=await this.addChannel(y,c.name);o.push(u)}return o}clearAllChannels(){this.channels.forEach(r=>{this.deleteChannelFromStorage(r.id)}),this.channels=[],this.activeChannelId=null,this.saveActiveChannel(),this.capabilityDefaults={},this.saveCapabilityDefaults(),this.emit("clear",{})}deleteChannels(r){r.forEach(t=>this.deleteChannel(t))}getStats(){const r={total:this.channels.length,byStatus:{},byFormat:{},byProvider:{},byCapability:{}};for(const t of this.channels){const e=t.status||"untested";r.byStatus[e]=(r.byStatus[e]||0)+1,r.byFormat[t.apiFormat]=(r.byFormat[t.apiFormat]||0)+1,r.byProvider[t.providerId]=(r.byProvider[t.providerId]||0)+1;for(const o of t.capabilities||[])r.byCapability[o]=(r.byCapability[o]||0)+1}return r}}K.AIChannelManager=Qt,K.I18N=l0,K.MODEL_CAPABILITIES=yr,K.PROVIDERS=d0,K.PROVIDER_ID=H,K.STATIC_MODELS=me,K.createConfigStorage=Wt,K.defaultStorageAdapter=ve,K.encryptedStorageAdapter=lr,K.fetchModels=ge,K.getAllProviders=se,K.getProvider=r0,K.getProviderFromConfig=Gt,K.getProvidersByFormat=Be,K.getStaticModels=f0,K.getStrategy=u0,K.localStorageAdapter=Nt,K.plainStorageAdapter=dr,K.resolveProviderConfig=fr,K.sendDirectChat=ce,K.sendDirectChatStream=Fe,K.strategyRegistry=Ee,K.testConnection=wr,K.testDirectConnection=De,Object.defineProperty(K,Symbol.toStringTag,{value:"Module"})}));
16
16
  //# sourceMappingURL=index.umd.js.map