mirror of
https://github.com/Wx-2025/ST-Amily2-Chat-Optimisation.git
synced 2026-06-06 03:25:51 +00:00
ci: auto build & obfuscate [2026-04-06 18:15:37] (Jenkins #9)
This commit is contained in:
@@ -75,8 +75,8 @@
|
||||
</fieldset>
|
||||
|
||||
<!-- 新建/编辑 Profile 弹窗 -->
|
||||
<div id="amily2_profile_modal" style="display:none; position:fixed; inset:0; background:rgba(0,0,0,0.6); z-index:9999; align-items:center; justify-content:center;">
|
||||
<div style="background:var(--SmartThemeBlurTintColor); border:1px solid var(--SmartThemeBorderColor); border-radius:8px; padding:20px; width:min(500px,94vw); max-height:88vh; overflow-y:auto;">
|
||||
<div id="amily2_profile_modal" class="amily2-modal-overlay" style="display:none;">
|
||||
<div class="amily2-modal-content">
|
||||
|
||||
<div style="display:flex; justify-content:space-between; align-items:center; margin-bottom:14px;">
|
||||
<strong id="amily2_profile_modal_title"><i class="fas fa-key"></i> 新建连接配置</strong>
|
||||
@@ -130,10 +130,9 @@
|
||||
<label for="amily2_pf_model">模型</label>
|
||||
<div style="display:flex; gap:6px; align-items:stretch;">
|
||||
<input id="amily2_pf_model" type="text" class="text_pole"
|
||||
list="amily2_pf_model_list"
|
||||
placeholder="手动填写或点击「获取」"
|
||||
style="flex:1;" />
|
||||
<datalist id="amily2_pf_model_list"></datalist>
|
||||
<select id="amily2_pf_model_select" class="text_pole" style="flex:1; display:none;"></select>
|
||||
<button id="amily2_pf_fetch_models" class="menu_button small_button interactable" type="button" title="从 API 获取可用模型列表(需先填写地址和 Key)">
|
||||
<i class="fas fa-list"></i> 获取
|
||||
</button>
|
||||
|
||||
@@ -751,3 +751,57 @@ hr.header-divider {
|
||||
transform: scale(1);
|
||||
}
|
||||
}
|
||||
|
||||
/* === Profile 弹窗 === */
|
||||
.amily2-modal-overlay {
|
||||
position: fixed;
|
||||
inset: 0;
|
||||
background: rgba(0, 0, 0, 0.6);
|
||||
z-index: 9999;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 12px;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.amily2-modal-content {
|
||||
background: var(--SmartThemeBlurTintColor);
|
||||
border: 1px solid var(--SmartThemeBorderColor);
|
||||
border-radius: 8px;
|
||||
padding: 20px;
|
||||
width: min(500px, 100%);
|
||||
max-height: 90dvh;
|
||||
overflow-y: auto;
|
||||
box-sizing: border-box;
|
||||
-webkit-overflow-scrolling: touch;
|
||||
}
|
||||
|
||||
@media (max-width: 600px) {
|
||||
.amily2-modal-overlay {
|
||||
align-items: flex-end;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.amily2-modal-content {
|
||||
width: 100%;
|
||||
max-height: 92dvh;
|
||||
border-radius: 12px 12px 0 0;
|
||||
padding: 16px 14px;
|
||||
}
|
||||
|
||||
/* 按钮行在窄屏下撑满宽度 */
|
||||
.amily2-modal-content > div:last-child {
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.amily2-modal-content > div:last-child .menu_button {
|
||||
flex: 1;
|
||||
min-width: 80px;
|
||||
}
|
||||
|
||||
/* 模型获取按钮行 */
|
||||
.amily2-modal-content #amily2_pf_fetch_models {
|
||||
white-space: nowrap;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,6 +2,8 @@ import { extension_settings, getContext } from "/scripts/extensions.js";
|
||||
import { characters, this_chid, getRequestHeaders, saveSettingsDebounced, eventSource, event_types } from "/script.js";
|
||||
import { extensionName } from "../../utils/settings.js";
|
||||
import { amilyHelper } from '../../core/tavern-helper/main.js';
|
||||
import { getSlotProfile, providerToApiMode } from './api-resolver.js';
|
||||
import { configManager } from '../../utils/config/ConfigManager.js';
|
||||
|
||||
let ChatCompletionService = undefined;
|
||||
try {
|
||||
@@ -42,15 +44,32 @@ function normalizeApiResponse(responseData) {
|
||||
return data;
|
||||
}
|
||||
|
||||
export function getSybdApiSettings() {
|
||||
export async function getSybdApiSettings() {
|
||||
const s = extension_settings[extensionName] || {};
|
||||
|
||||
// 优先读取 'sybd' 槽位分配的 Profile
|
||||
const profile = await getSlotProfile('sybd');
|
||||
if (profile) {
|
||||
return {
|
||||
apiMode: providerToApiMode(profile.provider),
|
||||
apiUrl: profile.apiUrl,
|
||||
apiKey: profile.apiKey ?? '',
|
||||
model: profile.model,
|
||||
maxTokens: s.sybdMaxTokens ?? profile.maxTokens ?? 4000,
|
||||
temperature: s.sybdTemperature ?? profile.temperature ?? 0.7,
|
||||
tavernProfile: '',
|
||||
};
|
||||
}
|
||||
|
||||
// 降级:读旧 extension_settings 字段
|
||||
return {
|
||||
apiMode: extension_settings[extensionName]?.sybdApiMode || 'openai_test',
|
||||
apiUrl: extension_settings[extensionName]?.sybdApiUrl?.trim() || '',
|
||||
apiKey: extension_settings[extensionName]?.sybdApiKey?.trim() || '',
|
||||
model: extension_settings[extensionName]?.sybdModel || '',
|
||||
maxTokens: extension_settings[extensionName]?.sybdMaxTokens || 4000,
|
||||
temperature: extension_settings[extensionName]?.sybdTemperature || 0.7,
|
||||
tavernProfile: extension_settings[extensionName]?.sybdTavernProfile || ''
|
||||
apiMode: s.sybdApiMode || 'openai_test',
|
||||
apiUrl: s.sybdApiUrl?.trim() || '',
|
||||
apiKey: configManager.get('sybdApiKey') || '',
|
||||
model: s.sybdModel || '',
|
||||
maxTokens: s.sybdMaxTokens || 4000,
|
||||
temperature: s.sybdTemperature || 0.7,
|
||||
tavernProfile: s.sybdTavernProfile || '',
|
||||
};
|
||||
}
|
||||
|
||||
@@ -60,7 +79,7 @@ export async function callSybdAI(messages, options = {}) {
|
||||
return null;
|
||||
}
|
||||
|
||||
const apiSettings = getSybdApiSettings();
|
||||
const apiSettings = await getSybdApiSettings();
|
||||
|
||||
const finalOptions = {
|
||||
maxTokens: apiSettings.maxTokens,
|
||||
@@ -258,7 +277,7 @@ async function callSybdSillyTavernPreset(messages, options) {
|
||||
export async function fetchSybdModels() {
|
||||
console.log('[Amily2号-Sybd外交部] 开始获取模型列表');
|
||||
|
||||
const apiSettings = getSybdApiSettings();
|
||||
const apiSettings = await getSybdApiSettings();
|
||||
|
||||
try {
|
||||
if (apiSettings.apiMode === 'sillytavern_preset') {
|
||||
@@ -341,7 +360,7 @@ export async function fetchSybdModels() {
|
||||
export async function testSybdApiConnection() {
|
||||
console.log('[Amily2号-Sybd外交部] 开始API连接测试');
|
||||
|
||||
const apiSettings = getSybdApiSettings();
|
||||
const apiSettings = await getSybdApiSettings();
|
||||
|
||||
if (apiSettings.apiMode === 'sillytavern_preset') {
|
||||
if (!apiSettings.tavernProfile) {
|
||||
|
||||
@@ -4,7 +4,7 @@ import { renderTables } from '../../ui/table-bindings.js';
|
||||
import { extensionName } from "../../utils/settings.js";
|
||||
import { convertTablesToCsvString, convertSelectedTablesToCsvString, saveStateToMessage, getMemoryState, updateTableFromText, getBatchFillerRuleTemplate, getBatchFillerFlowTemplate } from './manager.js';
|
||||
import { getPresetPrompts, getMixedOrder } from '../../PresetSettings/index.js';
|
||||
import { callAI, generateRandomSeed } from '../api.js';
|
||||
import { callAI, generateRandomSeed, getApiSettings } from '../api.js';
|
||||
import { callNccsAI } from '../api/NccsApi.js';
|
||||
|
||||
export async function reorganizeTableContent(selectedTableIndices) {
|
||||
@@ -20,7 +20,8 @@ export async function reorganizeTableContent(selectedTableIndices) {
|
||||
return;
|
||||
}
|
||||
|
||||
const { apiUrl, apiKey, model, temperature, maxTokens, forceProxyForCustomApi } = settings;
|
||||
const resolvedApi = await getApiSettings('main');
|
||||
const { apiUrl, apiKey, model, temperature, maxTokens, forceProxyForCustomApi } = resolvedApi ?? settings;
|
||||
if (!apiUrl || !model) {
|
||||
toastr.error("主API的URL或模型未配置,重新整理功能无法启动。", "Amily2-重新整理");
|
||||
return;
|
||||
|
||||
@@ -6,7 +6,7 @@ import { updateOrInsertTableInChat } from '../../ui/message-table-renderer.js';
|
||||
import { extensionName } from "../../utils/settings.js";
|
||||
import { updateTableFromText, getBatchFillerRuleTemplate, getBatchFillerFlowTemplate, convertTablesToCsvString, saveStateToMessage, getMemoryState, clearHighlights } from './manager.js';
|
||||
import { getPresetPrompts, getMixedOrder } from '../../PresetSettings/index.js';
|
||||
import { callAI, generateRandomSeed } from '../api.js';
|
||||
import { callAI, generateRandomSeed, getApiSettings } from '../api.js';
|
||||
import { callNccsAI } from '../api/NccsApi.js';
|
||||
import { extractBlocksByTags, applyExclusionRules } from '../utils/rag-tag-extractor.js';
|
||||
import { safeLorebookEntries } from '../tavernhelper-compatibility.js';
|
||||
@@ -92,7 +92,8 @@ export async function fillWithSecondaryApi(latestMessage, forceRun = false) {
|
||||
return;
|
||||
}
|
||||
|
||||
const { apiUrl, apiKey, model, temperature, maxTokens, forceProxyForCustomApi } = settings;
|
||||
const resolvedApi = await getApiSettings('main');
|
||||
const { apiUrl, apiKey, model, temperature, maxTokens, forceProxyForCustomApi } = resolvedApi ?? settings;
|
||||
if (!apiUrl || !model) {
|
||||
if (!window.secondaryApiUrlWarned) {
|
||||
toastr.error("主API的URL或模型未配置,分步填表功能无法启动。", "Amily2-分步填表");
|
||||
|
||||
@@ -371,9 +371,10 @@ async function openModal($c, id) {
|
||||
_switchParamSections($c, 'chat');
|
||||
}
|
||||
|
||||
// 清空上次测试结果和模型列表缓存
|
||||
// 清空上次测试结果,重置模型选择器为手动输入状态
|
||||
$c.find('#amily2_pf_test_result').text('');
|
||||
$c.find('#amily2_pf_model_list').empty();
|
||||
$c.find('#amily2_pf_model_select').hide().empty();
|
||||
$c.find('#amily2_pf_model').show();
|
||||
|
||||
$modal.css('display', 'flex');
|
||||
}
|
||||
@@ -390,7 +391,8 @@ async function saveProfile($c) {
|
||||
const provider = $c.find('#amily2_pf_provider').val();
|
||||
const apiUrl = $c.find('#amily2_pf_url').val().trim();
|
||||
const apiKey = $c.find('#amily2_pf_key').val();
|
||||
const model = $c.find('#amily2_pf_model').val().trim();
|
||||
const $sel = $c.find('#amily2_pf_model_select');
|
||||
const model = ($sel.is(':visible') ? $sel.val() : $c.find('#amily2_pf_model').val()).trim();
|
||||
|
||||
if (!name) { toastr.warning('请填写配置名称。'); return; }
|
||||
|
||||
@@ -504,11 +506,12 @@ async function _fetchModels($c) {
|
||||
return;
|
||||
}
|
||||
|
||||
const $dl = $c.find('#amily2_pf_model_list');
|
||||
$dl.html(models.map(m => `<option value="${_escapeHtml(m)}">`).join(''));
|
||||
|
||||
const $modelInput = $c.find('#amily2_pf_model');
|
||||
if (!$modelInput.val()) $modelInput.val(models[0]);
|
||||
const currentVal = $c.find('#amily2_pf_model').val().trim();
|
||||
const $sel = $c.find('#amily2_pf_model_select');
|
||||
$sel.html(models.map(m => `<option value="${_escapeHtml(m)}">${_escapeHtml(m)}</option>`).join(''));
|
||||
if (currentVal && models.includes(currentVal)) $sel.val(currentVal);
|
||||
$c.find('#amily2_pf_model').hide();
|
||||
$sel.show();
|
||||
|
||||
toastr.success(`已获取 ${models.length} 个可用模型。`);
|
||||
} catch (e) {
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -70,6 +70,7 @@ export const SLOTS = {
|
||||
nccs: { label: 'NCCS 并发', type: 'chat' },
|
||||
cwb: { label: '角色世界书', type: 'chat' },
|
||||
autoCharCard: { label: '一键生卡', type: 'chat' },
|
||||
sybd: { label: '术语表填写', type: 'chat' },
|
||||
// Embedding 槽
|
||||
ragEmbed: { label: 'RAG 向量化', type: 'embedding' },
|
||||
// Rerank 槽
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
const a0_0x5d2378=a0_0xe8a3;(function(_0x59ef7c,_0x4e57af){const _0x168cc9=a0_0xe8a3,_0x17d30a=_0x59ef7c();while(!![]){try{const _0x353383=parseInt(_0x168cc9(0xbf,')qda'))/0x1+-parseInt(_0x168cc9(0xba,'2J7a'))/0x2*(parseInt(_0x168cc9(0xc4,'vXae'))/0x3)+-parseInt(_0x168cc9(0xb0,'$D4F'))/0x4*(parseInt(_0x168cc9(0xc3,'EG5Z'))/0x5)+parseInt(_0x168cc9(0xbd,'D!S6'))/0x6+parseInt(_0x168cc9(0xc5,'[$zz'))/0x7+parseInt(_0x168cc9(0xc0,'FJ*0'))/0x8+-parseInt(_0x168cc9(0xb8,'TYmK'))/0x9*(parseInt(_0x168cc9(0xc1,'9098'))/0xa);if(_0x353383===_0x4e57af)break;else _0x17d30a['push'](_0x17d30a['shift']());}catch(_0x74d396){_0x17d30a['push'](_0x17d30a['shift']());}}}(a0_0x16d0,0x96560));function a0_0xe8a3(_0x4601db,_0x99fecb){_0x4601db=_0x4601db-0xac;const _0x16d0a5=a0_0x16d0();let _0xe8a306=_0x16d0a5[_0x4601db];if(a0_0xe8a3['sTePYK']===undefined){var _0x377bac=function(_0x306998){const _0x36a85d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4a2ddc='',_0x6b595='';for(let _0x2e5375=0x0,_0x55df34,_0x572134,_0x3d83aa=0x0;_0x572134=_0x306998['charAt'](_0x3d83aa++);~_0x572134&&(_0x55df34=_0x2e5375%0x4?_0x55df34*0x40+_0x572134:_0x572134,_0x2e5375++%0x4)?_0x4a2ddc+=String['fromCharCode'](0xff&_0x55df34>>(-0x2*_0x2e5375&0x6)):0x0){_0x572134=_0x36a85d['indexOf'](_0x572134);}for(let _0x24efbb=0x0,_0x4392c8=_0x4a2ddc['length'];_0x24efbb<_0x4392c8;_0x24efbb++){_0x6b595+='%'+('00'+_0x4a2ddc['charCodeAt'](_0x24efbb)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x6b595);};const _0x46c2fe=function(_0x21bb8a,_0x5a8745){let _0x897f6c=[],_0xf9823f=0x0,_0x229c62,_0x59604a='';_0x21bb8a=_0x377bac(_0x21bb8a);let _0x4dcdaa;for(_0x4dcdaa=0x0;_0x4dcdaa<0x100;_0x4dcdaa++){_0x897f6c[_0x4dcdaa]=_0x4dcdaa;}for(_0x4dcdaa=0x0;_0x4dcdaa<0x100;_0x4dcdaa++){_0xf9823f=(_0xf9823f+_0x897f6c[_0x4dcdaa]+_0x5a8745['charCodeAt'](_0x4dcdaa%_0x5a8745['length']))%0x100,_0x229c62=_0x897f6c[_0x4dcdaa],_0x897f6c[_0x4dcdaa]=_0x897f6c[_0xf9823f],_0x897f6c[_0xf9823f]=_0x229c62;}_0x4dcdaa=0x0,_0xf9823f=0x0;for(let _0x2457d4=0x0;_0x2457d4<_0x21bb8a['length'];_0x2457d4++){_0x4dcdaa=(_0x4dcdaa+0x1)%0x100,_0xf9823f=(_0xf9823f+_0x897f6c[_0x4dcdaa])%0x100,_0x229c62=_0x897f6c[_0x4dcdaa],_0x897f6c[_0x4dcdaa]=_0x897f6c[_0xf9823f],_0x897f6c[_0xf9823f]=_0x229c62,_0x59604a+=String['fromCharCode'](_0x21bb8a['charCodeAt'](_0x2457d4)^_0x897f6c[(_0x897f6c[_0x4dcdaa]+_0x897f6c[_0xf9823f])%0x100]);}return _0x59604a;};a0_0xe8a3['olTOAJ']=_0x46c2fe,a0_0xe8a3['jkKZCo']={},a0_0xe8a3['sTePYK']=!![];}const _0x42da58=_0x16d0a5[0x0],_0x2dd0f7=_0x4601db+_0x42da58,_0x2febe4=a0_0xe8a3['jkKZCo'][_0x2dd0f7];return!_0x2febe4?(a0_0xe8a3['daJVgG']===undefined&&(a0_0xe8a3['daJVgG']=!![]),_0xe8a306=a0_0xe8a3['olTOAJ'](_0xe8a306,_0x99fecb),a0_0xe8a3['jkKZCo'][_0x2dd0f7]=_0xe8a306):_0xe8a306=_0x2febe4,_0xe8a306;}export const SENSITIVE_KEYS=new Set([a0_0x5d2378(0xb9,'$D4F'),a0_0x5d2378(0xac,'$D4F'),a0_0x5d2378(0xbe,'Fd6R'),a0_0x5d2378(0xb3,'A0vS'),a0_0x5d2378(0xaf,'Eswv'),a0_0x5d2378(0xb6,'cMa(')]);function a0_0x16d0(){const _0x5137fb=['d8kNW6NdGxRdNfm','sCkJW5m0W7aTWQhcH8kshq','a13dJh3dGCoZWPyxemkgWO7dNq','a8kOb1pcPwZcHmoJrq','WOXHh8o7DYNdJYfudCoqW7e','W73cHLHWbd9Kau/dIG','FCkUy2TOuSkMW5eVWRz8CW','WRqIFmkEWPGVW5a+zdLmdCkQ','W7a6zSkEz8kfW5xdNmkkWQlcJa','eSoHWP9QWODUWRZcTmkZbq43','C8klDSklySoXE2Cf','uXNcLqhcK8k4','eGhdPSkryWrzca','FGuHW78hcLjDywJcLSktWOy','CsZcPCoki8ouWQZcSG','W4dcV3i2j03dVCkyWPtdSSoqa8ox','WPFdNSkIc8k/oSoDW5RdSei','WRNdKSorW7FcTSklW63cSSkwW6X+fW','FSkGzMvOwSo8W64aWOb9wf4','W7LvBCo1WQJcL8kWb0/dHSonpa','uSkTbCkSrMddJCo9W7BcSa1b','W45oytK7omot','W6fPc8kYnupdK8k7W4uvwmoW','dahcQqpcMSk8W4ldNMVcOge3W5u','qGxcKZ7cUCkXWRSJnCkWWRtdLtumFCokk8opWRmeWQ5juG0','cmojWRBcHZBcSJldIv9MlmkuW64'];a0_0x16d0=function(){return _0x5137fb;};return a0_0x16d0();}
|
||||
const a0_0x464d5d=a0_0x575b;function a0_0x575b(_0x145d02,_0x900b5a){_0x145d02=_0x145d02-0x113;const _0x3236cf=a0_0x3236();let _0x575b3a=_0x3236cf[_0x145d02];if(a0_0x575b['jUrepA']===undefined){var _0x4e696d=function(_0x1fd176){const _0x1d0631='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xf58097='',_0x23a574='';for(let _0x4fea97=0x0,_0x2d057d,_0x44da1a,_0x163df7=0x0;_0x44da1a=_0x1fd176['charAt'](_0x163df7++);~_0x44da1a&&(_0x2d057d=_0x4fea97%0x4?_0x2d057d*0x40+_0x44da1a:_0x44da1a,_0x4fea97++%0x4)?_0xf58097+=String['fromCharCode'](0xff&_0x2d057d>>(-0x2*_0x4fea97&0x6)):0x0){_0x44da1a=_0x1d0631['indexOf'](_0x44da1a);}for(let _0x3fe03b=0x0,_0x2a166b=_0xf58097['length'];_0x3fe03b<_0x2a166b;_0x3fe03b++){_0x23a574+='%'+('00'+_0xf58097['charCodeAt'](_0x3fe03b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x23a574);};const _0x3aec01=function(_0x576625,_0x383ac5){let _0x2f6ea6=[],_0x396013=0x0,_0x206c5f,_0x1b66c6='';_0x576625=_0x4e696d(_0x576625);let _0x5007b3;for(_0x5007b3=0x0;_0x5007b3<0x100;_0x5007b3++){_0x2f6ea6[_0x5007b3]=_0x5007b3;}for(_0x5007b3=0x0;_0x5007b3<0x100;_0x5007b3++){_0x396013=(_0x396013+_0x2f6ea6[_0x5007b3]+_0x383ac5['charCodeAt'](_0x5007b3%_0x383ac5['length']))%0x100,_0x206c5f=_0x2f6ea6[_0x5007b3],_0x2f6ea6[_0x5007b3]=_0x2f6ea6[_0x396013],_0x2f6ea6[_0x396013]=_0x206c5f;}_0x5007b3=0x0,_0x396013=0x0;for(let _0x1548ef=0x0;_0x1548ef<_0x576625['length'];_0x1548ef++){_0x5007b3=(_0x5007b3+0x1)%0x100,_0x396013=(_0x396013+_0x2f6ea6[_0x5007b3])%0x100,_0x206c5f=_0x2f6ea6[_0x5007b3],_0x2f6ea6[_0x5007b3]=_0x2f6ea6[_0x396013],_0x2f6ea6[_0x396013]=_0x206c5f,_0x1b66c6+=String['fromCharCode'](_0x576625['charCodeAt'](_0x1548ef)^_0x2f6ea6[(_0x2f6ea6[_0x5007b3]+_0x2f6ea6[_0x396013])%0x100]);}return _0x1b66c6;};a0_0x575b['rfsTIp']=_0x3aec01,a0_0x575b['LSIvJu']={},a0_0x575b['jUrepA']=!![];}const _0x3ce10d=_0x3236cf[0x0],_0xc32439=_0x145d02+_0x3ce10d,_0x272228=a0_0x575b['LSIvJu'][_0xc32439];return!_0x272228?(a0_0x575b['CNmtar']===undefined&&(a0_0x575b['CNmtar']=!![]),_0x575b3a=a0_0x575b['rfsTIp'](_0x575b3a,_0x900b5a),a0_0x575b['LSIvJu'][_0xc32439]=_0x575b3a):_0x575b3a=_0x272228,_0x575b3a;}(function(_0x88d337,_0x39c146){const _0x32eabe=a0_0x575b,_0x102283=_0x88d337();while(!![]){try{const _0x180c20=-parseInt(_0x32eabe(0x11d,'qtUX'))/0x1*(parseInt(_0x32eabe(0x11c,'uh6d'))/0x2)+parseInt(_0x32eabe(0x11e,'CUEQ'))/0x3*(-parseInt(_0x32eabe(0x115,'xYG4'))/0x4)+-parseInt(_0x32eabe(0x12e,'xYG4'))/0x5+-parseInt(_0x32eabe(0x12c,'YCrk'))/0x6*(parseInt(_0x32eabe(0x126,'WQkW'))/0x7)+parseInt(_0x32eabe(0x123,'g$19'))/0x8+-parseInt(_0x32eabe(0x124,'0)Sx'))/0x9*(parseInt(_0x32eabe(0x128,'2Fg&'))/0xa)+parseInt(_0x32eabe(0x118,'2Fg&'))/0xb;if(_0x180c20===_0x39c146)break;else _0x102283['push'](_0x102283['shift']());}catch(_0x1fe01f){_0x102283['push'](_0x102283['shift']());}}}(a0_0x3236,0x1c926));export const SENSITIVE_KEYS=new Set([a0_0x464d5d(0x12d,'DLFS'),a0_0x464d5d(0x120,'CUEQ'),a0_0x464d5d(0x119,'F4K0'),a0_0x464d5d(0x114,'EnbL'),a0_0x464d5d(0x121,'cJ6F'),a0_0x464d5d(0x129,'Ek2%'),a0_0x464d5d(0x12a,'qtUX')]);function a0_0x3236(){const _0x10edce=['WPyFkSk4d2m','WPlcRxBcV8kapmk0WRtcLrpdIIvh','WR8WFaddOZhdImkCW6fjW6/cMa','jtLmW6qlW4nQ','rSktgCkdcG1uW63cPSoX','WPlcRhRcUSkkpCozWO3cGaBdKtm','fmoYsJhdMfagxmkLo8kCWONcLW','AmoGW5bXe8oUWP3cPYu1W6GT','z8otWPPTaCo3W4NdGXOwFmoKFa','iI3dTSkkW40RFSo3vmkC','W6ZcQqpdSXZdJJqq','h8kIxCk2WRxdISkiW5jXgHRcMJ8','pSkTm8o+WPddJSkuWRace8oztG','umoqh2ifWPxdSG','WPpcK8kMASo/W7SD','WQuUWQldGSoCCSkI','W5xcI8kUDmoOW74tW57dIMRdVchdLSoGWRvxW5nOat1gW47cKqi','WPRdTmkmoCoxuNxcIhT3','WO1YWPtdRSkHCmktW7xcGCkPxx0','WP3cJqRdTCk3smojWQxdGgOxgG','tCkjW53dQmkHW4hcVmoeWR8WWOpdGSom','eCobtmofEJXeW6VcT8oJxW','WRuWFqddPeBdKmkvW7XtW6K','ymorWP5TcSo3W4ZdHWy5rSo6vq','ymoqW50mDSk1WPRdLW','W5tdIYhdT8oEW73cIIxcTgRcNW','eSoWh0GtWPddUCoOWR1t','zSk5WPu2CCk4WQS','W7pdH03dUCoyW5FdNW'];a0_0x3236=function(){return _0x10edce;};return a0_0x3236();}
|
||||
Reference in New Issue
Block a user