@wujie-shell/core 3.0.2 → 4.0.1

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 (41) hide show
  1. package/dist/bin/wujie-shell.mjs +1 -1
  2. package/dist/src/agents/bundled-agent-skills.mjs +1 -1
  3. package/dist/src/agents/bundled-agents.mjs +1 -1
  4. package/dist/src/chat/media-archive.mjs +1 -1
  5. package/dist/src/chat/queue.mjs +1 -1
  6. package/dist/src/common/diagnostics.mjs +1 -1
  7. package/dist/src/common/logging.mjs +1 -1
  8. package/dist/src/common/runtime-logger.mjs +1 -1
  9. package/dist/src/common/user-events.mjs +1 -1
  10. package/dist/src/common/utils.mjs +1 -1
  11. package/dist/src/config/controller.mjs +1 -1
  12. package/dist/src/connectors/config-utils.mjs +1 -1
  13. package/dist/src/connectors/constants.mjs +1 -1
  14. package/dist/src/connectors/controller.mjs +1 -1
  15. package/dist/src/connectors/kdocs-cli.mjs +1 -1
  16. package/dist/src/electron/main.mjs +1 -1
  17. package/dist/src/electron/preload.mjs +1 -1
  18. package/dist/src/files/generated-files-store.mjs +1 -1
  19. package/dist/src/files/handlers.mjs +1 -1
  20. package/dist/src/gateway/chat-delta.mjs +1 -1
  21. package/dist/src/gateway/controller.mjs +1 -1
  22. package/dist/src/gateway/ws-client.mjs +1 -1
  23. package/dist/src/index.mjs +1 -1
  24. package/dist/src/log-reporting/handlers.mjs +1 -1
  25. package/dist/src/log-reporting/report-logs.mjs +1 -1
  26. package/dist/src/models/handlers.mjs +1 -1
  27. package/dist/src/preferences/store.mjs +1 -1
  28. package/dist/src/runtime/index.mjs +1 -1
  29. package/dist/src/runtime/patch-channel-plugin-runtime.mjs +1 -1
  30. package/dist/src/runtime/patch-chat-history-mixed-tool-content.mjs +1 -1
  31. package/dist/src/runtime/patch-session-store-sqlite.mjs +1 -1
  32. package/dist/src/runtime/plugin-sync.mjs +1 -1
  33. package/dist/src/sessions/agent-sessions-map-store.mjs +1 -1
  34. package/dist/src/sessions/runtime-bridge.mjs +1 -1
  35. package/dist/src/sessions/session-sqlite-store.mjs +1 -1
  36. package/dist/src/skills/import.mjs +1 -1
  37. package/dist/src/skills/market.mjs +1 -1
  38. package/dist/src/terminal/manager.mjs +1 -1
  39. package/dist/src/updates/controller.mjs +1 -1
  40. package/dist/src/updates/loader.mjs +1 -1
  41. package/package.json +3 -3
