@wujie-shell/core 1.0.4 → 1.0.6

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.
Files changed (66) hide show
  1. package/bin/wujie-shell.mjs +10 -30
  2. package/dist/bin/wujie-shell.mjs +1 -1
  3. package/dist/src/agents/bundled-agent-skills.mjs +1 -1
  4. package/dist/src/agents/bundled-agents.mjs +1 -1
  5. package/dist/src/agents/codex-home.mjs +1 -0
  6. package/dist/src/agents/runtime-config.mjs +1 -1
  7. package/dist/src/chat/media-archive.mjs +1 -1
  8. package/dist/src/chat/queue.mjs +1 -1
  9. package/dist/src/common/cron-session-key.mjs +1 -1
  10. package/dist/src/common/diagnostics.mjs +1 -1
  11. package/dist/src/common/logging.mjs +1 -1
  12. package/dist/src/common/runtime-logger.mjs +1 -1
  13. package/dist/src/common/sqlite-paths.mjs +1 -1
  14. package/dist/src/common/user-events.mjs +1 -1
  15. package/dist/src/common/utils.mjs +1 -1
  16. package/dist/src/config/controller.mjs +1 -1
  17. package/dist/src/connectors/config-utils.mjs +1 -1
  18. package/dist/src/connectors/constants.mjs +1 -1
  19. package/dist/src/connectors/controller.mjs +1 -1
  20. package/dist/src/connectors/kdocs-cli.mjs +1 -1
  21. package/dist/src/connectors/lark-cli.mjs +1 -1
  22. package/dist/src/electron/instance-identity.mjs +1 -0
  23. package/dist/src/electron/main.mjs +1 -1
  24. package/dist/src/electron/preload.mjs +1 -1
  25. package/dist/src/electron/protocol-url-state.mjs +1 -1
  26. package/dist/src/events/domain-event-journal.mjs +1 -1
  27. package/dist/src/files/generated-files-store.mjs +1 -1
  28. package/dist/src/files/handlers.mjs +1 -1
  29. package/dist/src/gateway/chat-delta.mjs +1 -1
  30. package/dist/src/gateway/controller.mjs +1 -1
  31. package/dist/src/gateway/request-id-title-events.mjs +1 -1
  32. package/dist/src/gateway/ws-client.mjs +1 -1
  33. package/dist/src/index.mjs +1 -1
  34. package/dist/src/log-reporting/handlers.mjs +1 -1
  35. package/dist/src/log-reporting/report-logs.mjs +1 -1
  36. package/dist/src/models/handlers.mjs +1 -1
  37. package/dist/src/preferences/store.mjs +1 -1
  38. package/dist/src/request-id/handlers.mjs +1 -1
  39. package/dist/src/request-id/runtime-bridge.mjs +1 -1
  40. package/dist/src/request-id/session-store.mjs +1 -1
  41. package/dist/src/request-id/title.mjs +1 -1
  42. package/dist/src/review/controller.mjs +1 -0
  43. package/dist/src/runtime/cron-missed-run-policy.mjs +1 -1
  44. package/dist/src/runtime/index.mjs +1 -1
  45. package/dist/src/runtime/patch-channel-plugin-runtime.mjs +1 -1
  46. package/dist/src/runtime/patch-chat-attachment-base64.mjs +1 -0
  47. package/dist/src/runtime/patch-chat-history-mixed-tool-content.mjs +1 -1
  48. package/dist/src/runtime/patch-codex-isolated-auth.mjs +1 -0
  49. package/dist/src/runtime/patch-provider-request-id-header.mjs +1 -1
  50. package/dist/src/runtime/patch-qqbot-outbound-session-route.mjs +1 -1
  51. package/dist/src/runtime/patch-request-id-title-runtime.mjs +1 -1
  52. package/dist/src/runtime/patch-session-store-sqlite.mjs +1 -1
  53. package/dist/src/runtime/patch-weixin-outbound-session-route.mjs +1 -1
  54. package/dist/src/runtime/plugin-sync.mjs +1 -1
  55. package/dist/src/sessions/agent-sessions-map-store.mjs +1 -1
  56. package/dist/src/sessions/runtime-bridge.mjs +1 -1
  57. package/dist/src/sessions/session-data-service.mjs +1 -1
  58. package/dist/src/sessions/session-runtime-state-service.mjs +1 -1
  59. package/dist/src/sessions/session-runtime-state.mjs +1 -1
  60. package/dist/src/sessions/session-sqlite-store.mjs +1 -1
  61. package/dist/src/skills/import.mjs +1 -1
  62. package/dist/src/skills/market.mjs +1 -1
  63. package/dist/src/terminal/manager.mjs +1 -1
  64. package/dist/src/updates/controller.mjs +1 -1
  65. package/dist/src/updates/loader.mjs +1 -1
  66. package/package.json +7 -19
