@wujie-shell/core 1.0.3 → 1.0.4
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/bin/wujie-shell.mjs +1 -1
- package/dist/src/agents/bundled-agent-skills.mjs +1 -1
- package/dist/src/agents/bundled-agents.mjs +1 -1
- package/dist/src/agents/runtime-config.mjs +1 -1
- package/dist/src/chat/media-archive.mjs +1 -1
- package/dist/src/chat/queue.mjs +1 -1
- package/dist/src/common/cron-session-key.mjs +1 -1
- package/dist/src/common/diagnostics.mjs +1 -1
- package/dist/src/common/logging.mjs +1 -1
- package/dist/src/common/runtime-logger.mjs +1 -1
- package/dist/src/common/sqlite-paths.mjs +1 -1
- package/dist/src/common/user-events.mjs +1 -1
- package/dist/src/common/utils.mjs +1 -1
- package/dist/src/config/controller.mjs +1 -1
- package/dist/src/connectors/config-utils.mjs +1 -1
- package/dist/src/connectors/constants.mjs +1 -1
- package/dist/src/connectors/controller.mjs +1 -1
- package/dist/src/connectors/kdocs-cli.mjs +1 -1
- package/dist/src/connectors/lark-cli.mjs +1 -1
- package/dist/src/electron/main.mjs +1 -1
- package/dist/src/electron/preload.mjs +1 -1
- package/dist/src/electron/protocol-url-state.mjs +1 -1
- package/dist/src/events/domain-event-journal.mjs +1 -1
- package/dist/src/files/generated-files-store.mjs +1 -1
- package/dist/src/files/handlers.mjs +1 -1
- package/dist/src/gateway/chat-delta.mjs +1 -1
- package/dist/src/gateway/controller.mjs +1 -1
- package/dist/src/gateway/request-id-title-events.mjs +1 -1
- package/dist/src/gateway/ws-client.mjs +1 -1
- package/dist/src/index.mjs +1 -1
- package/dist/src/log-reporting/handlers.mjs +1 -1
- package/dist/src/log-reporting/report-logs.mjs +1 -1
- package/dist/src/models/handlers.mjs +1 -1
- package/dist/src/preferences/store.mjs +1 -1
- package/dist/src/request-id/handlers.mjs +1 -1
- package/dist/src/request-id/runtime-bridge.mjs +1 -1
- package/dist/src/request-id/session-store.mjs +1 -1
- package/dist/src/request-id/title.mjs +1 -1
- package/dist/src/runtime/cron-missed-run-policy.mjs +1 -1
- package/dist/src/runtime/index.mjs +1 -1
- package/dist/src/runtime/patch-channel-plugin-runtime.mjs +1 -1
- package/dist/src/runtime/patch-chat-history-mixed-tool-content.mjs +1 -1
- package/dist/src/runtime/patch-provider-request-id-header.mjs +1 -1
- package/dist/src/runtime/patch-qqbot-outbound-session-route.mjs +1 -1
- package/dist/src/runtime/patch-request-id-title-runtime.mjs +1 -1
- package/dist/src/runtime/patch-session-store-sqlite.mjs +1 -1
- package/dist/src/runtime/patch-weixin-outbound-session-route.mjs +1 -1
- package/dist/src/runtime/plugin-sync.mjs +1 -1
- package/dist/src/sessions/agent-sessions-map-store.mjs +1 -1
- package/dist/src/sessions/runtime-bridge.mjs +1 -1
- package/dist/src/sessions/session-data-service.mjs +1 -1
- package/dist/src/sessions/session-runtime-state-service.mjs +1 -1
- package/dist/src/sessions/session-runtime-state.mjs +1 -1
- package/dist/src/sessions/session-sqlite-store.mjs +1 -1
- package/dist/src/skills/import.mjs +1 -1
- package/dist/src/skills/market.mjs +1 -1
- package/dist/src/terminal/manager.mjs +1 -1
- package/dist/src/updates/controller.mjs +1 -1
- package/dist/src/updates/loader.mjs +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0xe4010a,_0x3c5ae9){const _0x265218=_0x3671,_0x5cd41b=_0xe4010a();while(!![]){try{const _0x41c25a=parseInt(_0x265218(0x1a8))/0x1+-parseInt(_0x265218(0x174))/0x2+parseInt(_0x265218(0x1f5))/0x3*(parseInt(_0x265218(0x1b0))/0x4)+parseInt(_0x265218(0x1a4))/0x5*(parseInt(_0x265218(0x17b))/0x6)+-parseInt(_0x265218(0x1bb))/0x7*(-parseInt(_0x265218(0x1a0))/0x8)+parseInt(_0x265218(0x1dc))/0x9*(parseInt(_0x265218(0x1b9))/0xa)+-parseInt(_0x265218(0x192))/0xb;if(_0x41c25a===_0x3c5ae9)break;else _0x5cd41b['push'](_0x5cd41b['shift']());}catch(_0xa45d30){_0x5cd41b['push'](_0x5cd41b['shift']());}}}(_0x2d87,0x745da));import{execFile}from'node:child_process';import{existsSync}from'node:fs';import{cp,mkdir,mkdtemp,readFile,readdir,rename,rm,writeFile}from'node:fs/promises';import{basename,dirname,join,parse}from'node:path';import{asRecord,dedupeStrings,getTrimmedString}from'../common/utils.mjs';function sanitizeManagedSkillDirSegment(_0x4d12f8){const _0x7faa13=_0x3671;let _0x453c37=getTrimmedString(_0x4d12f8)[_0x7faa13(0x1c4)](/[<>:"/\\|?*\u0000-\u001f]/g,'-');return _0x453c37=_0x453c37[_0x7faa13(0x1c4)](/-+/g,'-')['replace'](/^[-.]+|[-.]+$/g,''),_0x453c37['slice'](0x0,0x78);}function buildManagedSkillDirectoryName(_0x1f39d9,_0x56fb8c,_0x51e07d){const _0x28d1df=_0x3671,_0xb128c0=sanitizeManagedSkillDirSegment(_0x1f39d9)||sanitizeManagedSkillDirSegment(_0x51e07d)||'imported'+_0x28d1df(0x172),_0x23a069=sanitizeManagedSkillDirSegment(_0x56fb8c),_0x294584=_0x23a069?_0xb128c0+'-'+_0x23a069:_0xb128c0;return _0x294584[_0x28d1df(0x1df)](0x0,0xc8)||_0x28d1df(0x1a9)+_0x28d1df(0x172);}function extractVersionFromZipUrl(_0x3d59a2){const _0x17eed7=_0x3671;if(!getTrimmedString(_0x3d59a2))return null;try{const _0x1e5b71=basename(new URL(_0x3d59a2)[_0x17eed7(0x1e8)]),_0x5e0753=_0x1e5b71[_0x17eed7(0x1c4)](/\.zip$/i,'');return _0x5e0753[_0x17eed7(0x1ec)](/(?:^|[-_v])(\d+\.\d+\.\d+(?:[-+][\w.-]+)?)(?:$|[-_])/i)?.[0x1]??null;}catch{return null;}}async function extractZipToDirectory(_0x2e1c12,_0x186df9){await new Promise((_0x1c96ba,_0x4e78b0)=>{const _0x597f0e=_0x3671;let _0x167de7;if(process[_0x597f0e(0x1a6)]===_0x597f0e(0x1cb)){const _0x9ee01b=_0x2e1c12[_0x597f0e(0x1c4)](/'/g,'\x27\x27'),_0x43a3d8=_0x186df9['replace'](/'/g,'\x27\x27');_0x167de7=execFile(_0x597f0e(0x195)+'ll.exe',['-NoProfi'+'le',_0x597f0e(0x17e)+_0x597f0e(0x19e),'-Command',_0x597f0e(0x1c8)+_0x597f0e(0x1b7)+_0x597f0e(0x1ca)+'ath\x20\x27'+_0x9ee01b+('\x27\x20-Desti'+_0x597f0e(0x189)+'th\x20\x27')+_0x43a3d8+_0x597f0e(0x1ab)],_0x3c6f79=>_0x3c6f79?_0x4e78b0(_0x3c6f79):_0x1c96ba());}else _0x167de7=execFile(_0x597f0e(0x170),['-q',_0x2e1c12,'-d',_0x186df9],_0x5e2ef3=>_0x5e2ef3?_0x4e78b0(_0x5e2ef3):_0x1c96ba());_0x167de7['on'](_0x597f0e(0x1f6),_0x4e78b0);});}async function findSkillManifestDirectories(_0x1effd5){const _0x37d5d3=[];async function _0x51aeb8(_0x5a659c){const _0x42c248=_0x3671,_0x55be65=await readdir(_0x5a659c,{'withFileTypes':!![]}),_0x54f0cd=new Set(_0x55be65[_0x42c248(0x191)](_0x46c84f=>_0x46c84f[_0x42c248(0x1e5)][_0x42c248(0x1bf)+_0x42c248(0x19a)]()));if(_0x54f0cd[_0x42c248(0x1ef)](_0x42c248(0x18c))||_0x54f0cd[_0x42c248(0x1ef)]('SKILLS.M'+'D')){_0x37d5d3[_0x42c248(0x1e9)](_0x5a659c);return;}for(const _0x2451ae of _0x55be65){if(!_0x2451ae[_0x42c248(0x171)+_0x42c248(0x1a1)]()||_0x2451ae['name']===_0x42c248(0x1ad)||_0x2451ae[_0x42c248(0x1e5)][_0x42c248(0x1b1)+'th']('.'))continue;await _0x51aeb8(join(_0x5a659c,_0x2451ae[_0x42c248(0x1e5)]));}}return await _0x51aeb8(_0x1effd5),_0x37d5d3;}function _0x3671(_0x5802fd,_0x4aace0){_0x5802fd=_0x5802fd-0x16f;const _0x2d875b=_0x2d87();let _0x3671ec=_0x2d875b[_0x5802fd];return _0x3671ec;}async function normalizeImportedSkillManifest(_0x459aec){const _0x119fb0=_0x3671,_0x288b8e=join(_0x459aec,_0x119fb0(0x1ce)),_0x33f6ab=await readdir(_0x459aec,{'withFileTypes':!![]})['catch'](()=>[]);let _0x1ee147=null,_0x188b7b=null;for(const _0x175de7 of _0x33f6ab){if(!_0x175de7['isFile']())continue;const _0x6a442f=_0x175de7[_0x119fb0(0x1e5)][_0x119fb0(0x1bf)+_0x119fb0(0x19a)]();if(_0x6a442f===_0x119fb0(0x18c))_0x1ee147=_0x175de7[_0x119fb0(0x1e5)];else{if(_0x6a442f===_0x119fb0(0x1f8)+'D')_0x188b7b=_0x175de7[_0x119fb0(0x1e5)];}}if(_0x1ee147===_0x119fb0(0x1ce))return;const _0x4cd227=_0x1ee147??_0x188b7b;if(!_0x4cd227)return;const _0x2d15ad=join(_0x459aec,_0x4cd227);if(_0x2d15ad!==_0x288b8e)await rename(_0x2d15ad,_0x288b8e);}async function moveDirectoryWithOverwrite(_0x3ef153,_0x2974c6){const _0x41062a=_0x3671;await mkdir(dirname(_0x2974c6),{'recursive':!![]});try{await rename(_0x3ef153,_0x2974c6);return;}catch(_0x551bd7){if(_0x551bd7?.[_0x41062a(0x184)]!=='EXDEV')throw _0x551bd7;}await cp(_0x3ef153,_0x2974c6,{'recursive':!![],'force':!![]}),await rm(_0x3ef153,{'recursive':!![],'force':!![]});}async function readManifestText(_0x4c5cb3){const _0x4ac765=_0x3671,_0x44923e=[join(_0x4c5cb3,_0x4ac765(0x1ce)),join(_0x4c5cb3,_0x4ac765(0x1c2)+'d')][_0x4ac765(0x188)](_0x28ab18=>existsSync(_0x28ab18));if(!_0x44923e)return'';return await readFile(_0x44923e,'utf8')[_0x4ac765(0x197)](()=>'');}function _0x2d87(){const _0x2b0922=['keys','ill-down','powershe','arrayBuf','catch','skill\x20co','hasOwnPr','ase','ive','stringif','size','ractive','法删除','8Xkfoxr','ory','start','LS.md','1957215XlICho','getPath','platform','个\x20skill\x20','2637zEWpcU','imported','y\x20is\x20req','\x27\x20-Force','能导入一个','__MACOSX','trim','filter','28vrUjWN','startsWi','from','version','sured\x20wi','overwrit','技能目录\x22','rchive\x20-','位于自定义\x20sk','10QwTMoR','未找到该技能在磁','3806509NqfKDA','openFile','resolveS','nfig\x20ent','toUpperC','load','ZIP\x20中包含多','SKILLS.m','是否覆盖','replace','hout\x20gat','canceled','skillKey','Expand-A','onfig\x20en','LiteralP','win32','fig','目录,当前一次只','SKILL.md','isArray','prototyp','\x20SKILL.m','skills','tateDir','disabled','markConf','extracte','gatewayS','\x20添加成功','apiKey','showOpen','盘上的目录,可能','3612339onDrwl','teway\x20re','toString','slice','内置/扩展技能无','operty','Dialog','igWriteH','andledIn','name','Skill\x20ke','导入技能\x20ZIP','pathname','push','readConf','wujie-sk','match','filePath','ed-skill','has',':\x5cs*(.+)','length','enabled','boolean','always','171069iVkRzj','error','selected','SKILLS.M','temp','该技能不允许删除','env','unzip','isDirect','-skill','zipUrl','602844igNfdS','skills\x20c','bundled','extraDir','rt-','eway\x20res','ternally','12sxqHut','managed\x20','ZIP\x20中未找到','-NonInte','已取消导入','ZipPath','nfig\x20upd','\x22已存在,请确认','entries','code','\x20失败(HTTP','writeCon','tart','find','nationPa','oved\x20wit','-extra','SKILL.MD','ills\x20路径,','config','killKey','call','map','14869646fCPSaK'];_0x2d87=function(){return _0x2b0922;};return _0x2d87();}function resolveFrontmatterValue(_0x2587c5,_0x1c0c01){const _0x20aa7a=_0x3671,_0x234838=_0x2587c5[_0x20aa7a(0x1ec)](/^---\s*\r?\n([\s\S]*?)\r?\n---/),_0x5aec24=_0x234838?.[0x1]??'',_0x11c2f1=_0x5aec24[_0x20aa7a(0x1ec)](new RegExp('^\x5cs*'+_0x1c0c01+(_0x20aa7a(0x1f0)+'$'),'m'))?.[0x1];return getTrimmedString(_0x11c2f1)[_0x20aa7a(0x1c4)](/^["']|["']$/g,'')||null;}async function resolveSkillKeyFromManifest(_0x1037d3){const _0x3b18ce=_0x3671,_0x405a00=await readManifestText(_0x1037d3);if(!_0x405a00[_0x3b18ce(0x1ae)]())return null;const _0x267faa=_0x405a00[_0x3b18ce(0x1ec)](/"skillKey"\s*:\s*"([^"]+)"/);if(_0x267faa?.[0x1])return getTrimmedString(_0x267faa[0x1]);return resolveFrontmatterValue(_0x405a00,_0x3b18ce(0x1c7))||resolveFrontmatterValue(_0x405a00,_0x3b18ce(0x1e5));}async function resolveSkillVersionFromManifest(_0x574300){const _0x27abd1=_0x3671,_0x23ae89=await readManifestText(_0x574300);if(!_0x23ae89['trim']())return null;const _0x247c28=_0x23ae89['match'](/"version"\s*:\s*"([^"]+)"/);if(_0x247c28?.[0x1])return getTrimmedString(_0x247c28[0x1]);return resolveFrontmatterValue(_0x23ae89,_0x27abd1(0x1b3));}async function collectSkillDirsUnderRoot(_0x390467,_0x24c314,_0x4eebeb){const _0x21b2b0=_0x3671;if(!existsSync(_0x390467))return;for(const _0x1aa3c0 of await readdir(_0x390467,{'withFileTypes':!![]})[_0x21b2b0(0x197)](()=>[])){if(!_0x1aa3c0[_0x21b2b0(0x171)+_0x21b2b0(0x1a1)]())continue;const _0x2b70d2=join(_0x390467,_0x1aa3c0[_0x21b2b0(0x1e5)]),_0x24fe11=await resolveSkillKeyFromManifest(_0x2b70d2);if(_0x24fe11&&_0x24c314[_0x21b2b0(0x1ef)](_0x24fe11))_0x4eebeb['add'](_0x2b70d2);}}async function removeSkillConfigEntries(_0xac0b50,_0x39c5d4){const _0x5c4510=_0x3671,_0x3d8a40=new Set(_0x39c5d4[_0x5c4510(0x191)](getTrimmedString)[_0x5c4510(0x1af)](Boolean));if(_0x3d8a40[_0x5c4510(0x19d)]===0x0)return;const _0x59aecb=await _0xac0b50[_0x5c4510(0x1ea)+'ig']()[_0x5c4510(0x197)](()=>({})),_0x135cf2=asRecord(_0x59aecb[_0x5c4510(0x1d2)]),_0x78e7b8={...asRecord(_0x135cf2[_0x5c4510(0x183)])};let _0x745708=![];for(const _0x351d2c of _0x3d8a40){Object[_0x5c4510(0x1d0)+'e'][_0x5c4510(0x199)+'operty'][_0x5c4510(0x190)](_0x78e7b8,_0x351d2c)&&(delete _0x78e7b8[_0x351d2c],_0x745708=!![]);}if(!_0x745708)return;_0x135cf2[_0x5c4510(0x183)]=_0x78e7b8,_0x59aecb[_0x5c4510(0x1d2)]=_0x135cf2,_0xac0b50[_0x5c4510(0x1d5)+'igWriteH'+_0x5c4510(0x1e4)+_0x5c4510(0x17a)]?.(),await _0xac0b50['writeCon'+_0x5c4510(0x1cc)]?.(_0x59aecb,'skill\x20co'+_0x5c4510(0x1be)+'ries\x20rem'+_0x5c4510(0x18a)+_0x5c4510(0x1c5)+_0x5c4510(0x179)+_0x5c4510(0x187));}export async function deleteManagedSkill({payload:payload={},gateway:_0x39fdee,configController:_0x1887c4}){const _0x3bbdaa=_0x3671,_0x3c1931=asRecord(payload),_0x2090a8=getTrimmedString(_0x3c1931[_0x3bbdaa(0x1c7)]??_0x3c1931[_0x3bbdaa(0x1e5)]);if(!_0x2090a8)throw new Error(_0x3bbdaa(0x1e6)+_0x3bbdaa(0x1aa)+'uired');const _0x59b101=await _0x39fdee['skills']['status']()['catch'](()=>({'skills':[]})),_0x2e7b43=Array[_0x3bbdaa(0x1cf)](asRecord(_0x59b101)[_0x3bbdaa(0x1d2)])?asRecord(_0x59b101)['skills']:[],_0x576c60=_0x2e7b43['map'](asRecord)[_0x3bbdaa(0x188)](_0x3cd399=>{const _0x36f0c2=_0x3bbdaa;return getTrimmedString(_0x3cd399[_0x36f0c2(0x1c7)])===_0x2090a8||getTrimmedString(_0x3cd399[_0x36f0c2(0x1d7)+_0x36f0c2(0x18f)])===_0x2090a8||getTrimmedString(_0x3cd399[_0x36f0c2(0x1e5)])===_0x2090a8;});if(!_0x576c60)throw new Error('技能不存在或已移'+'除');if(_0x576c60[_0x3bbdaa(0x1f4)])throw new Error(_0x3bbdaa(0x1fa));if(_0x576c60[_0x3bbdaa(0x176)]||_0x576c60['source']==='openclaw'+'-bundled'||_0x576c60['source']==='openclaw'+_0x3bbdaa(0x18b))throw new Error(_0x3bbdaa(0x1e0)+_0x3bbdaa(0x19f));if(!_0x576c60[_0x3bbdaa(0x1d4)])throw new Error('请先关闭技能后再'+'删除');const _0x37ffa0=getTrimmedString(_0x576c60[_0x3bbdaa(0x1d7)+_0x3bbdaa(0x18f)])||_0x2090a8,_0x348129=new Set([_0x2090a8,_0x37ffa0,getTrimmedString(_0x576c60['name'])][_0x3bbdaa(0x1af)](Boolean)),_0x94bf6b=new Set([join(_0x1887c4[_0x3bbdaa(0x1bd)+_0x3bbdaa(0x1d3)](),_0x3bbdaa(0x1d2)),join(_0x1887c4[_0x3bbdaa(0x1bd)+_0x3bbdaa(0x1d3)](),'workspac'+'e','skills')]),_0x395b8b=new Set();for(const _0x11803d of _0x94bf6b)await collectSkillDirsUnderRoot(_0x11803d,_0x348129,_0x395b8b);if(_0x395b8b[_0x3bbdaa(0x19d)]===0x0)throw new Error(_0x3bbdaa(0x1ba)+_0x3bbdaa(0x1db)+_0x3bbdaa(0x1b8)+_0x3bbdaa(0x18d)+'请手动删除');for(const _0x352fee of _0x395b8b)await rm(_0x352fee,{'recursive':!![],'force':!![]});return await removeSkillConfigEntries(_0x1887c4,[..._0x348129]),{'ok':!![],'skillKey':_0x2090a8};}export async function updateManagedSkillConfig({payload:payload={},configController:_0x25ba92}){const _0x287bb0=_0x3671,_0x8b44ba=asRecord(payload),_0xf3b935=getTrimmedString(_0x8b44ba[_0x287bb0(0x1c7)]??_0x8b44ba[_0x287bb0(0x1e5)]);if(!_0xf3b935)throw new Error(_0x287bb0(0x1e6)+_0x287bb0(0x1aa)+'uired');const _0x3855f9=await _0x25ba92[_0x287bb0(0x1ea)+'ig']()[_0x287bb0(0x197)](()=>({})),_0x41ae25=asRecord(_0x3855f9[_0x287bb0(0x1d2)]),_0x289397={...asRecord(_0x41ae25['entries'])},_0x276c61=asRecord(_0x289397[_0xf3b935]),_0x1b552a={..._0x276c61};typeof _0x8b44ba[_0x287bb0(0x1f2)]===_0x287bb0(0x1f3)&&(_0x1b552a[_0x287bb0(0x1f2)]=_0x8b44ba[_0x287bb0(0x1f2)]);const _0x2fcdb9={...asRecord(_0x8b44ba[_0x287bb0(0x16f)])},_0x2c7d1b=getTrimmedString(_0x8b44ba[_0x287bb0(0x1d9)]);if(_0x2c7d1b)_0x2fcdb9[_0x287bb0(0x1d9)]=_0x2c7d1b;Object[_0x287bb0(0x193)](_0x2fcdb9)[_0x287bb0(0x1f1)]>0x0&&(_0x1b552a['env']={...asRecord(_0x276c61[_0x287bb0(0x16f)]),..._0x2fcdb9});const _0x5413cb=asRecord(_0x8b44ba[_0x287bb0(0x18e)]);return Object[_0x287bb0(0x193)](_0x5413cb)[_0x287bb0(0x1f1)]>0x0&&(_0x1b552a[_0x287bb0(0x18e)]={...asRecord(_0x276c61[_0x287bb0(0x18e)]),..._0x5413cb}),_0x289397[_0xf3b935]=_0x1b552a,_0x41ae25[_0x287bb0(0x183)]=_0x289397,_0x3855f9[_0x287bb0(0x1d2)]=_0x41ae25,_0x25ba92[_0x287bb0(0x1d5)+_0x287bb0(0x1e3)+'andledIn'+_0x287bb0(0x17a)]?.(),await _0x25ba92['writeCon'+'fig']?.(_0x3855f9,_0x287bb0(0x198)+_0x287bb0(0x181)+'ated\x20wit'+_0x287bb0(0x1c5)+_0x287bb0(0x179)+_0x287bb0(0x187)),{'ok':!![],'skillKey':_0xf3b935};}async function ensureManagedSkillsConfig(_0x3ae5c0,_0x595209=[]){const _0x4a7c17=_0x3671,_0x20eadc=await _0x3ae5c0[_0x4a7c17(0x1ea)+'ig']()['catch'](()=>({})),_0x2940aa=asRecord(_0x20eadc[_0x4a7c17(0x1d2)]),_0x110b99=asRecord(_0x2940aa[_0x4a7c17(0x1c0)]),_0x1c0b13=Array['isArray'](_0x110b99['extraDir'+'s'])?_0x110b99[_0x4a7c17(0x177)+'s']:[],_0x517df5=join(_0x3ae5c0[_0x4a7c17(0x1bd)+_0x4a7c17(0x1d3)](),_0x4a7c17(0x1d2)),_0x59f49b=dedupeStrings([..._0x1c0b13,_0x517df5]),_0x3c91b7={...asRecord(_0x2940aa[_0x4a7c17(0x183)])};let _0x32a267=JSON['stringif'+'y'](_0x1c0b13)!==JSON[_0x4a7c17(0x19c)+'y'](_0x59f49b);for(const _0x2ae100 of _0x595209[_0x4a7c17(0x191)](getTrimmedString)[_0x4a7c17(0x1af)](Boolean)){if(Object['prototyp'+'e'][_0x4a7c17(0x199)+_0x4a7c17(0x1e1)]['call'](_0x3c91b7,_0x2ae100))continue;_0x3c91b7[_0x2ae100]={'enabled':!![]},_0x32a267=!![];}if(!_0x32a267)return;_0x110b99[_0x4a7c17(0x177)+'s']=_0x59f49b,_0x2940aa['load']=_0x110b99,_0x2940aa['entries']=_0x3c91b7,_0x20eadc['skills']=_0x2940aa,_0x3ae5c0[_0x4a7c17(0x1d5)+'igWriteH'+_0x4a7c17(0x1e4)+_0x4a7c17(0x17a)]?.(),await _0x3ae5c0[_0x4a7c17(0x186)+_0x4a7c17(0x1cc)]?.(_0x20eadc,_0x4a7c17(0x17c)+_0x4a7c17(0x175)+_0x4a7c17(0x1c9)+_0x4a7c17(0x1b4)+'thout\x20ga'+_0x4a7c17(0x1dd)+_0x4a7c17(0x1a2));}export async function syncManagedSkillsToConfig(_0x5001d4){const _0x256aec=_0x3671,_0x10bc04=join(_0x5001d4['resolveS'+'tateDir'](),_0x256aec(0x1d2)),_0x3595e2=[];for(const _0x327095 of await readdir(_0x10bc04,{'withFileTypes':!![]})[_0x256aec(0x197)](()=>[])){if(!_0x327095[_0x256aec(0x171)+'ory']())continue;const _0x5861a9=await resolveSkillKeyFromManifest(join(_0x10bc04,_0x327095[_0x256aec(0x1e5)]));if(_0x5861a9)_0x3595e2[_0x256aec(0x1e9)](_0x5861a9);}return await ensureManagedSkillsConfig(_0x5001d4,_0x3595e2),{'skillKeys':_0x3595e2};}async function resolveZipPath({payload:_0xa15241,app:_0x17c9a1,dialog:_0x4d4156,dialogWindow:_0x222eba}){const _0x216d78=_0x3671,_0x42ae16=getTrimmedString(_0xa15241[_0x216d78(0x173)]);let _0x5bfe44=getTrimmedString(_0xa15241[_0x216d78(0x1f7)+_0x216d78(0x180)]),_0x24fcff=null;if(!_0x5bfe44&&_0x42ae16){const _0x133e91=new URL(_0x42ae16);_0x24fcff=await mkdtemp(join(_0x17c9a1['getPath'](_0x216d78(0x1f9)),_0x216d78(0x1eb)+_0x216d78(0x194)+'load-')),_0x5bfe44=join(_0x24fcff,basename(_0x133e91[_0x216d78(0x1e8)])||'download'+_0x216d78(0x1ee)+'.zip');const _0xd0ea45=await fetch(_0x133e91[_0x216d78(0x1de)]());if(!_0xd0ea45['ok'])throw new Error('下载技能\x20ZIP'+_0x216d78(0x185)+'\x20'+_0xd0ea45['status']+')');await writeFile(_0x5bfe44,Buffer[_0x216d78(0x1b2)](await _0xd0ea45[_0x216d78(0x196)+'fer']()));}if(!_0x5bfe44){const _0x1841be={'title':_0x216d78(0x1e7),'properties':[_0x216d78(0x1bc)],'filters':[{'name':'ZIP\x20Arch'+_0x216d78(0x19b),'extensions':['zip']}]},_0x3539f3=_0x222eba?await _0x4d4156['showOpen'+_0x216d78(0x1e2)](_0x222eba,_0x1841be):await _0x4d4156[_0x216d78(0x1da)+_0x216d78(0x1e2)](_0x1841be);if(_0x3539f3[_0x216d78(0x1c6)]||_0x3539f3[_0x216d78(0x1ed)+'s']['length']===0x0)return{'cancelled':!![],'zipPath':null,'downloadedZipDir':_0x24fcff};_0x5bfe44=_0x3539f3[_0x216d78(0x1ed)+'s'][0x0];}return{'cancelled':![],'zipPath':_0x5bfe44,'downloadedZipDir':_0x24fcff};}export async function importSkillZip({payload:payload={},app:_0x569206,dialog:_0x2da5bc,dialogWindow:_0x553a10,configController:_0x288d8a}){const _0x4dc1db=_0x3671,_0x3b7fd4=asRecord(payload),_0x3f32c0=getTrimmedString(_0x3b7fd4[_0x4dc1db(0x173)]),{cancelled:_0x574845,zipPath:_0xb1865c,downloadedZipDir:_0x21231f}=await resolveZipPath({'payload':_0x3b7fd4,'app':_0x569206,'dialog':_0x2da5bc,'dialogWindow':_0x553a10});if(_0x574845)return{'cancelled':!![],'imported':![],'overwritten':![],'skillDirName':null,'selectedZipPath':null,'zipUrl':_0x3f32c0||null,'message':_0x4dc1db(0x17f)};const _0x5be637=await mkdtemp(join(_0x569206[_0x4dc1db(0x1a5)](_0x4dc1db(0x1f9)),_0x4dc1db(0x1eb)+'ill-impo'+_0x4dc1db(0x178))),_0x40d2d9=join(_0x5be637,_0x4dc1db(0x1d6)+'d');try{await mkdir(_0x40d2d9,{'recursive':!![]}),await extractZipToDirectory(_0xb1865c,_0x40d2d9);const _0x2bbca3=await findSkillManifestDirectories(_0x40d2d9);if(_0x2bbca3[_0x4dc1db(0x1f1)]===0x0)throw new Error(_0x4dc1db(0x17d)+_0x4dc1db(0x1d1)+'d\x20或\x20SKIL'+_0x4dc1db(0x1a3));if(_0x2bbca3[_0x4dc1db(0x1f1)]>0x1)throw new Error(_0x4dc1db(0x1c1)+_0x4dc1db(0x1a7)+_0x4dc1db(0x1cd)+_0x4dc1db(0x1ac));const _0x1bcb70=_0x2bbca3[0x0];await normalizeImportedSkillManifest(_0x1bcb70);const _0x172a3c=basename(_0x1bcb70),_0x3a53bd=parse(_0xb1865c)[_0x4dc1db(0x1e5)][_0x4dc1db(0x1ae)]()||_0x4dc1db(0x1a9)+_0x4dc1db(0x172),_0x410523=_0x172a3c===_0x4dc1db(0x1d6)+'d'?_0x3a53bd:_0x172a3c,_0x7e0733=await resolveSkillKeyFromManifest(_0x1bcb70)??_0x410523,_0x174bcf=await resolveSkillVersionFromManifest(_0x1bcb70)??(getTrimmedString(_0x3b7fd4['version'])||extractVersionFromZipUrl(_0x3f32c0)),_0x5edbaf=buildManagedSkillDirectoryName(_0x7e0733,_0x174bcf,_0x410523),_0xe2823b=join(_0x288d8a[_0x4dc1db(0x1bd)+_0x4dc1db(0x1d3)](),_0x4dc1db(0x1d2)),_0x4c1dfb=join(_0xe2823b,_0x5edbaf);if(existsSync(_0x4c1dfb)){if(_0x3b7fd4[_0x4dc1db(0x1b5)+'e']!==!![])return{'cancelled':![],'imported':![],'overwritten':![],'needConfirmOverwrite':!![],'skillDirName':_0x5edbaf,'overwriteTargetPath':_0x4c1dfb,'selectedZipPath':_0xb1865c,'zipUrl':_0x3f32c0||null,'message':_0x4dc1db(0x1b6)+_0x5edbaf+(_0x4dc1db(0x182)+_0x4dc1db(0x1c3))};await rm(_0x4c1dfb,{'recursive':!![],'force':!![]});}let _0x28c74d=_0x1bcb70;return _0x172a3c===_0x4dc1db(0x1d6)+'d'&&(_0x28c74d=join(_0x5be637,_0x5edbaf),await rename(_0x1bcb70,_0x28c74d)),await moveDirectoryWithOverwrite(_0x28c74d,_0x4c1dfb),await ensureManagedSkillsConfig(_0x288d8a,[_0x7e0733]),{'cancelled':![],'imported':!![],'overwritten':_0x3b7fd4[_0x4dc1db(0x1b5)+'e']===!![],'skillKey':_0x7e0733,'manifestKey':_0x7e0733,'skillDirName':_0x5edbaf,'targetPath':_0x4c1dfb,'selectedZipPath':_0xb1865c,'zipUrl':_0x3f32c0||null,'message':_0x5edbaf+_0x4dc1db(0x1d8)};}finally{await rm(_0x5be637,{'recursive':!![],'force':!![]});if(_0x21231f)await rm(_0x21231f,{'recursive':!![],'force':!![]});}}
|
|
1
|
+
(function(_0x45f83b,_0x175b27){const _0x30a9a4=_0x2de2,_0x551086=_0x45f83b();while(!![]){try{const _0x28c388=parseInt(_0x30a9a4(0x1b1))/0x1+parseInt(_0x30a9a4(0x195))/0x2+-parseInt(_0x30a9a4(0x16f))/0x3+-parseInt(_0x30a9a4(0x17c))/0x4*(-parseInt(_0x30a9a4(0x1cf))/0x5)+-parseInt(_0x30a9a4(0x1ae))/0x6*(-parseInt(_0x30a9a4(0x17d))/0x7)+parseInt(_0x30a9a4(0x164))/0x8*(parseInt(_0x30a9a4(0x177))/0x9)+-parseInt(_0x30a9a4(0x176))/0xa*(parseInt(_0x30a9a4(0x1b4))/0xb);if(_0x28c388===_0x175b27)break;else _0x551086['push'](_0x551086['shift']());}catch(_0x30efa7){_0x551086['push'](_0x551086['shift']());}}}(_0x43d4,0xdca98));import{execFile}from'node:child_process';function _0x2de2(_0x4e6358,_0x2eb887){_0x4e6358=_0x4e6358-0x141;const _0x43d43c=_0x43d4();let _0x2de20f=_0x43d43c[_0x4e6358];return _0x2de20f;}import{existsSync}from'node:fs';import{cp,mkdir,mkdtemp,readFile,readdir,rename,rm,writeFile}from'node:fs/promises';import{basename,dirname,join,parse}from'node:path';import{asRecord,dedupeStrings,getTrimmedString}from'../common/utils.mjs';function sanitizeManagedSkillDirSegment(_0x4f7c00){const _0x5e5e71=_0x2de2;let _0xeef972=getTrimmedString(_0x4f7c00)[_0x5e5e71(0x15e)](/[<>:"/\\|?*\u0000-\u001f]/g,'-');return _0xeef972=_0xeef972[_0x5e5e71(0x15e)](/-+/g,'-')[_0x5e5e71(0x15e)](/^[-.]+|[-.]+$/g,''),_0xeef972[_0x5e5e71(0x1ca)](0x0,0x78);}function buildManagedSkillDirectoryName(_0x33dc59,_0xe022a9,_0x5902f4){const _0xd85cea=_0x2de2,_0x5ac22f=sanitizeManagedSkillDirSegment(_0x33dc59)||sanitizeManagedSkillDirSegment(_0x5902f4)||'imported'+_0xd85cea(0x179),_0x13682b=sanitizeManagedSkillDirSegment(_0xe022a9),_0x33d753=_0x13682b?_0x5ac22f+'-'+_0x13682b:_0x5ac22f;return _0x33d753[_0xd85cea(0x1ca)](0x0,0xc8)||_0xd85cea(0x17e)+_0xd85cea(0x179);}function extractVersionFromZipUrl(_0x4234a5){const _0x31a3a2=_0x2de2;if(!getTrimmedString(_0x4234a5))return null;try{const _0x2082f0=basename(new URL(_0x4234a5)[_0x31a3a2(0x1bf)]),_0x508a8f=_0x2082f0[_0x31a3a2(0x15e)](/\.zip$/i,'');return _0x508a8f[_0x31a3a2(0x175)](/(?:^|[-_v])(\d+\.\d+\.\d+(?:[-+][\w.-]+)?)(?:$|[-_])/i)?.[0x1]??null;}catch{return null;}}function _0x43d4(){const _0x34a3f5=['skills','selected','utf8','ries\x20rem','entries','config','find','teway\x20re','disabled','enabled','replace','ternally','Skill\x20ke','length','push','win32','10677976tuzNIC','-Command','isArray','ill-impo','getPath','ZipPath','ll.exe','managed\x20','env','\x27\x20-Force','技能不存在或已移','2241813AdlyQX','uired','d\x20或\x20SKIL','rt-','盘上的目录,可能','-NoProfi','match','54433010jKUyTO','9aDWdik','powershe','-skill','ills\x20路径,','from','8YtvvbV','187061maNlDu','imported','.zip','法删除','skillKey','zip','ZIP\x20中包含多','eway\x20res','isDirect','技能目录\x22','showOpen','hout\x20gat','unzip','sured\x20wi','tateDir','\x22已存在,请确认','hasOwnPr','fig','overwrit','size','skills\x20c','位于自定义\x20sk','filter','wujie-sk','3123666fTascf','该技能不允许删除','\x20添加成功','readConf','markConf','gatewayS','boolean','请手动删除','ath\x20\x27','stringif','目录,当前一次只','keys','isFile','catch','status','name','-bundled','temp','ase','download','导入技能\x20ZIP','zipUrl','version','add','tart','354Yogzez','y\x20is\x20req','always','1174749ZiemwQ','\x27\x20-Desti','error','11gFhlZV','call','ZIP\x20Arch','下载技能\x20ZIP','apiKey','onfig\x20en','-extra','startsWi','thout\x20ga','killKey','igWriteH','pathname','个\x20skill\x20','ZIP\x20中未找到','code','ory','load','-NonInte','Dialog','SKILL.md','operty','resolveS','slice','rchive\x20-','openFile','LS.md','ill-down','3616045HVzqlp','has','LiteralP','filePath','th\x20\x27','请先关闭技能后再','extraDir','toUpperC','Expand-A','SKILLS.m','map','source','未找到该技能在磁','writeCon','extracte','load-','SKILLS.M','start',':\x5cs*(.+)','SKILL.MD','andledIn','skill\x20co','nfig\x20upd'];_0x43d4=function(){return _0x34a3f5;};return _0x43d4();}async function extractZipToDirectory(_0x493919,_0x4a21a2){await new Promise((_0x923926,_0x4ff9bc)=>{const _0x3dc2d0=_0x2de2;let _0x2479a8;if(process['platform']===_0x3dc2d0(0x163)){const _0x31d09c=_0x493919[_0x3dc2d0(0x15e)](/'/g,'\x27\x27'),_0x5a35a9=_0x4a21a2[_0x3dc2d0(0x15e)](/'/g,'\x27\x27');_0x2479a8=execFile(_0x3dc2d0(0x178)+_0x3dc2d0(0x16a),[_0x3dc2d0(0x174)+'le',_0x3dc2d0(0x1c5)+'ractive',_0x3dc2d0(0x165),_0x3dc2d0(0x145)+_0x3dc2d0(0x1cb)+_0x3dc2d0(0x1d1)+_0x3dc2d0(0x19d)+_0x31d09c+(_0x3dc2d0(0x1b2)+'nationPa'+_0x3dc2d0(0x141))+_0x5a35a9+_0x3dc2d0(0x16d)],_0x1a3bd7=>_0x1a3bd7?_0x4ff9bc(_0x1a3bd7):_0x923926());}else _0x2479a8=execFile(_0x3dc2d0(0x189),['-q',_0x493919,'-d',_0x4a21a2],_0x56659a=>_0x56659a?_0x4ff9bc(_0x56659a):_0x923926());_0x2479a8['on'](_0x3dc2d0(0x1b3),_0x4ff9bc);});}async function findSkillManifestDirectories(_0x3b251a){const _0x2225b5=[];async function _0x156f7e(_0x1be7c8){const _0x41db85=_0x2de2,_0xb3f4e6=await readdir(_0x1be7c8,{'withFileTypes':!![]}),_0x3e8e5d=new Set(_0xb3f4e6[_0x41db85(0x147)](_0x3f336a=>_0x3f336a[_0x41db85(0x1a4)]['toUpperC'+_0x41db85(0x1a7)]()));if(_0x3e8e5d['has'](_0x41db85(0x150))||_0x3e8e5d[_0x41db85(0x1d0)](_0x41db85(0x14d)+'D')){_0x2225b5[_0x41db85(0x162)](_0x1be7c8);return;}for(const _0x438928 of _0xb3f4e6){if(!_0x438928[_0x41db85(0x185)+_0x41db85(0x1c3)]()||_0x438928['name']==='__MACOSX'||_0x438928[_0x41db85(0x1a4)][_0x41db85(0x1bb)+'th']('.'))continue;await _0x156f7e(join(_0x1be7c8,_0x438928['name']));}}return await _0x156f7e(_0x3b251a),_0x2225b5;}async function normalizeImportedSkillManifest(_0x4fcc6e){const _0x1a0016=_0x2de2,_0x40451a=join(_0x4fcc6e,_0x1a0016(0x1c7)),_0x3329ea=await readdir(_0x4fcc6e,{'withFileTypes':!![]})['catch'](()=>[]);let _0x3725c7=null,_0x3a47fc=null;for(const _0x14911c of _0x3329ea){if(!_0x14911c[_0x1a0016(0x1a1)]())continue;const _0x526793=_0x14911c[_0x1a0016(0x1a4)][_0x1a0016(0x144)+_0x1a0016(0x1a7)]();if(_0x526793===_0x1a0016(0x150))_0x3725c7=_0x14911c['name'];else{if(_0x526793===_0x1a0016(0x14d)+'D')_0x3a47fc=_0x14911c[_0x1a0016(0x1a4)];}}if(_0x3725c7===_0x1a0016(0x1c7))return;const _0x313f13=_0x3725c7??_0x3a47fc;if(!_0x313f13)return;const _0x2a6d10=join(_0x4fcc6e,_0x313f13);if(_0x2a6d10!==_0x40451a)await rename(_0x2a6d10,_0x40451a);}async function moveDirectoryWithOverwrite(_0x1dcfb3,_0x5492ff){const _0x282634=_0x2de2;await mkdir(dirname(_0x5492ff),{'recursive':!![]});try{await rename(_0x1dcfb3,_0x5492ff);return;}catch(_0x203358){if(_0x203358?.[_0x282634(0x1c2)]!=='EXDEV')throw _0x203358;}await cp(_0x1dcfb3,_0x5492ff,{'recursive':!![],'force':!![]}),await rm(_0x1dcfb3,{'recursive':!![],'force':!![]});}async function readManifestText(_0x12ec7f){const _0x262a48=_0x2de2,_0x4e173e=[join(_0x12ec7f,_0x262a48(0x1c7)),join(_0x12ec7f,_0x262a48(0x146)+'d')][_0x262a48(0x15a)](_0x5ae3ab=>existsSync(_0x5ae3ab));if(!_0x4e173e)return'';return await readFile(_0x4e173e,_0x262a48(0x156))[_0x262a48(0x1a2)](()=>'');}function resolveFrontmatterValue(_0x451758,_0x38a2d1){const _0x29d9bd=_0x2de2,_0x44b26a=_0x451758[_0x29d9bd(0x175)](/^---\s*\r?\n([\s\S]*?)\r?\n---/),_0x287fc4=_0x44b26a?.[0x1]??'',_0xf4d5ab=_0x287fc4['match'](new RegExp('^\x5cs*'+_0x38a2d1+(_0x29d9bd(0x14f)+'$'),'m'))?.[0x1];return getTrimmedString(_0xf4d5ab)['replace'](/^["']|["']$/g,'')||null;}async function resolveSkillKeyFromManifest(_0x51df84){const _0x2c70a6=_0x2de2,_0x5cd5b5=await readManifestText(_0x51df84);if(!_0x5cd5b5['trim']())return null;const _0x4d896a=_0x5cd5b5['match'](/"skillKey"\s*:\s*"([^"]+)"/);if(_0x4d896a?.[0x1])return getTrimmedString(_0x4d896a[0x1]);return resolveFrontmatterValue(_0x5cd5b5,_0x2c70a6(0x181))||resolveFrontmatterValue(_0x5cd5b5,_0x2c70a6(0x1a4));}async function resolveSkillVersionFromManifest(_0x197c4e){const _0x434822=_0x2de2,_0x3deafb=await readManifestText(_0x197c4e);if(!_0x3deafb['trim']())return null;const _0x3471cf=_0x3deafb['match'](/"version"\s*:\s*"([^"]+)"/);if(_0x3471cf?.[0x1])return getTrimmedString(_0x3471cf[0x1]);return resolveFrontmatterValue(_0x3deafb,_0x434822(0x1ab));}async function collectSkillDirsUnderRoot(_0x139b6d,_0x9b0974,_0x334443){const _0x4a4f9e=_0x2de2;if(!existsSync(_0x139b6d))return;for(const _0x4c5208 of await readdir(_0x139b6d,{'withFileTypes':!![]})[_0x4a4f9e(0x1a2)](()=>[])){if(!_0x4c5208[_0x4a4f9e(0x185)+_0x4a4f9e(0x1c3)]())continue;const _0x576b80=join(_0x139b6d,_0x4c5208[_0x4a4f9e(0x1a4)]),_0x2b061b=await resolveSkillKeyFromManifest(_0x576b80);if(_0x2b061b&&_0x9b0974[_0x4a4f9e(0x1d0)](_0x2b061b))_0x334443[_0x4a4f9e(0x1ac)](_0x576b80);}}async function removeSkillConfigEntries(_0x5d0982,_0x14f333){const _0x39b7ba=_0x2de2,_0x4c9d89=new Set(_0x14f333['map'](getTrimmedString)[_0x39b7ba(0x193)](Boolean));if(_0x4c9d89['size']===0x0)return;const _0x2190a3=await _0x5d0982[_0x39b7ba(0x198)+'ig']()['catch'](()=>({})),_0x1f8903=asRecord(_0x2190a3[_0x39b7ba(0x154)]),_0x1c4aab={...asRecord(_0x1f8903['entries'])};let _0x403e15=![];for(const _0x422638 of _0x4c9d89){Object['prototyp'+'e']['hasOwnPr'+'operty'][_0x39b7ba(0x1b5)](_0x1c4aab,_0x422638)&&(delete _0x1c4aab[_0x422638],_0x403e15=!![]);}if(!_0x403e15)return;_0x1f8903[_0x39b7ba(0x158)]=_0x1c4aab,_0x2190a3[_0x39b7ba(0x154)]=_0x1f8903,_0x5d0982['markConf'+_0x39b7ba(0x1be)+_0x39b7ba(0x151)+_0x39b7ba(0x15f)]?.(),await _0x5d0982['writeCon'+_0x39b7ba(0x18e)]?.(_0x2190a3,'skill\x20co'+'nfig\x20ent'+_0x39b7ba(0x157)+'oved\x20wit'+_0x39b7ba(0x188)+_0x39b7ba(0x184)+'tart');}export async function deleteManagedSkill({payload:payload={},gateway:_0x5510c2,configController:_0x1451db}){const _0x4b9c6d=_0x2de2,_0x2e12dd=asRecord(payload),_0x2a7ae9=getTrimmedString(_0x2e12dd[_0x4b9c6d(0x181)]??_0x2e12dd['name']);if(!_0x2a7ae9)throw new Error('Skill\x20ke'+_0x4b9c6d(0x1af)+_0x4b9c6d(0x170));const _0x35f4d9=await _0x5510c2[_0x4b9c6d(0x154)][_0x4b9c6d(0x1a3)]()[_0x4b9c6d(0x1a2)](()=>({'skills':[]})),_0x3936fa=Array[_0x4b9c6d(0x166)](asRecord(_0x35f4d9)[_0x4b9c6d(0x154)])?asRecord(_0x35f4d9)['skills']:[],_0x5649ac=_0x3936fa['map'](asRecord)[_0x4b9c6d(0x15a)](_0x247514=>{const _0x3d8dc1=_0x4b9c6d;return getTrimmedString(_0x247514['skillKey'])===_0x2a7ae9||getTrimmedString(_0x247514[_0x3d8dc1(0x19a)+'killKey'])===_0x2a7ae9||getTrimmedString(_0x247514[_0x3d8dc1(0x1a4)])===_0x2a7ae9;});if(!_0x5649ac)throw new Error(_0x4b9c6d(0x16e)+'除');if(_0x5649ac[_0x4b9c6d(0x1b0)])throw new Error(_0x4b9c6d(0x196));if(_0x5649ac['bundled']||_0x5649ac['source']==='openclaw'+_0x4b9c6d(0x1a5)||_0x5649ac[_0x4b9c6d(0x148)]==='openclaw'+_0x4b9c6d(0x1ba))throw new Error('内置/扩展技能无'+_0x4b9c6d(0x180));if(!_0x5649ac[_0x4b9c6d(0x15c)])throw new Error(_0x4b9c6d(0x142)+'删除');const _0x331f28=getTrimmedString(_0x5649ac[_0x4b9c6d(0x19a)+_0x4b9c6d(0x1bd)])||_0x2a7ae9,_0x5aa41a=new Set([_0x2a7ae9,_0x331f28,getTrimmedString(_0x5649ac[_0x4b9c6d(0x1a4)])][_0x4b9c6d(0x193)](Boolean)),_0x30a166=new Set([join(_0x1451db[_0x4b9c6d(0x1c9)+_0x4b9c6d(0x18b)](),'skills'),join(_0x1451db[_0x4b9c6d(0x1c9)+_0x4b9c6d(0x18b)](),'workspac'+'e',_0x4b9c6d(0x154))]),_0x40400f=new Set();for(const _0x49b6a3 of _0x30a166)await collectSkillDirsUnderRoot(_0x49b6a3,_0x5aa41a,_0x40400f);if(_0x40400f[_0x4b9c6d(0x190)]===0x0)throw new Error(_0x4b9c6d(0x149)+_0x4b9c6d(0x173)+_0x4b9c6d(0x192)+_0x4b9c6d(0x17a)+_0x4b9c6d(0x19c));for(const _0x179077 of _0x40400f)await rm(_0x179077,{'recursive':!![],'force':!![]});return await removeSkillConfigEntries(_0x1451db,[..._0x5aa41a]),{'ok':!![],'skillKey':_0x2a7ae9};}export async function updateManagedSkillConfig({payload:payload={},configController:_0x267ebf}){const _0x5da519=_0x2de2,_0x10bb37=asRecord(payload),_0x593776=getTrimmedString(_0x10bb37[_0x5da519(0x181)]??_0x10bb37[_0x5da519(0x1a4)]);if(!_0x593776)throw new Error(_0x5da519(0x160)+_0x5da519(0x1af)+'uired');const _0x33ec86=await _0x267ebf[_0x5da519(0x198)+'ig']()[_0x5da519(0x1a2)](()=>({})),_0x8ebce2=asRecord(_0x33ec86[_0x5da519(0x154)]),_0xb24c78={...asRecord(_0x8ebce2[_0x5da519(0x158)])},_0x2ed0bd=asRecord(_0xb24c78[_0x593776]),_0x5913f8={..._0x2ed0bd};typeof _0x10bb37[_0x5da519(0x15d)]===_0x5da519(0x19b)&&(_0x5913f8[_0x5da519(0x15d)]=_0x10bb37[_0x5da519(0x15d)]);const _0x244cf0={...asRecord(_0x10bb37['env'])},_0x28de07=getTrimmedString(_0x10bb37[_0x5da519(0x1b8)]);if(_0x28de07)_0x244cf0[_0x5da519(0x1b8)]=_0x28de07;Object[_0x5da519(0x1a0)](_0x244cf0)[_0x5da519(0x161)]>0x0&&(_0x5913f8[_0x5da519(0x16c)]={...asRecord(_0x2ed0bd['env']),..._0x244cf0});const _0x2aef89=asRecord(_0x10bb37[_0x5da519(0x159)]);return Object[_0x5da519(0x1a0)](_0x2aef89)[_0x5da519(0x161)]>0x0&&(_0x5913f8[_0x5da519(0x159)]={...asRecord(_0x2ed0bd[_0x5da519(0x159)]),..._0x2aef89}),_0xb24c78[_0x593776]=_0x5913f8,_0x8ebce2[_0x5da519(0x158)]=_0xb24c78,_0x33ec86['skills']=_0x8ebce2,_0x267ebf[_0x5da519(0x199)+_0x5da519(0x1be)+_0x5da519(0x151)+_0x5da519(0x15f)]?.(),await _0x267ebf['writeCon'+_0x5da519(0x18e)]?.(_0x33ec86,_0x5da519(0x152)+_0x5da519(0x153)+'ated\x20wit'+_0x5da519(0x188)+_0x5da519(0x184)+_0x5da519(0x1ad)),{'ok':!![],'skillKey':_0x593776};}async function ensureManagedSkillsConfig(_0x4c7df5,_0xa12ed2=[]){const _0x25d12e=_0x2de2,_0x1d17a7=await _0x4c7df5[_0x25d12e(0x198)+'ig']()[_0x25d12e(0x1a2)](()=>({})),_0x3d2282=asRecord(_0x1d17a7[_0x25d12e(0x154)]),_0x5d5076=asRecord(_0x3d2282[_0x25d12e(0x1c4)]),_0x57d83a=Array[_0x25d12e(0x166)](_0x5d5076[_0x25d12e(0x143)+'s'])?_0x5d5076['extraDir'+'s']:[],_0x3955f3=join(_0x4c7df5[_0x25d12e(0x1c9)+'tateDir'](),_0x25d12e(0x154)),_0x23ade1=dedupeStrings([..._0x57d83a,_0x3955f3]),_0x19e908={...asRecord(_0x3d2282['entries'])};let _0x2d67fa=JSON[_0x25d12e(0x19e)+'y'](_0x57d83a)!==JSON[_0x25d12e(0x19e)+'y'](_0x23ade1);for(const _0x309f2c of _0xa12ed2[_0x25d12e(0x147)](getTrimmedString)[_0x25d12e(0x193)](Boolean)){if(Object['prototyp'+'e'][_0x25d12e(0x18d)+_0x25d12e(0x1c8)]['call'](_0x19e908,_0x309f2c))continue;_0x19e908[_0x309f2c]={'enabled':!![]},_0x2d67fa=!![];}if(!_0x2d67fa)return;_0x5d5076[_0x25d12e(0x143)+'s']=_0x23ade1,_0x3d2282[_0x25d12e(0x1c4)]=_0x5d5076,_0x3d2282[_0x25d12e(0x158)]=_0x19e908,_0x1d17a7[_0x25d12e(0x154)]=_0x3d2282,_0x4c7df5[_0x25d12e(0x199)+_0x25d12e(0x1be)+_0x25d12e(0x151)+_0x25d12e(0x15f)]?.(),await _0x4c7df5[_0x25d12e(0x14a)+'fig']?.(_0x1d17a7,_0x25d12e(0x16b)+_0x25d12e(0x191)+_0x25d12e(0x1b9)+_0x25d12e(0x18a)+_0x25d12e(0x1bc)+_0x25d12e(0x15b)+_0x25d12e(0x14e));}export async function syncManagedSkillsToConfig(_0x2014c6){const _0x18fe59=_0x2de2,_0x269787=join(_0x2014c6[_0x18fe59(0x1c9)+_0x18fe59(0x18b)](),_0x18fe59(0x154)),_0x1b167e=[];for(const _0x1bab8c of await readdir(_0x269787,{'withFileTypes':!![]})[_0x18fe59(0x1a2)](()=>[])){if(!_0x1bab8c[_0x18fe59(0x185)+'ory']())continue;const _0x51752b=await resolveSkillKeyFromManifest(join(_0x269787,_0x1bab8c['name']));if(_0x51752b)_0x1b167e[_0x18fe59(0x162)](_0x51752b);}return await ensureManagedSkillsConfig(_0x2014c6,_0x1b167e),{'skillKeys':_0x1b167e};}async function resolveZipPath({payload:_0x2e4a71,app:_0x34817b,dialog:_0x57eedf,dialogWindow:_0x326283}){const _0x386aae=_0x2de2,_0x8b2de4=getTrimmedString(_0x2e4a71[_0x386aae(0x1aa)]);let _0x4ebd9e=getTrimmedString(_0x2e4a71[_0x386aae(0x155)+_0x386aae(0x169)]),_0x13ab47=null;if(!_0x4ebd9e&&_0x8b2de4){const _0x227ca2=new URL(_0x8b2de4);_0x13ab47=await mkdtemp(join(_0x34817b[_0x386aae(0x168)]('temp'),'wujie-sk'+_0x386aae(0x1ce)+_0x386aae(0x14c))),_0x4ebd9e=join(_0x13ab47,basename(_0x227ca2[_0x386aae(0x1bf)])||_0x386aae(0x1a8)+'ed-skill'+_0x386aae(0x17f));const _0x3ba0de=await fetch(_0x227ca2['toString']());if(!_0x3ba0de['ok'])throw new Error(_0x386aae(0x1b7)+'\x20失败(HTTP'+'\x20'+_0x3ba0de[_0x386aae(0x1a3)]+')');await writeFile(_0x4ebd9e,Buffer[_0x386aae(0x17b)](await _0x3ba0de['arrayBuf'+'fer']()));}if(!_0x4ebd9e){const _0x1da5bc={'title':_0x386aae(0x1a9),'properties':[_0x386aae(0x1cc)],'filters':[{'name':_0x386aae(0x1b6)+'ive','extensions':[_0x386aae(0x182)]}]},_0x3260c1=_0x326283?await _0x57eedf[_0x386aae(0x187)+'Dialog'](_0x326283,_0x1da5bc):await _0x57eedf['showOpen'+_0x386aae(0x1c6)](_0x1da5bc);if(_0x3260c1['canceled']||_0x3260c1[_0x386aae(0x1d2)+'s'][_0x386aae(0x161)]===0x0)return{'cancelled':!![],'zipPath':null,'downloadedZipDir':_0x13ab47};_0x4ebd9e=_0x3260c1[_0x386aae(0x1d2)+'s'][0x0];}return{'cancelled':![],'zipPath':_0x4ebd9e,'downloadedZipDir':_0x13ab47};}export async function importSkillZip({payload:payload={},app:_0x2f4ab4,dialog:_0x71b8cb,dialogWindow:_0x1fd2d9,configController:_0x525c15}){const _0x2f2124=_0x2de2,_0x383ef7=asRecord(payload),_0x2aedca=getTrimmedString(_0x383ef7[_0x2f2124(0x1aa)]),{cancelled:_0xd33d87,zipPath:_0x30701f,downloadedZipDir:_0x5a706e}=await resolveZipPath({'payload':_0x383ef7,'app':_0x2f4ab4,'dialog':_0x71b8cb,'dialogWindow':_0x1fd2d9});if(_0xd33d87)return{'cancelled':!![],'imported':![],'overwritten':![],'skillDirName':null,'selectedZipPath':null,'zipUrl':_0x2aedca||null,'message':'已取消导入'};const _0x4defaa=await mkdtemp(join(_0x2f4ab4['getPath'](_0x2f2124(0x1a6)),_0x2f2124(0x194)+_0x2f2124(0x167)+_0x2f2124(0x172))),_0x252499=join(_0x4defaa,_0x2f2124(0x14b)+'d');try{await mkdir(_0x252499,{'recursive':!![]}),await extractZipToDirectory(_0x30701f,_0x252499);const _0x334c37=await findSkillManifestDirectories(_0x252499);if(_0x334c37[_0x2f2124(0x161)]===0x0)throw new Error(_0x2f2124(0x1c1)+'\x20SKILL.m'+_0x2f2124(0x171)+_0x2f2124(0x1cd));if(_0x334c37[_0x2f2124(0x161)]>0x1)throw new Error(_0x2f2124(0x183)+_0x2f2124(0x1c0)+_0x2f2124(0x19f)+'能导入一个');const _0x2596e5=_0x334c37[0x0];await normalizeImportedSkillManifest(_0x2596e5);const _0x2aee56=basename(_0x2596e5),_0x4b22c5=parse(_0x30701f)[_0x2f2124(0x1a4)]['trim']()||'imported'+_0x2f2124(0x179),_0x8f96b8=_0x2aee56===_0x2f2124(0x14b)+'d'?_0x4b22c5:_0x2aee56,_0x27ac06=await resolveSkillKeyFromManifest(_0x2596e5)??_0x8f96b8,_0x4759e4=await resolveSkillVersionFromManifest(_0x2596e5)??(getTrimmedString(_0x383ef7['version'])||extractVersionFromZipUrl(_0x2aedca)),_0x2c5660=buildManagedSkillDirectoryName(_0x27ac06,_0x4759e4,_0x8f96b8),_0x2b188e=join(_0x525c15[_0x2f2124(0x1c9)+_0x2f2124(0x18b)](),_0x2f2124(0x154)),_0x29f299=join(_0x2b188e,_0x2c5660);if(existsSync(_0x29f299)){if(_0x383ef7['overwrit'+'e']!==!![])return{'cancelled':![],'imported':![],'overwritten':![],'needConfirmOverwrite':!![],'skillDirName':_0x2c5660,'overwriteTargetPath':_0x29f299,'selectedZipPath':_0x30701f,'zipUrl':_0x2aedca||null,'message':_0x2f2124(0x186)+_0x2c5660+(_0x2f2124(0x18c)+'是否覆盖')};await rm(_0x29f299,{'recursive':!![],'force':!![]});}let _0xc55c4c=_0x2596e5;return _0x2aee56===_0x2f2124(0x14b)+'d'&&(_0xc55c4c=join(_0x4defaa,_0x2c5660),await rename(_0x2596e5,_0xc55c4c)),await moveDirectoryWithOverwrite(_0xc55c4c,_0x29f299),await ensureManagedSkillsConfig(_0x525c15,[_0x27ac06]),{'cancelled':![],'imported':!![],'overwritten':_0x383ef7[_0x2f2124(0x18f)+'e']===!![],'skillKey':_0x27ac06,'manifestKey':_0x27ac06,'skillDirName':_0x2c5660,'targetPath':_0x29f299,'selectedZipPath':_0x30701f,'zipUrl':_0x2aedca||null,'message':_0x2c5660+_0x2f2124(0x197)};}finally{await rm(_0x4defaa,{'recursive':!![],'force':!![]});if(_0x5a706e)await rm(_0x5a706e,{'recursive':!![],'force':!![]});}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x58c26b,_0x425e50){const _0x208fa2=_0x73c7,_0xc9251f=_0x58c26b();while(!![]){try{const _0x23f9ac=parseInt(_0x208fa2(0x146))/0x1*(-parseInt(_0x208fa2(0x152))/0x2)+parseInt(_0x208fa2(0x127))/0x3+-parseInt(_0x208fa2(0x14a))/0x4*(-parseInt(_0x208fa2(0x14d))/0x5)+-parseInt(_0x208fa2(0x12c))/0x6*(-parseInt(_0x208fa2(0x140))/0x7)+parseInt(_0x208fa2(0x131))/0x8*(-parseInt(_0x208fa2(0x13f))/0x9)+parseInt(_0x208fa2(0x128))/0xa+-parseInt(_0x208fa2(0x11e))/0xb;if(_0x23f9ac===_0x425e50)break;else _0xc9251f['push'](_0xc9251f['shift']());}catch(_0x2cec50){_0xc9251f['push'](_0xc9251f['shift']());}}}(_0x9578,0xbf644));import{readFile,readdir,rm}from'node:fs/promises';import{join}from'node:path';import{asRecord,getTrimmedString,writeJson}from'../common/utils.mjs';const SKILL_SOURCE_MARKET='aipc-mar'+'ket';async function readMarketSkillRegistry(_0x5e7dd3){const _0x2f1cfb=_0x73c7;try{const _0x265375=JSON['parse'](await readFile(_0x5e7dd3,_0x2f1cfb(0x158)));if(!_0x265375||typeof _0x265375!==_0x2f1cfb(0x14e)||Array['isArray'](_0x265375))return{};return _0x265375;}catch{return{};}}function _0x9578(){const _0x3aa5a6=['2290yTTSQD','sort','tateDir','ory','接口返回的\x20na','ies','utf8','logoUrl','version','3205928jmarFS','entries','localeCo','targetPa','^\x5cs*','logo_url','接口返回的\x20co','keys','isArray','3404964BPLACE','4213380hFvwyc','killKey','source','resolveS','324rZOXDt','map','market','descript','has','8dpXxyt','name','market-s','mpare',':\x5cs*(.+)','Key','replace','ion','fromEntr','skills','SKILLS.m','imported','skillKey','length','5977107fpMHKK','4214TCTjJS','SKILL.md','size','gatewayS','isDirect','trim','351eaXWHk','kills.js','code','技能商店安装需要','8bPbbJl','filter','Name','1381430hHlPGf','object','catch','rsion','match'];_0x9578=function(){return _0x3aa5a6;};return _0x9578();}export async function readSkillMarketRegistry(_0x475604){const _0x3ef502=_0x73c7;return await readMarketSkillRegistry(join(_0x475604,_0x3ef502(0x133)+_0x3ef502(0x147)+'on'));}async function upsertMarketSkillRegistryEntry(_0x19aa5d,_0x553984,_0x3bb202,_0x9d4a67,_0x445a42={}){const _0x147179=_0x73c7,_0x1d81a9=getTrimmedString(_0x553984),_0x3342c5=getTrimmedString(_0x3bb202),_0x172ca7=getTrimmedString(_0x9d4a67);if(!_0x1d81a9||!_0x3342c5||!_0x172ca7)return;const _0xf549cc=await readMarketSkillRegistry(_0x19aa5d);_0xf549cc[_0x1d81a9]={'version':_0x172ca7,'code':_0x3342c5,...getTrimmedString(_0x445a42[_0x147179(0x132)])?{'name':getTrimmedString(_0x445a42['name'])}:{},...getTrimmedString(_0x445a42[_0x147179(0x159)])?{'logo_url':getTrimmedString(_0x445a42[_0x147179(0x159)])}:{},...getTrimmedString(_0x445a42[_0x147179(0x12f)+'ion'])?{'description':getTrimmedString(_0x445a42['descript'+'ion'])}:{}};if(_0xf549cc[_0x3342c5]&&_0x3342c5!==_0x1d81a9)delete _0xf549cc[_0x3342c5];for(const [_0x448bcf,_0x276009]of Object[_0x147179(0x11f)](_0xf549cc)){if(_0x448bcf!==_0x1d81a9&&asRecord(_0x276009)['code']===_0x3342c5)delete _0xf549cc[_0x448bcf];}const _0x54903d=Object[_0x147179(0x139)+_0x147179(0x157)](Object[_0x147179(0x11f)](_0xf549cc)[_0x147179(0x153)](([_0xdb2038],[_0x4e1305])=>_0xdb2038[_0x147179(0x120)+_0x147179(0x134)](_0x4e1305)));await writeJson(_0x19aa5d,_0x54903d);}function _0x73c7(_0x2f7216,_0x58639e){_0x2f7216=_0x2f7216-0x11d;const _0x9578f6=_0x9578();let _0x73c74a=_0x9578f6[_0x2f7216];return _0x73c74a;}async function removeMarketSkillRegistryKeys(_0x5d7103,_0x55dd1c){const _0x20dae8=_0x73c7,_0x561abc=new Set(_0x55dd1c[_0x20dae8(0x12d)](getTrimmedString)[_0x20dae8(0x14b)](Boolean));if(_0x561abc[_0x20dae8(0x142)]===0x0)return;const _0x1218c4=await readMarketSkillRegistry(_0x5d7103);let _0x39f9ff=![];for(const _0x5901ed of Object[_0x20dae8(0x125)](_0x1218c4)){const _0x5374b8=asRecord(_0x1218c4[_0x5901ed]);(_0x561abc[_0x20dae8(0x130)](_0x5901ed)||_0x561abc[_0x20dae8(0x130)](getTrimmedString(_0x5374b8[_0x20dae8(0x148)])))&&(delete _0x1218c4[_0x5901ed],_0x39f9ff=!![]);}if(_0x39f9ff){const _0x181d96=Object[_0x20dae8(0x139)+'ies'](Object[_0x20dae8(0x11f)](_0x1218c4)[_0x20dae8(0x153)](([_0x363fc9],[_0x38efc7])=>_0x363fc9[_0x20dae8(0x120)+_0x20dae8(0x134)](_0x38efc7)));await writeJson(_0x5d7103,_0x181d96);}}async function readSkillManifestText(_0x1ba64b){const _0x465e23=_0x73c7,_0x30e6f9=[join(_0x1ba64b,_0x465e23(0x141)),join(_0x1ba64b,_0x465e23(0x13b)+'d')];for(const _0x39e7c2 of _0x30e6f9){const _0x4c6017=await readFile(_0x39e7c2,_0x465e23(0x158))[_0x465e23(0x14f)](()=>'');if(_0x4c6017['trim']())return _0x4c6017;}return'';}function resolveFrontmatterValue(_0x618673,_0x5b3471){const _0x45170a=_0x73c7,_0x495f40=_0x618673[_0x45170a(0x151)](/^---\s*\r?\n([\s\S]*?)\r?\n---/),_0x4442ae=_0x495f40?.[0x1]??'',_0x5b6e6b=_0x4442ae[_0x45170a(0x151)](new RegExp(_0x45170a(0x122)+_0x5b3471+(_0x45170a(0x135)+'$'),'m'))?.[0x1];return getTrimmedString(_0x5b6e6b)[_0x45170a(0x137)](/^["']|["']$/g,'')||null;}async function resolveSkillKeyFromManifest(_0x1fb60e){const _0x42a856=_0x73c7,_0x430ff5=await readSkillManifestText(_0x1fb60e);if(!_0x430ff5['trim']())return null;const _0x28dfab=_0x430ff5['match'](/"skillKey"\s*:\s*"([^"]+)"/);if(_0x28dfab?.[0x1])return getTrimmedString(_0x28dfab[0x1]);return resolveFrontmatterValue(_0x430ff5,'skillKey')||resolveFrontmatterValue(_0x430ff5,_0x42a856(0x132));}async function removeOtherMarketSkillVersions(_0x1d9363,_0x2943e6,_0x36fceb){const _0x5f3554=_0x73c7,_0x1a86d3=getTrimmedString(_0x36fceb);if(!_0x1a86d3)return;for(const _0x1f7453 of await readdir(_0x1d9363,{'withFileTypes':!![]})[_0x5f3554(0x14f)](()=>[])){if(!_0x1f7453[_0x5f3554(0x144)+_0x5f3554(0x155)]())continue;const _0x4bbc4e=join(_0x1d9363,_0x1f7453['name']);if(_0x4bbc4e===_0x2943e6)continue;const _0xb87138=await resolveSkillKeyFromManifest(_0x4bbc4e);_0xb87138&&_0xb87138[_0x5f3554(0x145)]()===_0x1a86d3&&await rm(_0x4bbc4e,{'recursive':!![],'force':!![]});}}export async function importMarketSkillZip({payload:payload={},importSkillZip:_0x307cfb,configController:_0xbd0958}={}){const _0x37fb2a=_0x73c7,_0x3dd8db=asRecord(payload);if(_0x3dd8db[_0x37fb2a(0x12a)]!==_0x37fb2a(0x12e))return _0x307cfb({'payload':payload});const _0x64560e=getTrimmedString(_0x3dd8db['code']),_0x447123=getTrimmedString(_0x3dd8db['version']),_0x5d749e=getTrimmedString(_0x3dd8db['name']);if(!_0x64560e)throw new Error(_0x37fb2a(0x149)+_0x37fb2a(0x124)+'de');if(!_0x447123)throw new Error('技能商店安装需要'+'接口返回的\x20ve'+_0x37fb2a(0x150));if(!_0x5d749e)throw new Error(_0x37fb2a(0x149)+_0x37fb2a(0x156)+'me');const _0x1fe3c4=await _0x307cfb({'payload':{..._0x3dd8db,'version':_0x447123}});if(!_0x1fe3c4?.[_0x37fb2a(0x13c)])return _0x1fe3c4;const _0x2c80e9=getTrimmedString(_0x1fe3c4[_0x37fb2a(0x13d)])||getTrimmedString(_0x1fe3c4['manifest'+_0x37fb2a(0x136)])||getTrimmedString(_0x1fe3c4['skillDir'+_0x37fb2a(0x14c)]);return await removeOtherMarketSkillVersions(join(_0xbd0958[_0x37fb2a(0x12b)+_0x37fb2a(0x154)](),'skills'),_0x1fe3c4[_0x37fb2a(0x121)+'th'],_0x2c80e9),await upsertMarketSkillRegistryEntry(join(_0xbd0958['resolveS'+_0x37fb2a(0x154)](),_0x37fb2a(0x133)+_0x37fb2a(0x147)+'on'),_0x2c80e9,_0x64560e,_0x447123,{'name':_0x5d749e,'logoUrl':getTrimmedString(_0x3dd8db['logoUrl']),'description':getTrimmedString(_0x3dd8db['descript'+'ion'])}),_0x1fe3c4;}export async function deleteMarketSkillRegistryEntry({payload:payload={},deleteManagedSkill:_0x549408,configController:_0x25ebc7}={}){const _0x2c4f2b=_0x73c7,_0x6e3773=await _0x549408({'payload':payload}),_0x1b1077=asRecord(payload),_0xc051cc=getTrimmedString(_0x6e3773?.[_0x2c4f2b(0x13d)]??_0x1b1077[_0x2c4f2b(0x13d)]??_0x1b1077[_0x2c4f2b(0x132)]),_0x491f2c=[_0xc051cc,getTrimmedString(_0x1b1077[_0x2c4f2b(0x143)+_0x2c4f2b(0x129)]),getTrimmedString(_0x1b1077[_0x2c4f2b(0x132)])];return await removeMarketSkillRegistryKeys(join(_0x25ebc7[_0x2c4f2b(0x12b)+_0x2c4f2b(0x154)](),_0x2c4f2b(0x133)+_0x2c4f2b(0x147)+'on'),_0x491f2c),_0x6e3773;}export function mapMarketRegisteredSkills(_0x28ac9e,_0x24d99d){const _0x1a3230=_0x73c7,_0x141add=Array[_0x1a3230(0x126)](asRecord(_0x28ac9e)[_0x1a3230(0x13a)])?asRecord(_0x28ac9e)[_0x1a3230(0x13a)]:[];if(_0x141add[_0x1a3230(0x13e)]===0x0||Object['keys'](_0x24d99d)[_0x1a3230(0x13e)]===0x0)return _0x28ac9e;const _0x237f71=_0x141add[_0x1a3230(0x12d)](_0x256db0=>{const _0x50bc99=_0x1a3230,_0x426cfb=asRecord(_0x256db0),_0x4cdd91=getTrimmedString(_0x426cfb[_0x50bc99(0x13d)])||getTrimmedString(_0x426cfb[_0x50bc99(0x132)]);let _0x1739dc=_0x4cdd91,_0x305c10=asRecord(_0x24d99d[_0x4cdd91]);if(!Object[_0x50bc99(0x125)](_0x305c10)[_0x50bc99(0x13e)])for(const [_0x536313,_0x25a5a3]of Object[_0x50bc99(0x11f)](_0x24d99d)){const _0x30cfe6=asRecord(_0x25a5a3);if(getTrimmedString(_0x30cfe6['code'])===_0x4cdd91){_0x1739dc=_0x536313,_0x305c10=_0x30cfe6;break;}}if(!Object[_0x50bc99(0x125)](_0x305c10)[_0x50bc99(0x13e)])return _0x256db0;const _0x5437e1=getTrimmedString(_0x305c10['code']),_0x3d4373=getTrimmedString(_0x305c10[_0x50bc99(0x132)]),_0x13bf13=getTrimmedString(_0x305c10[_0x50bc99(0x12f)+_0x50bc99(0x138)]),_0x5e5af6=getTrimmedString(_0x305c10[_0x50bc99(0x123)]),_0xcff014=getTrimmedString(_0x305c10[_0x50bc99(0x11d)]);return{..._0x426cfb,'source':SKILL_SOURCE_MARKET,'skillKey':_0x5437e1||_0x4cdd91,'gatewaySkillKey':_0x5437e1?_0x1739dc:null,'marketInstalledVersion':_0xcff014||null,..._0x3d4373?{'cnName':_0x3d4373}:{},..._0x13bf13?{'description':_0x13bf13}:{},..._0x5e5af6?{'logoUrl':_0x5e5af6}:{}};});return{...asRecord(_0x28ac9e),'skills':_0x237f71};}export function createMarketSkillRuntime({configController:_0x455c0c}){return{'mapSkillsStatus':async _0x2b0213=>{const _0x3eeaa0=_0x73c7,_0x5f2dd3=await readSkillMarketRegistry(_0x455c0c['resolveS'+_0x3eeaa0(0x154)]())[_0x3eeaa0(0x14f)](()=>({}));return mapMarketRegisteredSkills(_0x2b0213,_0x5f2dd3);}};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x56a2ae,_0x4ad5a4){const _0x1ccc3=_0x5aae,_0xe83702=_0x56a2ae();while(!![]){try{const _0x38e554=parseInt(_0x1ccc3(0x1c4))/0x1*(parseInt(_0x1ccc3(0x199))/0x2)+parseInt(_0x1ccc3(0x1ca))/0x3*(parseInt(_0x1ccc3(0x1bb))/0x4)+parseInt(_0x1ccc3(0x1a1))/0x5*(-parseInt(_0x1ccc3(0x1ab))/0x6)+-parseInt(_0x1ccc3(0x1b9))/0x7*(-parseInt(_0x1ccc3(0x1a4))/0x8)+-parseInt(_0x1ccc3(0x1c1))/0x9*(parseInt(_0x1ccc3(0x19b))/0xa)+-parseInt(_0x1ccc3(0x1a8))/0xb+parseInt(_0x1ccc3(0x1a3))/0xc*(parseInt(_0x1ccc3(0x1a0))/0xd);if(_0x38e554===_0x4ad5a4)break;else _0xe83702['push'](_0xe83702['shift']());}catch(_0xd1bbba){_0xe83702['push'](_0xe83702['shift']());}}}(_0x1526,0xd6315));function _0x5aae(_0x1bc4ce,_0x17b2d1){_0x1bc4ce=_0x1bc4ce-0x199;const _0x152651=_0x1526();let _0x5aae76=_0x152651[_0x1bc4ce];return _0x5aae76;}import{spawn}from'node:child_process';import{randomUUID}from'node:crypto';import{accessSync,constants,existsSync}from'node:fs';import{mkdir}from'node:fs/promises';import{basename,delimiter,join}from'node:path';const FILE_EXTENSION_REGEX=/\.[a-z0-9]+$/i;function resolvePathEntries(_0xfd442b){const _0x3d5c6c=_0x5aae,_0xa773eb=Object[_0x3d5c6c(0x1ad)](_0xfd442b)['find'](_0x340098=>_0x340098[_0x3d5c6c(0x1b3)+_0x3d5c6c(0x1b0)]()===_0x3d5c6c(0x1d5))??'PATH';return String(_0xfd442b[_0xa773eb]||'')[_0x3d5c6c(0x1a5)](delimiter)[_0x3d5c6c(0x1d6)](Boolean);}function canExecute(_0x4accfd){const _0x4a103e=_0x5aae;try{return accessSync(_0x4accfd,process[_0x4a103e(0x19e)]===_0x4a103e(0x1d2)?constants['F_OK']:constants['X_OK']),!![];}catch{return![];}}function resolveExecutableOnPath(_0x1218c9,_0x53671a){const _0x170c5e=_0x5aae,_0x461d78=String(_0x1218c9||'')['trim']();if(!_0x461d78)return null;if(_0x461d78[_0x170c5e(0x1c9)]('/')||_0x461d78[_0x170c5e(0x1c9)]('\x5c'))return existsSync(_0x461d78)?_0x461d78:null;const _0x44295c=[_0x461d78];process[_0x170c5e(0x19e)]===_0x170c5e(0x1d2)&&!FILE_EXTENSION_REGEX['test'](_0x461d78)&&_0x44295c[_0x170c5e(0x1d7)](_0x461d78+_0x170c5e(0x1a6),_0x461d78+'.cmd',_0x461d78+'.bat');for(const _0x24a13a of resolvePathEntries(_0x53671a)){for(const _0x5e2823 of _0x44295c){const _0x1dc85d=join(_0x24a13a,_0x5e2823);if(canExecute(_0x1dc85d))return _0x1dc85d;}}return null;}function resolveShellLaunchConfig(_0x31cd9c){const _0x22f309=_0x5aae;if(process[_0x22f309(0x19e)]===_0x22f309(0x1d2)){const _0x14bc21=resolveExecutableOnPath(_0x22f309(0x1c5),_0x31cd9c)??resolveExecutableOnPath(_0x22f309(0x1a7)+'ll',_0x31cd9c);if(_0x14bc21)return{'command':_0x14bc21,'args':['-NoLogo']};const _0x56d64f=resolveExecutableOnPath(_0x22f309(0x1c6),_0x31cd9c);if(_0x56d64f)return{'command':_0x56d64f,'args':['/Q']};throw new Error(_0x22f309(0x1c7)+'rted\x20Win'+_0x22f309(0x1d3)+_0x22f309(0x1a9));}if(process['platform']===_0x22f309(0x1d1)){const _0x20be5=[_0x22f309(0x1ae),_0x22f309(0x1ac)+'al/bin/z'+'sh',_0x22f309(0x1d8)+'ebrew/bi'+'n/zsh'][_0x22f309(0x1af)](canExecute);if(_0x20be5)return{'command':_0x20be5,'args':['-i']};const _0x28dda5=[_0x22f309(0x1cf)+'h','/usr/loc'+_0x22f309(0x1c0)+_0x22f309(0x1ba),_0x22f309(0x1d8)+_0x22f309(0x1cb)+'n/bash']['find'](canExecute);if(_0x28dda5)return{'command':_0x28dda5,'args':[_0x22f309(0x1cd),'-i']};}const _0x3256ca=resolveExecutableOnPath(process.env.SHELL||'',_0x31cd9c)??resolveExecutableOnPath('bash',_0x31cd9c)??resolveExecutableOnPath('sh',_0x31cd9c);if(!_0x3256ca)throw new Error(_0x22f309(0x1c7)+_0x22f309(0x1b5)+_0x22f309(0x1a9));return{'command':_0x3256ca,'args':['-l','-i']};}function _0x1526(){const _0x35d521=['884kMBBKg','clear','xterm-25','\x20session','stdin','al/bin/b','2657646hFyvsT','data','sessionI','180912OAhNLw','pwsh','cmd','No\x20suppo','toString','includes','23070kzQoYv','ebrew/bi','stdout','--login','object','/bin/bas','write','darwin','win32','dows\x20she','trim','path','filter','push','/opt/hom','child','4uuCsDH','\x20not\x20fou','30HzTKUb','pipe','cwd','platform','env','5046795DuIiOh','6812920WlcPaM','message','24FmkXmx','7776VrAfCU','split','.exe','powershe','4134031kvefhN','ll\x20found','delete','6xcQeiY','/usr/loc','keys','/bin/zsh','find','ase','6color','stderr','toLowerC','error','rted\x20she','truecolo','close','get','4781BmLbuJ','ash'];_0x1526=function(){return _0x35d521;};return _0x1526();}export function createTerminalManager({cwd:_0x27375a,emitData:_0x5c71ab,emitExit:_0xf3bb22}){const _0x21909a=new Map();function _0x5173c9(_0x264682){const _0x123f2f=_0x5aae,_0x2b24f4=_0x21909a[_0x123f2f(0x1b8)](_0x264682);if(!_0x2b24f4)throw new Error('Terminal'+_0x123f2f(0x1be)+_0x123f2f(0x19a)+'nd');return _0x2b24f4;}async function _0x37e2e6(_0xee4a98={}){const _0x363c8d=_0x5aae,_0x28f924={...process.env,'TERM':_0x363c8d(0x1bd)+_0x363c8d(0x1b1),'COLORTERM':_0x363c8d(0x1b6)+'r',..._0xee4a98['env']&&typeof _0xee4a98[_0x363c8d(0x19f)]===_0x363c8d(0x1ce)?_0xee4a98['env']:{}},_0x2bee0f=typeof _0xee4a98[_0x363c8d(0x19d)]==='string'&&_0xee4a98[_0x363c8d(0x19d)][_0x363c8d(0x1d4)]()?_0xee4a98['cwd']:'',_0x217abd=_0x2bee0f||_0x27375a;await mkdir(_0x217abd,{'recursive':!![]});const {command:_0x6f6171,args:_0x279562}=resolveShellLaunchConfig(_0x28f924),_0x38b1c6=randomUUID(),_0x1e5130=spawn(_0x6f6171,_0x279562,{'cwd':_0x217abd,'env':_0x28f924,'stdio':_0x363c8d(0x19c)});return _0x21909a['set'](_0x38b1c6,{'sessionId':_0x38b1c6,'child':_0x1e5130}),_0x1e5130[_0x363c8d(0x1cc)]['on'](_0x363c8d(0x1c2),_0x13fa6c=>_0x5c71ab({'sessionId':_0x38b1c6,'data':_0x13fa6c[_0x363c8d(0x1c8)]()})),_0x1e5130[_0x363c8d(0x1b2)]['on'](_0x363c8d(0x1c2),_0x4f7665=>_0x5c71ab({'sessionId':_0x38b1c6,'data':_0x4f7665[_0x363c8d(0x1c8)]()})),_0x1e5130['on'](_0x363c8d(0x1b7),(_0x46b845,_0x584a46)=>{const _0x233c2c=_0x363c8d;_0x21909a[_0x233c2c(0x1aa)](_0x38b1c6),_0xf3bb22({'sessionId':_0x38b1c6,'exitCode':_0x46b845,'signal':_0x584a46});}),_0x1e5130['on'](_0x363c8d(0x1b4),_0x21fd5a=>{const _0x99eaf3=_0x363c8d;_0x5c71ab({'sessionId':_0x38b1c6,'data':_0x21fd5a[_0x99eaf3(0x1a2)]+'\x0a'});}),{'sessionId':_0x38b1c6,'shell':basename(_0x6f6171),'cwd':_0x217abd};}function _0x1a3479(_0x388c0a={}){const _0x4b4451=_0x5aae,_0x57c7e3=_0x5173c9(String(_0x388c0a[_0x4b4451(0x1c3)+'d']||''));return _0x57c7e3[_0x4b4451(0x1d9)][_0x4b4451(0x1bf)][_0x4b4451(0x1d0)](String(_0x388c0a[_0x4b4451(0x1c2)]||'')),{'ok':!![]};}function _0x153ae3(_0x176d2d={}){const _0x49ca76=String(_0x176d2d['sessionI'+'d']||'');return _0x5173c9(_0x49ca76),{'ok':!![],'ignored':!![]};}function _0x1f2298(_0x4340ac={}){const _0x29c4b1=_0x5aae,_0x521fd4=String(_0x4340ac['sessionI'+'d']||''),_0x436e54=_0x21909a[_0x29c4b1(0x1b8)](_0x521fd4);if(!_0x436e54)return{'ok':!![],'closed':![]};return _0x21909a[_0x29c4b1(0x1aa)](_0x521fd4),_0x436e54[_0x29c4b1(0x1d9)]['kill'](),{'ok':!![],'closed':!![]};}function _0x434e6f(){const _0xbe48e=_0x5aae;for(const _0xc448c2 of _0x21909a['values']())_0xc448c2[_0xbe48e(0x1d9)]['kill']();_0x21909a[_0xbe48e(0x1bc)]();}return{'create':_0x37e2e6,'input':_0x1a3479,'resize':_0x153ae3,'close':_0x1f2298,'dispose':_0x434e6f};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x5e5153=_0x4d68;(function(_0x4fafe6,_0x209203){const _0x45df62=_0x4d68,_0x7a13a0=_0x4fafe6();while(!![]){try{const _0x1aed72=-parseInt(_0x45df62(0x1ab))/0x1+parseInt(_0x45df62(0x1a2))/0x2+parseInt(_0x45df62(0x20a))/0x3*(-parseInt(_0x45df62(0x179))/0x4)+parseInt(_0x45df62(0x2bd))/0x5*(-parseInt(_0x45df62(0x2aa))/0x6)+-parseInt(_0x45df62(0x206))/0x7+parseInt(_0x45df62(0x24a))/0x8*(-parseInt(_0x45df62(0x21e))/0x9)+-parseInt(_0x45df62(0x167))/0xa*(-parseInt(_0x45df62(0x29b))/0xb);if(_0x1aed72===_0x209203)break;else _0x7a13a0['push'](_0x7a13a0['shift']());}catch(_0x3ecce2){_0x7a13a0['push'](_0x7a13a0['shift']());}}}(_0x29ed,0x4fdfa));import{existsSync,readFileSync,readdirSync,rmSync,statSync,writeFileSync}from'node:fs';import{spawnSync}from'node:child_process';import{homedir}from'node:os';import{basename,join}from'node:path';import _0x4d703c from'electron-updater';import{app,BrowserWindow}from'electron';import{clean,compare}from'semver';const {autoUpdater}=_0x4d703c,DEFAULT_INSTALL_QUIT_TIMEOUT_MS=0xea60,DEFAULT_BACKGROUND_UPDATE_CHECK_INTERVAL_MS=0x3c*0x3c*0x3e8,DEFAULT_BACKGROUND_UPDATE_CHECK_STALE_MS=0x1e*0x3c*0x3e8,DEFAULT_NATIVE_UPDATE_PREFETCH_TIMEOUT_MS=0xafc8,INSTALL_PHASE_CONTEXT_STALE_MS=0x18*0x3c*0x3c*0x3e8,SQUIRREL_DIRECT_WRITE_DEFAULTS_KEY=_0x5e5153(0x253)+_0x5e5153(0x21c)+_0x5e5153(0x1bc)+'ontentsW'+_0x5e5153(0x2bc);function normalizeAppUpdatePackageFileName(_0xcf1a1b){const _0x229b6c=_0x5e5153;if(typeof _0xcf1a1b!==_0x229b6c(0x1d0))return null;const _0x3061ed=_0xcf1a1b[_0x229b6c(0x26c)]();if(!_0x3061ed||_0x3061ed==='.'||_0x3061ed==='..'||_0x3061ed[_0x229b6c(0x19b)]('/')||_0x3061ed[_0x229b6c(0x19b)]('\x5c'))return null;return _0x3061ed;}function isMatchingAppUpdatePackageMetadata(_0x253a78,_0x227a7a){const _0x31aa9f=_0x5e5153;if(!_0x253a78||!_0x227a7a||typeof _0x227a7a!==_0x31aa9f(0x1b6))return![];const _0x1913c9=_0x227a7a,_0x434951=normalizeAppUpdatePackageFileName(_0x253a78[_0x31aa9f(0x23d)]),_0x2e4e29=normalizeAppUpdatePackageFileName(_0x1913c9[_0x31aa9f(0x23d)]),_0x5a26d3=_0x253a78[_0x31aa9f(0x2ce)]['trim'](),_0x3cd6b8=typeof _0x1913c9[_0x31aa9f(0x2ce)]==='string'?_0x1913c9['sha512']['trim']():'';return Boolean(_0x434951&&_0x2e4e29&&_0x434951===_0x2e4e29&&_0x5a26d3&&_0x3cd6b8&&_0x5a26d3===_0x3cd6b8);}function normalizeAppVersion(_0x5ae557){const _0x4dc5fa=_0x5e5153;return clean(String(_0x5ae557??'')[_0x4dc5fa(0x26c)]());}function compareAppVersions(_0x3f5a8b,_0x56b70c){const _0x183723=_0x5e5153,_0x599d79=normalizeAppVersion(_0x3f5a8b),_0x55fecd=normalizeAppVersion(_0x56b70c);if(!_0x599d79||!_0x55fecd)return'unknown';const _0x197514=compare(_0x55fecd,_0x599d79);if(_0x197514===0x0)return _0x183723(0x1ee)+_0x183723(0x1d1);return _0x197514>0x0?_0x183723(0x190)+_0x183723(0x2be):_0x183723(0x216)+_0x183723(0x229);}function normalizeAppUpdateChannel(_0x23a911){const _0x5c5af0=_0x5e5153;return _0x23a911===_0x5c5af0(0x26f)?_0x5c5af0(0x26f):_0x5c5af0(0x217);}function normalizeString(_0x473ee0){const _0x14b4d1=_0x5e5153;if(typeof _0x473ee0!==_0x14b4d1(0x1d0))return null;const _0x2ed2ac=_0x473ee0['trim']();return _0x2ed2ac||null;}function normalizeReleaseNotes(_0x53d690){const _0x126827=_0x5e5153;if(typeof _0x53d690===_0x126827(0x1d0))return normalizeString(_0x53d690);if(!Array[_0x126827(0x196)](_0x53d690))return null;const _0x429e86=_0x53d690[_0x126827(0x1fb)](_0x1fede6=>{const _0x178fe8=_0x126827;if(typeof _0x1fede6==='string'){const _0x35d00f=normalizeString(_0x1fede6);return _0x35d00f?[_0x35d00f]:[];}if(!_0x1fede6||typeof _0x1fede6!=='object')return[];const _0x301461=normalizeString(_0x1fede6[_0x178fe8(0x17b)]),_0x2a9580=normalizeString(_0x1fede6['note']);if(_0x301461&&_0x2a9580)return['v'+_0x301461+'\x0a'+_0x2a9580];if(_0x2a9580)return[_0x2a9580];if(_0x301461)return['v'+_0x301461];return[];});return _0x429e86[_0x126827(0x271)]>0x0?_0x429e86[_0x126827(0x1aa)]('\x0a\x0a'):null;}function extractUpdateInfoPatch(_0x51d295){const _0x2ca965=_0x5e5153;if(!_0x51d295||typeof _0x51d295!==_0x2ca965(0x1b6))return{};return{'remoteVersion':normalizeString(_0x51d295[_0x2ca965(0x17b)]),'availableVersion':normalizeString(_0x51d295['version']),'releaseName':normalizeString(_0x51d295[_0x2ca965(0x170)+'ame']),'releaseDate':normalizeString(_0x51d295[_0x2ca965(0x183)+_0x2ca965(0x243)]),'releaseNotes':normalizeReleaseNotes(_0x51d295['releaseN'+_0x2ca965(0x1a7)])};}function _0x4d68(_0xe0f20f,_0x4a9e05){_0xe0f20f=_0xe0f20f-0x165;const _0x29ed1e=_0x29ed();let _0x4d6876=_0x29ed1e[_0xe0f20f];return _0x4d6876;}function extractPackageFileName(_0x474cd3){const _0x52b0ed=_0x5e5153,_0x21918c=normalizeString(_0x474cd3);if(!_0x21918c)return null;try{const _0x107e28=new URL(_0x21918c);return normalizeAppUpdatePackageFileName(decodeURIComponent(basename(_0x107e28['pathname'])));}catch{const _0x123a99=_0x21918c[_0x52b0ed(0x235)](/[?#]/u,0x1)[0x0];return normalizeAppUpdatePackageFileName(basename(_0x123a99));}}function getPreferredUpdatePackagePattern(){const _0x1a34c3=_0x5e5153;if(process['platform']===_0x1a34c3(0x2ba))return/\.zip$/iu;if(process[_0x1a34c3(0x291)]===_0x1a34c3(0x17a))return/\.exe$/iu;if(process[_0x1a34c3(0x291)]===_0x1a34c3(0x21d))return/\.AppImage$/u;return/\.(zip|exe|AppImage)$/u;}function extractRemoteUpdatePackageMetadata(_0x5ed01a,_0x2db438){const _0x5144a1=_0x5e5153;if(!_0x5ed01a||typeof _0x5ed01a!==_0x5144a1(0x1b6))return null;const _0x2fe168=normalizeString(_0x5ed01a[_0x5144a1(0x17b)]);if(!_0x2fe168)return null;const _0x19a3ec=[],_0x47492f=Array['isArray'](_0x5ed01a[_0x5144a1(0x197)])?_0x5ed01a[_0x5144a1(0x197)]:[];for(const _0x9db227 of _0x47492f){if(!_0x9db227||typeof _0x9db227!=='object')continue;const _0x384b73=extractPackageFileName(_0x9db227['url'])??extractPackageFileName(_0x9db227[_0x5144a1(0x299)])??normalizeAppUpdatePackageFileName(_0x9db227[_0x5144a1(0x23d)]),_0x226a89=normalizeString(_0x9db227[_0x5144a1(0x2ce)]);_0x384b73&&_0x226a89&&_0x19a3ec['push']({'fileName':_0x384b73,'sha512':_0x226a89});}const _0x532985=extractPackageFileName(_0x5ed01a[_0x5144a1(0x1ac)])??extractPackageFileName(_0x5ed01a[_0x5144a1(0x299)])??normalizeAppUpdatePackageFileName(_0x5ed01a[_0x5144a1(0x23d)]),_0x895da8=normalizeString(_0x5ed01a[_0x5144a1(0x2ce)]);_0x532985&&_0x895da8&&_0x19a3ec['push']({'fileName':_0x532985,'sha512':_0x895da8});const _0x535933=_0x19a3ec[_0x5144a1(0x1c9)](_0x52953d=>getPreferredUpdatePackagePattern()[_0x5144a1(0x187)](_0x52953d[_0x5144a1(0x23d)]));if(!_0x535933)return _0x2db438?.[_0x5144a1(0x297)]?.('no\x20match'+_0x5144a1(0x199)+_0x5144a1(0x237)+'ge\x20for\x20c'+_0x5144a1(0x231)+_0x5144a1(0x16f),{'platform':process[_0x5144a1(0x291)],'candidates':_0x19a3ec[_0x5144a1(0x23f)](_0x1e1325=>_0x1e1325[_0x5144a1(0x23d)])}),null;return{'version':_0x2fe168,..._0x535933};}function extractProgressPatch(_0x16580){const _0x362f06=_0x5e5153;return{'downloadPercent':typeof _0x16580[_0x362f06(0x226)]==='number'?_0x16580[_0x362f06(0x226)]:null,'bytesPerSecond':typeof _0x16580[_0x362f06(0x1b7)+'Second']==='number'?_0x16580['bytesPer'+_0x362f06(0x1d5)]:null,'transferredBytes':typeof _0x16580[_0x362f06(0x252)+'red']===_0x362f06(0x222)?_0x16580[_0x362f06(0x252)+'red']:null,'totalBytes':typeof _0x16580[_0x362f06(0x242)]==='number'?_0x16580[_0x362f06(0x242)]:null};}function getErrorMessage(_0x320d5b){const _0x447680=_0x5e5153;if(_0x320d5b instanceof Error&&_0x320d5b[_0x447680(0x2b8)][_0x447680(0x26c)]())return _0x320d5b[_0x447680(0x2b8)][_0x447680(0x26c)]();if(typeof _0x320d5b===_0x447680(0x1d0)&&_0x320d5b[_0x447680(0x26c)]())return _0x320d5b['trim']();return _0x447680(0x280)+'误';}function getMacSquirrelDirectWriteDefaultsDomains(_0x4ee9d9){const _0x309f2d=_0x5e5153,_0xd1683b=normalizeString(_0x4ee9d9);if(!_0xd1683b)return[];return[_0xd1683b,_0xd1683b+_0x309f2d(0x1f5)];}function _0x29ed(){const _0x59b935=['te.yml','pendingP','unsuppor','getAllWi','utMs','efetch_f','fo.json','availabl','rrel\x20dir','yed','ing','uitTimeo','platform','当前使用\x20Alp','update-i','stringif','内自动更新','check\x20re','warn','checking','path','already-','14928595dTjJrs','更新包\x20v','text\x20loa','ending\x20u','ted','ved','rel_dire','nstall_p','更新包校验完成但','isPackag','remoteVe','ive\x20upda','nstall\x20d','te-state','ntervalM','10614jvdzwy',',请重新下载更新','dataDir','r\x20boot','ackage_v','更新准备失败','\x20out','update\x20p','t\x20instal','supporte','ts\x20skipp','write','fig\x20中禁用','update_b','message','ackage','darwin','更新包已准备好安','rite','365WpUAWu','ewer','备安装','update\x20n','更新安装未能启动','ac\x20updat','nstall\x20p','hdog\x20sta','ch\x20wait\x20','hase_con','rsion','nstall\x20q','eted','push','d;\x20insta','acheDirN','text_sta','sha512','called','install\x20','o\x20inspec','Caches','id\x20not\x20t','ext_boot','uit_and_',',请重新校验并准','AppData','toFixed','resolve','backgrou','autoInst','ending_p','true','pending\x20','10QMsELK','tart','ignore','update-n','uit_star','e\x20native','packagin','check-er','latform','releaseN','complete','checkFor','phase','-bool','_by_conf','mac','\x20before\x20','uit_done','663844RidPbS','win32','version','stale\x20up','isDestro','parse','ch\x20start','lable','o\x20read\x20a','toISOStr','releaseD','o\x20read\x20p','install_','efetch\x20b','test','pp\x20quit\x20','running','max','s_enable','efetch_i','stall','当前没有可下载的','\x20已准备好安装','remote-n','ytes','edVersio','Percent','g\x20downlo','app:upda','isArray','files','ait_done','ing\x20upda','appId','includes','finally','repare\x20q','ndCheckI','disabled','mac\x20squi','quitAndI','13562OHsqwj','resource','load\x20fai','efetch_s','updaterC','otes','nstall\x20f','fore\x20nat','join','250699hBSske','url','size','hell.con','Updates','ch\x20timed','stale-af','update-d','for\x20nati','ntext.la','update\x20i','object','bytesPer','后的安装包中可用','动更新','update\x20b','uit\x20star','eDirectC','ch\x20compl','\x20AppImag','ame','installQ','update_i','native\x20m','signal','ait_star','update_m','function','ntext','date\x20ins','find','ndCheckS','consumed','datePref','r\x20starte','auto\x20upd','eVersion','string','sion','vailable','t\x20pendin','\x20will\x20us','Second','ersion','Quit','not-avai','\x20fallbac','mileston','重试下载更新','it_obser','nstall_w','uit\x20comp','utf8','pdate-in','o\x20persis','channel','tes','info','one','native-u','g\x20instal','status','catch','ts\x20enabl','failed','正在重新准备更新','installi','same-ver','s_skippe','ch\x20skipp','xt\x20ignor','l\x20packag','context','正在检查更新','.ShipIt','se\x20conte','o\x20archiv','hasUpdat','install-','ntext.js','flatMap','etchTime','allOnApp','ackageBy','update_p','failed\x20t','missing_','app_id','ownloade','ailed\x20be','e\x20prefet','1203846PJqtNc','hase\x20con','发现新版本\x20v','isFinite','3SwniZM','quested','load','kipped','update\x20q','removeLi','安装更新失败','ha\x20更新渠道','leted','packageB','requeste','nd\x20updat','remote-o','latest','currentV','s_failed','efore\x20in','repare_q','MacEnabl','linux','4653geBctq','imeout','pdater\x20q','startedA','number','ct_write','download','pdater-u','percent','oot','-updater','lder','now','kage','uit\x20and\x20','phase\x20co','自动更新功能已就','ll\x20click','update_q','urrent\x20p','dater','finished','send','split','ate\x20down','te\x20packa','nativeUp','Linux\x20下仅','squirrel','efore\x20qu','l\x20phase\x20','fileName','.cache','map','_default','autoDown','total','ate','ending\x20p','it\x20obser','ndows','error','ontentsW','nts','4936LoBInb','assign','install','exec','text_loa','taleMs','rigger\x20a','electron','transfer','Squirrel','自动更新失败','发现可用更新','ts\x20faile','defaults','led','ect\x20writ','ded','e\x20check\x20','outMs','navailab','自动更新已在\x20s','enabled','-error','startup','once','\x20after\x20i','e\x20defaul','正在验证安装包…','then','interval','sPath','idle','load\x20req','uitAndIn','trim','ter-boot','errorCod','alpha','pending','length','update_n','app-upda','正在下载\x20','ative_pr','rted','nstall','ackage\x20v','-progres','已下载更新','webConte','ch\x20faile','efetch_d','update_a','当前已经是最新版','未知的自动更新错','ve\x20mac\x20u','ac_squir','packageN','当前没有可安装的'];_0x29ed=function(){return _0x59b935;};return _0x29ed();}function isSuccessfulCommandResult(_0x13f63a){const _0xa9e71f=_0x5e5153;return!_0x13f63a?.[_0xa9e71f(0x247)]&&!_0x13f63a?.[_0xa9e71f(0x1c3)]&&(typeof _0x13f63a?.[_0xa9e71f(0x1e8)]!==_0xa9e71f(0x222)||_0x13f63a[_0xa9e71f(0x1e8)]===0x0);}function readJsonFile(_0x5394){if(!existsSync(_0x5394))return null;try{return JSON['parse'](readFileSync(_0x5394,'utf8'));}catch{return null;}}export function createUpdateController({shellConfig:_0xfdf609,appName:_0x52ec2f,appVersion:_0x2d93a1,broadcast:_0x341b99,logger:_0x260bfc,prepareQuitAndInstall:_0x4bb9b1,defaultsCommandRunner:defaultsCommandRunner=spawnSync}){const _0x2880c1=_0x5e5153,_0x4e2722=_0xfdf609['updates']??{},_0x1d59b1=normalizeAppUpdateChannel(_0x4e2722[_0x2880c1(0x1e2)]),_0x309287={'backgroundCheckIntervalMs':_0x4e2722[_0x2880c1(0x2da)+_0x2880c1(0x19e)+_0x2880c1(0x2a9)+'s']??DEFAULT_BACKGROUND_UPDATE_CHECK_INTERVAL_MS,'backgroundCheckStaleMs':_0x4e2722[_0x2880c1(0x2da)+_0x2880c1(0x1ca)+_0x2880c1(0x24f)]??DEFAULT_BACKGROUND_UPDATE_CHECK_STALE_MS,'installQuitTimeoutMs':_0x4e2722[_0x2880c1(0x1c0)+_0x2880c1(0x290)+'utMs']??DEFAULT_INSTALL_QUIT_TIMEOUT_MS,'nativeUpdatePrefetchTimeoutMs':_0x4e2722[_0x2880c1(0x238)+_0x2880c1(0x1cc)+_0x2880c1(0x1fc)+_0x2880c1(0x25c)]??DEFAULT_NATIVE_UPDATE_PREFETCH_TIMEOUT_MS,'autoDownload':_0x4e2722[_0x2880c1(0x241)+_0x2880c1(0x20c)]===!![]},_0xe70012={'supported':![],'channel':_0x1d59b1,'phase':_0x2880c1(0x287)+_0x2880c1(0x29f),'currentVersion':_0x2d93a1(),'remoteVersion':null,'comparisonResult':'unknown','hasUpdate':![],'availableVersion':null,'downloadedVersion':null,'releaseName':null,'releaseDate':null,'releaseNotes':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,'hasPendingPackage':![],'pendingPackageName':null,'pendingPackageBytes':null,'checkedAt':null,'message':'自动更新已禁用','error':null,'errorCode':null};let _0x5ad7c9=![],_0x413a21=null,_0x45f5e5=null,_0x3160b9=null,_0x315ba9=null,_0x4cb3b2=null,_0x453eeb=null,_0x4bef17=![],_0x64e6fd=null,_0x444b9c=0x0,_0x4b37d7=null,_0x483dbf=null,_0x13021d=![],_0x49018f=![],_0x144d56=null;function _0x4bd815(){const _0x58264a=_0x2880c1;if(process[_0x58264a(0x291)]===_0x58264a(0x2ba))return join(homedir(),'Library',_0x58264a(0x2d2));if(process[_0x58264a(0x291)]===_0x58264a(0x17a))return process.env.LOCALAPPDATA??join(homedir(),_0x58264a(0x2d7),'Local');return process.env.XDG_CACHE_HOME??join(homedir(),_0x58264a(0x23e));}function _0x4642e6(){const _0x4edf25=_0x2880c1;if(!app[_0x4edf25(0x2a4)+'ed']||!process[_0x4edf25(0x1a3)+_0x4edf25(0x268)])return{};const _0x232742=join(process[_0x4edf25(0x1a3)+'sPath'],_0x4edf25(0x273)+_0x4edf25(0x285));if(!existsSync(_0x232742))return{};try{const _0x1f8f7b=readFileSync(_0x232742,_0x4edf25(0x1df)),_0x30cb73=/^\s*channel:\s*["']?([^"'\s#]+)["']?/imu[_0x4edf25(0x24d)](_0x1f8f7b),_0x37de33=/^\s*updaterCacheDirName:\s*["']?([^"'\s#]+)["']?/imu[_0x4edf25(0x24d)](_0x1f8f7b);return{'channel':normalizeAppUpdateChannel(_0x30cb73?.[0x1]),'updaterCacheDirName':normalizeString(_0x37de33?.[0x1])};}catch(_0x2cbab8){return _0x260bfc?.['warn']?.(_0x4edf25(0x200)+_0x4edf25(0x181)+'pp-updat'+'e.yml',{'error':getErrorMessage(_0x2cbab8)}),{};}}const _0x23bede=_0x4642e6();_0x23bede[_0x2880c1(0x1e2)]&&(_0xe70012[_0x2880c1(0x1e2)]=_0x23bede[_0x2880c1(0x1e2)]);function _0x31f56e(){const _0x1e3926=_0x2880c1,_0x3239a9=_0x23bede[_0x1e3926(0x1a6)+_0x1e3926(0x2cc)+_0x1e3926(0x1bf)]||_0x52ec2f()+'-updater';return join(_0x4bd815(),_0x3239a9);}function _0x15b5be(_0x21572c){const _0x2431f3=_0x2880c1;return _0x21572c===_0x2431f3(0x26f)?_0x2431f3(0x292)+_0x2431f3(0x211):_0x2431f3(0x22e)+'绪';}function _0x55fc8b(){const _0x2f5098=_0x2880c1;if(_0x4e2722[_0x2f5098(0x25f)]===![])return![];if(!app[_0x2f5098(0x2a4)+'ed'])return![];if(process[_0x2f5098(0x291)]!=='linux')return!![];return Boolean(process.env.APPIMAGE);}function _0x493cc3(){const _0x282dc9=_0x2880c1;if(_0x4e2722[_0x282dc9(0x25f)]===![])return _0x282dc9(0x25e)+_0x282dc9(0x1ae)+_0x282dc9(0x2b6);if(!app[_0x282dc9(0x2a4)+'ed'])return'自动更新仅在打包'+_0x282dc9(0x1b8);if(process[_0x282dc9(0x291)]===_0x282dc9(0x21d))return _0x282dc9(0x239)+_0x282dc9(0x1be)+'e\x20版本支持应用'+_0x282dc9(0x295);return'当前构建不支持自'+_0x282dc9(0x1b9);}function _0x34e17e(){const _0x919ebf=_0x2880c1;return join(_0xfdf609[_0x919ebf(0x2ac)],'install-'+'phase-co'+_0x919ebf(0x1fa)+'on');}function _0x5573ed(){const _0x9eed66=_0x2880c1;return join(_0xfdf609['dataDir'],_0x9eed66(0x1f9)+'phase-co'+_0x9eed66(0x1b4)+'st.json');}function _0x5b217b(){return{'hasPendingPackage':![],'pendingPackageName':null,'pendingPackageBytes':null};}function _0x16f670(){return{..._0xe70012};}function _0x518dff(){const _0x35253e=_0x2880c1,_0x18098e=_0x16f670();for(const _0x578be0 of BrowserWindow[_0x35253e(0x288)+_0x35253e(0x246)]()){!_0x578be0[_0x35253e(0x17d)+_0x35253e(0x28e)]()&&_0x578be0[_0x35253e(0x27b)+_0x35253e(0x249)][_0x35253e(0x234)](_0x35253e(0x195)+_0x35253e(0x2a8),_0x18098e);}_0x341b99?.(_0x35253e(0x195)+_0x35253e(0x2a8),_0x18098e);}function _0x370eb7(_0x39dd90){const _0x2a16f0=_0x2880c1,_0x4e5f5e={..._0x39dd90};_0x4e5f5e[_0x2a16f0(0x247)]===null&&_0x4e5f5e[_0x2a16f0(0x26e)+'e']===undefined&&(_0x4e5f5e['errorCod'+'e']=null),Object[_0x2a16f0(0x24b)](_0xe70012,_0x4e5f5e,{'currentVersion':_0x2d93a1()}),_0x518dff();}function _0x5ef8ec(){if(!_0xe70012['supporte'+'d'])throw new Error(_0x493cc3());}function _0x58bb4a(_0x23bd8e,_0x5d6bdb={}){const _0x1edb0c=_0x2880c1;_0x260bfc?.[_0x1edb0c(0x1e4)]?.(_0x23bd8e,_0x5d6bdb);}function _0x52d8fa(_0x41c9e7,_0x48200f={}){_0x260bfc?.['warn']?.(_0x41c9e7,_0x48200f);}function _0x78e312(){const _0xf5c4=_0x2880c1;if(process[_0xf5c4(0x291)]!=='darwin')return;if(_0xfdf609[_0xf5c4(0x16d)+'g']?.[_0xf5c4(0x176)]?.[_0xf5c4(0x23a)+_0xf5c4(0x21c)+_0xf5c4(0x1bc)+_0xf5c4(0x248)+'rite']===![]){_0x58bb4a(_0xf5c4(0x1a0)+'rrel\x20dir'+'ect\x20writ'+'e\x20defaul'+_0xf5c4(0x2b4)+'ed',{'event':_0xf5c4(0x1c5)+_0xf5c4(0x282)+_0xf5c4(0x2a1)+_0xf5c4(0x223)+_0xf5c4(0x240)+_0xf5c4(0x1ef)+'d','reason':_0xf5c4(0x19f)+_0xf5c4(0x175)+'ig'});return;}const _0x5a09f6=getMacSquirrelDirectWriteDefaultsDomains(_0xfdf609[_0xf5c4(0x19a)]);if(_0x5a09f6[_0xf5c4(0x271)]===0x0){_0x52d8fa(_0xf5c4(0x1a0)+_0xf5c4(0x28d)+_0xf5c4(0x259)+_0xf5c4(0x264)+'ts\x20skipp'+'ed',{'event':_0xf5c4(0x1c5)+_0xf5c4(0x282)+_0xf5c4(0x2a1)+_0xf5c4(0x223)+'_default'+'s_skippe'+'d','reason':_0xf5c4(0x201)+_0xf5c4(0x202)});return;}const _0x1565d3=[];for(const _0x358f80 of _0x5a09f6){try{const _0x3493d2=defaultsCommandRunner(_0xf5c4(0x257),[_0xf5c4(0x2b5),_0x358f80,SQUIRREL_DIRECT_WRITE_DEFAULTS_KEY,_0xf5c4(0x174),_0xf5c4(0x165)],{'stdio':_0xf5c4(0x169)});!isSuccessfulCommandResult(_0x3493d2)&&_0x1565d3['push']({'domain':_0x358f80,'status':_0x3493d2?.[_0xf5c4(0x1e8)]??null,'signal':_0x3493d2?.['signal']??null,'error':_0x3493d2?.[_0xf5c4(0x247)]?getErrorMessage(_0x3493d2[_0xf5c4(0x247)]):null});}catch(_0x6ca00b){_0x1565d3[_0xf5c4(0x2ca)]({'domain':_0x358f80,'status':null,'signal':null,'error':getErrorMessage(_0x6ca00b)});}}if(_0x1565d3[_0xf5c4(0x271)]>0x0){_0x52d8fa(_0xf5c4(0x1a0)+_0xf5c4(0x28d)+_0xf5c4(0x259)+_0xf5c4(0x264)+_0xf5c4(0x256)+'d',{'event':'update_m'+'ac_squir'+_0xf5c4(0x2a1)+_0xf5c4(0x223)+'_default'+_0xf5c4(0x219),'domains':_0x5a09f6,'failures':_0x1565d3});return;}_0x58bb4a(_0xf5c4(0x1a0)+_0xf5c4(0x28d)+_0xf5c4(0x259)+'e\x20defaul'+_0xf5c4(0x1ea)+'ed',{'event':_0xf5c4(0x1c5)+_0xf5c4(0x282)+'rel_dire'+_0xf5c4(0x223)+_0xf5c4(0x240)+_0xf5c4(0x18b)+'d','domains':_0x5a09f6});}function _0x38fd0c(){const _0x213d23=_0x2880c1;if(process[_0x213d23(0x291)]!==_0x213d23(0x2ba))return null;const _0x2113f2=autoUpdater?.[_0x213d23(0x238)+_0x213d23(0x232)];if(!_0x2113f2||typeof _0x2113f2[_0x213d23(0x172)+_0x213d23(0x1af)]!==_0x213d23(0x1c6))return null;return _0x2113f2;}function _0x1624c9(){if(!_0x483dbf)return;clearTimeout(_0x483dbf),_0x483dbf=null;}function _0x2a1b9a(){const _0x531d75=_0x2880c1;typeof _0x144d56===_0x531d75(0x1c6)&&_0x144d56(),_0x1624c9(),_0x4b37d7=null,_0x13021d=![],_0x49018f=![],_0x144d56=null;}function _0xa6eec1(_0x3fb05c){const _0x1ad509=_0x2880c1;if(typeof _0x3fb05c!==_0x1ad509(0x222)||!Number[_0x1ad509(0x209)](_0x3fb05c))return null;const _0x1b404c=Math['min'](0x63,Math['max'](0x0,_0x3fb05c));if(_0xe70012[_0x1ad509(0x173)]!=='download'+_0x1ad509(0x28f)||typeof _0xe70012[_0x1ad509(0x224)+_0x1ad509(0x193)]!==_0x1ad509(0x222))return _0x1b404c;return Math[_0x1ad509(0x18a)](_0xe70012['download'+_0x1ad509(0x193)],_0x1b404c);}function _0x461b1e(_0x513189,_0x4e8618){const _0x27a185=_0x2880c1,_0x5e2b1a=_0x513189?'v'+_0x513189:'新版本';if(typeof _0x4e8618===_0x27a185(0x222)){if(_0x4e8618>=0x63)return _0x27a185(0x265);return _0x27a185(0x274)+_0x5e2b1a+'\x20('+_0x4e8618[_0x27a185(0x2d8)](0x1)+'%)';}return _0x27a185(0x274)+_0x5e2b1a;}function _0x242c68(_0x131499){const _0x960b1a=_0x2880c1;if(!_0x309287[_0x960b1a(0x241)+_0x960b1a(0x20c)])return;if(_0x45f5e5||_0xe70012['phase']!==_0x960b1a(0x28c)+'e'||!_0xe70012[_0x960b1a(0x1f8)+'e'])return;_0x58bb4a('auto\x20upd'+_0x960b1a(0x236)+_0x960b1a(0x26a)+'uested',{'reason':_0x131499,'availableVersion':_0xe70012[_0x960b1a(0x28c)+'eVersion']}),void _0x3d23eb()[_0x960b1a(0x1e9)](_0x214cff=>{const _0x2e4bfe=_0x960b1a;_0x52d8fa(_0x2e4bfe(0x1ce)+_0x2e4bfe(0x236)+_0x2e4bfe(0x1a4)+_0x2e4bfe(0x258),{'reason':_0x131499,'error':getErrorMessage(_0x214cff)});});}function _0x191166(_0x498751){const _0x282a63=_0x2880c1;try{writeFileSync(_0x34e17e(),JSON[_0x282a63(0x294)+'y'](_0x498751,null,0x2),_0x282a63(0x1df));}catch(_0x45752d){_0x52d8fa(_0x282a63(0x200)+_0x282a63(0x1e1)+_0x282a63(0x2b2)+_0x282a63(0x23c)+'context',{'error':getErrorMessage(_0x45752d)});}}function _0x3a9641(){return readJsonFile(_0x34e17e());}function _0x133be9(_0x32404b,_0x58455c,_0x50207f={}){const _0x2a58e3=_0x2880c1;try{writeFileSync(_0x5573ed(),JSON['stringif'+'y']({..._0x32404b,..._0x50207f,'archivedAt':new Date()[_0x2a58e3(0x182)+_0x2a58e3(0x28f)](),'archiveReason':_0x58455c},null,0x2),_0x2a58e3(0x1df));}catch(_0x194b26){_0x52d8fa('failed\x20t'+_0x2a58e3(0x1f7)+'e\x20instal'+'l\x20phase\x20'+_0x2a58e3(0x1f3),{'reason':_0x58455c,'error':getErrorMessage(_0x194b26)});}}function _0x2e280(_0x4e67d7){const _0x309ec1=_0x2880c1,_0x2af502=_0x3a9641();if(!_0x2af502||typeof _0x2af502!==_0x309ec1(0x1b6))return;_0x191166({..._0x2af502,..._0x4e67d7,'milestones':{..._0x2af502[_0x309ec1(0x1da)+'es']&&typeof _0x2af502[_0x309ec1(0x1da)+'es']===_0x309ec1(0x1b6)?_0x2af502['mileston'+'es']:{},..._0x4e67d7[_0x309ec1(0x1da)+'es']??{}}});}function _0x2fe079(){const _0x240772=_0x2880c1;try{rmSync(_0x34e17e(),{'force':!![]});}catch(_0x1043a4){_0x52d8fa(_0x240772(0x200)+'o\x20clear\x20'+_0x240772(0x2d0)+_0x240772(0x22d)+_0x240772(0x1c7),{'error':getErrorMessage(_0x1043a4)});}}function _0x17f83b(){const _0x443fc2=_0x2880c1,_0x4895cb=join(_0x31f56e(),_0x443fc2(0x270));if(!existsSync(_0x4895cb))return{'packageName':null,'packageBytes':null};try{const _0x42bc06=readdirSync(_0x4895cb)['find'](_0x5af5d0=>/\.(zip|exe|dmg|AppImage)$/iu['test'](_0x5af5d0))??null;if(!_0x42bc06)return{'packageName':null,'packageBytes':null};const _0x44eb98=join(_0x4895cb,_0x42bc06);return{'packageName':_0x42bc06,'packageBytes':statSync(_0x44eb98)[_0x443fc2(0x1ad)]};}catch(_0x4287d2){return _0x52d8fa(_0x443fc2(0x200)+_0x443fc2(0x2d1)+_0x443fc2(0x1d3)+_0x443fc2(0x1e7)+_0x443fc2(0x1f2)+'e',{'error':getErrorMessage(_0x4287d2)}),{'packageName':null,'packageBytes':null};}}function _0x4c5af4(){const _0x22f040=_0x2880c1;if(!_0x315ba9)return null;const _0x43c8f9=join(_0x31f56e(),_0x22f040(0x270)),_0x4022a4=join(_0x43c8f9,_0x22f040(0x293)+'nfo.json');if(!existsSync(_0x4022a4))return null;let _0x522891=null;try{_0x522891=JSON[_0x22f040(0x17e)](readFileSync(_0x4022a4,_0x22f040(0x1df)));}catch(_0x57b1f6){return _0x52d8fa(_0x22f040(0x200)+_0x22f040(0x184)+_0x22f040(0x29e)+_0x22f040(0x1e0)+_0x22f040(0x28b),{'error':getErrorMessage(_0x57b1f6)}),null;}if(!isMatchingAppUpdatePackageMetadata(_0x315ba9,_0x522891))return null;const _0x1caf60=join(_0x43c8f9,_0x315ba9['fileName']);if(!existsSync(_0x1caf60))return null;try{const _0x4a328e=statSync(_0x1caf60);if(!_0x4a328e['isFile']()||_0x4a328e[_0x22f040(0x1ad)]===0x0)return null;return{'metadata':_0x315ba9,'packageName':_0x315ba9['fileName'],'packageBytes':_0x4a328e[_0x22f040(0x1ad)]};}catch(_0x124cc4){return _0x52d8fa('failed\x20t'+'o\x20inspec'+_0x22f040(0x1d3)+_0x22f040(0x194)+'aded\x20pac'+_0x22f040(0x22b),{'error':getErrorMessage(_0x124cc4)}),null;}}function _0x1be68f(_0x539593){const _0x2b19cf=_0x2880c1,_0x5c26ff=_0x4c5af4();if(!_0x5c26ff)return![];const {metadata:_0x3b29e1,packageName:_0x25d37a,packageBytes:_0x1560a5}=_0x5c26ff;return _0x58bb4a(_0x2b19cf(0x166)+'package\x20'+'cache\x20hi'+'t',{'reason':_0x539593,'version':_0x3b29e1['version'],'packageName':_0x25d37a,'packageBytes':_0x1560a5}),_0x370eb7({'phase':_0x2b19cf(0x28c)+'e','remoteVersion':_0x3b29e1[_0x2b19cf(0x17b)],'comparisonResult':_0x2b19cf(0x190)+_0x2b19cf(0x2be),'hasUpdate':!![],'availableVersion':_0x3b29e1[_0x2b19cf(0x17b)],'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':_0x1560a5,'totalBytes':_0x1560a5,'hasPendingPackage':!![],'pendingPackageName':_0x25d37a,'pendingPackageBytes':_0x1560a5,'error':null,'message':'发现本地更新包\x20'+'v'+_0x3b29e1[_0x2b19cf(0x17b)]+(_0x2b19cf(0x2d6)+_0x2b19cf(0x2bf))}),!![];}function _0x10e7ea(_0x2e1255,_0x2f9377){const _0x25f3c2=_0x2880c1,_0x1914a1=_0x17f83b();_0x58bb4a(_0x25f3c2(0x2b1)+_0x25f3c2(0x244)+_0x25f3c2(0x278)+'alidated',{'event':_0x25f3c2(0x1ff)+_0x25f3c2(0x2dc)+_0x25f3c2(0x2ae)+'alidated','reason':_0x2e1255,'validator':_0x25f3c2(0x251)+_0x25f3c2(0x228),'currentVersion':_0xe70012[_0x25f3c2(0x218)+'ersion'],'downloadedVersion':_0x2f9377,'pendingPackage':_0x1914a1[_0x25f3c2(0x283)+'ame'],'pendingPackageBytes':_0x1914a1[_0x25f3c2(0x213)+'ytes'],'sha512Validated':!![]});}function _0x5013f1(_0x5f4b8e){const _0x4f77e5=_0x2880c1;if(_0x49018f)return _0x58bb4a('native\x20m'+_0x4f77e5(0x2c2)+_0x4f77e5(0x205)+_0x4f77e5(0x1f0)+'ed',{'event':_0x4f77e5(0x272)+_0x4f77e5(0x275)+_0x4f77e5(0x1a5)+'kipped','reason':_0x5f4b8e,'skipReason':_0x4f77e5(0x29a)+_0x4f77e5(0x171)+'d','downloadedVersion':_0xe70012[_0x4f77e5(0x224)+'edVersio'+'n']}),_0x4b37d7??Promise[_0x4f77e5(0x2d9)]('already-'+_0x4f77e5(0x171)+'d');if(_0x4b37d7)return _0x58bb4a(_0x4f77e5(0x1c2)+_0x4f77e5(0x2c2)+_0x4f77e5(0x205)+_0x4f77e5(0x1f0)+'ed',{'event':_0x4f77e5(0x272)+_0x4f77e5(0x275)+_0x4f77e5(0x1a5)+_0x4f77e5(0x20d),'reason':_0x5f4b8e,'skipReason':'already-'+_0x4f77e5(0x189),'downloadedVersion':_0xe70012[_0x4f77e5(0x224)+_0x4f77e5(0x192)+'n']}),_0x4b37d7;const _0x4a3122=_0x38fd0c();if(!_0x4a3122)return process['platform']===_0x4f77e5(0x2ba)&&_0x52d8fa(_0x4f77e5(0x1c2)+_0x4f77e5(0x2c2)+_0x4f77e5(0x205)+'ch\x20skipp'+'ed',{'event':_0x4f77e5(0x272)+'ative_pr'+_0x4f77e5(0x1a5)+'kipped','reason':_0x5f4b8e,'skipReason':_0x4f77e5(0x1e6)+_0x4f77e5(0x225)+_0x4f77e5(0x25d)+'le','downloadedVersion':_0xe70012[_0x4f77e5(0x224)+_0x4f77e5(0x192)+'n']}),Promise[_0x4f77e5(0x2d9)]('unsuppor'+_0x4f77e5(0x29f));_0x13021d=!![];const _0xb77d17=Date[_0x4f77e5(0x22a)]();return _0x58bb4a(_0x4f77e5(0x1c2)+_0x4f77e5(0x2c2)+_0x4f77e5(0x205)+_0x4f77e5(0x17f)+'ed',{'event':_0x4f77e5(0x272)+_0x4f77e5(0x275)+_0x4f77e5(0x1a5)+_0x4f77e5(0x168),'reason':_0x5f4b8e,'currentVersion':_0xe70012[_0x4f77e5(0x218)+_0x4f77e5(0x1d6)],'downloadedVersion':_0xe70012[_0x4f77e5(0x224)+_0x4f77e5(0x192)+'n'],'timeoutMs':_0x309287[_0x4f77e5(0x238)+'datePref'+_0x4f77e5(0x1fc)+_0x4f77e5(0x25c)]}),_0x4b37d7=new Promise(_0x48f5bf=>{const _0x1dc9cc=_0x4f77e5;let _0x413c7c=![];const _0x4a43c6=(_0x2b3848,_0x14b55a=null)=>{const _0x572abc=_0x4d68;if(_0x413c7c)return;_0x413c7c=!![],_0x144d56?.(),_0x1624c9(),_0x13021d=![],_0x49018f=_0x2b3848===_0x572abc(0x171)+'d',_0x144d56=null;const _0x5576e9=Date[_0x572abc(0x22a)]()-_0xb77d17;_0x2b3848===_0x572abc(0x171)+'d'?_0x58bb4a(_0x572abc(0x1c2)+'ac\x20updat'+_0x572abc(0x205)+_0x572abc(0x1bd)+_0x572abc(0x2c9),{'event':_0x572abc(0x272)+'ative_pr'+_0x572abc(0x27d)+_0x572abc(0x1e5),'reason':_0x5f4b8e,'elapsedMs':_0x5576e9,'downloadedVersion':_0xe70012['download'+_0x572abc(0x192)+'n']}):_0x52d8fa(_0x572abc(0x1c2)+_0x572abc(0x2c2)+_0x572abc(0x205)+_0x572abc(0x27c)+_0x572abc(0x2cb)+_0x572abc(0x22f)+_0x572abc(0x1d4)+_0x572abc(0x16c)+_0x572abc(0x1d9)+'k',{'event':_0x572abc(0x272)+_0x572abc(0x275)+_0x572abc(0x28a)+'ailed','reason':_0x5f4b8e,'elapsedMs':_0x5576e9,'downloadedVersion':_0xe70012[_0x572abc(0x224)+_0x572abc(0x192)+'n'],'error':getErrorMessage(_0x14b55a)}),_0x48f5bf(_0x2b3848);},_0x3a2588=()=>_0x4a43c6(_0x1dc9cc(0x171)+'d'),_0x3da029=_0x1c4f92=>_0x4a43c6(_0x1dc9cc(0x1eb),_0x1c4f92);_0x144d56=()=>{const _0x2a9cee=_0x1dc9cc;_0x4a3122[_0x2a9cee(0x20f)+'stener']?.('update-d'+_0x2a9cee(0x203)+'d',_0x3a2588),_0x4a3122[_0x2a9cee(0x20f)+'stener']?.(_0x2a9cee(0x247),_0x3da029);},_0x4a3122[_0x1dc9cc(0x262)]?.(_0x1dc9cc(0x1b2)+_0x1dc9cc(0x203)+'d',_0x3a2588),_0x4a3122['once']?.(_0x1dc9cc(0x247),_0x3da029),_0x483dbf=setTimeout(()=>{const _0x19a3da=_0x1dc9cc;_0x4a43c6(_0x19a3da(0x1eb),new Error(_0x19a3da(0x1c2)+'ac\x20updat'+_0x19a3da(0x205)+_0x19a3da(0x1b0)+_0x19a3da(0x2b0)));},_0x309287[_0x1dc9cc(0x238)+_0x1dc9cc(0x1cc)+_0x1dc9cc(0x1fc)+'outMs']);try{const _0x4cf338=_0x4a3122[_0x1dc9cc(0x172)+'Updates']();_0x4cf338&&typeof _0x4cf338['then']===_0x1dc9cc(0x1c6)&&_0x4cf338[_0x1dc9cc(0x1e9)](_0x3da029);}catch(_0x1854c7){_0x4a43c6('failed',_0x1854c7);}})[_0x4f77e5(0x19c)](()=>{_0x4b37d7=null;}),_0x4b37d7;}async function _0x142742(){const _0x494732=_0x2880c1;if(!_0x13021d||!_0x4b37d7)return null;const _0x3b5af4=Date[_0x494732(0x22a)]();_0x58bb4a('waiting\x20'+_0x494732(0x1b3)+_0x494732(0x281)+'pdate\x20pr'+_0x494732(0x186)+_0x494732(0x21a)+_0x494732(0x18d),{'event':'update_n'+_0x494732(0x275)+_0x494732(0x18c)+_0x494732(0x1dd)+_0x494732(0x1c4)+'t','downloadedVersion':_0xe70012[_0x494732(0x224)+_0x494732(0x192)+'n']});const _0x42e873=await _0x4b37d7,_0x5ceb95=Date[_0x494732(0x22a)]()-_0x3b5af4,_0x5272bc=_0x42e873===_0x494732(0x171)+'d'?_0x58bb4a:_0x52d8fa;return _0x5272bc('native\x20m'+'ac\x20updat'+_0x494732(0x205)+_0x494732(0x2c5)+_0x494732(0x233)+_0x494732(0x177)+_0x494732(0x24c),{'event':_0x494732(0x272)+_0x494732(0x275)+_0x494732(0x18c)+_0x494732(0x1dd)+_0x494732(0x198),'status':_0x42e873,'elapsedMs':_0x5ceb95,'downloadedVersion':_0xe70012[_0x494732(0x224)+'edVersio'+'n']}),_0x42e873;}function _0x5056da(){const _0x292035=_0x2880c1;return _0xe70012[_0x292035(0x2b3)+'d']&&!_0x413a21&&!_0x45f5e5&&[_0x292035(0x269),_0x292035(0x1d8)+_0x292035(0x180),_0x292035(0x247)][_0x292035(0x19b)](_0xe70012[_0x292035(0x173)]);}function _0xe03ef9(){if(!_0x453eeb)return;clearTimeout(_0x453eeb),_0x453eeb=null;}function _0x5b03c8(_0x36bd37){const _0x3992ff=_0x2880c1,_0x2e633e=_0xe70012[_0x3992ff(0x224)+_0x3992ff(0x192)+'n'],_0x1d9021=_0xe70012[_0x3992ff(0x28c)+_0x3992ff(0x1cf)],_0xb029a2=new Date()[_0x3992ff(0x182)+_0x3992ff(0x28f)]();_0x2e280({'failedAt':_0xb029a2,'error':getErrorMessage(_0x36bd37),'milestones':{'failedAt':_0xb029a2}}),_0x52d8fa('update\x20i'+_0x3992ff(0x1a8)+_0x3992ff(0x204)+_0x3992ff(0x1a9)+_0x3992ff(0x2a6)+'ter\x20comp'+_0x3992ff(0x212),{'error':getErrorMessage(_0x36bd37),'downloadedVersion':_0x2e633e,'availableVersion':_0x1d9021}),_0x4cb3b2=null,_0x4bef17=![],_0xe03ef9(),_0x2fe079(),_0x370eb7({'phase':_0x3992ff(0x247),'checkedAt':new Date()[_0x3992ff(0x182)+'ing'](),'hasPendingPackage':![],'pendingPackageName':null,'pendingPackageBytes':null,'hasUpdate':!![],'availableVersion':_0x1d9021??_0x2e633e,'downloadedVersion':_0x2e633e,'error':getErrorMessage(_0x36bd37),'errorCode':_0x3992ff(0x1f9)+_0x3992ff(0x247),'message':_0x3992ff(0x210)});}function _0xc3c87b(){const _0x493179=_0x2880c1;_0xe03ef9(),_0x4bef17=![],_0x58bb4a(_0x493179(0x1b5)+_0x493179(0x2c8)+'uit\x20watc'+_0x493179(0x2c4)+_0x493179(0x276),{'timeoutMs':_0x309287[_0x493179(0x1c0)+_0x493179(0x290)+'utMs'],'downloadedVersion':_0xe70012['download'+_0x493179(0x192)+'n'],'currentVersion':_0xe70012['currentV'+_0x493179(0x1d6)]}),_0x453eeb=setTimeout(()=>{const _0x4232d5=_0x493179;if(_0x4bef17||_0xe70012[_0x4232d5(0x173)]!==_0x4232d5(0x1ed)+'ng')return;_0x52d8fa('quitAndI'+_0x4232d5(0x2a7)+_0x4232d5(0x2d3)+_0x4232d5(0x250)+_0x4232d5(0x188)+'within\x20t'+_0x4232d5(0x21f),{'downloadedVersion':_0xe70012[_0x4232d5(0x224)+_0x4232d5(0x192)+'n'],'currentVersion':_0xe70012['currentV'+_0x4232d5(0x1d6)]}),_0x5b03c8(new Error(_0x4232d5(0x2c1)+_0x4232d5(0x2ab)+'包后再试'));},_0x309287[_0x493179(0x1c0)+'uitTimeo'+_0x493179(0x289)]);}function _0xc722ff(){const _0x142e79=_0x2880c1;if(_0x5ad7c9)return;_0x5ad7c9=!![],_0xe70012['supporte'+'d']=_0x55fc8b(),_0xe70012['phase']=_0xe70012[_0x142e79(0x2b3)+'d']?_0x142e79(0x269):_0x142e79(0x287)+_0x142e79(0x29f),_0xe70012[_0x142e79(0x2b8)]=_0xe70012[_0x142e79(0x2b3)+'d']?_0x15b5be(_0xe70012[_0x142e79(0x1e2)]):_0x493cc3();if(!_0xe70012['supporte'+'d']){_0x518dff();return;}autoUpdater[_0x142e79(0x241)+_0x142e79(0x20c)]=![],autoUpdater[_0x142e79(0x2db)+_0x142e79(0x1fd)+_0x142e79(0x1d7)]=![],autoUpdater['channel']=_0xe70012[_0x142e79(0x1e2)],autoUpdater['on']('checking'+'-for-upd'+_0x142e79(0x243),()=>{const _0x69582b=_0x142e79;_0x315ba9=null,_0x2a1b9a(),_0x370eb7({'phase':_0x69582b(0x298),'checkedAt':new Date()[_0x69582b(0x182)+_0x69582b(0x28f)](),'remoteVersion':null,'comparisonResult':'unknown','hasUpdate':![],'availableVersion':null,'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,..._0x5b217b(),'error':null,'message':_0x69582b(0x1f4)});}),autoUpdater['on']('update-a'+_0x142e79(0x1d2),_0x53aa61=>{const _0x2e2b9f=_0x142e79,_0xadef57=extractUpdateInfoPatch(_0x53aa61),_0x55ae8d=compareAppVersions(_0x2d93a1(),_0xadef57[_0x2e2b9f(0x2a5)+_0x2e2b9f(0x2c7)]);if(_0x55ae8d!==_0x2e2b9f(0x190)+'ewer'){_0x315ba9=null,_0x370eb7({..._0xadef57,'phase':_0x2e2b9f(0x1d8)+_0x2e2b9f(0x180),'comparisonResult':_0x55ae8d,'hasUpdate':![],'availableVersion':null,'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,..._0x5b217b(),'checkedAt':new Date()['toISOStr'+_0x2e2b9f(0x28f)](),'error':null,'message':_0x2e2b9f(0x27f)+'本'});return;}_0x315ba9=extractRemoteUpdatePackageMetadata(_0x53aa61,_0x260bfc),_0x370eb7({..._0xadef57,'phase':_0x2e2b9f(0x28c)+'e','comparisonResult':_0x55ae8d,'hasUpdate':!![],'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,..._0x5b217b(),'checkedAt':new Date()[_0x2e2b9f(0x182)+'ing'](),'error':null,'message':_0xadef57[_0x2e2b9f(0x28c)+'eVersion']?_0x2e2b9f(0x208)+_0xadef57[_0x2e2b9f(0x28c)+'eVersion']:_0x2e2b9f(0x255)}),!_0x1be68f('update_a'+_0x2e2b9f(0x1d2))&&_0x242c68(_0x2e2b9f(0x27e)+_0x2e2b9f(0x1d2));}),autoUpdater['on'](_0x142e79(0x16a)+'ot-avail'+'able',_0x7330e=>{const _0x53af0e=_0x142e79;_0x315ba9=null;const _0xc77b82=extractUpdateInfoPatch(_0x7330e);_0x370eb7({..._0xc77b82,'phase':_0x53af0e(0x1d8)+'lable','comparisonResult':compareAppVersions(_0x2d93a1(),_0xc77b82[_0x53af0e(0x2a5)+_0x53af0e(0x2c7)]),'hasUpdate':![],'availableVersion':null,'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,..._0x5b217b(),'checkedAt':new Date()[_0x53af0e(0x182)+_0x53af0e(0x28f)](),'error':null,'message':_0x53af0e(0x27f)+'本'});}),autoUpdater['on'](_0x142e79(0x224)+_0x142e79(0x279)+'s',_0x1c482b=>{const _0x1ab718=_0x142e79,_0x4939f6=extractProgressPatch(_0x1c482b),_0x855298=_0xa6eec1(_0x4939f6[_0x1ab718(0x224)+_0x1ab718(0x193)]??null);_0x370eb7({..._0x4939f6,'downloadPercent':_0x855298,'phase':_0x1ab718(0x224)+'ing',..._0x5b217b(),'error':null,'message':_0x461b1e(_0xe70012[_0x1ab718(0x28c)+'eVersion'],_0x855298)});}),autoUpdater['on'](_0x142e79(0x1b2)+_0x142e79(0x203)+'d',_0x46ba8c=>{const _0x132bff=_0x142e79,_0x163c87=extractUpdateInfoPatch(_0x46ba8c),_0x2efc8a=extractRemoteUpdatePackageMetadata(_0x46ba8c,_0x260bfc)??_0x315ba9;_0x2efc8a&&(_0x315ba9=_0x2efc8a);const _0x249a5d=_0x163c87['availabl'+_0x132bff(0x1cf)]??_0x2efc8a?.[_0x132bff(0x17b)]??_0xe70012[_0x132bff(0x28c)+_0x132bff(0x1cf)];_0x370eb7({..._0x163c87,'phase':_0x132bff(0x224)+'ed','comparisonResult':compareAppVersions(_0x2d93a1(),_0x249a5d),'hasUpdate':!![],'downloadedVersion':_0x249a5d,'downloadPercent':0x64,..._0x5b217b(),'error':null,'message':_0x249a5d?_0x132bff(0x29c)+_0x249a5d+_0x132bff(0x18f):_0x132bff(0x2bb)+'装'}),_0x10e7ea('update-d'+_0x132bff(0x203)+'d',_0x249a5d),void _0x5013f1(_0x132bff(0x1b2)+_0x132bff(0x203)+'d');}),autoUpdater['on']('error',_0x23081f=>{const _0x3af4f5=_0x142e79;if(_0x13021d&&_0xe70012[_0x3af4f5(0x173)]==='download'+'ed')return;if(_0xe70012['phase']===_0x3af4f5(0x1ed)+'ng'){_0x5b03c8(_0x23081f);return;}_0x370eb7({'phase':_0x3af4f5(0x247),'checkedAt':new Date()['toISOStr'+'ing'](),..._0x5b217b(),'error':getErrorMessage(_0x23081f),'errorCode':_0xe70012['phase']===_0x3af4f5(0x224)+_0x3af4f5(0x28f)?'download'+_0x3af4f5(0x260):_0x3af4f5(0x16e)+'ror','message':_0x3af4f5(0x254)});}),_0x518dff();}async function _0x45dfba(){const _0x27b50b=_0x2880c1;_0xc722ff(),_0x5ef8ec();if(_0x413a21)return _0x413a21;return _0x58bb4a(_0x27b50b(0x296)+_0x27b50b(0x20b)),_0x413a21=autoUpdater[_0x27b50b(0x172)+_0x27b50b(0x1af)]()[_0x27b50b(0x266)](()=>_0x16f670())[_0x27b50b(0x19c)](()=>{_0x413a21=null;}),_0x413a21;}async function _0x3d23eb(){const _0x333ea7=_0x2880c1;_0xc722ff(),_0x5ef8ec();if(_0xe70012[_0x333ea7(0x173)]===_0x333ea7(0x224)+'ed'||_0xe70012['phase']===_0x333ea7(0x1ed)+'ng')return _0x16f670();if(!_0xe70012[_0x333ea7(0x1f8)+'e'])throw new Error(_0x333ea7(0x18e)+'更新');const _0x132b0c=_0xe70012[_0x333ea7(0x173)]===_0x333ea7(0x247)&&_0xe70012[_0x333ea7(0x26e)+'e']===_0x333ea7(0x1f9)+_0x333ea7(0x247)&&Boolean(_0xe70012[_0x333ea7(0x224)+_0x333ea7(0x192)+'n']);if(_0xe70012[_0x333ea7(0x173)]===_0x333ea7(0x247)){if(_0x132b0c)_0x370eb7({'phase':'availabl'+'e','hasUpdate':!![],'availableVersion':_0xe70012[_0x333ea7(0x28c)+_0x333ea7(0x1cf)]??_0xe70012[_0x333ea7(0x224)+'edVersio'+'n'],'downloadedVersion':null,'downloadPercent':null,..._0x5b217b(),'error':null,'message':_0x333ea7(0x1ec)+'包'});else{await _0x45dfba();if(_0xe70012[_0x333ea7(0x173)]!==_0x333ea7(0x28c)+'e')throw new Error(_0x333ea7(0x18e)+'更新');}}if(![_0x333ea7(0x28c)+'e',_0x333ea7(0x224)+'ing'][_0x333ea7(0x19b)](_0xe70012['phase']))throw new Error('当前没有可下载的'+'更新');if(_0x45f5e5)return _0x45f5e5;return _0x45f5e5=autoUpdater[_0x333ea7(0x224)+'Update']()[_0x333ea7(0x266)](()=>{const _0x3922d7=_0x333ea7;return _0xe70012[_0x3922d7(0x173)]!==_0x3922d7(0x224)+'ed'&&_0x370eb7({'phase':'error','checkedAt':new Date()['toISOStr'+_0x3922d7(0x28f)](),..._0x5b217b(),'error':_0x3922d7(0x2a3)+'安装器未就绪,请'+_0x3922d7(0x1db),'errorCode':_0x3922d7(0x224)+_0x3922d7(0x260),'message':_0x3922d7(0x2af)}),_0x16f670();})[_0x333ea7(0x19c)](()=>{_0x45f5e5=null;}),_0x45f5e5;}async function _0x576966(){const _0x159d69=_0x2880c1;_0xc722ff(),_0x5ef8ec();if(_0x3160b9)return _0x3160b9;if(_0xe70012['phase']===_0x159d69(0x1ed)+'ng')return{'ok':!![]};if(_0xe70012[_0x159d69(0x173)]!==_0x159d69(0x224)+'ed')throw new Error(_0x159d69(0x284)+_0x159d69(0x27a));return _0x3160b9=_0x5ba6e5()[_0x159d69(0x19c)](()=>{_0x3160b9=null;}),_0x3160b9;}async function _0x5ba6e5(){const _0x384f4a=_0x2880c1,_0x1d0890=_0x17f83b();_0x4cb3b2=Date[_0x384f4a(0x22a)]();const _0xb64b64=new Date(_0x4cb3b2)[_0x384f4a(0x182)+'ing']();_0x58bb4a(_0x384f4a(0x20e)+_0x384f4a(0x22c)+_0x384f4a(0x2d0)+_0x384f4a(0x214)+'d',{'event':'update_q'+'uit_and_'+_0x384f4a(0x185)+_0x384f4a(0x214)+'d','currentVersion':_0xe70012[_0x384f4a(0x218)+_0x384f4a(0x1d6)],'downloadedVersion':_0xe70012[_0x384f4a(0x224)+_0x384f4a(0x192)+'n'],'pendingPackage':_0x1d0890[_0x384f4a(0x283)+'ame'],'pendingPackageBytes':_0x1d0890[_0x384f4a(0x213)+_0x384f4a(0x191)],'nativeUpdatePrefetchInProgress':_0x13021d,'nativeUpdatePrefetchCompleted':_0x49018f}),_0x191166({'startedAt':_0xb64b64,'currentVersion':_0xe70012[_0x384f4a(0x218)+'ersion'],'downloadedVersion':_0xe70012['download'+'edVersio'+'n'],'pendingPackage':_0x1d0890['packageN'+_0x384f4a(0x1bf)],'pendingPackageBytes':_0x1d0890[_0x384f4a(0x213)+_0x384f4a(0x191)],'nativeUpdatePrefetchInProgress':_0x13021d,'nativeUpdatePrefetchCompleted':_0x49018f,'milestones':{'requestedAt':_0xb64b64}});try{const _0x898252=await _0x142742();_0x898252&&_0x2e280({'nativeUpdatePrefetchInProgress':_0x13021d,'nativeUpdatePrefetchCompleted':_0x49018f,'nativeUpdatePrefetchStatus':_0x898252,'milestones':{'nativeUpdatePrefetchWaitCompletedAt':new Date()[_0x384f4a(0x182)+'ing']()}});_0x370eb7({'phase':'installi'+'ng',..._0x5b217b(),'error':null,'message':'正在安装更新并重'+'启应用'});if(typeof _0x4bb9b1===_0x384f4a(0x1c6)){const _0x21b09e=new Date()[_0x384f4a(0x182)+_0x384f4a(0x28f)]();_0x2e280({'milestones':{'prepareStartedAt':_0x21b09e}}),_0x58bb4a(_0x384f4a(0x2b1)+_0x384f4a(0x19d)+_0x384f4a(0x1bb)+_0x384f4a(0x29f),{'event':_0x384f4a(0x1ff)+_0x384f4a(0x21b)+_0x384f4a(0x16b)+'t','elapsedMs':Date[_0x384f4a(0x22a)]()-_0x4cb3b2}),await _0x4bb9b1();const _0x41955e=new Date()[_0x384f4a(0x182)+_0x384f4a(0x28f)]();_0x2e280({'milestones':{'prepareCompletedAt':_0x41955e}}),_0x58bb4a('update\x20p'+_0x384f4a(0x19d)+_0x384f4a(0x1de)+'leted',{'event':_0x384f4a(0x1ff)+_0x384f4a(0x21b)+_0x384f4a(0x178),'elapsedMs':Date['now']()-_0x4cb3b2});}_0x78e312(),_0xc3c87b();const _0x3b515f=new Date()[_0x384f4a(0x182)+_0x384f4a(0x28f)]();_0x2e280({'milestones':{'quitAndInstallCalledAt':_0x3b515f}}),_0x58bb4a('native\x20u'+_0x384f4a(0x220)+_0x384f4a(0x26b)+'stall\x20ca'+'lled',{'event':_0x384f4a(0x230)+_0x384f4a(0x2d5)+'install_'+_0x384f4a(0x2cf),'elapsedMs':Date[_0x384f4a(0x22a)]()-_0x4cb3b2}),autoUpdater[_0x384f4a(0x1a1)+_0x384f4a(0x277)](![],!![]);}catch(_0x396940){_0x5b03c8(_0x396940);throw _0x396940;}return{'ok':!![]};}async function _0x51d768(_0x1a4187){const _0x5a4719=_0x2880c1;if(!_0x5056da())return;_0x444b9c=Date[_0x5a4719(0x22a)](),_0x58bb4a(_0x5a4719(0x2da)+_0x5a4719(0x215)+_0x5a4719(0x25b)+_0x5a4719(0x214)+'d',{'reason':_0x1a4187});try{await _0x45dfba();}catch(_0x432c92){_0x52d8fa(_0x5a4719(0x2da)+_0x5a4719(0x215)+_0x5a4719(0x25b)+_0x5a4719(0x1eb),{'reason':_0x1a4187,'error':getErrorMessage(_0x432c92)});}}function _0x5b123b(_0x48ba10){const _0x36756b=_0x2880c1;if(!_0xe70012[_0x36756b(0x2b3)+'d'])return;const _0x5e882e=Date[_0x36756b(0x22a)]()-_0x444b9c;if(_0x5e882e<_0x309287[_0x36756b(0x2da)+_0x36756b(0x1ca)+_0x36756b(0x24f)])return;void _0x51d768(_0x48ba10);}function _0x358bac(){const _0x29b6cc=_0x2880c1;_0xc722ff();if(!_0xe70012[_0x29b6cc(0x2b3)+'d']||_0x64e6fd)return;_0x64e6fd=setInterval(()=>{const _0x594ce8=_0x29b6cc;void _0x51d768(_0x594ce8(0x267));},_0x309287[_0x29b6cc(0x2da)+_0x29b6cc(0x19e)+_0x29b6cc(0x2a9)+'s']),void _0x51d768(_0x29b6cc(0x261)),_0x58bb4a('backgrou'+_0x29b6cc(0x215)+'e\x20check\x20'+'schedule'+_0x29b6cc(0x1cd)+'d',_0x309287);}function _0x1d89c6(){const _0x44c2bd=_0x2880c1;if(_0xe70012[_0x44c2bd(0x173)]!==_0x44c2bd(0x1ed)+'ng')return;_0x4bef17=!![],_0xe03ef9();const _0x2e4ff3=new Date()[_0x44c2bd(0x182)+_0x44c2bd(0x28f)]();_0x2e280({'milestones':{'beforeQuitObservedAt':_0x2e4ff3}}),_0x58bb4a(_0x44c2bd(0x1ba)+_0x44c2bd(0x23b)+_0x44c2bd(0x245)+_0x44c2bd(0x2a0),{'event':_0x44c2bd(0x2b7)+'efore_qu'+_0x44c2bd(0x1dc)+'ved','elapsedMs':typeof _0x4cb3b2===_0x44c2bd(0x222)?Date[_0x44c2bd(0x22a)]()-_0x4cb3b2:null});}function _0x5968bd(){const _0x1f2a70=_0x2880c1;return _0xe70012['phase']===_0x1f2a70(0x1ed)+'ng';}function _0x7d478f(){const _0x1ed083=_0x2880c1,_0x6e4253=_0x3a9641();if(!_0x6e4253||typeof _0x6e4253!=='object')return null;const _0x149217=new Date()[_0x1ed083(0x182)+_0x1ed083(0x28f)](),_0x29f589=Date[_0x1ed083(0x17e)](_0x6e4253[_0x1ed083(0x221)+'t']),_0x39e3e8=Number[_0x1ed083(0x209)](_0x29f589)?Date[_0x1ed083(0x22a)]()-_0x29f589:null,_0x3266e5=_0x39e3e8,_0x4e5d16=!Number[_0x1ed083(0x209)](_0x3266e5)||_0x3266e5>INSTALL_PHASE_CONTEXT_STALE_MS,_0x1301be=_0x6e4253[_0x1ed083(0x1da)+'es']&&typeof _0x6e4253[_0x1ed083(0x1da)+'es']===_0x1ed083(0x1b6)?_0x6e4253[_0x1ed083(0x1da)+'es']:{};_0x58bb4a('update\x20i'+_0x1ed083(0x2c3)+_0x1ed083(0x207)+_0x1ed083(0x29d)+'ded\x20afte'+_0x1ed083(0x2ad),{'event':_0x1ed083(0x1c1)+_0x1ed083(0x2a2)+_0x1ed083(0x2c6)+_0x1ed083(0x24e)+_0x1ed083(0x25a),'previousVersion':_0x6e4253['currentV'+_0x1ed083(0x1d6)]??null,'currentVersion':_0x2d93a1(),'downloadedVersion':_0x6e4253[_0x1ed083(0x224)+'edVersio'+'n']??null,'startedAt':_0x6e4253['startedA'+'t']??null,'bootCompletedAt':_0x149217,'contextAgeMs':_0x3266e5,'stale':_0x4e5d16,'milestones':_0x1301be});if(_0x4e5d16)return _0x52d8fa(_0x1ed083(0x17c)+_0x1ed083(0x1c8)+'tall\x20pha'+_0x1ed083(0x1f6)+_0x1ed083(0x1f1)+'ed',{'event':'update_i'+'nstall_p'+_0x1ed083(0x2c6)+_0x1ed083(0x2cd)+'le','previousVersion':_0x6e4253['currentV'+_0x1ed083(0x1d6)]??null,'currentVersion':_0x2d93a1(),'downloadedVersion':_0x6e4253[_0x1ed083(0x224)+_0x1ed083(0x192)+'n']??null,'startedAt':_0x6e4253[_0x1ed083(0x221)+'t']??null,'bootCompletedAt':_0x149217,'contextAgeMs':_0x3266e5}),_0x133be9(_0x6e4253,_0x1ed083(0x1b1)+_0x1ed083(0x26d),{'bootCompletedAt':_0x149217,'totalElapsedMs':_0x39e3e8}),_0x2fe079(),null;return _0x58bb4a(_0x1ed083(0x2c0)+'ext\x20boot'+_0x1ed083(0x263)+_0x1ed083(0x277),{'event':'update_n'+_0x1ed083(0x2d4)+'_after_i'+_0x1ed083(0x277),'previousVersion':_0x6e4253[_0x1ed083(0x218)+'ersion']??null,'currentVersion':_0x2d93a1(),'downloadedVersion':_0x6e4253[_0x1ed083(0x224)+_0x1ed083(0x192)+'n']??null,'pendingPackage':_0x6e4253[_0x1ed083(0x286)+_0x1ed083(0x2b9)]??null,'pendingPackageBytes':_0x6e4253[_0x1ed083(0x286)+_0x1ed083(0x1fe)+_0x1ed083(0x1e3)]??null,'startedAt':_0x6e4253[_0x1ed083(0x221)+'t']??null,'bootCompletedAt':_0x149217,'totalElapsedMs':_0x39e3e8,'milestones':_0x1301be}),_0x133be9(_0x6e4253,_0x1ed083(0x1cb)+'-after-b'+_0x1ed083(0x227),{'bootCompletedAt':_0x149217,'totalElapsedMs':_0x39e3e8}),_0x2fe079(),{'previousVersion':_0x6e4253[_0x1ed083(0x218)+'ersion']??null,'currentVersion':_0x2d93a1(),'downloadedVersion':_0x6e4253['download'+_0x1ed083(0x192)+'n']??null,'totalElapsedMs':_0x39e3e8,'bootCompletedAt':_0x149217};}return{'initialize':_0xc722ff,'getState':_0x16f670,'checkForUpdates':_0x45dfba,'downloadUpdate':_0x3d23eb,'quitAndInstall':_0x576966,'requestBackgroundCheck':_0x5b123b,'startBackgroundChecks':_0x358bac,'markQuitObserved':_0x1d89c6,'isInstallingUpdate':_0x5968bd,'recordBootAfterInstall':_0x7d478f};}
|
|
1
|
+
const _0x1a6bbe=_0xe4f1;(function(_0x1a9a83,_0x4dbede){const _0x5dd124=_0xe4f1,_0x49f9d8=_0x1a9a83();while(!![]){try{const _0x335b37=parseInt(_0x5dd124(0x262))/0x1+-parseInt(_0x5dd124(0x2ab))/0x2+-parseInt(_0x5dd124(0x313))/0x3+parseInt(_0x5dd124(0x1d3))/0x4*(parseInt(_0x5dd124(0x316))/0x5)+parseInt(_0x5dd124(0x31b))/0x6*(-parseInt(_0x5dd124(0x292))/0x7)+-parseInt(_0x5dd124(0x318))/0x8*(-parseInt(_0x5dd124(0x1f1))/0x9)+-parseInt(_0x5dd124(0x1e3))/0xa*(-parseInt(_0x5dd124(0x296))/0xb);if(_0x335b37===_0x4dbede)break;else _0x49f9d8['push'](_0x49f9d8['shift']());}catch(_0x389827){_0x49f9d8['push'](_0x49f9d8['shift']());}}}(_0x5ef9,0x5dfae));import{existsSync,readFileSync,readdirSync,rmSync,statSync,writeFileSync}from'node:fs';import{spawnSync}from'node:child_process';import{homedir}from'node:os';import{basename,join}from'node:path';function _0x5ef9(){const _0x2eece1=['load\x20fai','message','utMs','nativeUp','fileName','updaterC','unknown','rted','isFile','update_p','1260452aIufpp','uit\x20watc','eVersion','pathname','imeout','install\x20','ot-avail','allOnApp','nstall_w','Update','nstall\x20d','isArray','update_b','packagin','toFixed','context','object','pdater-u','vailable','min','datePref','status','urrent\x20p','Percent','led','ts\x20skipp','stener','ignore','update\x20q','Squirrel','taleMs','ending\x20p','t\x20instal','size','check\x20re','fig\x20中禁用','未知的自动更新错','acheDirN','defaults','自动更新已禁用','path','MacEnabl','id\x20not\x20t','mileston','te-state','complete','update-d','currentV','ted','Second','update\x20p','startup','Updates','pdater\x20q','flatMap','rigger\x20a','-for-upd','ndCheckI','sha512','ailed','it\x20obser','hase\x20con','ersion','ch\x20compl','no\x20match','pendingP','requeste','r\x20starte','alpha','stale-af','rrel\x20dir','备安装','efetch_s','ter\x20comp','se\x20conte','isDestro','\x20AppImag','lable','update\x20n','linux','download','stringif','remote-n','ing','ackage','update_q','efetch_i','etchTime','remote-o','ect\x20writ','uit\x20comp','supporte','installQ','uit_done','g\x20downlo','warn','errorCod','ved','kipped','fore\x20nat','ending_p','nstall\x20p','e\x20check\x20','ch\x20start','1246677hEswjt','stall\x20ca','o\x20inspec','51995jVYHIr','note','1954840aZtLnG','electron','includes','6RKbDpu','ewer','install_','startedA','url','ntext.la','max','length','eted','ct_write','nts','_default','te\x20packa','mac','mac\x20squi','waiting\x20','quitAndI','leted','getAllWi','repare\x20q','更新准备失败','52GsLOvc','removeLi','enabled','repare_q','same-ver','o\x20read\x20a','ha\x20更新渠道','update_a','version','send','auto\x20upd','Linux\x20下仅','ter-boot','nstall\x20q','bytesPer','ch\x20skipp','396970AEgNzb','text_loa','update_n','ackageBy','s_failed','alidated','split','ror','e.yml','dater','total','dataDir','hdog\x20sta','当前没有可下载的','27EpSspw','pending\x20','ndows','toISOStr','checking','efore_qu','map','otes','e\x20版本支持应用','finally','ownloade','app:upda','exec','当前已经是最新版','checkFor','signal','install-','sion','e\x20prefet','text_sta','ait_done','包后再试','已下载更新','AppData','number','st.json','sPath','test','ytes','then','s_skippe','-error','rite','squirrel','当前构建不支持自','load','native-u','nd\x20updat','uit\x20star','platform','function','ate','Library','tes','ch\x20wait\x20','efetch_f','availabl','able','string','rel_dire','ame','pending','date\x20ins','idle','utf8','正在下载\x20','parse','win32','_after_i','packageN','efore\x20qu','finished','transfer','stall','resource','error','动更新','ending\x20u','nfo.json','channel','ac\x20updat','\x20after\x20i','edVersio','tart','isPackag','ailed\x20be','ac_squir','\x20fallbac','uested','for\x20nati','ackage\x20v','phase-co','e\x20instal','running','now','uitTimeo','l\x20packag','native\x20m','ndCheckS','-updater','rsion','assign','within\x20t','\x20out','ive\x20upda','isFinite','failed','g\x20instal','efore\x20in','.cache','\x20已准备好安装','ntervalM','releaseN','ontentsW','phase','called','true','latest','发现可用更新','already-','text\x20loa','lder','outMs','436058uctwCt','files','l\x20phase\x20','正在检查更新','update-a','it_obser','installi','not-avai','stale\x20up','remoteVe','ge\x20for\x20c','packageB','安装更新失败','ackage_v','uit_and_','push','percent','\x20before\x20','unsuppor','ch\x20faile','autoInst','once','nstall','Quit','eDirectC','Local','update_m','updates','nstall_p','red','update_i','consumed','uit\x20and\x20','内自动更新','check-er','write','latform','\x20will\x20us','trim','update\x20i','正在安装更新并重','ative_pr','app-upda','o\x20read\x20p','自动更新已在\x20s','backgrou','install','ve\x20mac\x20u','2171750ylrlkW','disabled','uit_star','发现新版本\x20v','121ExMbBz','e\x20defaul','更新安装未能启动','catch','oot','failed\x20t','ch\x20timed','update\x20b','t\x20pendin','ate\x20down','darwin'];_0x5ef9=function(){return _0x2eece1;};return _0x5ef9();}import _0x4e7283 from'electron-updater';import{app,BrowserWindow}from'electron';function _0xe4f1(_0x4a909b,_0x1f0232){_0x4a909b=_0x4a909b-0x1ca;const _0x5ef9f6=_0x5ef9();let _0xe4f147=_0x5ef9f6[_0x4a909b];return _0xe4f147;}import{clean,compare}from'semver';const {autoUpdater}=_0x4e7283,DEFAULT_INSTALL_QUIT_TIMEOUT_MS=0xea60,DEFAULT_BACKGROUND_UPDATE_CHECK_INTERVAL_MS=0x3c*0x3c*0x3e8,DEFAULT_BACKGROUND_UPDATE_CHECK_STALE_MS=0x1e*0x3c*0x3e8,DEFAULT_NATIVE_UPDATE_PREFETCH_TIMEOUT_MS=0xafc8,INSTALL_PHASE_CONTEXT_STALE_MS=0x18*0x3c*0x3c*0x3e8,SQUIRREL_DIRECT_WRITE_DEFAULTS_KEY=_0x1a6bbe(0x2c8)+'MacEnabl'+_0x1a6bbe(0x27a)+_0x1a6bbe(0x258)+_0x1a6bbe(0x211);function normalizeAppUpdatePackageFileName(_0x37fbcc){const _0x392f65=_0x1a6bbe;if(typeof _0x37fbcc!==_0x392f65(0x221))return null;const _0x2fdbe6=_0x37fbcc['trim']();if(!_0x2fdbe6||_0x2fdbe6==='.'||_0x2fdbe6==='..'||_0x2fdbe6[_0x392f65(0x31a)]('/')||_0x2fdbe6['includes']('\x5c'))return null;return _0x2fdbe6;}function isMatchingAppUpdatePackageMetadata(_0x4962b6,_0x1ec847){const _0x594046=_0x1a6bbe;if(!_0x4962b6||!_0x1ec847||typeof _0x1ec847!==_0x594046(0x2bb))return![];const _0x111099=_0x1ec847,_0x3b6c77=normalizeAppUpdatePackageFileName(_0x4962b6['fileName']),_0x12074f=normalizeAppUpdatePackageFileName(_0x111099[_0x594046(0x2a5)]),_0xa073d5=_0x4962b6[_0x594046(0x2e5)][_0x594046(0x288)](),_0x3fda06=typeof _0x111099[_0x594046(0x2e5)]===_0x594046(0x221)?_0x111099[_0x594046(0x2e5)]['trim']():'';return Boolean(_0x3b6c77&&_0x12074f&&_0x3b6c77===_0x12074f&&_0xa073d5&&_0x3fda06&&_0xa073d5===_0x3fda06);}function normalizeAppVersion(_0x5d836b){return clean(String(_0x5d836b??'')['trim']());}function compareAppVersions(_0x1be08e,_0x112850){const _0x9114b6=_0x1a6bbe,_0x1252bb=normalizeAppVersion(_0x1be08e),_0x58c75e=normalizeAppVersion(_0x112850);if(!_0x1252bb||!_0x58c75e)return _0x9114b6(0x2a7);const _0x2c0b9d=compare(_0x58c75e,_0x1252bb);if(_0x2c0b9d===0x0)return _0x9114b6(0x1d7)+_0x9114b6(0x202);return _0x2c0b9d>0x0?_0x9114b6(0x2fd)+_0x9114b6(0x31c):_0x9114b6(0x303)+_0x9114b6(0x260);}function normalizeAppUpdateChannel(_0x5cc344){const _0x35198e=_0x1a6bbe;return _0x5cc344==='alpha'?_0x35198e(0x2ef):_0x35198e(0x25c);}function normalizeString(_0xd18c5){const _0x3a99cb=_0x1a6bbe;if(typeof _0xd18c5!=='string')return null;const _0x1bc844=_0xd18c5[_0x3a99cb(0x288)]();return _0x1bc844||null;}function normalizeReleaseNotes(_0x248692){const _0x4a715=_0x1a6bbe;if(typeof _0x248692===_0x4a715(0x221))return normalizeString(_0x248692);if(!Array['isArray'](_0x248692))return null;const _0xeb6291=_0x248692[_0x4a715(0x2e1)](_0x554f03=>{const _0x124c87=_0x4a715;if(typeof _0x554f03===_0x124c87(0x221)){const _0x5a412c=normalizeString(_0x554f03);return _0x5a412c?[_0x5a412c]:[];}if(!_0x554f03||typeof _0x554f03!==_0x124c87(0x2bb))return[];const _0x8171db=normalizeString(_0x554f03[_0x124c87(0x1db)]),_0x1cd4ba=normalizeString(_0x554f03[_0x124c87(0x317)]);if(_0x8171db&&_0x1cd4ba)return['v'+_0x8171db+'\x0a'+_0x1cd4ba];if(_0x1cd4ba)return[_0x1cd4ba];if(_0x8171db)return['v'+_0x8171db];return[];});return _0xeb6291[_0x4a715(0x322)]>0x0?_0xeb6291['join']('\x0a\x0a'):null;}function extractUpdateInfoPatch(_0x3ab8f6){const _0x4b5bdf=_0x1a6bbe;if(!_0x3ab8f6||typeof _0x3ab8f6!==_0x4b5bdf(0x2bb))return{};return{'remoteVersion':normalizeString(_0x3ab8f6[_0x4b5bdf(0x1db)]),'availableVersion':normalizeString(_0x3ab8f6[_0x4b5bdf(0x1db)]),'releaseName':normalizeString(_0x3ab8f6[_0x4b5bdf(0x257)+_0x4b5bdf(0x223)]),'releaseDate':normalizeString(_0x3ab8f6['releaseD'+_0x4b5bdf(0x21a)]),'releaseNotes':normalizeReleaseNotes(_0x3ab8f6[_0x4b5bdf(0x257)+_0x4b5bdf(0x1f8)])};}function extractPackageFileName(_0x11e888){const _0x45b082=_0x1a6bbe,_0xed1fc9=normalizeString(_0x11e888);if(!_0xed1fc9)return null;try{const _0x1ccdb7=new URL(_0xed1fc9);return normalizeAppUpdatePackageFileName(decodeURIComponent(basename(_0x1ccdb7[_0x45b082(0x2ae)])));}catch{const _0xc0380d=_0xed1fc9[_0x45b082(0x1e9)](/[?#]/u,0x1)[0x0];return normalizeAppUpdatePackageFileName(basename(_0xc0380d));}}function getPreferredUpdatePackagePattern(){const _0x5e8c20=_0x1a6bbe;if(process[_0x5e8c20(0x218)]===_0x5e8c20(0x2a0))return/\.zip$/iu;if(process[_0x5e8c20(0x218)]===_0x5e8c20(0x22a))return/\.exe$/iu;if(process[_0x5e8c20(0x218)]===_0x5e8c20(0x2fa))return/\.AppImage$/u;return/\.(zip|exe|AppImage)$/u;}function extractRemoteUpdatePackageMetadata(_0x1b9fe1,_0x2486ac){const _0x20e0ac=_0x1a6bbe;if(!_0x1b9fe1||typeof _0x1b9fe1!==_0x20e0ac(0x2bb))return null;const _0x14c5d4=normalizeString(_0x1b9fe1['version']);if(!_0x14c5d4)return null;const _0x5afb80=[],_0x355c7e=Array[_0x20e0ac(0x2b6)](_0x1b9fe1[_0x20e0ac(0x263)])?_0x1b9fe1[_0x20e0ac(0x263)]:[];for(const _0x1f60a0 of _0x355c7e){if(!_0x1f60a0||typeof _0x1f60a0!==_0x20e0ac(0x2bb))continue;const _0x5a0592=extractPackageFileName(_0x1f60a0[_0x20e0ac(0x31f)])??extractPackageFileName(_0x1f60a0[_0x20e0ac(0x2d3)])??normalizeAppUpdatePackageFileName(_0x1f60a0[_0x20e0ac(0x2a5)]),_0xb9f43e=normalizeString(_0x1f60a0[_0x20e0ac(0x2e5)]);_0x5a0592&&_0xb9f43e&&_0x5afb80['push']({'fileName':_0x5a0592,'sha512':_0xb9f43e});}const _0x569631=extractPackageFileName(_0x1b9fe1[_0x20e0ac(0x31f)])??extractPackageFileName(_0x1b9fe1['path'])??normalizeAppUpdatePackageFileName(_0x1b9fe1['fileName']),_0x19fe9b=normalizeString(_0x1b9fe1[_0x20e0ac(0x2e5)]);_0x569631&&_0x19fe9b&&_0x5afb80[_0x20e0ac(0x271)]({'fileName':_0x569631,'sha512':_0x19fe9b});const _0x42c42d=_0x5afb80['find'](_0x4ae4b1=>getPreferredUpdatePackagePattern()[_0x20e0ac(0x20c)](_0x4ae4b1[_0x20e0ac(0x2a5)]));if(!_0x42c42d)return _0x2486ac?.[_0x20e0ac(0x30a)]?.(_0x20e0ac(0x2eb)+'ing\x20upda'+_0x20e0ac(0x1ca)+_0x20e0ac(0x26c)+_0x20e0ac(0x2c1)+_0x20e0ac(0x286),{'platform':process[_0x20e0ac(0x218)],'candidates':_0x5afb80[_0x20e0ac(0x1f7)](_0x5dfbb2=>_0x5dfbb2[_0x20e0ac(0x2a5)])}),null;return{'version':_0x14c5d4,..._0x42c42d};}function extractProgressPatch(_0x341185){const _0x4bf2ae=_0x1a6bbe;return{'downloadPercent':typeof _0x341185[_0x4bf2ae(0x272)]===_0x4bf2ae(0x209)?_0x341185['percent']:null,'bytesPerSecond':typeof _0x341185[_0x4bf2ae(0x1e1)+_0x4bf2ae(0x2dc)]==='number'?_0x341185[_0x4bf2ae(0x1e1)+_0x4bf2ae(0x2dc)]:null,'transferredBytes':typeof _0x341185['transfer'+_0x4bf2ae(0x27f)]===_0x4bf2ae(0x209)?_0x341185[_0x4bf2ae(0x22f)+_0x4bf2ae(0x27f)]:null,'totalBytes':typeof _0x341185[_0x4bf2ae(0x1ed)]===_0x4bf2ae(0x209)?_0x341185[_0x4bf2ae(0x1ed)]:null};}function getErrorMessage(_0x440e71){const _0x1860c0=_0x1a6bbe;if(_0x440e71 instanceof Error&&_0x440e71[_0x1860c0(0x2a2)][_0x1860c0(0x288)]())return _0x440e71[_0x1860c0(0x2a2)][_0x1860c0(0x288)]();if(typeof _0x440e71===_0x1860c0(0x221)&&_0x440e71['trim']())return _0x440e71['trim']();return _0x1860c0(0x2cf)+'误';}function getMacSquirrelDirectWriteDefaultsDomains(_0x50a485){const _0x20e2d1=normalizeString(_0x50a485);if(!_0x20e2d1)return[];return[_0x20e2d1,_0x20e2d1+'.ShipIt'];}function isSuccessfulCommandResult(_0x3bd6a6){const _0x4730f5=_0x1a6bbe;return!_0x3bd6a6?.['error']&&!_0x3bd6a6?.[_0x4730f5(0x200)]&&(typeof _0x3bd6a6?.[_0x4730f5(0x2c0)]!==_0x4730f5(0x209)||_0x3bd6a6[_0x4730f5(0x2c0)]===0x0);}function readJsonFile(_0x19f93d){const _0x43baaf=_0x1a6bbe;if(!existsSync(_0x19f93d))return null;try{return JSON[_0x43baaf(0x229)](readFileSync(_0x19f93d,'utf8'));}catch{return null;}}export function createUpdateController({shellConfig:_0x5a692e,appName:_0x2802d8,appVersion:_0x58aaa4,broadcast:_0x1ef632,logger:_0x1e4a5a,prepareQuitAndInstall:_0x4a72b4,defaultsCommandRunner:defaultsCommandRunner=spawnSync}){const _0x56bc81=_0x1a6bbe,_0x381459=_0x5a692e[_0x56bc81(0x27d)]??{},_0x5e21d9=normalizeAppUpdateChannel(_0x381459[_0x56bc81(0x236)]),_0x5ad0fe={'backgroundCheckIntervalMs':_0x381459[_0x56bc81(0x28f)+_0x56bc81(0x2e4)+_0x56bc81(0x256)+'s']??DEFAULT_BACKGROUND_UPDATE_CHECK_INTERVAL_MS,'backgroundCheckStaleMs':_0x381459['backgrou'+_0x56bc81(0x249)+_0x56bc81(0x2c9)]??DEFAULT_BACKGROUND_UPDATE_CHECK_STALE_MS,'installQuitTimeoutMs':_0x381459['installQ'+_0x56bc81(0x246)+'utMs']??DEFAULT_INSTALL_QUIT_TIMEOUT_MS,'nativeUpdatePrefetchTimeoutMs':_0x381459[_0x56bc81(0x2a4)+'datePref'+_0x56bc81(0x302)+_0x56bc81(0x261)]??DEFAULT_NATIVE_UPDATE_PREFETCH_TIMEOUT_MS,'autoDownload':_0x381459['autoDown'+_0x56bc81(0x214)]===!![]},_0x17fb8c={'supported':![],'channel':_0x5e21d9,'phase':'unsuppor'+_0x56bc81(0x2db),'currentVersion':_0x58aaa4(),'remoteVersion':null,'comparisonResult':'unknown','hasUpdate':![],'availableVersion':null,'downloadedVersion':null,'releaseName':null,'releaseDate':null,'releaseNotes':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,'hasPendingPackage':![],'pendingPackageName':null,'pendingPackageBytes':null,'checkedAt':null,'message':_0x56bc81(0x2d2),'error':null,'errorCode':null};let _0x249cdf=![],_0x19da5a=null,_0x216ef4=null,_0x337bbb=null,_0x4341d6=null,_0x44b830=null,_0x2c6697=null,_0x27a01f=![],_0x3cd27d=null,_0x5b399c=0x0,_0x142e26=null,_0x2940da=null,_0x1cdd2d=![],_0x42f86f=![],_0x3aa171=null;function _0x252038(){const _0x409fd6=_0x56bc81;if(process['platform']==='darwin')return join(homedir(),_0x409fd6(0x21b),'Caches');if(process['platform']===_0x409fd6(0x22a))return process.env.LOCALAPPDATA??join(homedir(),_0x409fd6(0x208),_0x409fd6(0x27b));return process.env.XDG_CACHE_HOME??join(homedir(),_0x409fd6(0x254));}function _0x1d8d6a(){const _0x50469a=_0x56bc81;if(!app['isPackag'+'ed']||!process[_0x50469a(0x231)+_0x50469a(0x20b)])return{};const _0x3a59c6=join(process[_0x50469a(0x231)+_0x50469a(0x20b)],_0x50469a(0x28c)+'te.yml');if(!existsSync(_0x3a59c6))return{};try{const _0x4d71bd=readFileSync(_0x3a59c6,_0x50469a(0x227)),_0x7d8429=/^\s*channel:\s*["']?([^"'\s#]+)["']?/imu[_0x50469a(0x1fd)](_0x4d71bd),_0x14b8d6=/^\s*updaterCacheDirName:\s*["']?([^"'\s#]+)["']?/imu[_0x50469a(0x1fd)](_0x4d71bd);return{'channel':normalizeAppUpdateChannel(_0x7d8429?.[0x1]),'updaterCacheDirName':normalizeString(_0x14b8d6?.[0x1])};}catch(_0x56b8b5){return _0x1e4a5a?.[_0x50469a(0x30a)]?.(_0x50469a(0x29b)+_0x50469a(0x1d8)+'pp-updat'+_0x50469a(0x1eb),{'error':getErrorMessage(_0x56b8b5)}),{};}}const _0x44fa41=_0x1d8d6a();_0x44fa41[_0x56bc81(0x236)]&&(_0x17fb8c['channel']=_0x44fa41[_0x56bc81(0x236)]);function _0x58deda(){const _0x3b860f=_0x56bc81,_0x200532=_0x44fa41[_0x3b860f(0x2a6)+_0x3b860f(0x2d0)+'ame']||_0x2802d8()+_0x3b860f(0x24a);return join(_0x252038(),_0x200532);}function _0x2965ee(_0x4d06be){const _0x1271ae=_0x56bc81;return _0x4d06be===_0x1271ae(0x2ef)?'当前使用\x20Alp'+_0x1271ae(0x1d9):'自动更新功能已就'+'绪';}function _0x3c5f88(){const _0x543da3=_0x56bc81;if(_0x381459[_0x543da3(0x1d5)]===![])return![];if(!app[_0x543da3(0x23b)+'ed'])return![];if(process[_0x543da3(0x218)]!=='linux')return!![];return Boolean(process.env.APPIMAGE);}function _0x48f20a(){const _0x4f3270=_0x56bc81;if(_0x381459['enabled']===![])return _0x4f3270(0x28e)+'hell.con'+_0x4f3270(0x2ce);if(!app[_0x4f3270(0x23b)+'ed'])return'自动更新仅在打包'+'后的安装包中可用';if(process['platform']==='linux')return _0x4f3270(0x1de)+_0x4f3270(0x2f7)+_0x4f3270(0x1f9)+_0x4f3270(0x283);return _0x4f3270(0x213)+_0x4f3270(0x233);}function _0x1531d6(){const _0x3f5a88=_0x56bc81;return join(_0x5a692e[_0x3f5a88(0x1ee)],_0x3f5a88(0x201)+_0x3f5a88(0x242)+'ntext.js'+'on');}function _0xa8ae10(){const _0x48c3d2=_0x56bc81;return join(_0x5a692e[_0x48c3d2(0x1ee)],_0x48c3d2(0x201)+_0x48c3d2(0x242)+_0x48c3d2(0x320)+_0x48c3d2(0x20a));}function _0x54eddc(){return{'hasPendingPackage':![],'pendingPackageName':null,'pendingPackageBytes':null};}function _0x3fcd9b(){return{..._0x17fb8c};}function _0x5e7186(){const _0x3f28c6=_0x56bc81,_0x23d22f=_0x3fcd9b();for(const _0x22226a of BrowserWindow[_0x3f28c6(0x1d0)+_0x3f28c6(0x1f3)]()){!_0x22226a[_0x3f28c6(0x2f6)+'yed']()&&_0x22226a['webConte'+_0x3f28c6(0x325)][_0x3f28c6(0x1dc)](_0x3f28c6(0x1fc)+_0x3f28c6(0x2d7),_0x23d22f);}_0x1ef632?.(_0x3f28c6(0x1fc)+_0x3f28c6(0x2d7),_0x23d22f);}function _0x215a31(_0x955f95){const _0x3b9806=_0x56bc81,_0x4c4266={..._0x955f95};_0x4c4266['error']===null&&_0x4c4266['errorCod'+'e']===undefined&&(_0x4c4266[_0x3b9806(0x30b)+'e']=null),Object[_0x3b9806(0x24c)](_0x17fb8c,_0x4c4266,{'currentVersion':_0x58aaa4()}),_0x5e7186();}function _0x573b07(){const _0x21ac4d=_0x56bc81;if(!_0x17fb8c[_0x21ac4d(0x306)+'d'])throw new Error(_0x48f20a());}function _0x51bbac(_0x3a2a9b,_0x378645={}){_0x1e4a5a?.['info']?.(_0x3a2a9b,_0x378645);}function _0x587de3(_0x42abef,_0x53f765={}){_0x1e4a5a?.['warn']?.(_0x42abef,_0x53f765);}function _0x3b7f14(){const _0x314ee8=_0x56bc81;if(process[_0x314ee8(0x218)]!==_0x314ee8(0x2a0))return;if(_0x5a692e[_0x314ee8(0x2b8)+'g']?.[_0x314ee8(0x1cb)]?.[_0x314ee8(0x212)+_0x314ee8(0x2d4)+'eDirectC'+_0x314ee8(0x258)+_0x314ee8(0x211)]===![]){_0x51bbac(_0x314ee8(0x1cc)+_0x314ee8(0x2f1)+_0x314ee8(0x304)+_0x314ee8(0x297)+_0x314ee8(0x2c4)+'ed',{'event':_0x314ee8(0x27c)+_0x314ee8(0x23d)+_0x314ee8(0x222)+_0x314ee8(0x324)+'_default'+_0x314ee8(0x20f)+'d','reason':_0x314ee8(0x293)+'_by_conf'+'ig'});return;}const _0x3ec5fd=getMacSquirrelDirectWriteDefaultsDomains(_0x5a692e['appId']);if(_0x3ec5fd[_0x314ee8(0x322)]===0x0){_0x587de3(_0x314ee8(0x1cc)+'rrel\x20dir'+_0x314ee8(0x304)+_0x314ee8(0x297)+_0x314ee8(0x2c4)+'ed',{'event':_0x314ee8(0x27c)+_0x314ee8(0x23d)+'rel_dire'+_0x314ee8(0x324)+_0x314ee8(0x326)+'s_skippe'+'d','reason':'missing_'+'app_id'});return;}const _0x6b3f2d=[];for(const _0x134fde of _0x3ec5fd){try{const _0x3e8723=defaultsCommandRunner(_0x314ee8(0x2d1),[_0x314ee8(0x285),_0x134fde,SQUIRREL_DIRECT_WRITE_DEFAULTS_KEY,'-bool',_0x314ee8(0x25b)],{'stdio':_0x314ee8(0x2c6)});!isSuccessfulCommandResult(_0x3e8723)&&_0x6b3f2d[_0x314ee8(0x271)]({'domain':_0x134fde,'status':_0x3e8723?.[_0x314ee8(0x2c0)]??null,'signal':_0x3e8723?.['signal']??null,'error':_0x3e8723?.[_0x314ee8(0x232)]?getErrorMessage(_0x3e8723[_0x314ee8(0x232)]):null});}catch(_0xfa762d){_0x6b3f2d[_0x314ee8(0x271)]({'domain':_0x134fde,'status':null,'signal':null,'error':getErrorMessage(_0xfa762d)});}}if(_0x6b3f2d[_0x314ee8(0x322)]>0x0){_0x587de3(_0x314ee8(0x1cc)+_0x314ee8(0x2f1)+'ect\x20writ'+_0x314ee8(0x297)+'ts\x20faile'+'d',{'event':'update_m'+_0x314ee8(0x23d)+_0x314ee8(0x222)+_0x314ee8(0x324)+_0x314ee8(0x326)+_0x314ee8(0x1e7),'domains':_0x3ec5fd,'failures':_0x6b3f2d});return;}_0x51bbac(_0x314ee8(0x1cc)+'rrel\x20dir'+_0x314ee8(0x304)+_0x314ee8(0x297)+'ts\x20enabl'+'ed',{'event':_0x314ee8(0x27c)+'ac_squir'+_0x314ee8(0x222)+_0x314ee8(0x324)+_0x314ee8(0x326)+'s_enable'+'d','domains':_0x3ec5fd});}function _0x356ac8(){const _0x4e7de9=_0x56bc81;if(process[_0x4e7de9(0x218)]!==_0x4e7de9(0x2a0))return null;const _0x1b2263=autoUpdater?.[_0x4e7de9(0x2a4)+_0x4e7de9(0x1ec)];if(!_0x1b2263||typeof _0x1b2263[_0x4e7de9(0x1ff)+_0x4e7de9(0x2df)]!==_0x4e7de9(0x219))return null;return _0x1b2263;}function _0x2cace0(){if(!_0x2940da)return;clearTimeout(_0x2940da),_0x2940da=null;}function _0x815bc2(){const _0x52d752=_0x56bc81;typeof _0x3aa171===_0x52d752(0x219)&&_0x3aa171(),_0x2cace0(),_0x142e26=null,_0x1cdd2d=![],_0x42f86f=![],_0x3aa171=null;}function _0x457146(_0x2f264a){const _0x4e7870=_0x56bc81;if(typeof _0x2f264a!=='number'||!Number[_0x4e7870(0x250)](_0x2f264a))return null;const _0x421538=Math[_0x4e7870(0x2be)](0x63,Math['max'](0x0,_0x2f264a));if(_0x17fb8c[_0x4e7870(0x259)]!==_0x4e7870(0x2fb)+_0x4e7870(0x2fe)||typeof _0x17fb8c[_0x4e7870(0x2fb)+_0x4e7870(0x2c2)]!==_0x4e7870(0x209))return _0x421538;return Math[_0x4e7870(0x321)](_0x17fb8c[_0x4e7870(0x2fb)+_0x4e7870(0x2c2)],_0x421538);}function _0x127d32(_0x18b7e0,_0x365af2){const _0xafd967=_0x56bc81,_0xf7df17=_0x18b7e0?'v'+_0x18b7e0:'新版本';if(typeof _0x365af2===_0xafd967(0x209)){if(_0x365af2>=0x63)return'正在验证安装包…';return _0xafd967(0x228)+_0xf7df17+'\x20('+_0x365af2[_0xafd967(0x2b9)](0x1)+'%)';}return'正在下载\x20'+_0xf7df17;}function _0x1b6c06(_0xd37a40){const _0x498b11=_0x56bc81;if(!_0x5ad0fe['autoDown'+_0x498b11(0x214)])return;if(_0x216ef4||_0x17fb8c[_0x498b11(0x259)]!=='availabl'+'e'||!_0x17fb8c['hasUpdat'+'e'])return;_0x51bbac(_0x498b11(0x1dd)+_0x498b11(0x29f)+'load\x20req'+_0x498b11(0x23f),{'reason':_0xd37a40,'availableVersion':_0x17fb8c['availabl'+'eVersion']}),void _0x546155()[_0x498b11(0x299)](_0x2dfe7d=>{const _0x413988=_0x498b11;_0x587de3(_0x413988(0x1dd)+_0x413988(0x29f)+_0x413988(0x2a1)+_0x413988(0x2c3),{'reason':_0xd37a40,'error':getErrorMessage(_0x2dfe7d)});});}function _0x6ccfbe(_0x5a7970){const _0x5291b5=_0x56bc81;try{writeFileSync(_0x1531d6(),JSON[_0x5291b5(0x2fc)+'y'](_0x5a7970,null,0x2),'utf8');}catch(_0x3be75d){_0x587de3(_0x5291b5(0x29b)+'o\x20persis'+_0x5291b5(0x2cb)+_0x5291b5(0x264)+_0x5291b5(0x2ba),{'error':getErrorMessage(_0x3be75d)});}}function _0x4df8f6(){return readJsonFile(_0x1531d6());}function _0x558ecc(_0x2357c2,_0x447085,_0x4824da={}){const _0x4c2802=_0x56bc81;try{writeFileSync(_0xa8ae10(),JSON[_0x4c2802(0x2fc)+'y']({..._0x2357c2,..._0x4824da,'archivedAt':new Date()['toISOStr'+_0x4c2802(0x2fe)](),'archiveReason':_0x447085},null,0x2),'utf8');}catch(_0x26d75f){_0x587de3(_0x4c2802(0x29b)+'o\x20archiv'+_0x4c2802(0x243)+'l\x20phase\x20'+_0x4c2802(0x2ba),{'reason':_0x447085,'error':getErrorMessage(_0x26d75f)});}}function _0x20d70f(_0x38d50d){const _0x2441b2=_0x56bc81,_0xa1cce7=_0x4df8f6();if(!_0xa1cce7||typeof _0xa1cce7!=='object')return;_0x6ccfbe({..._0xa1cce7,..._0x38d50d,'milestones':{..._0xa1cce7[_0x2441b2(0x2d6)+'es']&&typeof _0xa1cce7[_0x2441b2(0x2d6)+'es']===_0x2441b2(0x2bb)?_0xa1cce7[_0x2441b2(0x2d6)+'es']:{},..._0x38d50d['mileston'+'es']??{}}});}function _0x11bfe6(){const _0x47fde7=_0x56bc81;try{rmSync(_0x1531d6(),{'force':!![]});}catch(_0x1c7888){_0x587de3(_0x47fde7(0x29b)+'o\x20clear\x20'+'install\x20'+'phase\x20co'+'ntext',{'error':getErrorMessage(_0x1c7888)});}}function _0x2cf0c0(){const _0x44e95c=_0x56bc81,_0x2c41a1=join(_0x58deda(),_0x44e95c(0x224));if(!existsSync(_0x2c41a1))return{'packageName':null,'packageBytes':null};try{const _0x38910f=readdirSync(_0x2c41a1)['find'](_0xf7ec7b=>/\.(zip|exe|dmg|AppImage)$/iu['test'](_0xf7ec7b))??null;if(!_0x38910f)return{'packageName':null,'packageBytes':null};const _0x515e5f=join(_0x2c41a1,_0x38910f);return{'packageName':_0x38910f,'packageBytes':statSync(_0x515e5f)[_0x44e95c(0x2cc)]};}catch(_0xf99448){return _0x587de3('failed\x20t'+_0x44e95c(0x315)+_0x44e95c(0x29e)+_0x44e95c(0x252)+_0x44e95c(0x247)+'e',{'error':getErrorMessage(_0xf99448)}),{'packageName':null,'packageBytes':null};}}function _0x560967(){const _0x1847e7=_0x56bc81;if(!_0x4341d6)return null;const _0x4b0fd1=join(_0x58deda(),_0x1847e7(0x224)),_0x4baaee=join(_0x4b0fd1,'update-i'+_0x1847e7(0x235));if(!existsSync(_0x4baaee))return null;let _0x434ed7=null;try{_0x434ed7=JSON['parse'](readFileSync(_0x4baaee,_0x1847e7(0x227)));}catch(_0x55e08c){return _0x587de3('failed\x20t'+_0x1847e7(0x28d)+_0x1847e7(0x234)+'pdate-in'+'fo.json',{'error':getErrorMessage(_0x55e08c)}),null;}if(!isMatchingAppUpdatePackageMetadata(_0x4341d6,_0x434ed7))return null;const _0x43a5d4=join(_0x4b0fd1,_0x4341d6[_0x1847e7(0x2a5)]);if(!existsSync(_0x43a5d4))return null;try{const _0x543f99=statSync(_0x43a5d4);if(!_0x543f99[_0x1847e7(0x2a9)]()||_0x543f99[_0x1847e7(0x2cc)]===0x0)return null;return{'metadata':_0x4341d6,'packageName':_0x4341d6['fileName'],'packageBytes':_0x543f99['size']};}catch(_0xcc8964){return _0x587de3(_0x1847e7(0x29b)+_0x1847e7(0x315)+_0x1847e7(0x29e)+_0x1847e7(0x309)+'aded\x20pac'+'kage',{'error':getErrorMessage(_0xcc8964)}),null;}}function _0x6a874(_0x246d10){const _0x7bb9e=_0x56bc81,_0x5ad599=_0x560967();if(!_0x5ad599)return![];const {metadata:_0x5d59eb,packageName:_0x52028f,packageBytes:_0x4e45b2}=_0x5ad599;return _0x51bbac(_0x7bb9e(0x1f2)+'package\x20'+'cache\x20hi'+'t',{'reason':_0x246d10,'version':_0x5d59eb[_0x7bb9e(0x1db)],'packageName':_0x52028f,'packageBytes':_0x4e45b2}),_0x215a31({'phase':_0x7bb9e(0x21f)+'e','remoteVersion':_0x5d59eb[_0x7bb9e(0x1db)],'comparisonResult':_0x7bb9e(0x2fd)+_0x7bb9e(0x31c),'hasUpdate':!![],'availableVersion':_0x5d59eb[_0x7bb9e(0x1db)],'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':_0x4e45b2,'totalBytes':_0x4e45b2,'hasPendingPackage':!![],'pendingPackageName':_0x52028f,'pendingPackageBytes':_0x4e45b2,'error':null,'message':'发现本地更新包\x20'+'v'+_0x5d59eb[_0x7bb9e(0x1db)]+(',请重新校验并准'+_0x7bb9e(0x2f2))}),!![];}function _0xd29d1(_0x1d09eb,_0x2a40bf){const _0x4728d3=_0x56bc81,_0x2adeda=_0x2cf0c0();_0x51bbac(_0x4728d3(0x2dd)+_0x4728d3(0x2ca)+_0x4728d3(0x241)+_0x4728d3(0x1e8),{'event':_0x4728d3(0x2aa)+_0x4728d3(0x30f)+_0x4728d3(0x26f)+_0x4728d3(0x1e8),'reason':_0x1d09eb,'validator':_0x4728d3(0x319)+_0x4728d3(0x24a),'currentVersion':_0x17fb8c[_0x4728d3(0x2da)+_0x4728d3(0x2e9)],'downloadedVersion':_0x2a40bf,'pendingPackage':_0x2adeda[_0x4728d3(0x22c)+'ame'],'pendingPackageBytes':_0x2adeda[_0x4728d3(0x26d)+'ytes'],'sha512Validated':!![]});}function _0xaa26bc(_0x984164){const _0x51bc98=_0x56bc81;if(_0x42f86f)return _0x51bbac(_0x51bc98(0x248)+_0x51bc98(0x237)+_0x51bc98(0x203)+_0x51bc98(0x1e2)+'ed',{'event':_0x51bc98(0x1e5)+'ative_pr'+_0x51bc98(0x2f3)+_0x51bc98(0x30d),'reason':_0x984164,'skipReason':_0x51bc98(0x25e)+_0x51bc98(0x2d8)+'d','downloadedVersion':_0x17fb8c['download'+'edVersio'+'n']}),_0x142e26??Promise['resolve'](_0x51bc98(0x25e)+_0x51bc98(0x2d8)+'d');if(_0x142e26)return _0x51bbac(_0x51bc98(0x248)+_0x51bc98(0x237)+_0x51bc98(0x203)+_0x51bc98(0x1e2)+'ed',{'event':'update_n'+_0x51bc98(0x28b)+_0x51bc98(0x2f3)+_0x51bc98(0x30d),'reason':_0x984164,'skipReason':_0x51bc98(0x25e)+_0x51bc98(0x244),'downloadedVersion':_0x17fb8c[_0x51bc98(0x2fb)+_0x51bc98(0x239)+'n']}),_0x142e26;const _0x47196e=_0x356ac8();if(!_0x47196e)return process['platform']===_0x51bc98(0x2a0)&&_0x587de3(_0x51bc98(0x248)+_0x51bc98(0x237)+_0x51bc98(0x203)+_0x51bc98(0x1e2)+'ed',{'event':_0x51bc98(0x1e5)+_0x51bc98(0x28b)+_0x51bc98(0x2f3)+_0x51bc98(0x30d),'reason':_0x984164,'skipReason':_0x51bc98(0x215)+_0x51bc98(0x2bc)+'navailab'+'le','downloadedVersion':_0x17fb8c[_0x51bc98(0x2fb)+_0x51bc98(0x239)+'n']}),Promise['resolve'](_0x51bc98(0x274)+'ted');_0x1cdd2d=!![];const _0x91f97e=Date[_0x51bc98(0x245)]();return _0x51bbac('native\x20m'+_0x51bc98(0x237)+_0x51bc98(0x203)+_0x51bc98(0x312)+'ed',{'event':_0x51bc98(0x1e5)+_0x51bc98(0x28b)+_0x51bc98(0x2f3)+_0x51bc98(0x23a),'reason':_0x984164,'currentVersion':_0x17fb8c[_0x51bc98(0x2da)+_0x51bc98(0x2e9)],'downloadedVersion':_0x17fb8c[_0x51bc98(0x2fb)+_0x51bc98(0x239)+'n'],'timeoutMs':_0x5ad0fe['nativeUp'+_0x51bc98(0x2bf)+_0x51bc98(0x302)+_0x51bc98(0x261)]}),_0x142e26=new Promise(_0x4ed681=>{const _0x142ee3=_0x51bc98;let _0xfe5855=![];const _0x4b9aff=(_0x5f3af9,_0x397979=null)=>{const _0x5c7f78=_0xe4f1;if(_0xfe5855)return;_0xfe5855=!![],_0x3aa171?.(),_0x2cace0(),_0x1cdd2d=![],_0x42f86f=_0x5f3af9===_0x5c7f78(0x2d8)+'d',_0x3aa171=null;const _0x2e684f=Date[_0x5c7f78(0x245)]()-_0x91f97e;_0x5f3af9===_0x5c7f78(0x2d8)+'d'?_0x51bbac(_0x5c7f78(0x248)+_0x5c7f78(0x237)+_0x5c7f78(0x203)+_0x5c7f78(0x2ea)+_0x5c7f78(0x323),{'event':_0x5c7f78(0x1e5)+'ative_pr'+'efetch_d'+'one','reason':_0x984164,'elapsedMs':_0x2e684f,'downloadedVersion':_0x17fb8c[_0x5c7f78(0x2fb)+_0x5c7f78(0x239)+'n']}):_0x587de3(_0x5c7f78(0x248)+'ac\x20updat'+_0x5c7f78(0x203)+_0x5c7f78(0x275)+'d;\x20insta'+'ll\x20click'+_0x5c7f78(0x287)+'e\x20native'+_0x5c7f78(0x23e)+'k',{'event':'update_n'+'ative_pr'+_0x5c7f78(0x21e)+_0x5c7f78(0x2e6),'reason':_0x984164,'elapsedMs':_0x2e684f,'downloadedVersion':_0x17fb8c[_0x5c7f78(0x2fb)+'edVersio'+'n'],'error':getErrorMessage(_0x397979)}),_0x4ed681(_0x5f3af9);},_0x4d6663=()=>_0x4b9aff(_0x142ee3(0x2d8)+'d'),_0x2bfe0d=_0x52c43f=>_0x4b9aff('failed',_0x52c43f);_0x3aa171=()=>{const _0x4e6c79=_0x142ee3;_0x47196e[_0x4e6c79(0x1d4)+_0x4e6c79(0x2c5)]?.(_0x4e6c79(0x2d9)+_0x4e6c79(0x1fb)+'d',_0x4d6663),_0x47196e[_0x4e6c79(0x1d4)+_0x4e6c79(0x2c5)]?.(_0x4e6c79(0x232),_0x2bfe0d);},_0x47196e[_0x142ee3(0x277)]?.(_0x142ee3(0x2d9)+'ownloade'+'d',_0x4d6663),_0x47196e[_0x142ee3(0x277)]?.(_0x142ee3(0x232),_0x2bfe0d),_0x2940da=setTimeout(()=>{const _0x142bad=_0x142ee3;_0x4b9aff(_0x142bad(0x251),new Error(_0x142bad(0x248)+'ac\x20updat'+_0x142bad(0x203)+_0x142bad(0x29c)+_0x142bad(0x24e)));},_0x5ad0fe[_0x142ee3(0x2a4)+_0x142ee3(0x2bf)+'etchTime'+'outMs']);try{const _0x57d3b0=_0x47196e[_0x142ee3(0x1ff)+_0x142ee3(0x2df)]();_0x57d3b0&&typeof _0x57d3b0[_0x142ee3(0x20e)]==='function'&&_0x57d3b0[_0x142ee3(0x299)](_0x2bfe0d);}catch(_0x5e4e4b){_0x4b9aff(_0x142ee3(0x251),_0x5e4e4b);}})[_0x51bc98(0x1fa)](()=>{_0x142e26=null;}),_0x142e26;}async function _0x110aad(){const _0x54c9b7=_0x56bc81;if(!_0x1cdd2d||!_0x142e26)return null;const _0x17d460=Date[_0x54c9b7(0x245)]();_0x51bbac(_0x54c9b7(0x1cd)+_0x54c9b7(0x240)+_0x54c9b7(0x291)+'pdate\x20pr'+'efetch\x20b'+_0x54c9b7(0x253)+_0x54c9b7(0x230),{'event':'update_n'+_0x54c9b7(0x28b)+_0x54c9b7(0x301)+_0x54c9b7(0x2b3)+'ait_star'+'t','downloadedVersion':_0x17fb8c[_0x54c9b7(0x2fb)+'edVersio'+'n']});const _0x2182e1=await _0x142e26,_0x278909=Date[_0x54c9b7(0x245)]()-_0x17d460,_0x17e7a9=_0x2182e1===_0x54c9b7(0x2d8)+'d'?_0x51bbac:_0x587de3;return _0x17e7a9(_0x54c9b7(0x248)+'ac\x20updat'+_0x54c9b7(0x203)+_0x54c9b7(0x21d)+_0x54c9b7(0x22e)+_0x54c9b7(0x273)+_0x54c9b7(0x290),{'event':_0x54c9b7(0x1e5)+_0x54c9b7(0x28b)+_0x54c9b7(0x301)+'nstall_w'+_0x54c9b7(0x205),'status':_0x2182e1,'elapsedMs':_0x278909,'downloadedVersion':_0x17fb8c[_0x54c9b7(0x2fb)+_0x54c9b7(0x239)+'n']}),_0x2182e1;}function _0xdf71d2(){const _0x5b5fb7=_0x56bc81;return _0x17fb8c[_0x5b5fb7(0x306)+'d']&&!_0x19da5a&&!_0x216ef4&&[_0x5b5fb7(0x226),_0x5b5fb7(0x269)+'lable',_0x5b5fb7(0x232)]['includes'](_0x17fb8c[_0x5b5fb7(0x259)]);}function _0x5401ee(){if(!_0x2c6697)return;clearTimeout(_0x2c6697),_0x2c6697=null;}function _0x299236(_0x130efb){const _0x1ad233=_0x56bc81,_0x5afd25=_0x17fb8c[_0x1ad233(0x2fb)+_0x1ad233(0x239)+'n'],_0x4a9c6b=_0x17fb8c[_0x1ad233(0x21f)+'eVersion'],_0x14569c=new Date()[_0x1ad233(0x1f4)+_0x1ad233(0x2fe)]();_0x20d70f({'failedAt':_0x14569c,'error':getErrorMessage(_0x130efb),'milestones':{'failedAt':_0x14569c}}),_0x587de3(_0x1ad233(0x289)+'nstall\x20f'+_0x1ad233(0x23c)+_0x1ad233(0x30e)+_0x1ad233(0x24f)+_0x1ad233(0x2f4)+_0x1ad233(0x1cf),{'error':getErrorMessage(_0x130efb),'downloadedVersion':_0x5afd25,'availableVersion':_0x4a9c6b}),_0x44b830=null,_0x27a01f=![],_0x5401ee(),_0x11bfe6(),_0x215a31({'phase':_0x1ad233(0x232),'checkedAt':new Date()['toISOStr'+_0x1ad233(0x2fe)](),'hasPendingPackage':![],'pendingPackageName':null,'pendingPackageBytes':null,'hasUpdate':!![],'availableVersion':_0x4a9c6b??_0x5afd25,'downloadedVersion':_0x5afd25,'error':getErrorMessage(_0x130efb),'errorCode':_0x1ad233(0x201)+'error','message':_0x1ad233(0x26e)});}function _0x26af9d(){const _0x5ba231=_0x56bc81;_0x5401ee(),_0x27a01f=![],_0x51bbac(_0x5ba231(0x289)+_0x5ba231(0x1e0)+_0x5ba231(0x2ac)+_0x5ba231(0x1ef)+_0x5ba231(0x2a8),{'timeoutMs':_0x5ad0fe[_0x5ba231(0x307)+_0x5ba231(0x246)+_0x5ba231(0x2a3)],'downloadedVersion':_0x17fb8c['download'+_0x5ba231(0x239)+'n'],'currentVersion':_0x17fb8c['currentV'+_0x5ba231(0x2e9)]}),_0x2c6697=setTimeout(()=>{const _0x14ab49=_0x5ba231;if(_0x27a01f||_0x17fb8c['phase']!=='installi'+'ng')return;_0x587de3('quitAndI'+_0x14ab49(0x2b5)+_0x14ab49(0x2d5)+_0x14ab49(0x2e2)+'pp\x20quit\x20'+_0x14ab49(0x24d)+_0x14ab49(0x2af),{'downloadedVersion':_0x17fb8c[_0x14ab49(0x2fb)+_0x14ab49(0x239)+'n'],'currentVersion':_0x17fb8c[_0x14ab49(0x2da)+_0x14ab49(0x2e9)]}),_0x299236(new Error(_0x14ab49(0x298)+',请重新下载更新'+_0x14ab49(0x206)));},_0x5ad0fe[_0x5ba231(0x307)+_0x5ba231(0x246)+_0x5ba231(0x2a3)]);}function _0x409a46(){const _0x3cebcd=_0x56bc81;if(_0x249cdf)return;_0x249cdf=!![],_0x17fb8c[_0x3cebcd(0x306)+'d']=_0x3c5f88(),_0x17fb8c[_0x3cebcd(0x259)]=_0x17fb8c[_0x3cebcd(0x306)+'d']?_0x3cebcd(0x226):'unsuppor'+'ted',_0x17fb8c['message']=_0x17fb8c[_0x3cebcd(0x306)+'d']?_0x2965ee(_0x17fb8c[_0x3cebcd(0x236)]):_0x48f20a();if(!_0x17fb8c[_0x3cebcd(0x306)+'d']){_0x5e7186();return;}autoUpdater['autoDown'+'load']=![],autoUpdater[_0x3cebcd(0x276)+_0x3cebcd(0x2b2)+_0x3cebcd(0x279)]=![],autoUpdater[_0x3cebcd(0x236)]=_0x17fb8c['channel'],autoUpdater['on'](_0x3cebcd(0x1f5)+_0x3cebcd(0x2e3)+'ate',()=>{const _0x52ade7=_0x3cebcd;_0x4341d6=null,_0x815bc2(),_0x215a31({'phase':_0x52ade7(0x1f5),'checkedAt':new Date()[_0x52ade7(0x1f4)+_0x52ade7(0x2fe)](),'remoteVersion':null,'comparisonResult':_0x52ade7(0x2a7),'hasUpdate':![],'availableVersion':null,'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,..._0x54eddc(),'error':null,'message':_0x52ade7(0x265)});}),autoUpdater['on'](_0x3cebcd(0x266)+_0x3cebcd(0x2bd),_0x444998=>{const _0x298788=_0x3cebcd,_0x6d6335=extractUpdateInfoPatch(_0x444998),_0x14da42=compareAppVersions(_0x58aaa4(),_0x6d6335[_0x298788(0x26b)+_0x298788(0x24b)]);if(_0x14da42!==_0x298788(0x2fd)+_0x298788(0x31c)){_0x4341d6=null,_0x215a31({..._0x6d6335,'phase':'not-avai'+_0x298788(0x2f8),'comparisonResult':_0x14da42,'hasUpdate':![],'availableVersion':null,'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,..._0x54eddc(),'checkedAt':new Date()[_0x298788(0x1f4)+'ing'](),'error':null,'message':'当前已经是最新版'+'本'});return;}_0x4341d6=extractRemoteUpdatePackageMetadata(_0x444998,_0x1e4a5a),_0x215a31({..._0x6d6335,'phase':_0x298788(0x21f)+'e','comparisonResult':_0x14da42,'hasUpdate':!![],'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,..._0x54eddc(),'checkedAt':new Date()[_0x298788(0x1f4)+_0x298788(0x2fe)](),'error':null,'message':_0x6d6335[_0x298788(0x21f)+_0x298788(0x2ad)]?_0x298788(0x295)+_0x6d6335[_0x298788(0x21f)+'eVersion']:_0x298788(0x25d)}),!_0x6a874(_0x298788(0x1da)+_0x298788(0x2bd))&&_0x1b6c06(_0x298788(0x1da)+_0x298788(0x2bd));}),autoUpdater['on']('update-n'+_0x3cebcd(0x2b1)+_0x3cebcd(0x220),_0x1961ed=>{const _0x109923=_0x3cebcd;_0x4341d6=null;const _0x11125b=extractUpdateInfoPatch(_0x1961ed);_0x215a31({..._0x11125b,'phase':_0x109923(0x269)+_0x109923(0x2f8),'comparisonResult':compareAppVersions(_0x58aaa4(),_0x11125b['remoteVe'+_0x109923(0x24b)]),'hasUpdate':![],'availableVersion':null,'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,..._0x54eddc(),'checkedAt':new Date()['toISOStr'+_0x109923(0x2fe)](),'error':null,'message':_0x109923(0x1fe)+'本'});}),autoUpdater['on'](_0x3cebcd(0x2fb)+'-progres'+'s',_0x5d421a=>{const _0x4947c1=_0x3cebcd,_0x13cb7b=extractProgressPatch(_0x5d421a),_0x4f74dd=_0x457146(_0x13cb7b[_0x4947c1(0x2fb)+_0x4947c1(0x2c2)]??null);_0x215a31({..._0x13cb7b,'downloadPercent':_0x4f74dd,'phase':'download'+_0x4947c1(0x2fe),..._0x54eddc(),'error':null,'message':_0x127d32(_0x17fb8c['availabl'+'eVersion'],_0x4f74dd)});}),autoUpdater['on'](_0x3cebcd(0x2d9)+_0x3cebcd(0x1fb)+'d',_0x441246=>{const _0x5734b9=_0x3cebcd,_0x4b12c7=extractUpdateInfoPatch(_0x441246),_0x5034fd=extractRemoteUpdatePackageMetadata(_0x441246,_0x1e4a5a)??_0x4341d6;_0x5034fd&&(_0x4341d6=_0x5034fd);const _0x415204=_0x4b12c7[_0x5734b9(0x21f)+_0x5734b9(0x2ad)]??_0x5034fd?.['version']??_0x17fb8c[_0x5734b9(0x21f)+_0x5734b9(0x2ad)];_0x215a31({..._0x4b12c7,'phase':_0x5734b9(0x2fb)+'ed','comparisonResult':compareAppVersions(_0x58aaa4(),_0x415204),'hasUpdate':!![],'downloadedVersion':_0x415204,'downloadPercent':0x64,..._0x54eddc(),'error':null,'message':_0x415204?'更新包\x20v'+_0x415204+_0x5734b9(0x255):'更新包已准备好安'+'装'}),_0xd29d1(_0x5734b9(0x2d9)+'ownloade'+'d',_0x415204),void _0xaa26bc(_0x5734b9(0x2d9)+_0x5734b9(0x1fb)+'d');}),autoUpdater['on']('error',_0xb10399=>{const _0xc26760=_0x3cebcd;if(_0x1cdd2d&&_0x17fb8c[_0xc26760(0x259)]===_0xc26760(0x2fb)+'ed')return;if(_0x17fb8c[_0xc26760(0x259)]===_0xc26760(0x268)+'ng'){_0x299236(_0xb10399);return;}_0x215a31({'phase':_0xc26760(0x232),'checkedAt':new Date()[_0xc26760(0x1f4)+_0xc26760(0x2fe)](),..._0x54eddc(),'error':getErrorMessage(_0xb10399),'errorCode':_0x17fb8c['phase']==='download'+_0xc26760(0x2fe)?'download'+_0xc26760(0x210):_0xc26760(0x284)+_0xc26760(0x1ea),'message':'自动更新失败'});}),_0x5e7186();}async function _0x5cd25b(){const _0x16e211=_0x56bc81;_0x409a46(),_0x573b07();if(_0x19da5a)return _0x19da5a;return _0x51bbac(_0x16e211(0x2cd)+'quested'),_0x19da5a=autoUpdater[_0x16e211(0x1ff)+_0x16e211(0x2df)]()[_0x16e211(0x20e)](()=>_0x3fcd9b())[_0x16e211(0x1fa)](()=>{_0x19da5a=null;}),_0x19da5a;}async function _0x546155(){const _0x445595=_0x56bc81;_0x409a46(),_0x573b07();if(_0x17fb8c[_0x445595(0x259)]===_0x445595(0x2fb)+'ed'||_0x17fb8c[_0x445595(0x259)]==='installi'+'ng')return _0x3fcd9b();if(!_0x17fb8c['hasUpdat'+'e'])throw new Error(_0x445595(0x1f0)+'更新');const _0x1adad9=_0x17fb8c[_0x445595(0x259)]==='error'&&_0x17fb8c[_0x445595(0x30b)+'e']===_0x445595(0x201)+_0x445595(0x232)&&Boolean(_0x17fb8c[_0x445595(0x2fb)+_0x445595(0x239)+'n']);if(_0x17fb8c[_0x445595(0x259)]===_0x445595(0x232)){if(_0x1adad9)_0x215a31({'phase':_0x445595(0x21f)+'e','hasUpdate':!![],'availableVersion':_0x17fb8c[_0x445595(0x21f)+_0x445595(0x2ad)]??_0x17fb8c['download'+_0x445595(0x239)+'n'],'downloadedVersion':null,'downloadPercent':null,..._0x54eddc(),'error':null,'message':'正在重新准备更新'+'包'});else{await _0x5cd25b();if(_0x17fb8c[_0x445595(0x259)]!=='availabl'+'e')throw new Error('当前没有可下载的'+'更新');}}if(!['availabl'+'e',_0x445595(0x2fb)+_0x445595(0x2fe)][_0x445595(0x31a)](_0x17fb8c[_0x445595(0x259)]))throw new Error('当前没有可下载的'+'更新');if(_0x216ef4)return _0x216ef4;return _0x216ef4=autoUpdater[_0x445595(0x2fb)+_0x445595(0x2b4)]()[_0x445595(0x20e)](()=>{const _0x22eb50=_0x445595;return _0x17fb8c[_0x22eb50(0x259)]!==_0x22eb50(0x2fb)+'ed'&&_0x215a31({'phase':_0x22eb50(0x232),'checkedAt':new Date()['toISOStr'+'ing'](),..._0x54eddc(),'error':'更新包校验完成但'+'安装器未就绪,请'+'重试下载更新','errorCode':_0x22eb50(0x2fb)+_0x22eb50(0x210),'message':_0x22eb50(0x1d2)}),_0x3fcd9b();})[_0x445595(0x1fa)](()=>{_0x216ef4=null;}),_0x216ef4;}async function _0xaf271(){const _0x334faa=_0x56bc81;_0x409a46(),_0x573b07();if(_0x337bbb)return _0x337bbb;if(_0x17fb8c[_0x334faa(0x259)]===_0x334faa(0x268)+'ng')return{'ok':!![]};if(_0x17fb8c['phase']!==_0x334faa(0x2fb)+'ed')throw new Error('当前没有可安装的'+_0x334faa(0x207));return _0x337bbb=_0x3c0ab1()['finally'](()=>{_0x337bbb=null;}),_0x337bbb;}async function _0x3c0ab1(){const _0x1baf4a=_0x56bc81,_0x3d5a6e=_0x2cf0c0();_0x44b830=Date[_0x1baf4a(0x245)]();const _0x2984f1=new Date(_0x44b830)[_0x1baf4a(0x1f4)+_0x1baf4a(0x2fe)]();_0x51bbac(_0x1baf4a(0x2c7)+_0x1baf4a(0x282)+_0x1baf4a(0x2b0)+'requeste'+'d',{'event':_0x1baf4a(0x300)+_0x1baf4a(0x270)+_0x1baf4a(0x31d)+_0x1baf4a(0x2ed)+'d','currentVersion':_0x17fb8c['currentV'+'ersion'],'downloadedVersion':_0x17fb8c[_0x1baf4a(0x2fb)+'edVersio'+'n'],'pendingPackage':_0x3d5a6e[_0x1baf4a(0x22c)+_0x1baf4a(0x223)],'pendingPackageBytes':_0x3d5a6e['packageB'+_0x1baf4a(0x20d)],'nativeUpdatePrefetchInProgress':_0x1cdd2d,'nativeUpdatePrefetchCompleted':_0x42f86f}),_0x6ccfbe({'startedAt':_0x2984f1,'currentVersion':_0x17fb8c[_0x1baf4a(0x2da)+_0x1baf4a(0x2e9)],'downloadedVersion':_0x17fb8c[_0x1baf4a(0x2fb)+'edVersio'+'n'],'pendingPackage':_0x3d5a6e[_0x1baf4a(0x22c)+_0x1baf4a(0x223)],'pendingPackageBytes':_0x3d5a6e[_0x1baf4a(0x26d)+_0x1baf4a(0x20d)],'nativeUpdatePrefetchInProgress':_0x1cdd2d,'nativeUpdatePrefetchCompleted':_0x42f86f,'milestones':{'requestedAt':_0x2984f1}});try{const _0x38bdfc=await _0x110aad();_0x38bdfc&&_0x20d70f({'nativeUpdatePrefetchInProgress':_0x1cdd2d,'nativeUpdatePrefetchCompleted':_0x42f86f,'nativeUpdatePrefetchStatus':_0x38bdfc,'milestones':{'nativeUpdatePrefetchWaitCompletedAt':new Date()[_0x1baf4a(0x1f4)+_0x1baf4a(0x2fe)]()}});_0x215a31({'phase':_0x1baf4a(0x268)+'ng',..._0x54eddc(),'error':null,'message':_0x1baf4a(0x28a)+'启应用'});if(typeof _0x4a72b4==='function'){const _0x4cf6c9=new Date()['toISOStr'+_0x1baf4a(0x2fe)]();_0x20d70f({'milestones':{'prepareStartedAt':_0x4cf6c9}}),_0x51bbac(_0x1baf4a(0x2dd)+_0x1baf4a(0x1d1)+_0x1baf4a(0x217)+'ted',{'event':_0x1baf4a(0x2aa)+_0x1baf4a(0x1d6)+_0x1baf4a(0x294)+'t','elapsedMs':Date[_0x1baf4a(0x245)]()-_0x44b830}),await _0x4a72b4();const _0x18ad06=new Date()['toISOStr'+_0x1baf4a(0x2fe)]();_0x20d70f({'milestones':{'prepareCompletedAt':_0x18ad06}}),_0x51bbac(_0x1baf4a(0x2dd)+'repare\x20q'+_0x1baf4a(0x305)+_0x1baf4a(0x1cf),{'event':_0x1baf4a(0x2aa)+'repare_q'+_0x1baf4a(0x308),'elapsedMs':Date[_0x1baf4a(0x245)]()-_0x44b830});}_0x3b7f14(),_0x26af9d();const _0x204ae7=new Date()['toISOStr'+'ing']();_0x20d70f({'milestones':{'quitAndInstallCalledAt':_0x204ae7}}),_0x51bbac('native\x20u'+_0x1baf4a(0x2e0)+'uitAndIn'+_0x1baf4a(0x314)+'lled',{'event':_0x1baf4a(0x300)+_0x1baf4a(0x270)+'install_'+_0x1baf4a(0x25a),'elapsedMs':Date['now']()-_0x44b830}),autoUpdater[_0x1baf4a(0x1ce)+_0x1baf4a(0x278)](![],!![]);}catch(_0x4e9c23){_0x299236(_0x4e9c23);throw _0x4e9c23;}return{'ok':!![]};}async function _0x4122d5(_0x196957){const _0x48bdf5=_0x56bc81;if(!_0xdf71d2())return;_0x5b399c=Date[_0x48bdf5(0x245)](),_0x51bbac('backgrou'+_0x48bdf5(0x216)+_0x48bdf5(0x311)+_0x48bdf5(0x2ed)+'d',{'reason':_0x196957});try{await _0x5cd25b();}catch(_0x2f79a3){_0x587de3(_0x48bdf5(0x28f)+'nd\x20updat'+_0x48bdf5(0x311)+_0x48bdf5(0x251),{'reason':_0x196957,'error':getErrorMessage(_0x2f79a3)});}}function _0x3ac6f3(_0x589ff3){const _0x947f36=_0x56bc81;if(!_0x17fb8c[_0x947f36(0x306)+'d'])return;const _0x53cdcb=Date[_0x947f36(0x245)]()-_0x5b399c;if(_0x53cdcb<_0x5ad0fe[_0x947f36(0x28f)+'ndCheckS'+_0x947f36(0x2c9)])return;void _0x4122d5(_0x589ff3);}function _0x4c8b3c(){const _0x1852c2=_0x56bc81;_0x409a46();if(!_0x17fb8c[_0x1852c2(0x306)+'d']||_0x3cd27d)return;_0x3cd27d=setInterval(()=>{void _0x4122d5('interval');},_0x5ad0fe[_0x1852c2(0x28f)+'ndCheckI'+_0x1852c2(0x256)+'s']),void _0x4122d5(_0x1852c2(0x2de)),_0x51bbac(_0x1852c2(0x28f)+_0x1852c2(0x216)+_0x1852c2(0x311)+'schedule'+_0x1852c2(0x2ee)+'d',_0x5ad0fe);}function _0x228868(){const _0x1558de=_0x56bc81;if(_0x17fb8c[_0x1558de(0x259)]!=='installi'+'ng')return;_0x27a01f=!![],_0x5401ee();const _0xf8da2e=new Date()[_0x1558de(0x1f4)+_0x1558de(0x2fe)]();_0x20d70f({'milestones':{'beforeQuitObservedAt':_0xf8da2e}}),_0x51bbac(_0x1558de(0x29d)+_0x1558de(0x22d)+_0x1558de(0x2e7)+'ved',{'event':_0x1558de(0x2b7)+_0x1558de(0x1f6)+_0x1558de(0x267)+_0x1558de(0x30c),'elapsedMs':typeof _0x44b830==='number'?Date[_0x1558de(0x245)]()-_0x44b830:null});}function _0x24f1e7(){const _0x56dd2c=_0x56bc81;return _0x17fb8c['phase']===_0x56dd2c(0x268)+'ng';}function _0x494e44(){const _0x8bfa72=_0x56bc81,_0xfa77ee=_0x4df8f6();if(!_0xfa77ee||typeof _0xfa77ee!=='object')return null;const _0x2a1863=new Date()[_0x8bfa72(0x1f4)+_0x8bfa72(0x2fe)](),_0x39c3f7=Date[_0x8bfa72(0x229)](_0xfa77ee[_0x8bfa72(0x31e)+'t']),_0x43579c=Number[_0x8bfa72(0x250)](_0x39c3f7)?Date['now']()-_0x39c3f7:null,_0x58e4c1=_0x43579c,_0x3eaad3=!Number['isFinite'](_0x58e4c1)||_0x58e4c1>INSTALL_PHASE_CONTEXT_STALE_MS,_0x172bec=_0xfa77ee[_0x8bfa72(0x2d6)+'es']&&typeof _0xfa77ee[_0x8bfa72(0x2d6)+'es']===_0x8bfa72(0x2bb)?_0xfa77ee[_0x8bfa72(0x2d6)+'es']:{};_0x51bbac('update\x20i'+_0x8bfa72(0x310)+_0x8bfa72(0x2e8)+_0x8bfa72(0x25f)+'ded\x20afte'+'r\x20boot',{'event':_0x8bfa72(0x280)+'nstall_p'+'hase_con'+_0x8bfa72(0x1e4)+'ded','previousVersion':_0xfa77ee[_0x8bfa72(0x2da)+_0x8bfa72(0x2e9)]??null,'currentVersion':_0x58aaa4(),'downloadedVersion':_0xfa77ee[_0x8bfa72(0x2fb)+_0x8bfa72(0x239)+'n']??null,'startedAt':_0xfa77ee[_0x8bfa72(0x31e)+'t']??null,'bootCompletedAt':_0x2a1863,'contextAgeMs':_0x58e4c1,'stale':_0x3eaad3,'milestones':_0x172bec});if(_0x3eaad3)return _0x587de3(_0x8bfa72(0x26a)+_0x8bfa72(0x225)+'tall\x20pha'+_0x8bfa72(0x2f5)+'xt\x20ignor'+'ed',{'event':_0x8bfa72(0x280)+_0x8bfa72(0x27e)+'hase_con'+_0x8bfa72(0x204)+'le','previousVersion':_0xfa77ee['currentV'+'ersion']??null,'currentVersion':_0x58aaa4(),'downloadedVersion':_0xfa77ee[_0x8bfa72(0x2fb)+_0x8bfa72(0x239)+'n']??null,'startedAt':_0xfa77ee[_0x8bfa72(0x31e)+'t']??null,'bootCompletedAt':_0x2a1863,'contextAgeMs':_0x58e4c1}),_0x558ecc(_0xfa77ee,_0x8bfa72(0x2f0)+_0x8bfa72(0x1df),{'bootCompletedAt':_0x2a1863,'totalElapsedMs':_0x43579c}),_0x11bfe6(),null;return _0x51bbac(_0x8bfa72(0x2f9)+'ext\x20boot'+_0x8bfa72(0x238)+_0x8bfa72(0x278),{'event':_0x8bfa72(0x1e5)+'ext_boot'+_0x8bfa72(0x22b)+_0x8bfa72(0x278),'previousVersion':_0xfa77ee['currentV'+_0x8bfa72(0x2e9)]??null,'currentVersion':_0x58aaa4(),'downloadedVersion':_0xfa77ee[_0x8bfa72(0x2fb)+_0x8bfa72(0x239)+'n']??null,'pendingPackage':_0xfa77ee[_0x8bfa72(0x2ec)+_0x8bfa72(0x2ff)]??null,'pendingPackageBytes':_0xfa77ee[_0x8bfa72(0x2ec)+_0x8bfa72(0x1e6)+_0x8bfa72(0x21c)]??null,'startedAt':_0xfa77ee['startedA'+'t']??null,'bootCompletedAt':_0x2a1863,'totalElapsedMs':_0x43579c,'milestones':_0x172bec}),_0x558ecc(_0xfa77ee,_0x8bfa72(0x281)+'-after-b'+_0x8bfa72(0x29a),{'bootCompletedAt':_0x2a1863,'totalElapsedMs':_0x43579c}),_0x11bfe6(),{'previousVersion':_0xfa77ee[_0x8bfa72(0x2da)+_0x8bfa72(0x2e9)]??null,'currentVersion':_0x58aaa4(),'downloadedVersion':_0xfa77ee[_0x8bfa72(0x2fb)+_0x8bfa72(0x239)+'n']??null,'totalElapsedMs':_0x43579c,'bootCompletedAt':_0x2a1863};}return{'initialize':_0x409a46,'getState':_0x3fcd9b,'checkForUpdates':_0x5cd25b,'downloadUpdate':_0x546155,'quitAndInstall':_0xaf271,'requestBackgroundCheck':_0x3ac6f3,'startBackgroundChecks':_0x4c8b3c,'markQuitObserved':_0x228868,'isInstallingUpdate':_0x24f1e7,'recordBootAfterInstall':_0x494e44};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x222337,_0x19696c){const _0x2bc921=_0x2289,_0x556b09=_0x222337();while(!![]){try{const _0x2d9cfd=parseInt(_0x2bc921(0x197))/0x1*(-parseInt(_0x2bc921(0x17a))/0x2)+-parseInt(_0x2bc921(0x190))/0x3*(-parseInt(_0x2bc921(0x185))/0x4)+parseInt(_0x2bc921(0x16b))/0x5*(parseInt(_0x2bc921(0x156))/0x6)+parseInt(_0x2bc921(0x18c))/0x7*(parseInt(_0x2bc921(0x16c))/0x8)+parseInt(_0x2bc921(0x18f))/0x9*(-parseInt(_0x2bc921(0x18b))/0xa)+parseInt(_0x2bc921(0x195))/0xb*(-parseInt(_0x2bc921(0x15a))/0xc)+parseInt(_0x2bc921(0x165))/0xd;if(_0x2d9cfd===_0x19696c)break;else _0x556b09['push'](_0x556b09['shift']());}catch(_0x7ce556){_0x556b09['push'](_0x556b09['shift']());}}}(_0x524a,0x7adb5));import _0xf32e19 from'electron';function _0x2289(_0x170920,_0x4bdae9){_0x170920=_0x170920-0x156;const _0x524a78=_0x524a();let _0x2289a2=_0x524a78[_0x170920];return _0x2289a2;}const {BrowserWindow}=_0xf32e19;function getErrorMessage(_0x6b1088){const _0x13c22d=_0x2289;if(_0x6b1088 instanceof Error&&_0x6b1088[_0x13c22d(0x179)][_0x13c22d(0x176)]())return _0x6b1088[_0x13c22d(0x179)][_0x13c22d(0x176)]();if(typeof _0x6b1088===_0x13c22d(0x16f)&&_0x6b1088['trim']())return _0x6b1088[_0x13c22d(0x176)]();return _0x13c22d(0x18d)+'误';}function createUnavailableUpdateController({shellConfig:_0x32b0fb,appVersion:_0x414e9d,broadcast:_0x16b492,logger:_0x30c2ff,reason:_0x3b2dda}){const _0x5a71d2=_0x2289,_0x719562=_0x32b0fb[_0x5a71d2(0x158)]??{},_0x23f348={'supported':![],'channel':_0x719562[_0x5a71d2(0x191)]===_0x5a71d2(0x15f)?_0x5a71d2(0x15f):_0x5a71d2(0x163),'phase':'unsuppor'+_0x5a71d2(0x170),'currentVersion':_0x414e9d(),'remoteVersion':null,'comparisonResult':_0x5a71d2(0x194),'hasUpdate':![],'availableVersion':null,'downloadedVersion':null,'releaseName':null,'releaseDate':null,'releaseNotes':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,'hasPendingPackage':![],'pendingPackageName':null,'pendingPackageBytes':null,'checkedAt':null,'message':_0x3b2dda,'error':null,'errorCode':_0x5a71d2(0x16e)+_0x5a71d2(0x157)+'cy'};let _0x26bc38=![];function _0x1409e2(){return{..._0x23f348,'currentVersion':_0x414e9d()};}function _0x1974fb(){const _0xbe10f9=_0x5a71d2,_0x118c0a=_0x1409e2();for(const _0x1835ac of BrowserWindow?.['getAllWi'+_0xbe10f9(0x180)]?.()??[]){!_0x1835ac[_0xbe10f9(0x17b)+'yed']()&&_0x1835ac[_0xbe10f9(0x187)+_0xbe10f9(0x17f)][_0xbe10f9(0x186)](_0xbe10f9(0x16a)+_0xbe10f9(0x188),_0x118c0a);}_0x16b492?.(_0xbe10f9(0x16a)+'te-state',_0x118c0a);}function _0x262b52(){const _0x1f2fa6=_0x5a71d2;if(_0x26bc38)return;_0x26bc38=!![],_0x30c2ff?.['warn']?.(_0x1f2fa6(0x182)+_0x1f2fa6(0x159)+_0x1f2fa6(0x15b)+'ause\x20ele'+_0x1f2fa6(0x175)+'dater\x20is'+_0x1f2fa6(0x198)+_0x1f2fa6(0x15d),{'reason':_0x3b2dda}),_0x1974fb();}function _0x5eedde(){throw new Error(_0x3b2dda);}async function _0x2bdd17(){_0x262b52(),_0x5eedde();}async function _0x3fe914(){_0x262b52(),_0x5eedde();}async function _0x1f1118(){_0x262b52(),_0x5eedde();}function _0x50c07f(){}function _0x542d36(){_0x262b52();}function _0x4b02a4(){}function _0x56377d(){return![];}function _0x1ca85e(){return null;}return{'initialize':_0x262b52,'getState':_0x1409e2,'checkForUpdates':_0x2bdd17,'downloadUpdate':_0x3fe914,'quitAndInstall':_0x1f1118,'requestBackgroundCheck':_0x50c07f,'startBackgroundChecks':_0x542d36,'markQuitObserved':_0x4b02a4,'isInstallingUpdate':_0x56377d,'recordBootAfterInstall':_0x1ca85e};}function isElectronUpdaterMissingError(_0x2bc2b2){const _0x1b0b39=_0x2289;if(!_0x2bc2b2)return![];if(_0x2bc2b2&&typeof _0x2bc2b2===_0x1b0b39(0x18e)&&'code'in _0x2bc2b2&&(_0x2bc2b2['code']===_0x1b0b39(0x162)+'LE_NOT_F'+_0x1b0b39(0x17c)||_0x2bc2b2[_0x1b0b39(0x164)]===_0x1b0b39(0x17d)+_0x1b0b39(0x192))){const _0x416adb=getErrorMessage(_0x2bc2b2);return _0x416adb[_0x1b0b39(0x169)]('\x27electro'+_0x1b0b39(0x171)+'r\x27')||_0x416adb[_0x1b0b39(0x169)](_0x1b0b39(0x193)+'n-update'+'r\x22');}return![];}export async function loadCreateUpdateController({logger:_0x3dad8c,importer:importer=_0x1f78c5=>import(_0x1f78c5)}={}){const _0x2cd998=_0x2289;try{const _0x5d884a=await importer(_0x2cd998(0x177)+_0x2cd998(0x173));if(typeof _0x5d884a[_0x2cd998(0x174)+'dateCont'+_0x2cd998(0x160)]!=='function')throw new TypeError(_0x2cd998(0x183)+'controll'+_0x2cd998(0x189)+_0x2cd998(0x168)+'export\x20c'+_0x2cd998(0x15e)+'ateContr'+_0x2cd998(0x18a));return _0x5d884a[_0x2cd998(0x174)+_0x2cd998(0x167)+'roller'];}catch(_0x24ca25){if(!isElectronUpdaterMissingError(_0x24ca25))throw _0x24ca25;const _0x2d51c6=_0x2cd998(0x166)+_0x2cd998(0x172)+_0x2cd998(0x16d)+_0x2cd998(0x161)+_0x2cd998(0x196);return _0x3dad8c?.[_0x2cd998(0x184)]?.(_0x2cd998(0x15c)+_0x2cd998(0x17e)+'lectron-'+_0x2cd998(0x181),{'error':getErrorMessage(_0x24ca25),'reason':_0x2d51c6}),_0x237182=>createUnavailableUpdateController({..._0x237182,'logger':_0x237182?.[_0x2cd998(0x178)]??_0x3dad8c,'reason':_0x2d51c6});}}export const __test__={'createUnavailableUpdateController':createUnavailableUpdateController,'isElectronUpdaterMissingError':isElectronUpdaterMissingError};function _0x524a(){const _0x29aa4d=['4370179SrOAZH','用状态','25876BbowFi','\x20unavail','24omiTnq','dependen','updates','ate\x20disa','12aAmAkX','bled\x20bec','failed\x20t','able','reateUpd','alpha','roller','缺失,已降级为禁','ERR_MODU','latest','code','111228mjQHSD','自动更新依赖\x20e','dateCont','oes\x20not\x20','includes','app:upda','902830MBrZwM','110504FtutMC','updater\x20','missing-','string','ted','n-update','lectron-','ller.mjs','createUp','ctron-up','trim','./contro','logger','message','26rhpDxu','isDestro','OUND','MODULE_N','o\x20load\x20e','nts','ndows','updater','auto\x20upd','updates/','warn','228dWUECD','send','webConte','te-state','er.mjs\x20d','oller','30HABjkm','161KHyIFy','未知的自动更新错','object','269343fypOTt','14640DIvRZP','channel','OT_FOUND','\x22electro','unknown'];_0x524a=function(){return _0x29aa4d;};return _0x524a();}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wujie-shell/core",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.4",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "dist/src/index.mjs",
|
|
6
6
|
"exports": {
|
|
@@ -34,8 +34,8 @@
|
|
|
34
34
|
"get-port": "^7.2.0",
|
|
35
35
|
"semver": "^7.8.3",
|
|
36
36
|
"ws": "^8.20.0",
|
|
37
|
-
"@wujie-shell/
|
|
38
|
-
"@wujie-shell/
|
|
37
|
+
"@wujie-shell/logger": "1.0.4",
|
|
38
|
+
"@wujie-shell/config": "1.0.4"
|
|
39
39
|
},
|
|
40
40
|
"scripts": {
|
|
41
41
|
"build": "node ../../scripts/build-packages.mjs --package @wujie-shell/core"
|