@alenfitz/spec-copilot 2.9.0 → 3.0.0

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.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @alenfitz/spec-copilot v2.9.0
2
+ * @alenfitz/spec-copilot v3.0.0
3
3
  * Copyright (c) 2026 alenfitz. All rights reserved.
4
4
  *
5
5
  * This file is proprietary and obfuscated. Reverse engineering, decompilation,
@@ -8,4 +8,4 @@
8
8
  *
9
9
  * Bugs / feature requests: https://github.com/Alenfitz/spec_copilot/issues
10
10
  */
11
- const _0x3b558b=_0x3a74,_0x1e7463=_0x3a74;(function(_0x11af6b,_0x2fd947){const _0x5cb60b={_0x2cb473:0x14e,_0x2b9c87:0x124,_0x1d4443:0x1c3,_0x46dc0e:0x1bc,_0x3867d8:0x137,_0x57db56:0x12e},_0x11c2b7=_0x3a74,_0x4d0897=_0x3a74,_0x3e5028=_0x11af6b();while(!![]){try{const _0x5ad70d=parseInt(_0x11c2b7(_0x5cb60b._0x2cb473))/(0x1f*0x5+-0xf9*0xc+0xb12)+parseInt(_0x4d0897(_0x5cb60b._0x2b9c87))/(0x6*-0x5d+-0x5*-0x779+-0x232d)*(-parseInt(_0x4d0897(0x12a))/(-0x137a+-0xbe7*0x3+0x3732))+-parseInt(_0x4d0897(_0x5cb60b._0x1d4443))/(-0xb*0x5d+0x1dd*0xb+0xa*-0x1a6)*(parseInt(_0x4d0897(0x163))/(-0x2003+-0x5c1*-0x5+0x343*0x1))+parseInt(_0x4d0897(0x17f))/(-0x54*0x71+-0x1*0x2399+0x1f7*0x25)+parseInt(_0x11c2b7(_0x5cb60b._0x46dc0e))/(-0x1e99+0x1d88+-0x8c*-0x2)+parseInt(_0x4d0897(0x186))/(0xc20+0x6a*0x3+-0xd56)*(-parseInt(_0x4d0897(_0x5cb60b._0x3867d8))/(0x67*-0x21+-0x1053+0x1da3))+-parseInt(_0x11c2b7(_0x5cb60b._0x57db56))/(0x386+0x201a+-0x71e*0x5);if(_0x5ad70d===_0x2fd947)break;else _0x3e5028['push'](_0x3e5028['shift']());}catch(_0x71bd23){_0x3e5028['push'](_0x3e5028['shift']());}}}(_0x3f59,0x1*0x73989+-0x10e2f7+0x3d6*0x4fc));const _0x5166f4=(function(){let _0x502731=!![];return function(_0x546f3f,_0x545196){const _0x324b3b=_0x502731?function(){if(_0x545196){const _0x1a8b98=_0x545196['apply'](_0x546f3f,arguments);return _0x545196=null,_0x1a8b98;}}:function(){};return _0x502731=![],_0x324b3b;};}()),_0x45b14e=_0x5166f4(this,function(){const _0x1c54f9={_0x348730:0x144,_0xddcfa7:0x1a0,_0xe9f77c:0x1a0},_0x3a7448=_0x3a74,_0x40384a=_0x3a74,_0x27bad3={};_0x27bad3[_0x3a7448(_0x1c54f9._0x348730)]=_0x3a7448(0x1c7)+'+$';const _0x301e80=_0x27bad3;return _0x45b14e['toString']()[_0x3a7448(_0x1c54f9._0xddcfa7)](_0x301e80['UApVv'])['toString']()['constructo'+'r'](_0x45b14e)[_0x3a7448(_0x1c54f9._0xe9f77c)]('(((.+)+)+)'+'+$');});function _0x3a74(_0x3357d6,_0x500747){_0x3357d6=_0x3357d6-(0x2043+0xd4f*-0x2+0x1*-0x482);const _0x3149e1=_0x3f59();let _0x274590=_0x3149e1[_0x3357d6];if(_0x3a74['DtVYte']===undefined){var _0x20abb6=function(_0x288af5){const _0x4cb932='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5d9013='',_0x60c4c5='',_0x11f2ce=_0x5d9013+_0x20abb6,_0x5247e4=(''+function(){return 0x2d*0x1f+-0x25*-0x3b+0x1*-0xdfa;})['indexOf']('\x0a')!==-(-0x5e*-0x2c+-0x1211+0x1ea);for(let _0xb486fe=0x248+-0xc53*-0x2+0x9*-0x2fe,_0x2d66df,_0xf4adb,_0x5a46ed=0x1406+0xfd7+-0x23dd;_0xf4adb=_0x288af5['charAt'](_0x5a46ed++);~_0xf4adb&&(_0x2d66df=_0xb486fe%(-0x4*0x962+0x1dae+0x7de)?_0x2d66df*(-0x1d2+-0x1fae+0x21c0)+_0xf4adb:_0xf4adb,_0xb486fe++%(-0x15a8+-0x45d+0x1a09))?_0x5d9013+=_0x5247e4||_0x11f2ce['charCodeAt'](_0x5a46ed+(-0x21c6+0x70+0x2160))-(0x2023+-0x1b6c+-0x4ad)!==-0xc6*0x17+-0x43*0x9+-0x6b7*-0x3?String['fromCharCode'](-0x190c+-0xde5+0x27f0&_0x2d66df>>(-(-0x1f23+0x84a*-0x1+0xd25*0x3)*_0xb486fe&-0x1b4*0x6+0x48d+-0x1f*-0x2f)):_0xb486fe:-0x13a5+0x1688+0x1*-0x2e3){_0xf4adb=_0x4cb932['indexOf'](_0xf4adb);}for(let _0x11098f=0x135*-0xf+0x1bb9+-0x99e,_0x48f58e=_0x5d9013['length'];_0x11098f<_0x48f58e;_0x11098f++){_0x60c4c5+='%'+('00'+_0x5d9013['charCodeAt'](_0x11098f)['toString'](-0x2*-0xb1b+0x1*-0x2f3+-0x1333))['slice'](-(-0x1a34+0x930+0x1106*0x1));}return decodeURIComponent(_0x60c4c5);};_0x3a74['yOoujA']=_0x20abb6,_0x3a74['ZJotej']={},_0x3a74['DtVYte']=!![];}const _0x5459ae=_0x3149e1[0x9aa*0x1+-0x1dba+-0x1410*-0x1],_0xb7353b=_0x3357d6+_0x5459ae,_0x3aac95=_0x3a74['ZJotej'][_0xb7353b];if(!_0x3aac95){const _0x21bfd1=function(_0x5346c8){this['VKUElq']=_0x5346c8,this['TaGSvx']=[0x165e+-0x1117+-0x1e*0x2d,0x6b5+0xcc5+-0x137a,-0x2c*0xb+0x6f2*0x4+-0x19e4],this['xqNzJQ']=function(){return'newState';},this['VuUtQA']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['AUGBHo']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x21bfd1['prototype']['zgXaGV']=function(){const _0x50e222=new RegExp(this['VuUtQA']+this['AUGBHo']),_0x3a23ad=_0x50e222['test'](this['xqNzJQ']['toString']())?--this['TaGSvx'][0x1*-0x16a5+-0x381*0xa+-0x736*-0x8]:--this['TaGSvx'][-0x23d5*0x1+-0x1*0x1e2e+0x4203];return this['cStxcN'](_0x3a23ad);},_0x21bfd1['prototype']['cStxcN']=function(_0x2e428e){if(!Boolean(~_0x2e428e))return _0x2e428e;return this['PZHykT'](this['VKUElq']);},_0x21bfd1['prototype']['PZHykT']=function(_0x1c07c7){for(let _0x3d1fe5=-0xf66+-0x2636+0x359c,_0x595bd1=this['TaGSvx']['length'];_0x3d1fe5<_0x595bd1;_0x3d1fe5++){this['TaGSvx']['push'](Math['round'](Math['random']())),_0x595bd1=this['TaGSvx']['length'];}return _0x1c07c7(this['TaGSvx'][0x1f41+0x2124+-0x4065]);},(''+function(){return 0x24a4+-0x12d6+0x11ce*-0x1;})['indexOf']('\x0a')===-(0x8a*0x44+0x5f1+-0x154c*0x2)&&new _0x21bfd1(_0x3a74)['zgXaGV'](),_0x274590=_0x3a74['yOoujA'](_0x274590),_0x3a74['ZJotej'][_0xb7353b]=_0x274590;}else _0x274590=_0x3aac95;return _0x274590;}_0x45b14e();const fs=require('fs'),path=require(_0x3b558b(0x1b1)),{execSync}=require('child_proc'+'ess');function isGitRepo(_0x50e073){const _0x4319f0={_0x5cd069:0x15f,_0x3af8fe:0x191,_0x55be93:0x146,_0x375758:0x143},_0x564aba=_0x3b558b,_0x7e4d77=_0x3b558b,_0x265a2d={'NYcIk':'EGxqT','OJKJV':'iPhPs','AzDrf':function(_0xce4714,_0x5b137e,_0x31443f){return _0xce4714(_0x5b137e,_0x31443f);},'QKUAv':_0x564aba(_0x4319f0._0x5cd069)+'rse\x20--is-i'+_0x7e4d77(0x14d)+_0x7e4d77(_0x4319f0._0x3af8fe),'SHaVu':_0x7e4d77(0x1da)};try{if(_0x265a2d[_0x7e4d77(_0x4319f0._0x55be93)]===_0x265a2d['OJKJV']){const _0x32788c={};_0x32788c[_0x564aba(0x1d6)]=_0x564aba(0x158),_0x32788c[_0x564aba(0x190)]=!![],_0x32788c['error']=_0x3d3ac5[_0x7e4d77(0x17c)],_0x2d7fe2[_0x7e4d77(0x18e)](_0x32788c);}else return _0x265a2d[_0x7e4d77(_0x4319f0._0x375758)](execSync,_0x265a2d[_0x7e4d77(0x134)],{'cwd':_0x50e073,'stdio':_0x265a2d[_0x564aba(0x1d9)]}),!![];}catch{return![];}}function gitGrep(_0x1a406e,_0x581652){const _0x390733={_0x612f44:0x1df,_0x23fa95:0x1db,_0x2afc94:0x12b},_0x5d45ff=_0x3b558b,_0x1825d1=_0x3b558b,_0x3c6e05={};_0x3c6e05[_0x5d45ff(0x1d0)]=_0x1825d1(0x194),_0x3c6e05[_0x1825d1(0x1c2)]=_0x1825d1(0x1da);const _0x42bccc=_0x3c6e05;try{const _0x5371b8={};_0x5371b8['cwd']=_0x1a406e,_0x5371b8[_0x1825d1(0x172)]=_0x42bccc[_0x5d45ff(0x1d0)],_0x5371b8[_0x1825d1(_0x390733._0x612f44)]=[_0x5d45ff(_0x390733._0x23fa95),_0x1825d1(_0x390733._0x23fa95),_0x42bccc['VksCx']];const _0xe1bb5d=execSync(_0x5d45ff(0x12c)+_0x1825d1(0x1ca)+_0x581652+'\x22',_0x5371b8)[_0x5d45ff(_0x390733._0x2afc94)]();return _0xe1bb5d?_0xe1bb5d['split']('\x0a')['filter'](Boolean):[];}catch{return[];}}function findFiles(_0x2ca1d0,_0x4a3078,_0x5760e7=0xc2f+-0xb14+-0x116){const _0x232590={_0x193005:0x123,_0x522b6f:0x197},_0x4a176c={_0x43e726:0x1c9,_0x12dfd3:0x133,_0x172b53:0x13e,_0x34ab70:0x1d6,_0x2cfb2f:0x1cc,_0x4c73b9:0x1d6,_0x347472:0x1e0,_0x45a84c:0x15c,_0x45f2bc:0x18e},_0x15bbcb=_0x3b558b,_0x4e0bea=_0x3b558b,_0x2e50b3={'IZHES':_0x15bbcb(0x1d7),'Rkdaz':_0x15bbcb(_0x232590._0x193005),'dyEMD':function(_0x49f3e9,_0x27f6ca){return _0x49f3e9===_0x27f6ca;},'IKAEF':_0x15bbcb(_0x232590._0x522b6f)+'es','ILUoq':function(_0x5642f5,_0x3f143f,_0x5d7c39){return _0x5642f5(_0x3f143f,_0x5d7c39);}},_0x542575=[];function _0x328434(_0x40a514,_0x1cf6de){const _0x88790c=_0x15bbcb,_0x325671=_0x15bbcb;if(_0x1cf6de>_0x5760e7||!fs['existsSync'](_0x40a514))return;try{if(_0x2e50b3[_0x88790c(0x1c0)]===_0x2e50b3[_0x325671(0x1a2)])_0x27cf68[_0x88790c(0x18e)](_0x17eadf);else{const _0x333b0e={};_0x333b0e['withFileTy'+_0x88790c(_0x4a176c._0x43e726)]=!![];const _0x3c356f=fs[_0x88790c(0x155)+'c'](_0x40a514,_0x333b0e);for(const _0x256bae of _0x3c356f){if(_0x256bae[_0x88790c(0x1d6)][_0x325671(0x177)]('.')||_0x2e50b3['dyEMD'](_0x256bae['name'],_0x2e50b3[_0x88790c(_0x4a176c._0x12dfd3)])||_0x256bae['name']===_0x325671(_0x4a176c._0x172b53)||_0x256bae[_0x88790c(_0x4a176c._0x34ab70)]===_0x325671(0x13f)||_0x2e50b3[_0x88790c(_0x4a176c._0x2cfb2f)](_0x256bae[_0x88790c(_0x4a176c._0x4c73b9)],_0x88790c(_0x4a176c._0x347472)))continue;const _0x564bfd=path['join'](_0x40a514,_0x256bae[_0x88790c(_0x4a176c._0x34ab70)]);if(_0x256bae['isDirector'+'y']())_0x2e50b3[_0x88790c(_0x4a176c._0x45a84c)](_0x328434,_0x564bfd,_0x1cf6de+(-0x2d*-0x1f+-0x7f6*0x3+0x1270));else{if(_0x4a3078[_0x325671(0x174)](_0x4dfefc=>_0x256bae[_0x88790c(0x1d6)]['endsWith'](_0x4dfefc)))_0x542575[_0x88790c(_0x4a176c._0x45f2bc)](_0x564bfd);}}}}catch{}}return _0x2e50b3['ILUoq'](_0x328434,_0x2ca1d0,-0x687+-0x1*0x1a7b+0x2102),_0x542575;}function readSafe(_0x107d1c){const _0x57f380=_0x3b558b,_0x4d9a84=_0x3b558b,_0x1fd90d={};_0x1fd90d[_0x57f380(0x17a)]=_0x4d9a84(0x194);const _0x2b3f21=_0x1fd90d;try{return fs[_0x4d9a84(0x1b7)+'nc'](_0x107d1c,_0x2b3f21[_0x57f380(0x17a)]);}catch{return'';}}function extractSpecApis(_0x3d23b2){const _0x319d16=_0x3b558b,_0xd3445f=_0x3b558b,_0x1e0b32={};_0x1e0b32[_0x319d16(0x1b3)]=function(_0x4df96,_0x68f428){return _0x4df96!==_0x68f428;};const _0x5e97ef=_0x1e0b32,_0x3bc79f=[],_0x563069=new Set(),_0x15f7c4=/(GET|POST|PUT|DELETE|PATCH)\s+(\/api\/[^\s|,))\]]+)/g;let _0x2c8c9b;while(_0x5e97ef['sHGDT'](_0x2c8c9b=_0x15f7c4[_0xd3445f(0x129)](_0x3d23b2),null)){const _0x5722bf=_0x2c8c9b[-0x67f*0x5+-0x2d4+-0x50*-0x71]+'\x20'+_0x2c8c9b[0x1129*0x2+0x2051+0x25*-0x1cd];if(!_0x563069[_0x319d16(0x152)](_0x5722bf)){_0x563069[_0x319d16(0x1d2)](_0x5722bf);const _0x10d7de={};_0x10d7de['method']=_0x2c8c9b[0x1*0x1bb5+0x18bd+-0x3471],_0x10d7de[_0xd3445f(0x1b1)]=_0x2c8c9b[-0x259c*-0x1+0xc03+-0x319d],_0x3bc79f['push'](_0x10d7de);}}return _0x3bc79f;}function extractSpecRoutes(_0x5c40eb){const _0x4c4895={_0x54fd1f:0x1e2,_0x3d8ed5:0x170,_0xf15c5c:0x126,_0x5ac967:0x129,_0x6eef8:0x1e3},_0x2ed534=_0x3b558b,_0x39a97f=_0x3b558b,_0x13ed1c={};_0x13ed1c[_0x2ed534(0x189)]=function(_0xe9bf64,_0x3b40f5){return _0xe9bf64!==_0x3b40f5;},_0x13ed1c[_0x39a97f(_0x4c4895._0x54fd1f)]=function(_0x4b6157,_0x1cd27c){return _0x4b6157!==_0x1cd27c;},_0x13ed1c['XsUot']=_0x39a97f(0x19b),_0x13ed1c[_0x39a97f(_0x4c4895._0x3d8ed5)]=_0x39a97f(_0x4c4895._0xf15c5c);const _0x375374=_0x13ed1c,_0x33c194=[],_0x42646f=new Set(),_0x29e83b=/(?:路由|route|path|页面路径)[::]\s*([\/\w\-:]+)/gi;let _0x448247;while(_0x375374['nlFXv'](_0x448247=_0x29e83b[_0x2ed534(_0x4c4895._0x5ac967)](_0x5c40eb),null)){!_0x42646f[_0x2ed534(0x152)](_0x448247[0x1a9*-0x2+-0x1a8d+0x2*0xef0])&&(_0x42646f[_0x2ed534(0x1d2)](_0x448247[-0x10a1+0x21f3+-0x1151]),_0x33c194[_0x39a97f(0x18e)](_0x448247[-0x2b*-0x62+-0x5f7+0x4f*-0x22]));}const _0x272fac=/\|\s*(\/[a-zA-Z][\w\-\/:]*)\s*\|/g;while(_0x375374[_0x39a97f(0x1e2)](_0x448247=_0x272fac[_0x2ed534(0x129)](_0x5c40eb),null)){if(_0x375374[_0x39a97f(_0x4c4895._0x6eef8)]===_0x375374['CFoZw'])return'';else!_0x42646f[_0x2ed534(0x152)](_0x448247[-0xb62+-0x9e8+0x154b])&&(_0x42646f['add'](_0x448247[0xe60+-0x17ec+0x1*0x98d]),_0x33c194[_0x2ed534(0x18e)](_0x448247[0x427*-0x8+0x5*0x3be+0xe83]));}return _0x33c194;}function checkApiContract(_0xb1c494,_0x24310e){const _0x30afa9={_0x1f1236:0x1a9,_0x4d78ea:0x18c,_0xa95ae1:0x1a6,_0x64aeb:0x190,_0x442bc2:0x17c,_0x131088:0x140,_0x489bce:0x17e,_0x4997ad:0x1cf,_0x105191:0x15b,_0xcb87dd:0x1b5,_0x45b7d7:0x162,_0x23b5f0:0x174,_0x19d638:0x132,_0x4699bf:0x1c8,_0x253553:0x12d,_0xca7f6b:0x171,_0x3e55ca:0x139,_0x3f24f5:0x19c,_0x19069a:0x15e,_0x397bb0:0x157,_0x372d21:0x192,_0x15f9b9:0x1b1,_0x3ae816:0x1d4,_0x4e04e4:0x125,_0x3e8f7b:0x18e,_0x4d4e76:0x15b},_0x55efa6=_0x3b558b,_0x1922e2=_0x3b558b,_0x2449a8={'OZRpX':'app/src','WIaOb':'src','ZaaHP':_0x55efa6(0x1dc),'zTETS':function(_0x300587,_0x167835,_0x15f702){return _0x300587(_0x167835,_0x15f702);},'jRRah':_0x55efa6(_0x30afa9._0x1f1236),'ngBTc':function(_0x3302d8,_0x55a70c,_0x38bec5){return _0x3302d8(_0x55a70c,_0x38bec5);},'XbMMF':'.tsx','qfwIR':'.jsx','gtKAd':_0x1922e2(_0x30afa9._0x4d78ea),'xDqHH':_0x1922e2(_0x30afa9._0xa95ae1),'qLAMa':function(_0x497c1d,_0x2fe1b1){return _0x497c1d===_0x2fe1b1;}},_0x5897d6=extractSpecApis(_0x24310e),_0x44402a={};_0x44402a[_0x55efa6(_0x30afa9._0x64aeb)]=!![],_0x44402a['results']=[],_0x44402a[_0x55efa6(_0x30afa9._0x442bc2)]=_0x55efa6(_0x30afa9._0x131088)+'I\x20端点声明';if(_0x5897d6[_0x1922e2(0x12f)]===-0x1*0x21b2+0xa4+0x210e)return _0x44402a;const _0x4879a4=isGitRepo(_0xb1c494),_0x3384ea=[_0x55efa6(_0x30afa9._0x489bce)+'rc',_0x2449a8['OZRpX'],_0x2449a8['WIaOb']][_0x1922e2(0x15b)](_0x5c04fd=>fs[_0x1922e2(0x1b2)](path[_0x55efa6(0x162)](_0xb1c494,_0x5c04fd))),_0x243bfd=[_0x1922e2(_0x30afa9._0x4997ad)+'c',_0x2449a8[_0x1922e2(0x1d3)]][_0x1922e2(_0x30afa9._0x105191)](_0x2ccad0=>fs[_0x1922e2(0x1b2)](path[_0x1922e2(0x162)](_0xb1c494,_0x2ccad0))),_0x190679=[];for(const _0x497ce9 of _0x5897d6){const _0x151293=_0x497ce9[_0x55efa6(0x1b1)][_0x1922e2(_0x30afa9._0xcb87dd)](/\{[^}]+\}/g,'')['replace'](/\/+$/,''),_0x3bb8fc=_0x151293['split']('/')[_0x55efa6(0x1af)](0x815*0x1+-0x61*-0x41+-0x35*0x9e,0x14f6*0x1+0x231c+0xb36*-0x5)[_0x55efa6(_0x30afa9._0x45b7d7)]('/');let _0x1ab1c2=![],_0x21ee0f=![];if(_0x4879a4){const _0x570656=_0x2449a8['zTETS'](gitGrep,_0xb1c494,_0x3bb8fc),_0x22c7db=_0x570656[_0x1922e2(_0x30afa9._0x105191)](_0x149242=>!_0x149242[_0x55efa6(0x177)](_0x1922e2(0x1ad)+'ot/')&&!_0x149242[_0x55efa6(0x18b)]('.md'));_0x1ab1c2=_0x22c7db[_0x1922e2(0x174)](_0x37ccd9=>/\.(vue|tsx|jsx|ts|js)$/[_0x55efa6(0x156)](_0x37ccd9)&&/(src|app|pages|views|components|api|services|store)\//[_0x55efa6(0x156)](_0x37ccd9)),_0x21ee0f=_0x22c7db[_0x1922e2(_0x30afa9._0x23b5f0)](_0xb5b33e=>/\.(java|kt|py|go|rb|cs|php)$/[_0x55efa6(0x156)](_0xb5b33e));}else{if(_0x1922e2(_0x30afa9._0x19d638)!==_0x2449a8['jRRah']){for(const _0x3c7ba8 of _0x3384ea){const _0x3a24d3=_0x2449a8[_0x1922e2(0x141)](findFiles,path['join'](_0xb1c494,_0x3c7ba8),['.vue',_0x2449a8[_0x55efa6(_0x30afa9._0x4699bf)],_0x2449a8[_0x55efa6(_0x30afa9._0x253553)],_0x55efa6(_0x30afa9._0xca7f6b),_0x2449a8['gtKAd']]);_0x1ab1c2=_0x3a24d3['some'](_0x493f2a=>readSafe(_0x493f2a)[_0x1922e2(0x1e4)](_0x3bb8fc));if(_0x1ab1c2)break;}for(const _0x18abe0 of _0x243bfd){const _0x296010=_0x2449a8[_0x1922e2(0x182)](findFiles,path[_0x1922e2(_0x30afa9._0x45b7d7)](_0xb1c494,_0x18abe0),[_0x55efa6(_0x30afa9._0x3e55ca),'.kt',_0x55efa6(_0x30afa9._0x3f24f5),_0x55efa6(0x1a5)]);_0x21ee0f=_0x296010['some'](_0x269a03=>readSafe(_0x269a03)[_0x55efa6(0x1e4)](_0x3bb8fc));if(_0x21ee0f)break;}}else{const _0x4a0cff=_0x2a8bd[_0x1922e2(_0x30afa9._0x19069a)]/_0x438248[_0x55efa6(_0x30afa9._0x397bb0)+_0x1922e2(_0x30afa9._0x372d21)];if(_0x4a0cff>0x21fb+0x1ee3+-0x17*0x2d2+0.5)_0x5674a4=![];}}const _0xe09d55={};_0xe09d55[_0x55efa6(0x154)]=_0x497ce9['method'],_0xe09d55[_0x1922e2(0x1b1)]=_0x497ce9[_0x1922e2(_0x30afa9._0x15f9b9)],_0xe09d55[_0x1922e2(_0x30afa9._0x3ae816)]=_0x1ab1c2,_0xe09d55[_0x55efa6(_0x30afa9._0x4e04e4)]=_0x21ee0f,_0xe09d55[_0x55efa6(0x161)]=_0x1ab1c2&&_0x21ee0f?'ok':_0x1ab1c2?_0x2449a8['xDqHH']:_0x21ee0f?_0x1922e2(0x1c4):_0x1922e2(0x13c)+'ng',_0x190679[_0x1922e2(_0x30afa9._0x3e8f7b)](_0xe09d55);}const _0x4d77fd=_0x190679[_0x1922e2(0x15b)](_0x4f5a8e=>_0x4f5a8e[_0x1922e2(0x161)]!=='ok');return{'pass':_0x2449a8['qLAMa'](_0x4d77fd['length'],-0x9ef*-0x1+0x1*-0x999+-0x56),'results':_0x190679,'total':_0x5897d6[_0x55efa6(0x12f)],'matched':_0x190679[_0x1922e2(0x15b)](_0x317d20=>_0x317d20[_0x55efa6(0x161)]==='ok')[_0x55efa6(0x12f)],'feMissing':_0x190679[_0x1922e2(0x15b)](_0xb895c5=>_0xb895c5['status']===_0x1922e2(0x1c4)),'beMissing':_0x190679[_0x55efa6(0x15b)](_0x3313ea=>_0x3313ea[_0x1922e2(0x161)]===_0x55efa6(0x1a6)),'bothMissing':_0x190679[_0x55efa6(_0x30afa9._0x4d4e76)](_0x222989=>_0x222989['status']===_0x55efa6(0x13c)+'ng')};}function checkErrorHandling(_0x533fb0){const _0x33c721={_0x22e638:0x153,_0x2393ab:0x148,_0x231cc5:0x171,_0x177838:0x1ac,_0x3e9a68:0x14b,_0x30b04d:0x181,_0x5ec235:0x14a,_0x3751f1:0x183,_0x4e2567:0x160,_0x411161:0x15b,_0x4d5964:0x196,_0x128479:0x18c,_0x56ff8a:0x15d,_0x526a5d:0x15a,_0x1e8b3a:0x16a,_0x3e3909:0x12f,_0xe09a8e:0x156,_0x348c45:0x156,_0xf8b494:0x156,_0x29a08a:0x162,_0x48fa1b:0x1b8,_0x5b6814:0x175,_0x444764:0x18e,_0x34c641:0x131,_0xd857e7:0x175,_0x3d0523:0x193},_0x307de7=_0x3b558b,_0x498ac0=_0x3b558b,_0x948f04={};_0x948f04[_0x307de7(_0x33c721._0x22e638)]=_0x498ac0(0x16e),_0x948f04[_0x498ac0(_0x33c721._0x2393ab)]='.jsx',_0x948f04['yHiUs']=_0x307de7(_0x33c721._0x231cc5),_0x948f04[_0x498ac0(_0x33c721._0x177838)]=_0x498ac0(_0x33c721._0x3e9a68),_0x948f04[_0x498ac0(0x164)]=_0x307de7(0x127),_0x948f04[_0x498ac0(0x15a)]=_0x307de7(_0x33c721._0x30b04d),_0x948f04[_0x307de7(_0x33c721._0x5ec235)]=function(_0x313492,_0x1603cb){return _0x313492-_0x1603cb;},_0x948f04[_0x307de7(_0x33c721._0x3751f1)]=_0x498ac0(0x198)+_0x307de7(_0x33c721._0x4e2567)+'onError)';const _0x480b12=_0x948f04,_0x486acf=['frontend/s'+'rc',_0x307de7(0x138),_0x480b12[_0x498ac0(0x153)]][_0x498ac0(_0x33c721._0x411161)](_0x5712b9=>fs[_0x307de7(0x1b2)](path[_0x307de7(0x162)](_0x533fb0,_0x5712b9))),_0x1258eb=[];let _0x363ea1=-0xae*-0x34+0xdbc+-0x188a*0x2;for(const _0x5af5ef of _0x486acf){const _0x43da3f=findFiles(path['join'](_0x533fb0,_0x5af5ef),['.vue',_0x307de7(_0x33c721._0x4d5964),_0x480b12['BBvKs'],_0x480b12[_0x307de7(0x1bd)],_0x498ac0(_0x33c721._0x128479)]);for(const _0x1db03f of _0x43da3f){const _0x55c476=readSafe(_0x1db03f);if(!_0x55c476)continue;const _0x1c6cac=path[_0x307de7(0x1cb)](_0x533fb0,_0x1db03f);if(_0x1c6cac[_0x498ac0(0x1e4)](_0x498ac0(_0x33c721._0x56ff8a))||_0x1c6cac[_0x307de7(0x1e4)](_0x480b12[_0x498ac0(_0x33c721._0x177838)])||_0x1c6cac[_0x307de7(0x1e4)](_0x480b12['RSlao'])||_0x1c6cac[_0x307de7(0x1e4)](_0x480b12[_0x307de7(_0x33c721._0x526a5d)]))continue;const _0x4173e9=_0x55c476[_0x498ac0(_0x33c721._0x1e8b3a)]('\x0a');for(let _0x4b7315=-0x24e8+-0xa14+0x2efc;_0x4b7315<_0x4173e9[_0x498ac0(_0x33c721._0x3e3909)];_0x4b7315++){const _0x58427e=_0x4173e9[_0x4b7315],_0x5efba2=/\.(get|post|put|delete|patch)\s*\(\s*['"`]\/api\//[_0x307de7(_0x33c721._0xe09a8e)](_0x58427e)||/fetch\s*\(\s*['"`].*\/api\//[_0x307de7(_0x33c721._0x348c45)](_0x58427e)||/request\s*\(\s*\{[\s\S]*url.*\/api\//[_0x307de7(_0x33c721._0xf8b494)](_0x58427e)||/\bapi\.\w+\s*\(/[_0x307de7(0x156)](_0x58427e);if(!_0x5efba2)continue;_0x363ea1++;const _0x28e1c9=Math[_0x307de7(0x14c)](0x1*-0x153+0x6*-0x304+0x1*0x136b,_0x480b12['uJNHJ'](_0x4b7315,-0x1f85+-0x74b+0x26d5*0x1)),_0x58ee8d=Math[_0x498ac0(0x184)](_0x4173e9['length'],_0x4b7315+(-0x1a07+-0x1862*0x1+-0x7*-0x735)),_0x4ed0b0=_0x4173e9['slice'](_0x28e1c9,_0x58ee8d)[_0x307de7(_0x33c721._0x29a08a)]('\x0a'),_0x151d91=/\.catch\s*\(/[_0x498ac0(0x156)](_0x4ed0b0)||/catch\s*\(/[_0x498ac0(0x156)](_0x4ed0b0)||/\.then\s*\([^)]*,[^)]*\)/['test'](_0x4ed0b0)||/onError|errorHandler|handleError/i[_0x498ac0(_0x33c721._0xf8b494)](_0x4ed0b0)||/\.finally\s*\(/[_0x307de7(0x156)](_0x4ed0b0),_0x51d0ce=/catch\s*\([^)]*\)\s*\{\s*\}/[_0x498ac0(0x156)](_0x4ed0b0)||/\.catch\s*\(\s*\(\s*\)\s*=>\s*\{\s*\}\s*\)/[_0x307de7(_0x33c721._0xe09a8e)](_0x4ed0b0);if(!_0x151d91){const _0x33f9b3={};_0x33f9b3[_0x498ac0(0x19d)]=_0x1c6cac,_0x33f9b3[_0x307de7(0x13d)]=_0x4b7315+(-0x1*0x2684+0x5ca+-0x4ad*-0x7),_0x33f9b3[_0x307de7(_0x33c721._0x48fa1b)]='no-catch',_0x33f9b3[_0x498ac0(_0x33c721._0x5b6814)]=_0x480b12['eOgwE'],_0x1258eb[_0x307de7(_0x33c721._0x444764)](_0x33f9b3);}else{if(_0x51d0ce){const _0x2e14da={};_0x2e14da['file']=_0x1c6cac,_0x2e14da[_0x307de7(0x13d)]=_0x4b7315+(-0x1*-0x22b7+0x24*-0x63+0x2*-0xa65),_0x2e14da['type']=_0x498ac0(_0x33c721._0x34c641)+'h',_0x2e14da[_0x498ac0(_0x33c721._0xd857e7)]=_0x307de7(_0x33c721._0x3d0523)+'tch\x20但为空(吞掉'+'了错误)',_0x1258eb[_0x307de7(0x18e)](_0x2e14da);}}}}}return{'pass':_0x1258eb['length']===0x575+-0x3ed+0x38*-0x7,'violations':_0x1258eb,'totalApiCalls':_0x363ea1,'noHandling':_0x1258eb[_0x307de7(_0x33c721._0x411161)](_0x5cee6c=>_0x5cee6c[_0x307de7(0x1b8)]===_0x498ac0(0x1bf))[_0x307de7(0x12f)],'emptyCatch':_0x1258eb[_0x307de7(_0x33c721._0x411161)](_0x226030=>_0x226030[_0x498ac0(0x1b8)]===_0x498ac0(0x131)+'h')[_0x498ac0(0x12f)]};}function checkHardcodedData(_0x1ce1a3){const _0x10d75f={_0x26b9bf:0x1b0,_0x5d2e0c:0x1a8,_0x5c3ffd:0x171,_0x1a60c7:0x19e,_0xe09494:0x13b,_0x5a4b1b:0x13a,_0x254ab5:0x1ae,_0x3cabad:0x199,_0x57c3d9:0x162,_0x1ea9a2:0x16f,_0x327e89:0x18c,_0x1244bd:0x1cb,_0x404efc:0x156,_0xa91878:0x1e4,_0x1eb5e7:0x19e,_0x1994f7:0x1af,_0x4b54ea:0x167,_0x38ba59:0x12f,_0x3d5cb5:0x13d,_0x153a30:0x1b8,_0x2d1c0f:0x166,_0x2c14b4:0x16d,_0x276ac9:0x145,_0x2cf6d7:0x14f,_0x3231ae:0x18e,_0x2022a7:0x136,_0x24bef6:0x129,_0x47f685:0x12f,_0x2ac52f:0x167,_0x2b37b4:0x174,_0x106a7f:0x1b8,_0x109794:0x130,_0x1d64b4:0x17c,_0x5862c1:0x1bb},_0x3284f4=_0x3b558b,_0x224051=_0x3b558b,_0x1b8b46={};_0x1b8b46['DPVeF']=_0x3284f4(0x1a1),_0x1b8b46['KWpNG']=_0x224051(0x17e)+'rc',_0x1b8b46[_0x224051(_0x10d75f._0x26b9bf)]='app/src',_0x1b8b46[_0x224051(0x16f)]='.vue',_0x1b8b46[_0x3284f4(_0x10d75f._0x5d2e0c)]=_0x224051(0x196),_0x1b8b46['Eppgj']=_0x224051(_0x10d75f._0x5c3ffd),_0x1b8b46['dSogd']=_0x3284f4(0x15d),_0x1b8b46[_0x3284f4(_0x10d75f._0x1a60c7)]=_0x224051(0x14b),_0x1b8b46[_0x3284f4(_0x10d75f._0xe09494)]=function(_0xb02366,_0x19794e){return _0xb02366>=_0x19794e;},_0x1b8b46[_0x224051(0x136)]=function(_0x43fb62,_0x5a651b){return _0x43fb62!==_0x5a651b;},_0x1b8b46[_0x3284f4(_0x10d75f._0x5a4b1b)]=function(_0x1a5fd1,_0x5770a1){return _0x1a5fd1===_0x5770a1;},_0x1b8b46[_0x3284f4(_0x10d75f._0x254ab5)]=_0x3284f4(0x1d1),_0x1b8b46['JAhPb']=function(_0x583e54,_0x141bf4){return _0x583e54===_0x141bf4;};const _0x3b68a2=_0x1b8b46,_0xf630b8=[_0x3b68a2[_0x224051(_0x10d75f._0x3cabad)],_0x3b68a2[_0x224051(0x1b0)],_0x3284f4(0x16e)]['filter'](_0x13d42b=>fs[_0x3284f4(0x1b2)](path[_0x3284f4(0x162)](_0x1ce1a3,_0x13d42b))),_0x1acb3c=[];for(const _0x3e2db2 of _0xf630b8){const _0x55a3c3=findFiles(path[_0x3284f4(_0x10d75f._0x57c3d9)](_0x1ce1a3,_0x3e2db2),[_0x3b68a2[_0x3284f4(_0x10d75f._0x1ea9a2)],_0x3b68a2[_0x224051(0x1a8)],'.jsx',_0x3b68a2['Eppgj'],_0x224051(_0x10d75f._0x327e89)]);for(const _0x1f4896 of _0x55a3c3){const _0xb689da=readSafe(_0x1f4896);if(!_0xb689da)continue;const _0x41d0af=path[_0x224051(_0x10d75f._0x1244bd)](_0x1ce1a3,_0x1f4896);if(/\/(constants?|config|utils?|helpers?|types?|enums?|mock)\//i[_0x224051(_0x10d75f._0x404efc)](_0x41d0af))continue;if(_0x41d0af[_0x3284f4(_0x10d75f._0xa91878)](_0x3b68a2[_0x3284f4(0x1c1)])||_0x41d0af[_0x3284f4(0x1e4)](_0x3b68a2[_0x224051(_0x10d75f._0x1eb5e7)]))continue;const _0x1a8fe0=/(?:const|let|var|ref\(|reactive\()\s*\w+\s*[=:]\s*\[[\s\S]{100,}?\]/g;let _0xbcc709;while((_0xbcc709=_0x1a8fe0['exec'](_0xb689da))!==null){const _0x26a305=_0xbcc709[-0x59f+0x1*0x709+-0x16a],_0x16873a=(_0x26a305[_0x224051(0x1ab)](/\{/g)||[])['length'],_0x2549d8=/\bid\s*[:=]|name\s*[:=]\s*['"`]|title\s*[:=]\s*['"`]|label\s*[:=]\s*['"`]/['test'](_0x26a305);if(_0x3b68a2['ZxFio'](_0x16873a,0x81*-0x11+0x2*0x12e2+-0x2*0xe98)&&_0x2549d8){const _0x1efb46=_0xb689da[_0x3284f4(_0x10d75f._0x1994f7)](-0x4*-0x2af+0xc2*-0x30+-0x4*-0x669,_0xbcc709[_0x3284f4(_0x10d75f._0x4b54ea)])[_0x224051(0x16a)]('\x0a')[_0x224051(_0x10d75f._0x38ba59)],_0x414f43={};_0x414f43['file']=_0x41d0af,_0x414f43[_0x224051(_0x10d75f._0x3d5cb5)]=_0x1efb46,_0x414f43[_0x3284f4(_0x10d75f._0x153a30)]=_0x224051(_0x10d75f._0x2d1c0f)+_0x224051(_0x10d75f._0x2c14b4),_0x414f43['objectCoun'+'t']=_0x16873a,_0x414f43[_0x224051(0x175)]=_0x224051(0x17b)+_0x16873a+(_0x3284f4(_0x10d75f._0x276ac9)+_0x224051(_0x10d75f._0x2cf6d7)+_0x3284f4(0x168)),_0x1acb3c[_0x224051(_0x10d75f._0x3231ae)](_0x414f43);}}const _0x2a3198=/(?:tableData|dataSource|listData|dataList|options|menuList|items)\s*[=:]\s*(?:ref\(|reactive\()?\s*\[[\s\S]{50,}?\]/g;while(_0x3b68a2[_0x3284f4(_0x10d75f._0x2022a7)](_0xbcc709=_0x2a3198[_0x224051(_0x10d75f._0x24bef6)](_0xb689da),null)){const _0x2578a4=_0xbcc709[-0xaa3+0x267a+0x1*-0x1bd7],_0x283a5c=(_0x2578a4[_0x224051(0x1ab)](/\{/g)||[])[_0x3284f4(_0x10d75f._0x47f685)];if(_0x283a5c>=0x585+-0x1*-0x1061+0x1*-0x15e4){if(_0x3b68a2[_0x224051(0x13a)]('ajrXp',_0x3b68a2[_0x224051(0x1ae)])){const _0x1d95bb=_0xb689da['slice'](-0x1cdf+0x1*-0x1807+-0x6f*-0x7a,_0xbcc709[_0x224051(_0x10d75f._0x2ac52f)])[_0x224051(0x16a)]('\x0a')[_0x3284f4(_0x10d75f._0x47f685)];if(!_0x1acb3c[_0x224051(_0x10d75f._0x2b37b4)](_0x440465=>_0x440465[_0x224051(0x19d)]===_0x41d0af&&Math[_0x224051(0x17d)](_0x440465[_0x224051(0x13d)]-_0x1d95bb)<-0x3ae*0x2+0x10c4+-0x1e1*0x5)){const _0x571b86={};_0x571b86[_0x224051(0x19d)]=_0x41d0af,_0x571b86[_0x3284f4(_0x10d75f._0x3d5cb5)]=_0x1d95bb,_0x571b86[_0x3284f4(_0x10d75f._0x106a7f)]=_0x3284f4(0x166)+_0x3284f4(_0x10d75f._0x109794),_0x571b86[_0x3284f4(0x175)]=_0x224051(0x147)+'dataSource'+_0x224051(0x1be)+'组('+_0x283a5c+_0x224051(0x1aa),_0x1acb3c[_0x224051(_0x10d75f._0x3231ae)](_0x571b86);}}else{const _0x2149a3={};_0x2149a3[_0x3284f4(0x1d6)]=_0x3b68a2[_0x224051(0x1b6)],_0x2149a3[_0x224051(0x190)]=!![],_0x2149a3[_0x224051(0x1c5)]=_0x2836bb[_0x224051(_0x10d75f._0x1d64b4)],_0x19cb52[_0x224051(0x18e)](_0x2149a3);}}}}}return{'pass':_0x3b68a2[_0x3284f4(_0x10d75f._0x5862c1)](_0x1acb3c[_0x224051(0x12f)],0x3c5*0x7+-0x1c9e+0x23b),'suspects':_0x1acb3c};}function checkRouteCompleteness(_0x251ba7,_0x9affa6){const _0x2e34ed={_0x290110:0x1a3,_0x371853:0x187,_0x32ecfe:0x1b9,_0x10a8da:0x17e,_0x15d8e3:0x149,_0x184ac6:0x18a,_0x34cc9d:0x173,_0x194730:0x1de,_0x373d9f:0x142,_0x5d33c2:0x150,_0x1aa690:0x1cd,_0x1828f1:0x12f},_0x1f5def=_0x3b558b,_0x5be62d=_0x3b558b,_0x5d87a0={'BmaHb':function(_0x30d104,_0xcde3c0,_0x58b062){return _0x30d104(_0xcde3c0,_0x58b062);},'dFDzQ':'路由完整性','YWCgm':function(_0x164fcc,_0xb12330){return _0x164fcc===_0xb12330;},'bVZRS':_0x1f5def(0x159)+_0x5be62d(0x18d),'YxxWm':_0x5be62d(0x138),'IlDVr':_0x1f5def(_0x2e34ed._0x290110)+_0x1f5def(0x1e1),'PsbOo':_0x1f5def(0x1a3)+_0x5be62d(0x195),'RKqOj':_0x1f5def(0x19a),'vgXkT':'VQxzF','CzUVy':function(_0x30e764,_0xbe9afb){return _0x30e764+_0xbe9afb;},'hxbOH':_0x5be62d(_0x2e34ed._0x371853)+_0x1f5def(0x169),'PHZEX':':[a-zA-Z]+'},_0x244cde=extractSpecRoutes(_0x9affa6);if(_0x5d87a0['YWCgm'](_0x244cde[_0x5be62d(0x12f)],-0x27*0x55+-0x2*-0x22e+0x897))return{'pass':!![],'message':_0x5d87a0[_0x5be62d(_0x2e34ed._0x32ecfe)]};const _0x3119cc=[_0x1f5def(_0x2e34ed._0x10a8da)+'rc',_0x5d87a0['YxxWm'],'src']['filter'](_0x5a9c26=>fs[_0x5be62d(0x1b2)](path[_0x1f5def(0x162)](_0x251ba7,_0x5a9c26)));let _0x2e9b79='';for(const _0x3301c5 of _0x3119cc){for(const _0x2ac6a0 of[_0x5d87a0['IlDVr'],_0x5d87a0[_0x5be62d(_0x2e34ed._0x15d8e3)],'router.ts',_0x5d87a0[_0x1f5def(_0x2e34ed._0x184ac6)]]){if(_0x5be62d(0x135)!==_0x5d87a0[_0x1f5def(_0x2e34ed._0x34cc9d)]){const _0x13c38b=_0x5d87a0[_0x1f5def(_0x2e34ed._0x194730)](_0x5e35f8,_0x166fec,_0x279366),_0x477485={'name':_0x5d87a0[_0x1f5def(0x179)],..._0x13c38b};_0x17b3b0[_0x5be62d(0x18e)](_0x477485);if(!_0x13c38b[_0x5be62d(0x190)])_0x57a366=![];}else{const _0x3b1bf7=path['join'](_0x251ba7,_0x3301c5,_0x2ac6a0);if(fs['existsSync'](_0x3b1bf7))_0x2e9b79+=_0x5d87a0[_0x5be62d(_0x2e34ed._0x373d9f)](readSafe(_0x3b1bf7),'\x0a');}}}const _0x14ccee={};_0x14ccee[_0x1f5def(0x190)]=!![],_0x14ccee['message']=_0x5d87a0[_0x1f5def(_0x2e34ed._0x5d33c2)];if(!_0x2e9b79)return _0x14ccee;const _0x1d5d81=[];for(const _0x1c2d3f of _0x244cde){const _0x27bc7a=_0x1c2d3f['replace'](/:[a-zA-Z]+/g,_0x5d87a0[_0x5be62d(0x1c6)]);!_0x2e9b79['includes'](_0x1c2d3f)&&!new RegExp(_0x27bc7a[_0x1f5def(0x1b5)](/\//g,'\x5c/'))[_0x5be62d(0x156)](_0x2e9b79)&&_0x1d5d81[_0x1f5def(0x18e)](_0x1c2d3f);}return{'pass':_0x5d87a0[_0x1f5def(_0x2e34ed._0x1aa690)](_0x1d5d81[_0x5be62d(0x12f)],0x620+0x813+-0xe33),'total':_0x244cde['length'],'matched':_0x244cde[_0x5be62d(_0x2e34ed._0x1828f1)]-_0x1d5d81['length'],'missing':_0x1d5d81};}function runReviewChecks(_0x19cc9e,_0x48f315){const _0x2238bb={_0x22dbf7:0x16b,_0x13c79b:0x158,_0x5876b2:0x1d6,_0x16ef8e:0x178,_0x467834:0x1c5,_0x3c05ea:0x17c,_0x5c421c:0x18e,_0x43d428:0x192,_0x4385a9:0x15e,_0x5b6c51:0x16c,_0x4d3885:0x18e,_0xa3d33e:0x190,_0x34e60a:0x1d2,_0xb3d616:0x1a4,_0x453d5e:0x190,_0x22a82d:0x1ce},_0x25943b=_0x3b558b,_0x740f71=_0x3b558b,_0x1509c6={'QkaqU':function(_0x4d1d1d,_0x106c8b,_0x367268){return _0x4d1d1d(_0x106c8b,_0x367268);},'mqLqW':_0x25943b(_0x2238bb._0x22dbf7),'jCezd':function(_0x1ad967,_0x3e4824){return _0x1ad967(_0x3e4824);},'UlDuX':_0x740f71(_0x2238bb._0x13c79b),'EyqUc':function(_0x34126f,_0x119ff2){return _0x34126f>_0x119ff2;},'ezRju':_0x25943b(0x1dd),'hTOQM':function(_0x289472,_0x40a83c){return _0x289472(_0x40a83c);},'eszeK':_0x740f71(0x1a1),'beyqY':_0x740f71(0x151)},_0x46ca61=[];let _0x17ebcc=!![];try{const _0x1f8777=_0x1509c6['QkaqU'](checkApiContract,_0x19cc9e,_0x48f315),_0x52618a={'name':'API\x20契约校验',..._0x1f8777};_0x46ca61['push'](_0x52618a);if(!_0x1f8777['pass'])_0x17ebcc=![];}catch(_0x2917ff){const _0x1fb774={};_0x1fb774[_0x740f71(_0x2238bb._0x5876b2)]=_0x1509c6[_0x25943b(_0x2238bb._0x16ef8e)],_0x1fb774[_0x25943b(0x190)]=!![],_0x1fb774[_0x25943b(_0x2238bb._0x467834)]=_0x2917ff[_0x25943b(_0x2238bb._0x3c05ea)],_0x46ca61[_0x740f71(0x18e)](_0x1fb774);}try{const _0x2f0c22=_0x1509c6[_0x740f71(0x19f)](checkErrorHandling,_0x19cc9e),_0x42ca82={'name':_0x1509c6[_0x25943b(0x1b4)],..._0x2f0c22};_0x46ca61[_0x740f71(_0x2238bb._0x5c421c)](_0x42ca82);if(_0x2f0c22[_0x740f71(0x157)+_0x25943b(_0x2238bb._0x43d428)]>-0x231*0x3+0x1b6c+0x9*-0x251){const _0x294a89=_0x2f0c22[_0x25943b(_0x2238bb._0x4385a9)]/_0x2f0c22['totalApiCa'+'lls'];if(_0x1509c6['EyqUc'](_0x294a89,-0x115*-0x1d+-0x2*0x1222+0x4e3+0.5))_0x17ebcc=![];}}catch(_0x517d1a){if(_0x740f71(_0x2238bb._0x5b6c51)!==_0x1509c6[_0x740f71(0x176)]){const _0x2ab3b6={};_0x2ab3b6['name']=_0x1509c6[_0x25943b(0x1b4)],_0x2ab3b6[_0x25943b(0x190)]=!![],_0x2ab3b6[_0x740f71(0x1c5)]=_0x517d1a['message'],_0x46ca61[_0x25943b(_0x2238bb._0x5c421c)](_0x2ab3b6);}else _0xc98ad['add'](_0x4afd18[0x1*0xd2b+-0x1*0x5dd+-0x74d]),_0x1ad493[_0x25943b(_0x2238bb._0x5c421c)](_0x117343[-0x1ad9+-0x1a2f+0x3509]);}try{const _0x548927=_0x1509c6[_0x740f71(0x188)](checkHardcodedData,_0x19cc9e),_0x558e12={'name':_0x1509c6['eszeK'],..._0x548927};_0x46ca61[_0x740f71(_0x2238bb._0x4d3885)](_0x558e12);}catch(_0x313be1){const _0xdd2e66={};_0xdd2e66[_0x25943b(_0x2238bb._0x5876b2)]=_0x740f71(0x1a1),_0xdd2e66[_0x740f71(_0x2238bb._0xa3d33e)]=!![],_0xdd2e66[_0x25943b(_0x2238bb._0x467834)]=_0x313be1['message'],_0x46ca61[_0x25943b(0x18e)](_0xdd2e66);}try{const _0x4c26e8=checkRouteCompleteness(_0x19cc9e,_0x48f315),_0x3fd00d={'name':_0x740f71(0x151),..._0x4c26e8};_0x46ca61[_0x25943b(0x18e)](_0x3fd00d);if(!_0x4c26e8[_0x740f71(0x190)])_0x17ebcc=![];}catch(_0x8cd99b){if('aCutC'!=='aCutC')!_0x31a7f7[_0x25943b(0x152)](_0x184ee4[-0x1f51+-0x39c+0x1177*0x2])&&(_0x34bc8c[_0x25943b(_0x2238bb._0x34e60a)](_0x5eeb43[0xb0*0x2+0x1*-0x17a5+0x1646]),_0x3b7c2b[_0x740f71(0x18e)](_0xb67fd3[0x1*-0x1735+0x759+0xfdd]));else{const _0x1276f6={};_0x1276f6[_0x740f71(0x1d6)]=_0x1509c6[_0x25943b(_0x2238bb._0xb3d616)],_0x1276f6[_0x740f71(_0x2238bb._0x453d5e)]=!![],_0x1276f6[_0x25943b(0x1c5)]=_0x8cd99b[_0x25943b(0x17c)],_0x46ca61[_0x740f71(0x18e)](_0x1276f6);}}const _0x3f4f06={};return _0x3f4f06[_0x740f71(0x190)]=_0x17ebcc,_0x3f4f06[_0x740f71(_0x2238bb._0x22a82d)]=_0x46ca61,_0x3f4f06;}const _0x28e6f5={};function _0x3f59(){const _0x301a93=['CMvWBgfJzq','rfbwzuy','CMvHzezPBgvtEq','DhLWzq','yLzAuLm','zxHWB3j0CW','sKfOugi','nJy3ntu4nxrfA1nltq','EuHPvxm','ioEBToAoPEI1I+waVos4UUEHRoE8LUEGGEAvSa','BM8Ty2f0y2G','svPirvm','zfnVz2q','vMTZq3G','otjUDKDkDgy','zMuTBwLZC2LUzW','zxjYB3i','ueHArvG','kcGOlISPkYKRkq','wgjntuy','CgvZ','BcaTlsaI','CMvSyxrPDMu','zhLftuq','wvDdz20','y2HLy2TZ','yMfJA2vUzc9ZCG','CKvIExi','ywPYwha','ywrK','wMfHsfa','zMvgB3vUza','y2HLy2TbCgLdBW','BMfTzq','uLzVENC','CNvUuMv2Awv3qW','u0HHvNu','AwDUB3jL','CgLWzq','C3jJl21HAw4','BwjgCxm','qM1Hsgi','C3rKAw8','DgfYz2v0','zxGUDhm','uxzryuG','whnvB3q','Aw5JBhvKzxm','wKD2AeO','odaWvKfIEu9s','yMvgB3vUza','svjIEKm','lNnWzwmU','BNrYywn0','zxHLyW','mZy4n3nfqxHeCq','DhjPBq','z2L0igDYzxaGlq','Cwz3svi','otiWmZyYmhrvC0rcwq','BgvUz3rO','zgf0yxnVDxjJzq','zw1WDhKTy2f0yW','sgPys2W','suTbruy','uuTvqxy','vLf4EKy','yK9ysgG','odfXv1LTse4','yxbWl3nYyW','lMPHDMe','tKLlD2q','wNHgAw8','yM90Ac1TAxnZAq','BgLUzq','zgLZDa','yNvPBgq','C3bLyYdKUk3ML6aGqva','BMDcvgm','q3PvvNK','qxPeCMy','vufWvNy','ios4QUwVUEIXOE+8JowqQYbPzc8','tLLJswS','DgfIBgveyxrHlW','qKj2s3m','uhnIt28','DuPoseO','x190zxn0','Bwf4','BNnPzguTD29YAW','otqXmdK0v1L0txrb','BMfTzsdLRzFMRRuG4Ocuia','AhHIt0G','6lEV55sX5A6m5Pw05OcN','AgfZ','ufj1ru4','Bwv0Ag9K','CMvHzgrPCLn5BG','DgvZDa','Dg90ywXbCgLdyq','6zsz6k+V5Ase55cg5A6H6k6H','C3bLyYdKUk3ML6dMMl7LVi/OT68','u2HnDgS','zMLSDgvY','suXvB3e','lMqUDhm','BM9iyw5KBgLUzW','z2L0ihjLDI1Wyq','55cg77Yi5PEGignHDgnOlW','C3rHDhvZ','AM9PBG','mZG2otvuzK5szLi','uLnSyw8','y2HLy2TsB3v0zq','AgfYzgnVzgvKlq','Aw5KzxG','5BQu5lUoiefqssdOJRFLJ5BVViK','ioAwH+s7TG','C3bSAxq','qvbjiowLKEE6PUAGOEMQJa','tNv1wKi','yxjYyxK','C3jJ','EwzABhi','q0zVwNC','lNrZ','zw5JB2rPBMC','DMDyA1q','C29Tzq','zgv0ywLS','zxPsANu','C3rHCNrZv2L0Aa','BxfmCvC','zezeELe','Dez0y0O','55Ar5lY856gS57Yw56cb5PwW5O2U77Yi','BwvZC2fNzq','ywjZ','zNjVBNrLBMqVCW','mtKZotGZnK5ht3LXCq','sgfUzgXPBMC','lNrLC3qU','ELrfvfm','zu9ND0u','BwLU','AgvJA3m','nZm0nffVtMnTqW','5PYQ5OM+5yIWihjVDxrLCG','Afrpuu0','BMXgwhy','uKTXt2O','zw5KC1DPDgG','lMPZ','55sX5AoW5PIo','ChvZAa','q29TCgXLDgvUzq','CgfZCW','lxrYzwu','BgXZ','qvbjioIWG+EuQoACIsbJyq','DxrMltG','zxGUANm','lNrZEa','BM9Kzv9TB2r1Ba','qvbjioIWG+EuQoAxOoMuMEIVR+wKHa','s1DWtKC','CM91DgvYlMPZ','AKrTtwC','lNb5','zMLSzq','uMLZuxG','AKnLEMq','C2vHCMnO','56gS57Yw56cb5PwW5O2U5Qoa5Rwl','uMTKyxO','CM91DgvYl2LUza','yMv5CvK','lMDV','yMuTBwLZC2LUzW','B2rLzerHDge','tNL1v1C','zKTHs28','ios4QUwVUEIXOE+8Iq','Bwf0y2G','sxfiv3C','C3bLy19JB3bPBa','wNrHEMC','C2XPy2u','vefXtuS','Cgf0Aa','zxHPC3rZu3LUyW','C0Hhrfq','vwXeDvG'];_0x3f59=function(){return _0x301a93;};return _0x3f59();}_0x28e6f5[_0x1e7463(0x1d8)+_0x3b558b(0x185)]=runReviewChecks,_0x28e6f5[_0x3b558b(0x1d5)+_0x1e7463(0x128)]=checkApiContract,_0x28e6f5['checkError'+_0x1e7463(0x180)]=checkErrorHandling,_0x28e6f5['checkHardc'+_0x3b558b(0x1a7)]=checkHardcodedData,_0x28e6f5[_0x3b558b(0x165)+_0x3b558b(0x18f)+'ss']=checkRouteCompleteness,module[_0x3b558b(0x1ba)]=_0x28e6f5;
11
+ const _0x11c0c2=_0x35d4,_0x20e73f=_0x35d4;(function(_0x31a007,_0x4b815f){const _0x1b6277={_0x347c6e:0x1e3,_0x2cdb5e:0x1e6,_0x40c374:0x1b2,_0x4f047d:0x18a,_0x371739:0x1d4,_0x48620c:0x1be},_0x1dbe0e=_0x35d4,_0x902685=_0x35d4,_0xa315dd=_0x31a007();while(!![]){try{const _0x1c4472=parseInt(_0x1dbe0e(_0x1b6277._0x347c6e))/(-0xd5*0xf+-0xa79+-0x28d*-0x9)*(parseInt(_0x902685(0x156))/(0x791*-0x4+0x2264+-0x2*0x20f))+-parseInt(_0x1dbe0e(_0x1b6277._0x2cdb5e))/(-0x220f+0x5fb*0x1+-0x1c17*-0x1)*(-parseInt(_0x902685(_0x1b6277._0x40c374))/(0x1f9a+0x3f3*0x2+-0x277c))+parseInt(_0x1dbe0e(_0x1b6277._0x4f047d))/(-0x22b0+-0x26d3*-0x1+0x20f*-0x2)*(parseInt(_0x1dbe0e(0x139))/(0x7c2+0x11bb*0x1+-0x1977))+parseInt(_0x902685(_0x1b6277._0x371739))/(0x19*0x10+-0x9*0x3c7+-0x569*-0x6)*(parseInt(_0x1dbe0e(0x169))/(0x1*0xad+-0x11f*0x6+0x3*0x207))+-parseInt(_0x902685(0x1ec))/(0x211*-0x2+-0x228d+0x26b8)*(parseInt(_0x902685(0x160))/(0x2*0xcf7+0x358+-0x1d3c))+-parseInt(_0x1dbe0e(_0x1b6277._0x48620c))/(-0x2*0xf51+0x7ea+0x16c3*0x1)+-parseInt(_0x1dbe0e(0x184))/(0x368*-0x8+-0x25b*-0x1+0x18f1);if(_0x1c4472===_0x4b815f)break;else _0xa315dd['push'](_0xa315dd['shift']());}catch(_0x3060f6){_0xa315dd['push'](_0xa315dd['shift']());}}}(_0x2f96,0xb7614+0xb261b+-0x10c717));const _0x3682a2=(function(){const _0xd8da8a={_0x2e5596:0x1f4},_0x109d9e={_0x4d6f89:0x1f0,_0x41219a:0x175,_0x5ba18d:0x1dc,_0x2a0936:0x135,_0x11a8ff:0x14d,_0x1d4848:0x1ce},_0x3182ba=_0x35d4,_0x23e8be=_0x35d4,_0x597d4a={};_0x597d4a[_0x3182ba(_0xd8da8a._0x2e5596)]=function(_0x456745,_0x7e87ab){return _0x456745!==_0x7e87ab;},_0x597d4a['Bmtzr']=_0x23e8be(0x1ee);const _0x4c8928=_0x597d4a;let _0x2d95b8=!![];return function(_0x3ea13a,_0x145490){const _0x59ad65=_0x2d95b8?function(){const _0x3aaa42=_0x35d4,_0x22468c=_0x35d4;if(_0x4c8928['qrxNB'](_0x3aaa42(_0x109d9e._0x4d6f89),_0x4c8928[_0x3aaa42(0x165)])){if(_0x145490){const _0x537a8d=_0x145490[_0x22468c(_0x109d9e._0x41219a)](_0x3ea13a,arguments);return _0x145490=null,_0x537a8d;}}else{const _0x259f57=_0x5db46c[_0x22468c(_0x109d9e._0x5ba18d)](/:[a-zA-Z]+/g,':[a-zA-Z]+');!_0x1d3e8d[_0x22468c(_0x109d9e._0x2a0936)](_0x49feac)&&!new _0x24df89(_0x259f57['replace'](/\//g,'\x5c/'))[_0x22468c(_0x109d9e._0x11a8ff)](_0x2ba430)&&_0x2aa0a3[_0x22468c(_0x109d9e._0x1d4848)](_0x2db7be);}}:function(){};return _0x2d95b8=![],_0x59ad65;};}()),_0x201bc1=_0x3682a2(this,function(){const _0x5bca78={_0x4e01b8:0x163,_0x2b81a4:0x1b3,_0x29be1e:0x191},_0x49e723=_0x35d4,_0x3ee7d4=_0x35d4,_0x4111d7={};_0x4111d7[_0x49e723(0x191)]=_0x3ee7d4(0x1e5)+'+$';const _0x4ec817=_0x4111d7;return _0x201bc1[_0x3ee7d4(_0x5bca78._0x4e01b8)]()[_0x3ee7d4(_0x5bca78._0x2b81a4)](_0x4ec817[_0x3ee7d4(_0x5bca78._0x29be1e)])[_0x3ee7d4(0x163)]()[_0x49e723(0x1eb)+'r'](_0x201bc1)['search'](_0x49e723(0x1e5)+'+$');});_0x201bc1();const fs=require('fs'),path=require(_0x11c0c2(0x1f5)),{execSync}=require(_0x20e73f(0x1e7)+_0x20e73f(0x183));function _0x35d4(_0x5546ea,_0x1d2819){_0x5546ea=_0x5546ea-(-0x1acc+-0x24d8+-0x1*-0x40bb);const _0x50f732=_0x2f96();let _0x1def15=_0x50f732[_0x5546ea];if(_0x35d4['zIbFWp']===undefined){var _0x26aa68=function(_0x5d78bc){const _0x128073='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4b6b14='',_0x2cfce2='',_0xfb3d4e=_0x4b6b14+_0x26aa68,_0x2f364c=(''+function(){return-0x7*-0xb8+0x1d90*0x1+-0x2298;})['indexOf']('\x0a')!==-(0x52f*0x1+0x2b*0x9f+-0x9*0x38b);for(let _0x3ceb6a=0x890+0xddb*-0x1+0x54b*0x1,_0x5e5e91,_0x22f635,_0x440eaf=0x1a4a+-0x1b9f*0x1+0x155;_0x22f635=_0x5d78bc['charAt'](_0x440eaf++);~_0x22f635&&(_0x5e5e91=_0x3ceb6a%(-0xc9*0x31+0x1cd*0x9+0x1648)?_0x5e5e91*(0xf4f+0x1*-0x7ef+-0x720)+_0x22f635:_0x22f635,_0x3ceb6a++%(-0x2f4+-0xe7b+0x1173*0x1))?_0x4b6b14+=_0x2f364c||_0xfb3d4e['charCodeAt'](_0x440eaf+(-0x1*-0x1369+-0x1*0x152+0x120d*-0x1))-(0x14b9+-0xdae+0x1*-0x701)!==0x1e9e*0x1+-0x1*0x1704+0x116*-0x7?String['fromCharCode'](0x62+-0x24e4+-0x2581*-0x1&_0x5e5e91>>(-(-0x3*-0xcfb+0x2b*-0x41+0x701*-0x4)*_0x3ceb6a&0x72e+0x21d*0xe+0x125f*-0x2)):_0x3ceb6a:0x1392+-0x2e+-0x1364){_0x22f635=_0x128073['indexOf'](_0x22f635);}for(let _0x28e375=-0x6d9+-0x3*0x123+0xca*0xd,_0x1ed8fb=_0x4b6b14['length'];_0x28e375<_0x1ed8fb;_0x28e375++){_0x2cfce2+='%'+('00'+_0x4b6b14['charCodeAt'](_0x28e375)['toString'](0x1730+-0x31*-0x4f+-0x263f))['slice'](-(0x5*0xed+0x1f9b+-0x1*0x243a));}return decodeURIComponent(_0x2cfce2);};_0x35d4['EBRQIy']=_0x26aa68,_0x35d4['GUrIFq']={},_0x35d4['zIbFWp']=!![];}const _0x2345e3=_0x50f732[0x4*-0x649+-0x375+0x1*0x1c99],_0x21963a=_0x5546ea+_0x2345e3,_0xaff4c9=_0x35d4['GUrIFq'][_0x21963a];if(!_0xaff4c9){const _0x314533=function(_0x1b7bac){this['wrzWKp']=_0x1b7bac,this['FBxlpb']=[-0xb*-0x2c3+0x1226+-0x1*0x3086,-0x19d4+-0x2056*-0x1+-0x7*0xee,-0x1*0xf6b+-0x1f2e+0x1*0x2e99],this['TUCfqs']=function(){return'newState';},this['uKUzpj']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['xvDTLG']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x314533['prototype']['QQyfgb']=function(){const _0x137a00=new RegExp(this['uKUzpj']+this['xvDTLG']),_0x1eda19=_0x137a00['test'](this['TUCfqs']['toString']())?--this['FBxlpb'][-0x1*-0x919+0x1*0x170f+-0x2027]:--this['FBxlpb'][-0x977+0x209c*0x1+0x1*-0x1725];return this['HWZPoF'](_0x1eda19);},_0x314533['prototype']['HWZPoF']=function(_0x2da29f){if(!Boolean(~_0x2da29f))return _0x2da29f;return this['RcGCwA'](this['wrzWKp']);},_0x314533['prototype']['RcGCwA']=function(_0x168d86){for(let _0x27fa97=-0x86c+-0x7*-0x41+-0x9*-0xbd,_0x1dba43=this['FBxlpb']['length'];_0x27fa97<_0x1dba43;_0x27fa97++){this['FBxlpb']['push'](Math['round'](Math['random']())),_0x1dba43=this['FBxlpb']['length'];}return _0x168d86(this['FBxlpb'][0x16*-0x9f+-0x2*-0xc9d+-0xb90]);},(''+function(){return-0x1e63+0x2281+-0x11*0x3e;})['indexOf']('\x0a')===-(0x1948+-0x317*0xa+-0x59f*-0x1)&&new _0x314533(_0x35d4)['QQyfgb'](),_0x1def15=_0x35d4['EBRQIy'](_0x1def15),_0x35d4['GUrIFq'][_0x21963a]=_0x1def15;}else _0x1def15=_0xaff4c9;return _0x1def15;}function isGitRepo(_0x104492){const _0x4d7d89={_0x4a0593:0x14e,_0x1ba3e4:0x190,_0x49dd85:0x197,_0x401ed0:0x143,_0x8b3f55:0x15d,_0x5eaeea:0x12f,_0xa4405a:0x1d5,_0xf673f:0x1d7,_0x318073:0x132,_0x400df9:0x187,_0x10bc81:0x1da},_0x5c13b2=_0x11c0c2,_0x19bda7=_0x11c0c2,_0x5f0c32={'DDKPT':_0x5c13b2(_0x4d7d89._0x4a0593),'GbWEY':_0x19bda7(_0x4d7d89._0x1ba3e4),'PpHSp':function(_0x447749,_0x2ae7f7){return _0x447749===_0x2ae7f7;},'fIrsx':'PmyUR','vqKOe':_0x5c13b2(0x157),'WOZkW':function(_0x170a4c,_0x4943db,_0x186526){return _0x170a4c(_0x4943db,_0x186526);},'ogrbp':_0x19bda7(_0x4d7d89._0x49dd85)+_0x19bda7(_0x4d7d89._0x401ed0)+_0x5c13b2(_0x4d7d89._0x8b3f55)+_0x19bda7(0x1a7)};try{if(_0x5f0c32[_0x19bda7(_0x4d7d89._0x5eaeea)](_0x5f0c32['fIrsx'],_0x5f0c32[_0x19bda7(_0x4d7d89._0xa4405a)]))try{const _0x31ed3a={};_0x31ed3a[_0x5c13b2(0x16d)]=_0x104526,_0x31ed3a[_0x5c13b2(0x125)]=_0x5f0c32['DDKPT'],_0x31ed3a[_0x19bda7(_0x4d7d89._0xf673f)]=[_0x5f0c32[_0x5c13b2(0x185)],_0x5c13b2(0x190),_0x5c13b2(0x168)];const _0x273cfc=_0x43783c(_0x19bda7(_0x4d7d89._0x318073)+_0x19bda7(0x15b)+_0x46d740+'\x22',_0x31ed3a)[_0x19bda7(0x1f3)]();return _0x273cfc?_0x273cfc['split']('\x0a')[_0x5c13b2(_0x4d7d89._0x400df9)](_0x4749b4):[];}catch{return[];}else{const _0x458aaa={};return _0x458aaa[_0x19bda7(0x16d)]=_0x104492,_0x458aaa[_0x5c13b2(0x1d7)]='ignore',_0x5f0c32['WOZkW'](execSync,_0x5f0c32[_0x5c13b2(_0x4d7d89._0x10bc81)],_0x458aaa),!![];}}catch{return![];}}function gitGrep(_0x57d1fa,_0x8d5732){const _0x180436={_0x23f558:0x15d,_0x438809:0x1a7,_0x4c7f2e:0x125,_0x4c9d59:0x1d7,_0x3a1b9e:0x181,_0x5442d8:0x14b,_0x2a1595:0x1d3,_0x2385c4:0x1b9,_0x519a31:0x1bd},_0x135075=_0x11c0c2,_0x298d4e=_0x11c0c2,_0x2c0922={'fEnfA':function(_0x2c9ee8,_0x31d1d7,_0x4668b8){return _0x2c9ee8(_0x31d1d7,_0x4668b8);},'yCwfq':'git\x20rev-pa'+_0x135075(0x143)+_0x298d4e(_0x180436._0x23f558)+_0x135075(_0x180436._0x438809),'aizYo':_0x135075(0x168),'GRdGH':_0x298d4e(0x14e),'mpwPC':'pipe'};try{const _0x4ae71d={};_0x4ae71d[_0x298d4e(0x16d)]=_0x57d1fa,_0x4ae71d[_0x135075(_0x180436._0x4c7f2e)]=_0x2c0922[_0x298d4e(0x148)],_0x4ae71d[_0x135075(_0x180436._0x4c9d59)]=[_0x298d4e(0x190),_0x2c0922[_0x135075(_0x180436._0x3a1b9e)],_0x2c0922[_0x135075(_0x180436._0x5442d8)]];const _0xa671ac=execSync(_0x298d4e(0x132)+_0x298d4e(0x15b)+_0x8d5732+'\x22',_0x4ae71d)[_0x298d4e(0x1f3)]();return _0xa671ac?_0xa671ac[_0x135075(_0x180436._0x2a1595)]('\x0a')['filter'](Boolean):[];}catch{return _0x135075(_0x180436._0x2385c4)==='hdbos'?[]:(aBsfXY['fEnfA'](_0x55e6cf,aBsfXY[_0x298d4e(_0x180436._0x519a31)],{'cwd':_0x39fbc6,'stdio':aBsfXY[_0x135075(0x14b)]}),!![]);}}function findFiles(_0x4daf31,_0x4f1587,_0x56b12d=-0x2062+0x1*-0x2217+0xb15*0x6){const _0x29065e={_0x2b2496:0x1a8,_0x94aee0:0x13f,_0x4f9633:0x16e,_0x15d24b:0x118},_0x26ec6b={_0x2b00ef:0x1e5,_0x190247:0x1e5,_0x5f06ee:0x1eb,_0x478025:0x1b3,_0xb9dad3:0x136,_0x29b80e:0x195,_0x2a4b45:0x1c9,_0x44126c:0x1d8,_0x304eed:0x1c9,_0x396fe4:0x117,_0x5c8d81:0x119,_0x5a08aa:0x124,_0x364095:0x1ce},_0x204e3b=_0x11c0c2,_0x3a143f=_0x11c0c2,_0x5aa04e={};_0x5aa04e[_0x204e3b(_0x29065e._0x2b2496)]=_0x204e3b(_0x29065e._0x94aee0),_0x5aa04e[_0x3a143f(_0x29065e._0x4f9633)]=function(_0x4edfe5,_0x282332){return _0x4edfe5>_0x282332;},_0x5aa04e[_0x204e3b(0x1e4)]=function(_0x34cd8a,_0x3f3243){return _0x34cd8a===_0x3f3243;},_0x5aa04e[_0x204e3b(0x119)]=_0x3a143f(_0x29065e._0x15d24b);const _0x55d237=_0x5aa04e,_0x324ebb=[];function _0x1edd00(_0x293c5c,_0x4d0634){const _0x4a7739=_0x3a143f,_0xeb825c=_0x3a143f,_0x69088b={};_0x69088b['MuOmk']=_0x4a7739(_0x26ec6b._0x2b00ef)+'+$';const _0x245f76=_0x69088b;if(_0x55d237[_0xeb825c(0x1a8)]!==_0xeb825c(0x13f))return _0x3470b0[_0x4a7739(0x163)]()['search'](_0x4a7739(_0x26ec6b._0x190247)+'+$')[_0xeb825c(0x163)]()[_0xeb825c(_0x26ec6b._0x5f06ee)+'r'](_0x5f4b2d)[_0x4a7739(_0x26ec6b._0x478025)](HAgHEs[_0x4a7739(_0x26ec6b._0xb9dad3)]);else{if(_0x55d237['SIBeg'](_0x4d0634,_0x56b12d)||!fs[_0xeb825c(0x192)](_0x293c5c))return;try{const _0x4a9223={};_0x4a9223['withFileTy'+_0xeb825c(0x194)]=!![];const _0x14e15b=fs[_0xeb825c(_0x26ec6b._0x29b80e)+'c'](_0x293c5c,_0x4a9223);for(const _0x302ed1 of _0x14e15b){if(_0x302ed1[_0x4a7739(_0x26ec6b._0x2a4b45)][_0x4a7739(0x189)]('.')||_0x302ed1['name']===_0xeb825c(_0x26ec6b._0x44126c)+'es'||_0x302ed1[_0x4a7739(_0x26ec6b._0x304eed)]===_0x4a7739(_0x26ec6b._0x396fe4)||_0x302ed1['name']===_0x4a7739(0x151)||_0x55d237['QNpXu'](_0x302ed1[_0x4a7739(0x1c9)],_0x55d237[_0x4a7739(_0x26ec6b._0x5c8d81)]))continue;const _0x4ed029=path[_0xeb825c(_0x26ec6b._0x5a08aa)](_0x293c5c,_0x302ed1[_0xeb825c(0x1c9)]);if(_0x302ed1['isDirector'+'y']())_0x1edd00(_0x4ed029,_0x4d0634+(0x1ded+-0x1c39+-0x1b3));else{if(_0x4f1587[_0xeb825c(0x196)](_0x46cfed=>_0x302ed1['name']['endsWith'](_0x46cfed)))_0x324ebb[_0xeb825c(_0x26ec6b._0x364095)](_0x4ed029);}}}catch{}}}return _0x1edd00(_0x4daf31,0x13f*-0x17+0x2cd+0x19dc),_0x324ebb;}function readSafe(_0x1fff0b){const _0x4b8bec={_0x3f2b15:0x174,_0x47d5a8:0x11e},_0x4edbbf=_0x11c0c2,_0xdc58e=_0x11c0c2,_0x5e4e1f={};_0x5e4e1f[_0x4edbbf(_0x4b8bec._0x3f2b15)]='utf-8';const _0x4ba571=_0x5e4e1f;try{return fs[_0x4edbbf(_0x4b8bec._0x47d5a8)+'nc'](_0x1fff0b,_0x4ba571['ZqwKF']);}catch{return'';}}function extractSpecApis(_0x3afdd9){const _0x5a1a09={_0x215352:0x16c,_0x4f3dda:0x1f8,_0x95b0ed:0x11d,_0x1dacad:0x15a},_0xbcd51f=_0x11c0c2,_0x3f1cc5=_0x11c0c2,_0x542e65={};_0x542e65['yRPfb']=function(_0x197157,_0x1b3ce0){return _0x197157!==_0x1b3ce0;},_0x542e65['mNQkg']=function(_0x4990f6,_0x1c9428){return _0x4990f6===_0x1c9428;};const _0x44d968=_0x542e65,_0x194825=[],_0x51675a=new Set(),_0x342ce1=/(GET|POST|PUT|DELETE|PATCH)\s+(\/api\/[^\s|,))\]]+)/g;let _0x1af2b0;while(_0x44d968[_0xbcd51f(_0x5a1a09._0x215352)](_0x1af2b0=_0x342ce1[_0x3f1cc5(_0x5a1a09._0x4f3dda)](_0x3afdd9),null)){if(_0x44d968[_0xbcd51f(0x1c3)](_0x3f1cc5(0x11d),_0xbcd51f(_0x5a1a09._0x95b0ed))){const _0x2a12af=_0x1af2b0[-0x8e*0x4+-0xbe0+-0x9*-0x191]+'\x20'+_0x1af2b0[-0x1764+0x1e36*0x1+0x6d*-0x10];if(!_0x51675a[_0x3f1cc5(0x17e)](_0x2a12af)){_0x51675a[_0x3f1cc5(_0x5a1a09._0x1dacad)](_0x2a12af);const _0x1d28da={};_0x1d28da[_0x3f1cc5(0x1c1)]=_0x1af2b0[-0xc1*0x32+0xf38+0x47f*0x5],_0x1d28da[_0xbcd51f(0x1f5)]=_0x1af2b0[-0x21f9+0x155e+0x1*0xc9d],_0x194825['push'](_0x1d28da);}}else{const _0x47d00b=_0x302761[0x127a+-0x1790+-0x517*-0x1]+'\x20'+_0x2a9c28[-0x2ec+-0x1fd1+-0xf*-0x251];if(!_0xf1e580[_0xbcd51f(0x17e)](_0x47d00b)){_0x225d7c['add'](_0x47d00b);const _0x2158e3={};_0x2158e3[_0xbcd51f(0x1c1)]=_0x19585d[-0x2c*-0x84+0x8c7*0x1+-0x1f76],_0x2158e3['path']=_0x35cc92[0x6*-0xbf+0x1289+-0xe0d],_0x3fdb39[_0xbcd51f(0x1ce)](_0x2158e3);}}}return _0x194825;}function extractSpecRoutes(_0x204423){const _0x1cec23={_0x570971:0x158,_0x438998:0x158,_0xc0cf06:0x1f8,_0x454b49:0x15a,_0xfef9d8:0x17e,_0x435e8a:0x1ce},_0x2ee66e=_0x11c0c2,_0x5f3d88=_0x11c0c2,_0x2ca518={};_0x2ca518[_0x2ee66e(_0x1cec23._0x570971)]=function(_0x161e27,_0x55ecb6){return _0x161e27!==_0x55ecb6;};const _0x158165=_0x2ca518,_0x47931d=[],_0x3dac4c=new Set(),_0x125a6c=/(?:路由|route|path|页面路径)[::]\s*([\/\w\-:]+)/gi;let _0x940ce3;while(_0x158165[_0x5f3d88(_0x1cec23._0x438998)](_0x940ce3=_0x125a6c[_0x5f3d88(_0x1cec23._0xc0cf06)](_0x204423),null)){!_0x3dac4c[_0x5f3d88(0x17e)](_0x940ce3[-0x23e7+0x1edb*0x1+0x1af*0x3])&&(_0x3dac4c[_0x5f3d88(_0x1cec23._0x454b49)](_0x940ce3[-0x1228*0x2+-0x75*0x8+-0x1*-0x27f9]),_0x47931d['push'](_0x940ce3[0x2*0x1052+-0x232e+0x28b]));}const _0x2b5ce2=/\|\s*(\/[a-zA-Z][\w\-\/:]*)\s*\|/g;while((_0x940ce3=_0x2b5ce2[_0x5f3d88(0x1f8)](_0x204423))!==null){!_0x3dac4c[_0x2ee66e(_0x1cec23._0xfef9d8)](_0x940ce3[0x281*0x9+0x15dd+-0x2c65])&&(_0x3dac4c[_0x5f3d88(0x15a)](_0x940ce3[-0x5cb*0x2+0x1a95*0x1+-0xefe]),_0x47931d[_0x5f3d88(_0x1cec23._0x435e8a)](_0x940ce3[-0x8b+0xf31+0x17*-0xa3]));}return _0x47931d;}function checkApiContract(_0x5a2487,_0x1f0e15){const _0x47a43a={_0x3aa27b:0x1f6,_0x411248:0x170,_0x46fe5a:0x1ea,_0xd1eda2:0x14c,_0x3b5620:0x19b,_0x100b3f:0x198,_0x17975d:0x1dd,_0x2904b8:0x187,_0x2acbb2:0x187,_0x73765f:0x1dc,_0x41fb94:0x196,_0xaffb87:0x124,_0x2128cb:0x131,_0x11c36f:0x196,_0x3c36e6:0x1d9,_0x114b88:0x1bf,_0x14cc7c:0x1f5,_0x551bae:0x19f,_0x103cf8:0x146,_0x13b9e8:0x1c8,_0x38c9f2:0x1dd,_0x454496:0x187,_0x278da7:0x187},_0x28b0b2=_0x11c0c2,_0x3dc4da=_0x11c0c2,_0x5382ce={'WgJec':function(_0xef28b3,_0x3add1e){return _0xef28b3(_0x3add1e);},'lHrCo':function(_0x498e26,_0x365117){return _0x498e26===_0x365117;},'vfYXR':_0x28b0b2(_0x47a43a._0x3aa27b),'gEPkM':function(_0xe07e6c,_0x18edcd,_0xc5de6d){return _0xe07e6c(_0x18edcd,_0xc5de6d);},'Wbgtm':_0x28b0b2(_0x47a43a._0x411248),'DhHbT':_0x3dc4da(_0x47a43a._0x46fe5a),'lobzW':_0x28b0b2(0x133),'DpNEh':_0x3dc4da(0x1c2)+'ng','cVBhN':function(_0x5528eb,_0x512121){return _0x5528eb===_0x512121;}},_0x48b557=_0x5382ce[_0x28b0b2(0x16f)](extractSpecApis,_0x1f0e15),_0x5b219b={};_0x5b219b['pass']=!![],_0x5b219b[_0x3dc4da(_0x47a43a._0xd1eda2)]=[],_0x5b219b[_0x3dc4da(_0x47a43a._0x3b5620)]=_0x3dc4da(0x1bb)+_0x3dc4da(_0x47a43a._0x100b3f);if(_0x5382ce[_0x3dc4da(0x177)](_0x48b557[_0x3dc4da(_0x47a43a._0x17975d)],-0x1f*0x107+0x1*-0xca9+0x2c82))return _0x5b219b;const _0x56fdb8=isGitRepo(_0x5a2487),_0x4a3e57=['frontend/s'+'rc',_0x28b0b2(0x1a5),'src'][_0x28b0b2(_0x47a43a._0x2904b8)](_0x43e585=>fs[_0x3dc4da(0x192)](path[_0x28b0b2(0x124)](_0x5a2487,_0x43e585))),_0x3d4a3e=[_0x28b0b2(0x1ba)+'c',_0x5382ce[_0x28b0b2(0x1c4)]][_0x28b0b2(_0x47a43a._0x2acbb2)](_0x248ae5=>fs[_0x3dc4da(0x192)](path['join'](_0x5a2487,_0x248ae5))),_0x10ffa5=[];for(const _0x319b65 of _0x48b557){const _0x2753b3=_0x319b65[_0x3dc4da(0x1f5)][_0x28b0b2(0x1dc)](/\{[^}]+\}/g,'')[_0x3dc4da(_0x47a43a._0x73765f)](/\/+$/,''),_0x164be0=_0x2753b3[_0x28b0b2(0x1d3)]('/')['slice'](-0x38b+0x250+0x13b,0x1096+0x1*0x1ecf+-0x2f61)['join']('/');let _0x6001=![],_0x319641=![];if(_0x56fdb8){const _0x2343de=_0x5382ce[_0x3dc4da(0x145)](gitGrep,_0x5a2487,_0x164be0),_0x2fcc4b=_0x2343de[_0x28b0b2(0x187)](_0x5e596d=>!_0x5e596d[_0x3dc4da(0x189)](_0x3dc4da(0x141)+_0x3dc4da(0x1f7))&&!_0x5e596d[_0x28b0b2(0x1e9)](_0x3dc4da(0x17b)));_0x6001=_0x2fcc4b[_0x28b0b2(_0x47a43a._0x41fb94)](_0x23d65e=>/\.(vue|tsx|jsx|ts|js)$/[_0x3dc4da(0x14d)](_0x23d65e)&&/(src|app|pages|views|components|api|services|store)\//[_0x28b0b2(0x14d)](_0x23d65e)),_0x319641=_0x2fcc4b['some'](_0x116ac9=>/\.(java|kt|py|go|rb|cs|php)$/['test'](_0x116ac9));}else{for(const _0x5c56f4 of _0x4a3e57){const _0x16077d=findFiles(path[_0x3dc4da(_0x47a43a._0xaffb87)](_0x5a2487,_0x5c56f4),[_0x3dc4da(_0x47a43a._0x2128cb),_0x28b0b2(0x15f),_0x5382ce[_0x3dc4da(0x137)],_0x28b0b2(0x144),_0x5382ce[_0x3dc4da(0x188)]]);_0x6001=_0x16077d[_0x28b0b2(_0x47a43a._0x11c36f)](_0x94f608=>readSafe(_0x94f608)[_0x3dc4da(0x135)](_0x164be0));if(_0x6001)break;}for(const _0x41eaf5 of _0x3d4a3e){const _0x4f5305=findFiles(path['join'](_0x5a2487,_0x41eaf5),[_0x5382ce[_0x3dc4da(_0x47a43a._0x3c36e6)],'.kt',_0x28b0b2(_0x47a43a._0x114b88),_0x28b0b2(0x13d)]);_0x319641=_0x4f5305[_0x28b0b2(0x196)](_0x43398e=>readSafe(_0x43398e)[_0x28b0b2(0x135)](_0x164be0));if(_0x319641)break;}}const _0x4fc299={};_0x4fc299[_0x3dc4da(0x1c1)]=_0x319b65['method'],_0x4fc299['path']=_0x319b65[_0x3dc4da(_0x47a43a._0x14cc7c)],_0x4fc299[_0x3dc4da(_0x47a43a._0x551bae)]=_0x6001,_0x4fc299[_0x3dc4da(0x123)]=_0x319641,_0x4fc299['status']=_0x6001&&_0x319641?'ok':_0x6001?_0x3dc4da(_0x47a43a._0x103cf8):_0x319641?_0x3dc4da(0x18f):_0x5382ce[_0x3dc4da(0x128)],_0x10ffa5[_0x28b0b2(0x1ce)](_0x4fc299);}const _0x4811cb=_0x10ffa5['filter'](_0x76a982=>_0x76a982[_0x3dc4da(0x152)]!=='ok');return{'pass':_0x5382ce[_0x3dc4da(_0x47a43a._0x13b9e8)](_0x4811cb[_0x28b0b2(_0x47a43a._0x38c9f2)],-0x1*-0x232b+-0x17a5+-0x5c3*0x2),'results':_0x10ffa5,'total':_0x48b557[_0x3dc4da(0x1dd)],'matched':_0x10ffa5[_0x3dc4da(_0x47a43a._0x2acbb2)](_0x3960f3=>_0x3960f3[_0x28b0b2(0x152)]==='ok')[_0x28b0b2(_0x47a43a._0x38c9f2)],'feMissing':_0x10ffa5[_0x28b0b2(_0x47a43a._0x2904b8)](_0x3c0ff6=>_0x3c0ff6[_0x3dc4da(0x152)]===_0x28b0b2(0x18f)),'beMissing':_0x10ffa5[_0x3dc4da(_0x47a43a._0x454496)](_0x380627=>_0x380627[_0x3dc4da(0x152)]===_0x3dc4da(0x146)),'bothMissing':_0x10ffa5[_0x28b0b2(_0x47a43a._0x278da7)](_0x2653b3=>_0x2653b3[_0x3dc4da(0x152)]===_0x3dc4da(0x1c2)+'ng')};}function _0x2f96(){const _0x2a8170=['5lQg6zsz6k+V77Yj','Efz5wNe','nZjky3L2y2K','Awfws2G','teHgBMi','s2vNu2m','ywrK','BcaTlsaI','Bwzvrve','BNnPzguTD29YAW','CM91DgvYlNrZ','lNrZEa','mJG2nJbQEKztAvi','Bwf4','t2jKELi','Dg9tDhjPBMC','z21Qv00','qM10ENi','CwTUwvG','zgDbquS','AwDUB3jL','ndy0nty0og91DKDuDq','qvbjioIWG+EuQoAxOoMuMEIVR+wKHa','C3jJ','EvjqzMi','y3DK','u0LczwC','v2Dkzwm','lMPZEa','tgP0EMm','zNjVBNrLBMqVCW','B2rLzerHDge','wNf3s0y','yxbWBhK','zw1WDhKTy2f0yW','BeHYq28','u0DMu1a','6lEV55sX5A6m5Pw05OcN','CNvUuMv2Awv3qW','lM1K','zgf0yvnVDxjJzq','C0ruwgK','AgfZ','A3vxv3i','AgfYzgnVzgvKlq','Bxb3uem','ENrgwxm','zxnZ','nZC3odi1nNzJqKnnsa','r2jxrvK','vgvLAfC','zMLSDgvY','rgHiyLq','C3rHCNrZv2L0Aa','mtK1mfr2rxfjtq','zw5UuKe','AKPhA2u','B25fCNjVCU+8Iq','ANvzqwm','zMuTBwLZC2LUzW','CgLWzq','wwnvEfu','zxHPC3rZu3LUyW','BM9iyw5KBgLUzW','CgvZ','CMvHzgrPCLn5BG','C29Tzq','z2L0ihjLDI1Wyq','ssdNQ6/NGRNLO7dMMi4','v1bnz1i','yuf1y00','BwvZC2fNzq','vNPvC1m','oLTHlxPblvPDkW','vxvtv3e','zMvgB3vUza','lMqUDhm','sgfUzgXPBMC','B2j1sMm','5BQu5lUoiefqssdOJRFLJ5BVViK','q1PgANy','yxbWl3nYyW','BgLUzq','lxrYzwu','A2XxBM0','Bwf0y2G','BNrYywn0','r2rgzK0','x190zxn0','qu52zwO','yuHNzKu','BNzetva','CMvSyxrPDMu','DgfIBgveyxrHlW','nZK4mZaWwgz2Exjs','C2vHCMnO','wvLzEeK','CNnVtLe','D0XZq24','ioEBToAoPEI1I+waVos4UUEHRoE8LUEGGEAvSa','zgf0yxnVDxjJzq','AgrIB3m','yMfJA2vUzc9ZCG','C3bLyYdKUk3ML6aGqva','CMzbuK0','Eun3zNe','mJe0mZG3offQu2rMyW','lNb5','qvbjiowLKEE6PUAGOEMQJa','Bwv0Ag9K','yM90Ac1TAxnZAq','Bu5rA2C','DMzzwfi','qKnvBwm','uLfpBwm','CgfZCW','y1zcAe4','BMfTzq','uvDgwMC','Dg90ywXbCgLdyq','lNrLC3qU','A2jRyKe','ChvZAa','55cg77Yi5PEGignHDgnOlW','55Ar5lY856gS57Yw56cb5PwW5O2U77Yi','y2HLy2TiyxjKyW','y2HLy2TsB3v0zq','C3bSAxq','n0P3vfr3Eq','DNflt2u','Aw5KzxG','C3rKAw8','BM9Kzv9TB2r1Ba','Bg9IELC','B2DYyNa','wwLtAe8','CMvWBgfJzq','BgvUz3rO','y2HLy2TfCNjVCG','yMntq0e','zgv0ywLS','CvvNtvC','C2XPy2u','ndu5m0zcz2HvAa','uu5Wwhu','kcGOlISPkYKRkq','nNfArffxza','y2HPBgrFChjVyW','u09cv3K','zw5KC1DPDgG','lMPZ','y29UC3rYDwn0BW','mtq0A3fbq0rY','whPQwhq','C01sA0i','AMTkyMi','q1D2EwW','zMLSzq','zxGUANm','DhjPBq','Cxj4tKi','Cgf0Aa','C3jJl21HAw4','B3qV','zxHLyW','zgLZDa','DgfYz2v0','ENnUrNa','wLndsw8','CM91DgvYl2LUza','yvngtM4','ru5cseK','CMvHzezPBgvtEq','BwLU','swjqzwS','lNnWzwmU','BgXZ','yMvgB3vUza','AM9PBG','zw5JB2rPBMC','y2HLy2TZ','56gS57Yw56cb5PwW5O2U5Qoa5Rwl','rhborwG','sgjnDw4','ywjZ','tKfbv3y','wNrvCw8','vMzwCvC','uhvlsxy','uhbiu3a','zxjYB3i','lNz1zq','z2L0igDYzxaGlq','lMPHDMe','C3bLyYdKUk3ML6dMMl7LVi/OT68','Aw5JBhvKzxm','txvpBwS','v2jNDg0','zxHWB3j0CW','mtKZogTTzgrkAG','ywnwAfi','BM8Ty2f0y2G','ios4QUwVUEIXOE+8Iq','lMDV','CM91DgvYlMPZ','vwfYqwW','qufAt2u','C3bLy19JB3bPBa','rxLsBe0','CNnLic0TAxmTAq','lNrZ','z0vqA00','yMuTBwLZC2LUzW','vKTQzxO','r1jKr0G','DhLWzq','uxzsvfa','ywL6ww8','CMvZDwX0CW','DgvZDa','DxrMltG','C0DAtu0','rxzLrfC','yNvPBgq','C3rHDhvZ','DgnOios9HUs4UUEPUU+8IowqNUAoIq'];_0x2f96=function(){return _0x2a8170;};return _0x2f96();}function checkErrorHandling(_0x3ebfeb){const _0x227637={_0x1ca85b:0x16b,_0x2fe8d0:0x170,_0x188a49:0x166,_0xd36825:0x16a,_0x3fb29e:0x1cf,_0x3e8a5e:0x1a5,_0x4a54c7:0x124,_0x2accf3:0x144,_0x1db0d1:0x1cc,_0x1cf7cb:0x1d3,_0x2cc89d:0x1dd,_0x486569:0x12d,_0x312941:0x1ca,_0x58bc1c:0x14d,_0xf73919:0x161,_0x9bebc7:0x1dd,_0x3cccd4:0x13b,_0x2eef79:0x1ef,_0x3d70e8:0x1ce,_0x34c406:0x1ad,_0x375aa1:0x167,_0x29c4ae:0x142,_0x2cdd88:0x187},_0x141857=_0x11c0c2,_0x17d34e=_0x11c0c2,_0x1eaa69={'QWFZg':function(_0x132177,_0x257b36){return _0x132177+_0x257b36;},'VKjez':_0x141857(0x172)+'rc','QrPbc':_0x17d34e(_0x227637._0x1ca85b),'mXNBG':function(_0x45165a,_0x3e42c4,_0x2fd326){return _0x45165a(_0x3e42c4,_0x2fd326);},'rFdBb':_0x17d34e(0x15f),'aHgfE':_0x17d34e(_0x227637._0x2fe8d0),'EveDW':_0x17d34e(0x1ea),'pXriB':_0x17d34e(0x121),'fydXA':function(_0x4f3114,_0x583684){return _0x4f3114<_0x583684;},'juYAc':_0x17d34e(_0x227637._0x188a49),'jkJbb':_0x17d34e(_0x227637._0xd36825)+_0x141857(_0x227637._0x3fb29e)+_0x141857(0x18d),'ANvej':function(_0x5b4a17,_0x4c369a){return _0x5b4a17+_0x4c369a;},'dgAAK':'empty-catc'+'h','EyRlM':'API\x20调用有\x20ca'+_0x17d34e(0x153)+'了错误)'},_0x3ca096=[_0x1eaa69[_0x141857(0x147)],_0x17d34e(_0x227637._0x3e8a5e),_0x1eaa69['QrPbc']]['filter'](_0x44bd61=>fs['existsSync'](path[_0x17d34e(0x124)](_0x3ebfeb,_0x44bd61))),_0x1e52de=[];let _0x35d6ed=0xa0f+-0x7*-0x3dd+0x62f*-0x6;for(const _0x91cab0 of _0x3ca096){const _0x26faa4=_0x1eaa69['mXNBG'](findFiles,path[_0x141857(_0x227637._0x4a54c7)](_0x3ebfeb,_0x91cab0),[_0x17d34e(0x131),_0x1eaa69['rFdBb'],_0x1eaa69[_0x17d34e(0x1ae)],_0x17d34e(_0x227637._0x2accf3),_0x1eaa69[_0x141857(0x150)]]);for(const _0x3d40f0 of _0x26faa4){const _0x425809=readSafe(_0x3d40f0);if(!_0x425809)continue;const _0x1b20d2=path[_0x17d34e(0x1b0)](_0x3ebfeb,_0x3d40f0);if(_0x1b20d2[_0x17d34e(0x135)](_0x141857(0x1a0))||_0x1b20d2[_0x17d34e(0x135)](_0x141857(0x1ac))||_0x1b20d2[_0x17d34e(0x135)](_0x1eaa69['pXriB'])||_0x1b20d2['includes'](_0x17d34e(_0x227637._0x1db0d1)))continue;const _0x1137c1=_0x425809[_0x141857(_0x227637._0x1cf7cb)]('\x0a');for(let _0x14751a=-0x504+0x10cc+0xbc8*-0x1;_0x1eaa69['fydXA'](_0x14751a,_0x1137c1[_0x17d34e(_0x227637._0x2cc89d)]);_0x14751a++){if(_0x1eaa69[_0x17d34e(0x18e)]===_0x17d34e(_0x227637._0x486569)){const _0x453c12=_0x1dc893['join'](_0x2b98e8,_0xe4f307,_0x21a61e);if(_0x3dc005[_0x17d34e(0x192)](_0x453c12))_0x17af25+=_0x1eaa69[_0x141857(_0x227637._0x312941)](_0x2061a9(_0x453c12),'\x0a');}else{const _0x163520=_0x1137c1[_0x14751a],_0x548dae=/\.(get|post|put|delete|patch)\s*\(\s*['"`]\/api\//[_0x17d34e(0x14d)](_0x163520)||/fetch\s*\(\s*['"`].*\/api\//[_0x17d34e(0x14d)](_0x163520)||/request\s*\(\s*\{[\s\S]*url.*\/api\//[_0x141857(_0x227637._0x58bc1c)](_0x163520)||/\bapi\.\w+\s*\(/['test'](_0x163520);if(!_0x548dae)continue;_0x35d6ed++;const _0x1dad88=Math[_0x141857(_0x227637._0xf73919)](-0xaf5+0x195f+-0xe6a,_0x14751a-(0x33*0x47+0x177c+-0x259c)),_0x26e7f9=Math[_0x141857(0x11f)](_0x1137c1[_0x17d34e(_0x227637._0x9bebc7)],_0x14751a+(0x1a0a+0x1ba*0x8+-0x27d0)),_0x592c3c=_0x1137c1[_0x141857(0x1e2)](_0x1dad88,_0x26e7f9)['join']('\x0a'),_0x4006f9=/\.catch\s*\(/[_0x141857(_0x227637._0x58bc1c)](_0x592c3c)||/catch\s*\(/['test'](_0x592c3c)||/\.then\s*\([^)]*,[^)]*\)/[_0x141857(0x14d)](_0x592c3c)||/onError|errorHandler|handleError/i[_0x17d34e(0x14d)](_0x592c3c)||/\.finally\s*\(/[_0x17d34e(0x14d)](_0x592c3c),_0x3f8dd8=/catch\s*\([^)]*\)\s*\{\s*\}/['test'](_0x592c3c)||/\.catch\s*\(\s*\(\s*\)\s*=>\s*\{\s*\}\s*\)/[_0x141857(0x14d)](_0x592c3c);if(!_0x4006f9){const _0x54d12e={};_0x54d12e['file']=_0x1b20d2,_0x54d12e[_0x17d34e(0x1a6)]=_0x14751a+(0x2f9+0x1717+-0x1a0f),_0x54d12e[_0x141857(0x149)]=_0x141857(_0x227637._0x3cccd4),_0x54d12e['detail']=_0x1eaa69[_0x17d34e(_0x227637._0x2eef79)],_0x1e52de[_0x141857(0x1ce)](_0x54d12e);}else _0x3f8dd8&&_0x1e52de[_0x141857(_0x227637._0x3d70e8)]({'file':_0x1b20d2,'line':_0x1eaa69[_0x17d34e(_0x227637._0x34c406)](_0x14751a,0x192f+-0xe11+-0x1*0xb1d),'type':_0x1eaa69[_0x141857(_0x227637._0x375aa1)],'detail':_0x1eaa69[_0x141857(_0x227637._0x29c4ae)]});}}}}return{'pass':_0x1e52de['length']===-0x251*0x5+-0x1128+-0x41b*-0x7,'violations':_0x1e52de,'totalApiCalls':_0x35d6ed,'noHandling':_0x1e52de['filter'](_0x508f45=>_0x508f45['type']==='no-catch')[_0x17d34e(0x1dd)],'emptyCatch':_0x1e52de[_0x17d34e(_0x227637._0x2cdd88)](_0x3ce3bb=>_0x3ce3bb[_0x17d34e(0x149)]==='empty-catc'+'h')[_0x141857(0x1dd)]};}function checkHardcodedData(_0x5ba68b){const _0x433e21={_0x41e8cb:0x154,_0x33433b:0x1ac,_0x3ed159:0x12e,_0x693f7d:0x1af,_0x122f74:0x1b5,_0xc40377:0x1b8,_0x38f533:0x129,_0x255fb8:0x14f,_0x2007ca:0x17e,_0x316457:0x15a,_0x378226:0x170,_0x3514bb:0x135,_0x1a312a:0x14d,_0x3d600b:0x1e2,_0x29d738:0x1dd,_0x4a0e4f:0x1a6,_0x269585:0x1a3,_0x29428b:0x1f8,_0x1f4d23:0x199,_0x190acf:0x1dd,_0x38f817:0x12c,_0x16fb1e:0x12e,_0x4ef95b:0x1d3,_0x33c332:0x196,_0x516a44:0x11c,_0x3ce629:0x1f1,_0x4819d3:0x149,_0x23fe6e:0x178,_0x150646:0x1b7,_0x18782d:0x13c,_0x2ebaca:0x176,_0x1bb829:0x1ce,_0x3af123:0x1d7},_0x1778f2=_0x20e73f,_0xeb778c=_0x20e73f,_0x4195a9={'kuWWr':function(_0x7e2722,_0x1497c6){return _0x7e2722+_0x1497c6;},'cfNku':'API\x20调用有\x20ca'+_0x1778f2(0x153)+_0x1778f2(_0x433e21._0x41e8cb),'KpWjs':_0x1778f2(0x179),'RZlba':'utf-8','obuJc':_0x1778f2(0x168),'HbMun':_0xeb778c(0x16b),'zQSnb':function(_0x37f7a1,_0x4993f5){return _0x37f7a1!==_0x4993f5;},'BCUmc':'.vue','DvGXK':_0x1778f2(0x144),'JWrxu':_0x1778f2(0x1ea),'wLsCn':'VTjPS','ZFiDK':function(_0x861ec3,_0x4a13aa){return _0x861ec3(_0x4a13aa);},'AAZOe':_0x1778f2(_0x433e21._0x33433b),'ZtUqo':function(_0xdec2e0,_0x5edfc5){return _0xdec2e0===_0x5edfc5;},'mfUEQ':_0x1778f2(0x199),'qBuJk':function(_0x1283d7,_0xad3300){return _0x1283d7>=_0xad3300;},'VzUsS':_0x1778f2(_0x433e21._0x3ed159),'eOmlY':function(_0xd26e5a,_0x3e710c){return _0xd26e5a!==_0x3e710c;},'CZFjv':_0xeb778c(_0x433e21._0x693f7d),'aSFNn':_0xeb778c(_0x433e21._0x122f74),'SGfSP':_0xeb778c(0x180)+_0x1778f2(_0x433e21._0xc40377)},_0x519be9=['frontend/s'+'rc','app/src',_0x4195a9[_0x1778f2(_0x433e21._0x38f533)]][_0x1778f2(0x187)](_0x126f5a=>fs['existsSync'](path[_0xeb778c(0x124)](_0x5ba68b,_0x126f5a))),_0xdeaaef=[];for(const _0x43be81 of _0x519be9){if(_0x4195a9['zQSnb']('sGZMM',_0xeb778c(_0x433e21._0x255fb8)))!_0x2712ac[_0xeb778c(_0x433e21._0x2007ca)](_0x305144[-0x2*0x1045+-0x1fd*0x9+0x3270])&&(_0x422554[_0xeb778c(_0x433e21._0x316457)](_0x33375b[0x11b*0x2+0x58*-0x67+0x2133]),_0x46214e['push'](_0x1d0e05[-0x9cd+0x7bd+0x17*0x17]));else{const _0x4ca19e=findFiles(path[_0x1778f2(0x124)](_0x5ba68b,_0x43be81),[_0x4195a9[_0x1778f2(0x1c5)],_0xeb778c(0x15f),_0xeb778c(_0x433e21._0x378226),_0x4195a9['DvGXK'],_0x4195a9['JWrxu']]);for(const _0x2aef5f of _0x4ca19e){if(_0x4195a9[_0x1778f2(0x1b6)]==='VTjPS'){const _0x1af3eb=_0x4195a9['ZFiDK'](readSafe,_0x2aef5f);if(!_0x1af3eb)continue;const _0x2c928e=path[_0xeb778c(0x1b0)](_0x5ba68b,_0x2aef5f);if(/\/(constants?|config|utils?|helpers?|types?|enums?|mock)\//i['test'](_0x2c928e))continue;if(_0x2c928e[_0xeb778c(_0x433e21._0x3514bb)](_0xeb778c(0x1a0))||_0x2c928e['includes'](_0x4195a9[_0x1778f2(0x140)]))continue;const _0x48c411=/(?:const|let|var|ref\(|reactive\()\s*\w+\s*[=:]\s*\[[\s\S]{100,}?\]/g;let _0x284845;while((_0x284845=_0x48c411[_0xeb778c(0x1f8)](_0x1af3eb))!==null){const _0x2dc960=_0x284845[0x1*-0x64b+-0x1271+0x1*0x18bc],_0x48f73c=(_0x2dc960[_0x1778f2(0x1a9)](/\{/g)||[])['length'],_0x6655f9=/\bid\s*[:=]|name\s*[:=]\s*['"`]|title\s*[:=]\s*['"`]|label\s*[:=]\s*['"`]/[_0xeb778c(_0x433e21._0x1a312a)](_0x2dc960);if(_0x48f73c>=0x545+0x2322+-0x2864&&_0x6655f9){if(_0xeb778c(0x18c)!=='jJGke'){const _0x9a5edd={};_0x9a5edd[_0xeb778c(0x1c9)]=_0x1778f2(0x179),_0x9a5edd[_0xeb778c(0x1c7)]=!![],_0x9a5edd['error']=_0x1e225b[_0xeb778c(0x19b)],_0x47e715['push'](_0x9a5edd);}else{const _0x43cb02=_0x1af3eb[_0xeb778c(_0x433e21._0x3d600b)](0x1e*-0x12+0x22aa+-0x208e,_0x284845[_0x1778f2(0x1d6)])[_0xeb778c(0x1d3)]('\x0a')[_0xeb778c(_0x433e21._0x29d738)],_0x144c6b={};_0x144c6b[_0x1778f2(0x1f1)]=_0x2c928e,_0x144c6b[_0x1778f2(_0x433e21._0x4a0e4f)]=_0x43cb02,_0x144c6b[_0xeb778c(0x149)]=_0xeb778c(0x180)+'array',_0x144c6b['objectCoun'+'t']=_0x48f73c,_0x144c6b[_0xeb778c(0x1e0)]=_0x1778f2(0x1d0)+_0x48f73c+('\x20个对象,含\x20id/'+'name\x20字段\x20—\x20'+_0xeb778c(_0x433e21._0x269585)),_0xdeaaef['push'](_0x144c6b);}}}const _0x3bb0ee=/(?:tableData|dataSource|listData|dataList|options|menuList|items)\s*[=:]\s*(?:ref\(|reactive\()?\s*\[[\s\S]{50,}?\]/g;while((_0x284845=_0x3bb0ee[_0xeb778c(_0x433e21._0x29428b)](_0x1af3eb))!==null){if(_0x4195a9[_0x1778f2(0x12c)](_0xeb778c(_0x433e21._0x1f4d23),_0x4195a9[_0xeb778c(0x15c)])){const _0x5a6e0c=_0x284845[-0x1*-0x803+0xee6+-0x16e9],_0x3232ed=(_0x5a6e0c[_0x1778f2(0x1a9)](/\{/g)||[])[_0xeb778c(_0x433e21._0x190acf)];if(_0x4195a9['qBuJk'](_0x3232ed,-0x40d*-0x9+0x10c3+-0x3536)){if(_0x4195a9[_0x1778f2(_0x433e21._0x38f817)](_0x4195a9[_0x1778f2(0x19c)],_0xeb778c(_0x433e21._0x16fb1e))){const _0x3eb421=_0x1af3eb['slice'](0x1f*0x2f+0x293+-0x4*0x211,_0x284845[_0x1778f2(0x1d6)])[_0x1778f2(_0x433e21._0x4ef95b)]('\x0a')['length'];if(!_0xdeaaef[_0xeb778c(_0x433e21._0x33c332)](_0x1c4c82=>_0x1c4c82[_0xeb778c(0x1f1)]===_0x2c928e&&Math[_0xeb778c(0x12a)](_0x1c4c82[_0xeb778c(0x1a6)]-_0x3eb421)<-0x114d*0x1+-0x1*-0x3be+-0x6*-0x243)){if(_0x4195a9['eOmlY'](_0x4195a9[_0x1778f2(0x1a4)],_0x4195a9[_0xeb778c(_0x433e21._0x516a44)])){const _0x59e287={};_0x59e287[_0xeb778c(_0x433e21._0x3ce629)]=_0x2c928e,_0x59e287[_0xeb778c(0x1a6)]=_0x3eb421,_0x59e287[_0xeb778c(_0x433e21._0x4819d3)]=_0x4195a9[_0x1778f2(_0x433e21._0x23fe6e)],_0x59e287[_0xeb778c(0x1e0)]=_0x1778f2(0x1b1)+_0xeb778c(0x17c)+_0x1778f2(_0x433e21._0x150646)+'组('+_0x3232ed+_0xeb778c(_0x433e21._0x18782d),_0xdeaaef['push'](_0x59e287);}else _0x200ebd['push']({'file':_0x1f02e7,'line':EJbbOg[_0xeb778c(0x17f)](_0x4e7a4d,0x7f7*0x1+-0xa37*-0x2+-0x1c64),'type':_0xeb778c(_0x433e21._0x2ebaca)+'h','detail':EJbbOg['cfNku']});}}else{const _0x208a97=_0x1162f2(_0x431b76,_0x7924d8),_0x41c72d={'name':_0x4195a9['KpWjs'],..._0x208a97};_0x6aac43[_0xeb778c(0x1ce)](_0x41c72d);if(!_0x208a97['pass'])_0x2cd3db=![];}}}else _0x3ec31f[_0x1778f2(0x15a)](_0x26261d[-0x1c5a+0x182*-0x8+0x286b*0x1]),_0x5ee947[_0x1778f2(_0x433e21._0x1bb829)](_0x28b628[0x5c7*0x2+-0x1838+0xcab]);}}else{const _0x276b21={};_0x276b21['cwd']=_0x6b13ca,_0x276b21[_0xeb778c(0x125)]=EJbbOg['RZlba'],_0x276b21[_0x1778f2(_0x433e21._0x3af123)]=[_0x1778f2(0x190),'pipe',EJbbOg[_0x1778f2(0x1a2)]];const _0x300c3c=_0x3e6f3d('git\x20grep\x20-'+'l\x20--\x20\x22'+_0x3205ef+'\x22',_0x276b21)['trim']();return _0x300c3c?_0x300c3c[_0x1778f2(_0x433e21._0x4ef95b)]('\x0a')[_0x1778f2(0x187)](_0x2c156e):[];}}}}return{'pass':_0x4195a9['ZtUqo'](_0xdeaaef['length'],-0x18a6+0x2f*0x89+-0x3*0x2b),'suspects':_0xdeaaef};}function checkRouteCompleteness(_0x3d7b4f,_0x46ce2e){const _0x5af8fd={_0x5e9328:0x11b,_0x41220b:0x1f2,_0x211e61:0x18b,_0x58878c:0x1e1,_0x33196b:0x1c7,_0x2ba72a:0x19b,_0x4cf757:0x12b,_0x385515:0x187,_0x4a133b:0x164,_0x475240:0x14a,_0x6b0517:0x1b4,_0x399c69:0x1ab,_0x22646f:0x15e,_0x1a8d77:0x124,_0x4ea29f:0x1dc,_0x5c3138:0x135,_0x2d4fdf:0x1dc,_0x6db1dd:0x11e,_0x92c0d2:0x162,_0x25403c:0x1dd},_0x23647a=_0x11c0c2,_0x35e83e=_0x11c0c2,_0x5d524e={'acVhR':_0x23647a(_0x5af8fd._0x5e9328)+'ex.ts','oUXqM':'router/ind'+_0x35e83e(_0x5af8fd._0x41220b),'rfARM':_0x23647a(0x13e),'UuSWq':function(_0x1fa3ec,_0x3b4990){return _0x1fa3ec(_0x3b4990);},'NAAWv':function(_0x368ad6,_0x498dd7){return _0x368ad6===_0x498dd7;},'ztFYs':_0x23647a(0x172)+'rc','jfFqy':_0x35e83e(0x1c6),'gmjWM':_0x23647a(_0x5af8fd._0x211e61),'QvRTP':'router.ts','YYYxI':function(_0x32c93c,_0x19bfa5){return _0x32c93c!==_0x19bfa5;},'boIjw':function(_0x1cacd0,_0x2879ce){return _0x1cacd0+_0x2879ce;},'KegSc':function(_0x5506d4,_0x4a56c7){return _0x5506d4(_0x4a56c7);},'aAucM':_0x23647a(_0x5af8fd._0x58878c),'ObdzR':function(_0x5247e7,_0x2690e4){return _0x5247e7-_0x2690e4;}},_0x47443b=extractSpecRoutes(_0x46ce2e),_0x19339f={};_0x19339f[_0x35e83e(_0x5af8fd._0x33196b)]=!![],_0x19339f[_0x23647a(_0x5af8fd._0x2ba72a)]=_0x23647a(0x134)+'由声明';if(_0x5d524e[_0x35e83e(_0x5af8fd._0x4cf757)](_0x47443b[_0x23647a(0x1dd)],-0x2*-0xd1f+-0x254d*-0x1+-0x3f8b))return _0x19339f;const _0xd255f4=[_0x5d524e[_0x23647a(0x182)],_0x23647a(0x1a5),'src'][_0x35e83e(_0x5af8fd._0x385515)](_0x55c91c=>fs[_0x23647a(0x192)](path['join'](_0x3d7b4f,_0x55c91c)));let _0x37509d='';for(const _0x13d7a4 of _0xd255f4){if(_0x5d524e['jfFqy']!==_0x5d524e[_0x35e83e(_0x5af8fd._0x4a133b)])for(const _0x357a8a of['router/ind'+'ex.ts','router/ind'+'ex.js',_0x5d524e[_0x35e83e(_0x5af8fd._0x475240)],_0x5d524e[_0x35e83e(0x1bc)]]){if(_0x5d524e[_0x23647a(_0x5af8fd._0x6b0517)]('GdFfM',_0x23647a(_0x5af8fd._0x399c69)))for(const _0x39dd71 of[_0x5d524e[_0x35e83e(0x13a)],_0x5d524e['oUXqM'],_0x35e83e(_0x5af8fd._0x22646f),_0x5d524e['rfARM']]){const _0x3929cb=_0x137ef2[_0x23647a(0x124)](_0x552411,_0x518e11,_0x39dd71);if(_0xff6d3c[_0x23647a(0x192)](_0x3929cb))_0x532574+=_0x5d524e[_0x23647a(0x19e)](_0x3ca2a5,_0x3929cb)+'\x0a';}else{const _0x12e46d=path[_0x35e83e(_0x5af8fd._0x1a8d77)](_0x3d7b4f,_0x13d7a4,_0x357a8a);if(fs['existsSync'](_0x12e46d))_0x37509d+=_0x5d524e['boIjw'](_0x5d524e[_0x23647a(0x159)](readSafe,_0x12e46d),'\x0a');}}else return![];}const _0x1a4aa6={};_0x1a4aa6[_0x23647a(0x1c7)]=!![],_0x1a4aa6[_0x23647a(0x19b)]='未找到\x20router'+'\x20文件';if(!_0x37509d)return _0x1a4aa6;const _0x4a16ff=[];for(const _0x4567d5 of _0x47443b){const _0xcea4c0=_0x4567d5[_0x35e83e(_0x5af8fd._0x4ea29f)](/:[a-zA-Z]+/g,_0x23647a(0x19d));if(!_0x37509d[_0x35e83e(_0x5af8fd._0x5c3138)](_0x4567d5)&&!new RegExp(_0xcea4c0[_0x23647a(_0x5af8fd._0x2d4fdf)](/\//g,'\x5c/'))[_0x23647a(0x14d)](_0x37509d)){if(_0x5d524e[_0x23647a(0x12b)](_0x23647a(0x1e1),_0x5d524e[_0x23647a(0x19a)]))_0x4a16ff[_0x35e83e(0x1ce)](_0x4567d5);else try{return _0x476080[_0x23647a(_0x5af8fd._0x6db1dd)+'nc'](_0x2e1356,_0x23647a(0x14e));}catch{return'';}}}return{'pass':_0x5d524e[_0x23647a(0x12b)](_0x4a16ff['length'],-0x1045+-0x267d*0x1+0x36c2),'total':_0x47443b[_0x23647a(0x1dd)],'matched':_0x5d524e[_0x23647a(_0x5af8fd._0x92c0d2)](_0x47443b['length'],_0x4a16ff[_0x35e83e(_0x5af8fd._0x25403c)]),'missing':_0x4a16ff};}function runReviewChecks(_0x3a5456,_0x32b8f4){const _0x289f5e={_0x5cc3ff:0x180,_0x39f5f7:0x1c0,_0x20be0f:0x1cd,_0x3c3efc:0x1c7,_0x1f50f6:0x1c7,_0x3a1291:0x19b,_0x1349b5:0x1ce,_0x1c67e2:0x1cb,_0x1086fd:0x122,_0x172686:0x193,_0x47075a:0x122,_0x3151f5:0x1c9,_0x3a2476:0x19b,_0x5dfd56:0x155,_0x1fa6b1:0x127,_0x58efff:0x130,_0x19e97b:0x19b,_0x36ee96:0x1e2,_0x229ede:0x1d6,_0x30c104:0x1dd,_0x35fb7a:0x149,_0x223521:0x11a,_0x52fa0d:0x1e0,_0x1c7fa9:0x1b1,_0x580d98:0x17c,_0x316123:0x126},_0x3c88ce=_0x11c0c2,_0x4ed0cd=_0x11c0c2,_0x4e7662={'ZSCIo':_0x3c88ce(_0x289f5e._0x5cc3ff)+'datasource','kbkbA':function(_0x47657f,_0x34c26d,_0x1356f6){return _0x47657f(_0x34c26d,_0x1356f6);},'IbPek':_0x4ed0cd(_0x289f5e._0x39f5f7),'sDTXi':'错误处理审计','Ljtzc':'硬编码数据检测','xVyZq':_0x3c88ce(0x1e8),'NPoma':function(_0x5a8fb3,_0x5db002){return _0x5a8fb3===_0x5db002;},'TeehW':_0x4ed0cd(0x1df),'XzjXt':function(_0x3431ba,_0x5a12e8,_0x23e167){return _0x3431ba(_0x5a12e8,_0x23e167);},'YiShO':'路由完整性'},_0x4ebae1=[];let _0x39e5cf=!![];try{const _0x53de41=_0x4e7662[_0x4ed0cd(_0x289f5e._0x20be0f)](checkApiContract,_0x3a5456,_0x32b8f4),_0x55ec09={'name':_0x4e7662[_0x3c88ce(0x120)],..._0x53de41};_0x4ebae1['push'](_0x55ec09);if(!_0x53de41[_0x3c88ce(_0x289f5e._0x3c3efc)])_0x39e5cf=![];}catch(_0x4e1a18){const _0x551827={};_0x551827[_0x3c88ce(0x1c9)]=_0x4e7662[_0x4ed0cd(0x120)],_0x551827[_0x4ed0cd(_0x289f5e._0x1f50f6)]=!![],_0x551827[_0x4ed0cd(0x130)]=_0x4e1a18[_0x4ed0cd(_0x289f5e._0x3a1291)],_0x4ebae1[_0x4ed0cd(_0x289f5e._0x1349b5)](_0x551827);}try{const _0x5aca63=checkErrorHandling(_0x3a5456),_0x29d02c={'name':_0x4e7662[_0x4ed0cd(0x17d)],..._0x5aca63};_0x4ebae1['push'](_0x29d02c);if(_0x5aca63[_0x3c88ce(_0x289f5e._0x1c67e2)+_0x4ed0cd(_0x289f5e._0x1086fd)]>-0x11d0+0x1*-0x85f+-0x1*-0x1a2f){const _0x3f5b55=_0x5aca63[_0x4ed0cd(_0x289f5e._0x172686)]/_0x5aca63[_0x4ed0cd(0x1cb)+_0x4ed0cd(_0x289f5e._0x47075a)];if(_0x3f5b55>0x30b+0x774+-0xa7f+0.5)_0x39e5cf=![];}}catch(_0x175433){const _0x385589={};_0x385589[_0x3c88ce(_0x289f5e._0x3151f5)]=_0x4e7662['sDTXi'],_0x385589[_0x4ed0cd(_0x289f5e._0x3c3efc)]=!![],_0x385589['error']=_0x175433[_0x4ed0cd(_0x289f5e._0x3a2476)],_0x4ebae1['push'](_0x385589);}try{const _0x4c2ac7=checkHardcodedData(_0x3a5456),_0x1b2479={'name':_0x4e7662[_0x4ed0cd(0x171)],..._0x4c2ac7};_0x4ebae1[_0x4ed0cd(0x1ce)](_0x1b2479);}catch(_0x44bf8e){if(_0x4e7662[_0x4ed0cd(0x155)]!==_0x4e7662[_0x4ed0cd(_0x289f5e._0x5dfd56)]){const _0x10ab5b=_0x2441f7(_0x1ce4a1,_0x2ad7ca),_0x53cb29={'name':'API\x20契约校验',..._0x10ab5b};_0x1d5cda['push'](_0x53cb29);if(!_0x10ab5b[_0x3c88ce(0x1c7)])_0x59c265=![];}else{const _0x23e2a8={};_0x23e2a8['name']=_0x4ed0cd(_0x289f5e._0x1fa6b1),_0x23e2a8[_0x3c88ce(0x1c7)]=!![],_0x23e2a8[_0x4ed0cd(_0x289f5e._0x58efff)]=_0x44bf8e[_0x4ed0cd(_0x289f5e._0x19e97b)],_0x4ebae1[_0x3c88ce(0x1ce)](_0x23e2a8);}}try{if(_0x4e7662['NPoma'](_0x4e7662[_0x3c88ce(0x186)],'bcSCA')){const _0x9ff491=_0x4e7662[_0x4ed0cd(0x1ed)](checkRouteCompleteness,_0x3a5456,_0x32b8f4),_0x212774={'name':'路由完整性',..._0x9ff491};_0x4ebae1['push'](_0x212774);if(!_0x9ff491[_0x4ed0cd(0x1c7)])_0x39e5cf=![];}else{const _0x555c7a=_0x5a9b02[_0x3c88ce(_0x289f5e._0x36ee96)](0x1426+-0x49d*-0x4+-0x269a,_0xf8c16b[_0x3c88ce(_0x289f5e._0x229ede)])['split']('\x0a')[_0x3c88ce(_0x289f5e._0x30c104)];if(!_0xf4788d['some'](_0x76e0d4=>_0x76e0d4[_0x4ed0cd(0x1f1)]===_0x5b3bf5&&_0x24ff56[_0x3c88ce(0x12a)](_0x76e0d4[_0x3c88ce(0x1a6)]-_0x555c7a)<0x22d9+0x509+0x3b*-0xad)){const _0x2e1096={};_0x2e1096[_0x4ed0cd(0x1f1)]=_0x1f141c,_0x2e1096[_0x3c88ce(0x1a6)]=_0x555c7a,_0x2e1096[_0x4ed0cd(_0x289f5e._0x35fb7a)]=ORioxB[_0x4ed0cd(_0x289f5e._0x223521)],_0x2e1096[_0x4ed0cd(_0x289f5e._0x52fa0d)]=_0x4ed0cd(_0x289f5e._0x1c7fa9)+_0x4ed0cd(_0x289f5e._0x580d98)+'\x20直接赋值为硬编码数'+'组('+_0x2b8b61+_0x4ed0cd(0x13c),_0x509058[_0x4ed0cd(0x1ce)](_0x2e1096);}}}catch(_0x501694){const _0x5283e7={};_0x5283e7[_0x3c88ce(0x1c9)]=_0x4e7662[_0x4ed0cd(0x1db)],_0x5283e7['pass']=!![],_0x5283e7['error']=_0x501694[_0x4ed0cd(0x19b)],_0x4ebae1[_0x3c88ce(_0x289f5e._0x1349b5)](_0x5283e7);}const _0x24f88f={};return _0x24f88f['pass']=_0x39e5cf,_0x24f88f[_0x4ed0cd(_0x289f5e._0x316123)]=_0x4ebae1,_0x24f88f;}const _0x4693f1={};_0x4693f1[_0x11c0c2(0x17a)+'hecks']=runReviewChecks,_0x4693f1['checkApiCo'+_0x11c0c2(0x1aa)]=checkApiContract,_0x4693f1[_0x11c0c2(0x1de)+_0x20e73f(0x1a1)]=checkErrorHandling,_0x4693f1[_0x20e73f(0x1d1)+_0x11c0c2(0x173)]=checkHardcodedData,_0x4693f1[_0x20e73f(0x1d2)+'Completene'+'ss']=checkRouteCompleteness,module[_0x11c0c2(0x138)]=_0x4693f1;
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: 冒烟验证(构建 + 骨架检测 + E2E 浏览器验证 + 接口测试)
2
+ description: 冒烟验证(构建 + 骨架检测 + E2E 联调校验 + 交互测试 + 客观评分)
3
3
  ---
4
4
 
5
5
  请按 AGENTS.md 中定义的 /smoke 流程执行:
@@ -8,9 +8,9 @@ description: 冒烟验证(构建 + 骨架检测 + E2E 浏览器验证 + 接口
8
8
 
9
9
  ## 步骤
10
10
 
11
- ### Step 0:程序化 gate 检查(v2.2.0+ 自动化)
11
+ ### Step 0:程序化 gate 检查(v3.0.0 自动化)
12
12
 
13
- 运行 CLI 门禁,获取客观构建结果、骨架检测结果和 E2E 浏览器验证结果:
13
+ 运行 CLI 门禁,获取客观构建结果、联调校验结果和交互测试结果:
14
14
 
15
15
  ```bash
16
16
  npx @alenfitz/spec-copilot gate $ARGUMENTS smoke
@@ -20,11 +20,14 @@ npx @alenfitz/spec-copilot gate $ARGUMENTS smoke
20
20
  - 前后端构建验证(npm run build / mvn compile)
21
21
  - 骨架组件检测(el-empty / TODO-only / 空壳组件)
22
22
  - TypeScript any 泛滥检测(warning 级别)
23
- - **E2E 浏览器冒烟**(v2.3.0 新增,使用系统 Chrome,无需额外安装):
23
+ - **E2E 联调校验**(v2.7.0+,使用系统 Chrome,无需额外安装):
24
24
  - 自动启动/检测前后端开发服务器
25
25
  - 从 spec.md 提取页面路由,用 headless Chrome 逐页面检查
26
- - 检查项:白屏、JS 异常、API 连接失败、5xx 响应、框架错误遮罩
26
+ - **L1 基础检查**:白屏、JS 异常、框架错误遮罩
27
+ - **L2 联调检查**:API 4xx/5xx、API 返回非 JSON、空数据渲染、控制台 API 错误
28
+ - **L3 交互测试**:搜索框输入验证、分页点击验证、表单提交验证
27
29
  - 完成后自动关闭启动的服务器
30
+ - **客观评分**(v2.9.0+):按维度打分(满分 100),与 AI 自评对比
28
31
 
29
32
  可选 flags:
30
33
  - `--headed`:显示浏览器窗口(调试用)
@@ -4,6 +4,44 @@
4
4
 
5
5
  ---
6
6
 
7
+ ## [3.0.0] - 2026-05-24
8
+
9
+ ### 新增
10
+
11
+ **六大特性升级 — 从框架到平台**
12
+
13
+ **P0-1: CI 自动化(ci-gen.js)**
14
+ - `spec-copilot ci setup` 一键生成 GitHub Actions workflow
15
+ - PR 提交时自动运行 `gate smoke` + `gate review`
16
+ - `--e2e` 模式:生成含前后端启动 + 浏览器测试的完整 workflow
17
+ - 评分结果自动上传为 artifacts
18
+
19
+ **P0-2: 对抗性测试代码化(adversarial-test.js)**
20
+ - 从纯提示词升级为代码自动执行
21
+ - 从 spec.md 提取写操作 API → 自动构造边界/异常输入 → 直接调用检查
22
+ - 内置攻击向量:空输入、超长字符串、SQL 注入、XSS、路径穿越、类型错误
23
+ - 500 响应 = 后端未做输入校验,报告为漏洞
24
+ - review gate 中有运行中后端时自动触发
25
+
26
+ **P1-1: API Schema 校验**
27
+ - 从 spec.md §6 接口契约提取响应字段结构
28
+ - smoke 时拦截 API 实际响应,比对字段名是否匹配
29
+ - 支持 camelCase/snake_case 互转 + 分页格式自动解包
30
+ - 字段缺失报告为 warning
31
+
32
+ **P1-2: 截图对比**
33
+ - smoke 时自动截图保存到 `.spec-copilot/screenshots/`
34
+ - 下次 smoke 与上次截图对比,文件大小变化 >30% 报警
35
+ - UI 回归问题自动检测
36
+
37
+ **P2-1: spec:smoke 命令更新**
38
+ - 命令文件反映 v2.7-3.0 所有新增检查(L1/L2/L3)
39
+
40
+ **P2-2: 文档更新**
41
+ - help 文本增加 `ci` 命令
42
+
43
+ ---
44
+
7
45
  ## [2.9.0] - 2026-05-24
8
46
 
9
47
  ### 新增
package/framework/VERSION CHANGED
@@ -1 +1 @@
1
- 2.9.0
1
+ 3.0.0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alenfitz/spec-copilot",
3
- "version": "2.9.0",
3
+ "version": "3.0.0",
4
4
  "description": "Spec-Driven Development Framework — one package, six AI coding tools (opencode, Claude Code, Cursor, Windsurf, GitHub Copilot, Cline)",
5
5
  "keywords": [
6
6
  "ai-coding",