@@ -1 +1 @@
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
+ (function(_0x19f4a4,_0x272ece){const _0x274764=_0x2e04,_0x1bdb66=_0x19f4a4();while(!![]){try{const _0x241814=-parseInt(_0x274764(0x194))/0x1*(parseInt(_0x274764(0x149))/0x2)+parseInt(_0x274764(0x164))/0x3+-parseInt(_0x274764(0x182))/0x4*(parseInt(_0x274764(0x1be))/0x5)+-parseInt(_0x274764(0x1d4))/0x6*(parseInt(_0x274764(0x1ce))/0x7)+-parseInt(_0x274764(0x1c5))/0x8+parseInt(_0x274764(0x175))/0x9+parseInt(_0x274764(0x19d))/0xa;if(_0x241814===_0x272ece)break;else _0x1bdb66['push'](_0x1bdb66['shift']());}catch(_0x2838ed){_0x1bdb66['push'](_0x1bdb66['shift']());}}}(_0x5a52,0x3a4d4));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(_0x5d191a){const _0x4fbf7d=_0x2e04;let _0x4661ab=getTrimmedString(_0x5d191a)[_0x4fbf7d(0x1a1)](/[<>:"/\\|?*\u0000-\u001f]/g,'-');return _0x4661ab=_0x4661ab[_0x4fbf7d(0x1a1)](/-+/g,'-')['replace'](/^[-.]+|[-.]+$/g,''),_0x4661ab['slice'](0x0,0x78);}function buildManagedSkillDirectoryName(_0x191c4b,_0xc16f50,_0x2b0617){const _0x4fdf74=_0x2e04,_0x1b5f74=sanitizeManagedSkillDirSegment(_0x191c4b)||sanitizeManagedSkillDirSegment(_0x2b0617)||_0x4fdf74(0x176)+_0x4fdf74(0x15e),_0x3da27e=sanitizeManagedSkillDirSegment(_0xc16f50),_0x4b2309=_0x3da27e?_0x1b5f74+'-'+_0x3da27e:_0x1b5f74;return _0x4b2309[_0x4fdf74(0x1b6)](0x0,0xc8)||_0x4fdf74(0x176)+_0x4fdf74(0x15e);}function extractVersionFromZipUrl(_0x5dac8a){const _0x275766=_0x2e04;if(!getTrimmedString(_0x5dac8a))return null;try{const _0x1d249e=basename(new URL(_0x5dac8a)[_0x275766(0x1ad)]),_0x44cf1d=_0x1d249e[_0x275766(0x1a1)](/\.zip$/i,'');return _0x44cf1d[_0x275766(0x1a3)](/(?:^|[-_v])(\d+\.\d+\.\d+(?:[-+][\w.-]+)?)(?:$|[-_])/i)?.[0x1]??null;}catch{return null;}}async function extractZipToDirectory(_0xeddfc0,_0x334fe9){await new Promise((_0x3edbf3,_0x398d00)=>{const _0x56df89=_0x2e04;let _0x516762;if(process[_0x56df89(0x178)]==='win32'){const _0x301768=_0xeddfc0['replace'](/'/g,'\x27\x27'),_0x5d4e33=_0x334fe9['replace'](/'/g,'\x27\x27');_0x516762=execFile(_0x56df89(0x1ba)+_0x56df89(0x199),[_0x56df89(0x17a)+'le',_0x56df89(0x1ca)+_0x56df89(0x19e),_0x56df89(0x185),_0x56df89(0x198)+_0x56df89(0x1b9)+_0x56df89(0x1d8)+_0x56df89(0x171)+_0x301768+('\x27\x20-Desti'+_0x56df89(0x15d)+_0x56df89(0x158))+_0x5d4e33+_0x56df89(0x1c7)],_0x5c8906=>_0x5c8906?_0x398d00(_0x5c8906):_0x3edbf3());}else _0x516762=execFile(_0x56df89(0x177),['-q',_0xeddfc0,'-d',_0x334fe9],_0x53afd2=>_0x53afd2?_0x398d00(_0x53afd2):_0x3edbf3());_0x516762['on'](_0x56df89(0x1a6),_0x398d00);});}async function findSkillManifestDirectories(_0x29c52f){const _0x167041=[];async function _0x3e0814(_0x47dcc0){const _0x34e002=_0x2e04,_0x44bed0=await readdir(_0x47dcc0,{'withFileTypes':!![]}),_0x44f6ab=new Set(_0x44bed0[_0x34e002(0x1a9)](_0x50363d=>_0x50363d[_0x34e002(0x19c)][_0x34e002(0x19f)+'ase']()));if(_0x44f6ab['has'](_0x34e002(0x1c3))||_0x44f6ab[_0x34e002(0x1a5)](_0x34e002(0x160)+'D')){_0x167041[_0x34e002(0x1af)](_0x47dcc0);return;}for(const _0x116c38 of _0x44bed0){if(!_0x116c38[_0x34e002(0x1bb)+_0x34e002(0x1b1)]()||_0x116c38[_0x34e002(0x19c)]===_0x34e002(0x155)||_0x116c38[_0x34e002(0x19c)][_0x34e002(0x1d0)+'th']('.'))continue;await _0x3e0814(join(_0x47dcc0,_0x116c38[_0x34e002(0x19c)]));}}return await _0x3e0814(_0x29c52f),_0x167041;}async function normalizeImportedSkillManifest(_0x598d2e){const _0x162b23=_0x2e04,_0xc541e7=join(_0x598d2e,_0x162b23(0x192)),_0x2106d1=await readdir(_0x598d2e,{'withFileTypes':!![]})['catch'](()=>[]);let _0x55b32f=null,_0x3e6f9f=null;for(const _0x2ec8e7 of _0x2106d1){if(!_0x2ec8e7['isFile']())continue;const _0x1aa47a=_0x2ec8e7[_0x162b23(0x19c)][_0x162b23(0x19f)+_0x162b23(0x14f)]();if(_0x1aa47a===_0x162b23(0x1c3))_0x55b32f=_0x2ec8e7[_0x162b23(0x19c)];else{if(_0x1aa47a===_0x162b23(0x160)+'D')_0x3e6f9f=_0x2ec8e7[_0x162b23(0x19c)];}}if(_0x55b32f==='SKILL.md')return;const _0x321816=_0x55b32f??_0x3e6f9f;if(!_0x321816)return;const _0x5eef77=join(_0x598d2e,_0x321816);if(_0x5eef77!==_0xc541e7)await rename(_0x5eef77,_0xc541e7);}async function moveDirectoryWithOverwrite(_0x5bbb8f,_0x3c517e){const _0x38a9e2=_0x2e04;await mkdir(dirname(_0x3c517e),{'recursive':!![]});try{await rename(_0x5bbb8f,_0x3c517e);return;}catch(_0x4b211e){if(_0x4b211e?.[_0x38a9e2(0x16b)]!=='EXDEV')throw _0x4b211e;}await cp(_0x5bbb8f,_0x3c517e,{'recursive':!![],'force':!![]}),await rm(_0x5bbb8f,{'recursive':!![],'force':!![]});}async function readManifestText(_0x1c2739){const _0x59292b=_0x2e04,_0x7dfe13=[join(_0x1c2739,'SKILL.md'),join(_0x1c2739,_0x59292b(0x153)+'d')]['find'](_0x596532=>existsSync(_0x596532));if(!_0x7dfe13)return'';return await readFile(_0x7dfe13,_0x59292b(0x1c4))[_0x59292b(0x1d2)](()=>'');}function _0x5a52(){const _0x4d1917=['call','source','andledIn','SKILLS.m','entries','__MACOSX','请手动删除','fig','th\x20\x27','ated\x20wit','个\x20skill\x20','filter','ZIP\x20中未找到','nationPa','-skill','toString','SKILLS.M','skill\x20co','filePath','resolveS','559716fUfTfH','ternally','导入技能\x20ZIP','ed-skill','skillKey','eway\x20res',':\x5cs*(.+)','code','已取消导入','-extra','version','skills\x20c','temp','ath\x20\x27','showOpen','是否覆盖','能导入一个','3774375XYlxVg','imported','unzip','platform','openclaw','-NoProfi','ive','法删除','nfig\x20upd','operty','\x20SKILL.m','extraDir','该技能不允许删除','760mlrUPw','managed\x20','onfig\x20en','-Command','killKey','env','enabled','ZipPath','oved\x20wit','盘上的目录,可能','ries\x20rem','load','fer','y\x20is\x20req','skills','技能目录\x22','SKILL.md','hout\x20gat','82hUDYKV','boolean','zipUrl','ill-impo','Expand-A','ll.exe','hasOwnPr','tateDir','name','5467460mttpYT','ractive','toUpperC','openFile','replace','keys','match','status','has','error','extracte','\x20失败(HTTP','map','canceled','\x20添加成功','请先关闭技能后再','pathname','ZIP\x20中包含多','push','tart','ory','config','stringif','下载技能\x20ZIP','overwrit','slice','Dialog','add','rchive\x20-','powershe','isDirect','Skill\x20ke','zip','2355StEKIf','thout\x20ga','ills\x20路径,','LS.md','isArray','SKILL.MD','utf8','86848UbeqDH','find','\x27\x20-Force','igWriteH','start','-NonInte','ill-down','trim','wujie-sk','7ruWGUK','size','startsWi','readConf','catch','gatewayS','2433558EAafoI','\x22已存在,请确认','-bundled','uired','LiteralP','bundled','d\x20或\x20SKIL','disabled','getPath','9950iOwlRZ','length','teway\x20re','目录,当前一次只','writeCon','markConf','ase'];_0x5a52=function(){return _0x4d1917;};return _0x5a52();}function resolveFrontmatterValue(_0x508232,_0x33bceb){const _0x428250=_0x2e04,_0x4da4f5=_0x508232[_0x428250(0x1a3)](/^---\s*\r?\n([\s\S]*?)\r?\n---/),_0x571273=_0x4da4f5?.[0x1]??'',_0x22c2ff=_0x571273['match'](new RegExp('^\x5cs*'+_0x33bceb+(_0x428250(0x16a)+'$'),'m'))?.[0x1];return getTrimmedString(_0x22c2ff)[_0x428250(0x1a1)](/^["']|["']$/g,'')||null;}async function resolveSkillKeyFromManifest(_0x25d804){const _0x4824da=_0x2e04,_0x169835=await readManifestText(_0x25d804);if(!_0x169835[_0x4824da(0x1cc)]())return null;const _0x9658d2=_0x169835[_0x4824da(0x1a3)](/"skillKey"\s*:\s*"([^"]+)"/);if(_0x9658d2?.[0x1])return getTrimmedString(_0x9658d2[0x1]);return resolveFrontmatterValue(_0x169835,_0x4824da(0x168))||resolveFrontmatterValue(_0x169835,'name');}async function resolveSkillVersionFromManifest(_0x245fd4){const _0x2f5c3d=_0x2e04,_0x8bb35d=await readManifestText(_0x245fd4);if(!_0x8bb35d[_0x2f5c3d(0x1cc)]())return null;const _0x578337=_0x8bb35d[_0x2f5c3d(0x1a3)](/"version"\s*:\s*"([^"]+)"/);if(_0x578337?.[0x1])return getTrimmedString(_0x578337[0x1]);return resolveFrontmatterValue(_0x8bb35d,_0x2f5c3d(0x16e));}async function collectSkillDirsUnderRoot(_0x380867,_0x3d022b,_0x106b8d){const _0x2b80f2=_0x2e04;if(!existsSync(_0x380867))return;for(const _0x5f1bd1 of await readdir(_0x380867,{'withFileTypes':!![]})['catch'](()=>[])){if(!_0x5f1bd1[_0x2b80f2(0x1bb)+'ory']())continue;const _0x8bf159=join(_0x380867,_0x5f1bd1[_0x2b80f2(0x19c)]),_0x54dbec=await resolveSkillKeyFromManifest(_0x8bf159);if(_0x54dbec&&_0x3d022b[_0x2b80f2(0x1a5)](_0x54dbec))_0x106b8d[_0x2b80f2(0x1b8)](_0x8bf159);}}async function removeSkillConfigEntries(_0x200e08,_0x2e90c7){const _0x33e987=_0x2e04,_0x30ffe3=new Set(_0x2e90c7['map'](getTrimmedString)[_0x33e987(0x15b)](Boolean));if(_0x30ffe3['size']===0x0)return;const _0x19c9f2=await _0x200e08[_0x33e987(0x1d1)+'ig']()['catch'](()=>({})),_0x30f94f=asRecord(_0x19c9f2[_0x33e987(0x190)]),_0x4a5786={...asRecord(_0x30f94f[_0x33e987(0x154)])};let _0x561730=![];for(const _0x3535cb of _0x30ffe3){Object['prototyp'+'e'][_0x33e987(0x19a)+_0x33e987(0x17e)][_0x33e987(0x150)](_0x4a5786,_0x3535cb)&&(delete _0x4a5786[_0x3535cb],_0x561730=!![]);}if(!_0x561730)return;_0x30f94f[_0x33e987(0x154)]=_0x4a5786,_0x19c9f2[_0x33e987(0x190)]=_0x30f94f,_0x200e08[_0x33e987(0x14e)+_0x33e987(0x1c8)+_0x33e987(0x152)+_0x33e987(0x165)]?.(),await _0x200e08[_0x33e987(0x14d)+_0x33e987(0x157)]?.(_0x19c9f2,_0x33e987(0x161)+'nfig\x20ent'+_0x33e987(0x18c)+_0x33e987(0x18a)+_0x33e987(0x193)+_0x33e987(0x169)+_0x33e987(0x1b0));}export async function deleteManagedSkill({payload:payload={},gateway:_0x5d566e,configController:_0x5eb919}){const _0x452d3d=_0x2e04,_0x3ca808=asRecord(payload),_0x2c9450=getTrimmedString(_0x3ca808['skillKey']??_0x3ca808[_0x452d3d(0x19c)]);if(!_0x2c9450)throw new Error(_0x452d3d(0x1bc)+'y\x20is\x20req'+'uired');const _0x1cad0a=await _0x5d566e[_0x452d3d(0x190)][_0x452d3d(0x1a4)]()[_0x452d3d(0x1d2)](()=>({'skills':[]})),_0x3f1f56=Array[_0x452d3d(0x1c2)](asRecord(_0x1cad0a)[_0x452d3d(0x190)])?asRecord(_0x1cad0a)[_0x452d3d(0x190)]:[],_0x3f13cd=_0x3f1f56['map'](asRecord)[_0x452d3d(0x1c6)](_0x328699=>{const _0x43f5df=_0x452d3d;return getTrimmedString(_0x328699[_0x43f5df(0x168)])===_0x2c9450||getTrimmedString(_0x328699[_0x43f5df(0x1d3)+'killKey'])===_0x2c9450||getTrimmedString(_0x328699[_0x43f5df(0x19c)])===_0x2c9450;});if(!_0x3f13cd)throw new Error('技能不存在或已移'+'除');if(_0x3f13cd['always'])throw new Error(_0x452d3d(0x181));if(_0x3f13cd[_0x452d3d(0x145)]||_0x3f13cd[_0x452d3d(0x151)]===_0x452d3d(0x179)+_0x452d3d(0x1d6)||_0x3f13cd['source']===_0x452d3d(0x179)+_0x452d3d(0x16d))throw new Error('内置/扩展技能无'+_0x452d3d(0x17c));if(!_0x3f13cd[_0x452d3d(0x147)])throw new Error(_0x452d3d(0x1ac)+'删除');const _0x17936a=getTrimmedString(_0x3f13cd[_0x452d3d(0x1d3)+_0x452d3d(0x186)])||_0x2c9450,_0x3035f1=new Set([_0x2c9450,_0x17936a,getTrimmedString(_0x3f13cd[_0x452d3d(0x19c)])][_0x452d3d(0x15b)](Boolean)),_0x1e5fc3=new Set([join(_0x5eb919['resolveS'+_0x452d3d(0x19b)](),'skills'),join(_0x5eb919[_0x452d3d(0x163)+_0x452d3d(0x19b)](),'workspac'+'e',_0x452d3d(0x190))]),_0x1db2bb=new Set();for(const _0x4c3243 of _0x1e5fc3)await collectSkillDirsUnderRoot(_0x4c3243,_0x3035f1,_0x1db2bb);if(_0x1db2bb[_0x452d3d(0x1cf)]===0x0)throw new Error('未找到该技能在磁'+_0x452d3d(0x18b)+'位于自定义\x20sk'+_0x452d3d(0x1c0)+_0x452d3d(0x156));for(const _0x6816e6 of _0x1db2bb)await rm(_0x6816e6,{'recursive':!![],'force':!![]});return await removeSkillConfigEntries(_0x5eb919,[..._0x3035f1]),{'ok':!![],'skillKey':_0x2c9450};}export async function updateManagedSkillConfig({payload:payload={},configController:_0x38b2b4}){const _0xb21d16=_0x2e04,_0x491752=asRecord(payload),_0x22c28b=getTrimmedString(_0x491752['skillKey']??_0x491752[_0xb21d16(0x19c)]);if(!_0x22c28b)throw new Error(_0xb21d16(0x1bc)+_0xb21d16(0x18f)+_0xb21d16(0x1d7));const _0x5e55cd=await _0x38b2b4['readConf'+'ig']()[_0xb21d16(0x1d2)](()=>({})),_0x208c0a=asRecord(_0x5e55cd['skills']),_0x1e6f82={...asRecord(_0x208c0a['entries'])},_0x589055=asRecord(_0x1e6f82[_0x22c28b]),_0x3880ca={..._0x589055};typeof _0x491752[_0xb21d16(0x188)]===_0xb21d16(0x195)&&(_0x3880ca[_0xb21d16(0x188)]=_0x491752['enabled']);const _0x26c013={...asRecord(_0x491752[_0xb21d16(0x187)])},_0x47466f=getTrimmedString(_0x491752['apiKey']);if(_0x47466f)_0x26c013['apiKey']=_0x47466f;Object[_0xb21d16(0x1a2)](_0x26c013)['length']>0x0&&(_0x3880ca[_0xb21d16(0x187)]={...asRecord(_0x589055[_0xb21d16(0x187)]),..._0x26c013});const _0x2b4ad7=asRecord(_0x491752['config']);return Object[_0xb21d16(0x1a2)](_0x2b4ad7)['length']>0x0&&(_0x3880ca[_0xb21d16(0x1b2)]={...asRecord(_0x589055[_0xb21d16(0x1b2)]),..._0x2b4ad7}),_0x1e6f82[_0x22c28b]=_0x3880ca,_0x208c0a[_0xb21d16(0x154)]=_0x1e6f82,_0x5e55cd[_0xb21d16(0x190)]=_0x208c0a,_0x38b2b4[_0xb21d16(0x14e)+'igWriteH'+_0xb21d16(0x152)+_0xb21d16(0x165)]?.(),await _0x38b2b4['writeCon'+_0xb21d16(0x157)]?.(_0x5e55cd,_0xb21d16(0x161)+_0xb21d16(0x17d)+_0xb21d16(0x159)+_0xb21d16(0x193)+_0xb21d16(0x169)+_0xb21d16(0x1b0)),{'ok':!![],'skillKey':_0x22c28b};}async function ensureManagedSkillsConfig(_0x531474,_0x451857=[]){const _0x54f006=_0x2e04,_0x1b5442=await _0x531474[_0x54f006(0x1d1)+'ig']()[_0x54f006(0x1d2)](()=>({})),_0x409f45=asRecord(_0x1b5442[_0x54f006(0x190)]),_0x73a86=asRecord(_0x409f45[_0x54f006(0x18d)]),_0x36c937=Array[_0x54f006(0x1c2)](_0x73a86[_0x54f006(0x180)+'s'])?_0x73a86[_0x54f006(0x180)+'s']:[],_0x49a933=join(_0x531474[_0x54f006(0x163)+'tateDir'](),_0x54f006(0x190)),_0x407623=dedupeStrings([..._0x36c937,_0x49a933]),_0x16339a={...asRecord(_0x409f45[_0x54f006(0x154)])};let _0x4973ad=JSON[_0x54f006(0x1b3)+'y'](_0x36c937)!==JSON[_0x54f006(0x1b3)+'y'](_0x407623);for(const _0x276849 of _0x451857[_0x54f006(0x1a9)](getTrimmedString)[_0x54f006(0x15b)](Boolean)){if(Object['prototyp'+'e'][_0x54f006(0x19a)+_0x54f006(0x17e)][_0x54f006(0x150)](_0x16339a,_0x276849))continue;_0x16339a[_0x276849]={'enabled':!![]},_0x4973ad=!![];}if(!_0x4973ad)return;_0x73a86[_0x54f006(0x180)+'s']=_0x407623,_0x409f45['load']=_0x73a86,_0x409f45['entries']=_0x16339a,_0x1b5442[_0x54f006(0x190)]=_0x409f45,_0x531474[_0x54f006(0x14e)+'igWriteH'+_0x54f006(0x152)+_0x54f006(0x165)]?.(),await _0x531474['writeCon'+_0x54f006(0x157)]?.(_0x1b5442,_0x54f006(0x183)+_0x54f006(0x16f)+_0x54f006(0x184)+'sured\x20wi'+_0x54f006(0x1bf)+_0x54f006(0x14b)+_0x54f006(0x1c9));}function _0x2e04(_0x4b9ddb,_0x20094a){_0x4b9ddb=_0x4b9ddb-0x145;const _0x5a5281=_0x5a52();let _0x2e04f6=_0x5a5281[_0x4b9ddb];return _0x2e04f6;}export async function syncManagedSkillsToConfig(_0x9b8b53){const _0x373494=_0x2e04,_0x2980ac=join(_0x9b8b53['resolveS'+_0x373494(0x19b)](),_0x373494(0x190)),_0x5f3035=[];for(const _0x1c8280 of await readdir(_0x2980ac,{'withFileTypes':!![]})['catch'](()=>[])){if(!_0x1c8280['isDirect'+_0x373494(0x1b1)]())continue;const _0x149c0d=await resolveSkillKeyFromManifest(join(_0x2980ac,_0x1c8280[_0x373494(0x19c)]));if(_0x149c0d)_0x5f3035[_0x373494(0x1af)](_0x149c0d);}return await ensureManagedSkillsConfig(_0x9b8b53,_0x5f3035),{'skillKeys':_0x5f3035};}async function resolveZipPath({payload:_0x7b2380,app:_0x199db6,dialog:_0x250209,dialogWindow:_0x564dd4}){const _0x386907=_0x2e04,_0x262365=getTrimmedString(_0x7b2380[_0x386907(0x196)]);let _0x40c256=getTrimmedString(_0x7b2380['selected'+_0x386907(0x189)]),_0xd573a8=null;if(!_0x40c256&&_0x262365){const _0x4542fd=new URL(_0x262365);_0xd573a8=await mkdtemp(join(_0x199db6['getPath'](_0x386907(0x170)),_0x386907(0x1cd)+_0x386907(0x1cb)+'load-')),_0x40c256=join(_0xd573a8,basename(_0x4542fd[_0x386907(0x1ad)])||'download'+_0x386907(0x167)+'.zip');const _0x2754dd=await fetch(_0x4542fd[_0x386907(0x15f)]());if(!_0x2754dd['ok'])throw new Error(_0x386907(0x1b4)+_0x386907(0x1a8)+'\x20'+_0x2754dd['status']+')');await writeFile(_0x40c256,Buffer['from'](await _0x2754dd['arrayBuf'+_0x386907(0x18e)]()));}if(!_0x40c256){const _0x1b5174={'title':_0x386907(0x166),'properties':[_0x386907(0x1a0)],'filters':[{'name':'ZIP\x20Arch'+_0x386907(0x17b),'extensions':[_0x386907(0x1bd)]}]},_0x58272c=_0x564dd4?await _0x250209[_0x386907(0x172)+'Dialog'](_0x564dd4,_0x1b5174):await _0x250209[_0x386907(0x172)+_0x386907(0x1b7)](_0x1b5174);if(_0x58272c[_0x386907(0x1aa)]||_0x58272c[_0x386907(0x162)+'s'][_0x386907(0x14a)]===0x0)return{'cancelled':!![],'zipPath':null,'downloadedZipDir':_0xd573a8};_0x40c256=_0x58272c[_0x386907(0x162)+'s'][0x0];}return{'cancelled':![],'zipPath':_0x40c256,'downloadedZipDir':_0xd573a8};}export async function importSkillZip({payload:payload={},app:_0x39b83e,dialog:_0x467ae1,dialogWindow:_0x5508f6,configController:_0x37cc72}){const _0x1bf78b=_0x2e04,_0x49e3b0=asRecord(payload),_0x48c893=getTrimmedString(_0x49e3b0[_0x1bf78b(0x196)]),{cancelled:_0x8176b4,zipPath:_0x6bf65f,downloadedZipDir:_0x2fa5be}=await resolveZipPath({'payload':_0x49e3b0,'app':_0x39b83e,'dialog':_0x467ae1,'dialogWindow':_0x5508f6});if(_0x8176b4)return{'cancelled':!![],'imported':![],'overwritten':![],'skillDirName':null,'selectedZipPath':null,'zipUrl':_0x48c893||null,'message':_0x1bf78b(0x16c)};const _0xbd5d6e=await mkdtemp(join(_0x39b83e[_0x1bf78b(0x148)](_0x1bf78b(0x170)),_0x1bf78b(0x1cd)+_0x1bf78b(0x197)+'rt-')),_0x2071e3=join(_0xbd5d6e,_0x1bf78b(0x1a7)+'d');try{await mkdir(_0x2071e3,{'recursive':!![]}),await extractZipToDirectory(_0x6bf65f,_0x2071e3);const _0x26b06d=await findSkillManifestDirectories(_0x2071e3);if(_0x26b06d[_0x1bf78b(0x14a)]===0x0)throw new Error(_0x1bf78b(0x15c)+_0x1bf78b(0x17f)+_0x1bf78b(0x146)+_0x1bf78b(0x1c1));if(_0x26b06d[_0x1bf78b(0x14a)]>0x1)throw new Error(_0x1bf78b(0x1ae)+_0x1bf78b(0x15a)+_0x1bf78b(0x14c)+_0x1bf78b(0x174));const _0x53a314=_0x26b06d[0x0];await normalizeImportedSkillManifest(_0x53a314);const _0x4cc0dd=basename(_0x53a314),_0x36e7c7=parse(_0x6bf65f)[_0x1bf78b(0x19c)][_0x1bf78b(0x1cc)]()||_0x1bf78b(0x176)+_0x1bf78b(0x15e),_0x358559=_0x4cc0dd===_0x1bf78b(0x1a7)+'d'?_0x36e7c7:_0x4cc0dd,_0x3efbaf=await resolveSkillKeyFromManifest(_0x53a314)??_0x358559,_0x9fc407=await resolveSkillVersionFromManifest(_0x53a314)??(getTrimmedString(_0x49e3b0[_0x1bf78b(0x16e)])||extractVersionFromZipUrl(_0x48c893)),_0x475a0f=buildManagedSkillDirectoryName(_0x3efbaf,_0x9fc407,_0x358559),_0x183cc2=join(_0x37cc72[_0x1bf78b(0x163)+'tateDir'](),_0x1bf78b(0x190)),_0x285f18=join(_0x183cc2,_0x475a0f);if(existsSync(_0x285f18)){if(_0x49e3b0[_0x1bf78b(0x1b5)+'e']!==!![])return{'cancelled':![],'imported':![],'overwritten':![],'needConfirmOverwrite':!![],'skillDirName':_0x475a0f,'overwriteTargetPath':_0x285f18,'selectedZipPath':_0x6bf65f,'zipUrl':_0x48c893||null,'message':_0x1bf78b(0x191)+_0x475a0f+(_0x1bf78b(0x1d5)+_0x1bf78b(0x173))};await rm(_0x285f18,{'recursive':!![],'force':!![]});}let _0x3ed6d6=_0x53a314;return _0x4cc0dd===_0x1bf78b(0x1a7)+'d'&&(_0x3ed6d6=join(_0xbd5d6e,_0x475a0f),await rename(_0x53a314,_0x3ed6d6)),await moveDirectoryWithOverwrite(_0x3ed6d6,_0x285f18),await ensureManagedSkillsConfig(_0x37cc72,[_0x3efbaf]),{'cancelled':![],'imported':!![],'overwritten':_0x49e3b0[_0x1bf78b(0x1b5)+'e']===!![],'skillKey':_0x3efbaf,'manifestKey':_0x3efbaf,'skillDirName':_0x475a0f,'targetPath':_0x285f18,'selectedZipPath':_0x6bf65f,'zipUrl':_0x48c893||null,'message':_0x475a0f+_0x1bf78b(0x1ab)};}finally{await rm(_0xbd5d6e,{'recursive':!![],'force':!![]});if(_0x2fa5be)await rm(_0x2fa5be,{'recursive':!![],'force':!![]});}}
@@ -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
+ const _0x21fe78=_0x41f4;(function(_0x237cb4,_0x2cdb11){const _0x3dfd95=_0x41f4,_0x18035d=_0x237cb4();while(!![]){try{const _0xa4023c=parseInt(_0x3dfd95(0x121))/0x1*(parseInt(_0x3dfd95(0x124))/0x2)+parseInt(_0x3dfd95(0x14a))/0x3*(-parseInt(_0x3dfd95(0x150))/0x4)+-parseInt(_0x3dfd95(0x142))/0x5*(-parseInt(_0x3dfd95(0x120))/0x6)+-parseInt(_0x3dfd95(0x12e))/0x7+parseInt(_0x3dfd95(0x116))/0x8*(parseInt(_0x3dfd95(0x14c))/0x9)+-parseInt(_0x3dfd95(0x14b))/0xa*(parseInt(_0x3dfd95(0x126))/0xb)+-parseInt(_0x3dfd95(0x141))/0xc;if(_0xa4023c===_0x2cdb11)break;else _0x18035d['push'](_0x18035d['shift']());}catch(_0x3aa280){_0x18035d['push'](_0x18035d['shift']());}}}(_0x3d22,0x5a9b1));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=_0x21fe78(0x11c)+_0x21fe78(0x143);async function readMarketSkillRegistry(_0x3c9c3a){const _0x50821d=_0x21fe78;try{const _0x1d897a=JSON[_0x50821d(0x117)](await readFile(_0x3c9c3a,_0x50821d(0x113)));if(!_0x1d897a||typeof _0x1d897a!==_0x50821d(0x114)||Array['isArray'](_0x1d897a))return{};return _0x1d897a;}catch{return{};}}export async function readSkillMarketRegistry(_0x2a55bc){const _0x1dba12=_0x21fe78;return await readMarketSkillRegistry(join(_0x2a55bc,'market-s'+_0x1dba12(0x13c)+'on'));}async function upsertMarketSkillRegistryEntry(_0x3db716,_0x3ba81d,_0x170117,_0x4a89aa,_0x2e8e2d={}){const _0x8133d3=_0x21fe78,_0x4e9d83=getTrimmedString(_0x3ba81d),_0x21ce2e=getTrimmedString(_0x170117),_0x2a39d4=getTrimmedString(_0x4a89aa);if(!_0x4e9d83||!_0x21ce2e||!_0x2a39d4)return;const _0x4c4621=await readMarketSkillRegistry(_0x3db716);_0x4c4621[_0x4e9d83]={'version':_0x2a39d4,'code':_0x21ce2e,...getTrimmedString(_0x2e8e2d[_0x8133d3(0x14f)])?{'name':getTrimmedString(_0x2e8e2d['name'])}:{},...getTrimmedString(_0x2e8e2d[_0x8133d3(0x135)])?{'logo_url':getTrimmedString(_0x2e8e2d[_0x8133d3(0x135)])}:{},...getTrimmedString(_0x2e8e2d[_0x8133d3(0x149)+_0x8133d3(0x12d)])?{'description':getTrimmedString(_0x2e8e2d[_0x8133d3(0x149)+_0x8133d3(0x12d)])}:{}};if(_0x4c4621[_0x21ce2e]&&_0x21ce2e!==_0x4e9d83)delete _0x4c4621[_0x21ce2e];for(const [_0x4012e7,_0x53a056]of Object[_0x8133d3(0x137)](_0x4c4621)){if(_0x4012e7!==_0x4e9d83&&asRecord(_0x53a056)['code']===_0x21ce2e)delete _0x4c4621[_0x4012e7];}const _0xbdfe51=Object['fromEntr'+_0x8133d3(0x115)](Object[_0x8133d3(0x137)](_0x4c4621)['sort'](([_0x4dfa26],[_0x14d096])=>_0x4dfa26[_0x8133d3(0x136)+_0x8133d3(0x123)](_0x14d096)));await writeJson(_0x3db716,_0xbdfe51);}async function removeMarketSkillRegistryKeys(_0x1a0982,_0x171bd7){const _0x918bf6=_0x21fe78,_0x8a859d=new Set(_0x171bd7[_0x918bf6(0x132)](getTrimmedString)[_0x918bf6(0x148)](Boolean));if(_0x8a859d[_0x918bf6(0x145)]===0x0)return;const _0x12839d=await readMarketSkillRegistry(_0x1a0982);let _0x40ebbc=![];for(const _0x56e4bc of Object[_0x918bf6(0x130)](_0x12839d)){const _0x312865=asRecord(_0x12839d[_0x56e4bc]);(_0x8a859d[_0x918bf6(0x133)](_0x56e4bc)||_0x8a859d['has'](getTrimmedString(_0x312865['code'])))&&(delete _0x12839d[_0x56e4bc],_0x40ebbc=!![]);}if(_0x40ebbc){const _0x2ebdcd=Object[_0x918bf6(0x140)+_0x918bf6(0x115)](Object[_0x918bf6(0x137)](_0x12839d)[_0x918bf6(0x134)](([_0xf886c2],[_0x32e4d2])=>_0xf886c2['localeCo'+_0x918bf6(0x123)](_0x32e4d2)));await writeJson(_0x1a0982,_0x2ebdcd);}}async function readSkillManifestText(_0x284e1d){const _0xabf2b6=_0x21fe78,_0x92513a=[join(_0x284e1d,_0xabf2b6(0x11d)),join(_0x284e1d,_0xabf2b6(0x128)+'d')];for(const _0x1e1d54 of _0x92513a){const _0x2dd713=await readFile(_0x1e1d54,_0xabf2b6(0x113))[_0xabf2b6(0x147)](()=>'');if(_0x2dd713[_0xabf2b6(0x12b)]())return _0x2dd713;}return'';}function resolveFrontmatterValue(_0x3eaab,_0x5e6050){const _0x3d8af5=_0x21fe78,_0x15b55b=_0x3eaab[_0x3d8af5(0x131)](/^---\s*\r?\n([\s\S]*?)\r?\n---/),_0xa9447=_0x15b55b?.[0x1]??'',_0x5a80fe=_0xa9447[_0x3d8af5(0x131)](new RegExp(_0x3d8af5(0x13a)+_0x5e6050+(_0x3d8af5(0x13d)+'$'),'m'))?.[0x1];return getTrimmedString(_0x5a80fe)[_0x3d8af5(0x125)](/^["']|["']$/g,'')||null;}async function resolveSkillKeyFromManifest(_0x3aeb9a){const _0x197959=_0x21fe78,_0x29c39b=await readSkillManifestText(_0x3aeb9a);if(!_0x29c39b['trim']())return null;const _0x2f346c=_0x29c39b[_0x197959(0x131)](/"skillKey"\s*:\s*"([^"]+)"/);if(_0x2f346c?.[0x1])return getTrimmedString(_0x2f346c[0x1]);return resolveFrontmatterValue(_0x29c39b,'skillKey')||resolveFrontmatterValue(_0x29c39b,_0x197959(0x14f));}async function removeOtherMarketSkillVersions(_0x4024fb,_0x2ccfcf,_0x40926e){const _0x475e85=_0x21fe78,_0xa48295=getTrimmedString(_0x40926e);if(!_0xa48295)return;for(const _0xfa0c72 of await readdir(_0x4024fb,{'withFileTypes':!![]})[_0x475e85(0x147)](()=>[])){if(!_0xfa0c72[_0x475e85(0x138)+_0x475e85(0x139)]())continue;const _0xb31197=join(_0x4024fb,_0xfa0c72[_0x475e85(0x14f)]);if(_0xb31197===_0x2ccfcf)continue;const _0x1eb4ac=await resolveSkillKeyFromManifest(_0xb31197);_0x1eb4ac&&_0x1eb4ac['trim']()===_0xa48295&&await rm(_0xb31197,{'recursive':!![],'force':!![]});}}export async function importMarketSkillZip({payload:payload={},importSkillZip:_0x5dd9fe,configController:_0x2b193c}={}){const _0x468415=_0x21fe78,_0x2e4fef=asRecord(payload);if(_0x2e4fef[_0x468415(0x11e)]!=='market')return _0x5dd9fe({'payload':payload});const _0x283978=getTrimmedString(_0x2e4fef['code']),_0x50a9f6=getTrimmedString(_0x2e4fef[_0x468415(0x112)]),_0x59e7e7=getTrimmedString(_0x2e4fef[_0x468415(0x14f)]);if(!_0x283978)throw new Error(_0x468415(0x119)+_0x468415(0x12c)+'de');if(!_0x50a9f6)throw new Error(_0x468415(0x119)+_0x468415(0x11a)+_0x468415(0x152));if(!_0x59e7e7)throw new Error('技能商店安装需要'+_0x468415(0x118)+'me');const _0x10043d=await _0x5dd9fe({'payload':{..._0x2e4fef,'version':_0x50a9f6}});if(!_0x10043d?.[_0x468415(0x13e)])return _0x10043d;const _0x31eefb=getTrimmedString(_0x10043d[_0x468415(0x13f)])||getTrimmedString(_0x10043d['manifest'+_0x468415(0x11b)])||getTrimmedString(_0x10043d[_0x468415(0x122)+_0x468415(0x11f)]);return await removeOtherMarketSkillVersions(join(_0x2b193c[_0x468415(0x151)+_0x468415(0x127)](),_0x468415(0x12f)),_0x10043d[_0x468415(0x14e)+'th'],_0x31eefb),await upsertMarketSkillRegistryEntry(join(_0x2b193c[_0x468415(0x151)+_0x468415(0x127)](),_0x468415(0x146)+'kills.js'+'on'),_0x31eefb,_0x283978,_0x50a9f6,{'name':_0x59e7e7,'logoUrl':getTrimmedString(_0x2e4fef[_0x468415(0x135)]),'description':getTrimmedString(_0x2e4fef['descript'+_0x468415(0x12d)])}),_0x10043d;}function _0x3d22(){const _0x35b6fa=['code','length','trim','接口返回的\x20co','ion','3251262fEnTCO','skills','keys','match','map','has','sort','logoUrl','localeCo','entries','isDirect','ory','^\x5cs*','gatewayS','kills.js',':\x5cs*(.+)','imported','skillKey','fromEntr','1664580wJHrvU','6355hsYChi','ket','killKey','size','market-s','catch','filter','descript','24nqsklV','101800uwAIRu','1098mGdztS','logo_url','targetPa','name','59032RHgBda','resolveS','rsion','version','utf8','object','ies','42128iorGWM','parse','接口返回的\x20na','技能商店安装需要','接口返回的\x20ve','Key','aipc-mar','SKILL.md','source','Name','1590tZGmrI','1tcmAow','skillDir','mpare','633398MZDcoH','replace','220XWIcSB','tateDir','SKILLS.m'];_0x3d22=function(){return _0x35b6fa;};return _0x3d22();}export async function deleteMarketSkillRegistryEntry({payload:payload={},deleteManagedSkill:_0x5e9b20,configController:_0xab41dd}={}){const _0x442e89=_0x21fe78,_0x4154c5=await _0x5e9b20({'payload':payload}),_0x152f0=asRecord(payload),_0x2809f3=getTrimmedString(_0x4154c5?.['skillKey']??_0x152f0[_0x442e89(0x13f)]??_0x152f0['name']),_0x359dc8=[_0x2809f3,getTrimmedString(_0x152f0[_0x442e89(0x13b)+_0x442e89(0x144)]),getTrimmedString(_0x152f0[_0x442e89(0x14f)])];return await removeMarketSkillRegistryKeys(join(_0xab41dd[_0x442e89(0x151)+_0x442e89(0x127)](),_0x442e89(0x146)+_0x442e89(0x13c)+'on'),_0x359dc8),_0x4154c5;}function _0x41f4(_0x45631e,_0x3ed7e9){_0x45631e=_0x45631e-0x112;const _0x3d224d=_0x3d22();let _0x41f447=_0x3d224d[_0x45631e];return _0x41f447;}export function mapMarketRegisteredSkills(_0x8de0e,_0x283665){const _0x328dc4=_0x21fe78,_0x5d077f=Array['isArray'](asRecord(_0x8de0e)[_0x328dc4(0x12f)])?asRecord(_0x8de0e)['skills']:[];if(_0x5d077f[_0x328dc4(0x12a)]===0x0||Object[_0x328dc4(0x130)](_0x283665)[_0x328dc4(0x12a)]===0x0)return _0x8de0e;const _0x50f4f5=_0x5d077f['map'](_0x19b306=>{const _0x299152=_0x328dc4,_0x3e8d95=asRecord(_0x19b306),_0x366493=getTrimmedString(_0x3e8d95[_0x299152(0x13f)])||getTrimmedString(_0x3e8d95[_0x299152(0x14f)]);let _0x3f67a2=_0x366493,_0x54342c=asRecord(_0x283665[_0x366493]);if(!Object['keys'](_0x54342c)[_0x299152(0x12a)])for(const [_0x5e165c,_0x73f2a3]of Object[_0x299152(0x137)](_0x283665)){const _0x16d340=asRecord(_0x73f2a3);if(getTrimmedString(_0x16d340[_0x299152(0x129)])===_0x366493){_0x3f67a2=_0x5e165c,_0x54342c=_0x16d340;break;}}if(!Object[_0x299152(0x130)](_0x54342c)['length'])return _0x19b306;const _0x297777=getTrimmedString(_0x54342c[_0x299152(0x129)]),_0x21d88d=getTrimmedString(_0x54342c[_0x299152(0x14f)]),_0x33ae82=getTrimmedString(_0x54342c['descript'+_0x299152(0x12d)]),_0x250aa5=getTrimmedString(_0x54342c[_0x299152(0x14d)]),_0x1e4977=getTrimmedString(_0x54342c[_0x299152(0x112)]);return{..._0x3e8d95,'source':SKILL_SOURCE_MARKET,'skillKey':_0x297777||_0x366493,'gatewaySkillKey':_0x297777?_0x3f67a2:null,'marketInstalledVersion':_0x1e4977||null,..._0x21d88d?{'cnName':_0x21d88d}:{},..._0x33ae82?{'description':_0x33ae82}:{},..._0x250aa5?{'logoUrl':_0x250aa5}:{}};});return{...asRecord(_0x8de0e),'skills':_0x50f4f5};}export function createMarketSkillRuntime({configController:_0x4bbda9}){return{'mapSkillsStatus':async _0x1a585f=>{const _0x869dd0=_0x41f4,_0x356e8a=await readSkillMarketRegistry(_0x4bbda9[_0x869dd0(0x151)+_0x869dd0(0x127)]())[_0x869dd0(0x147)](()=>({}));return mapMarketRegisteredSkills(_0x1a585f,_0x356e8a);}};}
@@ -1 +1 @@
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
+ (function(_0x270cb5,_0x4c9860){const _0x18bbf3=_0x550c,_0x4cdba7=_0x270cb5();while(!![]){try{const _0x17f858=-parseInt(_0x18bbf3(0x190))/0x1+-parseInt(_0x18bbf3(0x19e))/0x2*(-parseInt(_0x18bbf3(0x17f))/0x3)+-parseInt(_0x18bbf3(0x181))/0x4+-parseInt(_0x18bbf3(0x19a))/0x5*(-parseInt(_0x18bbf3(0x177))/0x6)+parseInt(_0x18bbf3(0x175))/0x7*(-parseInt(_0x18bbf3(0x19b))/0x8)+-parseInt(_0x18bbf3(0x188))/0x9+parseInt(_0x18bbf3(0x164))/0xa;if(_0x17f858===_0x4c9860)break;else _0x4cdba7['push'](_0x4cdba7['shift']());}catch(_0x27fff1){_0x4cdba7['push'](_0x4cdba7['shift']());}}}(_0x11b5,0x81e3a));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(_0x3b6531){const _0x1ae139=_0x550c,_0x29fc16=Object[_0x1ae139(0x18d)](_0x3b6531)['find'](_0x22bf7d=>_0x22bf7d['toLowerC'+_0x1ae139(0x16b)]()===_0x1ae139(0x173))??_0x1ae139(0x16c);return String(_0x3b6531[_0x29fc16]||'')[_0x1ae139(0x18e)](delimiter)[_0x1ae139(0x184)](Boolean);}function canExecute(_0x35adb7){const _0x586d4f=_0x550c;try{return accessSync(_0x35adb7,process[_0x586d4f(0x17a)]===_0x586d4f(0x195)?constants[_0x586d4f(0x194)]:constants[_0x586d4f(0x180)]),!![];}catch{return![];}}function _0x11b5(){const _0x4a7dbd=['data','platform','6color','/usr/loc','.cmd','env','1662hlXTXG','X_OK','2700964elqQYd','bash','al/bin/b','filter','.bat','child','clear','1806300eGqeFE','write','xterm-25','/opt/hom','ash','keys','split','pipe','38029Thwczn','pwsh','al/bin/z','.exe','F_OK','win32','sessionI','-NoLogo','No\x20suppo','find','10GlwpKa','24NYRZvA','Terminal','cwd','2918mRyJeb','message','\x20not\x20fou','trim','6330850LGpnTE','get','ll\x20found','n/zsh','close','stderr','n/bash','ase','PATH','/bin/bas','powershe','ebrew/bi','delete','test','\x20session','path','string','1497013SxTWEk','kill','1938606ZnwyyO','includes'];_0x11b5=function(){return _0x4a7dbd;};return _0x11b5();}function resolveExecutableOnPath(_0x4bb188,_0x20822f){const _0x31a76f=_0x550c,_0x4c029a=String(_0x4bb188||'')[_0x31a76f(0x1a1)]();if(!_0x4c029a)return null;if(_0x4c029a[_0x31a76f(0x178)]('/')||_0x4c029a['includes']('\x5c'))return existsSync(_0x4c029a)?_0x4c029a:null;const _0x5ac083=[_0x4c029a];process[_0x31a76f(0x17a)]==='win32'&&!FILE_EXTENSION_REGEX[_0x31a76f(0x171)](_0x4c029a)&&_0x5ac083['push'](_0x4c029a+_0x31a76f(0x193),_0x4c029a+_0x31a76f(0x17d),_0x4c029a+_0x31a76f(0x185));for(const _0x1e710d of resolvePathEntries(_0x20822f)){for(const _0x3ae9b1 of _0x5ac083){const _0x30e486=join(_0x1e710d,_0x3ae9b1);if(canExecute(_0x30e486))return _0x30e486;}}return null;}function _0x550c(_0x8dc211,_0x54dca3){_0x8dc211=_0x8dc211-0x164;const _0x11b577=_0x11b5();let _0x550c3d=_0x11b577[_0x8dc211];return _0x550c3d;}function resolveShellLaunchConfig(_0x587962){const _0x1b1a53=_0x550c;if(process[_0x1b1a53(0x17a)]===_0x1b1a53(0x195)){const _0x2b91d9=resolveExecutableOnPath(_0x1b1a53(0x191),_0x587962)??resolveExecutableOnPath(_0x1b1a53(0x16e)+'ll',_0x587962);if(_0x2b91d9)return{'command':_0x2b91d9,'args':[_0x1b1a53(0x197)]};const _0x33837b=resolveExecutableOnPath('cmd',_0x587962);if(_0x33837b)return{'command':_0x33837b,'args':['/Q']};throw new Error(_0x1b1a53(0x198)+'rted\x20Win'+'dows\x20she'+_0x1b1a53(0x166));}if(process[_0x1b1a53(0x17a)]==='darwin'){const _0x510cd1=['/bin/zsh',_0x1b1a53(0x17c)+_0x1b1a53(0x192)+'sh',_0x1b1a53(0x18b)+_0x1b1a53(0x16f)+_0x1b1a53(0x167)][_0x1b1a53(0x199)](canExecute);if(_0x510cd1)return{'command':_0x510cd1,'args':['-i']};const _0x51dfff=[_0x1b1a53(0x16d)+'h',_0x1b1a53(0x17c)+_0x1b1a53(0x183)+_0x1b1a53(0x18c),_0x1b1a53(0x18b)+_0x1b1a53(0x16f)+_0x1b1a53(0x16a)][_0x1b1a53(0x199)](canExecute);if(_0x51dfff)return{'command':_0x51dfff,'args':['--login','-i']};}const _0x3b320f=resolveExecutableOnPath(process.env.SHELL||'',_0x587962)??resolveExecutableOnPath(_0x1b1a53(0x182),_0x587962)??resolveExecutableOnPath('sh',_0x587962);if(!_0x3b320f)throw new Error(_0x1b1a53(0x198)+'rted\x20she'+_0x1b1a53(0x166));return{'command':_0x3b320f,'args':['-l','-i']};}export function createTerminalManager({cwd:_0x5dda7a,emitData:_0x3194d3,emitExit:_0x1dca6b}){const _0xa04551=new Map();function _0x5f439b(_0x368650){const _0x579f48=_0x550c,_0x6c8e90=_0xa04551[_0x579f48(0x165)](_0x368650);if(!_0x6c8e90)throw new Error(_0x579f48(0x19c)+_0x579f48(0x172)+_0x579f48(0x1a0)+'nd');return _0x6c8e90;}async function _0x5ee731(_0x1abe84={}){const _0x2f70a7=_0x550c,_0x4535ce={...process.env,'TERM':_0x2f70a7(0x18a)+_0x2f70a7(0x17b),'COLORTERM':'truecolo'+'r',..._0x1abe84[_0x2f70a7(0x17e)]&&typeof _0x1abe84['env']==='object'?_0x1abe84[_0x2f70a7(0x17e)]:{}},_0x56a129=typeof _0x1abe84[_0x2f70a7(0x19d)]===_0x2f70a7(0x174)&&_0x1abe84[_0x2f70a7(0x19d)][_0x2f70a7(0x1a1)]()?_0x1abe84[_0x2f70a7(0x19d)]:'',_0x586146=_0x56a129||_0x5dda7a;await mkdir(_0x586146,{'recursive':!![]});const {command:_0x253583,args:_0x19d32a}=resolveShellLaunchConfig(_0x4535ce),_0x21cf61=randomUUID(),_0x1b26cd=spawn(_0x253583,_0x19d32a,{'cwd':_0x586146,'env':_0x4535ce,'stdio':_0x2f70a7(0x18f)});return _0xa04551['set'](_0x21cf61,{'sessionId':_0x21cf61,'child':_0x1b26cd}),_0x1b26cd['stdout']['on'](_0x2f70a7(0x179),_0x4efadc=>_0x3194d3({'sessionId':_0x21cf61,'data':_0x4efadc['toString']()})),_0x1b26cd[_0x2f70a7(0x169)]['on']('data',_0x1c7e03=>_0x3194d3({'sessionId':_0x21cf61,'data':_0x1c7e03['toString']()})),_0x1b26cd['on'](_0x2f70a7(0x168),(_0x513e9e,_0x24c297)=>{const _0x14e6cf=_0x2f70a7;_0xa04551[_0x14e6cf(0x170)](_0x21cf61),_0x1dca6b({'sessionId':_0x21cf61,'exitCode':_0x513e9e,'signal':_0x24c297});}),_0x1b26cd['on']('error',_0x85c836=>{const _0x4c9724=_0x2f70a7;_0x3194d3({'sessionId':_0x21cf61,'data':_0x85c836[_0x4c9724(0x19f)]+'\x0a'});}),{'sessionId':_0x21cf61,'shell':basename(_0x253583),'cwd':_0x586146};}function _0x42d28e(_0x2b74b9={}){const _0x29eb7e=_0x550c,_0x1492e9=_0x5f439b(String(_0x2b74b9[_0x29eb7e(0x196)+'d']||''));return _0x1492e9[_0x29eb7e(0x186)]['stdin'][_0x29eb7e(0x189)](String(_0x2b74b9['data']||'')),{'ok':!![]};}function _0x248dca(_0x4e8596={}){const _0x1fc609=_0x550c,_0x21596e=String(_0x4e8596[_0x1fc609(0x196)+'d']||'');return _0x5f439b(_0x21596e),{'ok':!![],'ignored':!![]};}function _0x42b855(_0x588c64={}){const _0x46565e=_0x550c,_0x3cfa00=String(_0x588c64['sessionI'+'d']||''),_0x4d4975=_0xa04551['get'](_0x3cfa00);if(!_0x4d4975)return{'ok':!![],'closed':![]};return _0xa04551[_0x46565e(0x170)](_0x3cfa00),_0x4d4975[_0x46565e(0x186)][_0x46565e(0x176)](),{'ok':!![],'closed':!![]};}function _0x38876f(){const _0x58843b=_0x550c;for(const _0x5d4bf3 of _0xa04551['values']())_0x5d4bf3[_0x58843b(0x186)][_0x58843b(0x176)]();_0xa04551[_0x58843b(0x187)]();}return{'create':_0x5ee731,'input':_0x42d28e,'resize':_0x248dca,'close':_0x42b855,'dispose':_0x38876f};}
@@ -1 +1 @@
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
+ const _0x544a6e=_0x5986;(function(_0x15f481,_0x68b129){const _0x16e1b3=_0x5986,_0x206728=_0x15f481();while(!![]){try{const _0x1efe3c=-parseInt(_0x16e1b3(0x187))/0x1+-parseInt(_0x16e1b3(0x1e8))/0x2+-parseInt(_0x16e1b3(0xd9))/0x3*(parseInt(_0x16e1b3(0xf2))/0x4)+-parseInt(_0x16e1b3(0x1b6))/0x5*(-parseInt(_0x16e1b3(0x17c))/0x6)+-parseInt(_0x16e1b3(0x1ae))/0x7*(-parseInt(_0x16e1b3(0x188))/0x8)+-parseInt(_0x16e1b3(0xe9))/0x9+parseInt(_0x16e1b3(0x148))/0xa*(parseInt(_0x16e1b3(0xfe))/0xb);if(_0x1efe3c===_0x68b129)break;else _0x206728['push'](_0x206728['shift']());}catch(_0x10b953){_0x206728['push'](_0x206728['shift']());}}}(_0x4e63,0xe147e));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 _0x1b0681 from'electron-updater';function _0x4e63(){const _0xf00d56=['red','update\x20n','Local','remoteVe','当前使用\x20Alp','ending_p','alidated','efetch_f','当前没有可下载的','776842WBERHz','led','动更新','Library','-updater','text\x20loa','sPath','update_q','uit_star','acheDirN','utMs','updates','packageB','dataDir','context','resolve','datePref','exec','taleMs','now','update-i','isArray','uit\x20and\x20','pending','nstall_w','true','ewer','Quit','errorCod','releaseD','r\x20starte','sha512','fore\x20nat','o\x20clear\x20','status','leted','string','phase-co','AppData','message','ded','-for-upd','install_','enabled','called','o\x20archiv','uit_and_','getAllWi','schedule','for\x20nati','nstall\x20p','install\x20','text_sta','Squirrel','darwin','更新准备失败','nts','flatMap','unknown','rsion','ts\x20skipp','xt\x20ignor','info','pathname','ing','efetch_s','nstall\x20d','path','one','fileName','transfer','te-state','trim','includes','nstall\x20q','complete','o\x20read\x20p','hase_con','efore\x20in','releaseN','parse','l\x20phase\x20','it_obser','MacEnabl','outMs','pdater\x20q','update\x20q','stener','41091RRRxPB','length','stall\x20ca','nstall','ailed\x20be','ha\x20更新渠道','正在下载\x20','e\x20prefet','ch\x20skipp','appId','find','-error','defaults','\x20will\x20us','unsuppor','ending\x20p','4507227eItNJm','stall','-bool','eted','platform','ontentsW','within\x20t','rrel\x20dir','quested','524BVchra','isPackag','ve\x20mac\x20u','Second','update_a','_default','ate','当前已经是最新版','repare\x20q','update_m','catch','write','5773889wPQkoC','packageN','ersion','o\x20inspec','自动更新已禁用','efetch\x20b','ive\x20upda','win32','same-ver','ndCheckI','running','新版本','\x20fallbac','update_b','update\x20p','ror','e\x20check\x20','oot','installi','efore\x20qu','o\x20read\x20a','vailable','max','allOnApp','ac\x20updat','phase','ytes','kipped','o\x20persis','squirrel','s_enable','stringif','app_id','nstall_p','total','nd\x20updat','update\x20i','pp-updat','启应用','ct_write','ignore','app-upda','ative_pr','lable','warn','ac_squir','sion','efetch_d','update\x20b','rel_dire','ing\x20upda','load','backgrou','包后再试','number','te.yml','imeout','安装更新失败','error','te\x20packa','installQ','ts\x20faile','l\x20packag','Percent','map','toISOStr','package\x20','-after-b','nativeUp','uitTimeo','uit_done','edVersio','autoDown','phase\x20co','30fOIKrv','isFile','send','remote-n','update-d','ect\x20writ','ait_done','currentV','后的安装包中可用','自动更新仅在打包','requeste','size','efetch_i','supporte','percent','quitAndI','then','otes','正在安装更新并重','pdate\x20pr','uitAndIn','nfo.json','Updates','se\x20conte','mileston','not-avai','e\x20defaul','function','consumed','object','native\x20m','eDirectC','重试下载更新','kage','更新包校验完成但','test','\x20AppImag','no\x20match','rite','e\x20instal','ackageBy','当前没有可安装的','channel','navailab','isDestro','url','ailed','tart','e.yml','auto\x20upd','自动更新失败','dater','1182lUSmft','ts\x20enabl','d;\x20insta','uit\x20star','ch\x20timed','isFinite','hell.con','stale\x20up','bytesPer','note','native-u','500259fFciNv','296XrZZQY','fig\x20中禁用','app:upda','tall\x20pha','uit\x20comp','download','ame','stale-af','ter-boot','ndows','ext\x20boot','finally','g\x20downlo','eVersion',',请重新下载更新','failed\x20t','r\x20boot','version','once','pp\x20quit\x20','interval','ate\x20down','push','availabl','正在检查更新','update_n','st.json','正在重新准备更新','date\x20ins','ntext.js','install-','pendingP','repare_q','failed','hdog\x20sta','t\x20instal','etchTime','ndCheckS','157094PmaIwQ','ending\x20u','e\x20版本支持应用','\x20after\x20i','-progres','update-a','alpha','updaterC','43185WldSog','\x20before\x20','signal','Update','_after_i','aded\x20pac','更新安装未能启动','rted','ch\x20wait\x20','_by_conf','ted','already-','rigger\x20a','resource','内自动更新','.ShipIt','linux','able','ved','备安装','utf8','s_skippe','更新包已准备好安','electron','startup','发现本地更新包\x20','当前构建不支持自','checkFor','t\x20pendin','it\x20obser','join','mac\x20squi','update_p','startedA','idle','Linux\x20下仅','\x20已准备好安装','ownloade','checking','lled','ext_boot'];_0x4e63=function(){return _0xf00d56;};return _0x4e63();}import{app,BrowserWindow}from'electron';import{clean,compare}from'semver';const {autoUpdater}=_0x1b0681,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=_0x544a6e(0xb6)+_0x544a6e(0xd4)+_0x544a6e(0x167)+_0x544a6e(0xee)+_0x544a6e(0x16e);function normalizeAppUpdatePackageFileName(_0x1be65c){const _0x41e59a=_0x544a6e;if(typeof _0x1be65c!==_0x41e59a(0xa5))return null;const _0x1be0d4=_0x1be65c[_0x41e59a(0xc9)]();if(!_0x1be0d4||_0x1be0d4==='.'||_0x1be0d4==='..'||_0x1be0d4[_0x41e59a(0xca)]('/')||_0x1be0d4[_0x41e59a(0xca)]('\x5c'))return null;return _0x1be0d4;}function isMatchingAppUpdatePackageMetadata(_0x277d41,_0x1ddd2b){const _0x1b6b83=_0x544a6e;if(!_0x277d41||!_0x1ddd2b||typeof _0x1ddd2b!=='object')return![];const _0x3f8ac8=_0x1ddd2b,_0x310d5a=normalizeAppUpdatePackageFileName(_0x277d41[_0x1b6b83(0xc6)]),_0xb651e3=normalizeAppUpdatePackageFileName(_0x3f8ac8[_0x1b6b83(0xc6)]),_0x316d37=_0x277d41[_0x1b6b83(0xa0)][_0x1b6b83(0xc9)](),_0x5c571f=typeof _0x3f8ac8['sha512']===_0x1b6b83(0xa5)?_0x3f8ac8[_0x1b6b83(0xa0)]['trim']():'';return Boolean(_0x310d5a&&_0xb651e3&&_0x310d5a===_0xb651e3&&_0x316d37&&_0x5c571f&&_0x316d37===_0x5c571f);}function normalizeAppVersion(_0x29db2d){const _0x3ac0f7=_0x544a6e;return clean(String(_0x29db2d??'')[_0x3ac0f7(0xc9)]());}function compareAppVersions(_0x4f68af,_0x9386b9){const _0x5af369=_0x544a6e,_0x411bfc=normalizeAppVersion(_0x4f68af),_0x59831d=normalizeAppVersion(_0x9386b9);if(!_0x411bfc||!_0x59831d)return _0x5af369(0xbb);const _0x27cec9=compare(_0x59831d,_0x411bfc);if(_0x27cec9===0x0)return _0x5af369(0x106)+_0x5af369(0x12c);return _0x27cec9>0x0?_0x5af369(0x14b)+_0x5af369(0x202):'remote-o'+'lder';}function normalizeAppUpdateChannel(_0x5a30d1){const _0xaaa80b=_0x544a6e;return _0x5a30d1===_0xaaa80b(0x1b4)?_0xaaa80b(0x1b4):'latest';}function normalizeString(_0x5623f2){const _0x5081d1=_0x544a6e;if(typeof _0x5623f2!==_0x5081d1(0xa5))return null;const _0x577ebd=_0x5623f2[_0x5081d1(0xc9)]();return _0x577ebd||null;}function normalizeReleaseNotes(_0x555696){const _0x487f71=_0x544a6e;if(typeof _0x555696===_0x487f71(0xa5))return normalizeString(_0x555696);if(!Array[_0x487f71(0x1fd)](_0x555696))return null;const _0x505b6b=_0x555696[_0x487f71(0xba)](_0x40141a=>{const _0x456b37=_0x487f71;if(typeof _0x40141a===_0x456b37(0xa5)){const _0xf0f4eb=normalizeString(_0x40141a);return _0xf0f4eb?[_0xf0f4eb]:[];}if(!_0x40141a||typeof _0x40141a!==_0x456b37(0x165))return[];const _0xdcb895=normalizeString(_0x40141a[_0x456b37(0x199)]),_0x213545=normalizeString(_0x40141a[_0x456b37(0x185)]);if(_0xdcb895&&_0x213545)return['v'+_0xdcb895+'\x0a'+_0x213545];if(_0x213545)return[_0x213545];if(_0xdcb895)return['v'+_0xdcb895];return[];});return _0x505b6b['length']>0x0?_0x505b6b[_0x487f71(0x1d4)]('\x0a\x0a'):null;}function extractUpdateInfoPatch(_0x5d694b){const _0x31c525=_0x544a6e;if(!_0x5d694b||typeof _0x5d694b!==_0x31c525(0x165))return{};return{'remoteVersion':normalizeString(_0x5d694b[_0x31c525(0x199)]),'availableVersion':normalizeString(_0x5d694b['version']),'releaseName':normalizeString(_0x5d694b[_0x31c525(0xd0)+_0x31c525(0x18e)]),'releaseDate':normalizeString(_0x5d694b[_0x31c525(0x9e)+'ate']),'releaseNotes':normalizeReleaseNotes(_0x5d694b['releaseN'+_0x31c525(0x159)])};}function extractPackageFileName(_0x16535e){const _0x1818ef=_0x544a6e,_0x149b05=normalizeString(_0x16535e);if(!_0x149b05)return null;try{const _0xd75853=new URL(_0x149b05);return normalizeAppUpdatePackageFileName(decodeURIComponent(basename(_0xd75853[_0x1818ef(0xc0)])));}catch{const _0x277925=_0x149b05['split'](/[?#]/u,0x1)[0x0];return normalizeAppUpdatePackageFileName(basename(_0x277925));}}function getPreferredUpdatePackagePattern(){const _0x2322fb=_0x544a6e;if(process[_0x2322fb(0xed)]===_0x2322fb(0xb7))return/\.zip$/iu;if(process['platform']==='win32')return/\.exe$/iu;if(process[_0x2322fb(0xed)]===_0x2322fb(0x1c6))return/\.AppImage$/u;return/\.(zip|exe|AppImage)$/u;}function extractRemoteUpdatePackageMetadata(_0x5ec0d1,_0x187af6){const _0x140dc8=_0x544a6e;if(!_0x5ec0d1||typeof _0x5ec0d1!==_0x140dc8(0x165))return null;const _0x4a4efd=normalizeString(_0x5ec0d1[_0x140dc8(0x199)]);if(!_0x4a4efd)return null;const _0x24405a=[],_0x152b0a=Array[_0x140dc8(0x1fd)](_0x5ec0d1['files'])?_0x5ec0d1['files']:[];for(const _0x507f46 of _0x152b0a){if(!_0x507f46||typeof _0x507f46!=='object')continue;const _0x58f834=extractPackageFileName(_0x507f46[_0x140dc8(0x175)])??extractPackageFileName(_0x507f46[_0x140dc8(0xc4)])??normalizeAppUpdatePackageFileName(_0x507f46['fileName']),_0x3b35eb=normalizeString(_0x507f46[_0x140dc8(0xa0)]);_0x58f834&&_0x3b35eb&&_0x24405a[_0x140dc8(0x19e)]({'fileName':_0x58f834,'sha512':_0x3b35eb});}const _0x3cbe14=extractPackageFileName(_0x5ec0d1['url'])??extractPackageFileName(_0x5ec0d1[_0x140dc8(0xc4)])??normalizeAppUpdatePackageFileName(_0x5ec0d1['fileName']),_0x4d353f=normalizeString(_0x5ec0d1[_0x140dc8(0xa0)]);_0x3cbe14&&_0x4d353f&&_0x24405a[_0x140dc8(0x19e)]({'fileName':_0x3cbe14,'sha512':_0x4d353f});const _0x374f03=_0x24405a[_0x140dc8(0xe3)](_0x465b5e=>getPreferredUpdatePackagePattern()['test'](_0x465b5e['fileName']));if(!_0x374f03)return _0x187af6?.[_0x140dc8(0x12a)]?.(_0x140dc8(0x16d)+_0x140dc8(0x130)+_0x140dc8(0x139)+'ge\x20for\x20c'+'urrent\x20p'+'latform',{'platform':process[_0x140dc8(0xed)],'candidates':_0x24405a[_0x140dc8(0x13e)](_0x5c1293=>_0x5c1293[_0x140dc8(0xc6)])}),null;return{'version':_0x4a4efd,..._0x374f03};}function extractProgressPatch(_0x5a2e9f){const _0x47ab87=_0x544a6e;return{'downloadPercent':typeof _0x5a2e9f[_0x47ab87(0x156)]===_0x47ab87(0x134)?_0x5a2e9f[_0x47ab87(0x156)]:null,'bytesPerSecond':typeof _0x5a2e9f['bytesPer'+_0x47ab87(0xf5)]===_0x47ab87(0x134)?_0x5a2e9f[_0x47ab87(0x184)+_0x47ab87(0xf5)]:null,'transferredBytes':typeof _0x5a2e9f['transfer'+_0x47ab87(0x1df)]===_0x47ab87(0x134)?_0x5a2e9f[_0x47ab87(0xc7)+'red']:null,'totalBytes':typeof _0x5a2e9f[_0x47ab87(0x120)]===_0x47ab87(0x134)?_0x5a2e9f[_0x47ab87(0x120)]:null};}function getErrorMessage(_0x5825a9){const _0x2edbb4=_0x544a6e;if(_0x5825a9 instanceof Error&&_0x5825a9[_0x2edbb4(0xa8)][_0x2edbb4(0xc9)]())return _0x5825a9[_0x2edbb4(0xa8)]['trim']();if(typeof _0x5825a9===_0x2edbb4(0xa5)&&_0x5825a9[_0x2edbb4(0xc9)]())return _0x5825a9[_0x2edbb4(0xc9)]();return'未知的自动更新错'+'误';}function getMacSquirrelDirectWriteDefaultsDomains(_0x330c5b){const _0x394872=_0x544a6e,_0x5d4ed1=normalizeString(_0x330c5b);if(!_0x5d4ed1)return[];return[_0x5d4ed1,_0x5d4ed1+_0x394872(0x1c5)];}function isSuccessfulCommandResult(_0x323a8e){const _0x27713f=_0x544a6e;return!_0x323a8e?.['error']&&!_0x323a8e?.[_0x27713f(0x1b8)]&&(typeof _0x323a8e?.[_0x27713f(0xa3)]!==_0x27713f(0x134)||_0x323a8e[_0x27713f(0xa3)]===0x0);}function _0x5986(_0x47bbc2,_0x20773f){_0x47bbc2=_0x47bbc2-0x9d;const _0x4e6351=_0x4e63();let _0x5986ca=_0x4e6351[_0x47bbc2];return _0x5986ca;}function readJsonFile(_0xe8d437){const _0x19c0fb=_0x544a6e;if(!existsSync(_0xe8d437))return null;try{return JSON[_0x19c0fb(0xd1)](readFileSync(_0xe8d437,'utf8'));}catch{return null;}}export function createUpdateController({shellConfig:_0x7e73e2,appName:_0x204f16,appVersion:_0x9bec2f,broadcast:_0x124d4e,logger:_0x4e9f56,prepareQuitAndInstall:_0x36dfc4,defaultsCommandRunner:defaultsCommandRunner=spawnSync}){const _0x98608a=_0x544a6e,_0x12b141=_0x7e73e2[_0x98608a(0x1f3)]??{},_0x2b20e2=normalizeAppUpdateChannel(_0x12b141['channel']),_0x340291={'backgroundCheckIntervalMs':_0x12b141[_0x98608a(0x132)+_0x98608a(0x107)+'ntervalM'+'s']??DEFAULT_BACKGROUND_UPDATE_CHECK_INTERVAL_MS,'backgroundCheckStaleMs':_0x12b141[_0x98608a(0x132)+_0x98608a(0x1ad)+_0x98608a(0x1fa)]??DEFAULT_BACKGROUND_UPDATE_CHECK_STALE_MS,'installQuitTimeoutMs':_0x12b141[_0x98608a(0x13a)+_0x98608a(0x143)+_0x98608a(0x1f2)]??DEFAULT_INSTALL_QUIT_TIMEOUT_MS,'nativeUpdatePrefetchTimeoutMs':_0x12b141[_0x98608a(0x142)+_0x98608a(0x1f8)+_0x98608a(0x1ac)+_0x98608a(0xd5)]??DEFAULT_NATIVE_UPDATE_PREFETCH_TIMEOUT_MS,'autoDownload':_0x12b141[_0x98608a(0x146)+_0x98608a(0x131)]===!![]},_0x49cfc1={'supported':![],'channel':_0x2b20e2,'phase':_0x98608a(0xe7)+_0x98608a(0x1c0),'currentVersion':_0x9bec2f(),'remoteVersion':null,'comparisonResult':_0x98608a(0xbb),'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':_0x98608a(0x102),'error':null,'errorCode':null};let _0x52045d=![],_0x412fe4=null,_0x4aecfa=null,_0x3c21ee=null,_0x58e4be=null,_0x312292=null,_0x2ca69a=null,_0x404ad9=![],_0x3f8590=null,_0x28b2b4=0x0,_0x1477c7=null,_0x4aacc7=null,_0x2a1638=![],_0x1b6ff9=![],_0x4f2a91=null;function _0x4f9697(){const _0x2d33f8=_0x98608a;if(process[_0x2d33f8(0xed)]===_0x2d33f8(0xb7))return join(homedir(),_0x2d33f8(0x1eb),'Caches');if(process[_0x2d33f8(0xed)]===_0x2d33f8(0x105))return process.env.LOCALAPPDATA??join(homedir(),_0x2d33f8(0xa7),_0x2d33f8(0x1e1));return process.env.XDG_CACHE_HOME??join(homedir(),'.cache');}function _0x4d3980(){const _0x228f7c=_0x98608a;if(!app['isPackag'+'ed']||!process[_0x228f7c(0x1c3)+_0x228f7c(0x1ee)])return{};const _0x2106f3=join(process['resource'+_0x228f7c(0x1ee)],_0x228f7c(0x127)+_0x228f7c(0x135));if(!existsSync(_0x2106f3))return{};try{const _0x3aadde=readFileSync(_0x2106f3,_0x228f7c(0x1ca)),_0x3177a1=/^\s*channel:\s*["']?([^"'\s#]+)["']?/imu[_0x228f7c(0x1f9)](_0x3aadde),_0x456768=/^\s*updaterCacheDirName:\s*["']?([^"'\s#]+)["']?/imu[_0x228f7c(0x1f9)](_0x3aadde);return{'channel':normalizeAppUpdateChannel(_0x3177a1?.[0x1]),'updaterCacheDirName':normalizeString(_0x456768?.[0x1])};}catch(_0x5ac861){return _0x4e9f56?.[_0x228f7c(0x12a)]?.(_0x228f7c(0x197)+_0x228f7c(0x112)+_0x228f7c(0x123)+_0x228f7c(0x178),{'error':getErrorMessage(_0x5ac861)}),{};}}const _0xcf94b0=_0x4d3980();_0xcf94b0['channel']&&(_0x49cfc1[_0x98608a(0x172)]=_0xcf94b0['channel']);function _0x513224(){const _0x4b4cd2=_0x98608a,_0x262f4a=_0xcf94b0[_0x4b4cd2(0x1b5)+_0x4b4cd2(0x1f1)+_0x4b4cd2(0x18e)]||_0x204f16()+_0x4b4cd2(0x1ec);return join(_0x4f9697(),_0x262f4a);}function _0x255add(_0x23042e){const _0xdc3d9f=_0x98608a;return _0x23042e===_0xdc3d9f(0x1b4)?_0xdc3d9f(0x1e3)+_0xdc3d9f(0xde):'自动更新功能已就'+'绪';}function _0x2baf5d(){const _0x5cb9bc=_0x98608a;if(_0x12b141['enabled']===![])return![];if(!app['isPackag'+'ed'])return![];if(process[_0x5cb9bc(0xed)]!=='linux')return!![];return Boolean(process.env.APPIMAGE);}function _0x79b764(){const _0x19c07e=_0x98608a;if(_0x12b141[_0x19c07e(0xac)]===![])return'自动更新已在\x20s'+_0x19c07e(0x182)+_0x19c07e(0x189);if(!app[_0x19c07e(0xf3)+'ed'])return _0x19c07e(0x151)+_0x19c07e(0x150);if(process[_0x19c07e(0xed)]==='linux')return _0x19c07e(0x1d9)+_0x19c07e(0x16c)+_0x19c07e(0x1b0)+_0x19c07e(0x1c4);return _0x19c07e(0x1d0)+_0x19c07e(0x1ea);}function _0x9387c9(){const _0x20c7a6=_0x98608a;return join(_0x7e73e2[_0x20c7a6(0x1f5)],_0x20c7a6(0x1a6)+_0x20c7a6(0xa6)+_0x20c7a6(0x1a5)+'on');}function _0x1bbd62(){const _0x422e1f=_0x98608a;return join(_0x7e73e2[_0x422e1f(0x1f5)],_0x422e1f(0x1a6)+'phase-co'+'ntext.la'+_0x422e1f(0x1a2));}function _0x7c258(){return{'hasPendingPackage':![],'pendingPackageName':null,'pendingPackageBytes':null};}function _0x54addc(){return{..._0x49cfc1};}function _0x2ff174(){const _0x335040=_0x98608a,_0x1573a1=_0x54addc();for(const _0x28f1b9 of BrowserWindow[_0x335040(0xb0)+_0x335040(0x191)]()){!_0x28f1b9[_0x335040(0x174)+'yed']()&&_0x28f1b9['webConte'+_0x335040(0xb9)][_0x335040(0x14a)](_0x335040(0x18a)+_0x335040(0xc8),_0x1573a1);}_0x124d4e?.('app:upda'+_0x335040(0xc8),_0x1573a1);}function _0x1f4385(_0x134aed){const _0x29b4ea=_0x98608a,_0x47af52={..._0x134aed};_0x47af52['error']===null&&_0x47af52[_0x29b4ea(0x9d)+'e']===undefined&&(_0x47af52[_0x29b4ea(0x9d)+'e']=null),Object['assign'](_0x49cfc1,_0x47af52,{'currentVersion':_0x9bec2f()}),_0x2ff174();}function _0x342bdd(){if(!_0x49cfc1['supporte'+'d'])throw new Error(_0x79b764());}function _0x3bcda1(_0xfe4ab3,_0x3acb19={}){const _0x3246c5=_0x98608a;_0x4e9f56?.[_0x3246c5(0xbf)]?.(_0xfe4ab3,_0x3acb19);}function _0x902064(_0x4b596b,_0x2ec2ba={}){const _0x3f0c5=_0x98608a;_0x4e9f56?.[_0x3f0c5(0x12a)]?.(_0x4b596b,_0x2ec2ba);}function _0x30c5a9(){const _0x1397c1=_0x98608a;if(process[_0x1397c1(0xed)]!==_0x1397c1(0xb7))return;if(_0x7e73e2['packagin'+'g']?.['mac']?.[_0x1397c1(0x11b)+_0x1397c1(0xd4)+_0x1397c1(0x167)+_0x1397c1(0xee)+_0x1397c1(0x16e)]===![]){_0x3bcda1(_0x1397c1(0x1d5)+'rrel\x20dir'+'ect\x20writ'+_0x1397c1(0x162)+_0x1397c1(0xbd)+'ed',{'event':_0x1397c1(0xfb)+'ac_squir'+_0x1397c1(0x12f)+_0x1397c1(0x125)+'_default'+_0x1397c1(0x1cb)+'d','reason':'disabled'+_0x1397c1(0x1bf)+'ig'});return;}const _0x3529d1=getMacSquirrelDirectWriteDefaultsDomains(_0x7e73e2[_0x1397c1(0xe2)]);if(_0x3529d1[_0x1397c1(0xda)]===0x0){_0x902064(_0x1397c1(0x1d5)+_0x1397c1(0xf0)+'ect\x20writ'+_0x1397c1(0x162)+_0x1397c1(0xbd)+'ed',{'event':_0x1397c1(0xfb)+_0x1397c1(0x12b)+_0x1397c1(0x12f)+_0x1397c1(0x125)+'_default'+'s_skippe'+'d','reason':'missing_'+_0x1397c1(0x11e)});return;}const _0x4a348c=[];for(const _0x36706c of _0x3529d1){try{const _0x4e283b=defaultsCommandRunner(_0x1397c1(0xe5),[_0x1397c1(0xfd),_0x36706c,SQUIRREL_DIRECT_WRITE_DEFAULTS_KEY,_0x1397c1(0xeb),_0x1397c1(0x201)],{'stdio':_0x1397c1(0x126)});!isSuccessfulCommandResult(_0x4e283b)&&_0x4a348c['push']({'domain':_0x36706c,'status':_0x4e283b?.[_0x1397c1(0xa3)]??null,'signal':_0x4e283b?.[_0x1397c1(0x1b8)]??null,'error':_0x4e283b?.[_0x1397c1(0x138)]?getErrorMessage(_0x4e283b['error']):null});}catch(_0x9ae1f7){_0x4a348c['push']({'domain':_0x36706c,'status':null,'signal':null,'error':getErrorMessage(_0x9ae1f7)});}}if(_0x4a348c['length']>0x0){_0x902064('mac\x20squi'+_0x1397c1(0xf0)+'ect\x20writ'+_0x1397c1(0x162)+_0x1397c1(0x13b)+'d',{'event':_0x1397c1(0xfb)+_0x1397c1(0x12b)+_0x1397c1(0x12f)+_0x1397c1(0x125)+'_default'+'s_failed','domains':_0x3529d1,'failures':_0x4a348c});return;}_0x3bcda1(_0x1397c1(0x1d5)+_0x1397c1(0xf0)+_0x1397c1(0x14d)+_0x1397c1(0x162)+_0x1397c1(0x17d)+'ed',{'event':_0x1397c1(0xfb)+_0x1397c1(0x12b)+_0x1397c1(0x12f)+_0x1397c1(0x125)+_0x1397c1(0xf7)+_0x1397c1(0x11c)+'d','domains':_0x3529d1});}function _0xf35a33(){const _0x32ba63=_0x98608a;if(process[_0x32ba63(0xed)]!=='darwin')return null;const _0x5dd5ff=autoUpdater?.['nativeUp'+_0x32ba63(0x17b)];if(!_0x5dd5ff||typeof _0x5dd5ff[_0x32ba63(0x1d1)+_0x32ba63(0x15e)]!==_0x32ba63(0x163))return null;return _0x5dd5ff;}function _0x48995b(){if(!_0x4aacc7)return;clearTimeout(_0x4aacc7),_0x4aacc7=null;}function _0x27a688(){const _0x3e03e3=_0x98608a;typeof _0x4f2a91===_0x3e03e3(0x163)&&_0x4f2a91(),_0x48995b(),_0x1477c7=null,_0x2a1638=![],_0x1b6ff9=![],_0x4f2a91=null;}function _0x2920f1(_0x2a09db){const _0x49d154=_0x98608a;if(typeof _0x2a09db!=='number'||!Number['isFinite'](_0x2a09db))return null;const _0x196e11=Math['min'](0x63,Math[_0x49d154(0x114)](0x0,_0x2a09db));if(_0x49cfc1['phase']!==_0x49d154(0x18d)+_0x49d154(0xc1)||typeof _0x49cfc1['download'+_0x49d154(0x13d)]!==_0x49d154(0x134))return _0x196e11;return Math[_0x49d154(0x114)](_0x49cfc1[_0x49d154(0x18d)+_0x49d154(0x13d)],_0x196e11);}function _0x3be9b0(_0x48982c,_0x4f3e9a){const _0xa4c255=_0x98608a,_0x542658=_0x48982c?'v'+_0x48982c:_0xa4c255(0x109);if(typeof _0x4f3e9a===_0xa4c255(0x134)){if(_0x4f3e9a>=0x63)return'正在验证安装包…';return _0xa4c255(0xdf)+_0x542658+'\x20('+_0x4f3e9a['toFixed'](0x1)+'%)';}return'正在下载\x20'+_0x542658;}function _0x4942cf(_0x5447f5){const _0x2a29ba=_0x98608a;if(!_0x340291[_0x2a29ba(0x146)+_0x2a29ba(0x131)])return;if(_0x4aecfa||_0x49cfc1['phase']!=='availabl'+'e'||!_0x49cfc1['hasUpdat'+'e'])return;_0x3bcda1(_0x2a29ba(0x179)+_0x2a29ba(0x19d)+'load\x20req'+'uested',{'reason':_0x5447f5,'availableVersion':_0x49cfc1['availabl'+_0x2a29ba(0x195)]}),void _0x37f956()[_0x2a29ba(0xfc)](_0x3608bc=>{const _0x2ed133=_0x2a29ba;_0x902064(_0x2ed133(0x179)+'ate\x20down'+'load\x20fai'+_0x2ed133(0x1e9),{'reason':_0x5447f5,'error':getErrorMessage(_0x3608bc)});});}function _0x41bce2(_0x268342){const _0x255895=_0x98608a;try{writeFileSync(_0x9387c9(),JSON[_0x255895(0x11d)+'y'](_0x268342,null,0x2),'utf8');}catch(_0x3a623a){_0x902064(_0x255895(0x197)+_0x255895(0x11a)+_0x255895(0x1ab)+_0x255895(0xd2)+_0x255895(0x1f6),{'error':getErrorMessage(_0x3a623a)});}}function _0x3292b9(){return readJsonFile(_0x9387c9());}function _0x25e834(_0x2b0b29,_0x195d32,_0x1576cd={}){const _0x4b762d=_0x98608a;try{writeFileSync(_0x1bbd62(),JSON[_0x4b762d(0x11d)+'y']({..._0x2b0b29,..._0x1576cd,'archivedAt':new Date()[_0x4b762d(0x13f)+_0x4b762d(0xc1)](),'archiveReason':_0x195d32},null,0x2),_0x4b762d(0x1ca));}catch(_0x258172){_0x902064(_0x4b762d(0x197)+_0x4b762d(0xae)+_0x4b762d(0x16f)+_0x4b762d(0xd2)+_0x4b762d(0x1f6),{'reason':_0x195d32,'error':getErrorMessage(_0x258172)});}}function _0x5494e3(_0x42407c){const _0x1fa1d0=_0x98608a,_0xe5762c=_0x3292b9();if(!_0xe5762c||typeof _0xe5762c!==_0x1fa1d0(0x165))return;_0x41bce2({..._0xe5762c,..._0x42407c,'milestones':{..._0xe5762c[_0x1fa1d0(0x160)+'es']&&typeof _0xe5762c[_0x1fa1d0(0x160)+'es']==='object'?_0xe5762c['mileston'+'es']:{},..._0x42407c['mileston'+'es']??{}}});}function _0x4fc202(){const _0x435eb9=_0x98608a;try{rmSync(_0x9387c9(),{'force':!![]});}catch(_0x5961e9){_0x902064(_0x435eb9(0x197)+_0x435eb9(0xa2)+_0x435eb9(0xb4)+_0x435eb9(0x147)+'ntext',{'error':getErrorMessage(_0x5961e9)});}}function _0x39765a(){const _0x3fc471=_0x98608a,_0x261f77=join(_0x513224(),_0x3fc471(0x1ff));if(!existsSync(_0x261f77))return{'packageName':null,'packageBytes':null};try{const _0x598899=readdirSync(_0x261f77)[_0x3fc471(0xe3)](_0x1076b6=>/\.(zip|exe|dmg|AppImage)$/iu[_0x3fc471(0x16b)](_0x1076b6))??null;if(!_0x598899)return{'packageName':null,'packageBytes':null};const _0x4c4732=join(_0x261f77,_0x598899);return{'packageName':_0x598899,'packageBytes':statSync(_0x4c4732)[_0x3fc471(0x153)]};}catch(_0x10ff40){return _0x902064(_0x3fc471(0x197)+'o\x20inspec'+_0x3fc471(0x1d2)+'g\x20instal'+_0x3fc471(0x13c)+'e',{'error':getErrorMessage(_0x10ff40)}),{'packageName':null,'packageBytes':null};}}function _0x51a34f(){const _0x52c31f=_0x98608a;if(!_0x58e4be)return null;const _0x194fae=join(_0x513224(),'pending'),_0x14d909=join(_0x194fae,_0x52c31f(0x1fc)+_0x52c31f(0x15d));if(!existsSync(_0x14d909))return null;let _0x4bd5b7=null;try{_0x4bd5b7=JSON[_0x52c31f(0xd1)](readFileSync(_0x14d909,_0x52c31f(0x1ca)));}catch(_0x803c64){return _0x902064(_0x52c31f(0x197)+_0x52c31f(0xcd)+_0x52c31f(0x1af)+'pdate-in'+'fo.json',{'error':getErrorMessage(_0x803c64)}),null;}if(!isMatchingAppUpdatePackageMetadata(_0x58e4be,_0x4bd5b7))return null;const _0xe904f3=join(_0x194fae,_0x58e4be[_0x52c31f(0xc6)]);if(!existsSync(_0xe904f3))return null;try{const _0x1643ee=statSync(_0xe904f3);if(!_0x1643ee[_0x52c31f(0x149)]()||_0x1643ee['size']===0x0)return null;return{'metadata':_0x58e4be,'packageName':_0x58e4be['fileName'],'packageBytes':_0x1643ee[_0x52c31f(0x153)]};}catch(_0x476ae1){return _0x902064(_0x52c31f(0x197)+_0x52c31f(0x101)+_0x52c31f(0x1d2)+_0x52c31f(0x194)+_0x52c31f(0x1bb)+_0x52c31f(0x169),{'error':getErrorMessage(_0x476ae1)}),null;}}function _0x273254(_0x39f223){const _0x16e797=_0x98608a,_0x55157f=_0x51a34f();if(!_0x55157f)return![];const {metadata:_0x4cb5dd,packageName:_0x1a8977,packageBytes:_0x104573}=_0x55157f;return _0x3bcda1('pending\x20'+_0x16e797(0x140)+'cache\x20hi'+'t',{'reason':_0x39f223,'version':_0x4cb5dd[_0x16e797(0x199)],'packageName':_0x1a8977,'packageBytes':_0x104573}),_0x1f4385({'phase':_0x16e797(0x19f)+'e','remoteVersion':_0x4cb5dd[_0x16e797(0x199)],'comparisonResult':_0x16e797(0x14b)+_0x16e797(0x202),'hasUpdate':!![],'availableVersion':_0x4cb5dd[_0x16e797(0x199)],'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':_0x104573,'totalBytes':_0x104573,'hasPendingPackage':!![],'pendingPackageName':_0x1a8977,'pendingPackageBytes':_0x104573,'error':null,'message':_0x16e797(0x1cf)+'v'+_0x4cb5dd[_0x16e797(0x199)]+(',请重新校验并准'+_0x16e797(0x1c9))}),!![];}function _0x212351(_0x1eecd1,_0x108012){const _0x2e3c96=_0x98608a,_0x5863a8=_0x39765a();_0x3bcda1(_0x2e3c96(0x10c)+_0x2e3c96(0xe8)+'ackage\x20v'+_0x2e3c96(0x1e5),{'event':_0x2e3c96(0x1d6)+_0x2e3c96(0x1e4)+'ackage_v'+_0x2e3c96(0x1e5),'reason':_0x1eecd1,'validator':_0x2e3c96(0x1cd)+_0x2e3c96(0x1ec),'currentVersion':_0x49cfc1['currentV'+'ersion'],'downloadedVersion':_0x108012,'pendingPackage':_0x5863a8['packageN'+_0x2e3c96(0x18e)],'pendingPackageBytes':_0x5863a8[_0x2e3c96(0x1f4)+_0x2e3c96(0x118)],'sha512Validated':!![]});}function _0x47ee28(_0x181ec5){const _0x196ef7=_0x98608a;if(_0x1b6ff9)return _0x3bcda1(_0x196ef7(0x166)+_0x196ef7(0x116)+_0x196ef7(0xe0)+_0x196ef7(0xe1)+'ed',{'event':_0x196ef7(0x1a1)+_0x196ef7(0x128)+_0x196ef7(0xc2)+'kipped','reason':_0x181ec5,'skipReason':_0x196ef7(0x1c1)+_0x196ef7(0xcc)+'d','downloadedVersion':_0x49cfc1['download'+_0x196ef7(0x145)+'n']}),_0x1477c7??Promise['resolve'](_0x196ef7(0x1c1)+_0x196ef7(0xcc)+'d');if(_0x1477c7)return _0x3bcda1(_0x196ef7(0x166)+_0x196ef7(0x116)+_0x196ef7(0xe0)+'ch\x20skipp'+'ed',{'event':_0x196ef7(0x1a1)+'ative_pr'+_0x196ef7(0xc2)+_0x196ef7(0x119),'reason':_0x181ec5,'skipReason':'already-'+_0x196ef7(0x108),'downloadedVersion':_0x49cfc1[_0x196ef7(0x18d)+_0x196ef7(0x145)+'n']}),_0x1477c7;const _0x5a52ae=_0xf35a33();if(!_0x5a52ae)return process[_0x196ef7(0xed)]===_0x196ef7(0xb7)&&_0x902064('native\x20m'+_0x196ef7(0x116)+_0x196ef7(0xe0)+_0x196ef7(0xe1)+'ed',{'event':'update_n'+_0x196ef7(0x128)+_0x196ef7(0xc2)+_0x196ef7(0x119),'reason':_0x181ec5,'skipReason':_0x196ef7(0x186)+'pdater-u'+_0x196ef7(0x173)+'le','downloadedVersion':_0x49cfc1[_0x196ef7(0x18d)+'edVersio'+'n']}),Promise[_0x196ef7(0x1f7)](_0x196ef7(0xe7)+_0x196ef7(0x1c0));_0x2a1638=!![];const _0x2dcd75=Date[_0x196ef7(0x1fb)]();return _0x3bcda1(_0x196ef7(0x166)+_0x196ef7(0x116)+_0x196ef7(0xe0)+'ch\x20start'+'ed',{'event':_0x196ef7(0x1a1)+_0x196ef7(0x128)+_0x196ef7(0xc2)+_0x196ef7(0x177),'reason':_0x181ec5,'currentVersion':_0x49cfc1[_0x196ef7(0x14f)+_0x196ef7(0x100)],'downloadedVersion':_0x49cfc1[_0x196ef7(0x18d)+_0x196ef7(0x145)+'n'],'timeoutMs':_0x340291[_0x196ef7(0x142)+'datePref'+_0x196ef7(0x1ac)+_0x196ef7(0xd5)]}),_0x1477c7=new Promise(_0x279f9a=>{const _0x41d64c=_0x196ef7;let _0x448d70=![];const _0x41a2e1=(_0x3c99dd,_0x324d80=null)=>{const _0x1d00f9=_0x5986;if(_0x448d70)return;_0x448d70=!![],_0x4f2a91?.(),_0x48995b(),_0x2a1638=![],_0x1b6ff9=_0x3c99dd===_0x1d00f9(0xcc)+'d',_0x4f2a91=null;const _0x25f50a=Date['now']()-_0x2dcd75;_0x3c99dd===_0x1d00f9(0xcc)+'d'?_0x3bcda1(_0x1d00f9(0x166)+_0x1d00f9(0x116)+_0x1d00f9(0xe0)+'ch\x20compl'+_0x1d00f9(0xec),{'event':'update_n'+_0x1d00f9(0x128)+_0x1d00f9(0x12d)+_0x1d00f9(0xc5),'reason':_0x181ec5,'elapsedMs':_0x25f50a,'downloadedVersion':_0x49cfc1['download'+_0x1d00f9(0x145)+'n']}):_0x902064(_0x1d00f9(0x166)+_0x1d00f9(0x116)+_0x1d00f9(0xe0)+'ch\x20faile'+_0x1d00f9(0x17e)+'ll\x20click'+_0x1d00f9(0xe6)+'e\x20native'+_0x1d00f9(0x10a)+'k',{'event':_0x1d00f9(0x1a1)+_0x1d00f9(0x128)+_0x1d00f9(0x1e6)+_0x1d00f9(0x176),'reason':_0x181ec5,'elapsedMs':_0x25f50a,'downloadedVersion':_0x49cfc1[_0x1d00f9(0x18d)+'edVersio'+'n'],'error':getErrorMessage(_0x324d80)}),_0x279f9a(_0x3c99dd);},_0x2c2b4c=()=>_0x41a2e1(_0x41d64c(0xcc)+'d'),_0x306258=_0x4a2b1b=>_0x41a2e1(_0x41d64c(0x1a9),_0x4a2b1b);_0x4f2a91=()=>{const _0x25c391=_0x41d64c;_0x5a52ae['removeLi'+_0x25c391(0xd8)]?.('update-d'+_0x25c391(0x1db)+'d',_0x2c2b4c),_0x5a52ae['removeLi'+_0x25c391(0xd8)]?.(_0x25c391(0x138),_0x306258);},_0x5a52ae['once']?.(_0x41d64c(0x14c)+_0x41d64c(0x1db)+'d',_0x2c2b4c),_0x5a52ae[_0x41d64c(0x19a)]?.(_0x41d64c(0x138),_0x306258),_0x4aacc7=setTimeout(()=>{const _0x5e5b82=_0x41d64c;_0x41a2e1(_0x5e5b82(0x1a9),new Error('native\x20m'+_0x5e5b82(0x116)+_0x5e5b82(0xe0)+_0x5e5b82(0x180)+'\x20out'));},_0x340291['nativeUp'+'datePref'+_0x41d64c(0x1ac)+_0x41d64c(0xd5)]);try{const _0x1e6077=_0x5a52ae[_0x41d64c(0x1d1)+_0x41d64c(0x15e)]();_0x1e6077&&typeof _0x1e6077['then']==='function'&&_0x1e6077[_0x41d64c(0xfc)](_0x306258);}catch(_0x1eb60b){_0x41a2e1(_0x41d64c(0x1a9),_0x1eb60b);}})['finally'](()=>{_0x1477c7=null;}),_0x1477c7;}async function _0x5e35b1(){const _0x5d07b6=_0x98608a;if(!_0x2a1638||!_0x1477c7)return null;const _0x51ef1e=Date['now']();_0x3bcda1('waiting\x20'+_0x5d07b6(0xb2)+_0x5d07b6(0xf4)+_0x5d07b6(0x15b)+_0x5d07b6(0x103)+_0x5d07b6(0xcf)+_0x5d07b6(0xea),{'event':_0x5d07b6(0x1a1)+_0x5d07b6(0x128)+_0x5d07b6(0x154)+_0x5d07b6(0x200)+'ait_star'+'t','downloadedVersion':_0x49cfc1['download'+_0x5d07b6(0x145)+'n']});const _0x394496=await _0x1477c7,_0xa107d5=Date['now']()-_0x51ef1e,_0x3178cd=_0x394496===_0x5d07b6(0xcc)+'d'?_0x3bcda1:_0x902064;return _0x3178cd(_0x5d07b6(0x166)+_0x5d07b6(0x116)+_0x5d07b6(0xe0)+_0x5d07b6(0x1be)+'finished'+_0x5d07b6(0x1b7)+'install',{'event':_0x5d07b6(0x1a1)+'ative_pr'+_0x5d07b6(0x154)+_0x5d07b6(0x200)+_0x5d07b6(0x14e),'status':_0x394496,'elapsedMs':_0xa107d5,'downloadedVersion':_0x49cfc1[_0x5d07b6(0x18d)+_0x5d07b6(0x145)+'n']}),_0x394496;}function _0x5ad45b(){const _0x16172a=_0x98608a;return _0x49cfc1['supporte'+'d']&&!_0x412fe4&&!_0x4aecfa&&['idle',_0x16172a(0x161)+_0x16172a(0x129),_0x16172a(0x138)][_0x16172a(0xca)](_0x49cfc1[_0x16172a(0x117)]);}function _0x56cc8d(){if(!_0x2ca69a)return;clearTimeout(_0x2ca69a),_0x2ca69a=null;}function _0x2d298f(_0x3bce8f){const _0x45dd29=_0x98608a,_0x4ce851=_0x49cfc1['download'+_0x45dd29(0x145)+'n'],_0x50ae90=_0x49cfc1['availabl'+_0x45dd29(0x195)],_0x190c15=new Date()[_0x45dd29(0x13f)+_0x45dd29(0xc1)]();_0x5494e3({'failedAt':_0x190c15,'error':getErrorMessage(_0x3bce8f),'milestones':{'failedAt':_0x190c15}}),_0x902064(_0x45dd29(0x122)+'nstall\x20f'+_0x45dd29(0xdd)+_0x45dd29(0xa1)+_0x45dd29(0x104)+'ter\x20comp'+_0x45dd29(0xa4),{'error':getErrorMessage(_0x3bce8f),'downloadedVersion':_0x4ce851,'availableVersion':_0x50ae90}),_0x312292=null,_0x404ad9=![],_0x56cc8d(),_0x4fc202(),_0x1f4385({'phase':_0x45dd29(0x138),'checkedAt':new Date()[_0x45dd29(0x13f)+'ing'](),'hasPendingPackage':![],'pendingPackageName':null,'pendingPackageBytes':null,'hasUpdate':!![],'availableVersion':_0x50ae90??_0x4ce851,'downloadedVersion':_0x4ce851,'error':getErrorMessage(_0x3bce8f),'errorCode':_0x45dd29(0x1a6)+'error','message':_0x45dd29(0x137)});}function _0x4fd9a6(){const _0x3d0526=_0x98608a;_0x56cc8d(),_0x404ad9=![],_0x3bcda1(_0x3d0526(0x122)+_0x3d0526(0xcb)+'uit\x20watc'+_0x3d0526(0x1aa)+_0x3d0526(0x1bd),{'timeoutMs':_0x340291[_0x3d0526(0x13a)+_0x3d0526(0x143)+'utMs'],'downloadedVersion':_0x49cfc1[_0x3d0526(0x18d)+_0x3d0526(0x145)+'n'],'currentVersion':_0x49cfc1[_0x3d0526(0x14f)+_0x3d0526(0x100)]}),_0x2ca69a=setTimeout(()=>{const _0x33640b=_0x3d0526;if(_0x404ad9||_0x49cfc1[_0x33640b(0x117)]!==_0x33640b(0x110)+'ng')return;_0x902064('quitAndI'+_0x33640b(0xc3)+'id\x20not\x20t'+_0x33640b(0x1c2)+_0x33640b(0x19b)+_0x33640b(0xef)+_0x33640b(0x136),{'downloadedVersion':_0x49cfc1[_0x33640b(0x18d)+_0x33640b(0x145)+'n'],'currentVersion':_0x49cfc1[_0x33640b(0x14f)+_0x33640b(0x100)]}),_0x2d298f(new Error(_0x33640b(0x1bc)+_0x33640b(0x196)+_0x33640b(0x133)));},_0x340291[_0x3d0526(0x13a)+'uitTimeo'+_0x3d0526(0x1f2)]);}function _0x3dfbc1(){const _0x17f26d=_0x98608a;if(_0x52045d)return;_0x52045d=!![],_0x49cfc1[_0x17f26d(0x155)+'d']=_0x2baf5d(),_0x49cfc1['phase']=_0x49cfc1['supporte'+'d']?_0x17f26d(0x1d8):'unsuppor'+'ted',_0x49cfc1['message']=_0x49cfc1[_0x17f26d(0x155)+'d']?_0x255add(_0x49cfc1[_0x17f26d(0x172)]):_0x79b764();if(!_0x49cfc1[_0x17f26d(0x155)+'d']){_0x2ff174();return;}autoUpdater[_0x17f26d(0x146)+'load']=![],autoUpdater['autoInst'+_0x17f26d(0x115)+_0x17f26d(0x203)]=![],autoUpdater[_0x17f26d(0x172)]=_0x49cfc1[_0x17f26d(0x172)],autoUpdater['on'](_0x17f26d(0x1dc)+_0x17f26d(0xaa)+_0x17f26d(0xf8),()=>{const _0x5c61bf=_0x17f26d;_0x58e4be=null,_0x27a688(),_0x1f4385({'phase':_0x5c61bf(0x1dc),'checkedAt':new Date()[_0x5c61bf(0x13f)+_0x5c61bf(0xc1)](),'remoteVersion':null,'comparisonResult':'unknown','hasUpdate':![],'availableVersion':null,'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,..._0x7c258(),'error':null,'message':_0x5c61bf(0x1a0)});}),autoUpdater['on'](_0x17f26d(0x1b3)+_0x17f26d(0x113),_0xf660c9=>{const _0x290079=_0x17f26d,_0x42f632=extractUpdateInfoPatch(_0xf660c9),_0x447f8a=compareAppVersions(_0x9bec2f(),_0x42f632[_0x290079(0x1e2)+_0x290079(0xbc)]);if(_0x447f8a!==_0x290079(0x14b)+_0x290079(0x202)){_0x58e4be=null,_0x1f4385({..._0x42f632,'phase':_0x290079(0x161)+_0x290079(0x129),'comparisonResult':_0x447f8a,'hasUpdate':![],'availableVersion':null,'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,..._0x7c258(),'checkedAt':new Date()[_0x290079(0x13f)+_0x290079(0xc1)](),'error':null,'message':_0x290079(0xf9)+'本'});return;}_0x58e4be=extractRemoteUpdatePackageMetadata(_0xf660c9,_0x4e9f56),_0x1f4385({..._0x42f632,'phase':'availabl'+'e','comparisonResult':_0x447f8a,'hasUpdate':!![],'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,..._0x7c258(),'checkedAt':new Date()['toISOStr'+_0x290079(0xc1)](),'error':null,'message':_0x42f632[_0x290079(0x19f)+_0x290079(0x195)]?'发现新版本\x20v'+_0x42f632['availabl'+'eVersion']:'发现可用更新'}),!_0x273254(_0x290079(0xf6)+'vailable')&&_0x4942cf(_0x290079(0xf6)+_0x290079(0x113));}),autoUpdater['on']('update-n'+'ot-avail'+_0x17f26d(0x1c7),_0x1e2b65=>{const _0x322ab6=_0x17f26d;_0x58e4be=null;const _0x1df065=extractUpdateInfoPatch(_0x1e2b65);_0x1f4385({..._0x1df065,'phase':_0x322ab6(0x161)+_0x322ab6(0x129),'comparisonResult':compareAppVersions(_0x9bec2f(),_0x1df065['remoteVe'+_0x322ab6(0xbc)]),'hasUpdate':![],'availableVersion':null,'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,..._0x7c258(),'checkedAt':new Date()['toISOStr'+_0x322ab6(0xc1)](),'error':null,'message':'当前已经是最新版'+'本'});}),autoUpdater['on']('download'+_0x17f26d(0x1b2)+'s',_0x197c45=>{const _0x2c22b4=_0x17f26d,_0x67a59a=extractProgressPatch(_0x197c45),_0x5a987b=_0x2920f1(_0x67a59a['download'+_0x2c22b4(0x13d)]??null);_0x1f4385({..._0x67a59a,'downloadPercent':_0x5a987b,'phase':_0x2c22b4(0x18d)+_0x2c22b4(0xc1),..._0x7c258(),'error':null,'message':_0x3be9b0(_0x49cfc1['availabl'+_0x2c22b4(0x195)],_0x5a987b)});}),autoUpdater['on'](_0x17f26d(0x14c)+_0x17f26d(0x1db)+'d',_0x11cbf0=>{const _0x4f72d7=_0x17f26d,_0xd309db=extractUpdateInfoPatch(_0x11cbf0),_0x46a195=extractRemoteUpdatePackageMetadata(_0x11cbf0,_0x4e9f56)??_0x58e4be;_0x46a195&&(_0x58e4be=_0x46a195);const _0x570cb6=_0xd309db['availabl'+_0x4f72d7(0x195)]??_0x46a195?.['version']??_0x49cfc1[_0x4f72d7(0x19f)+_0x4f72d7(0x195)];_0x1f4385({..._0xd309db,'phase':'download'+'ed','comparisonResult':compareAppVersions(_0x9bec2f(),_0x570cb6),'hasUpdate':!![],'downloadedVersion':_0x570cb6,'downloadPercent':0x64,..._0x7c258(),'error':null,'message':_0x570cb6?'更新包\x20v'+_0x570cb6+_0x4f72d7(0x1da):_0x4f72d7(0x1cc)+'装'}),_0x212351(_0x4f72d7(0x14c)+_0x4f72d7(0x1db)+'d',_0x570cb6),void _0x47ee28(_0x4f72d7(0x14c)+_0x4f72d7(0x1db)+'d');}),autoUpdater['on']('error',_0x32e44c=>{const _0x2cee75=_0x17f26d;if(_0x2a1638&&_0x49cfc1[_0x2cee75(0x117)]===_0x2cee75(0x18d)+'ed')return;if(_0x49cfc1[_0x2cee75(0x117)]===_0x2cee75(0x110)+'ng'){_0x2d298f(_0x32e44c);return;}_0x1f4385({'phase':_0x2cee75(0x138),'checkedAt':new Date()[_0x2cee75(0x13f)+_0x2cee75(0xc1)](),..._0x7c258(),'error':getErrorMessage(_0x32e44c),'errorCode':_0x49cfc1['phase']===_0x2cee75(0x18d)+'ing'?_0x2cee75(0x18d)+_0x2cee75(0xe4):'check-er'+_0x2cee75(0x10d),'message':_0x2cee75(0x17a)});}),_0x2ff174();}async function _0x478608(){const _0x4d09ad=_0x98608a;_0x3dfbc1(),_0x342bdd();if(_0x412fe4)return _0x412fe4;return _0x3bcda1('check\x20re'+_0x4d09ad(0xf1)),_0x412fe4=autoUpdater['checkFor'+'Updates']()[_0x4d09ad(0x158)](()=>_0x54addc())[_0x4d09ad(0x193)](()=>{_0x412fe4=null;}),_0x412fe4;}async function _0x37f956(){const _0x2f0afd=_0x98608a;_0x3dfbc1(),_0x342bdd();if(_0x49cfc1[_0x2f0afd(0x117)]===_0x2f0afd(0x18d)+'ed'||_0x49cfc1[_0x2f0afd(0x117)]==='installi'+'ng')return _0x54addc();if(!_0x49cfc1['hasUpdat'+'e'])throw new Error('当前没有可下载的'+'更新');const _0x1a28ba=_0x49cfc1[_0x2f0afd(0x117)]==='error'&&_0x49cfc1[_0x2f0afd(0x9d)+'e']===_0x2f0afd(0x1a6)+_0x2f0afd(0x138)&&Boolean(_0x49cfc1[_0x2f0afd(0x18d)+_0x2f0afd(0x145)+'n']);if(_0x49cfc1[_0x2f0afd(0x117)]===_0x2f0afd(0x138)){if(_0x1a28ba)_0x1f4385({'phase':_0x2f0afd(0x19f)+'e','hasUpdate':!![],'availableVersion':_0x49cfc1[_0x2f0afd(0x19f)+_0x2f0afd(0x195)]??_0x49cfc1[_0x2f0afd(0x18d)+_0x2f0afd(0x145)+'n'],'downloadedVersion':null,'downloadPercent':null,..._0x7c258(),'error':null,'message':_0x2f0afd(0x1a3)+'包'});else{await _0x478608();if(_0x49cfc1[_0x2f0afd(0x117)]!=='availabl'+'e')throw new Error(_0x2f0afd(0x1e7)+'更新');}}if(![_0x2f0afd(0x19f)+'e',_0x2f0afd(0x18d)+_0x2f0afd(0xc1)][_0x2f0afd(0xca)](_0x49cfc1[_0x2f0afd(0x117)]))throw new Error('当前没有可下载的'+'更新');if(_0x4aecfa)return _0x4aecfa;return _0x4aecfa=autoUpdater[_0x2f0afd(0x18d)+_0x2f0afd(0x1b9)]()[_0x2f0afd(0x158)](()=>{const _0x3e1902=_0x2f0afd;return _0x49cfc1[_0x3e1902(0x117)]!==_0x3e1902(0x18d)+'ed'&&_0x1f4385({'phase':_0x3e1902(0x138),'checkedAt':new Date()[_0x3e1902(0x13f)+'ing'](),..._0x7c258(),'error':_0x3e1902(0x16a)+'安装器未就绪,请'+_0x3e1902(0x168),'errorCode':_0x3e1902(0x18d)+_0x3e1902(0xe4),'message':_0x3e1902(0xb8)}),_0x54addc();})[_0x2f0afd(0x193)](()=>{_0x4aecfa=null;}),_0x4aecfa;}async function _0x421537(){const _0x22f51d=_0x98608a;_0x3dfbc1(),_0x342bdd();if(_0x3c21ee)return _0x3c21ee;if(_0x49cfc1[_0x22f51d(0x117)]===_0x22f51d(0x110)+'ng')return{'ok':!![]};if(_0x49cfc1[_0x22f51d(0x117)]!==_0x22f51d(0x18d)+'ed')throw new Error(_0x22f51d(0x171)+'已下载更新');return _0x3c21ee=_0x1d9a03()[_0x22f51d(0x193)](()=>{_0x3c21ee=null;}),_0x3c21ee;}async function _0x1d9a03(){const _0x20cb9a=_0x98608a,_0x1eef8e=_0x39765a();_0x312292=Date[_0x20cb9a(0x1fb)]();const _0x1aa950=new Date(_0x312292)[_0x20cb9a(0x13f)+_0x20cb9a(0xc1)]();_0x3bcda1(_0x20cb9a(0xd7)+_0x20cb9a(0x1fe)+_0x20cb9a(0xb4)+'requeste'+'d',{'event':_0x20cb9a(0x1ef)+'uit_and_'+_0x20cb9a(0xab)+_0x20cb9a(0x152)+'d','currentVersion':_0x49cfc1[_0x20cb9a(0x14f)+_0x20cb9a(0x100)],'downloadedVersion':_0x49cfc1['download'+_0x20cb9a(0x145)+'n'],'pendingPackage':_0x1eef8e[_0x20cb9a(0xff)+_0x20cb9a(0x18e)],'pendingPackageBytes':_0x1eef8e[_0x20cb9a(0x1f4)+_0x20cb9a(0x118)],'nativeUpdatePrefetchInProgress':_0x2a1638,'nativeUpdatePrefetchCompleted':_0x1b6ff9}),_0x41bce2({'startedAt':_0x1aa950,'currentVersion':_0x49cfc1[_0x20cb9a(0x14f)+_0x20cb9a(0x100)],'downloadedVersion':_0x49cfc1['download'+_0x20cb9a(0x145)+'n'],'pendingPackage':_0x1eef8e[_0x20cb9a(0xff)+'ame'],'pendingPackageBytes':_0x1eef8e['packageB'+_0x20cb9a(0x118)],'nativeUpdatePrefetchInProgress':_0x2a1638,'nativeUpdatePrefetchCompleted':_0x1b6ff9,'milestones':{'requestedAt':_0x1aa950}});try{const _0x4a39e3=await _0x5e35b1();_0x4a39e3&&_0x5494e3({'nativeUpdatePrefetchInProgress':_0x2a1638,'nativeUpdatePrefetchCompleted':_0x1b6ff9,'nativeUpdatePrefetchStatus':_0x4a39e3,'milestones':{'nativeUpdatePrefetchWaitCompletedAt':new Date()[_0x20cb9a(0x13f)+_0x20cb9a(0xc1)]()}});_0x1f4385({'phase':'installi'+'ng',..._0x7c258(),'error':null,'message':_0x20cb9a(0x15a)+_0x20cb9a(0x124)});if(typeof _0x36dfc4===_0x20cb9a(0x163)){const _0x428457=new Date()[_0x20cb9a(0x13f)+_0x20cb9a(0xc1)]();_0x5494e3({'milestones':{'prepareStartedAt':_0x428457}}),_0x3bcda1(_0x20cb9a(0x10c)+_0x20cb9a(0xfa)+_0x20cb9a(0x17f)+_0x20cb9a(0x1c0),{'event':_0x20cb9a(0x1d6)+_0x20cb9a(0x1a8)+_0x20cb9a(0x1f0)+'t','elapsedMs':Date[_0x20cb9a(0x1fb)]()-_0x312292}),await _0x36dfc4();const _0x14e0b9=new Date()[_0x20cb9a(0x13f)+_0x20cb9a(0xc1)]();_0x5494e3({'milestones':{'prepareCompletedAt':_0x14e0b9}}),_0x3bcda1(_0x20cb9a(0x10c)+_0x20cb9a(0xfa)+_0x20cb9a(0x18c)+_0x20cb9a(0xa4),{'event':'update_p'+'repare_q'+_0x20cb9a(0x144),'elapsedMs':Date[_0x20cb9a(0x1fb)]()-_0x312292});}_0x30c5a9(),_0x4fd9a6();const _0x37ea29=new Date()[_0x20cb9a(0x13f)+_0x20cb9a(0xc1)]();_0x5494e3({'milestones':{'quitAndInstallCalledAt':_0x37ea29}}),_0x3bcda1('native\x20u'+_0x20cb9a(0xd6)+_0x20cb9a(0x15c)+_0x20cb9a(0xdb)+_0x20cb9a(0x1dd),{'event':'update_q'+_0x20cb9a(0xaf)+_0x20cb9a(0xab)+_0x20cb9a(0xad),'elapsedMs':Date[_0x20cb9a(0x1fb)]()-_0x312292}),autoUpdater[_0x20cb9a(0x157)+_0x20cb9a(0xdc)](![],!![]);}catch(_0x4a5464){_0x2d298f(_0x4a5464);throw _0x4a5464;}return{'ok':!![]};}async function _0x1812a8(_0x1e45a9){const _0x358b89=_0x98608a;if(!_0x5ad45b())return;_0x28b2b4=Date[_0x358b89(0x1fb)](),_0x3bcda1(_0x358b89(0x132)+_0x358b89(0x121)+_0x358b89(0x10e)+_0x358b89(0x152)+'d',{'reason':_0x1e45a9});try{await _0x478608();}catch(_0x39a847){_0x902064(_0x358b89(0x132)+_0x358b89(0x121)+_0x358b89(0x10e)+_0x358b89(0x1a9),{'reason':_0x1e45a9,'error':getErrorMessage(_0x39a847)});}}function _0x3674c5(_0x3a1493){const _0x255601=_0x98608a;if(!_0x49cfc1[_0x255601(0x155)+'d'])return;const _0x4b0e54=Date['now']()-_0x28b2b4;if(_0x4b0e54<_0x340291[_0x255601(0x132)+_0x255601(0x1ad)+_0x255601(0x1fa)])return;void _0x1812a8(_0x3a1493);}function _0x14cb29(){const _0x54fbc3=_0x98608a;_0x3dfbc1();if(!_0x49cfc1[_0x54fbc3(0x155)+'d']||_0x3f8590)return;_0x3f8590=setInterval(()=>{const _0xd282fd=_0x54fbc3;void _0x1812a8(_0xd282fd(0x19c));},_0x340291[_0x54fbc3(0x132)+'ndCheckI'+'ntervalM'+'s']),void _0x1812a8(_0x54fbc3(0x1ce)),_0x3bcda1(_0x54fbc3(0x132)+_0x54fbc3(0x121)+_0x54fbc3(0x10e)+_0x54fbc3(0xb1)+_0x54fbc3(0x9f)+'d',_0x340291);}function _0x4e6af1(){const _0xa15e41=_0x98608a;if(_0x49cfc1[_0xa15e41(0x117)]!==_0xa15e41(0x110)+'ng')return;_0x404ad9=!![],_0x56cc8d();const _0x4c64a4=new Date()['toISOStr'+_0xa15e41(0xc1)]();_0x5494e3({'milestones':{'beforeQuitObservedAt':_0x4c64a4}}),_0x3bcda1(_0xa15e41(0x12e)+_0xa15e41(0x111)+_0xa15e41(0x1d3)+_0xa15e41(0x1c8),{'event':_0xa15e41(0x10b)+'efore_qu'+_0xa15e41(0xd3)+'ved','elapsedMs':typeof _0x312292===_0xa15e41(0x134)?Date[_0xa15e41(0x1fb)]()-_0x312292:null});}function _0x34f4b6(){const _0x2e9367=_0x98608a;return _0x49cfc1[_0x2e9367(0x117)]===_0x2e9367(0x110)+'ng';}function _0x1ca790(){const _0x4e72f3=_0x98608a,_0x3b1bf0=_0x3292b9();if(!_0x3b1bf0||typeof _0x3b1bf0!==_0x4e72f3(0x165))return null;const _0x2cd3bf=new Date()['toISOStr'+_0x4e72f3(0xc1)](),_0x10788f=Date[_0x4e72f3(0xd1)](_0x3b1bf0[_0x4e72f3(0x1d7)+'t']),_0x5de14f=Number[_0x4e72f3(0x181)](_0x10788f)?Date[_0x4e72f3(0x1fb)]()-_0x10788f:null,_0x5dea4e=_0x5de14f,_0x4ff3c0=!Number[_0x4e72f3(0x181)](_0x5dea4e)||_0x5dea4e>INSTALL_PHASE_CONTEXT_STALE_MS,_0x16162c=_0x3b1bf0[_0x4e72f3(0x160)+'es']&&typeof _0x3b1bf0[_0x4e72f3(0x160)+'es']===_0x4e72f3(0x165)?_0x3b1bf0[_0x4e72f3(0x160)+'es']:{};_0x3bcda1(_0x4e72f3(0x122)+_0x4e72f3(0xb3)+'hase\x20con'+_0x4e72f3(0x1ed)+'ded\x20afte'+_0x4e72f3(0x198),{'event':'update_i'+'nstall_p'+'hase_con'+'text_loa'+_0x4e72f3(0xa9),'previousVersion':_0x3b1bf0[_0x4e72f3(0x14f)+'ersion']??null,'currentVersion':_0x9bec2f(),'downloadedVersion':_0x3b1bf0['download'+_0x4e72f3(0x145)+'n']??null,'startedAt':_0x3b1bf0[_0x4e72f3(0x1d7)+'t']??null,'bootCompletedAt':_0x2cd3bf,'contextAgeMs':_0x5dea4e,'stale':_0x4ff3c0,'milestones':_0x16162c});if(_0x4ff3c0)return _0x902064(_0x4e72f3(0x183)+_0x4e72f3(0x1a4)+_0x4e72f3(0x18b)+_0x4e72f3(0x15f)+_0x4e72f3(0xbe)+'ed',{'event':'update_i'+_0x4e72f3(0x11f)+_0x4e72f3(0xce)+_0x4e72f3(0xb5)+'le','previousVersion':_0x3b1bf0[_0x4e72f3(0x14f)+'ersion']??null,'currentVersion':_0x9bec2f(),'downloadedVersion':_0x3b1bf0[_0x4e72f3(0x18d)+_0x4e72f3(0x145)+'n']??null,'startedAt':_0x3b1bf0[_0x4e72f3(0x1d7)+'t']??null,'bootCompletedAt':_0x2cd3bf,'contextAgeMs':_0x5dea4e}),_0x25e834(_0x3b1bf0,_0x4e72f3(0x18f)+_0x4e72f3(0x190),{'bootCompletedAt':_0x2cd3bf,'totalElapsedMs':_0x5de14f}),_0x4fc202(),null;return _0x3bcda1(_0x4e72f3(0x1e0)+_0x4e72f3(0x192)+_0x4e72f3(0x1b1)+'nstall',{'event':'update_n'+_0x4e72f3(0x1de)+_0x4e72f3(0x1ba)+_0x4e72f3(0xdc),'previousVersion':_0x3b1bf0[_0x4e72f3(0x14f)+_0x4e72f3(0x100)]??null,'currentVersion':_0x9bec2f(),'downloadedVersion':_0x3b1bf0[_0x4e72f3(0x18d)+_0x4e72f3(0x145)+'n']??null,'pendingPackage':_0x3b1bf0['pendingP'+'ackage']??null,'pendingPackageBytes':_0x3b1bf0[_0x4e72f3(0x1a7)+_0x4e72f3(0x170)+'tes']??null,'startedAt':_0x3b1bf0['startedA'+'t']??null,'bootCompletedAt':_0x2cd3bf,'totalElapsedMs':_0x5de14f,'milestones':_0x16162c}),_0x25e834(_0x3b1bf0,_0x4e72f3(0x164)+_0x4e72f3(0x141)+_0x4e72f3(0x10f),{'bootCompletedAt':_0x2cd3bf,'totalElapsedMs':_0x5de14f}),_0x4fc202(),{'previousVersion':_0x3b1bf0[_0x4e72f3(0x14f)+_0x4e72f3(0x100)]??null,'currentVersion':_0x9bec2f(),'downloadedVersion':_0x3b1bf0['download'+_0x4e72f3(0x145)+'n']??null,'totalElapsedMs':_0x5de14f,'bootCompletedAt':_0x2cd3bf};}return{'initialize':_0x3dfbc1,'getState':_0x54addc,'checkForUpdates':_0x478608,'downloadUpdate':_0x37f956,'quitAndInstall':_0x421537,'requestBackgroundCheck':_0x3674c5,'startBackgroundChecks':_0x14cb29,'markQuitObserved':_0x4e6af1,'isInstallingUpdate':_0x34f4b6,'recordBootAfterInstall':_0x1ca790};}
@@ -1 +1 @@
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();}
1
+ function _0x14a0(){const _0x3b0976=['ERR_MODU','LE_NOT_F','app:upda','trim','export\x20c','ller.mjs','12wHRVak','unsuppor','OUND','3799936cjxPYP','ause\x20ele','用状态','dependen','n-update','./contro','\x22electro','message','ted','updates','string','getAllWi','code','2220006tIrXJO','reateUpd','failed\x20t','缺失,已降级为禁','自动更新依赖\x20e','missing-','\x27electro','alpha','er.mjs\x20d','14PwHLbv','function','\x20unavail','MODULE_N','controll','updater\x20','ate\x20disa','621533iNfZVj','o\x20load\x20e','oes\x20not\x20','object','send','dateCont','102625wnwuWJ','40520232nkhctf','5168010XfvUwS','able','logger','9jPXJoS','warn','te-state','ndows','163612hFvDVo','createUp','yed','latest','oller','lectron-','30LrzSdR','OT_FOUND','isDestro','updates/','ctron-up','未知的自动更新错','roller','dater\x20is','15UFCbVq'];_0x14a0=function(){return _0x3b0976;};return _0x14a0();}(function(_0x94a8b8,_0x496f6d){const _0x3c82c6=_0x5033,_0x1c8cc3=_0x94a8b8();while(!![]){try{const _0x1f0939=parseInt(_0x3c82c6(0x17a))/0x1*(-parseInt(_0x3c82c6(0x198))/0x2)+parseInt(_0x3c82c6(0x191))/0x3*(parseInt(_0x3c82c6(0x183))/0x4)+-parseInt(_0x3c82c6(0x17c))/0x5+-parseInt(_0x3c82c6(0x1a8))/0x6*(parseInt(_0x3c82c6(0x16d))/0x7)+parseInt(_0x3c82c6(0x19b))/0x8*(-parseInt(_0x3c82c6(0x17f))/0x9)+-parseInt(_0x3c82c6(0x189))/0xa*(parseInt(_0x3c82c6(0x174))/0xb)+parseInt(_0x3c82c6(0x17b))/0xc;if(_0x1f0939===_0x496f6d)break;else _0x1c8cc3['push'](_0x1c8cc3['shift']());}catch(_0x34c806){_0x1c8cc3['push'](_0x1c8cc3['shift']());}}}(_0x14a0,0x85a12));import _0x2515f5 from'electron';const {BrowserWindow}=_0x2515f5;function _0x5033(_0x577cae,_0x589100){_0x577cae=_0x577cae-0x167;const _0x14a050=_0x14a0();let _0x50335=_0x14a050[_0x577cae];return _0x50335;}function getErrorMessage(_0x3cb28c){const _0x4bc41a=_0x5033;if(_0x3cb28c instanceof Error&&_0x3cb28c[_0x4bc41a(0x1a2)][_0x4bc41a(0x195)]())return _0x3cb28c['message']['trim']();if(typeof _0x3cb28c===_0x4bc41a(0x1a5)&&_0x3cb28c[_0x4bc41a(0x195)]())return _0x3cb28c[_0x4bc41a(0x195)]();return _0x4bc41a(0x18e)+'误';}function createUnavailableUpdateController({shellConfig:_0x4e455f,appVersion:_0x1e1777,broadcast:_0x143ef6,logger:_0x332d85,reason:_0x8e54e0}){const _0x235a96=_0x5033,_0x13e5b2=_0x4e455f[_0x235a96(0x1a4)]??{},_0x4826eb={'supported':![],'channel':_0x13e5b2['channel']==='alpha'?_0x235a96(0x16b):_0x235a96(0x186),'phase':_0x235a96(0x199)+_0x235a96(0x1a3),'currentVersion':_0x1e1777(),'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':_0x8e54e0,'error':null,'errorCode':_0x235a96(0x169)+_0x235a96(0x19e)+'cy'};let _0x9f0c27=![];function _0x15d41e(){return{..._0x4826eb,'currentVersion':_0x1e1777()};}function _0x24827a(){const _0x43938c=_0x235a96,_0x3989c7=_0x15d41e();for(const _0x5a994d of BrowserWindow?.[_0x43938c(0x1a6)+_0x43938c(0x182)]?.()??[]){!_0x5a994d[_0x43938c(0x18b)+_0x43938c(0x185)]()&&_0x5a994d['webConte'+'nts'][_0x43938c(0x178)](_0x43938c(0x194)+_0x43938c(0x181),_0x3989c7);}_0x143ef6?.(_0x43938c(0x194)+'te-state',_0x3989c7);}function _0x271f5e(){const _0x8d697f=_0x235a96;if(_0x9f0c27)return;_0x9f0c27=!![],_0x332d85?.['warn']?.('auto\x20upd'+_0x8d697f(0x173)+'bled\x20bec'+_0x8d697f(0x19c)+_0x8d697f(0x18d)+_0x8d697f(0x190)+_0x8d697f(0x16f)+_0x8d697f(0x17d),{'reason':_0x8e54e0}),_0x24827a();}function _0x4a6512(){throw new Error(_0x8e54e0);}async function _0x14cd30(){_0x271f5e(),_0x4a6512();}async function _0x4a0daa(){_0x271f5e(),_0x4a6512();}async function _0x40427e(){_0x271f5e(),_0x4a6512();}function _0x272cf0(){}function _0x2bbe06(){_0x271f5e();}function _0x3b0bff(){}function _0x52b5d2(){return![];}function _0x2fbe78(){return null;}return{'initialize':_0x271f5e,'getState':_0x15d41e,'checkForUpdates':_0x14cd30,'downloadUpdate':_0x4a0daa,'quitAndInstall':_0x40427e,'requestBackgroundCheck':_0x272cf0,'startBackgroundChecks':_0x2bbe06,'markQuitObserved':_0x3b0bff,'isInstallingUpdate':_0x52b5d2,'recordBootAfterInstall':_0x2fbe78};}function isElectronUpdaterMissingError(_0x54c487){const _0xa22cad=_0x5033;if(!_0x54c487)return![];if(_0x54c487&&typeof _0x54c487===_0xa22cad(0x177)&&_0xa22cad(0x1a7)in _0x54c487&&(_0x54c487[_0xa22cad(0x1a7)]===_0xa22cad(0x192)+_0xa22cad(0x193)+_0xa22cad(0x19a)||_0x54c487[_0xa22cad(0x1a7)]===_0xa22cad(0x170)+_0xa22cad(0x18a))){const _0x26dbb1=getErrorMessage(_0x54c487);return _0x26dbb1['includes'](_0xa22cad(0x16a)+_0xa22cad(0x19f)+'r\x27')||_0x26dbb1['includes'](_0xa22cad(0x1a1)+_0xa22cad(0x19f)+'r\x22');}return![];}export async function loadCreateUpdateController({logger:_0x1afe41,importer:importer=_0x204fa6=>import(_0x204fa6)}={}){const _0x298e4c=_0x5033;try{const _0x59eb42=await importer(_0x298e4c(0x1a0)+_0x298e4c(0x197));if(typeof _0x59eb42[_0x298e4c(0x184)+_0x298e4c(0x179)+_0x298e4c(0x18f)]!==_0x298e4c(0x16e))throw new TypeError(_0x298e4c(0x18c)+_0x298e4c(0x171)+_0x298e4c(0x16c)+_0x298e4c(0x176)+_0x298e4c(0x196)+_0x298e4c(0x1a9)+'ateContr'+_0x298e4c(0x187));return _0x59eb42[_0x298e4c(0x184)+_0x298e4c(0x179)+_0x298e4c(0x18f)];}catch(_0x10a5ca){if(!isElectronUpdaterMissingError(_0x10a5ca))throw _0x10a5ca;const _0x25827f=_0x298e4c(0x168)+_0x298e4c(0x188)+_0x298e4c(0x172)+_0x298e4c(0x167)+_0x298e4c(0x19d);return _0x1afe41?.[_0x298e4c(0x180)]?.(_0x298e4c(0x1aa)+_0x298e4c(0x175)+_0x298e4c(0x188)+'updater',{'error':getErrorMessage(_0x10a5ca),'reason':_0x25827f}),_0x6d36d7=>createUnavailableUpdateController({..._0x6d36d7,'logger':_0x6d36d7?.[_0x298e4c(0x17e)]??_0x1afe41,'reason':_0x25827f});}}export const __test__={'createUnavailableUpdateController':createUnavailableUpdateController,'isElectronUpdaterMissingError':isElectronUpdaterMissingError};