@@ -1 +1 @@
1
- const _0x1cf374=_0x3307;(function(_0x4bdfaf,_0x446657){const _0x38a7d1=_0x3307,_0x5623c4=_0x4bdfaf();while(!![]){try{const _0x5e165e=-parseInt(_0x38a7d1(0x1ba))/0x1+parseInt(_0x38a7d1(0x1a6))/0x2*(-parseInt(_0x38a7d1(0x1b6))/0x3)+parseInt(_0x38a7d1(0x189))/0x4+-parseInt(_0x38a7d1(0x1b2))/0x5*(-parseInt(_0x38a7d1(0x18e))/0x6)+parseInt(_0x38a7d1(0x18d))/0x7*(-parseInt(_0x38a7d1(0x18f))/0x8)+-parseInt(_0x38a7d1(0x1a8))/0x9+-parseInt(_0x38a7d1(0x188))/0xa*(-parseInt(_0x38a7d1(0x19c))/0xb);if(_0x5e165e===_0x446657)break;else _0x5623c4['push'](_0x5623c4['shift']());}catch(_0xe50a88){_0x5623c4['push'](_0x5623c4['shift']());}}}(_0x165d,0x695bf));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=_0x1cf374(0x1ad)+_0x1cf374(0x190);function _0x165d(){const _0x948250=['skillKey','entries','size','match','技能商店安装需要','11374AMjGqj','接口返回的\x20co','replace','Key','map','ion','gatewayS','mpare','parse','rsion','35554EGfeLu','resolveS','2985273GcKtYW','trim','logo_url','utf8','descript','aipc-mar','market-s','catch','kills.js','code','235890QDrTcE','has','SKILLS.m','接口返回的\x20ve','15lUUMhR','manifest','接口返回的\x20na','fromEntr','761561hSXFPi',':\x5cs*(.+)','filter','localeCo','isArray','skills','keys','logoUrl','tateDir','11150dbbukz','2783360GbzKoS','skillDir','name','sort','14sJaHxG','6GKUtMy','1128936hJqWun','ket','object','killKey','isDirect','length','^\x5cs*','version'];_0x165d=function(){return _0x948250;};return _0x165d();}function _0x3307(_0x5b81a6,_0x1ddff){_0x5b81a6=_0x5b81a6-0x182;const _0x165d73=_0x165d();let _0x33076a=_0x165d73[_0x5b81a6];return _0x33076a;}async function readMarketSkillRegistry(_0x36a5c7){const _0x358118=_0x1cf374;try{const _0x4afc99=JSON[_0x358118(0x1a4)](await readFile(_0x36a5c7,_0x358118(0x1ab)));if(!_0x4afc99||typeof _0x4afc99!==_0x358118(0x191)||Array[_0x358118(0x183)](_0x4afc99))return{};return _0x4afc99;}catch{return{};}}export async function readSkillMarketRegistry(_0xc8943c){const _0x509728=_0x1cf374;return await readMarketSkillRegistry(join(_0xc8943c,_0x509728(0x1ae)+_0x509728(0x1b0)+'on'));}async function upsertMarketSkillRegistryEntry(_0xa75eeb,_0x59fdc9,_0xf21811,_0x57b80c,_0x114a1e={}){const _0x1aa280=_0x1cf374,_0x4dfa80=getTrimmedString(_0x59fdc9),_0xaaa3d3=getTrimmedString(_0xf21811),_0x50c5ac=getTrimmedString(_0x57b80c);if(!_0x4dfa80||!_0xaaa3d3||!_0x50c5ac)return;const _0x55d2f1=await readMarketSkillRegistry(_0xa75eeb);_0x55d2f1[_0x4dfa80]={'version':_0x50c5ac,'code':_0xaaa3d3,...getTrimmedString(_0x114a1e['name'])?{'name':getTrimmedString(_0x114a1e[_0x1aa280(0x18b)])}:{},...getTrimmedString(_0x114a1e['logoUrl'])?{'logo_url':getTrimmedString(_0x114a1e[_0x1aa280(0x186)])}:{},...getTrimmedString(_0x114a1e[_0x1aa280(0x1ac)+'ion'])?{'description':getTrimmedString(_0x114a1e[_0x1aa280(0x1ac)+_0x1aa280(0x1a1)])}:{}};if(_0x55d2f1[_0xaaa3d3]&&_0xaaa3d3!==_0x4dfa80)delete _0x55d2f1[_0xaaa3d3];for(const [_0x999da0,_0x376b2f]of Object[_0x1aa280(0x198)](_0x55d2f1)){if(_0x999da0!==_0x4dfa80&&asRecord(_0x376b2f)[_0x1aa280(0x1b1)]===_0xaaa3d3)delete _0x55d2f1[_0x999da0];}const _0xafef44=Object[_0x1aa280(0x1b9)+'ies'](Object['entries'](_0x55d2f1)[_0x1aa280(0x18c)](([_0x2b3a27],[_0x14cced])=>_0x2b3a27[_0x1aa280(0x182)+_0x1aa280(0x1a3)](_0x14cced)));await writeJson(_0xa75eeb,_0xafef44);}async function removeMarketSkillRegistryKeys(_0x26d6cf,_0x26ea9c){const _0xb9f8a7=_0x1cf374,_0x42c188=new Set(_0x26ea9c[_0xb9f8a7(0x1a0)](getTrimmedString)[_0xb9f8a7(0x1bc)](Boolean));if(_0x42c188[_0xb9f8a7(0x199)]===0x0)return;const _0x4eb924=await readMarketSkillRegistry(_0x26d6cf);let _0x2ddc4a=![];for(const _0x2acce9 of Object[_0xb9f8a7(0x185)](_0x4eb924)){const _0x5a1a2f=asRecord(_0x4eb924[_0x2acce9]);(_0x42c188[_0xb9f8a7(0x1b3)](_0x2acce9)||_0x42c188[_0xb9f8a7(0x1b3)](getTrimmedString(_0x5a1a2f['code'])))&&(delete _0x4eb924[_0x2acce9],_0x2ddc4a=!![]);}if(_0x2ddc4a){const _0xdbbb12=Object[_0xb9f8a7(0x1b9)+'ies'](Object['entries'](_0x4eb924)['sort'](([_0x5379f3],[_0x1c52f0])=>_0x5379f3[_0xb9f8a7(0x182)+_0xb9f8a7(0x1a3)](_0x1c52f0)));await writeJson(_0x26d6cf,_0xdbbb12);}}async function readSkillManifestText(_0x3a9274){const _0x26aa3f=_0x1cf374,_0x3c8bf2=[join(_0x3a9274,'SKILL.md'),join(_0x3a9274,_0x26aa3f(0x1b4)+'d')];for(const _0x1d1198 of _0x3c8bf2){const _0x3e3f98=await readFile(_0x1d1198,'utf8')[_0x26aa3f(0x1af)](()=>'');if(_0x3e3f98[_0x26aa3f(0x1a9)]())return _0x3e3f98;}return'';}function resolveFrontmatterValue(_0x35c85d,_0x23ab0d){const _0x4cacea=_0x1cf374,_0x395a1e=_0x35c85d[_0x4cacea(0x19a)](/^---\s*\r?\n([\s\S]*?)\r?\n---/),_0x15a85b=_0x395a1e?.[0x1]??'',_0x366c95=_0x15a85b[_0x4cacea(0x19a)](new RegExp(_0x4cacea(0x195)+_0x23ab0d+(_0x4cacea(0x1bb)+'$'),'m'))?.[0x1];return getTrimmedString(_0x366c95)[_0x4cacea(0x19e)](/^["']|["']$/g,'')||null;}async function resolveSkillKeyFromManifest(_0x3c5522){const _0x1edfed=_0x1cf374,_0x2752b7=await readSkillManifestText(_0x3c5522);if(!_0x2752b7[_0x1edfed(0x1a9)]())return null;const _0x26ccc2=_0x2752b7[_0x1edfed(0x19a)](/"skillKey"\s*:\s*"([^"]+)"/);if(_0x26ccc2?.[0x1])return getTrimmedString(_0x26ccc2[0x1]);return resolveFrontmatterValue(_0x2752b7,_0x1edfed(0x197))||resolveFrontmatterValue(_0x2752b7,_0x1edfed(0x18b));}async function removeOtherMarketSkillVersions(_0x426e90,_0x1a74f4,_0x5b8079){const _0x262667=_0x1cf374,_0xccd611=getTrimmedString(_0x5b8079);if(!_0xccd611)return;for(const _0xed96b6 of await readdir(_0x426e90,{'withFileTypes':!![]})[_0x262667(0x1af)](()=>[])){if(!_0xed96b6[_0x262667(0x193)+'ory']())continue;const _0x512ff6=join(_0x426e90,_0xed96b6['name']);if(_0x512ff6===_0x1a74f4)continue;const _0x12ee4c=await resolveSkillKeyFromManifest(_0x512ff6);_0x12ee4c&&_0x12ee4c[_0x262667(0x1a9)]()===_0xccd611&&await rm(_0x512ff6,{'recursive':!![],'force':!![]});}}export async function importMarketSkillZip({payload:payload={},importSkillZip:_0x5e1b2e,configController:_0x10ea9c}={}){const _0x47d0e3=_0x1cf374,_0x5a989d=asRecord(payload);if(_0x5a989d['source']!=='market')return _0x5e1b2e({'payload':payload});const _0x25f5a4=getTrimmedString(_0x5a989d['code']),_0x2e382c=getTrimmedString(_0x5a989d[_0x47d0e3(0x196)]),_0x4a54a2=getTrimmedString(_0x5a989d[_0x47d0e3(0x18b)]);if(!_0x25f5a4)throw new Error(_0x47d0e3(0x19b)+_0x47d0e3(0x19d)+'de');if(!_0x2e382c)throw new Error(_0x47d0e3(0x19b)+_0x47d0e3(0x1b5)+_0x47d0e3(0x1a5));if(!_0x4a54a2)throw new Error(_0x47d0e3(0x19b)+_0x47d0e3(0x1b8)+'me');const _0x43b52f=await _0x5e1b2e({'payload':{..._0x5a989d,'version':_0x2e382c}});if(!_0x43b52f?.['imported'])return _0x43b52f;const _0x5a192d=getTrimmedString(_0x43b52f[_0x47d0e3(0x197)])||getTrimmedString(_0x43b52f[_0x47d0e3(0x1b7)+_0x47d0e3(0x19f)])||getTrimmedString(_0x43b52f[_0x47d0e3(0x18a)+'Name']);return await removeOtherMarketSkillVersions(join(_0x10ea9c[_0x47d0e3(0x1a7)+_0x47d0e3(0x187)](),_0x47d0e3(0x184)),_0x43b52f['targetPa'+'th'],_0x5a192d),await upsertMarketSkillRegistryEntry(join(_0x10ea9c[_0x47d0e3(0x1a7)+'tateDir'](),_0x47d0e3(0x1ae)+_0x47d0e3(0x1b0)+'on'),_0x5a192d,_0x25f5a4,_0x2e382c,{'name':_0x4a54a2,'logoUrl':getTrimmedString(_0x5a989d[_0x47d0e3(0x186)]),'description':getTrimmedString(_0x5a989d['descript'+_0x47d0e3(0x1a1)])}),_0x43b52f;}export async function deleteMarketSkillRegistryEntry({payload:payload={},deleteManagedSkill:_0x4bd426,configController:_0x370627}={}){const _0x218da5=_0x1cf374,_0x519379=await _0x4bd426({'payload':payload}),_0x4e0248=asRecord(payload),_0x21af88=getTrimmedString(_0x519379?.['skillKey']??_0x4e0248[_0x218da5(0x197)]??_0x4e0248[_0x218da5(0x18b)]),_0x152031=[_0x21af88,getTrimmedString(_0x4e0248[_0x218da5(0x1a2)+_0x218da5(0x192)]),getTrimmedString(_0x4e0248[_0x218da5(0x18b)])];return await removeMarketSkillRegistryKeys(join(_0x370627[_0x218da5(0x1a7)+_0x218da5(0x187)](),'market-s'+_0x218da5(0x1b0)+'on'),_0x152031),_0x519379;}export function mapMarketRegisteredSkills(_0x5d6c87,_0x563101){const _0x3bbac2=_0x1cf374,_0xed442d=Array[_0x3bbac2(0x183)](asRecord(_0x5d6c87)[_0x3bbac2(0x184)])?asRecord(_0x5d6c87)[_0x3bbac2(0x184)]:[];if(_0xed442d[_0x3bbac2(0x194)]===0x0||Object[_0x3bbac2(0x185)](_0x563101)[_0x3bbac2(0x194)]===0x0)return _0x5d6c87;const _0x44cab9=_0xed442d[_0x3bbac2(0x1a0)](_0x2aad8a=>{const _0x59019e=_0x3bbac2,_0x391442=asRecord(_0x2aad8a),_0x780c9e=getTrimmedString(_0x391442[_0x59019e(0x197)])||getTrimmedString(_0x391442[_0x59019e(0x18b)]);let _0x5ed6ac=_0x780c9e,_0x355a03=asRecord(_0x563101[_0x780c9e]);if(!Object[_0x59019e(0x185)](_0x355a03)[_0x59019e(0x194)])for(const [_0x821d01,_0x1774e9]of Object[_0x59019e(0x198)](_0x563101)){const _0x3362ae=asRecord(_0x1774e9);if(getTrimmedString(_0x3362ae[_0x59019e(0x1b1)])===_0x780c9e){_0x5ed6ac=_0x821d01,_0x355a03=_0x3362ae;break;}}if(!Object[_0x59019e(0x185)](_0x355a03)[_0x59019e(0x194)])return _0x2aad8a;const _0x2fdcd7=getTrimmedString(_0x355a03[_0x59019e(0x1b1)]),_0x12e7f0=getTrimmedString(_0x355a03[_0x59019e(0x18b)]),_0x1b3710=getTrimmedString(_0x355a03[_0x59019e(0x1ac)+'ion']),_0x9e1d42=getTrimmedString(_0x355a03[_0x59019e(0x1aa)]),_0x43c849=getTrimmedString(_0x355a03['version']);return{..._0x391442,'source':SKILL_SOURCE_MARKET,'skillKey':_0x2fdcd7||_0x780c9e,'gatewaySkillKey':_0x2fdcd7?_0x5ed6ac:null,'marketInstalledVersion':_0x43c849||null,..._0x12e7f0?{'name':_0x12e7f0}:{},..._0x1b3710?{'description':_0x1b3710}:{},..._0x9e1d42?{'logoUrl':_0x9e1d42}:{}};});return{...asRecord(_0x5d6c87),'skills':_0x44cab9};}export function createMarketSkillRuntime({configController:_0x54f7bf}){return{'mapSkillsStatus':async _0x5145db=>{const _0x14c271=_0x3307,_0x16bd27=await readSkillMarketRegistry(_0x54f7bf['resolveS'+_0x14c271(0x187)]())[_0x14c271(0x1af)](()=>({}));return mapMarketRegisteredSkills(_0x5145db,_0x16bd27);}};}
1
+ const _0x41c275=_0xc92d;function _0x290c(){const _0x59df3a=['descript','object','targetPa','kills.js','接口返回的\x20co','^\x5cs*','接口返回的\x20ve','match','version','197344OLIsdl','mpare','5553325jMDGHZ','trim','keys','replace','ies','killKey','logoUrl','3127598lMwOVW','215652CFyTvF','接口返回的\x20na','manifest','104184KCtJdF','sort','market','SKILL.md','entries','skillKey','utf8','has','imported','2700NSatRL','fromEntr','parse','161oXePAp','1261441oRBmAt','skillDir','code','isArray','source','name','localeCo','market-s','skills','技能商店安装需要','ion','resolveS','map','tateDir','length','filter','5162970jSMatW','ket','logo_url','SKILLS.m','Name','Key','catch'];_0x290c=function(){return _0x59df3a;};return _0x290c();}function _0xc92d(_0x1d0e5a,_0x1be3ca){_0x1d0e5a=_0x1d0e5a-0xcc;const _0x290c62=_0x290c();let _0xc92d5d=_0x290c62[_0x1d0e5a];return _0xc92d5d;}(function(_0x135f25,_0xff829a){const _0x165a5a=_0xc92d,_0x714a9d=_0x135f25();while(!![]){try{const _0x35f766=-parseInt(_0x165a5a(0xdd))/0x1+-parseInt(_0x165a5a(0xcc))/0x2+-parseInt(_0x165a5a(0xed))/0x3+-parseInt(_0x165a5a(0xd0))/0x4+-parseInt(_0x165a5a(0xff))/0x5+parseInt(_0x165a5a(0xcd))/0x6*(-parseInt(_0x165a5a(0xdc))/0x7)+parseInt(_0x165a5a(0xfd))/0x8*(parseInt(_0x165a5a(0xd9))/0x9);if(_0x35f766===_0xff829a)break;else _0x714a9d['push'](_0x714a9d['shift']());}catch(_0x4ec9c1){_0x714a9d['push'](_0x714a9d['shift']());}}}(_0x290c,0xd97a9));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'+_0x41c275(0xee);async function readMarketSkillRegistry(_0x10f7a3){const _0x51fcf3=_0x41c275;try{const _0x277b76=JSON[_0x51fcf3(0xdb)](await readFile(_0x10f7a3,_0x51fcf3(0xd6)));if(!_0x277b76||typeof _0x277b76!==_0x51fcf3(0xf5)||Array[_0x51fcf3(0xe0)](_0x277b76))return{};return _0x277b76;}catch{return{};}}export async function readSkillMarketRegistry(_0x367b1d){const _0x2248c1=_0x41c275;return await readMarketSkillRegistry(join(_0x367b1d,_0x2248c1(0xe4)+'kills.js'+'on'));}async function upsertMarketSkillRegistryEntry(_0x4afdd0,_0x1faa06,_0x54af39,_0x3de95d,_0x4bdbad={}){const _0x14191a=_0x41c275,_0x2518c5=getTrimmedString(_0x1faa06),_0x3ed75f=getTrimmedString(_0x54af39),_0x30ad63=getTrimmedString(_0x3de95d);if(!_0x2518c5||!_0x3ed75f||!_0x30ad63)return;const _0x5dfc09=await readMarketSkillRegistry(_0x4afdd0);_0x5dfc09[_0x2518c5]={'version':_0x30ad63,'code':_0x3ed75f,...getTrimmedString(_0x4bdbad['name'])?{'name':getTrimmedString(_0x4bdbad['name'])}:{},...getTrimmedString(_0x4bdbad[_0x14191a(0x105)])?{'logo_url':getTrimmedString(_0x4bdbad[_0x14191a(0x105)])}:{},...getTrimmedString(_0x4bdbad[_0x14191a(0xf4)+_0x14191a(0xe7)])?{'description':getTrimmedString(_0x4bdbad[_0x14191a(0xf4)+_0x14191a(0xe7)])}:{}};if(_0x5dfc09[_0x3ed75f]&&_0x3ed75f!==_0x2518c5)delete _0x5dfc09[_0x3ed75f];for(const [_0x384316,_0xa1630]of Object[_0x14191a(0xd4)](_0x5dfc09)){if(_0x384316!==_0x2518c5&&asRecord(_0xa1630)[_0x14191a(0xdf)]===_0x3ed75f)delete _0x5dfc09[_0x384316];}const _0x16e509=Object[_0x14191a(0xda)+_0x14191a(0x103)](Object[_0x14191a(0xd4)](_0x5dfc09)[_0x14191a(0xd1)](([_0x1a68de],[_0x12256e])=>_0x1a68de[_0x14191a(0xe3)+_0x14191a(0xfe)](_0x12256e)));await writeJson(_0x4afdd0,_0x16e509);}async function removeMarketSkillRegistryKeys(_0x35c91d,_0x58417a){const _0xf5bea8=_0x41c275,_0x21a462=new Set(_0x58417a[_0xf5bea8(0xe9)](getTrimmedString)[_0xf5bea8(0xec)](Boolean));if(_0x21a462['size']===0x0)return;const _0x549491=await readMarketSkillRegistry(_0x35c91d);let _0x415d4a=![];for(const _0x290985 of Object[_0xf5bea8(0x101)](_0x549491)){const _0x37743a=asRecord(_0x549491[_0x290985]);(_0x21a462[_0xf5bea8(0xd7)](_0x290985)||_0x21a462['has'](getTrimmedString(_0x37743a[_0xf5bea8(0xdf)])))&&(delete _0x549491[_0x290985],_0x415d4a=!![]);}if(_0x415d4a){const _0x5b24c5=Object[_0xf5bea8(0xda)+_0xf5bea8(0x103)](Object[_0xf5bea8(0xd4)](_0x549491)[_0xf5bea8(0xd1)](([_0xf1ddf],[_0x578c85])=>_0xf1ddf[_0xf5bea8(0xe3)+_0xf5bea8(0xfe)](_0x578c85)));await writeJson(_0x35c91d,_0x5b24c5);}}async function readSkillManifestText(_0x2c041d){const _0xdf3da3=_0x41c275,_0x45658b=[join(_0x2c041d,_0xdf3da3(0xd3)),join(_0x2c041d,_0xdf3da3(0xf0)+'d')];for(const _0x17ba82 of _0x45658b){const _0x1380a9=await readFile(_0x17ba82,_0xdf3da3(0xd6))[_0xdf3da3(0xf3)](()=>'');if(_0x1380a9['trim']())return _0x1380a9;}return'';}function resolveFrontmatterValue(_0x2a7a25,_0x27ee6a){const _0x1ae9e0=_0x41c275,_0x1f9c00=_0x2a7a25[_0x1ae9e0(0xfb)](/^---\s*\r?\n([\s\S]*?)\r?\n---/),_0x2d88c1=_0x1f9c00?.[0x1]??'',_0x35b8cf=_0x2d88c1[_0x1ae9e0(0xfb)](new RegExp(_0x1ae9e0(0xf9)+_0x27ee6a+(':\x5cs*(.+)'+'$'),'m'))?.[0x1];return getTrimmedString(_0x35b8cf)[_0x1ae9e0(0x102)](/^["']|["']$/g,'')||null;}async function resolveSkillKeyFromManifest(_0x13e4ae){const _0x2b3b7d=_0x41c275,_0x123b39=await readSkillManifestText(_0x13e4ae);if(!_0x123b39['trim']())return null;const _0xa039f5=_0x123b39[_0x2b3b7d(0xfb)](/"skillKey"\s*:\s*"([^"]+)"/);if(_0xa039f5?.[0x1])return getTrimmedString(_0xa039f5[0x1]);return resolveFrontmatterValue(_0x123b39,_0x2b3b7d(0xd5))||resolveFrontmatterValue(_0x123b39,'name');}async function removeOtherMarketSkillVersions(_0x6375aa,_0x3b4a06,_0x218539){const _0x46628a=_0x41c275,_0x3f620a=getTrimmedString(_0x218539);if(!_0x3f620a)return;for(const _0x2d1f9f of await readdir(_0x6375aa,{'withFileTypes':!![]})[_0x46628a(0xf3)](()=>[])){if(!_0x2d1f9f['isDirect'+'ory']())continue;const _0xdad60c=join(_0x6375aa,_0x2d1f9f[_0x46628a(0xe2)]);if(_0xdad60c===_0x3b4a06)continue;const _0x109649=await resolveSkillKeyFromManifest(_0xdad60c);_0x109649&&_0x109649[_0x46628a(0x100)]()===_0x3f620a&&await rm(_0xdad60c,{'recursive':!![],'force':!![]});}}export async function importMarketSkillZip({payload:payload={},importSkillZip:_0x32e10a,configController:_0xec7497}={}){const _0x174972=_0x41c275,_0x36fad7=asRecord(payload);if(_0x36fad7[_0x174972(0xe1)]!==_0x174972(0xd2))return _0x32e10a({'payload':payload});const _0x14b1e8=getTrimmedString(_0x36fad7[_0x174972(0xdf)]),_0x3a1d2c=getTrimmedString(_0x36fad7[_0x174972(0xfc)]),_0x2f7076=getTrimmedString(_0x36fad7['name']);if(!_0x14b1e8)throw new Error(_0x174972(0xe6)+_0x174972(0xf8)+'de');if(!_0x3a1d2c)throw new Error('技能商店安装需要'+_0x174972(0xfa)+'rsion');if(!_0x2f7076)throw new Error(_0x174972(0xe6)+_0x174972(0xce)+'me');const _0x248727=await _0x32e10a({'payload':{..._0x36fad7,'version':_0x3a1d2c}});if(!_0x248727?.[_0x174972(0xd8)])return _0x248727;const _0x3900ac=getTrimmedString(_0x248727['skillKey'])||getTrimmedString(_0x248727[_0x174972(0xcf)+_0x174972(0xf2)])||getTrimmedString(_0x248727[_0x174972(0xde)+_0x174972(0xf1)]);return await removeOtherMarketSkillVersions(join(_0xec7497[_0x174972(0xe8)+'tateDir'](),_0x174972(0xe5)),_0x248727[_0x174972(0xf6)+'th'],_0x3900ac),await upsertMarketSkillRegistryEntry(join(_0xec7497[_0x174972(0xe8)+_0x174972(0xea)](),_0x174972(0xe4)+_0x174972(0xf7)+'on'),_0x3900ac,_0x14b1e8,_0x3a1d2c,{'name':_0x2f7076,'logoUrl':getTrimmedString(_0x36fad7[_0x174972(0x105)]),'description':getTrimmedString(_0x36fad7['descript'+_0x174972(0xe7)])}),_0x248727;}export async function deleteMarketSkillRegistryEntry({payload:payload={},deleteManagedSkill:_0x462f31,configController:_0x476907}={}){const _0x51644c=_0x41c275,_0xd6d88e=await _0x462f31({'payload':payload}),_0x122903=asRecord(payload),_0x3cea50=getTrimmedString(_0xd6d88e?.[_0x51644c(0xd5)]??_0x122903[_0x51644c(0xd5)]??_0x122903[_0x51644c(0xe2)]),_0x579a86=[_0x3cea50,getTrimmedString(_0x122903['gatewayS'+_0x51644c(0x104)]),getTrimmedString(_0x122903['name'])];return await removeMarketSkillRegistryKeys(join(_0x476907['resolveS'+_0x51644c(0xea)](),_0x51644c(0xe4)+_0x51644c(0xf7)+'on'),_0x579a86),_0xd6d88e;}export function mapMarketRegisteredSkills(_0x58bceb,_0x6a3605){const _0x30652b=_0x41c275,_0x3b653a=Array[_0x30652b(0xe0)](asRecord(_0x58bceb)[_0x30652b(0xe5)])?asRecord(_0x58bceb)[_0x30652b(0xe5)]:[];if(_0x3b653a[_0x30652b(0xeb)]===0x0||Object['keys'](_0x6a3605)[_0x30652b(0xeb)]===0x0)return _0x58bceb;const _0x26dca9=_0x3b653a[_0x30652b(0xe9)](_0x308fbe=>{const _0x6956d7=_0x30652b,_0x29eb10=asRecord(_0x308fbe),_0x41ffcc=getTrimmedString(_0x29eb10['skillKey'])||getTrimmedString(_0x29eb10['name']);let _0x115aaf=_0x41ffcc,_0x443ee9=asRecord(_0x6a3605[_0x41ffcc]);if(!Object[_0x6956d7(0x101)](_0x443ee9)[_0x6956d7(0xeb)])for(const [_0x33ec48,_0x59aa2a]of Object[_0x6956d7(0xd4)](_0x6a3605)){const _0x125f88=asRecord(_0x59aa2a);if(getTrimmedString(_0x125f88[_0x6956d7(0xdf)])===_0x41ffcc){_0x115aaf=_0x33ec48,_0x443ee9=_0x125f88;break;}}if(!Object[_0x6956d7(0x101)](_0x443ee9)[_0x6956d7(0xeb)])return _0x308fbe;const _0x4289e6=getTrimmedString(_0x443ee9[_0x6956d7(0xdf)]),_0x3f465d=getTrimmedString(_0x443ee9['name']),_0x49753f=getTrimmedString(_0x443ee9[_0x6956d7(0xf4)+_0x6956d7(0xe7)]),_0x3e3af7=getTrimmedString(_0x443ee9[_0x6956d7(0xef)]),_0x39f145=getTrimmedString(_0x443ee9[_0x6956d7(0xfc)]);return{..._0x29eb10,'source':SKILL_SOURCE_MARKET,'skillKey':_0x4289e6||_0x41ffcc,'gatewaySkillKey':_0x4289e6?_0x115aaf:null,'marketInstalledVersion':_0x39f145||null,..._0x3f465d?{'name':_0x3f465d}:{},..._0x49753f?{'description':_0x49753f}:{},..._0x3e3af7?{'logoUrl':_0x3e3af7}:{}};});return{...asRecord(_0x58bceb),'skills':_0x26dca9};}export function createMarketSkillRuntime({configController:_0x1587f1}){return{'mapSkillsStatus':async _0x53fb8b=>{const _0x2314f8=_0xc92d,_0x332b80=await readSkillMarketRegistry(_0x1587f1[_0x2314f8(0xe8)+_0x2314f8(0xea)]())[_0x2314f8(0xf3)](()=>({}));return mapMarketRegisteredSkills(_0x53fb8b,_0x332b80);}};}
@@ -1 +1 @@
1
- (function(_0x4b869a,_0x535deb){const _0x5a793b=_0x4b6d,_0x541e42=_0x4b869a();while(!![]){try{const _0x449f53=-parseInt(_0x5a793b(0xc8))/0x1+-parseInt(_0x5a793b(0xc7))/0x2+-parseInt(_0x5a793b(0xd3))/0x3+-parseInt(_0x5a793b(0xe6))/0x4+parseInt(_0x5a793b(0xd9))/0x5*(-parseInt(_0x5a793b(0xf9))/0x6)+-parseInt(_0x5a793b(0xd2))/0x7*(parseInt(_0x5a793b(0xd0))/0x8)+parseInt(_0x5a793b(0xe8))/0x9*(parseInt(_0x5a793b(0xde))/0xa);if(_0x449f53===_0x535deb)break;else _0x541e42['push'](_0x541e42['shift']());}catch(_0x1722cf){_0x541e42['push'](_0x541e42['shift']());}}}(_0x3071,0x688d5));function _0x4b6d(_0x294579,_0x1b5f7b){_0x294579=_0x294579-0xc0;const _0x307131=_0x3071();let _0x4b6d54=_0x307131[_0x294579];return _0x4b6d54;}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(_0x23e4a1){const _0x956bf5=_0x4b6d,_0x380a2f=Object[_0x956bf5(0xce)](_0x23e4a1)[_0x956bf5(0xfd)](_0x5281a7=>_0x5281a7[_0x956bf5(0xf4)+_0x956bf5(0xe0)]()===_0x956bf5(0xe3))??_0x956bf5(0xc2);return String(_0x23e4a1[_0x380a2f]||'')['split'](delimiter)[_0x956bf5(0xda)](Boolean);}function canExecute(_0xd34ebb){const _0x5b2b4c=_0x4b6d;try{return accessSync(_0xd34ebb,process[_0x5b2b4c(0xc4)]===_0x5b2b4c(0xc6)?constants['F_OK']:constants['X_OK']),!![];}catch{return![];}}function resolveExecutableOnPath(_0x5c9671,_0xcbe296){const _0x3c8904=_0x4b6d,_0x50915f=String(_0x5c9671||'')[_0x3c8904(0xfa)]();if(!_0x50915f)return null;if(_0x50915f[_0x3c8904(0xf7)]('/')||_0x50915f['includes']('\x5c'))return existsSync(_0x50915f)?_0x50915f:null;const _0xf987f6=[_0x50915f];process['platform']===_0x3c8904(0xc6)&&!FILE_EXTENSION_REGEX['test'](_0x50915f)&&_0xf987f6[_0x3c8904(0xd1)](_0x50915f+_0x3c8904(0xf6),_0x50915f+_0x3c8904(0xd6),_0x50915f+_0x3c8904(0xc3));for(const _0x820176 of resolvePathEntries(_0xcbe296)){for(const _0x567f09 of _0xf987f6){const _0x392f5d=join(_0x820176,_0x567f09);if(canExecute(_0x392f5d))return _0x392f5d;}}return null;}function resolveShellLaunchConfig(_0x3deb4a){const _0x24c468=_0x4b6d;if(process[_0x24c468(0xc4)]===_0x24c468(0xc6)){const _0x594f66=resolveExecutableOnPath(_0x24c468(0xd5),_0x3deb4a)??resolveExecutableOnPath('powershe'+'ll',_0x3deb4a);if(_0x594f66)return{'command':_0x594f66,'args':[_0x24c468(0xd7)]};const _0x47a180=resolveExecutableOnPath('cmd',_0x3deb4a);if(_0x47a180)return{'command':_0x47a180,'args':['/Q']};throw new Error(_0x24c468(0xc5)+'rted\x20Win'+'dows\x20she'+_0x24c468(0xca));}if(process['platform']==='darwin'){const _0x5cc02d=['/bin/zsh',_0x24c468(0xf5)+'al/bin/z'+'sh',_0x24c468(0xe1)+_0x24c468(0xc1)+_0x24c468(0xdf)]['find'](canExecute);if(_0x5cc02d)return{'command':_0x5cc02d,'args':['-i']};const _0x520724=['/bin/bas'+'h',_0x24c468(0xf5)+_0x24c468(0xcb)+_0x24c468(0xe7),_0x24c468(0xe1)+_0x24c468(0xc1)+_0x24c468(0xe4)][_0x24c468(0xfd)](canExecute);if(_0x520724)return{'command':_0x520724,'args':['--login','-i']};}const _0x4e9818=resolveExecutableOnPath(process.env.SHELL||'',_0x3deb4a)??resolveExecutableOnPath(_0x24c468(0xfb),_0x3deb4a)??resolveExecutableOnPath('sh',_0x3deb4a);if(!_0x4e9818)throw new Error('No\x20suppo'+'rted\x20she'+_0x24c468(0xca));return{'command':_0x4e9818,'args':['-l','-i']};}export function createTerminalManager({cwd:_0x52b337,emitData:_0x256589,emitExit:_0x14b728}){const _0x2c907e=new Map();function _0x334985(_0x59c4b9){const _0x2eaaba=_0x4b6d,_0x4720db=_0x2c907e[_0x2eaaba(0xc0)](_0x59c4b9);if(!_0x4720db)throw new Error(_0x2eaaba(0xcf)+_0x2eaaba(0xeb)+_0x2eaaba(0xe2)+'nd');return _0x4720db;}async function _0x24ba60(_0x358cd5={}){const _0x2a5410=_0x4b6d,_0x5d2f21={...process.env,'TERM':_0x2a5410(0xfc)+_0x2a5410(0xcc),'COLORTERM':_0x2a5410(0xdd)+'r',..._0x358cd5['env']&&typeof _0x358cd5[_0x2a5410(0xf3)]===_0x2a5410(0xe9)?_0x358cd5['env']:{}},_0x136c86=typeof _0x358cd5[_0x2a5410(0xdc)]==='string'&&_0x358cd5['cwd'][_0x2a5410(0xfa)]()?_0x358cd5['cwd']:'',_0x2ed176=_0x136c86||_0x52b337;await mkdir(_0x2ed176,{'recursive':!![]});const {command:_0xfc9c16,args:_0x42ab30}=resolveShellLaunchConfig(_0x5d2f21),_0x3e0527=randomUUID(),_0x2c57d6=spawn(_0xfc9c16,_0x42ab30,{'cwd':_0x2ed176,'env':_0x5d2f21,'stdio':_0x2a5410(0xd8)});return _0x2c907e['set'](_0x3e0527,{'sessionId':_0x3e0527,'child':_0x2c57d6}),_0x2c57d6[_0x2a5410(0xf1)]['on']('data',_0x21779d=>_0x256589({'sessionId':_0x3e0527,'data':_0x21779d[_0x2a5410(0xcd)]()})),_0x2c57d6[_0x2a5410(0xe5)]['on'](_0x2a5410(0xec),_0x25f749=>_0x256589({'sessionId':_0x3e0527,'data':_0x25f749['toString']()})),_0x2c57d6['on'](_0x2a5410(0xd4),(_0x8f3692,_0x4b4a69)=>{const _0xdd6099=_0x2a5410;_0x2c907e[_0xdd6099(0xdb)](_0x3e0527),_0x14b728({'sessionId':_0x3e0527,'exitCode':_0x8f3692,'signal':_0x4b4a69});}),_0x2c57d6['on'](_0x2a5410(0xf2),_0x5e5db6=>{const _0x2aaab3=_0x2a5410;_0x256589({'sessionId':_0x3e0527,'data':_0x5e5db6[_0x2aaab3(0xee)]+'\x0a'});}),{'sessionId':_0x3e0527,'shell':basename(_0xfc9c16),'cwd':_0x2ed176};}function _0xbe4b5f(_0x46b977={}){const _0x16b449=_0x4b6d,_0x409565=_0x334985(String(_0x46b977[_0x16b449(0xed)+'d']||''));return _0x409565['child'][_0x16b449(0xf0)]['write'](String(_0x46b977[_0x16b449(0xec)]||'')),{'ok':!![]};}function _0x5ca83a(_0x499549={}){const _0x1146d8=_0x4b6d,_0x2550bb=String(_0x499549[_0x1146d8(0xed)+'d']||'');return _0x334985(_0x2550bb),{'ok':!![],'ignored':!![]};}function _0x336cdb(_0x3e0ff4={}){const _0x50a1f1=_0x4b6d,_0x18042d=String(_0x3e0ff4[_0x50a1f1(0xed)+'d']||''),_0x29c95d=_0x2c907e[_0x50a1f1(0xc0)](_0x18042d);if(!_0x29c95d)return{'ok':!![],'closed':![]};return _0x2c907e[_0x50a1f1(0xdb)](_0x18042d),_0x29c95d[_0x50a1f1(0xef)][_0x50a1f1(0xf8)](),{'ok':!![],'closed':!![]};}function _0x2ad495(){const _0x1eb0de=_0x4b6d;for(const _0x2a1454 of _0x2c907e[_0x1eb0de(0xea)]())_0x2a1454['child'][_0x1eb0de(0xf8)]();_0x2c907e[_0x1eb0de(0xc9)]();}return{'create':_0x24ba60,'input':_0xbe4b5f,'resize':_0x5ca83a,'close':_0x336cdb,'dispose':_0x2ad495};}function _0x3071(){const _0x5be7fc=['object','values','\x20session','data','sessionI','message','child','stdin','stdout','error','env','toLowerC','/usr/loc','.exe','includes','kill','24060zHmvIU','trim','bash','xterm-25','find','get','ebrew/bi','PATH','.bat','platform','No\x20suppo','win32','1414802eqPIlM','794623CrbvGU','clear','ll\x20found','al/bin/b','6color','toString','keys','Terminal','16UmRGEk','push','564767zcmFVQ','2148330bnSrzi','close','pwsh','.cmd','-NoLogo','pipe','940vxmuwB','filter','delete','cwd','truecolo','85010YcpPQP','n/zsh','ase','/opt/hom','\x20not\x20fou','path','n/bash','stderr','3367588jtHrLd','ash','4662RRXJQL'];_0x3071=function(){return _0x5be7fc;};return _0x3071();}
1
+ (function(_0x1990b4,_0x478439){const _0x2256ae=_0x3df3,_0x301e4c=_0x1990b4();while(!![]){try{const _0x3f257c=-parseInt(_0x2256ae(0xce))/0x1*(-parseInt(_0x2256ae(0xc0))/0x2)+parseInt(_0x2256ae(0x8e))/0x3+parseInt(_0x2256ae(0xd5))/0x4*(parseInt(_0x2256ae(0xa0))/0x5)+parseInt(_0x2256ae(0xc1))/0x6*(parseInt(_0x2256ae(0x9d))/0x7)+-parseInt(_0x2256ae(0xa2))/0x8+parseInt(_0x2256ae(0xae))/0x9*(parseInt(_0x2256ae(0xb7))/0xa)+-parseInt(_0x2256ae(0x97))/0xb*(parseInt(_0x2256ae(0x98))/0xc);if(_0x3f257c===_0x478439)break;else _0x301e4c['push'](_0x301e4c['shift']());}catch(_0x3b35a9){_0x301e4c['push'](_0x301e4c['shift']());}}}(_0x51d2,0x961f6));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(_0x411ec9){const _0x1ac557=_0x3df3,_0x3ab50e=Object[_0x1ac557(0xa3)](_0x411ec9)[_0x1ac557(0xac)](_0x31d230=>_0x31d230['toLowerC'+_0x1ac557(0xb8)]()===_0x1ac557(0xcc))??_0x1ac557(0xbc);return String(_0x411ec9[_0x3ab50e]||'')[_0x1ac557(0xd2)](delimiter)[_0x1ac557(0xb6)](Boolean);}function canExecute(_0x2c1978){const _0x37e1e3=_0x3df3;try{return accessSync(_0x2c1978,process[_0x37e1e3(0x90)]===_0x37e1e3(0xca)?constants[_0x37e1e3(0xb3)]:constants[_0x37e1e3(0xbf)]),!![];}catch{return![];}}function _0x51d2(){const _0x1d7bb7=['.bat','\x20session','ash','pipe','\x20not\x20fou','/usr/loc','ebrew/bi','win32','get','path','includes','251574WAsMjn','data','push','darwin','split','clear','cmd','16CPEaxR','Terminal','.exe','2500155NLDhJH','message','platform','values','error','rted\x20she','truecolo','cwd','n/bash','12683bTTtuB','21324qNZrXO','No\x20suppo','env','6color','write','21BWrsKs','object','ll\x20found','694205JFRsZy','bash','3638936QukGwR','keys','stderr','stdout','close','-NoLogo','set','sessionI','delete','child','find','.cmd','18ZfzxOL','test','/bin/bas','trim','powershe','F_OK','stdin','xterm-25','filter','4837960FdZTzi','ase','/opt/hom','al/bin/b','kill','PATH','al/bin/z','pwsh','X_OK','6JyYWUx','15174eXSMFp','toString'];_0x51d2=function(){return _0x1d7bb7;};return _0x51d2();}function _0x3df3(_0x2d45c8,_0x1dc912){_0x2d45c8=_0x2d45c8-0x8e;const _0x51d2fa=_0x51d2();let _0x3df397=_0x51d2fa[_0x2d45c8];return _0x3df397;}function resolveExecutableOnPath(_0xc65254,_0x31ed76){const _0x525dee=_0x3df3,_0xf99c40=String(_0xc65254||'')['trim']();if(!_0xf99c40)return null;if(_0xf99c40[_0x525dee(0xcd)]('/')||_0xf99c40[_0x525dee(0xcd)]('\x5c'))return existsSync(_0xf99c40)?_0xf99c40:null;const _0x53a2a4=[_0xf99c40];process[_0x525dee(0x90)]===_0x525dee(0xca)&&!FILE_EXTENSION_REGEX[_0x525dee(0xaf)](_0xf99c40)&&_0x53a2a4[_0x525dee(0xd0)](_0xf99c40+_0x525dee(0xd7),_0xf99c40+_0x525dee(0xad),_0xf99c40+_0x525dee(0xc3));for(const _0x3413d0 of resolvePathEntries(_0x31ed76)){for(const _0x265a2f of _0x53a2a4){const _0x4bfa6b=join(_0x3413d0,_0x265a2f);if(canExecute(_0x4bfa6b))return _0x4bfa6b;}}return null;}function resolveShellLaunchConfig(_0x382151){const _0x19b628=_0x3df3;if(process[_0x19b628(0x90)]===_0x19b628(0xca)){const _0x58e26f=resolveExecutableOnPath(_0x19b628(0xbe),_0x382151)??resolveExecutableOnPath(_0x19b628(0xb2)+'ll',_0x382151);if(_0x58e26f)return{'command':_0x58e26f,'args':[_0x19b628(0xa7)]};const _0xe7aeb0=resolveExecutableOnPath(_0x19b628(0xd4),_0x382151);if(_0xe7aeb0)return{'command':_0xe7aeb0,'args':['/Q']};throw new Error(_0x19b628(0x99)+'rted\x20Win'+'dows\x20she'+'ll\x20found');}if(process[_0x19b628(0x90)]===_0x19b628(0xd1)){const _0x447d09=['/bin/zsh',_0x19b628(0xc8)+_0x19b628(0xbd)+'sh','/opt/hom'+'ebrew/bi'+'n/zsh'][_0x19b628(0xac)](canExecute);if(_0x447d09)return{'command':_0x447d09,'args':['-i']};const _0x58feea=[_0x19b628(0xb0)+'h',_0x19b628(0xc8)+_0x19b628(0xba)+_0x19b628(0xc5),_0x19b628(0xb9)+_0x19b628(0xc9)+_0x19b628(0x96)][_0x19b628(0xac)](canExecute);if(_0x58feea)return{'command':_0x58feea,'args':['--login','-i']};}const _0x2b24ee=resolveExecutableOnPath(process.env.SHELL||'',_0x382151)??resolveExecutableOnPath(_0x19b628(0xa1),_0x382151)??resolveExecutableOnPath('sh',_0x382151);if(!_0x2b24ee)throw new Error(_0x19b628(0x99)+_0x19b628(0x93)+_0x19b628(0x9f));return{'command':_0x2b24ee,'args':['-l','-i']};}export function createTerminalManager({cwd:_0x2ec915,emitData:_0x4c4cb2,emitExit:_0xa930c0}){const _0x4dce32=new Map();function _0x481c3d(_0x50e70e){const _0x515519=_0x3df3,_0x1b0c33=_0x4dce32[_0x515519(0xcb)](_0x50e70e);if(!_0x1b0c33)throw new Error(_0x515519(0xd6)+_0x515519(0xc4)+_0x515519(0xc7)+'nd');return _0x1b0c33;}async function _0x2dae0d(_0x5c1201={}){const _0xd9346d=_0x3df3,_0x469f3b={...process.env,'TERM':_0xd9346d(0xb5)+_0xd9346d(0x9b),'COLORTERM':_0xd9346d(0x94)+'r',..._0x5c1201[_0xd9346d(0x9a)]&&typeof _0x5c1201[_0xd9346d(0x9a)]===_0xd9346d(0x9e)?_0x5c1201[_0xd9346d(0x9a)]:{}},_0x45b26d=typeof _0x5c1201[_0xd9346d(0x95)]==='string'&&_0x5c1201['cwd'][_0xd9346d(0xb1)]()?_0x5c1201['cwd']:'',_0x16b305=_0x45b26d||_0x2ec915;await mkdir(_0x16b305,{'recursive':!![]});const {command:_0x3d2b14,args:_0x179bbc}=resolveShellLaunchConfig(_0x469f3b),_0x57e7db=randomUUID(),_0x10a1bb=spawn(_0x3d2b14,_0x179bbc,{'cwd':_0x16b305,'env':_0x469f3b,'stdio':_0xd9346d(0xc6)});return _0x4dce32[_0xd9346d(0xa8)](_0x57e7db,{'sessionId':_0x57e7db,'child':_0x10a1bb}),_0x10a1bb[_0xd9346d(0xa5)]['on'](_0xd9346d(0xcf),_0x1158eb=>_0x4c4cb2({'sessionId':_0x57e7db,'data':_0x1158eb['toString']()})),_0x10a1bb[_0xd9346d(0xa4)]['on'](_0xd9346d(0xcf),_0x560432=>_0x4c4cb2({'sessionId':_0x57e7db,'data':_0x560432[_0xd9346d(0xc2)]()})),_0x10a1bb['on'](_0xd9346d(0xa6),(_0x431c2a,_0x4a7421)=>{_0x4dce32['delete'](_0x57e7db),_0xa930c0({'sessionId':_0x57e7db,'exitCode':_0x431c2a,'signal':_0x4a7421});}),_0x10a1bb['on'](_0xd9346d(0x92),_0x1293ce=>{const _0x599c98=_0xd9346d;_0x4c4cb2({'sessionId':_0x57e7db,'data':_0x1293ce[_0x599c98(0x8f)]+'\x0a'});}),{'sessionId':_0x57e7db,'shell':basename(_0x3d2b14),'cwd':_0x16b305};}function _0x1a9c58(_0x144b66={}){const _0x14635d=_0x3df3,_0x5bbd1e=_0x481c3d(String(_0x144b66['sessionI'+'d']||''));return _0x5bbd1e[_0x14635d(0xab)][_0x14635d(0xb4)][_0x14635d(0x9c)](String(_0x144b66[_0x14635d(0xcf)]||'')),{'ok':!![]};}function _0x323fb1(_0xd43f99={}){const _0x131366=_0x3df3,_0x3bead7=String(_0xd43f99[_0x131366(0xa9)+'d']||'');return _0x481c3d(_0x3bead7),{'ok':!![],'ignored':!![]};}function _0x3832a5(_0x55d22c={}){const _0x2b3e05=_0x3df3,_0x17e7de=String(_0x55d22c['sessionI'+'d']||''),_0x5e53ec=_0x4dce32[_0x2b3e05(0xcb)](_0x17e7de);if(!_0x5e53ec)return{'ok':!![],'closed':![]};return _0x4dce32[_0x2b3e05(0xaa)](_0x17e7de),_0x5e53ec[_0x2b3e05(0xab)][_0x2b3e05(0xbb)](),{'ok':!![],'closed':!![]};}function _0x58a31a(){const _0x46a50a=_0x3df3;for(const _0x1ac3bd of _0x4dce32[_0x46a50a(0x91)]())_0x1ac3bd[_0x46a50a(0xab)][_0x46a50a(0xbb)]();_0x4dce32[_0x46a50a(0xd3)]();}return{'create':_0x2dae0d,'input':_0x1a9c58,'resize':_0x323fb1,'close':_0x3832a5,'dispose':_0x58a31a};}
@@ -1 +1 @@
1
- (function(_0x357af0,_0x1b886b){const _0x88bab5=_0x184e,_0x2c892c=_0x357af0();while(!![]){try{const _0x13b062=-parseInt(_0x88bab5(0x2a3))/0x1+parseInt(_0x88bab5(0x2b7))/0x2+-parseInt(_0x88bab5(0x260))/0x3*(-parseInt(_0x88bab5(0x203))/0x4)+-parseInt(_0x88bab5(0x25a))/0x5+-parseInt(_0x88bab5(0x210))/0x6+parseInt(_0x88bab5(0x224))/0x7*(parseInt(_0x88bab5(0x239))/0x8)+parseInt(_0x88bab5(0x262))/0x9*(parseInt(_0x88bab5(0x2a7))/0xa);if(_0x13b062===_0x1b886b)break;else _0x2c892c['push'](_0x2c892c['shift']());}catch(_0x512cfc){_0x2c892c['push'](_0x2c892c['shift']());}}}(_0x92e3,0xa91d6));import{existsSync,readFileSync,readdirSync,rmSync,statSync,writeFileSync}from'node:fs';import{homedir}from'node:os';import{basename,join}from'node:path';function _0x92e3(){const _0x20dbb5=['更新包已准备好安','toISOStr','nstall\x20d','104264FVQqdP','getAllWi','启应用','fileName','webConte','error','now','releaseD','Quit','ing','sha512','Library','utf8','requeste','unsuppor','app:upda','e.yml','assign','ending\x20u','nd\x20updat','phase','t\x20pendin','checking','发现新版本\x20v','idle','message','urrent\x20p','total','trim','otes','sion','channel','ndCheckI','516265UZqqzH','安装器未就绪,请','latest','then','新版本','当前没有可下载的','52827WpXAdt','currentV','7220979NHVTlf','l\x20phase\x20','cache\x20hi','sPath','更新包\x20v','backgrou','ot-avail','path','not-avai','发现本地更新包\x20',',请重新校验并准','same-ver','-error','red','ame','packageN','remote-n','自动更新失败','context','pending','Second','win32','number','rigger\x20a','releaseN','o\x20inspec','自动更新功能已就','info','failed\x20t','正在检查更新','exec','length','Percent','string','自动更新已禁用','-updater','nts','已下载更新','动更新','未知的自动更新错','percent','正在安装更新并重','eVersion','warn','e\x20版本支持应用','当前使用\x20Alp','platform','pdate-in','availabl','supporte','更新准备失败','ror','te-state','includes','Update','updaterC','ewer','resource','transfer','packageB','within\x20t','发现可用更新','phase-co','当前已经是最新版','fig\x20中禁用','678724SeBSmm','install-','finally','phase\x20co','10JdmvmS','t\x20instal','lder','AppData','ntext.js','installQ','installi','更新安装未能启动','ing\x20upda','重试下载更新','remoteVe','acheDirN','max','aded\x20pac','ate','pending\x20','2204420ByZRwm','uitTimeo','e\x20check\x20','flatMap','toFixed','edVersio','pp-updat','install\x20','\x20已准备好安装','updates','g\x20downlo','version','isFile','ndCheckS','\x20AppImag','darwin','autoDown','isPackag','url','isFinite','errorCod','parse','load','bytesPer','no\x20match','size','正在验证安装包…','dataDir','download','startup','linux','116KMekSG','test','enabled','当前没有可安装的','app-upda','pathname','Linux\x20下仅','正在下载\x20','utMs','min','taleMs','l\x20packag','rsion','6190572JqNZuK','unknown','imeout','自动更新已在\x20s','r\x20starte','自动更新仅在打包','te.yml','package\x20','lable','id\x20not\x20t','quitAndI','kage','update-n','object','quested','isArray','find','update-d','map','o\x20read\x20a','49xYFrXj','Updates','后的安装包中可用','pp\x20quit\x20','当前构建不支持自','alpha','ytes','schedule','ted','ersion','ownloade','ntervalM','nfo.json','ge\x20for\x20c','update-a',',请重新下载更新','包后再试','check-er'];_0x92e3=function(){return _0x20dbb5;};return _0x92e3();}import _0x372a17 from'electron-updater';import{app,BrowserWindow}from'electron';import{clean,compare}from'semver';const {autoUpdater}=_0x372a17,DEFAULT_INSTALL_QUIT_TIMEOUT_MS=0xea60,DEFAULT_BACKGROUND_UPDATE_CHECK_INTERVAL_MS=0x3c*0x3c*0x3e8,DEFAULT_BACKGROUND_UPDATE_CHECK_STALE_MS=0x1e*0x3c*0x3e8;function normalizeAppUpdatePackageFileName(_0x523f92){const _0x30346b=_0x184e;if(typeof _0x523f92!=='string')return null;const _0x2d042d=_0x523f92[_0x30346b(0x255)]();if(!_0x2d042d||_0x2d042d==='.'||_0x2d042d==='..'||_0x2d042d[_0x30346b(0x297)]('/')||_0x2d042d['includes']('\x5c'))return null;return _0x2d042d;}function isMatchingAppUpdatePackageMetadata(_0x58bc4a,_0x3ff145){const _0x563bef=_0x184e;if(!_0x58bc4a||!_0x3ff145||typeof _0x3ff145!==_0x563bef(0x21d))return![];const _0x3ea33c=_0x3ff145,_0x4408f7=normalizeAppUpdatePackageFileName(_0x58bc4a[_0x563bef(0x23c)]),_0x36b763=normalizeAppUpdatePackageFileName(_0x3ea33c[_0x563bef(0x23c)]),_0x5b8617=_0x58bc4a['sha512']['trim'](),_0xd387c2=typeof _0x3ea33c[_0x563bef(0x243)]==='string'?_0x3ea33c[_0x563bef(0x243)][_0x563bef(0x255)]():'';return Boolean(_0x4408f7&&_0x36b763&&_0x4408f7===_0x36b763&&_0x5b8617&&_0xd387c2&&_0x5b8617===_0xd387c2);}function _0x184e(_0x280b55,_0x2eb2ac){_0x280b55=_0x280b55-0x1e6;const _0x92e34d=_0x92e3();let _0x184e57=_0x92e34d[_0x280b55];return _0x184e57;}function normalizeAppVersion(_0x584b21){const _0x1ed569=_0x184e;return clean(String(_0x584b21??'')[_0x1ed569(0x255)]());}function compareAppVersions(_0xd0239,_0x3e0999){const _0x27c5ff=_0x184e,_0x5937c1=normalizeAppVersion(_0xd0239),_0x19dd50=normalizeAppVersion(_0x3e0999);if(!_0x5937c1||!_0x19dd50)return _0x27c5ff(0x211);const _0x4586fc=compare(_0x19dd50,_0x5937c1);if(_0x4586fc===0x0)return _0x27c5ff(0x26d)+_0x27c5ff(0x257);return _0x4586fc>0x0?_0x27c5ff(0x272)+'ewer':'remote-o'+_0x27c5ff(0x2a9);}function normalizeAppUpdateChannel(_0x557983){const _0x4bfd04=_0x184e;return _0x557983===_0x4bfd04(0x229)?_0x4bfd04(0x229):_0x4bfd04(0x25c);}function normalizeString(_0x1a42d7){const _0xc677ca=_0x184e;if(typeof _0x1a42d7!==_0xc677ca(0x283))return null;const _0x86243b=_0x1a42d7['trim']();return _0x86243b||null;}function normalizeReleaseNotes(_0x346d7d){const _0x1e4184=_0x184e;if(typeof _0x346d7d==='string')return normalizeString(_0x346d7d);if(!Array[_0x1e4184(0x21f)](_0x346d7d))return null;const _0xd11e27=_0x346d7d[_0x1e4184(0x1e7)](_0x462b04=>{const _0x2c4e6b=_0x1e4184;if(typeof _0x462b04===_0x2c4e6b(0x283)){const _0x488927=normalizeString(_0x462b04);return _0x488927?[_0x488927]:[];}if(!_0x462b04||typeof _0x462b04!=='object')return[];const _0x33dabb=normalizeString(_0x462b04[_0x2c4e6b(0x1ef)]),_0x244e07=normalizeString(_0x462b04['note']);if(_0x33dabb&&_0x244e07)return['v'+_0x33dabb+'\x0a'+_0x244e07];if(_0x244e07)return[_0x244e07];if(_0x33dabb)return['v'+_0x33dabb];return[];});return _0xd11e27[_0x1e4184(0x281)]>0x0?_0xd11e27['join']('\x0a\x0a'):null;}function extractUpdateInfoPatch(_0x562a0f){const _0x259b6c=_0x184e;if(!_0x562a0f||typeof _0x562a0f!=='object')return{};return{'remoteVersion':normalizeString(_0x562a0f[_0x259b6c(0x1ef)]),'availableVersion':normalizeString(_0x562a0f[_0x259b6c(0x1ef)]),'releaseName':normalizeString(_0x562a0f[_0x259b6c(0x27a)+_0x259b6c(0x270)]),'releaseDate':normalizeString(_0x562a0f[_0x259b6c(0x240)+_0x259b6c(0x2b5)]),'releaseNotes':normalizeReleaseNotes(_0x562a0f['releaseN'+_0x259b6c(0x256)])};}function extractPackageFileName(_0x4c54e6){const _0x3657db=_0x184e,_0x31b866=normalizeString(_0x4c54e6);if(!_0x31b866)return null;try{const _0x252f5e=new URL(_0x31b866);return normalizeAppUpdatePackageFileName(decodeURIComponent(basename(_0x252f5e[_0x3657db(0x208)])));}catch{const _0x56f71b=_0x31b866['split'](/[?#]/u,0x1)[0x0];return normalizeAppUpdatePackageFileName(basename(_0x56f71b));}}function getPreferredUpdatePackagePattern(){const _0x4081d3=_0x184e;if(process[_0x4081d3(0x290)]===_0x4081d3(0x1f3))return/\.zip$/iu;if(process[_0x4081d3(0x290)]==='win32')return/\.exe$/iu;if(process['platform']==='linux')return/\.AppImage$/u;return/\.(zip|exe|AppImage)$/u;}function extractRemoteUpdatePackageMetadata(_0x1331be,_0x4a7406){const _0x79002f=_0x184e;if(!_0x1331be||typeof _0x1331be!==_0x79002f(0x21d))return null;const _0x24ea6f=normalizeString(_0x1331be[_0x79002f(0x1ef)]);if(!_0x24ea6f)return null;const _0x41edd8=[],_0x5ed52d=Array[_0x79002f(0x21f)](_0x1331be['files'])?_0x1331be['files']:[];for(const _0x33c2a0 of _0x5ed52d){if(!_0x33c2a0||typeof _0x33c2a0!==_0x79002f(0x21d))continue;const _0x42e5e3=extractPackageFileName(_0x33c2a0[_0x79002f(0x1f6)])??extractPackageFileName(_0x33c2a0[_0x79002f(0x269)])??normalizeAppUpdatePackageFileName(_0x33c2a0[_0x79002f(0x23c)]),_0x2a7a49=normalizeString(_0x33c2a0[_0x79002f(0x243)]);_0x42e5e3&&_0x2a7a49&&_0x41edd8['push']({'fileName':_0x42e5e3,'sha512':_0x2a7a49});}const _0x1dafdb=extractPackageFileName(_0x1331be[_0x79002f(0x1f6)])??extractPackageFileName(_0x1331be[_0x79002f(0x269)])??normalizeAppUpdatePackageFileName(_0x1331be[_0x79002f(0x23c)]),_0x35c95d=normalizeString(_0x1331be[_0x79002f(0x243)]);_0x1dafdb&&_0x35c95d&&_0x41edd8['push']({'fileName':_0x1dafdb,'sha512':_0x35c95d});const _0xf5785e=_0x41edd8[_0x79002f(0x220)](_0x2e3f40=>getPreferredUpdatePackagePattern()[_0x79002f(0x204)](_0x2e3f40[_0x79002f(0x23c)]));if(!_0xf5785e)return _0x4a7406?.[_0x79002f(0x28d)]?.(_0x79002f(0x1fc)+_0x79002f(0x2af)+'te\x20packa'+_0x79002f(0x231)+_0x79002f(0x253)+'latform',{'platform':process['platform'],'candidates':_0x41edd8[_0x79002f(0x222)](_0x23757e=>_0x23757e[_0x79002f(0x23c)])}),null;return{'version':_0x24ea6f,..._0xf5785e};}function extractProgressPatch(_0x25073f){const _0x2df017=_0x184e;return{'downloadPercent':typeof _0x25073f[_0x2df017(0x28a)]===_0x2df017(0x278)?_0x25073f[_0x2df017(0x28a)]:null,'bytesPerSecond':typeof _0x25073f[_0x2df017(0x1fb)+_0x2df017(0x276)]===_0x2df017(0x278)?_0x25073f[_0x2df017(0x1fb)+_0x2df017(0x276)]:null,'transferredBytes':typeof _0x25073f[_0x2df017(0x29c)+_0x2df017(0x26f)]==='number'?_0x25073f[_0x2df017(0x29c)+'red']:null,'totalBytes':typeof _0x25073f[_0x2df017(0x254)]===_0x2df017(0x278)?_0x25073f[_0x2df017(0x254)]:null};}function getErrorMessage(_0x4b23d1){const _0x3edd3c=_0x184e;if(_0x4b23d1 instanceof Error&&_0x4b23d1['message']['trim']())return _0x4b23d1[_0x3edd3c(0x252)]['trim']();if(typeof _0x4b23d1===_0x3edd3c(0x283)&&_0x4b23d1[_0x3edd3c(0x255)]())return _0x4b23d1[_0x3edd3c(0x255)]();return _0x3edd3c(0x289)+'误';}export function createUpdateController({shellConfig:_0x12db6d,appName:_0x171f22,appVersion:_0x54928b,broadcast:_0x2d23b0,logger:_0x2af15e}){const _0x1117ff=_0x184e,_0x2250a4=_0x12db6d[_0x1117ff(0x1ed)]??{},_0x1486b2=normalizeAppUpdateChannel(_0x2250a4[_0x1117ff(0x258)]),_0x105f58={'backgroundCheckIntervalMs':_0x2250a4['backgrou'+_0x1117ff(0x259)+_0x1117ff(0x22f)+'s']??DEFAULT_BACKGROUND_UPDATE_CHECK_INTERVAL_MS,'backgroundCheckStaleMs':_0x2250a4[_0x1117ff(0x267)+'ndCheckS'+_0x1117ff(0x20d)]??DEFAULT_BACKGROUND_UPDATE_CHECK_STALE_MS,'installQuitTimeoutMs':_0x2250a4['installQ'+_0x1117ff(0x2b8)+'utMs']??DEFAULT_INSTALL_QUIT_TIMEOUT_MS,'autoDownload':_0x2250a4[_0x1117ff(0x1f4)+_0x1117ff(0x1fa)]===!![]},_0x39c0fa={'supported':![],'channel':_0x1486b2,'phase':_0x1117ff(0x247)+_0x1117ff(0x22c),'currentVersion':_0x54928b(),'remoteVersion':null,'comparisonResult':_0x1117ff(0x211),'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':_0x1117ff(0x284),'error':null,'errorCode':null};let _0xc8acf8=![],_0x3fe933=null,_0x2e5a71=null,_0x28c81a=null,_0x1bfd1e=null,_0x51d337=null,_0xd6cfda=![],_0x3edf0e=null,_0xfd1874=0x0;function _0x3d11ea(){const _0x33894e=_0x1117ff;if(process['platform']===_0x33894e(0x1f3))return join(homedir(),_0x33894e(0x244),'Caches');if(process[_0x33894e(0x290)]===_0x33894e(0x277))return process.env.LOCALAPPDATA??join(homedir(),_0x33894e(0x2aa),'Local');return process.env.XDG_CACHE_HOME??join(homedir(),'.cache');}function _0x348e8c(){const _0x5aaedf=_0x1117ff;if(!app[_0x5aaedf(0x1f5)+'ed']||!process[_0x5aaedf(0x29b)+_0x5aaedf(0x265)])return{};const _0x1a67cd=join(process['resource'+_0x5aaedf(0x265)],_0x5aaedf(0x207)+_0x5aaedf(0x216));if(!existsSync(_0x1a67cd))return{};try{const _0x4512ac=readFileSync(_0x1a67cd,_0x5aaedf(0x245)),_0x16a9ba=/^\s*channel:\s*["']?([^"'\s#]+)["']?/imu[_0x5aaedf(0x280)](_0x4512ac),_0x31b998=/^\s*updaterCacheDirName:\s*["']?([^"'\s#]+)["']?/imu['exec'](_0x4512ac);return{'channel':normalizeAppUpdateChannel(_0x16a9ba?.[0x1]),'updaterCacheDirName':normalizeString(_0x31b998?.[0x1])};}catch(_0x2fa51c){return _0x2af15e?.[_0x5aaedf(0x28d)]?.(_0x5aaedf(0x27e)+_0x5aaedf(0x223)+_0x5aaedf(0x1ea)+_0x5aaedf(0x249),{'error':getErrorMessage(_0x2fa51c)}),{};}}const _0x4cb66d=_0x348e8c();_0x4cb66d[_0x1117ff(0x258)]&&(_0x39c0fa[_0x1117ff(0x258)]=_0x4cb66d['channel']);function _0x5403d4(){const _0x1143fb=_0x1117ff,_0x1f8f5e=_0x4cb66d[_0x1143fb(0x299)+_0x1143fb(0x2b2)+_0x1143fb(0x270)]||_0x171f22()+_0x1143fb(0x285);return join(_0x3d11ea(),_0x1f8f5e);}function _0xef05e6(_0x4f82af){const _0x5b6bf3=_0x1117ff;return _0x4f82af===_0x5b6bf3(0x229)?_0x5b6bf3(0x28f)+'ha\x20更新渠道':_0x5b6bf3(0x27c)+'绪';}function _0x6cc34c(){const _0x69274=_0x1117ff;if(_0x2250a4[_0x69274(0x205)]===![])return![];if(!app['isPackag'+'ed'])return![];if(process[_0x69274(0x290)]!==_0x69274(0x202))return!![];return Boolean(process.env.APPIMAGE);}function _0xf414e2(){const _0x38400e=_0x1117ff;if(_0x2250a4[_0x38400e(0x205)]===![])return _0x38400e(0x213)+'hell.con'+_0x38400e(0x2a2);if(!app['isPackag'+'ed'])return _0x38400e(0x215)+_0x38400e(0x226);if(process[_0x38400e(0x290)]===_0x38400e(0x202))return _0x38400e(0x209)+_0x38400e(0x1f2)+_0x38400e(0x28e)+'内自动更新';return _0x38400e(0x228)+_0x38400e(0x288);}function _0x12ebb6(){const _0xd7cc1e=_0x1117ff;return join(_0x12db6d[_0xd7cc1e(0x1ff)],_0xd7cc1e(0x2a4)+_0xd7cc1e(0x2a0)+_0xd7cc1e(0x2ab)+'on');}function _0x38c3bf(){return{'hasPendingPackage':![],'pendingPackageName':null,'pendingPackageBytes':null};}function _0x164a37(){return{..._0x39c0fa};}function _0x4ee918(){const _0x515855=_0x1117ff,_0x5994ad=_0x164a37();for(const _0x3408bd of BrowserWindow[_0x515855(0x23a)+'ndows']()){!_0x3408bd['isDestro'+'yed']()&&_0x3408bd[_0x515855(0x23d)+_0x515855(0x286)]['send']('app:upda'+_0x515855(0x296),_0x5994ad);}_0x2d23b0?.(_0x515855(0x248)+'te-state',_0x5994ad);}function _0x138dc2(_0x303c64){const _0x48f3cb=_0x1117ff,_0x19b4de={..._0x303c64};_0x19b4de[_0x48f3cb(0x23e)]===null&&_0x19b4de['errorCod'+'e']===undefined&&(_0x19b4de[_0x48f3cb(0x1f8)+'e']=null),Object[_0x48f3cb(0x24a)](_0x39c0fa,_0x19b4de,{'currentVersion':_0x54928b()}),_0x4ee918();}function _0x529daf(){const _0x5170c8=_0x1117ff;if(!_0x39c0fa[_0x5170c8(0x293)+'d'])throw new Error(_0xf414e2());}function _0x3a0921(_0x12e3e6,_0x3b9d22={}){const _0x4048c2=_0x1117ff;_0x2af15e?.[_0x4048c2(0x27d)]?.(_0x12e3e6,_0x3b9d22);}function _0x2f5663(_0x1ef271,_0x51788f={}){const _0x4f3dc5=_0x1117ff;_0x2af15e?.[_0x4f3dc5(0x28d)]?.(_0x1ef271,_0x51788f);}function _0x4d76be(_0x43bc62){const _0x1cc03c=_0x1117ff;if(typeof _0x43bc62!==_0x1cc03c(0x278)||!Number[_0x1cc03c(0x1f7)](_0x43bc62))return null;const _0x2e28cd=Math[_0x1cc03c(0x20c)](0x63,Math[_0x1cc03c(0x2b3)](0x0,_0x43bc62));if(_0x39c0fa['phase']!=='download'+_0x1cc03c(0x242)||typeof _0x39c0fa[_0x1cc03c(0x200)+_0x1cc03c(0x282)]!=='number')return _0x2e28cd;return Math['max'](_0x39c0fa[_0x1cc03c(0x200)+_0x1cc03c(0x282)],_0x2e28cd);}function _0x17dcb3(_0x820430,_0x2596d0){const _0x2da184=_0x1117ff,_0x3bf22a=_0x820430?'v'+_0x820430:_0x2da184(0x25e);if(typeof _0x2596d0===_0x2da184(0x278)){if(_0x2596d0>=0x63)return _0x2da184(0x1fe);return'正在下载\x20'+_0x3bf22a+'\x20('+_0x2596d0[_0x2da184(0x1e8)](0x1)+'%)';}return _0x2da184(0x20a)+_0x3bf22a;}function _0x1f99c9(_0x2d4b3c){const _0x388b59=_0x1117ff;try{writeFileSync(_0x12ebb6(),JSON['stringif'+'y'](_0x2d4b3c,null,0x2),_0x388b59(0x245));}catch(_0x8340d2){_0x2f5663(_0x388b59(0x27e)+'o\x20persis'+_0x388b59(0x2a8)+_0x388b59(0x263)+_0x388b59(0x274),{'error':getErrorMessage(_0x8340d2)});}}function _0x38cb0a(){const _0x1020df=_0x1117ff;try{rmSync(_0x12ebb6(),{'force':!![]});}catch(_0x549969){_0x2f5663('failed\x20t'+'o\x20clear\x20'+_0x1020df(0x1eb)+_0x1020df(0x2a6)+'ntext',{'error':getErrorMessage(_0x549969)});}}function _0x2a1249(){const _0x31a0df=_0x1117ff,_0x267a6f=join(_0x5403d4(),_0x31a0df(0x275));if(!existsSync(_0x267a6f))return{'packageName':null,'packageBytes':null};try{const _0x12dff3=readdirSync(_0x267a6f)['find'](_0x1860e2=>/\.(zip|exe|dmg|AppImage)$/iu[_0x31a0df(0x204)](_0x1860e2))??null;if(!_0x12dff3)return{'packageName':null,'packageBytes':null};const _0x54c200=join(_0x267a6f,_0x12dff3);return{'packageName':_0x12dff3,'packageBytes':statSync(_0x54c200)[_0x31a0df(0x1fd)]};}catch(_0x1453ce){return _0x2f5663(_0x31a0df(0x27e)+_0x31a0df(0x27b)+_0x31a0df(0x24e)+'g\x20instal'+_0x31a0df(0x20e)+'e',{'error':getErrorMessage(_0x1453ce)}),{'packageName':null,'packageBytes':null};}}function _0xda3004(){const _0x4f633b=_0x1117ff;if(!_0x28c81a)return null;const _0x276666=join(_0x5403d4(),_0x4f633b(0x275)),_0x37a878=join(_0x276666,'update-i'+_0x4f633b(0x230));if(!existsSync(_0x37a878))return null;let _0xbfc77b=null;try{_0xbfc77b=JSON[_0x4f633b(0x1f9)](readFileSync(_0x37a878,'utf8'));}catch(_0xc7c27d){return _0x2f5663(_0x4f633b(0x27e)+'o\x20read\x20p'+_0x4f633b(0x24b)+_0x4f633b(0x291)+'fo.json',{'error':getErrorMessage(_0xc7c27d)}),null;}if(!isMatchingAppUpdatePackageMetadata(_0x28c81a,_0xbfc77b))return null;const _0x4bd5f9=join(_0x276666,_0x28c81a[_0x4f633b(0x23c)]);if(!existsSync(_0x4bd5f9))return null;try{const _0x12ba55=statSync(_0x4bd5f9);if(!_0x12ba55[_0x4f633b(0x1f0)]()||_0x12ba55[_0x4f633b(0x1fd)]===0x0)return null;return{'metadata':_0x28c81a,'packageName':_0x28c81a['fileName'],'packageBytes':_0x12ba55[_0x4f633b(0x1fd)]};}catch(_0xf05a4a){return _0x2f5663('failed\x20t'+'o\x20inspec'+_0x4f633b(0x24e)+_0x4f633b(0x1ee)+_0x4f633b(0x2b4)+_0x4f633b(0x21b),{'error':getErrorMessage(_0xf05a4a)}),null;}}function _0xa8f3fb(_0x1aa0a7){const _0x35f646=_0x1117ff,_0x51c5c6=_0xda3004();if(!_0x51c5c6)return![];const {metadata:_0x488b4f,packageName:_0x1327ec,packageBytes:_0x4eb158}=_0x51c5c6;return _0x3a0921(_0x35f646(0x2b6)+_0x35f646(0x217)+_0x35f646(0x264)+'t',{'reason':_0x1aa0a7,'version':_0x488b4f[_0x35f646(0x1ef)],'packageName':_0x1327ec,'packageBytes':_0x4eb158}),_0x138dc2({'phase':_0x35f646(0x292)+'e','remoteVersion':_0x488b4f[_0x35f646(0x1ef)],'comparisonResult':_0x35f646(0x272)+_0x35f646(0x29a),'hasUpdate':!![],'availableVersion':_0x488b4f['version'],'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':_0x4eb158,'totalBytes':_0x4eb158,'hasPendingPackage':!![],'pendingPackageName':_0x1327ec,'pendingPackageBytes':_0x4eb158,'error':null,'message':_0x35f646(0x26b)+'v'+_0x488b4f[_0x35f646(0x1ef)]+(_0x35f646(0x26c)+'备安装')}),!![];}function _0x4ee282(){const _0x47c1b3=_0x1117ff;return _0x39c0fa['supporte'+'d']&&!_0x3fe933&&!_0x2e5a71&&[_0x47c1b3(0x251),_0x47c1b3(0x26a)+_0x47c1b3(0x218),_0x47c1b3(0x23e)]['includes'](_0x39c0fa['phase']);}function _0xf5e560(){if(!_0x51d337)return;clearTimeout(_0x51d337),_0x51d337=null;}function _0x5b58cd(_0x1b45a2){const _0x4f5ff8=_0x1117ff,_0x179ea0=_0x39c0fa[_0x4f5ff8(0x200)+'edVersio'+'n'],_0x136c0f=_0x39c0fa[_0x4f5ff8(0x292)+_0x4f5ff8(0x28c)];_0x1bfd1e=null,_0xd6cfda=![],_0xf5e560(),_0x38cb0a(),_0x138dc2({'phase':_0x4f5ff8(0x23e),'checkedAt':new Date()['toISOStr'+_0x4f5ff8(0x242)](),'hasPendingPackage':![],'pendingPackageName':null,'pendingPackageBytes':null,'hasUpdate':!![],'availableVersion':_0x136c0f??_0x179ea0,'downloadedVersion':_0x179ea0,'error':getErrorMessage(_0x1b45a2),'errorCode':_0x4f5ff8(0x2a4)+_0x4f5ff8(0x23e),'message':'安装更新失败'});}function _0x18def7(){const _0x1d6afa=_0x1117ff;_0xf5e560(),_0xd6cfda=![],_0x51d337=setTimeout(()=>{const _0x30e81e=_0x184e;if(_0xd6cfda||_0x39c0fa[_0x30e81e(0x24d)]!==_0x30e81e(0x2ad)+'ng')return;_0x2f5663(_0x30e81e(0x21a)+_0x30e81e(0x238)+_0x30e81e(0x219)+_0x30e81e(0x279)+_0x30e81e(0x227)+_0x30e81e(0x29e)+_0x30e81e(0x212),{'downloadedVersion':_0x39c0fa[_0x30e81e(0x200)+_0x30e81e(0x1e9)+'n'],'currentVersion':_0x39c0fa[_0x30e81e(0x261)+_0x30e81e(0x22d)]}),_0x5b58cd(new Error(_0x30e81e(0x2ae)+_0x30e81e(0x233)+_0x30e81e(0x234)));},_0x105f58[_0x1d6afa(0x2ac)+_0x1d6afa(0x2b8)+_0x1d6afa(0x20b)]);}function _0x55d4d2(){const _0x32851d=_0x1117ff;if(_0xc8acf8)return;_0xc8acf8=!![],_0x39c0fa['supporte'+'d']=_0x6cc34c(),_0x39c0fa[_0x32851d(0x24d)]=_0x39c0fa['supporte'+'d']?'idle':'unsuppor'+_0x32851d(0x22c),_0x39c0fa[_0x32851d(0x252)]=_0x39c0fa[_0x32851d(0x293)+'d']?_0xef05e6(_0x39c0fa['channel']):_0xf414e2();if(!_0x39c0fa[_0x32851d(0x293)+'d']){_0x4ee918();return;}autoUpdater[_0x32851d(0x1f4)+_0x32851d(0x1fa)]=_0x105f58[_0x32851d(0x1f4)+_0x32851d(0x1fa)],autoUpdater['autoInst'+'allOnApp'+_0x32851d(0x241)]=![],autoUpdater['channel']=_0x39c0fa[_0x32851d(0x258)],autoUpdater['on']('checking'+'-for-upd'+_0x32851d(0x2b5),()=>{const _0x1a85d2=_0x32851d;_0x28c81a=null,_0x138dc2({'phase':_0x1a85d2(0x24f),'checkedAt':new Date()['toISOStr'+_0x1a85d2(0x242)](),'remoteVersion':null,'comparisonResult':_0x1a85d2(0x211),'hasUpdate':![],'availableVersion':null,'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,..._0x38c3bf(),'error':null,'message':_0x1a85d2(0x27f)});}),autoUpdater['on'](_0x32851d(0x232)+'vailable',_0x871d47=>{const _0x4a265f=_0x32851d,_0xa81e31=extractUpdateInfoPatch(_0x871d47),_0x42ac07=compareAppVersions(_0x54928b(),_0xa81e31[_0x4a265f(0x2b1)+_0x4a265f(0x20f)]);if(_0x42ac07!=='remote-n'+_0x4a265f(0x29a)){_0x28c81a=null,_0x138dc2({..._0xa81e31,'phase':_0x4a265f(0x26a)+_0x4a265f(0x218),'comparisonResult':_0x42ac07,'hasUpdate':![],'availableVersion':null,'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,..._0x38c3bf(),'checkedAt':new Date()[_0x4a265f(0x237)+'ing'](),'error':null,'message':_0x4a265f(0x2a1)+'本'});return;}_0x28c81a=extractRemoteUpdatePackageMetadata(_0x871d47,_0x2af15e),_0x138dc2({..._0xa81e31,'phase':_0x4a265f(0x292)+'e','comparisonResult':_0x42ac07,'hasUpdate':!![],'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,..._0x38c3bf(),'checkedAt':new Date()[_0x4a265f(0x237)+_0x4a265f(0x242)](),'error':null,'message':_0xa81e31[_0x4a265f(0x292)+_0x4a265f(0x28c)]?_0x4a265f(0x250)+_0xa81e31[_0x4a265f(0x292)+'eVersion']:_0x4a265f(0x29f)}),_0xa8f3fb('update_a'+'vailable');}),autoUpdater['on'](_0x32851d(0x21c)+_0x32851d(0x268)+'able',_0x2f4f92=>{const _0x5657e2=_0x32851d;_0x28c81a=null;const _0x44288f=extractUpdateInfoPatch(_0x2f4f92);_0x138dc2({..._0x44288f,'phase':_0x5657e2(0x26a)+'lable','comparisonResult':compareAppVersions(_0x54928b(),_0x44288f[_0x5657e2(0x2b1)+_0x5657e2(0x20f)]),'hasUpdate':![],'availableVersion':null,'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,..._0x38c3bf(),'checkedAt':new Date()[_0x5657e2(0x237)+'ing'](),'error':null,'message':_0x5657e2(0x2a1)+'本'});}),autoUpdater['on']('download'+'-progres'+'s',_0x5edd54=>{const _0x5ae807=_0x32851d,_0x219a52=extractProgressPatch(_0x5edd54),_0x508829=_0x4d76be(_0x219a52[_0x5ae807(0x200)+_0x5ae807(0x282)]??null);_0x138dc2({..._0x219a52,'downloadPercent':_0x508829,'phase':_0x5ae807(0x200)+_0x5ae807(0x242),..._0x38c3bf(),'error':null,'message':_0x17dcb3(_0x39c0fa[_0x5ae807(0x292)+_0x5ae807(0x28c)],_0x508829)});}),autoUpdater['on'](_0x32851d(0x221)+_0x32851d(0x22e)+'d',_0x1d7443=>{const _0x3b07c4=_0x32851d,_0xd51745=extractUpdateInfoPatch(_0x1d7443),_0x5cb22b=extractRemoteUpdatePackageMetadata(_0x1d7443,_0x2af15e)??_0x28c81a;_0x5cb22b&&(_0x28c81a=_0x5cb22b);const _0xc69bd=_0xd51745[_0x3b07c4(0x292)+'eVersion']??_0x5cb22b?.[_0x3b07c4(0x1ef)]??_0x39c0fa[_0x3b07c4(0x292)+'eVersion'];_0x138dc2({..._0xd51745,'phase':_0x3b07c4(0x200)+'ed','comparisonResult':compareAppVersions(_0x54928b(),_0xc69bd),'hasUpdate':!![],'downloadedVersion':_0xc69bd,'downloadPercent':0x64,..._0x38c3bf(),'error':null,'message':_0xc69bd?_0x3b07c4(0x266)+_0xc69bd+_0x3b07c4(0x1ec):_0x3b07c4(0x236)+'装'});}),autoUpdater['on'](_0x32851d(0x23e),_0x21ec9a=>{const _0x268146=_0x32851d;if(_0x39c0fa[_0x268146(0x24d)]===_0x268146(0x2ad)+'ng'){_0x5b58cd(_0x21ec9a);return;}_0x138dc2({'phase':_0x268146(0x23e),'checkedAt':new Date()['toISOStr'+'ing'](),..._0x38c3bf(),'error':getErrorMessage(_0x21ec9a),'errorCode':_0x39c0fa[_0x268146(0x24d)]===_0x268146(0x200)+_0x268146(0x242)?_0x268146(0x200)+_0x268146(0x26e):_0x268146(0x235)+_0x268146(0x295),'message':_0x268146(0x273)});}),_0x4ee918();}async function _0x223628(){const _0x4e5ade=_0x1117ff;_0x55d4d2(),_0x529daf();if(_0x3fe933)return _0x3fe933;return _0x3a0921('check\x20re'+_0x4e5ade(0x21e)),_0x3fe933=autoUpdater['checkFor'+_0x4e5ade(0x225)]()[_0x4e5ade(0x25d)](()=>_0x164a37())[_0x4e5ade(0x2a5)](()=>{_0x3fe933=null;}),_0x3fe933;}async function _0x292b03(){const _0x3596f1=_0x1117ff;_0x55d4d2(),_0x529daf();if(_0x39c0fa['phase']===_0x3596f1(0x200)+'ed'||_0x39c0fa['phase']==='installi'+'ng')return _0x164a37();if(!_0x39c0fa['hasUpdat'+'e'])throw new Error(_0x3596f1(0x25f)+'更新');const _0x1bbc67=_0x39c0fa[_0x3596f1(0x24d)]===_0x3596f1(0x23e)&&_0x39c0fa[_0x3596f1(0x1f8)+'e']==='install-'+_0x3596f1(0x23e)&&Boolean(_0x39c0fa[_0x3596f1(0x200)+_0x3596f1(0x1e9)+'n']);if(_0x39c0fa[_0x3596f1(0x24d)]===_0x3596f1(0x23e)){if(_0x1bbc67)_0x138dc2({'phase':'availabl'+'e','hasUpdate':!![],'availableVersion':_0x39c0fa[_0x3596f1(0x292)+_0x3596f1(0x28c)]??_0x39c0fa['download'+_0x3596f1(0x1e9)+'n'],'downloadedVersion':null,'downloadPercent':null,..._0x38c3bf(),'error':null,'message':'正在重新准备更新'+'包'});else{await _0x223628();if(_0x39c0fa[_0x3596f1(0x24d)]!==_0x3596f1(0x292)+'e')throw new Error(_0x3596f1(0x25f)+'更新');}}if(![_0x3596f1(0x292)+'e',_0x3596f1(0x200)+_0x3596f1(0x242)][_0x3596f1(0x297)](_0x39c0fa[_0x3596f1(0x24d)]))throw new Error('当前没有可下载的'+'更新');if(_0x2e5a71)return _0x2e5a71;return _0x2e5a71=autoUpdater['download'+_0x3596f1(0x298)]()[_0x3596f1(0x25d)](()=>{const _0x5a5dd3=_0x3596f1;return _0x39c0fa[_0x5a5dd3(0x24d)]!==_0x5a5dd3(0x200)+'ed'&&_0x138dc2({'phase':_0x5a5dd3(0x23e),'checkedAt':new Date()[_0x5a5dd3(0x237)+'ing'](),..._0x38c3bf(),'error':'更新包校验完成但'+_0x5a5dd3(0x25b)+_0x5a5dd3(0x2b0),'errorCode':'download'+_0x5a5dd3(0x26e),'message':_0x5a5dd3(0x294)}),_0x164a37();})[_0x3596f1(0x2a5)](()=>{_0x2e5a71=null;}),_0x2e5a71;}function _0x54ebc9(){const _0x2ffc01=_0x1117ff;_0x55d4d2(),_0x529daf();if(![_0x2ffc01(0x200)+'ed',_0x2ffc01(0x2ad)+'ng'][_0x2ffc01(0x297)](_0x39c0fa[_0x2ffc01(0x24d)]))throw new Error(_0x2ffc01(0x206)+_0x2ffc01(0x287));const _0x27f238=_0x2a1249();_0x1bfd1e=Date['now'](),_0x1f99c9({'startedAt':new Date(_0x1bfd1e)['toISOStr'+_0x2ffc01(0x242)](),'currentVersion':_0x39c0fa[_0x2ffc01(0x261)+_0x2ffc01(0x22d)],'downloadedVersion':_0x39c0fa[_0x2ffc01(0x200)+_0x2ffc01(0x1e9)+'n'],'pendingPackage':_0x27f238[_0x2ffc01(0x271)+_0x2ffc01(0x270)],'pendingPackageBytes':_0x27f238[_0x2ffc01(0x29d)+_0x2ffc01(0x22a)]}),_0x138dc2({'phase':_0x2ffc01(0x2ad)+'ng',..._0x38c3bf(),'error':null,'message':_0x2ffc01(0x28b)+_0x2ffc01(0x23b)});try{_0x18def7(),autoUpdater[_0x2ffc01(0x21a)+'nstall'](![],!![]);}catch(_0x56109b){_0x5b58cd(_0x56109b);throw _0x56109b;}return{'ok':!![]};}async function _0xfa6a79(_0xf32082){const _0x20cc95=_0x1117ff;if(!_0x4ee282())return;_0xfd1874=Date['now'](),_0x3a0921(_0x20cc95(0x267)+_0x20cc95(0x24c)+'e\x20check\x20'+_0x20cc95(0x246)+'d',{'reason':_0xf32082});try{await _0x223628();}catch(_0x36f197){_0x2f5663(_0x20cc95(0x267)+'nd\x20updat'+'e\x20check\x20'+'failed',{'reason':_0xf32082,'error':getErrorMessage(_0x36f197)});}}function _0x4aae4c(_0xd81555){const _0x2e9fd3=_0x1117ff;if(!_0x39c0fa['supporte'+'d'])return;const _0x297855=Date[_0x2e9fd3(0x23f)]()-_0xfd1874;if(_0x297855<_0x105f58[_0x2e9fd3(0x267)+_0x2e9fd3(0x1f1)+_0x2e9fd3(0x20d)])return;void _0xfa6a79(_0xd81555);}function _0x22ac3a(){const _0x2f3619=_0x1117ff;_0x55d4d2();if(!_0x39c0fa[_0x2f3619(0x293)+'d']||_0x3edf0e)return;_0x3edf0e=setInterval(()=>{void _0xfa6a79('interval');},_0x105f58[_0x2f3619(0x267)+_0x2f3619(0x259)+_0x2f3619(0x22f)+'s']),void _0xfa6a79(_0x2f3619(0x201)),_0x3a0921('backgrou'+_0x2f3619(0x24c)+_0x2f3619(0x1e6)+_0x2f3619(0x22b)+_0x2f3619(0x214)+'d',_0x105f58);}function _0x31cd25(){const _0x10d405=_0x1117ff;if(_0x39c0fa[_0x10d405(0x24d)]!==_0x10d405(0x2ad)+'ng')return;_0xd6cfda=!![],_0xf5e560();}return{'initialize':_0x55d4d2,'getState':_0x164a37,'checkForUpdates':_0x223628,'downloadUpdate':_0x292b03,'quitAndInstall':_0x54ebc9,'requestBackgroundCheck':_0x4aae4c,'startBackgroundChecks':_0x22ac3a,'markQuitObserved':_0x31cd25};}
1
+ (function(_0x2b0026,_0x255c30){const _0x4659e5=_0x47e9,_0x14d08d=_0x2b0026();while(!![]){try{const _0x2d81e1=parseInt(_0x4659e5(0xf7))/0x1+parseInt(_0x4659e5(0x116))/0x2+-parseInt(_0x4659e5(0x190))/0x3+parseInt(_0x4659e5(0x155))/0x4+-parseInt(_0x4659e5(0x174))/0x5*(-parseInt(_0x4659e5(0x1aa))/0x6)+parseInt(_0x4659e5(0x195))/0x7+-parseInt(_0x4659e5(0x152))/0x8*(parseInt(_0x4659e5(0x103))/0x9);if(_0x2d81e1===_0x255c30)break;else _0x14d08d['push'](_0x14d08d['shift']());}catch(_0x36d8dc){_0x14d08d['push'](_0x14d08d['shift']());}}}(_0x2c74,0x4e932));import{existsSync,readFileSync,readdirSync,rmSync,statSync,writeFileSync}from'node:fs';import{homedir}from'node:os';import{basename,join}from'node:path';import _0x28f805 from'electron-updater';import{app,BrowserWindow}from'electron';import{clean,compare}from'semver';const {autoUpdater}=_0x28f805,DEFAULT_INSTALL_QUIT_TIMEOUT_MS=0xea60,DEFAULT_BACKGROUND_UPDATE_CHECK_INTERVAL_MS=0x3c*0x3c*0x3e8,DEFAULT_BACKGROUND_UPDATE_CHECK_STALE_MS=0x1e*0x3c*0x3e8;function normalizeAppUpdatePackageFileName(_0x125922){const _0x3767e4=_0x47e9;if(typeof _0x125922!==_0x3767e4(0x169))return null;const _0x5b42c5=_0x125922[_0x3767e4(0xee)]();if(!_0x5b42c5||_0x5b42c5==='.'||_0x5b42c5==='..'||_0x5b42c5[_0x3767e4(0x1ad)]('/')||_0x5b42c5['includes']('\x5c'))return null;return _0x5b42c5;}function _0x47e9(_0x4cb2ac,_0x118b4b){_0x4cb2ac=_0x4cb2ac-0xe6;const _0x2c74a5=_0x2c74();let _0x47e9c8=_0x2c74a5[_0x4cb2ac];return _0x47e9c8;}function isMatchingAppUpdatePackageMetadata(_0x252490,_0x4a3c24){const _0x1638a3=_0x47e9;if(!_0x252490||!_0x4a3c24||typeof _0x4a3c24!==_0x1638a3(0x17a))return![];const _0xc3159b=_0x4a3c24,_0x1f2235=normalizeAppUpdatePackageFileName(_0x252490['fileName']),_0x5729ee=normalizeAppUpdatePackageFileName(_0xc3159b[_0x1638a3(0x1af)]),_0x397274=_0x252490['sha512'][_0x1638a3(0xee)](),_0x11959e=typeof _0xc3159b[_0x1638a3(0x102)]===_0x1638a3(0x169)?_0xc3159b[_0x1638a3(0x102)][_0x1638a3(0xee)]():'';return Boolean(_0x1f2235&&_0x5729ee&&_0x1f2235===_0x5729ee&&_0x397274&&_0x11959e&&_0x397274===_0x11959e);}function normalizeAppVersion(_0x289179){const _0x40d3a2=_0x47e9;return clean(String(_0x289179??'')[_0x40d3a2(0xee)]());}function compareAppVersions(_0x3acb0f,_0x97a3fd){const _0x4293c4=_0x47e9,_0x263756=normalizeAppVersion(_0x3acb0f),_0x42872c=normalizeAppVersion(_0x97a3fd);if(!_0x263756||!_0x42872c)return _0x4293c4(0x13b);const _0x2f2f23=compare(_0x42872c,_0x263756);if(_0x2f2f23===0x0)return _0x4293c4(0x156)+_0x4293c4(0xf8);return _0x2f2f23>0x0?_0x4293c4(0x17d)+'ewer':'remote-o'+_0x4293c4(0x121);}function normalizeAppUpdateChannel(_0x20b407){const _0x5d7f82=_0x47e9;return _0x20b407===_0x5d7f82(0x142)?_0x5d7f82(0x142):'latest';}function _0x2c74(){const _0xb3fbc1=['295836TSJnvT','sion','安装器未就绪,请','max','ytes','phase','nfo.json','installi','interval','包后再试','exec','sha512','2187delGEt','e.yml','check-er','path','pdate-in','ing','no\x20match','isArray','vailable','win32','后的安装包中可用','update-d','ha\x20更新渠道','requeste','then','edVersio','ntervalM','currentV','新版本','779702CuxLlJ','id\x20not\x20t','\x20已准备好安装','eVersion','packageN','errorCod','within\x20t',',请重新校验并准','kage','join','error','lder','taleMs','context','dataDir','当前使用\x20Alp','动更新','t\x20pendin','length','flatMap','-updater','allOnApp','内自动更新','urrent\x20p','rigger\x20a','fo.json','发现本地更新包\x20','正在验证安装包…','failed\x20t','phase\x20co','Local','o\x20clear\x20','-progres','pending','now','自动更新已在\x20s','isFinite','unknown','o\x20inspec','lable','\x20AppImag','Caches','check\x20re','更新安装未能启动','alpha','message','rsion','当前没有可下载的','o\x20read\x20a','otes','update-a','Updates','-error','sPath','app:upda','warn','phase-co','update_a','正在安装更新并重','cache\x20hi','45776oQAKbv','ame','toISOStr','2136800FFmxEu','same-ver','hell.con','packageB','not-avai','updaterC','hasUpdat','red','installQ','utf8','pp\x20quit\x20','transfer','e\x20版本支持应用','备安装','parse','aded\x20pac','enabled','download','ror','isDestro','string','isFile','o\x20persis','install-','安装更新失败','update-i','正在下载\x20','backgrou','finally','supporte','size','675xAyQIo','info','Percent','nd\x20updat','split','autoDown','object','更新包\x20v','Library','remote-n','version','remoteVe','able','AppData','g\x20instal',',请重新下载更新','unsuppor','imeout','nts','stringif','percent','te-state','ndCheckS','正在检查更新','e\x20check\x20','o\x20read\x20p','ing\x20upda','启应用','649107HQpLCS','resource','yed','load','te.yml','3622325qHktrN','自动更新已禁用','.cache','releaseD','checking','utMs','Second','app-upda','当前没有可安装的','releaseN','darwin','availabl','ate','ownloade','Update','ndCheckI','channel','test','ted','bytesPer','当前构建不支持自','8502wRRETg','files','自动更新仅在打包','includes','pp-updat','fileName','number','ending\x20u','Linux\x20下仅','更新准备失败','ewer','idle','getAllWi','ge\x20for\x20c','未知的自动更新错','trim','linux','uitTimeo','quitAndI','failed','发现新版本\x20v','isPackag','platform','startup'];_0x2c74=function(){return _0xb3fbc1;};return _0x2c74();}function normalizeString(_0x49efa4){const _0x370cbb=_0x47e9;if(typeof _0x49efa4!==_0x370cbb(0x169))return null;const _0x5ed680=_0x49efa4['trim']();return _0x5ed680||null;}function normalizeReleaseNotes(_0x2c3e53){const _0x598fa4=_0x47e9;if(typeof _0x2c3e53==='string')return normalizeString(_0x2c3e53);if(!Array[_0x598fa4(0x10a)](_0x2c3e53))return null;const _0x1c461d=_0x2c3e53[_0x598fa4(0x129)](_0x4934d3=>{const _0x15113=_0x598fa4;if(typeof _0x4934d3===_0x15113(0x169)){const _0x2e8415=normalizeString(_0x4934d3);return _0x2e8415?[_0x2e8415]:[];}if(!_0x4934d3||typeof _0x4934d3!=='object')return[];const _0x597833=normalizeString(_0x4934d3[_0x15113(0x17e)]),_0x3e3911=normalizeString(_0x4934d3['note']);if(_0x597833&&_0x3e3911)return['v'+_0x597833+'\x0a'+_0x3e3911];if(_0x3e3911)return[_0x3e3911];if(_0x597833)return['v'+_0x597833];return[];});return _0x1c461d[_0x598fa4(0x128)]>0x0?_0x1c461d[_0x598fa4(0x11f)]('\x0a\x0a'):null;}function extractUpdateInfoPatch(_0x54eb31){const _0x108d2e=_0x47e9;if(!_0x54eb31||typeof _0x54eb31!=='object')return{};return{'remoteVersion':normalizeString(_0x54eb31[_0x108d2e(0x17e)]),'availableVersion':normalizeString(_0x54eb31[_0x108d2e(0x17e)]),'releaseName':normalizeString(_0x54eb31[_0x108d2e(0x19e)+_0x108d2e(0x153)]),'releaseDate':normalizeString(_0x54eb31[_0x108d2e(0x198)+_0x108d2e(0x1a1)]),'releaseNotes':normalizeReleaseNotes(_0x54eb31[_0x108d2e(0x19e)+_0x108d2e(0x147)])};}function extractPackageFileName(_0x525be0){const _0x3c5ef8=_0x47e9,_0x11e0a9=normalizeString(_0x525be0);if(!_0x11e0a9)return null;try{const _0x4b32b8=new URL(_0x11e0a9);return normalizeAppUpdatePackageFileName(decodeURIComponent(basename(_0x4b32b8['pathname'])));}catch{const _0x2efd1d=_0x11e0a9[_0x3c5ef8(0x178)](/[?#]/u,0x1)[0x0];return normalizeAppUpdatePackageFileName(basename(_0x2efd1d));}}function getPreferredUpdatePackagePattern(){const _0x4522fb=_0x47e9;if(process[_0x4522fb(0xf5)]==='darwin')return/\.zip$/iu;if(process[_0x4522fb(0xf5)]===_0x4522fb(0x10c))return/\.exe$/iu;if(process['platform']===_0x4522fb(0xef))return/\.AppImage$/u;return/\.(zip|exe|AppImage)$/u;}function extractRemoteUpdatePackageMetadata(_0x3fb067,_0x54d92d){const _0x95a2fe=_0x47e9;if(!_0x3fb067||typeof _0x3fb067!==_0x95a2fe(0x17a))return null;const _0x53dc40=normalizeString(_0x3fb067['version']);if(!_0x53dc40)return null;const _0x4ad271=[],_0x46c7e9=Array['isArray'](_0x3fb067['files'])?_0x3fb067[_0x95a2fe(0x1ab)]:[];for(const _0x1c3f1f of _0x46c7e9){if(!_0x1c3f1f||typeof _0x1c3f1f!==_0x95a2fe(0x17a))continue;const _0x4921ad=extractPackageFileName(_0x1c3f1f['url'])??extractPackageFileName(_0x1c3f1f[_0x95a2fe(0x106)])??normalizeAppUpdatePackageFileName(_0x1c3f1f[_0x95a2fe(0x1af)]),_0x16e1a8=normalizeString(_0x1c3f1f[_0x95a2fe(0x102)]);_0x4921ad&&_0x16e1a8&&_0x4ad271['push']({'fileName':_0x4921ad,'sha512':_0x16e1a8});}const _0x24bd38=extractPackageFileName(_0x3fb067['url'])??extractPackageFileName(_0x3fb067[_0x95a2fe(0x106)])??normalizeAppUpdatePackageFileName(_0x3fb067[_0x95a2fe(0x1af)]),_0x124a1d=normalizeString(_0x3fb067[_0x95a2fe(0x102)]);_0x24bd38&&_0x124a1d&&_0x4ad271['push']({'fileName':_0x24bd38,'sha512':_0x124a1d});const _0x2fc8d7=_0x4ad271['find'](_0xebd553=>getPreferredUpdatePackagePattern()[_0x95a2fe(0x1a6)](_0xebd553[_0x95a2fe(0x1af)]));if(!_0x2fc8d7)return _0x54d92d?.[_0x95a2fe(0x14d)]?.(_0x95a2fe(0x109)+_0x95a2fe(0x18e)+'te\x20packa'+_0x95a2fe(0xec)+_0x95a2fe(0x12d)+'latform',{'platform':process[_0x95a2fe(0xf5)],'candidates':_0x4ad271['map'](_0x1a2232=>_0x1a2232['fileName'])}),null;return{'version':_0x53dc40,..._0x2fc8d7};}function extractProgressPatch(_0x4ab278){const _0x418a82=_0x47e9;return{'downloadPercent':typeof _0x4ab278['percent']===_0x418a82(0x1b0)?_0x4ab278[_0x418a82(0x188)]:null,'bytesPerSecond':typeof _0x4ab278[_0x418a82(0x1a8)+_0x418a82(0x19b)]===_0x418a82(0x1b0)?_0x4ab278[_0x418a82(0x1a8)+_0x418a82(0x19b)]:null,'transferredBytes':typeof _0x4ab278['transfer'+'red']==='number'?_0x4ab278[_0x418a82(0x160)+_0x418a82(0x15c)]:null,'totalBytes':typeof _0x4ab278['total']===_0x418a82(0x1b0)?_0x4ab278['total']:null};}function getErrorMessage(_0x597d7a){const _0x446bca=_0x47e9;if(_0x597d7a instanceof Error&&_0x597d7a[_0x446bca(0x143)][_0x446bca(0xee)]())return _0x597d7a['message'][_0x446bca(0xee)]();if(typeof _0x597d7a==='string'&&_0x597d7a[_0x446bca(0xee)]())return _0x597d7a[_0x446bca(0xee)]();return _0x446bca(0xed)+'误';}export function createUpdateController({shellConfig:_0x3f3730,appName:_0x1704f5,appVersion:_0x214520,broadcast:_0x205c69,logger:_0x2a2e17}){const _0x3a3167=_0x47e9,_0x4f9b29=_0x3f3730['updates']??{},_0x578f64=normalizeAppUpdateChannel(_0x4f9b29['channel']),_0x1d7c01={'backgroundCheckIntervalMs':_0x4f9b29[_0x3a3167(0x170)+_0x3a3167(0x1a4)+'ntervalM'+'s']??DEFAULT_BACKGROUND_UPDATE_CHECK_INTERVAL_MS,'backgroundCheckStaleMs':_0x4f9b29[_0x3a3167(0x170)+'ndCheckS'+_0x3a3167(0x122)]??DEFAULT_BACKGROUND_UPDATE_CHECK_STALE_MS,'installQuitTimeoutMs':_0x4f9b29[_0x3a3167(0x15d)+_0x3a3167(0xf0)+_0x3a3167(0x19a)]??DEFAULT_INSTALL_QUIT_TIMEOUT_MS,'autoDownload':_0x4f9b29[_0x3a3167(0x179)+'load']===!![]},_0x2846d4={'supported':![],'channel':_0x578f64,'phase':_0x3a3167(0x184)+_0x3a3167(0x1a7),'currentVersion':_0x214520(),'remoteVersion':null,'comparisonResult':_0x3a3167(0x13b),'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':_0x3a3167(0x196),'error':null,'errorCode':null};let _0x2b2f35=![],_0x2753e6=null,_0x5f1d05=null,_0x13931c=null,_0x1bc884=null,_0x1c1911=null,_0x28f613=![],_0x2ac2eb=null,_0x5b9dea=0x0;function _0x205959(){const _0x2202ae=_0x3a3167;if(process['platform']===_0x2202ae(0x19f))return join(homedir(),_0x2202ae(0x17c),_0x2202ae(0x13f));if(process[_0x2202ae(0xf5)]===_0x2202ae(0x10c))return process.env.LOCALAPPDATA??join(homedir(),_0x2202ae(0x181),_0x2202ae(0x134));return process.env.XDG_CACHE_HOME??join(homedir(),_0x2202ae(0x197));}function _0x2bfea3(){const _0x646740=_0x3a3167;if(!app[_0x646740(0xf4)+'ed']||!process[_0x646740(0x191)+_0x646740(0x14b)])return{};const _0x4c7714=join(process[_0x646740(0x191)+_0x646740(0x14b)],_0x646740(0x19c)+_0x646740(0x194));if(!existsSync(_0x4c7714))return{};try{const _0x32bb25=readFileSync(_0x4c7714,_0x646740(0x15e)),_0x311339=/^\s*channel:\s*["']?([^"'\s#]+)["']?/imu[_0x646740(0x101)](_0x32bb25),_0x20bd4e=/^\s*updaterCacheDirName:\s*["']?([^"'\s#]+)["']?/imu[_0x646740(0x101)](_0x32bb25);return{'channel':normalizeAppUpdateChannel(_0x311339?.[0x1]),'updaterCacheDirName':normalizeString(_0x20bd4e?.[0x1])};}catch(_0x2fad2c){return _0x2a2e17?.['warn']?.(_0x646740(0x132)+_0x646740(0x146)+_0x646740(0x1ae)+_0x646740(0x104),{'error':getErrorMessage(_0x2fad2c)}),{};}}const _0x586418=_0x2bfea3();_0x586418['channel']&&(_0x2846d4[_0x3a3167(0x1a5)]=_0x586418['channel']);function _0x237fce(){const _0x2b134c=_0x3a3167,_0x1adf31=_0x586418[_0x2b134c(0x15a)+'acheDirN'+_0x2b134c(0x153)]||_0x1704f5()+_0x2b134c(0x12a);return join(_0x205959(),_0x1adf31);}function _0x56b032(_0x2100cd){const _0xd5f213=_0x3a3167;return _0x2100cd===_0xd5f213(0x142)?_0xd5f213(0x125)+_0xd5f213(0x10f):'自动更新功能已就'+'绪';}function _0x9450d5(){const _0x321da8=_0x3a3167;if(_0x4f9b29[_0x321da8(0x165)]===![])return![];if(!app[_0x321da8(0xf4)+'ed'])return![];if(process[_0x321da8(0xf5)]!==_0x321da8(0xef))return!![];return Boolean(process.env.APPIMAGE);}function _0x1438aa(){const _0x15d79e=_0x3a3167;if(_0x4f9b29[_0x15d79e(0x165)]===![])return _0x15d79e(0x139)+_0x15d79e(0x157)+'fig\x20中禁用';if(!app[_0x15d79e(0xf4)+'ed'])return _0x15d79e(0x1ac)+_0x15d79e(0x10d);if(process['platform']===_0x15d79e(0xef))return _0x15d79e(0xe7)+_0x15d79e(0x13e)+_0x15d79e(0x161)+_0x15d79e(0x12c);return _0x15d79e(0x1a9)+_0x15d79e(0x126);}function _0xd3b1ec(){const _0x7aa61c=_0x3a3167;return join(_0x3f3730[_0x7aa61c(0x124)],_0x7aa61c(0x16c)+_0x7aa61c(0x14e)+'ntext.js'+'on');}function _0x5f2b83(){return{'hasPendingPackage':![],'pendingPackageName':null,'pendingPackageBytes':null};}function _0x5b95f9(){return{..._0x2846d4};}function _0x828664(){const _0x3da082=_0x3a3167,_0xee49e3=_0x5b95f9();for(const _0x3fd8a6 of BrowserWindow[_0x3da082(0xeb)+'ndows']()){!_0x3fd8a6[_0x3da082(0x168)+_0x3da082(0x192)]()&&_0x3fd8a6['webConte'+_0x3da082(0x186)]['send'](_0x3da082(0x14c)+_0x3da082(0x189),_0xee49e3);}_0x205c69?.('app:upda'+'te-state',_0xee49e3);}function _0x3788bd(_0xc77955){const _0x5bf8e5=_0x3a3167,_0x369853={..._0xc77955};_0x369853[_0x5bf8e5(0x120)]===null&&_0x369853['errorCod'+'e']===undefined&&(_0x369853[_0x5bf8e5(0x11b)+'e']=null),Object['assign'](_0x2846d4,_0x369853,{'currentVersion':_0x214520()}),_0x828664();}function _0x4a03e1(){const _0x3fee70=_0x3a3167;if(!_0x2846d4[_0x3fee70(0x172)+'d'])throw new Error(_0x1438aa());}function _0x2dcef0(_0x2e7505,_0x4a13b2={}){const _0x2b1ddd=_0x3a3167;_0x2a2e17?.[_0x2b1ddd(0x175)]?.(_0x2e7505,_0x4a13b2);}function _0x227121(_0xb7f175,_0x258790={}){const _0x4b80f8=_0x3a3167;_0x2a2e17?.[_0x4b80f8(0x14d)]?.(_0xb7f175,_0x258790);}function _0x1210a4(_0x271a7b){const _0x2e1600=_0x3a3167;if(typeof _0x271a7b!==_0x2e1600(0x1b0)||!Number[_0x2e1600(0x13a)](_0x271a7b))return null;const _0x38970c=Math['min'](0x63,Math[_0x2e1600(0xfa)](0x0,_0x271a7b));if(_0x2846d4['phase']!==_0x2e1600(0x166)+_0x2e1600(0x108)||typeof _0x2846d4[_0x2e1600(0x166)+_0x2e1600(0x176)]!==_0x2e1600(0x1b0))return _0x38970c;return Math['max'](_0x2846d4['download'+_0x2e1600(0x176)],_0x38970c);}function _0xf397c6(_0x584be7,_0x4593a4){const _0x5e904b=_0x3a3167,_0x2b4df0=_0x584be7?'v'+_0x584be7:_0x5e904b(0x115);if(typeof _0x4593a4==='number'){if(_0x4593a4>=0x63)return _0x5e904b(0x131);return'正在下载\x20'+_0x2b4df0+'\x20('+_0x4593a4['toFixed'](0x1)+'%)';}return _0x5e904b(0x16f)+_0x2b4df0;}function _0x519f3e(_0x36f396){const _0x1f6d46=_0x3a3167;try{writeFileSync(_0xd3b1ec(),JSON[_0x1f6d46(0x187)+'y'](_0x36f396,null,0x2),_0x1f6d46(0x15e));}catch(_0x3699f1){_0x227121('failed\x20t'+_0x1f6d46(0x16b)+'t\x20instal'+'l\x20phase\x20'+_0x1f6d46(0x123),{'error':getErrorMessage(_0x3699f1)});}}function _0x4cce06(){const _0xbea8be=_0x3a3167;try{rmSync(_0xd3b1ec(),{'force':!![]});}catch(_0x40418b){_0x227121(_0xbea8be(0x132)+_0xbea8be(0x135)+'install\x20'+_0xbea8be(0x133)+'ntext',{'error':getErrorMessage(_0x40418b)});}}function _0x1337f9(){const _0x344dad=_0x3a3167,_0x331efb=join(_0x237fce(),_0x344dad(0x137));if(!existsSync(_0x331efb))return{'packageName':null,'packageBytes':null};try{const _0x360c96=readdirSync(_0x331efb)['find'](_0x1459a1=>/\.(zip|exe|dmg|AppImage)$/iu[_0x344dad(0x1a6)](_0x1459a1))??null;if(!_0x360c96)return{'packageName':null,'packageBytes':null};const _0x37886e=join(_0x331efb,_0x360c96);return{'packageName':_0x360c96,'packageBytes':statSync(_0x37886e)[_0x344dad(0x173)]};}catch(_0x31fa73){return _0x227121('failed\x20t'+_0x344dad(0x13c)+_0x344dad(0x127)+_0x344dad(0x182)+'l\x20packag'+'e',{'error':getErrorMessage(_0x31fa73)}),{'packageName':null,'packageBytes':null};}}function _0xe72086(){const _0x3df5b9=_0x3a3167;if(!_0x13931c)return null;const _0x2370a0=join(_0x237fce(),_0x3df5b9(0x137)),_0x24b3c8=join(_0x2370a0,_0x3df5b9(0x16e)+_0x3df5b9(0xfd));if(!existsSync(_0x24b3c8))return null;let _0x43025d=null;try{_0x43025d=JSON[_0x3df5b9(0x163)](readFileSync(_0x24b3c8,_0x3df5b9(0x15e)));}catch(_0x244ac6){return _0x227121(_0x3df5b9(0x132)+_0x3df5b9(0x18d)+_0x3df5b9(0xe6)+_0x3df5b9(0x107)+_0x3df5b9(0x12f),{'error':getErrorMessage(_0x244ac6)}),null;}if(!isMatchingAppUpdatePackageMetadata(_0x13931c,_0x43025d))return null;const _0x3a709a=join(_0x2370a0,_0x13931c[_0x3df5b9(0x1af)]);if(!existsSync(_0x3a709a))return null;try{const _0x1170c0=statSync(_0x3a709a);if(!_0x1170c0[_0x3df5b9(0x16a)]()||_0x1170c0['size']===0x0)return null;return{'metadata':_0x13931c,'packageName':_0x13931c[_0x3df5b9(0x1af)],'packageBytes':_0x1170c0['size']};}catch(_0x4e92cd){return _0x227121('failed\x20t'+_0x3df5b9(0x13c)+_0x3df5b9(0x127)+'g\x20downlo'+_0x3df5b9(0x164)+_0x3df5b9(0x11e),{'error':getErrorMessage(_0x4e92cd)}),null;}}function _0x3579e9(_0x27298d){const _0x1f549f=_0x3a3167,_0x44d869=_0xe72086();if(!_0x44d869)return![];const {metadata:_0x4b4fea,packageName:_0x58165d,packageBytes:_0x353d11}=_0x44d869;return _0x2dcef0('pending\x20'+'package\x20'+_0x1f549f(0x151)+'t',{'reason':_0x27298d,'version':_0x4b4fea[_0x1f549f(0x17e)],'packageName':_0x58165d,'packageBytes':_0x353d11}),_0x3788bd({'phase':_0x1f549f(0x1a0)+'e','remoteVersion':_0x4b4fea['version'],'comparisonResult':_0x1f549f(0x17d)+_0x1f549f(0xe9),'hasUpdate':!![],'availableVersion':_0x4b4fea[_0x1f549f(0x17e)],'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':_0x353d11,'totalBytes':_0x353d11,'hasPendingPackage':!![],'pendingPackageName':_0x58165d,'pendingPackageBytes':_0x353d11,'error':null,'message':_0x1f549f(0x130)+'v'+_0x4b4fea[_0x1f549f(0x17e)]+(_0x1f549f(0x11d)+_0x1f549f(0x162))}),!![];}function _0x5a766f(){const _0xf0a028=_0x3a3167;return _0x2846d4[_0xf0a028(0x172)+'d']&&!_0x2753e6&&!_0x5f1d05&&[_0xf0a028(0xea),'not-avai'+'lable','error'][_0xf0a028(0x1ad)](_0x2846d4[_0xf0a028(0xfc)]);}function _0x53ae5e(){if(!_0x1c1911)return;clearTimeout(_0x1c1911),_0x1c1911=null;}function _0xcf24a7(_0x3aa5f4){const _0x42217c=_0x3a3167,_0x2f59e9=_0x2846d4[_0x42217c(0x166)+_0x42217c(0x112)+'n'],_0x44bf20=_0x2846d4['availabl'+_0x42217c(0x119)];_0x1bc884=null,_0x28f613=![],_0x53ae5e(),_0x4cce06(),_0x3788bd({'phase':'error','checkedAt':new Date()[_0x42217c(0x154)+_0x42217c(0x108)](),'hasPendingPackage':![],'pendingPackageName':null,'pendingPackageBytes':null,'hasUpdate':!![],'availableVersion':_0x44bf20??_0x2f59e9,'downloadedVersion':_0x2f59e9,'error':getErrorMessage(_0x3aa5f4),'errorCode':'install-'+'error','message':_0x42217c(0x16d)});}function _0x343991(){const _0x2c9e6d=_0x3a3167;_0x53ae5e(),_0x28f613=![],_0x1c1911=setTimeout(()=>{const _0x25d7e5=_0x47e9;if(_0x28f613||_0x2846d4[_0x25d7e5(0xfc)]!==_0x25d7e5(0xfe)+'ng')return;_0x227121(_0x25d7e5(0xf1)+'nstall\x20d'+_0x25d7e5(0x117)+_0x25d7e5(0x12e)+_0x25d7e5(0x15f)+_0x25d7e5(0x11c)+_0x25d7e5(0x185),{'downloadedVersion':_0x2846d4[_0x25d7e5(0x166)+_0x25d7e5(0x112)+'n'],'currentVersion':_0x2846d4[_0x25d7e5(0x114)+'ersion']}),_0xcf24a7(new Error(_0x25d7e5(0x141)+_0x25d7e5(0x183)+_0x25d7e5(0x100)));},_0x1d7c01[_0x2c9e6d(0x15d)+_0x2c9e6d(0xf0)+_0x2c9e6d(0x19a)]);}function _0x439268(){const _0xe02de9=_0x3a3167;if(_0x2b2f35)return;_0x2b2f35=!![],_0x2846d4[_0xe02de9(0x172)+'d']=_0x9450d5(),_0x2846d4[_0xe02de9(0xfc)]=_0x2846d4[_0xe02de9(0x172)+'d']?_0xe02de9(0xea):_0xe02de9(0x184)+_0xe02de9(0x1a7),_0x2846d4[_0xe02de9(0x143)]=_0x2846d4['supporte'+'d']?_0x56b032(_0x2846d4[_0xe02de9(0x1a5)]):_0x1438aa();if(!_0x2846d4['supporte'+'d']){_0x828664();return;}autoUpdater[_0xe02de9(0x179)+'load']=_0x1d7c01[_0xe02de9(0x179)+_0xe02de9(0x193)],autoUpdater['autoInst'+_0xe02de9(0x12b)+'Quit']=![],autoUpdater['channel']=_0x2846d4[_0xe02de9(0x1a5)],autoUpdater['on'](_0xe02de9(0x199)+'-for-upd'+'ate',()=>{const _0x5d75f1=_0xe02de9;_0x13931c=null,_0x3788bd({'phase':'checking','checkedAt':new Date()['toISOStr'+_0x5d75f1(0x108)](),'remoteVersion':null,'comparisonResult':'unknown','hasUpdate':![],'availableVersion':null,'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,..._0x5f2b83(),'error':null,'message':_0x5d75f1(0x18b)});}),autoUpdater['on'](_0xe02de9(0x148)+_0xe02de9(0x10b),_0x231ee4=>{const _0x4f638b=_0xe02de9,_0x5cb35a=extractUpdateInfoPatch(_0x231ee4),_0x477ce7=compareAppVersions(_0x214520(),_0x5cb35a[_0x4f638b(0x17f)+_0x4f638b(0x144)]);if(_0x477ce7!==_0x4f638b(0x17d)+_0x4f638b(0xe9)){_0x13931c=null,_0x3788bd({..._0x5cb35a,'phase':_0x4f638b(0x159)+_0x4f638b(0x13d),'comparisonResult':_0x477ce7,'hasUpdate':![],'availableVersion':null,'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,..._0x5f2b83(),'checkedAt':new Date()[_0x4f638b(0x154)+'ing'](),'error':null,'message':'当前已经是最新版'+'本'});return;}_0x13931c=extractRemoteUpdatePackageMetadata(_0x231ee4,_0x2a2e17),_0x3788bd({..._0x5cb35a,'phase':_0x4f638b(0x1a0)+'e','comparisonResult':_0x477ce7,'hasUpdate':!![],'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,..._0x5f2b83(),'checkedAt':new Date()[_0x4f638b(0x154)+_0x4f638b(0x108)](),'error':null,'message':_0x5cb35a[_0x4f638b(0x1a0)+_0x4f638b(0x119)]?_0x4f638b(0xf3)+_0x5cb35a[_0x4f638b(0x1a0)+_0x4f638b(0x119)]:'发现可用更新'}),_0x3579e9(_0x4f638b(0x14f)+_0x4f638b(0x10b));}),autoUpdater['on']('update-n'+'ot-avail'+_0xe02de9(0x180),_0x230abe=>{const _0x21e2ab=_0xe02de9;_0x13931c=null;const _0x4ed0ca=extractUpdateInfoPatch(_0x230abe);_0x3788bd({..._0x4ed0ca,'phase':_0x21e2ab(0x159)+_0x21e2ab(0x13d),'comparisonResult':compareAppVersions(_0x214520(),_0x4ed0ca['remoteVe'+'rsion']),'hasUpdate':![],'availableVersion':null,'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,..._0x5f2b83(),'checkedAt':new Date()[_0x21e2ab(0x154)+_0x21e2ab(0x108)](),'error':null,'message':'当前已经是最新版'+'本'});}),autoUpdater['on'](_0xe02de9(0x166)+_0xe02de9(0x136)+'s',_0x4f745e=>{const _0x19defa=_0xe02de9,_0x152f02=extractProgressPatch(_0x4f745e),_0x1d4d74=_0x1210a4(_0x152f02[_0x19defa(0x166)+_0x19defa(0x176)]??null);_0x3788bd({..._0x152f02,'downloadPercent':_0x1d4d74,'phase':_0x19defa(0x166)+_0x19defa(0x108),..._0x5f2b83(),'error':null,'message':_0xf397c6(_0x2846d4[_0x19defa(0x1a0)+'eVersion'],_0x1d4d74)});}),autoUpdater['on'](_0xe02de9(0x10e)+_0xe02de9(0x1a2)+'d',_0x5d9af2=>{const _0x225a8a=_0xe02de9,_0x17c6ea=extractUpdateInfoPatch(_0x5d9af2),_0x47bab0=extractRemoteUpdatePackageMetadata(_0x5d9af2,_0x2a2e17)??_0x13931c;_0x47bab0&&(_0x13931c=_0x47bab0);const _0x5825ae=_0x17c6ea[_0x225a8a(0x1a0)+'eVersion']??_0x47bab0?.[_0x225a8a(0x17e)]??_0x2846d4[_0x225a8a(0x1a0)+'eVersion'];_0x3788bd({..._0x17c6ea,'phase':_0x225a8a(0x166)+'ed','comparisonResult':compareAppVersions(_0x214520(),_0x5825ae),'hasUpdate':!![],'downloadedVersion':_0x5825ae,'downloadPercent':0x64,..._0x5f2b83(),'error':null,'message':_0x5825ae?_0x225a8a(0x17b)+_0x5825ae+_0x225a8a(0x118):'更新包已准备好安'+'装'});}),autoUpdater['on'](_0xe02de9(0x120),_0x3000c9=>{const _0x2914bc=_0xe02de9;if(_0x2846d4[_0x2914bc(0xfc)]==='installi'+'ng'){_0xcf24a7(_0x3000c9);return;}_0x3788bd({'phase':'error','checkedAt':new Date()[_0x2914bc(0x154)+_0x2914bc(0x108)](),..._0x5f2b83(),'error':getErrorMessage(_0x3000c9),'errorCode':_0x2846d4[_0x2914bc(0xfc)]==='download'+'ing'?_0x2914bc(0x166)+_0x2914bc(0x14a):_0x2914bc(0x105)+_0x2914bc(0x167),'message':'自动更新失败'});}),_0x828664();}async function _0x1b1ead(){const _0x148622=_0x3a3167;_0x439268(),_0x4a03e1();if(_0x2753e6)return _0x2753e6;return _0x2dcef0(_0x148622(0x140)+'quested'),_0x2753e6=autoUpdater['checkFor'+_0x148622(0x149)]()[_0x148622(0x111)](()=>_0x5b95f9())[_0x148622(0x171)](()=>{_0x2753e6=null;}),_0x2753e6;}async function _0x2537f3(){const _0x4e53eb=_0x3a3167;_0x439268(),_0x4a03e1();if(_0x2846d4[_0x4e53eb(0xfc)]===_0x4e53eb(0x166)+'ed'||_0x2846d4['phase']===_0x4e53eb(0xfe)+'ng')return _0x5b95f9();if(!_0x2846d4[_0x4e53eb(0x15b)+'e'])throw new Error(_0x4e53eb(0x145)+'更新');const _0x10a9c5=_0x2846d4[_0x4e53eb(0xfc)]===_0x4e53eb(0x120)&&_0x2846d4['errorCod'+'e']==='install-'+_0x4e53eb(0x120)&&Boolean(_0x2846d4[_0x4e53eb(0x166)+_0x4e53eb(0x112)+'n']);if(_0x2846d4[_0x4e53eb(0xfc)]===_0x4e53eb(0x120)){if(_0x10a9c5)_0x3788bd({'phase':_0x4e53eb(0x1a0)+'e','hasUpdate':!![],'availableVersion':_0x2846d4['availabl'+_0x4e53eb(0x119)]??_0x2846d4['download'+'edVersio'+'n'],'downloadedVersion':null,'downloadPercent':null,..._0x5f2b83(),'error':null,'message':'正在重新准备更新'+'包'});else{await _0x1b1ead();if(_0x2846d4[_0x4e53eb(0xfc)]!==_0x4e53eb(0x1a0)+'e')throw new Error(_0x4e53eb(0x145)+'更新');}}if(![_0x4e53eb(0x1a0)+'e',_0x4e53eb(0x166)+'ing'][_0x4e53eb(0x1ad)](_0x2846d4[_0x4e53eb(0xfc)]))throw new Error(_0x4e53eb(0x145)+'更新');if(_0x5f1d05)return _0x5f1d05;return _0x5f1d05=autoUpdater[_0x4e53eb(0x166)+_0x4e53eb(0x1a3)]()[_0x4e53eb(0x111)](()=>{const _0x1a5fb4=_0x4e53eb;return _0x2846d4[_0x1a5fb4(0xfc)]!=='download'+'ed'&&_0x3788bd({'phase':'error','checkedAt':new Date()[_0x1a5fb4(0x154)+_0x1a5fb4(0x108)](),..._0x5f2b83(),'error':'更新包校验完成但'+_0x1a5fb4(0xf9)+'重试下载更新','errorCode':_0x1a5fb4(0x166)+_0x1a5fb4(0x14a),'message':_0x1a5fb4(0xe8)}),_0x5b95f9();})[_0x4e53eb(0x171)](()=>{_0x5f1d05=null;}),_0x5f1d05;}function _0x4219f1(){const _0x4f3f9c=_0x3a3167;_0x439268(),_0x4a03e1();if(!['download'+'ed','installi'+'ng'][_0x4f3f9c(0x1ad)](_0x2846d4[_0x4f3f9c(0xfc)]))throw new Error(_0x4f3f9c(0x19d)+'已下载更新');const _0x393f81=_0x1337f9();_0x1bc884=Date[_0x4f3f9c(0x138)](),_0x519f3e({'startedAt':new Date(_0x1bc884)['toISOStr'+_0x4f3f9c(0x108)](),'currentVersion':_0x2846d4[_0x4f3f9c(0x114)+'ersion'],'downloadedVersion':_0x2846d4[_0x4f3f9c(0x166)+_0x4f3f9c(0x112)+'n'],'pendingPackage':_0x393f81[_0x4f3f9c(0x11a)+'ame'],'pendingPackageBytes':_0x393f81[_0x4f3f9c(0x158)+_0x4f3f9c(0xfb)]}),_0x3788bd({'phase':'installi'+'ng',..._0x5f2b83(),'error':null,'message':_0x4f3f9c(0x150)+_0x4f3f9c(0x18f)});try{_0x343991(),autoUpdater[_0x4f3f9c(0xf1)+'nstall'](![],!![]);}catch(_0x2c8204){_0xcf24a7(_0x2c8204);throw _0x2c8204;}return{'ok':!![]};}async function _0x13ed00(_0x5753fc){const _0x491570=_0x3a3167;if(!_0x5a766f())return;_0x5b9dea=Date[_0x491570(0x138)](),_0x2dcef0(_0x491570(0x170)+_0x491570(0x177)+_0x491570(0x18c)+_0x491570(0x110)+'d',{'reason':_0x5753fc});try{await _0x1b1ead();}catch(_0x3c6525){_0x227121('backgrou'+'nd\x20updat'+'e\x20check\x20'+_0x491570(0xf2),{'reason':_0x5753fc,'error':getErrorMessage(_0x3c6525)});}}function _0x3daf0a(_0x25c060){const _0xbd999c=_0x3a3167;if(!_0x2846d4[_0xbd999c(0x172)+'d'])return;const _0x1b80d3=Date['now']()-_0x5b9dea;if(_0x1b80d3<_0x1d7c01[_0xbd999c(0x170)+_0xbd999c(0x18a)+'taleMs'])return;void _0x13ed00(_0x25c060);}function _0x3b82ce(){const _0x3d0f82=_0x3a3167;_0x439268();if(!_0x2846d4['supporte'+'d']||_0x2ac2eb)return;_0x2ac2eb=setInterval(()=>{const _0x445fec=_0x47e9;void _0x13ed00(_0x445fec(0xff));},_0x1d7c01[_0x3d0f82(0x170)+_0x3d0f82(0x1a4)+_0x3d0f82(0x113)+'s']),void _0x13ed00(_0x3d0f82(0xf6)),_0x2dcef0(_0x3d0f82(0x170)+_0x3d0f82(0x177)+'e\x20check\x20'+'schedule'+'r\x20starte'+'d',_0x1d7c01);}function _0x1d56b3(){const _0x41d2cc=_0x3a3167;if(_0x2846d4[_0x41d2cc(0xfc)]!==_0x41d2cc(0xfe)+'ng')return;_0x28f613=!![],_0x53ae5e();}return{'initialize':_0x439268,'getState':_0x5b95f9,'checkForUpdates':_0x1b1ead,'downloadUpdate':_0x2537f3,'quitAndInstall':_0x4219f1,'requestBackgroundCheck':_0x3daf0a,'startBackgroundChecks':_0x3b82ce,'markQuitObserved':_0x1d56b3};}
@@ -1 +1 @@
1
- (function(_0x24b954,_0x202408){const _0x2a8337=_0x3b15,_0x10de90=_0x24b954();while(!![]){try{const _0x23a633=parseInt(_0x2a8337(0xa7))/0x1+-parseInt(_0x2a8337(0xcd))/0x2*(-parseInt(_0x2a8337(0xd6))/0x3)+-parseInt(_0x2a8337(0xb4))/0x4*(parseInt(_0x2a8337(0xbd))/0x5)+parseInt(_0x2a8337(0xcc))/0x6+parseInt(_0x2a8337(0xdf))/0x7*(-parseInt(_0x2a8337(0xb5))/0x8)+-parseInt(_0x2a8337(0xaf))/0x9+parseInt(_0x2a8337(0xb1))/0xa;if(_0x23a633===_0x202408)break;else _0x10de90['push'](_0x10de90['shift']());}catch(_0x2c0976){_0x10de90['push'](_0x10de90['shift']());}}}(_0x1069,0xebbe2));function _0x3b15(_0x52a536,_0x2658e0){_0x52a536=_0x52a536-0xa6;const _0x106929=_0x1069();let _0x3b1579=_0x106929[_0x52a536];return _0x3b1579;}import{BrowserWindow}from'electron';function getErrorMessage(_0x5771fe){const _0x15a6de=_0x3b15;if(_0x5771fe instanceof Error&&_0x5771fe[_0x15a6de(0xd3)]['trim']())return _0x5771fe[_0x15a6de(0xd3)][_0x15a6de(0xaa)]();if(typeof _0x5771fe===_0x15a6de(0xb7)&&_0x5771fe[_0x15a6de(0xaa)]())return _0x5771fe['trim']();return _0x15a6de(0xca)+'误';}function createUnavailableUpdateController({shellConfig:_0x279234,appVersion:_0x1b8d6b,broadcast:_0xf201d2,logger:_0x535294,reason:_0x1b363f}){const _0x43b285=_0x3b15,_0x599592=_0x279234[_0x43b285(0xd1)]??{},_0x20bb78={'supported':![],'channel':_0x599592[_0x43b285(0xb0)]===_0x43b285(0xc8)?_0x43b285(0xc8):_0x43b285(0xdd),'phase':_0x43b285(0xcf)+_0x43b285(0xc1),'currentVersion':_0x1b8d6b(),'remoteVersion':null,'comparisonResult':_0x43b285(0xc9),'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':_0x1b363f,'error':null,'errorCode':'missing-'+'dependen'+'cy'};let _0x2ed7a4=![];function _0xa72627(){return{..._0x20bb78,'currentVersion':_0x1b8d6b()};}function _0x40bf75(){const _0x1c22a2=_0x43b285,_0x397902=_0xa72627();for(const _0x5813cf of BrowserWindow[_0x1c22a2(0xe0)+'ndows']()){!_0x5813cf[_0x1c22a2(0xc4)+'yed']()&&_0x5813cf[_0x1c22a2(0xdc)+_0x1c22a2(0xab)]['send'](_0x1c22a2(0xd2)+_0x1c22a2(0xc0),_0x397902);}_0xf201d2?.(_0x1c22a2(0xd2)+_0x1c22a2(0xc0),_0x397902);}function _0xf6018b(){const _0x1ddc5f=_0x43b285;if(_0x2ed7a4)return;_0x2ed7a4=!![],_0x535294?.[_0x1ddc5f(0xa9)]?.(_0x1ddc5f(0xb6)+_0x1ddc5f(0xde)+'bled\x20bec'+_0x1ddc5f(0xae)+_0x1ddc5f(0xa6)+_0x1ddc5f(0xac)+_0x1ddc5f(0xd7)+'able',{'reason':_0x1b363f}),_0x40bf75();}function _0x52dcc4(){throw new Error(_0x1b363f);}async function _0xa012c8(){_0xf6018b(),_0x52dcc4();}async function _0x121288(){_0xf6018b(),_0x52dcc4();}async function _0x4c87d6(){_0xf6018b(),_0x52dcc4();}function _0x135691(){}function _0x1fa693(){_0xf6018b();}function _0x1e3ca6(){}return{'initialize':_0xf6018b,'getState':_0xa72627,'checkForUpdates':_0xa012c8,'downloadUpdate':_0x121288,'quitAndInstall':_0x4c87d6,'requestBackgroundCheck':_0x135691,'startBackgroundChecks':_0x1fa693,'markQuitObserved':_0x1e3ca6};}function isElectronUpdaterMissingError(_0x273ccd){const _0x4f4bd0=_0x3b15;if(!_0x273ccd)return![];if(_0x273ccd&&typeof _0x273ccd===_0x4f4bd0(0xb8)&&_0x4f4bd0(0xc3)in _0x273ccd&&(_0x273ccd[_0x4f4bd0(0xc3)]==='ERR_MODU'+_0x4f4bd0(0xbf)+'OUND'||_0x273ccd[_0x4f4bd0(0xc3)]===_0x4f4bd0(0xd9)+_0x4f4bd0(0xc2))){const _0x52e105=getErrorMessage(_0x273ccd);return _0x52e105[_0x4f4bd0(0xbb)](_0x4f4bd0(0xdb)+_0x4f4bd0(0xc6)+'r\x27')||_0x52e105[_0x4f4bd0(0xbb)](_0x4f4bd0(0xb9)+_0x4f4bd0(0xc6)+'r\x22');}return![];}export async function loadCreateUpdateController({logger:_0x7c204e,importer:importer=_0x9dda10=>import(_0x9dda10)}={}){const _0x36fbe2=_0x3b15;try{const _0x23bd75=await importer(_0x36fbe2(0xbc)+'ller.mjs');if(typeof _0x23bd75[_0x36fbe2(0xd4)+_0x36fbe2(0xad)+_0x36fbe2(0xa8)]!==_0x36fbe2(0xd8))throw new TypeError(_0x36fbe2(0xda)+_0x36fbe2(0xd5)+'er.mjs\x20d'+_0x36fbe2(0xbe)+_0x36fbe2(0xb3)+'reateUpd'+'ateContr'+_0x36fbe2(0xc5));return _0x23bd75['createUp'+_0x36fbe2(0xad)+'roller'];}catch(_0x4da773){if(!isElectronUpdaterMissingError(_0x4da773))throw _0x4da773;const _0x3a1bce=_0x36fbe2(0xcb)+_0x36fbe2(0xc7)+'updater\x20'+_0x36fbe2(0xb2)+_0x36fbe2(0xba);return _0x7c204e?.[_0x36fbe2(0xa9)]?.(_0x36fbe2(0xe1)+_0x36fbe2(0xce)+_0x36fbe2(0xc7)+_0x36fbe2(0xd0),{'error':getErrorMessage(_0x4da773),'reason':_0x3a1bce}),_0x258286=>createUnavailableUpdateController({..._0x258286,'logger':_0x258286?.['logger']??_0x7c204e,'reason':_0x3a1bce});}}export const __test__={'createUnavailableUpdateController':createUnavailableUpdateController,'isElectronUpdaterMissingError':isElectronUpdaterMissingError};function _0x1069(){const _0x428506=['ate\x20disa','4310614yDbENi','getAllWi','failed\x20t','ctron-up','1326173WaPMot','roller','warn','trim','nts','dater\x20is','dateCont','ause\x20ele','3871233YbzmjH','channel','6640490WaCoUZ','缺失,已降级为禁','export\x20c','33844YnMfwd','8IQKLfY','auto\x20upd','string','object','\x22electro','用状态','includes','./contro','535uzHueY','oes\x20not\x20','LE_NOT_F','te-state','ted','OT_FOUND','code','isDestro','oller','n-update','lectron-','alpha','unknown','未知的自动更新错','自动更新依赖\x20e','2207166gQpLVW','2vHuzzh','o\x20load\x20e','unsuppor','updater','updates','app:upda','message','createUp','controll','1676355VrSgTp','\x20unavail','function','MODULE_N','updates/','\x27electro','webConte','latest'];_0x1069=function(){return _0x428506;};return _0x1069();}
1
+ function _0x19ae(){const _0x2e5db1=['alpha','ate\x20disa','ller.mjs','createUp','\x20unavail','OT_FOUND','export\x20c','o\x20load\x20e','2297124hNsOqm','warn','channel','logger','lectron-','includes','n-update','./contro','send','dater\x20is','message','ause\x20ele','dependen','自动更新依赖\x20e','string','\x27electro','24041RLSpRt','trim','639ckElLZ','\x22electro','OUND','242SJKEQJ','yed','MODULE_N','未知的自动更新错','te-state','dateCont','LE_NOT_F','nts','able','bled\x20bec','getAllWi','1270030pxmkPS','6150032pFAJfS','function','auto\x20upd','updater','failed\x20t','ted','reateUpd','22MtqiRl','latest','updater\x20','113512ijKagh','code','er.mjs\x20d','8DwSYzF','ndows','2538145vfwKCD','oes\x20not\x20','unsuppor','缺失,已降级为禁','controll','1785816rSGkkk','webConte','unknown','ateContr','app:upda'];_0x19ae=function(){return _0x2e5db1;};return _0x19ae();}(function(_0x448701,_0x14fcf3){const _0x49b131=_0x3105,_0x2d5fcb=_0x448701();while(!![]){try{const _0x5d16ec=parseInt(_0x49b131(0x1bf))/0x1*(-parseInt(_0x49b131(0x1d7))/0x2)+parseInt(_0x49b131(0x1e4))/0x3+-parseInt(_0x49b131(0x1dd))/0x4*(parseInt(_0x49b131(0x1df))/0x5)+parseInt(_0x49b131(0x1f1))/0x6+-parseInt(_0x49b131(0x1d0))/0x7+-parseInt(_0x49b131(0x1da))/0x8*(parseInt(_0x49b131(0x1c1))/0x9)+-parseInt(_0x49b131(0x1cf))/0xa*(-parseInt(_0x49b131(0x1c4))/0xb);if(_0x5d16ec===_0x14fcf3)break;else _0x2d5fcb['push'](_0x2d5fcb['shift']());}catch(_0x42b863){_0x2d5fcb['push'](_0x2d5fcb['shift']());}}}(_0x19ae,0x94118));import{BrowserWindow}from'electron';function getErrorMessage(_0x10a058){const _0x1280e7=_0x3105;if(_0x10a058 instanceof Error&&_0x10a058[_0x1280e7(0x1b9)][_0x1280e7(0x1c0)]())return _0x10a058['message'][_0x1280e7(0x1c0)]();if(typeof _0x10a058===_0x1280e7(0x1bd)&&_0x10a058[_0x1280e7(0x1c0)]())return _0x10a058['trim']();return _0x1280e7(0x1c7)+'误';}function createUnavailableUpdateController({shellConfig:_0x4ec5b1,appVersion:_0x43dcc0,broadcast:_0x35084c,logger:_0xd3b0e9,reason:_0x283b2f}){const _0x26e35a=_0x3105,_0x6ba72c=_0x4ec5b1['updates']??{},_0x6c57f9={'supported':![],'channel':_0x6ba72c[_0x26e35a(0x1f3)]===_0x26e35a(0x1e9)?_0x26e35a(0x1e9):_0x26e35a(0x1d8),'phase':_0x26e35a(0x1e1)+_0x26e35a(0x1d5),'currentVersion':_0x43dcc0(),'remoteVersion':null,'comparisonResult':_0x26e35a(0x1e6),'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':_0x283b2f,'error':null,'errorCode':'missing-'+_0x26e35a(0x1bb)+'cy'};let _0x547ad8=![];function _0x3915c3(){return{..._0x6c57f9,'currentVersion':_0x43dcc0()};}function _0x4c2e35(){const _0x54ad20=_0x26e35a,_0x22f3a6=_0x3915c3();for(const _0x285063 of BrowserWindow[_0x54ad20(0x1ce)+_0x54ad20(0x1de)]()){!_0x285063['isDestro'+_0x54ad20(0x1c5)]()&&_0x285063[_0x54ad20(0x1e5)+_0x54ad20(0x1cb)][_0x54ad20(0x1b7)]('app:upda'+_0x54ad20(0x1c8),_0x22f3a6);}_0x35084c?.(_0x54ad20(0x1e8)+_0x54ad20(0x1c8),_0x22f3a6);}function _0x3f1d71(){const _0x3bdd2e=_0x26e35a;if(_0x547ad8)return;_0x547ad8=!![],_0xd3b0e9?.[_0x3bdd2e(0x1f2)]?.(_0x3bdd2e(0x1d2)+_0x3bdd2e(0x1ea)+_0x3bdd2e(0x1cd)+_0x3bdd2e(0x1ba)+'ctron-up'+_0x3bdd2e(0x1b8)+_0x3bdd2e(0x1ed)+_0x3bdd2e(0x1cc),{'reason':_0x283b2f}),_0x4c2e35();}function _0x50db4e(){throw new Error(_0x283b2f);}async function _0x154dd8(){_0x3f1d71(),_0x50db4e();}async function _0x2123c0(){_0x3f1d71(),_0x50db4e();}async function _0x130441(){_0x3f1d71(),_0x50db4e();}function _0xb480a5(){}function _0x1e8dad(){_0x3f1d71();}function _0x59e02d(){}return{'initialize':_0x3f1d71,'getState':_0x3915c3,'checkForUpdates':_0x154dd8,'downloadUpdate':_0x2123c0,'quitAndInstall':_0x130441,'requestBackgroundCheck':_0xb480a5,'startBackgroundChecks':_0x1e8dad,'markQuitObserved':_0x59e02d};}function isElectronUpdaterMissingError(_0x1442c5){const _0x5e668a=_0x3105;if(!_0x1442c5)return![];if(_0x1442c5&&typeof _0x1442c5==='object'&&_0x5e668a(0x1db)in _0x1442c5&&(_0x1442c5['code']==='ERR_MODU'+_0x5e668a(0x1ca)+_0x5e668a(0x1c3)||_0x1442c5[_0x5e668a(0x1db)]===_0x5e668a(0x1c6)+_0x5e668a(0x1ee))){const _0x1791c3=getErrorMessage(_0x1442c5);return _0x1791c3[_0x5e668a(0x1b4)](_0x5e668a(0x1be)+_0x5e668a(0x1b5)+'r\x27')||_0x1791c3[_0x5e668a(0x1b4)](_0x5e668a(0x1c2)+_0x5e668a(0x1b5)+'r\x22');}return![];}function _0x3105(_0x33c6e9,_0x596261){_0x33c6e9=_0x33c6e9-0x1b2;const _0x19ae20=_0x19ae();let _0x310509=_0x19ae20[_0x33c6e9];return _0x310509;}export async function loadCreateUpdateController({logger:_0x4cab02,importer:importer=_0x53ed19=>import(_0x53ed19)}={}){const _0x34868a=_0x3105;try{const _0x40dc36=await importer(_0x34868a(0x1b6)+_0x34868a(0x1eb));if(typeof _0x40dc36[_0x34868a(0x1ec)+_0x34868a(0x1c9)+'roller']!==_0x34868a(0x1d1))throw new TypeError('updates/'+_0x34868a(0x1e3)+_0x34868a(0x1dc)+_0x34868a(0x1e0)+_0x34868a(0x1ef)+_0x34868a(0x1d6)+_0x34868a(0x1e7)+'oller');return _0x40dc36['createUp'+'dateCont'+'roller'];}catch(_0x2c173a){if(!isElectronUpdaterMissingError(_0x2c173a))throw _0x2c173a;const _0x4be509=_0x34868a(0x1bc)+_0x34868a(0x1b3)+_0x34868a(0x1d9)+_0x34868a(0x1e2)+'用状态';return _0x4cab02?.[_0x34868a(0x1f2)]?.(_0x34868a(0x1d4)+_0x34868a(0x1f0)+'lectron-'+_0x34868a(0x1d3),{'error':getErrorMessage(_0x2c173a),'reason':_0x4be509}),_0x5df154=>createUnavailableUpdateController({..._0x5df154,'logger':_0x5df154?.[_0x34868a(0x1b2)]??_0x4cab02,'reason':_0x4be509});}}export const __test__={'createUnavailableUpdateController':createUnavailableUpdateController,'isElectronUpdaterMissingError':isElectronUpdaterMissingError};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wujie-shell/core",
3
- "version": "3.0.2",
3
+ "version": "4.0.1",
4
4
  "type": "module",
5
5
  "main": "dist/src/index.mjs",
6
6
  "exports": {
@@ -34,8 +34,8 @@
34
34
  "get-port": "^7.2.0",
35
35
  "semver": "^7.8.3",
36
36
  "ws": "^8.20.0",
37
- "@wujie-shell/config": "3.0.2",
38
- "@wujie-shell/logger": "3.0.2"
37
+ "@wujie-shell/config": "4.0.1",
38
+ "@wujie-shell/logger": "4.0.1"
39
39
  },
40
40
  "scripts": {
41
41
  "build": "node ../../scripts/build-packages.mjs --package @wujie-shell/core"