@alenfitz/spec-copilot 3.2.1 → 3.3.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.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @alenfitz/spec-copilot v3.2.1
2
+ * @alenfitz/spec-copilot v3.3.1
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 _0x14756c=_0x58b8,_0x15b77e=_0x58b8;(function(_0x3169ca,_0x1a9026){const _0x4bae4f={_0x301db6:0x1a8,_0x22e91d:0x25c,_0x37edd9:0x162},_0x1b62a9=_0x58b8,_0x17ad7c=_0x58b8,_0x32fe0d=_0x3169ca();while(!![]){try{const _0x1fbab0=parseInt(_0x1b62a9(0x186))/(-0x5ff*0x2+-0x187f*0x1+0x247e)+-parseInt(_0x17ad7c(_0x4bae4f._0x301db6))/(0x1c4*-0xe+0x1ac5+-0x20b)*(-parseInt(_0x1b62a9(_0x4bae4f._0x22e91d))/(-0xa9f*0x1+-0x42a*-0x4+-0x606))+-parseInt(_0x17ad7c(0x257))/(0x1cf7+-0x51a+0x6f*-0x37)+-parseInt(_0x1b62a9(0x244))/(0xeb6*-0x1+-0x6*0x3be+0x252f)*(parseInt(_0x17ad7c(0x181))/(0x1d9f+-0x20d2+0x339))+parseInt(_0x17ad7c(0x179))/(-0x2001+0x156f+-0x1*-0xa99)+parseInt(_0x1b62a9(_0x4bae4f._0x37edd9))/(0x23e5+-0x2*-0xc6d+-0x3cb7)+parseInt(_0x1b62a9(0x1ca))/(0x3*0x557+0xb4e*0x3+-0x1*0x31e6)*(parseInt(_0x17ad7c(0x1eb))/(0x1d*0x3a+-0x14d2+0xe4a));if(_0x1fbab0===_0x1a9026)break;else _0x32fe0d['push'](_0x32fe0d['shift']());}catch(_0x282557){_0x32fe0d['push'](_0x32fe0d['shift']());}}}(_0x4cd6,0x55b44+-0x1*-0xa5d49+-0x69f78));function _0x4cd6(){const _0x226793=['r3fQt1y','yM90Ac1TAxnZAq','z2L0igDYzxaGlq','vKjOB3O','lM1K','Be9zzNK','Du9TDLu','B2rLzeLKzw50Aq','q3ztsve','C3jJ','C0rmBfK','zgLZDa','lxrYzwu','AMP4EvO','DfPdrLG','yKLYv2O','CLnHs0K','Aw5KzxG','zw5KC1DPDgG','txjTrgW','mJa2mJyYovjAtMH5sW','Ee5juKG','CMvHzezPBgvtEq','wLHAq1u','BM9Uu25HA2vgzq','CMvHzgrPCLn5BG','BMfTzq','vNnAq3y','Dg90ywXbCgLdyq','DxrMltG','CMvXDwvZDezPzq','BvfmDhe','Dg9vChbLCKnHCW','zNjVBNrgBG','DhLWzq','ruPsq0q','zMLSDgvY','C3jJl21HAw4','B3qV','CM91DgvYl2LUza','ufvVrLi','BgvUz3rO','tvjNEuW','5B2t5yMn55M75B2v5lQ66kkR5yMn56UV5yAz5Q27','BM8Ty2f0y2G','zKHvzMu','rMLIC2e','CgfZCW','qKTrqMO','qvbjioIWG+EuQoACIsbJyq','sgfUzgXPBMC','C3bSAxq','CMvNzxG','mtbhCu9pzuC','qLnQrgu','qxbNzxC','zxGUDhm','lNrZEa','yMfJA0zPBgu','C3bLy19JB3bPBa','BNnPzguTD29YAW','twfWCgLUzW','CeX3CLu','zw5JB2rPBMC','AM9PBG','wu1ZDMe','D0PRB3q','uNnrsgW','rwjcreC','55Ar5lY856gS57Yw56cb5PwW5O2U77Yi','kcGOlISPkYKRkq','r1Dsz2S','BwfW','C3HXBwC','rK1eB1y','56gS57Yw56cb5lIA5yQH6lQR5lU95Qoa5Rwl','Cgf0Aa','DwLUEui','y2HLy2TsB3v0zq','lMqUDhm','BwLZBwf0y2HLCW','zMuTBwLZC2LUzW','uxjTBKO','Cxr5quS','BwLU','5lQg6zsz6k+V77Yj','BcaTlsaI','ioEBToAoPEI1I+waVos4UUEHRoE8LUEGGEAvSa','CgLWzq','lMT0','DhjPBq','zw5JEq','Bwf0y2HbBgW','u01Kt1e','DgfYz2v0','D0DmCwK','rLPzCMS','Axzlu0u','zMHytK8','Aw5JBhvKzxm','zxHPC3rZu3LUyW','u0jNvgS','s1LLwLi','DvrTugW','CwD2qwm','zwPNDfm','ELDLtLO','zfrmrMi','yMfJA0zU','C2nTC0m','swDsAve','s3viDeG','zMLSzq','zMLUza','ios4QUwVUEIXOE+8Iq','56gS57Yw56cb55sO5OI3ieLe','lNrZ','ENbizvq','AwDUB3jL','Bwf0y2G','Eu5Lqwm','y2HLy2TZ','AgfZ','Dg9tDhjPBMC','CfzoEhG','y3DK','vLzKEva','C3vZCgvJDhm','yKnTsMS','BgXOvfK','zwXKCW','lMPHDMe','ios4QUwVUEIXOE+8JowqQYbPzc8','zuTcrvu','56gS57Yw56cb5PwW5O2U5Qoa5Rwl','D3v0yLK','C29Tzq','zM5oyw1L','C3rHDhvZ','s1fLENK','Du94r00','B0fJzM8','nJbowKXsrfy','Ehb2tgO','zNjVBNrLBMqVCW','vLjYDKq','ssdNQ6/NGRNLO7dMMi4','CMvSyxrPDMu','ywjZ','wKfewMC','AMPIEgG','zxHLyW','yvLrC1K','AxneAxjLy3rVCG','z2L0ihjLDI1Wyq','Bwv0Ag9K','zgf0yvnVDxjJzq','yvfUzwW','BgXZ','CMvWBgfJzq','rvb2tLG','nduZmdm4ogrxwuTsyq','s0jbBLu','uKrLsge','reHRu28','DgnOios9HUs4UUEPUU+8IowqNUAoIq','m0vxBLDVEa','y2HLy2TLza','sNPtAwS','C2XPy2u','sNP4C1C','tKfhruC','qvbjioIWG+EuQoAxOoMuMEIVR+wKHa','whvZDwi','CNnLic0TAxmTAq','uvzduwu','C3rKAw8','ywrK','BLHVuLi','BM9iyw5KBgLUzW','5yMn5zco56UV5Awr57QM5lIa6iE05OcN','uhjeq2e','wgLJtNy','r2Dowue','B0rmu04','Bwf4','6zsz6k+V5Ase55cg5A6H6k6H','zgf0yxnVDxjJzq','BMfTzsdLRzFMRRuG4Ocuia','B2jQzwn0q291BG','6lEV55sX5A6m5Pw05OcN','BgfZDeLUzgv4','otq4nJy3mLflzLrnwq','ChvZAa','y0LuBwi','r2Pxshy','twHpqwq','vKHUrxO','yY9TywLU','zu1Wq0i','zgv0ywLS','yxbWl3nYyW','u3PIrgu','BwvZC2fNzq','y2HLy2TbCgLdBW','yMfJA2vUzc9ZCG','BgLUzq','CMvXDwLYzwrgAq','DgfIBgveyxrHlW','55cg77Yi5PEGignHDgnOlW','A3jTshC','zw1WDhKTy2f0yW','vhzRvLa','AgfYzgnVzgvKlq','lMDV','nZCZodi3nNfSugTJAa','s1vJu1C','wejjyLy','y2HPBgrFChjVyW','EMXeCK8','s2TVuxC','zgHjDgC','C3rHCNrZv2L0Aa','nte2mJeWCenZy25K','wwP3zvK','wwXUv3q','qvbjiowLKEE6PUAGOEMQJa','D25PtK0','nJmXnZjMALf2vuC','reD3vhK','zxjYB3i','q29TCgXLDgvUzq','we16vwy','te9UCKi','vKXXs1K','CgTmAfa','BNrYywn0','5PYQ5OM+5yIWihjVDxrLCG','lMPZ','CM91DgvYlMPZ','BxfsvwG','BwLZC2LUz09UrG','BM9Kzv9TB2r1Ba','5BQu5lUoiefqssdOJRFLJ5BVViK','CfLWB2e','EgTPCKi','C2vHCMnO','55sX5AoW5PIo','uxzPruu','rLryEuK','swTVy00','DgvZDa','vMLsvum','wKD5CMq','t1bpuNK','BM9Uu25HA2vczq','lNrLC3qU','CMvHC29U','EhLKvgG','teT3twW','tfPTEhm','lNz1zq','mZu1mJe0uwXUwxb6','tNbHDMu','zw1duwy','svDpvvy','BhDnCM8','qNv0DLm','A0XmBxq','D2L0AezPBgvuEq','CM91DgvYlNrZ','zxGUANm','uKPJq1u','x190zxn0','zNjVBNrgAwXL','lMPZEa'];_0x4cd6=function(){return _0x226793;};return _0x4cd6();}function _0x58b8(_0x837ce4,_0x31fe55){_0x837ce4=_0x837ce4-(0x1f47+-0x1*-0x92f+-0xd0c*0x3);const _0x3283f0=_0x4cd6();let _0x18494b=_0x3283f0[_0x837ce4];if(_0x58b8['ilZORL']===undefined){var _0x3029a4=function(_0x4d9ef7){const _0x22f5e8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x58d390='',_0x3d9a54='',_0x5ddd1e=_0x58d390+_0x3029a4,_0x5b4be8=(''+function(){return 0x2419+-0x91d*0x1+-0x13a*0x16;})['indexOf']('\x0a')!==-(-0x100c+-0x1309*-0x2+0x757*-0x3);for(let _0x44a8d5=0xf1c+0xe8c+-0x1da8,_0xade066,_0x18ee83,_0x23b360=0x1bdc*-0x1+0x1d5b+-0x17f*0x1;_0x18ee83=_0x4d9ef7['charAt'](_0x23b360++);~_0x18ee83&&(_0xade066=_0x44a8d5%(-0x1a44+0x6e*-0x59+0x4086)?_0xade066*(-0x16cb+0x12b*-0x5+-0x1*-0x1ce2)+_0x18ee83:_0x18ee83,_0x44a8d5++%(0x725+0x3*-0x7d4+0x4f*0x35))?_0x58d390+=_0x5b4be8||_0x5ddd1e['charCodeAt'](_0x23b360+(-0x23*-0x49+0x96c+-0x135d))-(0xde1+-0x1*0x13be+0x5e7)!==-0x245d+-0xb*-0x31c+0x7*0x4f?String['fromCharCode'](0x1b73+0x143b+-0x2eaf&_0xade066>>(-(-0x7*-0x45a+0x53c+-0x23b0)*_0x44a8d5&-0x2*-0x497+-0xd*0x2b7+0x1a23)):_0x44a8d5:0x208*-0x1+0x1e83+-0x1c7b){_0x18ee83=_0x22f5e8['indexOf'](_0x18ee83);}for(let _0x12668b=-0x7ca+0x176a+-0xfa0,_0x4a29ec=_0x58d390['length'];_0x12668b<_0x4a29ec;_0x12668b++){_0x3d9a54+='%'+('00'+_0x58d390['charCodeAt'](_0x12668b)['toString'](-0x1ccd+0x1206+-0x22b*-0x5))['slice'](-(-0xaaf+0xdbd*-0x2+0x262b));}return decodeURIComponent(_0x3d9a54);};_0x58b8['CnEedJ']=_0x3029a4,_0x58b8['SAJxbU']={},_0x58b8['ilZORL']=!![];}const _0x4932d0=_0x3283f0[-0x17f1+0x1f5c+-0x76b],_0x165344=_0x837ce4+_0x4932d0,_0x357bd8=_0x58b8['SAJxbU'][_0x165344];if(!_0x357bd8){const _0x55a097=function(_0x746c1f){this['vrulvY']=_0x746c1f,this['AEBLhE']=[0x1a7+-0xc73*-0x1+-0xe19,0x170f+0x2e0*-0x5+-0x8af,-0x515*0x2+0x2655+-0x1c2b],this['zNElOa']=function(){return'newState';},this['MNufSg']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['ZSBJug']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x55a097['prototype']['oCaXml']=function(){const _0x3822b3=new RegExp(this['MNufSg']+this['ZSBJug']),_0x3d67dc=_0x3822b3['test'](this['zNElOa']['toString']())?--this['AEBLhE'][0x5*0x271+-0x390*0x8+-0x413*-0x4]:--this['AEBLhE'][-0xc16+0xa85*0x1+0x191*0x1];return this['MAkLuq'](_0x3d67dc);},_0x55a097['prototype']['MAkLuq']=function(_0x376172){if(!Boolean(~_0x376172))return _0x376172;return this['tDpLNR'](this['vrulvY']);},_0x55a097['prototype']['tDpLNR']=function(_0x2bf51a){for(let _0x122268=-0x22f9+-0x421+-0x1*-0x271a,_0x2b415a=this['AEBLhE']['length'];_0x122268<_0x2b415a;_0x122268++){this['AEBLhE']['push'](Math['round'](Math['random']())),_0x2b415a=this['AEBLhE']['length'];}return _0x2bf51a(this['AEBLhE'][0x560*0x6+-0x5c2+0x1*-0x1a7e]);},(''+function(){return 0x1b53+-0x8*-0x14e+-0x1*0x25c3;})['indexOf']('\x0a')===-(-0x64*-0x27+0x6b9+-0x464*0x5)&&new _0x55a097(_0x58b8)['oCaXml'](),_0x18494b=_0x58b8['CnEedJ'](_0x18494b),_0x58b8['SAJxbU'][_0x165344]=_0x18494b;}else _0x18494b=_0x357bd8;return _0x18494b;}const _0x1e3fe3=(function(){let _0x3021e5=!![];return function(_0x54ba67,_0x5af9ce){const _0x1457b4=_0x3021e5?function(){if(_0x5af9ce){const _0x550bda=_0x5af9ce['apply'](_0x54ba67,arguments);return _0x5af9ce=null,_0x550bda;}}:function(){};return _0x3021e5=![],_0x1457b4;};}()),_0x4b7c3b=_0x1e3fe3(this,function(){const _0x530a4d={_0x4d00b6:0x198,_0x1a0a91:0x1fc},_0xdc30e6=_0x58b8,_0x4f215b=_0x58b8;return _0x4b7c3b[_0xdc30e6(0x231)]()[_0xdc30e6(_0x530a4d._0x4d00b6)](_0xdc30e6(_0x530a4d._0x1a0a91)+'+$')[_0xdc30e6(0x231)]()['constructo'+'r'](_0x4b7c3b)['search'](_0xdc30e6(0x1fc)+'+$');});_0x4b7c3b();const fs=require('fs'),path=require(_0x14756c(0x202)),{execSync}=require(_0x15b77e(0x17c)+'ess');function isGitRepo(_0x39f839){const _0x3098a3={_0x4aef2c:0x152,_0x2e3ff7:0x22c,_0x5eb251:0x1f2},_0x11a023=_0x15b77e,_0x26686d=_0x15b77e;try{const _0x41b27e={};return _0x41b27e[_0x11a023(0x233)]=_0x39f839,_0x41b27e[_0x11a023(_0x3098a3._0x4aef2c)]=_0x26686d(_0x3098a3._0x2e3ff7),execSync('git\x20rev-pa'+_0x26686d(0x264)+_0x26686d(_0x3098a3._0x5eb251)+_0x26686d(0x1c2),_0x41b27e),!![];}catch{return![];}}function gitGrep(_0x338e74,_0x3d82ab){const _0xdb5ea1={_0x5a7670:0x261,_0x566e8a:0x20e,_0x5e1aa7:0x22c,_0x513a8f:0x1f5,_0x5244c8:0x1b8,_0x2c0e5b:0x210,_0x11ffb3:0x1e9},_0x20a292=_0x15b77e,_0x17da80=_0x15b77e,_0x5390eb={};_0x5390eb[_0x20a292(_0xdb5ea1._0x5a7670)]=_0x17da80(_0xdb5ea1._0x566e8a),_0x5390eb[_0x20a292(0x263)]=_0x20a292(_0xdb5ea1._0x5e1aa7);const _0x7bfa58=_0x5390eb;try{const _0x58b950={};_0x58b950[_0x20a292(0x233)]=_0x338e74,_0x58b950[_0x20a292(_0xdb5ea1._0x513a8f)]=_0x20a292(0x1d3),_0x58b950[_0x20a292(0x152)]=[_0x17da80(0x20e),_0x7bfa58[_0x20a292(0x261)],_0x7bfa58[_0x20a292(0x263)]];const _0x5b2022=execSync(_0x20a292(_0xdb5ea1._0x5244c8)+_0x20a292(0x20c)+_0x3d82ab+'\x22',_0x58b950)[_0x17da80(_0xdb5ea1._0x2c0e5b)]();return _0x5b2022?_0x5b2022[_0x20a292(_0xdb5ea1._0x11ffb3)]('\x0a')['filter'](Boolean):[];}catch{return[];}}function findFiles(_0xd82040,_0x3dfb1f,_0xd737e1=-0xb18+-0x32*-0x94+-0x11cb){const _0x1e97fb={_0xa3adf6:0x1b6,_0x4d830b:0x200},_0xb8ff7d={_0x4d80fe:0x21a,_0x3d4fdb:0x1af,_0x5bfb7c:0x1cf,_0x4dbb6f:0x1b6,_0x4d830f:0x200,_0x107575:0x247,_0xcd0900:0x185,_0x688db7:0x1d0,_0x24a348:0x1f4,_0xe9ec41:0x1d0,_0x48f353:0x24f,_0xb04028:0x23e,_0x47ec60:0x153,_0x370816:0x251,_0x2895f4:0x202},_0x435115=_0x15b77e,_0x328a65=_0x15b77e,_0x19446e={};_0x19446e[_0x435115(0x245)]=function(_0x5c1287,_0x454186){return _0x5c1287>_0x454186;},_0x19446e[_0x435115(_0x1e97fb._0xa3adf6)]=_0x328a65(0x203),_0x19446e[_0x328a65(_0x1e97fb._0x4d830b)]='BRaZa',_0x19446e[_0x435115(0x17d)]=function(_0x3f92c6,_0x2fa8ee){return _0x3f92c6===_0x2fa8ee;},_0x19446e['VRrvD']=_0x328a65(0x1c1),_0x19446e[_0x328a65(0x185)]=function(_0x272aad,_0x4f9ac8){return _0x272aad===_0x4f9ac8;},_0x19446e[_0x328a65(0x1f4)]=_0x328a65(0x214);const _0x56e89b=_0x19446e,_0x103bec=[];function _0xfa7e20(_0x367fdf,_0xd146b4){const _0x3b99a6=_0x435115,_0x1affc1=_0x435115;if(_0x56e89b[_0x3b99a6(0x245)](_0xd146b4,_0xd737e1)||!fs[_0x3b99a6(_0xb8ff7d._0x4d80fe)](_0x367fdf))return;try{const _0x141a0c={};_0x141a0c[_0x1affc1(_0xb8ff7d._0x3d4fdb)+'pes']=!![];const _0x7277f5=fs[_0x3b99a6(_0xb8ff7d._0x5bfb7c)+'c'](_0x367fdf,_0x141a0c);for(const _0x199897 of _0x7277f5){if(_0x56e89b[_0x1affc1(_0xb8ff7d._0x4dbb6f)]!==_0x56e89b[_0x1affc1(_0xb8ff7d._0x4d830f)]){if(_0x199897[_0x1affc1(0x1d0)][_0x3b99a6(0x180)]('.')||_0x199897['name']===_0x1affc1(0x194)+'es'||_0x56e89b[_0x3b99a6(0x17d)](_0x199897[_0x1affc1(0x1d0)],_0x56e89b[_0x1affc1(_0xb8ff7d._0x107575)])||_0x56e89b[_0x3b99a6(_0xb8ff7d._0xcd0900)](_0x199897[_0x3b99a6(_0xb8ff7d._0x688db7)],'build')||_0x199897[_0x1affc1(0x1d0)]===_0x56e89b[_0x3b99a6(_0xb8ff7d._0x24a348)])continue;const _0x19b42c=path['join'](_0x367fdf,_0x199897[_0x1affc1(_0xb8ff7d._0xe9ec41)]);if(_0x199897[_0x3b99a6(_0xb8ff7d._0x48f353)+'y']())_0xfa7e20(_0x19b42c,_0xd146b4+(0x163f+-0x2620+0xfe2));else{if(_0x3dfb1f[_0x1affc1(_0xb8ff7d._0xb04028)](_0x58d2fa=>_0x199897[_0x1affc1(0x1d0)]['endsWith'](_0x58d2fa)))_0x103bec[_0x3b99a6(0x163)](_0x19b42c);}}else{_0x19e6b3[_0x1affc1(_0xb8ff7d._0x47ec60)](_0x100dda);const _0x12f7c3={};_0x12f7c3[_0x3b99a6(_0xb8ff7d._0x370816)]=_0xc899d2[-0x503*0x1+-0x21df+0xb*0x389],_0x12f7c3[_0x1affc1(_0xb8ff7d._0x2895f4)]=_0x45afde[0x7*-0x17+-0x36c*-0x1+-0x2c9],_0x19a525[_0x3b99a6(0x163)](_0x12f7c3);}}}catch{}}return _0xfa7e20(_0xd82040,0x1a7f+0x1e10+-0x388f),_0x103bec;}function readSafe(_0x3b94f4){const _0x8d3df3={_0x4242c0:0x1d3,_0x329fea:0x1cc},_0x4fab3e=_0x14756c,_0x1ce845=_0x14756c,_0x283e6f={};_0x283e6f[_0x4fab3e(0x159)]=_0x4fab3e(_0x8d3df3._0x4242c0);const _0x34aae3=_0x283e6f;try{return fs[_0x4fab3e(_0x8d3df3._0x329fea)+'nc'](_0x3b94f4,_0x34aae3[_0x4fab3e(0x159)]);}catch{return'';}}function uniq(_0x2364a2){const _0x350875={_0x478344:0x1da},_0x205c79=_0x15b77e;return[...new Set(_0x2364a2[_0x205c79(_0x350875._0x478344)](Boolean))];}function extractSpecApis(_0xde673e){const _0x105f61={_0x310508:0x215,_0xbec0a8:0x24d,_0x454d62:0x215,_0x11d69:0x184,_0x540201:0x1e5,_0x5f0934:0x188,_0x398abc:0x16d,_0x421344:0x251},_0x1f2ebf=_0x15b77e,_0x46b7e8=_0x15b77e,_0x60cc61={};_0x60cc61[_0x1f2ebf(_0x105f61._0x310508)]=_0x1f2ebf(0x18b);const _0x36d261=_0x60cc61,_0x3dfd5d=[],_0x24fa91=new Set(),_0x22e218=/(GET|POST|PUT|DELETE|PATCH)\s+(\/api\/[^\s|,))\]]+)/g;let _0x22bb52;while((_0x22bb52=_0x22e218[_0x46b7e8(_0x105f61._0xbec0a8)](_0xde673e))!==null){const _0x5b7c3c=_0x22bb52[0x68b+-0x1*-0x15cd+0x5*-0x5ab]+'\x20'+_0x22bb52[-0x1*0x169d+-0x1b05+0x31a4];if(!_0x24fa91[_0x1f2ebf(0x230)](_0x5b7c3c)){if(_0x36d261[_0x46b7e8(_0x105f61._0x454d62)]!==_0x36d261[_0x46b7e8(0x215)]){const _0x573645={};_0x573645[_0x1f2ebf(0x1d0)]=_0x46b7e8(_0x105f61._0x11d69),_0x573645[_0x46b7e8(_0x105f61._0x540201)]=!![],_0x573645[_0x46b7e8(_0x105f61._0x5f0934)]=_0x2ab81e[_0x46b7e8(_0x105f61._0x398abc)],_0x1fd733[_0x46b7e8(0x163)](_0x573645);}else{_0x24fa91[_0x46b7e8(0x153)](_0x5b7c3c);const _0x2f5823={};_0x2f5823[_0x1f2ebf(_0x105f61._0x421344)]=_0x22bb52[0x1df5+-0xb*0x25e+-0x3ea],_0x2f5823['path']=_0x22bb52[0x1*0x242e+0x26a9+-0x4ad5],_0x3dfd5d['push'](_0x2f5823);}}}return _0x3dfd5d;}function extractSpecRoutes(_0x4e46c2){const _0x4a1e12={_0x51d2f9:0x264,_0x6c217b:0x253,_0x221996:0x24d,_0x4c5a72:0x259,_0x479759:0x22c,_0xbe3769:0x1fd,_0x33837d:0x1e9,_0x3025c2:0x1fe},_0x4c833f=_0x14756c,_0x3178e9=_0x14756c,_0x472c8d={};_0x472c8d[_0x4c833f(0x1fd)]=_0x4c833f(0x250)+_0x3178e9(_0x4a1e12._0x51d2f9)+_0x3178e9(0x1f2)+_0x4c833f(0x1c2),_0x472c8d[_0x3178e9(0x1aa)]=function(_0x382e02,_0x3224c6){return _0x382e02!==_0x3224c6;},_0x472c8d[_0x4c833f(0x259)]='jQbsQ',_0x472c8d[_0x3178e9(_0x4a1e12._0x6c217b)]='SUZCr',_0x472c8d['BSjDe']=function(_0x11aabb,_0x372429){return _0x11aabb!==_0x372429;};const _0x238ec9=_0x472c8d,_0x5dbce5=[],_0x2b80df=new Set(),_0x517779=/(?:路由|route|path|页面路径)[::]\s*([\/\w\-:]+)/gi;let _0x3cc462;while(_0x238ec9['emCQf'](_0x3cc462=_0x517779[_0x3178e9(_0x4a1e12._0x221996)](_0x4e46c2),null)){if(_0x238ec9[_0x4c833f(_0x4a1e12._0x4c5a72)]===_0x238ec9[_0x3178e9(_0x4a1e12._0x6c217b)])try{const _0x355307={};return _0x355307[_0x3178e9(0x233)]=_0x417209,_0x355307[_0x4c833f(0x152)]=_0x3178e9(_0x4a1e12._0x479759),_0x422102(mkSmgY[_0x4c833f(_0x4a1e12._0xbe3769)],_0x355307),!![];}catch{return![];}else!_0x2b80df['has'](_0x3cc462[0x1*0x23ed+-0x1d30+-0x6bc])&&(_0x2b80df[_0x4c833f(0x153)](_0x3cc462[-0xd99*-0x2+0x1d6+-0x1d07]),_0x5dbce5['push'](_0x3cc462[0xebf+0x15*0x167+-0x2c31]));}const _0x4cde01=/\|\s*(\/[a-zA-Z][\w\-\/:]*)\s*\|/g;while(_0x238ec9[_0x4c833f(0x1ec)](_0x3cc462=_0x4cde01[_0x4c833f(_0x4a1e12._0x221996)](_0x4e46c2),null)){_0x3178e9(0x1c5)!==_0x4c833f(0x216)?!_0x2b80df['has'](_0x3cc462[-0x96f+0x2427+-0x1ab7])&&(_0x2b80df[_0x4c833f(0x153)](_0x3cc462[-0x1*-0x1691+-0x52c*0x1+-0x1164]),_0x5dbce5['push'](_0x3cc462[-0x60b+-0x25ee+-0x1*-0x2bfa])):_0x13c909=_0x4d0ab5[-0x13*0x17+0x17f8+-0x1642][_0x3178e9(_0x4a1e12._0x33837d)](',')[_0x3178e9(_0x4a1e12._0x3025c2)](_0x446e41=>_0x446e41[_0x3178e9(0x210)]()['replace'](/\?.*$/,'')[_0x4c833f(0x255)](/:.*/,'')[_0x4c833f(0x210)]())[_0x3178e9(0x1da)](_0x2f80d2);}return _0x5dbce5;}function extractFrontApiCalls(_0x35e01){const _0x305443={_0x389719:0x164,_0x14189a:0x236,_0x4abcf3:0x1e0,_0x179f5d:0x18c,_0xc6f1a8:0x16b,_0x26daff:0x1da,_0x533341:0x21a,_0x57f7f9:0x22a,_0x5a7b44:0x19d,_0xce6c45:0x24d,_0x4c7dc1:0x22d,_0x43b395:0x22d,_0x45c7b0:0x187,_0x1b1dd5:0x1fe,_0x3d237e:0x1cc,_0x239399:0x25f,_0x1e5c31:0x1e9,_0x16ce54:0x1df,_0x2dca6f:0x1fb,_0x2cf956:0x163,_0x46ade2:0x1da,_0x531a77:0x163,_0x440551:0x1d6},_0x3a155a=_0x14756c,_0x13bdd1=_0x14756c,_0x13f0a7={};_0x13f0a7[_0x3a155a(0x192)]='hardcoded-'+'array',_0x13f0a7[_0x3a155a(0x242)]='src',_0x13f0a7[_0x13bdd1(_0x305443._0x389719)]=_0x3a155a(0x190),_0x13f0a7[_0x13bdd1(_0x305443._0x14189a)]=function(_0x59675e,_0x90f80){return _0x59675e!==_0x90f80;},_0x13f0a7[_0x13bdd1(_0x305443._0x4abcf3)]=function(_0x219ecf,_0x44e462){return _0x219ecf===_0x44e462;},_0x13f0a7[_0x3a155a(0x225)]=_0x13bdd1(0x187),_0x13f0a7[_0x13bdd1(0x196)]=function(_0x4c9531,_0xf23418){return _0x4c9531!==_0xf23418;},_0x13f0a7[_0x13bdd1(_0x305443._0x179f5d)]=_0x3a155a(0x218);const _0x229461=_0x13f0a7,_0x214528=[_0x3a155a(0x246)+'rc',_0x13bdd1(_0x305443._0xc6f1a8),_0x229461['uOxGM']][_0x3a155a(0x1fe)](_0x3d8557=>path[_0x13bdd1(0x1f6)](_0x35e01,_0x3d8557))[_0x3a155a(_0x305443._0x26daff)](fs[_0x3a155a(_0x305443._0x533341)]),_0x25c3e2=[];for(const _0x5329db of _0x214528){const _0x399c2e=findFiles(_0x5329db,[_0x13bdd1(_0x305443._0x57f7f9),_0x229461[_0x3a155a(0x164)]]);for(const _0x5d396e of _0x399c2e){const _0x1e47f4=path['relative'](_0x35e01,_0x5d396e);if(!/\/api\//[_0x3a155a(_0x305443._0x5a7b44)](_0x1e47f4['replace'](/\\/g,'/')))continue;const _0x2fa9d7=readSafe(_0x5d396e);if(!_0x2fa9d7)continue;const _0x346835=/export function\s+([A-Za-z0-9_$]+)\s*\(([^)]*)\)\s*\{([\s\S]*?)\n\}/g;let _0x5b84b7;while(_0x229461[_0x13bdd1(0x236)](_0x5b84b7=_0x346835[_0x13bdd1(_0x305443._0xce6c45)](_0x2fa9d7),null)){const _0x48aa50=_0x5b84b7[0x5e2+-0xb16+0x535],_0x19c656=_0x5b84b7[-0x21d7+0x1c14+-0x5c5*-0x1]||'',_0x45db85=_0x5b84b7[-0x22*0x1f+-0x1*0x18e8+0x1d09]||'',_0x2213d4=_0x45db85[_0x3a155a(_0x305443._0x4c7dc1)](/\.(get|post|put|delete|patch)\s*<[^>]*>?\s*\(\s*['"`]([^'"`]+)['"`]/i)||_0x45db85[_0x13bdd1(_0x305443._0x43b395)](/\.(get|post|put|delete|patch)\s*\(\s*['"`]([^'"`]+)['"`]/i);if(!_0x2213d4)continue;const _0x18bbd3=_0x19c656[_0x13bdd1(_0x305443._0x4c7dc1)](/\{([\s\S]*)\}/);let _0x2e514b=[];if(_0x18bbd3){if(_0x229461['MRgyL'](_0x13bdd1(_0x305443._0x45c7b0),_0x229461[_0x3a155a(0x225)]))_0x2e514b=_0x18bbd3[0x16b*-0x6+-0x1637+-0xa3e*-0x3][_0x3a155a(0x1e9)](',')[_0x3a155a(_0x305443._0x1b1dd5)](_0x517b56=>_0x517b56['trim']()[_0x13bdd1(0x255)](/\?.*$/,'')[_0x13bdd1(0x255)](/:.*/,'')['trim']())[_0x13bdd1(0x1da)](Boolean);else return _0x19b785[_0x3a155a(_0x305443._0x3d237e)+'nc'](_0x2a14cb,'utf-8');}else{if(_0x229461[_0x3a155a(0x196)]('fhXNO',_0x229461[_0x13bdd1(0x18c)])){const _0x40b915=_0x3c01fb[_0x3a155a(_0x305443._0x239399)](-0x26c6*-0x1+-0x14f7+-0x11cf,_0x8ed8af[_0x13bdd1(0x1c7)])[_0x3a155a(_0x305443._0x1e5c31)]('\x0a')[_0x13bdd1(_0x305443._0x16ce54)],_0x87a4aa={};_0x87a4aa['file']=_0x11cb0f,_0x87a4aa['line']=_0x40b915,_0x87a4aa['type']=_0x229461[_0x3a155a(0x192)],_0x87a4aa[_0x3a155a(0x15f)+'t']=_0x218d82,_0x87a4aa['detail']=_0x13bdd1(_0x305443._0x2dca6f)+_0x52c3f4+(_0x13bdd1(0x23a)+_0x3a155a(0x15e)+_0x13bdd1(0x195)),_0x230433[_0x3a155a(_0x305443._0x2cf956)](_0x87a4aa);}else _0x2e514b=_0x19c656[_0x3a155a(0x1e9)](',')['map'](_0xa5d92f=>_0xa5d92f[_0x3a155a(0x210)]()[_0x3a155a(0x255)](/\?.*$/,'')['replace'](/:.*/,'')[_0x3a155a(0x210)]())[_0x3a155a(_0x305443._0x46ade2)](Boolean);}_0x25c3e2[_0x3a155a(_0x305443._0x531a77)]({'file':_0x1e47f4,'fnName':_0x48aa50,'method':_0x2213d4[0x1ee4*0x1+-0x35*0x70+-0x7b3][_0x13bdd1(_0x305443._0x440551)+'e'](),'path':_0x2213d4[0x1*0xb8+-0x4*-0x44e+-0x11ee],'requestFields':uniq(_0x2e514b),'body':_0x45db85});}}}return _0x25c3e2;}function extractBackendApiContracts(_0x14c13e){const _0x188a9e={_0x5bfbcb:0x16f,_0xa37b63:0x22b,_0x5958a3:0x21a,_0x543364:0x166,_0x308148:0x1d6,_0x446b7a:0x1fe,_0x49d89b:0x1c7,_0x6f7b70:0x212,_0x552c0e:0x1df},_0x8d2284=_0x14756c,_0x6d5d9a=_0x14756c,_0x4936b1={'zpHeT':_0x8d2284(_0x188a9e._0x5bfbcb)+_0x8d2284(0x168),'QVCQe':function(_0x206c82,_0x57f0b2,_0x30d26e){return _0x206c82(_0x57f0b2,_0x30d26e);},'MhOAd':function(_0x47f7ca,_0x31abbe){return _0x47f7ca(_0x31abbe);},'scmsC':function(_0x31594b,_0x3f47a6){return _0x31594b>_0x3f47a6;}},_0x2d301a=[_0x4936b1[_0x6d5d9a(_0x188a9e._0xa37b63)],'src/main'][_0x8d2284(0x1fe)](_0x3f89ef=>path['join'](_0x14c13e,_0x3f89ef))['filter'](fs[_0x8d2284(_0x188a9e._0x5958a3)]),_0x5df205=[];for(const _0x29bd33 of _0x2d301a){const _0x106074=_0x4936b1[_0x6d5d9a(0x265)](findFiles,_0x29bd33,[_0x6d5d9a(0x239)])[_0x8d2284(0x1da)](_0x33da24=>/Controller\.java$/[_0x6d5d9a(0x19d)](_0x33da24));for(const _0x58198f of _0x106074){const _0x4e73d7=path[_0x6d5d9a(0x249)](_0x14c13e,_0x58198f),_0x53cbb2=_0x4936b1[_0x8d2284(_0x188a9e._0x543364)](readSafe,_0x58198f);if(!_0x53cbb2)continue;const _0x4b2adf=_0x53cbb2['match'](/@RequestMapping\(\s*["']([^"']+)["']\s*\)/),_0x3bb66c=_0x4b2adf?_0x4b2adf[-0x5fc+0xd3*0x1+0x2*0x295]:'',_0x343dd4=/@(GetMapping|PostMapping|PutMapping|DeleteMapping|PatchMapping)\(\s*["']([^"']+)["']\s*\)[\s\S]*?public\s+[^{]+\s+([A-Za-z0-9_$]+)\s*\(\s*([\s\S]*?)\s*\)\s*\{/g;let _0xbd806c;while((_0xbd806c=_0x343dd4[_0x6d5d9a(0x24d)](_0x53cbb2))!==null){const _0x1cdd3d=_0xbd806c[0xddd+0x11fb*0x1+0x1fd7*-0x1]['replace']('Mapping','')[_0x6d5d9a(_0x188a9e._0x308148)+'e'](),_0x4117f0=_0xbd806c[0x2d3+0x4*-0x3c1+0x9*0x15b],_0x139c44=_0xbd806c[0x2000+0x14cc+0x1*-0x34c9],_0x55caa5=_0xbd806c[0x2*-0xddb+-0x2*0xa35+0x13c*0x27]||'',_0x1d8dfc=uniq([..._0x55caa5['matchAll'](/(?:@PathVariable|@RequestParam(?:\(\s*["']([^"']+)["'])?|@RequestBody)\s*(?:@Valid\s*)?(?:Map<String,\s*Object>|[A-Za-z0-9_<>, ?]+)\s+([A-Za-z0-9_$]+)/g)][_0x8d2284(_0x188a9e._0x446b7a)](_0x5c3e63=>_0x5c3e63[-0x2343+0x6ed*0x3+0x1*0xe7d]||_0x5c3e63[0x95*0x24+0x1535+-0x3d5*0xb])),_0x3a79da=uniq([..._0x53cbb2['slice'](_0xbd806c[_0x8d2284(_0x188a9e._0x49d89b)],Math[_0x8d2284(0x20a)](_0x53cbb2['length'],_0xbd806c[_0x8d2284(0x1c7)]+(0x24bb+0x21b*-0xd+-0x380)))[_0x8d2284(_0x188a9e._0x6f7b70)](/require\(body,\s*["']([^"']+)["']\)/g)][_0x6d5d9a(_0x188a9e._0x446b7a)](_0x58eafb=>_0x58eafb[-0x3*-0x74b+-0x801+0x35*-0x43]));_0x5df205[_0x8d2284(0x163)]({'file':_0x4e73d7,'fnName':_0x139c44,'method':_0x1cdd3d,'path':(''+_0x3bb66c+_0x4117f0)[_0x8d2284(0x255)](/\/+/g,'/'),'requiredFields':_0x4936b1[_0x6d5d9a(0x223)](_0x3a79da[_0x6d5d9a(_0x188a9e._0x552c0e)],0x1ee*0xa+0x6a*0x11+-0x1a56)?_0x3a79da:_0x1d8dfc,'rawParams':_0x1d8dfc});}}}return _0x5df205;}function isSnakeCase(_0x1876d6){const _0x42c26c=_0x14756c;return/^[a-z][a-z0-9]*(?:_[a-z0-9]+)*$/[_0x42c26c(0x19d)](_0x1876d6);}function normalizeApiPath(_0x273e04){const _0x991f6d={_0x2b03ae:0x255},_0x200955=_0x14756c,_0x17233b=_0x14756c;return _0x273e04[_0x200955(_0x991f6d._0x2b03ae)](/\{[^}]+\}/g,'')[_0x17233b(_0x991f6d._0x2b03ae)](/:[a-zA-Z_][\w-]*/g,'')['replace'](/\/+$/,'');}function checkApiContract(_0x203168,_0x329636){const _0x581a04={_0x524a27:0x22c,_0x97e118:0x248,_0x1191b6:0x246,_0x41e051:0x16b,_0x3ebde4:0x1db,_0x1fbc9a:0x1ef,_0x5cda96:0x1b5,_0x1357ac:0x239,_0x579d6d:0x1b7,_0x404534:0x1b2,_0x5bd864:0x1df,_0x3fad85:0x1b9,_0x5864df:0x1da,_0x281569:0x19c,_0x1f3736:0x21f,_0x1a8e15:0x202,_0x17d855:0x255,_0x1d2997:0x25f,_0x3055a6:0x176,_0x4bc9f6:0x23e,_0x2f10e1:0x1f6,_0x23b5f8:0x1fe,_0x50fd0c:0x1f6,_0x258593:0x1fa,_0x253be3:0x17f,_0x5c1c08:0x152,_0x35190c:0x20e,_0x23a181:0x210,_0x21699e:0x1e9},_0x5ccd83=_0x14756c,_0x348c70=_0x14756c,_0xe4f422={'pVNxx':function(_0x3f9009,_0x44fe12){return _0x3f9009+_0x44fe12;},'RJcCU':function(_0x4a7181,_0x4e1e83){return _0x4a7181(_0x4e1e83);},'dhItg':'utf-8','bFrcM':_0x5ccd83(_0x581a04._0x524a27),'IkocM':function(_0xb36cee,_0x1225c4){return _0xb36cee===_0x1225c4;},'qgvAc':'spec\x20中无\x20AP'+_0x348c70(_0x581a04._0x97e118),'VBhoz':_0x5ccd83(_0x581a04._0x1191b6)+'rc','lOYfy':_0x348c70(_0x581a04._0x41e051),'PUoFR':'src','OgQmF':_0x348c70(_0x581a04._0x3ebde4),'oDLSN':'ejgtS','TvkVP':_0x5ccd83(0x18d),'fHUfe':function(_0x31d6fe,_0x529dd6){return _0x31d6fe!==_0x529dd6;},'NNbVu':'sDLlY','MrmDl':function(_0x2c4e3e,_0x4f9a4b,_0x12e303){return _0x2c4e3e(_0x4f9a4b,_0x12e303);},'DjCnL':_0x348c70(_0x581a04._0x1fbc9a),'wHfEF':_0x5ccd83(_0x581a04._0x5cda96),'xydTh':_0x5ccd83(0x22a),'KkoQw':_0x348c70(_0x581a04._0x1357ac),'EbBDG':_0x348c70(0x20f),'eKBEU':'.py','VsZCv':function(_0x5609e5,_0x452300){return _0x5609e5&&_0x452300;},'LZmxs':_0x348c70(_0x581a04._0x579d6d)+'ng'},_0x2f396f=_0xe4f422[_0x348c70(_0x581a04._0x404534)](extractSpecApis,_0x329636);if(_0xe4f422[_0x348c70(0x19c)](_0x2f396f[_0x5ccd83(_0x581a04._0x5bd864)],-0x1*0x149d+0x18c3*0x1+-0x426))return{'pass':!![],'results':[],'message':_0xe4f422[_0x5ccd83(0x21e)]};const _0xf3c90c=_0xe4f422[_0x5ccd83(0x1b2)](isGitRepo,_0x203168),_0x1fcc8a=[_0xe4f422[_0x5ccd83(_0x581a04._0x3fad85)],_0xe4f422[_0x5ccd83(0x1bb)],_0xe4f422[_0x348c70(0x1de)]][_0x348c70(_0x581a04._0x5864df)](_0x1ad266=>fs[_0x5ccd83(0x21a)](path[_0x5ccd83(0x1f6)](_0x203168,_0x1ad266))),_0x141f2c=[_0x5ccd83(0x16f)+'c',_0xe4f422['OgQmF']][_0x5ccd83(_0x581a04._0x5864df)](_0x32517=>fs[_0x5ccd83(0x21a)](path[_0x348c70(0x1f6)](_0x203168,_0x32517))),_0x3908a5=[];for(const _0x259a1e of _0x2f396f){if(_0xe4f422[_0x5ccd83(_0x581a04._0x281569)](_0x348c70(_0x581a04._0x1f3736),_0xe4f422[_0x348c70(0x15a)])){const _0x350559=_0x259a1e[_0x348c70(_0x581a04._0x1a8e15)][_0x5ccd83(_0x581a04._0x17d855)](/\{[^}]+\}/g,'')['replace'](/\/+$/,''),_0x1982d4=_0x350559['split']('/')[_0x5ccd83(_0x581a04._0x1d2997)](-0x2217+0x4*-0x1d0+0x2957,0x1872*0x1+0x277*0xd+-0x3879)[_0x348c70(0x1f6)]('/');let _0x4062ab=![],_0xb8ab4f=![];if(_0xf3c90c){if(_0xe4f422['IkocM'](_0xe4f422[_0x348c70(_0x581a04._0x3055a6)],_0xe4f422['TvkVP'])){const _0x4bb088=gitGrep(_0x203168,_0x1982d4),_0x52ded1=_0x4bb088[_0x5ccd83(0x1da)](_0xfee275=>!_0xfee275['startsWith'](_0x348c70(0x1f1)+_0x5ccd83(0x1dc))&&!_0xfee275[_0x5ccd83(0x1c8)](_0x5ccd83(0x1ba)));_0x4062ab=_0x52ded1[_0x348c70(0x23e)](_0x12a64e=>/\.(vue|tsx|jsx|ts|js)$/['test'](_0x12a64e)&&/(src|app|pages|views|components|api|services|store)\//[_0x5ccd83(0x19d)](_0x12a64e)),_0xb8ab4f=_0x52ded1[_0x5ccd83(_0x581a04._0x4bc9f6)](_0x351df0=>/\.(java|kt|py|go|rb|cs|php)$/[_0x348c70(0x19d)](_0x351df0));}else{const _0x51c2b4=_0x1cb98d[_0x5ccd83(_0x581a04._0x2f10e1)](_0x42fb67,_0x183383,_0x232431);if(_0x4a1c39[_0x5ccd83(0x21a)](_0x51c2b4))_0x2ce388+=_0xe4f422[_0x348c70(0x232)](_0xe4f422[_0x5ccd83(_0x581a04._0x404534)](_0x11bd16,_0x51c2b4),'\x0a');}}else{for(const _0x4b1f8e of _0x1fcc8a){if(_0xe4f422[_0x5ccd83(0x1e3)](_0x348c70(0x1c0),_0xe4f422['NNbVu']))_0x14ae7a=_0x32fcd2[_0x348c70(0x1e9)](',')[_0x5ccd83(_0x581a04._0x23b5f8)](_0x589927=>_0x589927[_0x348c70(0x210)]()['replace'](/\?.*$/,'')[_0x5ccd83(0x255)](/:.*/,'')['trim']())[_0x5ccd83(0x1da)](_0x32d969);else{const _0x5bb3d2=_0xe4f422[_0x348c70(0x1c9)](findFiles,path['join'](_0x203168,_0x4b1f8e),['.vue',_0xe4f422['DjCnL'],_0xe4f422['wHfEF'],_0xe4f422[_0x5ccd83(0x1a4)],'.js']);_0x4062ab=_0x5bb3d2[_0x348c70(_0x581a04._0x4bc9f6)](_0x1dfc6a=>readSafe(_0x1dfc6a)['includes'](_0x1982d4));if(_0x4062ab)break;}}for(const _0x8576fe of _0x141f2c){const _0x5f0b25=findFiles(path[_0x348c70(_0x581a04._0x50fd0c)](_0x203168,_0x8576fe),[_0xe4f422[_0x5ccd83(0x17e)],_0xe4f422[_0x348c70(_0x581a04._0x258593)],_0xe4f422[_0x348c70(0x23b)],_0x5ccd83(0x178)]);_0xb8ab4f=_0x5f0b25[_0x5ccd83(0x23e)](_0x160eb6=>readSafe(_0x160eb6)['includes'](_0x1982d4));if(_0xb8ab4f)break;}}_0x3908a5[_0x5ccd83(0x163)]({'method':_0x259a1e['method'],'path':_0x259a1e[_0x348c70(0x202)],'feFound':_0x4062ab,'beFound':_0xb8ab4f,'status':_0xe4f422[_0x5ccd83(0x1d1)](_0x4062ab,_0xb8ab4f)?'ok':_0x4062ab?'be-missing':_0xb8ab4f?_0x348c70(0x207):_0xe4f422[_0x5ccd83(0x1a6)]});}else try{const _0x400090={};_0x400090['cwd']=_0x4943f8,_0x400090[_0x348c70(0x1f5)]=VYUvKX[_0x348c70(_0x581a04._0x253be3)],_0x400090[_0x5ccd83(_0x581a04._0x5c1c08)]=[_0x348c70(0x20e),_0x5ccd83(_0x581a04._0x35190c),VYUvKX['bFrcM']];const _0x1e1444=_0x8c1f9('git\x20grep\x20-'+'l\x20--\x20\x22'+_0x36ff83+'\x22',_0x400090)[_0x5ccd83(_0x581a04._0x23a181)]();return _0x1e1444?_0x1e1444[_0x348c70(_0x581a04._0x21699e)]('\x0a')[_0x5ccd83(0x1da)](_0xc682da):[];}catch{return[];}}const _0x31ca55=_0x3908a5[_0x348c70(0x1da)](_0x3f7266=>_0x3f7266['status']!=='ok');return{'pass':_0xe4f422[_0x5ccd83(_0x581a04._0x281569)](_0x31ca55[_0x5ccd83(0x1df)],0x1392+0x1*0x799+-0x1b2b),'results':_0x3908a5,'total':_0x2f396f['length'],'matched':_0x3908a5[_0x348c70(0x1da)](_0x458ab9=>_0x458ab9[_0x5ccd83(0x240)]==='ok')[_0x348c70(0x1df)],'feMissing':_0x3908a5[_0x348c70(_0x581a04._0x5864df)](_0x1de1ab=>_0x1de1ab[_0x348c70(0x240)]===_0x5ccd83(0x207)),'beMissing':_0x3908a5[_0x5ccd83(0x1da)](_0x47b8d6=>_0x47b8d6[_0x5ccd83(0x240)]==='be-missing'),'bothMissing':_0x3908a5[_0x348c70(0x1da)](_0x261ae5=>_0x261ae5[_0x348c70(0x240)]==='both-missi'+'ng')};}function checkContractConsistency(_0x4f005a){const _0x5ebfca={_0x27b1b9:0x1ad,_0x2e9ee7:0x1ad,_0x51a0f9:0x227,_0x3e1153:0x1d4,_0x4feb2e:0x1da,_0x4ce27c:0x1df,_0x4bc6fd:0x1df,_0x220b6c:0x1b4,_0xc1e4ac:0x1f0,_0x36c297:0x226,_0x13feee:0x193,_0x1086f0:0x1ce,_0x2e9d42:0x1a1,_0x544356:0x163,_0x8524b7:0x1df,_0xe15d8c:0x25d,_0xcbaed8:0x206},_0x18e8c4=_0x14756c,_0x469e95=_0x14756c,_0x417421={'ButvS':function(_0x2f1f65,_0x17e527){return _0x2f1f65(_0x17e527);}},_0x283d1c=_0x417421[_0x18e8c4(0x1ad)](extractFrontApiCalls,_0x4f005a),_0x3ae7f1=_0x417421[_0x469e95(_0x5ebfca._0x27b1b9)](extractBackendApiContracts,_0x4f005a),_0x34e538=[];let _0x3ec6cd=-0x1*0xf51+0x399+0x1f4*0x6;for(const _0xa80450 of _0x283d1c){const _0x513a60=_0x417421[_0x18e8c4(_0x5ebfca._0x2e9ee7)](normalizeApiPath,_0xa80450[_0x469e95(0x202)]),_0x1b06ee=_0x3ae7f1[_0x469e95(_0x5ebfca._0x51a0f9)](_0x4a3458=>_0x4a3458[_0x469e95(0x251)]===_0xa80450[_0x18e8c4(0x251)]&&normalizeApiPath(_0x4a3458[_0x469e95(0x202)])===_0x513a60);if(!_0x1b06ee)continue;_0x3ec6cd++;const _0x2bc6a3=_0xa80450[_0x469e95(_0x5ebfca._0x3e1153)+'lds'],_0x486382=_0x1b06ee[_0x469e95(0x171)+_0x469e95(0x238)],_0x435a84=_0x486382[_0x469e95(_0x5ebfca._0x4feb2e)](_0x479152=>_0x479152&&!_0x2bc6a3['includes'](_0x479152)),_0x1cd7d6=_0x2bc6a3[_0x18e8c4(_0x5ebfca._0x4feb2e)](_0x18742b=>_0x18742b&&!isSnakeCase(_0x18742b)),_0xc5cc28=_0x486382[_0x18e8c4(_0x5ebfca._0x4feb2e)](_0x486648=>_0x486648&&!isSnakeCase(_0x486648));if(_0x435a84[_0x469e95(_0x5ebfca._0x4ce27c)]>-0x13*-0x61+-0xc99+-0x2*-0x2b3||_0x1cd7d6[_0x18e8c4(0x1df)]>-0xdff+-0x1826+0x2625||_0xc5cc28[_0x18e8c4(_0x5ebfca._0x4bc6fd)]>0x242*-0x11+0x19*-0x81+0x1*0x32fb){const _0x59ed62={};_0x59ed62[_0x469e95(0x251)]=_0xa80450[_0x18e8c4(0x251)],_0x59ed62[_0x18e8c4(0x202)]=_0xa80450['path'],_0x59ed62[_0x18e8c4(_0x5ebfca._0x220b6c)]=_0xa80450['file'],_0x59ed62[_0x18e8c4(0x1d7)]=_0xa80450['fnName'],_0x59ed62[_0x469e95(_0x5ebfca._0xc1e4ac)]=_0x1b06ee[_0x18e8c4(_0x5ebfca._0x36c297)],_0x59ed62['backFn']=_0x1b06ee[_0x18e8c4(0x23f)],_0x59ed62[_0x469e95(_0x5ebfca._0x13feee)+'e']=_0x435a84,_0x59ed62[_0x18e8c4(_0x5ebfca._0x1086f0)]=_0x1cd7d6,_0x59ed62[_0x18e8c4(_0x5ebfca._0x2e9d42)]=_0xc5cc28,_0x34e538[_0x18e8c4(_0x5ebfca._0x544356)](_0x59ed62);}}const _0x5ea238={};return _0x5ea238['pass']=_0x34e538[_0x18e8c4(_0x5ebfca._0x8524b7)]===-0x902*0x2+0x7*-0x3e5+0x2d47,_0x5ea238[_0x469e95(_0x5ebfca._0xe15d8c)]=_0x3ec6cd,_0x5ea238[_0x469e95(_0x5ebfca._0xcbaed8)]=_0x34e538,_0x5ea238;}function checkErrorHandling(_0x5c1dbe){const _0x18dc04={_0x1eb1eb:0x250,_0x24c798:0x1f2,_0x3ff798:0x191,_0x545798:0x16b,_0x1c24e0:0x1ef,_0x3256e5:0x1e6,_0xd9fb1b:0x1e7,_0x4fac11:0x20b,_0x10a9bc:0x1ab,_0x19a309:0x1bf,_0x28159f:0x21b,_0x87899b:0x152,_0x5171f8:0x22c,_0x2c5949:0x16c,_0x1cf16c:0x1b5,_0x5b2265:0x1bc,_0x350e89:0x249,_0x8ae474:0x1a2,_0x1fb4de:0x1df,_0x543a5a:0x15b,_0x791c50:0x169,_0xb12b90:0x20a,_0x3ce0d0:0x19d,_0x435747:0x19d,_0x3d958b:0x1e2,_0x27b002:0x16a,_0x22d388:0x262,_0x4a9baf:0x1ed,_0x534016:0x154,_0x150e30:0x1ee,_0xc7bf81:0x1ff,_0x4594f7:0x1b0,_0x4514bf:0x1f6,_0x2ffc61:0x163,_0x4746d2:0x1df,_0xe982e3:0x1df},_0x2f6d1a=_0x15b77e,_0x4c9fb9=_0x15b77e,_0x1a98e0={'CvSIQ':function(_0xdc356e,_0x35ad59,_0x16a852){return _0xdc356e(_0x35ad59,_0x16a852);},'VVdyP':_0x2f6d1a(_0x18dc04._0x1eb1eb)+'rse\x20--is-i'+_0x4c9fb9(_0x18dc04._0x24c798)+'-tree','sxqmg':'router/ind'+'ex.js','llhTY':_0x4c9fb9(_0x18dc04._0x3ff798),'XBIbV':function(_0x32963f,_0x34bdab){return _0x32963f+_0x34bdab;},'uOmvU':function(_0x53cbb6,_0x115244){return _0x53cbb6(_0x115244);},'IgRiQ':_0x4c9fb9(0x246)+'rc','IWOUV':_0x4c9fb9(_0x18dc04._0x545798),'SBgTk':_0x4c9fb9(0x1d5),'yNeAc':_0x2f6d1a(0x1a7),'SzbDe':_0x2f6d1a(_0x18dc04._0x1c24e0),'CFBwa':'.js','Npave':'__test','vBTyn':'.spec.','KYeZR':function(_0x2a70f9,_0x3ac985){return _0x2a70f9<_0x3ac985;},'eMpCB':function(_0x5ee7e0,_0x55337b){return _0x5ee7e0-_0x55337b;},'Fibsa':function(_0x582aaa,_0x259752){return _0x582aaa+_0x259752;},'Apgew':_0x2f6d1a(_0x18dc04._0x3256e5),'nXoRR':_0x4c9fb9(0x21d),'XesPV':function(_0x2055ef,_0x5004bf){return _0x2055ef+_0x5004bf;},'ymdrC':_0x2f6d1a(_0x18dc04._0xd9fb1b)+_0x4c9fb9(0x25b)+_0x2f6d1a(_0x18dc04._0x4fac11),'gJIph':function(_0x4d6cd3,_0x59b616){return _0x4d6cd3===_0x59b616;}},_0x431aef=[_0x1a98e0[_0x2f6d1a(0x224)],_0x1a98e0[_0x2f6d1a(_0x18dc04._0x10a9bc)],_0x4c9fb9(_0x18dc04._0x19a309)][_0x2f6d1a(0x1da)](_0x55e93a=>fs['existsSync'](path[_0x4c9fb9(0x1f6)](_0x5c1dbe,_0x55e93a))),_0x427e04=[];let _0x1d1bd9=-0x2661+0xbbf*-0x2+0x2f*0x151;for(const _0x2689c5 of _0x431aef){if(_0x1a98e0[_0x4c9fb9(_0x18dc04._0x28159f)]!==_0x1a98e0[_0x2f6d1a(0x21b)]){const _0x327b45={};return _0x327b45[_0x2f6d1a(0x233)]=_0xdaf47e,_0x327b45[_0x4c9fb9(_0x18dc04._0x87899b)]=_0x4c9fb9(_0x18dc04._0x5171f8),RsDnVf[_0x2f6d1a(0x1be)](_0x1bb8bc,RsDnVf[_0x4c9fb9(0x234)],_0x327b45),!![];}else{const _0x4f5ba1=findFiles(path[_0x4c9fb9(0x1f6)](_0x5c1dbe,_0x2689c5),[_0x1a98e0[_0x4c9fb9(0x22e)],_0x1a98e0[_0x4c9fb9(_0x18dc04._0x2c5949)],_0x2f6d1a(_0x18dc04._0x1cf16c),_0x2f6d1a(0x22a),_0x1a98e0['CFBwa']]);for(const _0x2d5726 of _0x4f5ba1){const _0x1fcb8e=_0x1a98e0[_0x4c9fb9(_0x18dc04._0x5b2265)](readSafe,_0x2d5726);if(!_0x1fcb8e)continue;const _0x3bd067=path[_0x2f6d1a(_0x18dc04._0x350e89)](_0x5c1dbe,_0x2d5726);if(_0x3bd067[_0x2f6d1a(0x219)](_0x2f6d1a(0x205))||_0x3bd067['includes'](_0x1a98e0[_0x2f6d1a(0x1a9)])||_0x3bd067['includes'](_0x1a98e0['vBTyn'])||_0x3bd067['includes'](_0x2f6d1a(_0x18dc04._0x8ae474)))continue;const _0x616361=_0x1fcb8e['split']('\x0a');for(let _0x31478a=0x286*-0xe+0x1aac+0x2*0x454;_0x1a98e0[_0x2f6d1a(0x21c)](_0x31478a,_0x616361[_0x4c9fb9(_0x18dc04._0x1fb4de)]);_0x31478a++){const _0x61ce71=_0x616361[_0x31478a],_0xff30b0=/\.(get|post|put|delete|patch)\s*\(\s*['"`]\/api\//['test'](_0x61ce71)||/fetch\s*\(\s*['"`].*\/api\//[_0x4c9fb9(0x19d)](_0x61ce71)||/request\s*\(\s*\{[\s\S]*url.*\/api\//['test'](_0x61ce71)||/\bapi\.\w+\s*\(/[_0x2f6d1a(0x19d)](_0x61ce71);if(!_0xff30b0)continue;_0x1d1bd9++;const _0x14bf7c=Math[_0x2f6d1a(_0x18dc04._0x543a5a)](-0xdc3*-0x1+-0x1b00+0xd3d,_0x1a98e0[_0x2f6d1a(_0x18dc04._0x791c50)](_0x31478a,-0x8c8+-0x12eb+0x4*0x6ee)),_0x22aca3=Math[_0x4c9fb9(_0x18dc04._0xb12b90)](_0x616361[_0x4c9fb9(0x1df)],_0x1a98e0[_0x2f6d1a(0x1e4)](_0x31478a,-0x10d3*-0x1+-0x2*-0xd4+0x1271*-0x1)),_0x2c0d55=_0x616361[_0x2f6d1a(0x25f)](_0x14bf7c,_0x22aca3)[_0x2f6d1a(0x1f6)]('\x0a'),_0x322088=/\.catch\s*\(/['test'](_0x2c0d55)||/catch\s*\(/['test'](_0x2c0d55)||/\.then\s*\([^)]*,[^)]*\)/['test'](_0x2c0d55)||/onError|errorHandler|handleError/i[_0x2f6d1a(_0x18dc04._0x3ce0d0)](_0x2c0d55)||/\.finally\s*\(/[_0x4c9fb9(_0x18dc04._0x435747)](_0x2c0d55),_0x30fba6=/catch\s*\([^)]*\)\s*\{\s*\}/['test'](_0x2c0d55)||/\.catch\s*\(\s*\(\s*\)\s*=>\s*\{\s*\}\s*\)/['test'](_0x2c0d55);if(!_0x322088){const _0x8dba8e={};_0x8dba8e['file']=_0x3bd067,_0x8dba8e[_0x4c9fb9(0x170)]=_0x31478a+(-0x1*0x1de1+0x1387*-0x2+-0x2278*-0x2),_0x8dba8e[_0x4c9fb9(0x1d8)]=_0x2f6d1a(_0x18dc04._0x3d958b),_0x8dba8e[_0x4c9fb9(_0x18dc04._0x27b002)]=_0x4c9fb9(_0x18dc04._0x22d388)+_0x4c9fb9(0x173)+'onError)',_0x427e04['push'](_0x8dba8e);}else{if(_0x30fba6){if(_0x1a98e0[_0x4c9fb9(_0x18dc04._0x4a9baf)]===_0x1a98e0[_0x4c9fb9(_0x18dc04._0x534016)])for(const _0x59bdf0 of['router/ind'+_0x4c9fb9(_0x18dc04._0x150e30),_0x1a98e0[_0x4c9fb9(_0x18dc04._0xc7bf81)],_0x4c9fb9(_0x18dc04._0x4594f7),_0x1a98e0[_0x4c9fb9(0x237)]]){const _0x1d1d6b=_0x25c7f0[_0x4c9fb9(_0x18dc04._0x4514bf)](_0xf3e875,_0x16397f,_0x59bdf0);if(_0x4c9e30[_0x2f6d1a(0x21a)](_0x1d1d6b))_0x335e2e+=_0x1a98e0[_0x2f6d1a(0x17b)](_0x1a98e0[_0x4c9fb9(_0x18dc04._0x5b2265)](_0x809807,_0x1d1d6b),'\x0a');}else _0x427e04[_0x4c9fb9(_0x18dc04._0x2ffc61)]({'file':_0x3bd067,'line':_0x1a98e0['XesPV'](_0x31478a,0x1c9*0x10+-0xd4*-0x21+-0x37e3),'type':_0x2f6d1a(0x175)+'h','detail':_0x1a98e0['ymdrC']});}}}}}}return{'pass':_0x1a98e0['gJIph'](_0x427e04[_0x2f6d1a(_0x18dc04._0x4746d2)],0x169a*-0x1+-0x45d*0x5+0x1*0x2c6b),'violations':_0x427e04,'totalApiCalls':_0x1d1bd9,'noHandling':_0x427e04[_0x4c9fb9(0x1da)](_0x5ba35=>_0x5ba35[_0x4c9fb9(0x1d8)]===_0x2f6d1a(0x1e2))[_0x4c9fb9(0x1df)],'emptyCatch':_0x427e04[_0x2f6d1a(0x1da)](_0x44adc8=>_0x44adc8[_0x2f6d1a(0x1d8)]===_0x2f6d1a(0x175)+'h')[_0x2f6d1a(_0x18dc04._0xe982e3)]};}function checkHardcodedData(_0xda768d){const _0x47d92f={_0x1e98d4:0x1c4,_0x4230d6:0x182,_0x1953ff:0x255,_0x428320:0x19d,_0x22543b:0x219,_0x136429:0x1f8,_0x28c7a8:0x1b3,_0x5ae733:0x22d,_0x1e0926:0x1df,_0xe66350:0x25f,_0x24a6d9:0x1c7,_0x1b42da:0x170,_0x436705:0x1d8,_0x2650ee:0x15f,_0x1c6e98:0x16a,_0x5c4250:0x1fb,_0x2bd19e:0x23a,_0x371ac8:0x15e,_0x47ec09:0x19d,_0x189c5d:0x170,_0x363421:0x177,_0x4744e6:0x23a,_0x367a5c:0x195,_0x42993a:0x163,_0x3fd2ad:0x24d,_0x1982fb:0x22d,_0x49093d:0x23e,_0x408e6b:0x252},_0x33940a=_0x15b77e,_0x433439=_0x15b77e,_0x8abc42={'YjweY':_0x33940a(0x24c),'FTXyI':function(_0x4c0d66,_0x44f7a5,_0x14ff3e){return _0x4c0d66(_0x44f7a5,_0x14ff3e);},'QviEE':'.vue','KUcSW':function(_0x27cfe5,_0x399145){return _0x27cfe5(_0x399145);},'wJkot':_0x433439(0x205),'ZXZCU':function(_0x4bbcbc,_0x167e51){return _0x4bbcbc!==_0x167e51;},'TCQIi':_0x433439(_0x47d92f._0x1e98d4),'ivKSE':function(_0x4ab255,_0x40d733){return _0x4ab255!==_0x40d733;},'LKwMl':_0x33940a(0x177)+_0x33940a(0x15d)},_0x4a7bbd=[_0x33940a(0x246)+'rc','app/src',_0x33940a(0x1bf)][_0x33940a(0x1da)](_0x2a72b4=>fs[_0x33940a(0x21a)](path['join'](_0xda768d,_0x2a72b4))),_0xf0315b=[];for(const _0x458364 of _0x4a7bbd){if(_0x8abc42[_0x433439(_0x47d92f._0x4230d6)]!=='jjbxh'){const _0x28f192=_0x4723c3[_0x33940a(0x255)](/:[a-zA-Z]+/g,':[a-zA-Z]+');!_0x375708[_0x433439(0x219)](_0x5adc77)&&!new _0x57b3fe(_0x28f192[_0x33940a(_0x47d92f._0x1953ff)](/\//g,'\x5c/'))[_0x433439(_0x47d92f._0x428320)](_0x351dfe)&&_0x89906d['push'](_0x177fae);}else{const _0x19e4ee=_0x8abc42[_0x33940a(0x19b)](findFiles,path[_0x33940a(0x1f6)](_0xda768d,_0x458364),[_0x8abc42[_0x33940a(0x19a)],_0x33940a(0x1ef),'.jsx',_0x33940a(0x22a),_0x433439(0x190)]);for(const _0x366522 of _0x19e4ee){const _0x5e20a2=_0x8abc42[_0x33940a(0x17a)](readSafe,_0x366522);if(!_0x5e20a2)continue;const _0x4121d7=path['relative'](_0xda768d,_0x366522);if(/\/(constants?|config|utils?|helpers?|types?|enums?|mock)\//i['test'](_0x4121d7))continue;if(_0x4121d7[_0x433439(_0x47d92f._0x22543b)](_0x8abc42[_0x433439(_0x47d92f._0x136429)])||_0x4121d7[_0x33940a(0x219)](_0x433439(_0x47d92f._0x28c7a8)))continue;const _0x337c08=/(?:const|let|var|ref\(|reactive\()\s*\w+\s*[=:]\s*\[[\s\S]{100,}?\]/g;let _0x88a831;while(_0x8abc42[_0x433439(0x1cd)](_0x88a831=_0x337c08['exec'](_0x5e20a2),null)){if(_0x8abc42['TCQIi']!==_0x433439(_0x47d92f._0x1e98d4)){const _0x1724fe=_0x2a1634[-0xe71+0x200b*0x1+0x6*-0x2ef],_0x38a157=(_0x1724fe[_0x33940a(_0x47d92f._0x5ae733)](/\{/g)||[])[_0x433439(_0x47d92f._0x1e0926)],_0x4c165f=/\bid\s*[:=]|name\s*[:=]\s*['"`]|title\s*[:=]\s*['"`]|label\s*[:=]\s*['"`]/[_0x433439(0x19d)](_0x1724fe);if(_0x38a157>=-0xb1*0x2f+0x2420+-0x1*0x39e&&_0x4c165f){const _0x446b06=_0xb912de[_0x433439(_0x47d92f._0xe66350)](-0x46d*0x8+0x9fd*-0x1+0x2d65,_0xbf6338[_0x33940a(_0x47d92f._0x24a6d9)])['split']('\x0a')[_0x433439(_0x47d92f._0x1e0926)],_0x11662b={};_0x11662b[_0x433439(0x226)]=_0x5f5a4b,_0x11662b[_0x433439(_0x47d92f._0x1b42da)]=_0x446b06,_0x11662b[_0x433439(_0x47d92f._0x436705)]=_0x433439(0x177)+'array',_0x11662b[_0x433439(_0x47d92f._0x2650ee)+'t']=_0x38a157,_0x11662b[_0x33940a(_0x47d92f._0x1c6e98)]=_0x433439(_0x47d92f._0x5c4250)+_0x38a157+(_0x433439(_0x47d92f._0x2bd19e)+_0x433439(_0x47d92f._0x371ac8)+'应从\x20API\x20获取)'),_0x4c8f1a['push'](_0x11662b);}}else{const _0x150a58=_0x88a831[0x39*-0x1b+-0x1e6a+0x246d],_0x4c59ba=(_0x150a58['match'](/\{/g)||[])[_0x433439(_0x47d92f._0x1e0926)],_0x1d7e2d=/\bid\s*[:=]|name\s*[:=]\s*['"`]|title\s*[:=]\s*['"`]|label\s*[:=]\s*['"`]/[_0x433439(_0x47d92f._0x47ec09)](_0x150a58);if(_0x4c59ba>=0x9de+0x2*-0x15+-0x33b*0x3&&_0x1d7e2d){const _0x3160f9=_0x5e20a2[_0x33940a(0x25f)](0x1797+0x287*0xd+0x3872*-0x1,_0x88a831[_0x33940a(_0x47d92f._0x24a6d9)])[_0x433439(0x1e9)]('\x0a')[_0x433439(0x1df)],_0x387013={};_0x387013[_0x33940a(0x226)]=_0x4121d7,_0x387013[_0x433439(_0x47d92f._0x189c5d)]=_0x3160f9,_0x387013[_0x33940a(0x1d8)]=_0x33940a(_0x47d92f._0x363421)+'array',_0x387013[_0x433439(_0x47d92f._0x2650ee)+'t']=_0x4c59ba,_0x387013['detail']='疑似硬编码数据('+_0x4c59ba+(_0x433439(_0x47d92f._0x4744e6)+'name\x20字段\x20—\x20'+_0x33940a(_0x47d92f._0x367a5c)),_0xf0315b[_0x33940a(_0x47d92f._0x42993a)](_0x387013);}}}const _0xf84d28=/(?:tableData|dataSource|listData|dataList|options|menuList|items)\s*[=:]\s*(?:ref\(|reactive\()?\s*\[[\s\S]{50,}?\]/g;while(_0x8abc42[_0x433439(0x217)](_0x88a831=_0xf84d28[_0x33940a(_0x47d92f._0x3fd2ad)](_0x5e20a2),null)){if(_0x33940a(0x1a0)===_0x33940a(0x1a0)){const _0x55597e=_0x88a831[-0xc3+0x238b+-0x22c8],_0x346baf=(_0x55597e[_0x433439(_0x47d92f._0x1982fb)](/\{/g)||[])[_0x33940a(0x1df)];if(_0x346baf>=-0x269a+-0xf*0xa3+-0x1*-0x3029){const _0x1cf60e=_0x5e20a2[_0x433439(0x25f)](-0xb67+0x3b5+-0x7b2*-0x1,_0x88a831['index'])[_0x33940a(0x1e9)]('\x0a')[_0x433439(0x1df)];if(!_0xf0315b[_0x33940a(_0x47d92f._0x49093d)](_0x4b3bea=>_0x4b3bea[_0x33940a(0x226)]===_0x4121d7&&Math[_0x33940a(0x24a)](_0x4b3bea[_0x433439(0x170)]-_0x1cf60e)<-0x1c4a+0x2*-0x4b7+0x25bb)){const _0x186339={};_0x186339[_0x33940a(0x226)]=_0x4121d7,_0x186339['line']=_0x1cf60e,_0x186339['type']=_0x8abc42[_0x433439(0x1a5)],_0x186339['detail']='tableData/'+_0x433439(_0x47d92f._0x408e6b)+_0x33940a(0x20d)+'组('+_0x346baf+_0x33940a(0x228),_0xf0315b[_0x33940a(_0x47d92f._0x42993a)](_0x186339);}}}else return/^[a-z][a-z0-9]*(?:_[a-z0-9]+)*$/[_0x33940a(_0x47d92f._0x428320)](_0x376172);}}}}const _0x21a28f={};return _0x21a28f[_0x433439(0x1e5)]=_0xf0315b['length']===0x1edf+0x1226+-0x3105,_0x21a28f[_0x433439(0x235)]=_0xf0315b,_0x21a28f;}function checkHardcodedIdentities(_0x31bd0f){const _0x239104={_0xb9c17e:0x1f3,_0x2814e3:0x1a7,_0x3c177c:0x246,_0x516bfe:0x1da,_0x3cc6b8:0x229,_0x4029f6:0x25a,_0x1d6b54:0x220,_0x373a58:0x1ef,_0x5cb1ac:0x197,_0x4d305c:0x1c3,_0x55c246:0x256,_0x28d3e4:0x249,_0x3c7038:0x19d,_0x1cffaa:0x183,_0x4bdb68:0x19e,_0x317b60:0x25f,_0xda0d1:0x1c7,_0x2c4ac5:0x20a,_0x4815e6:0x23d,_0x4c26a3:0x1c7,_0x2e697c:0x212,_0x2d2170:0x1d8,_0x259935:0x15d},_0x5a8669={_0x562015:0x258,_0x375047:0x210,_0x50670d:0x180,_0x5abc3e:0x1ea,_0x424493:0x19d,_0x3f9e80:0x1ac,_0x3c1fef:0x163,_0x4b44fc:0x163,_0x397989:0x1a3},_0x412d49=_0x14756c,_0x52415b=_0x14756c,_0x57cfe4={'KBAnU':_0x412d49(0x156),'lwMro':_0x412d49(0x209),'wutbY':function(_0x36932e,_0x4a37c4){return _0x36932e+_0x4a37c4;},'PrDCa':_0x412d49(_0x239104._0xb9c17e),'rSaKI':function(_0x3905c3,_0x5bb43a){return _0x3905c3(_0x5bb43a);},'ViRUC':function(_0x5a2a0a,_0x360f9d){return _0x5a2a0a(_0x360f9d);},'gSCjY':function(_0x5631f7,_0x44a3fc){return _0x5631f7>_0x44a3fc;},'DHkSo':'硬编码业务身份/人员'+'名称','KQezy':function(_0x451b19,_0x20136d){return _0x451b19!==_0x20136d;},'zWeNZ':_0x52415b(0x1f7),'ZADZg':function(_0x2865fa,_0x7ba4a5,_0x51bbb8){return _0x2865fa(_0x7ba4a5,_0x51bbb8);},'xNIRH':_0x412d49(_0x239104._0x2814e3),'xkirB':_0x412d49(0x22a),'jjxyZ':_0x412d49(0x190),'YlnWt':function(_0x5ecc54,_0x582ca1){return _0x5ecc54(_0x582ca1);}},_0x135930=[_0x52415b(_0x239104._0x3c177c)+'rc','app/src',_0x52415b(0x1bf)][_0x52415b(_0x239104._0x516bfe)](_0x5455e7=>fs[_0x52415b(0x21a)](path[_0x52415b(0x1f6)](_0x31bd0f,_0x5455e7))),_0xad566c=[],_0x177042={};_0x177042[_0x52415b(0x1ea)]=/\buser-\d{3,}\b/g,_0x177042[_0x412d49(0x1a3)]=_0x412d49(_0x239104._0x3cc6b8);const _0x3770b0={};_0x3770b0['regex']=/['"`](张三|李四|王五|赵六|管理员|许可人|签发人|接票人)['"`]/g,_0x3770b0[_0x52415b(0x1a3)]=_0x57cfe4[_0x412d49(_0x239104._0x4029f6)];const _0x424c14={};_0x424c14[_0x52415b(0x1ea)]=/\b(currentUser|operatorId|operatorName)\s*[:=]\s*['"`][^'"`]+['"`]/g,_0x424c14[_0x52415b(0x1a3)]=_0x412d49(0x1e1);const _0x286771=[_0x177042,_0x3770b0,_0x424c14];for(const _0x502b62 of _0x135930){if(_0x57cfe4['KQezy'](_0x57cfe4[_0x52415b(_0x239104._0x1d6b54)],'ZSJzi')){const _0x39a4b6=_0x57cfe4[_0x412d49(0x24b)](findFiles,path['join'](_0x31bd0f,_0x502b62),[_0x57cfe4[_0x412d49(0x1cb)],_0x412d49(_0x239104._0x373a58),'.jsx',_0x57cfe4[_0x412d49(_0x239104._0x5cb1ac)],_0x57cfe4[_0x412d49(_0x239104._0x4d305c)]]);for(const _0x452fb7 of _0x39a4b6){if(_0x57cfe4[_0x52415b(0x241)]('PUGmG',_0x52415b(_0x239104._0x55c246))){const _0x563ccc=path[_0x52415b(_0x239104._0x28d3e4)](_0x31bd0f,_0x452fb7);if(/\/(mock|__tests__|fixtures)\//[_0x52415b(_0x239104._0x3c7038)](_0x563ccc[_0x52415b(0x255)](/\\/g,'/')))continue;const _0x56f35a=_0x57cfe4[_0x412d49(_0x239104._0x1cffaa)](readSafe,_0x452fb7);if(!_0x56f35a)continue;const _0x16bbb1=_0x56f35a['split']('\x0a');_0x16bbb1['forEach']((_0x5a6713,_0x48229c)=>{const _0x5a4946=_0x412d49,_0x309343=_0x412d49,_0x4b53dc={'RsQHl':function(_0x5461ef,_0x21dd96){return _0x5461ef(_0x21dd96);},'kLLmt':_0x57cfe4[_0x5a4946(_0x5a8669._0x562015)]},_0x3b4204=_0x5a6713[_0x5a4946(_0x5a8669._0x375047)]();if(_0x3b4204[_0x309343(_0x5a8669._0x50670d)]('//')||_0x3b4204[_0x5a4946(_0x5a8669._0x50670d)]('*'))return;for(const _0x6f2542 of _0x286771){if(_0x6f2542[_0x5a4946(_0x5a8669._0x5abc3e)][_0x309343(_0x5a8669._0x424493)](_0x5a6713)){if(_0x57cfe4[_0x5a4946(_0x5a8669._0x3f9e80)]!=='qtyAK'){const _0x29d660=_0x4b53dc[_0x309343(0x1f9)](_0x585af3,_0x4e0088),_0xc0af39={'name':_0x4b53dc[_0x309343(0x1ae)],..._0x29d660};_0xb1e9c5[_0x5a4946(_0x5a8669._0x3c1fef)](_0xc0af39);if(!_0x29d660[_0x309343(0x1e5)])_0x37faf3=![];}else{_0xad566c[_0x5a4946(_0x5a8669._0x4b44fc)]({'file':_0x563ccc,'line':_0x57cfe4[_0x5a4946(0x23d)](_0x48229c,0x257b+-0x251*-0xf+-0x4839),'detail':_0x6f2542[_0x309343(_0x5a8669._0x397989)],'snippet':_0x3b4204[_0x309343(0x25f)](-0x106e+-0x6d0+-0x2*-0xb9f,0x1504+0x137*0x8+0x95*-0x34)});break;}}_0x6f2542[_0x5a4946(_0x5a8669._0x5abc3e)][_0x309343(0x161)]=-0xb3d*0x3+0x2*-0xe4b+-0x185*-0x29;}});}else{const _0x34c227=_0x31fe55[0xdee+-0x67+-0xd86]['replace'](Izcbtj[_0x412d49(0x157)],'')[_0x412d49(0x1d6)+'e'](),_0x5cccd0=_0x3283f0[-0x20f4+-0x2b*0x96+-0x2*-0x1d14],_0xb24e37=_0x18494b[-0x43*-0x85+0x1242+-0x1*0x350e],_0x1a22b8=_0x3029a4[0x76a+0xd00+-0x1466]||'',_0x2dbb0e=Izcbtj[_0x52415b(0x1c6)](_0x4932d0,[..._0x1a22b8[_0x412d49(0x212)](/(?:@PathVariable|@RequestParam(?:\(\s*["']([^"']+)["'])?|@RequestBody)\s*(?:@Valid\s*)?(?:Map<String,\s*Object>|[A-Za-z0-9_<>, ?]+)\s+([A-Za-z0-9_$]+)/g)][_0x52415b(0x1fe)](_0x53802c=>_0x53802c[-0x29+-0x66f+0x699]||_0x53802c[-0x2*0x1273+0x17e9+0x455*0x3])),_0x142b78=Izcbtj[_0x412d49(_0x239104._0x4bdb68)](_0x165344,[..._0x357bd8[_0x412d49(_0x239104._0x317b60)](_0x4d9ef7[_0x52415b(_0x239104._0xda0d1)],_0x22f5e8[_0x412d49(_0x239104._0x2c4ac5)](_0x58d390[_0x52415b(0x1df)],Izcbtj[_0x52415b(_0x239104._0x4815e6)](_0x3d9a54[_0x52415b(_0x239104._0x4c26a3)],-0xd4f*-0x2+-0x187*0x16+0x4*0x336)))[_0x412d49(_0x239104._0x2e697c)](/require\(body,\s*["']([^"']+)["']\)/g)]['map'](_0x50d48d=>_0x50d48d[-0xec8+-0xc6b+-0x4*-0x6cd]));_0x5ddd1e[_0x52415b(0x163)]({'file':_0x5b4be8,'fnName':_0xb24e37,'method':_0x34c227,'path':(''+_0x44a8d5+_0x5cccd0)[_0x412d49(0x255)](/\/+/g,'/'),'requiredFields':Izcbtj['gSCjY'](_0x142b78['length'],0x2f*-0x43+0x3*0xbaa+-0x16b1)?_0x142b78:_0x2dbb0e,'rawParams':_0x2dbb0e});}}}else{const _0x57f2fc={};_0x57f2fc['file']=_0x2477c4,_0x57f2fc['line']=_0x4a549c,_0x57f2fc[_0x412d49(_0x239104._0x2d2170)]='hardcoded-'+_0x412d49(_0x239104._0x259935),_0x57f2fc[_0x52415b(0x16a)]=_0x52415b(0x172)+'dataSource'+_0x52415b(0x20d)+'组('+_0x461f3d+_0x52415b(0x228),_0x4ec4b8['push'](_0x57f2fc);}}const _0x1dde9b={};return _0x1dde9b[_0x52415b(0x1e5)]=_0xad566c[_0x52415b(0x1df)]===0x21*-0x127+-0x1283*0x1+0x2*0x1c45,_0x1dde9b['violations']=_0xad566c,_0x1dde9b;}function checkRouteCompleteness(_0x5d7940,_0xc7221f){const _0x1a7b95={_0x23e6c3:0x246,_0x3de4e8:0x16b,_0x3d8d5b:0x1dd,_0x120478:0x1ee,_0x5138c8:0x18f,_0x31ec4c:0x16d,_0x367b88:0x199,_0x3bb243:0x158,_0x3ace99:0x1b1,_0x3667e9:0x1b0,_0x1217f8:0x191,_0x413338:0x16d,_0x1fa55c:0x165,_0x2e1337:0x1d9,_0x56f720:0x16d,_0x1df93b:0x1df},_0x507e2d=_0x15b77e,_0x55b024=_0x15b77e,_0x3fff10={'oAcfo':function(_0x324c51,_0x2d0a61){return _0x324c51(_0x2d0a61);},'XicNv':function(_0x36660c,_0x47bcea){return _0x36660c===_0x47bcea;},'kPAMx':_0x507e2d(_0x1a7b95._0x23e6c3)+'rc','TbUaU':_0x507e2d(_0x1a7b95._0x3de4e8),'fyjqY':_0x507e2d(_0x1a7b95._0x3d8d5b)+_0x55b024(_0x1a7b95._0x120478),'GjWHv':_0x507e2d(_0x1a7b95._0x5138c8)+'\x20文件','EJRCD':_0x55b024(0x19f),'ROYUJ':function(_0x48d753,_0x201f58){return _0x48d753-_0x201f58;}},_0x291dd1=_0x3fff10[_0x55b024(0x243)](extractSpecRoutes,_0xc7221f),_0x424224={};_0x424224[_0x55b024(0x1e5)]=!![],_0x424224[_0x55b024(_0x1a7b95._0x31ec4c)]='spec\x20中无显式路'+_0x55b024(_0x1a7b95._0x367b88);if(_0x3fff10[_0x55b024(_0x1a7b95._0x3bb243)](_0x291dd1[_0x55b024(0x1df)],0x1a71+0x5*0x5ce+-0x127d*0x3))return _0x424224;const _0x1c682e=[_0x3fff10['kPAMx'],_0x3fff10['TbUaU'],_0x55b024(0x1bf)]['filter'](_0x4e204b=>fs[_0x507e2d(0x21a)](path[_0x507e2d(0x1f6)](_0x5d7940,_0x4e204b)));let _0x5700b5='';for(const _0x4ab509 of _0x1c682e){for(const _0x25d139 of[_0x3fff10['fyjqY'],_0x507e2d(0x1dd)+_0x507e2d(_0x1a7b95._0x3ace99),_0x55b024(_0x1a7b95._0x3667e9),_0x507e2d(_0x1a7b95._0x1217f8)]){const _0x5fe8b9=path['join'](_0x5d7940,_0x4ab509,_0x25d139);if(fs[_0x55b024(0x21a)](_0x5fe8b9))_0x5700b5+=_0x3fff10['oAcfo'](readSafe,_0x5fe8b9)+'\x0a';}}const _0x594c41={};_0x594c41[_0x507e2d(0x1e5)]=!![],_0x594c41[_0x507e2d(_0x1a7b95._0x413338)]=_0x3fff10[_0x507e2d(_0x1a7b95._0x1fa55c)];if(!_0x5700b5)return _0x594c41;const _0x2d79dd=[];for(const _0xc9d818 of _0x291dd1){if(_0x3fff10[_0x55b024(_0x1a7b95._0x2e1337)]!==_0x3fff10['EJRCD']){const _0x57a27f={};_0x57a27f[_0x507e2d(0x1d0)]=_0x55b024(0x201),_0x57a27f['pass']=!![],_0x57a27f['error']=_0x13978e[_0x55b024(_0x1a7b95._0x56f720)],_0x121c35[_0x507e2d(0x163)](_0x57a27f);}else{const _0x42a43f=_0xc9d818[_0x55b024(0x255)](/:[a-zA-Z]+/g,':[a-zA-Z]+');!_0x5700b5[_0x55b024(0x219)](_0xc9d818)&&!new RegExp(_0x42a43f[_0x55b024(0x255)](/\//g,'\x5c/'))['test'](_0x5700b5)&&_0x2d79dd[_0x507e2d(0x163)](_0xc9d818);}}return{'pass':_0x2d79dd[_0x507e2d(_0x1a7b95._0x1df93b)]===-0x203c+-0x2349+0x5*0xd81,'total':_0x291dd1[_0x55b024(0x1df)],'matched':_0x3fff10['ROYUJ'](_0x291dd1[_0x507e2d(0x1df)],_0x2d79dd['length']),'missing':_0x2d79dd};}function runReviewChecks(_0x45d425,_0x55b243){const _0x42db69={_0x21e2d2:0x15c,_0x17173f:0x23c,_0xb1ab5c:0x160,_0x14748c:0x1e5,_0x54454e:0x184,_0x27aa8b:0x1e5,_0x28f652:0x16d,_0x57582a:0x1e5,_0x32dee5:0x251,_0x220447:0x251,_0x260aaa:0x202,_0x1967fb:0x1b4,_0x409a37:0x1f0,_0x3f6ec0:0x226,_0x310450:0x222,_0x1b80ff:0x23f,_0x5a8354:0x1ce,_0x9686f1:0x1d0,_0x251515:0x163,_0x385137:0x25e,_0x58d427:0x1d2,_0x1e625d:0x254,_0x2b6000:0x24e,_0x182ac5:0x163,_0x44140a:0x174,_0x1640ad:0x1d0,_0x44683e:0x1e5,_0x5242d1:0x163,_0x473fa1:0x1d0,_0x4cd23b:0x160,_0x3e64ac:0x163},_0xe0f650=_0x15b77e,_0x33cbee=_0x15b77e,_0x1c2464={'rLFXr':_0xe0f650(0x208),'dTLFb':'前后端契约一致性','JzxsW':_0x33cbee(_0x42db69._0x21e2d2),'aYQsY':function(_0x57e620,_0x43070c){return _0x57e620>_0x43070c;},'krmHw':function(_0x2811eb,_0x2e3eaf){return _0x2811eb(_0x2e3eaf);},'XMzUf':_0x33cbee(_0x42db69._0x17173f),'aHvuo':_0xe0f650(0x201),'SMdOQ':function(_0x17fa17,_0x468171,_0x10a611){return _0x17fa17(_0x468171,_0x10a611);},'VHnEz':_0xe0f650(_0x42db69._0xb1ab5c)},_0x15ca85=[];let _0x18f164=!![];try{const _0x45fd6a=checkApiContract(_0x45d425,_0x55b243),_0xae08af={'name':'API\x20契约校验',..._0x45fd6a};_0x15ca85[_0xe0f650(0x163)](_0xae08af);if(!_0x45fd6a[_0x33cbee(_0x42db69._0x14748c)])_0x18f164=![];}catch(_0x34fff8){const _0x70972a={};_0x70972a[_0xe0f650(0x1d0)]=_0x33cbee(_0x42db69._0x54454e),_0x70972a[_0x33cbee(_0x42db69._0x27aa8b)]=!![],_0x70972a[_0xe0f650(0x188)]=_0x34fff8[_0xe0f650(_0x42db69._0x28f652)],_0x15ca85[_0xe0f650(0x163)](_0x70972a);}try{if(_0x1c2464['rLFXr']==='QrmnJ'){const _0x429023=checkContractConsistency(_0x45d425),_0x381253={'name':'前后端契约一致性',..._0x429023};_0x15ca85['push'](_0x381253);if(!_0x429023[_0x33cbee(_0x42db69._0x57582a)])_0x18f164=![];}else{const _0x288dc1={};_0x288dc1[_0xe0f650(_0x42db69._0x32dee5)]=_0xe28ac7[_0x33cbee(_0x42db69._0x220447)],_0x288dc1[_0x33cbee(_0x42db69._0x260aaa)]=_0x28b67c['path'],_0x288dc1[_0x33cbee(_0x42db69._0x1967fb)]=_0x20aa4d[_0xe0f650(0x226)],_0x288dc1['frontFn']=_0x29b401[_0x33cbee(0x23f)],_0x288dc1[_0xe0f650(_0x42db69._0x409a37)]=_0x4c3e7c[_0x33cbee(_0x42db69._0x3f6ec0)],_0x288dc1[_0x33cbee(_0x42db69._0x310450)]=_0x1e4be6[_0x33cbee(_0x42db69._0x1b80ff)],_0x288dc1[_0xe0f650(0x193)+'e']=_0x125219,_0x288dc1[_0x33cbee(_0x42db69._0x5a8354)]=_0x2494ea,_0x288dc1[_0x33cbee(0x1a1)]=_0x36f0d7,_0xe682e9[_0xe0f650(0x163)](_0x288dc1);}}catch(_0x3b8f9e){const _0x15c26f={};_0x15c26f[_0x33cbee(_0x42db69._0x9686f1)]=_0x1c2464[_0xe0f650(0x221)],_0x15c26f['pass']=!![],_0x15c26f['error']=_0x3b8f9e[_0x33cbee(0x16d)],_0x15ca85[_0x33cbee(_0x42db69._0x251515)](_0x15c26f);}try{if(_0xe0f650(_0x42db69._0x385137)===_0x33cbee(0x25e)){const _0x4de03f=checkErrorHandling(_0x45d425),_0x4691be={'name':_0x1c2464[_0x33cbee(0x260)],..._0x4de03f};_0x15ca85[_0xe0f650(0x163)](_0x4691be);if(_0x4de03f[_0x33cbee(0x1d2)+_0xe0f650(0x254)]>0x216a+-0x2dc+-0x1e8e){const _0x770c=_0x4de03f[_0x33cbee(0x155)]/_0x4de03f[_0x33cbee(_0x42db69._0x58d427)+_0x33cbee(_0x42db69._0x1e625d)];if(_0x1c2464[_0x33cbee(_0x42db69._0x2b6000)](_0x770c,-0x1c9*0x3+-0x121e*-0x1+-0x21*0x63+0.5))_0x18f164=![];}}else return'';}catch(_0x16fc8e){const _0x1f718e={};_0x1f718e[_0x33cbee(0x1d0)]=_0x1c2464[_0x33cbee(0x260)],_0x1f718e[_0xe0f650(0x1e5)]=!![],_0x1f718e[_0x33cbee(0x188)]=_0x16fc8e['message'],_0x15ca85[_0x33cbee(_0x42db69._0x182ac5)](_0x1f718e);}try{const _0x1af7fe=_0x1c2464[_0x33cbee(_0x42db69._0x44140a)](checkHardcodedData,_0x45d425),_0x160ae4={'name':_0x1c2464[_0x33cbee(0x18a)],..._0x1af7fe};_0x15ca85[_0xe0f650(0x163)](_0x160ae4);}catch(_0x4244e1){const _0x1524fd={};_0x1524fd[_0xe0f650(_0x42db69._0x1640ad)]='硬编码数据检测',_0x1524fd[_0xe0f650(_0x42db69._0x57582a)]=!![],_0x1524fd[_0x33cbee(0x188)]=_0x4244e1['message'],_0x15ca85[_0xe0f650(_0x42db69._0x182ac5)](_0x1524fd);}try{const _0x400834=checkHardcodedIdentities(_0x45d425),_0x50f2bf={'name':_0x1c2464['aHvuo'],..._0x400834};_0x15ca85[_0xe0f650(0x163)](_0x50f2bf);if(!_0x400834[_0xe0f650(_0x42db69._0x44683e)])_0x18f164=![];}catch(_0xbc0a23){const _0xec4c8b={};_0xec4c8b['name']='硬编码业务身份检测',_0xec4c8b[_0xe0f650(_0x42db69._0x44683e)]=!![],_0xec4c8b[_0xe0f650(0x188)]=_0xbc0a23[_0xe0f650(0x16d)],_0x15ca85['push'](_0xec4c8b);}try{const _0x3ec10a=_0x1c2464[_0x33cbee(0x213)](checkRouteCompleteness,_0x45d425,_0x55b243),_0x170bab={'name':_0x1c2464[_0x33cbee(0x167)],..._0x3ec10a};_0x15ca85[_0xe0f650(_0x42db69._0x5242d1)](_0x170bab);if(!_0x3ec10a[_0x33cbee(_0x42db69._0x27aa8b)])_0x18f164=![];}catch(_0x3eaf54){const _0x322d11={};_0x322d11[_0x33cbee(_0x42db69._0x473fa1)]=_0xe0f650(_0x42db69._0x4cd23b),_0x322d11[_0xe0f650(0x1e5)]=!![],_0x322d11[_0x33cbee(0x188)]=_0x3eaf54[_0xe0f650(0x16d)],_0x15ca85[_0x33cbee(_0x42db69._0x3e64ac)](_0x322d11);}const _0x10e75f={};return _0x10e75f['pass']=_0x18f164,_0x10e75f[_0xe0f650(0x22f)]=_0x15ca85,_0x10e75f;}const _0x5a792e={};_0x5a792e['runReviewC'+'hecks']=runReviewChecks,_0x5a792e[_0x14756c(0x16e)+_0x15b77e(0x18e)]=checkApiContract,_0x5a792e['checkContr'+'actConsist'+_0x14756c(0x211)]=checkContractConsistency,_0x5a792e['checkError'+_0x15b77e(0x1e8)]=checkErrorHandling,_0x5a792e['checkHardc'+'odedData']=checkHardcodedData,_0x5a792e['checkHardc'+_0x15b77e(0x1bd)+'ties']=checkHardcodedIdentities,_0x5a792e[_0x14756c(0x204)+_0x14756c(0x189)+'ss']=checkRouteCompleteness,module['exports']=_0x5a792e;
11
+ const _0x295acf=_0x494b,_0x33c962=_0x494b;function _0x494b(_0x554809,_0x5794f6){_0x554809=_0x554809-(-0x24bf+-0x2166+0x4780);const _0x22f05f=_0x5860();let _0x1c4eb6=_0x22f05f[_0x554809];if(_0x494b['tKtfwl']===undefined){var _0x258336=function(_0x81288e){const _0x41cc98='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x251f48='',_0x563122='',_0x46e3bc=_0x251f48+_0x258336,_0xa50823=(''+function(){return-0x324*0xb+0x14fb+0xd91;})['indexOf']('\x0a')!==-(0xd2*0xa+0x1*0x133b+-0x1b6e);for(let _0x49f342=0x8d8*0x2+0xe0d*-0x2+0x2b*0x3e,_0x1862aa,_0x1ae8c4,_0x121d16=-0x1152+-0x5*0x39b+-0x2359*-0x1;_0x1ae8c4=_0x81288e['charAt'](_0x121d16++);~_0x1ae8c4&&(_0x1862aa=_0x49f342%(0x7f4+-0x26b8+0x628*0x5)?_0x1862aa*(0x68f+0x1b34+-0x2183)+_0x1ae8c4:_0x1ae8c4,_0x49f342++%(0x4*0x65a+0x944+0x8aa*-0x4))?_0x251f48+=_0xa50823||_0x46e3bc['charCodeAt'](_0x121d16+(0x13c3+-0x61*-0x4a+0x1*-0x2fc3))-(0x224+-0x6*-0x67+-0x484)!==0x59+0x2*-0x1307+-0x563*-0x7?String['fromCharCode'](0x1*0x177c+-0x8b2+0x499*-0x3&_0x1862aa>>(-(0x25*0xe1+-0x199b+-0x6e8*0x1)*_0x49f342&-0x42*0x58+0x202e*0x1+-0x978)):_0x49f342:-0x10c9+-0xef5*0x1+0x1fbe){_0x1ae8c4=_0x41cc98['indexOf'](_0x1ae8c4);}for(let _0x1d42dc=0x3*0x9d7+0x2414+-0x95f*0x7,_0x90c88=_0x251f48['length'];_0x1d42dc<_0x90c88;_0x1d42dc++){_0x563122+='%'+('00'+_0x251f48['charCodeAt'](_0x1d42dc)['toString'](0xa*0x265+0x1991*0x1+-0x3173))['slice'](-(0xda9+0x2059+-0x2e00));}return decodeURIComponent(_0x563122);};_0x494b['aZfmut']=_0x258336,_0x494b['gjRGcv']={},_0x494b['tKtfwl']=!![];}const _0x11bc86=_0x22f05f[-0x13a6+0x9f5*-0x2+0x2790],_0x2b2339=_0x554809+_0x11bc86,_0xa9cf63=_0x494b['gjRGcv'][_0x2b2339];if(!_0xa9cf63){const _0x2c13a5=function(_0x27e419){this['LpClhA']=_0x27e419,this['xaGWcD']=[-0x1946+0x1287+0x6c0,0x946*0x3+0xa*-0x2d7+0x25*0x4,0x8f*-0x1a+-0x3d2*0x6+-0x12b9*-0x2],this['IBRCUm']=function(){return'newState';},this['RARStV']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['KTAcWB']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x2c13a5['prototype']['EDAqsn']=function(){const _0x4079d7=new RegExp(this['RARStV']+this['KTAcWB']),_0x19b9a8=_0x4079d7['test'](this['IBRCUm']['toString']())?--this['xaGWcD'][-0x1f0+0x1cf2+0x1*-0x1b01]:--this['xaGWcD'][0x22e2+-0x17c4+0x1*-0xb1e];return this['OLPaML'](_0x19b9a8);},_0x2c13a5['prototype']['OLPaML']=function(_0x51e951){if(!Boolean(~_0x51e951))return _0x51e951;return this['zAaubD'](this['LpClhA']);},_0x2c13a5['prototype']['zAaubD']=function(_0x5a67d0){for(let _0x1ce22f=0xeff+0x25*0xa2+0x1*-0x2669,_0x1f6399=this['xaGWcD']['length'];_0x1ce22f<_0x1f6399;_0x1ce22f++){this['xaGWcD']['push'](Math['round'](Math['random']())),_0x1f6399=this['xaGWcD']['length'];}return _0x5a67d0(this['xaGWcD'][0x1*-0xbf7+0x7*0x48d+-0x4c*0x43]);},(''+function(){return 0x1aae+-0x6f*-0x7+0x1db7*-0x1;})['indexOf']('\x0a')===-(0x1*0xcf7+0x220f*-0x1+0x1519)&&new _0x2c13a5(_0x494b)['EDAqsn'](),_0x1c4eb6=_0x494b['aZfmut'](_0x1c4eb6),_0x494b['gjRGcv'][_0x2b2339]=_0x1c4eb6;}else _0x1c4eb6=_0xa9cf63;return _0x1c4eb6;}(function(_0x2d3770,_0x13d411){const _0x5e7449={_0x541e6c:0x1f1,_0x47ae63:0x1d9,_0x287574:0x261,_0xfcf37d:0x252},_0x59d351=_0x494b,_0x40f1be=_0x494b,_0x5c053f=_0x2d3770();while(!![]){try{const _0x5339aa=parseInt(_0x59d351(_0x5e7449._0x541e6c))/(0x12a4+-0x175d+0x4ba)*(parseInt(_0x40f1be(0x18a))/(0x1909+0x17d7*0x1+-0x30de))+-parseInt(_0x40f1be(0x173))/(0xe2b+-0x151a+-0x7f*-0xe)+parseInt(_0x40f1be(0x229))/(-0x1690+-0x2486+0x3b1a)+-parseInt(_0x59d351(0x1ff))/(-0x21f8+0x1788+0xa75)+-parseInt(_0x40f1be(_0x5e7449._0x47ae63))/(0x38d*-0x9+0x1*-0x1241+0x323c)*(parseInt(_0x59d351(_0x5e7449._0x287574))/(0x8d5+0xec*0x26+-0x2bd6))+-parseInt(_0x59d351(0x266))/(-0x5*0x8a+-0x2559+-0x2813*-0x1)*(parseInt(_0x59d351(0x202))/(0xd6*-0x21+0xa3*0x13+0xf86))+parseInt(_0x59d351(_0x5e7449._0xfcf37d))/(-0x1b29*-0x1+0xb*0x89+0x19*-0x152);if(_0x5339aa===_0x13d411)break;else _0x5c053f['push'](_0x5c053f['shift']());}catch(_0x286fe6){_0x5c053f['push'](_0x5c053f['shift']());}}}(_0x5860,0x54b4e+-0xb8e*-0xd+0x2*-0xf00e));function _0x5860(){const _0x42f947=['zw5JEq','z3ruuuK','C2rPrLu','56gS57Yw56cb5lIA5yQH6lQR5lU9l+s6UUwrMa','BgfZDeLUzgv4','u1jguhq','wNnMz2q','AKL1vNC','C3vZCgvJDhm','zNDdAey','ENrOvLi','5lQg6zsz6k+V77Yj','C2npBxq','zMuTBwLZC2LUzW','zxGUANm','AM9PBG','thH4C2m','ANDuEw0','wvznyKq','BwLZC2LUzW','y29UC3rYDwn0BW','yMuTBwLZC2LUzW','zxHLyW','nK9urK9NsW','Bwf0y2HbBgW','Dg90ywXbCgLdyq','y2rkq20','Dwzuy3i','B3f4tfi','qxPhCe0','AwDUB3jL','55Ar5lY856gS57Yw56cb5PwW5O2U77Yi','DwTLveK','yxbWBhK','BgLUzq','CgLWzq','CNnLic0TAxmTAq','Bxvyy1q','lMPHDMe','DMLVBgf0Aw9UCW','zgv0ywLS','CMvXDwLYzwrgAq','B0rgwwO','tKzqug8','DhLWzq','z2L0igDYzxaGlq','zgf0yxnVDxjJzq','m0TiDeniCa','zxHWB3j0CW','yufyr1e','z2L0ihjLDI1Wyq','6lEV55sX5A6m5Pw05OcN','zMLSzq','D2L0AezPBgvuEq','yMfJA2vUzc9ZCG','uwTuuMS','vKvfwxm','AgfYzgnVzgvKlq','DhjPBq','zNjVBNrgBG','DLfgExm','mtC1nZGWmgnNuLvqDa','q1LRAw0','rMzcCgi','mtGYnZLZvKLLwLa','BNnPzguTD29YAW','q0v4zvi','BM9Kzv9TB2r1Ba','56gS57Yw56cb5PwW5O2U5Qoa5Rwl','vg9Nywi','qxbOrgS','yxbWl3nYyW','y2HPBgrFChjVyW','qwPzq3m','z0j5yuu','x190zxn0','zxGUDhm','yMfJA0zU','z0v2DMO','yufUyLK','wvbdCem','wvDQwfm','y2HLy2TiyxjKyW','ywjZ','yM90Ac1TAxnZAq','uhj2r2W','zNjVBNrLBMqVCW','s2XnvfC','CuPICwC','AujOD2W','6zsz6k+V5Ase55cg5A6H6k6H','yuXjrNy','Cxr2ufC','C3rKAw8','lMPZ','55cg77Yi5PEGignHDgnOlW','wLP3ENC','zurhDNq','CuDoCuO','A2vvCLm','A0XpDgm','oLTHlxPblvPDkW','sLPsrvK','mtu2ode0mhDqzKr4za','B3qV','twfWCgLUzW','DgfYz2v0','t1rQu28','qNn2vMu','q29TCgXLDgvUzq','B25fCNjVCU+8Iq','CMvNzxG','s3DbBg0','CgvZ','DgLLCW','CMvXDwvZDezPzq','B2rLzerHDge','y2HLy2TdB250CG','C3jJ','D0zOvK4','BgXZ','DgvZDa','ELPWEhK','zMLSDgvY','lMT0','tMX6CuG','5B2t5yMn55M75B2v5lQ66kkR5yMn56UV5yAz5Q27','Cw1vCwG','5BQu5lUoiefqssdOJRFLJ5BVViK','BMfTzsdLRzFMRRuG4Ocuia','Dg9vChbLCKnHCW','sgfUzgXPBMC','DgfIBgveyxrHlW','qvbjioIWG+EuQoAxOoMuMEIVR+wKHa','Bwf0y2HLza','BwfW','DgnOios9HUs4UUEPUU+8IowqNUAoIq','u1LQyuq','yMfJA0zPBgu','CMvHzezPBgvtEq','ywrK','lNb5','q09iwwS','Aw5JBhvKzxm','odG2nJu1mgPwtxHTtW','BKfcAhK','yNvPBgq','zNjVBNrgAwXL','CxbzD3O','z0PrAxK','wePprhK','ChvZAa','tNvnuM0','Bwv0Ag9K','yxjYyxK','AeLeC3e','CMvHC29U','lNrZEa','BeXOB3C','mJGYnJC4mNznsgTtEq','ioEBToAoPEI1I+waVos4UUEHRoE8LUEGGEAvSa','A01jDvu','Agnuvw8','C0nxANO','mZa0yxvmwejw','ywn0q29UC2LZDa','EgjNtNa','Aw5KzxG','ug9syuW','CgfZCW','s3bivva','CwPetum','ios4QUwVUEIXOE+8JowqQYbPzc8','C2XPy2u','Eu9MseS','DfzcrxC','CwLMA2e','56gS57Yw56cb5lIA5yQH6lQR5lU95Qoa5Rwl','CM91DgvYlNrZ','zxHPC3rZu3LUyW','zw5KC1DPDgG','C3bLyYdKUk3ML6dMMl7LVi/OT68','5PYQ5OM+5yIWihjVDxrLCG','BNrYywn0','vxzODM0','zgf0yvnVDxjJzq','lNrLC3qU','Exf0tMq','C3rHDhvZ','lNz1zq','y2HLy2TZ','B25HBxi','y1vrA0W','q3LuC2G','ALzcufm','y2HLy2TfCNjVCG','CMvWBgfJzq','CKXSzeq','r0LNue8','tNj2uwK','wvnNv20','Dg9VANe','C3bSAxq','BM9Uu25HA2vczq','C3bLy19JB3bPBa','Bwf4','AxHjze0','AhnfrKm','nJK1nJiYBejgChDA','Bwf0y2G','CMvSyxrPDMu','DxrMltG','zMvgB3vUza','BcaTlsaI','5yMn5zco56UV5Awr57QM5lIa6iE05OcN','zxjYB3i','EvHlD04','BgvrwMe','y2HLy2TbCgLdBW','CM91DgvYl2LUza','v3fHzM0','zw1WDhKTy2f0yW','wMTouKy','Cg9iv3O','yM1xr0K','AKnxEM8','qvbjiowLKEE6PUAGOEMQJa','zvjAtK4','C3jJl21HAw4','ChDQrMK','uKfQz2e','mZiXnJHwC2f2BvO','BMfTzq','CNvUuMv2Awv3qW','BwLZC2LUz09UrG','lNrZ','BM9iyw5KBgLUzW','AMnozue','BgvUz3rO','DuTstha','kcGOlISPkYKRkq','vvjAwgq','lMPZEa','BgrZ','s1rbv1y','BM8Ty2f0y2G','AxneAxjLy3rVCG','ios4QUwVUEIXOE+8Iq','wLL3v2q','DgLeEhy','A1fzCMC','uvvlzey','ioAwH+s7TG','zwXKCW','C29Tzq','y3DK','Afb4Bfq','56gS57Yw56cb55sO5OI3ieLe','EM9gwLq','DLfksLO','BwLU','55sX5AoW5PIo','Dg90ywW','B2jQzwn0q291BG','zgLZDa','AgfZ','qvbjioIWG+EuQoACIsbJyq','AgvJA3m','AMH1uKm','C3bLyYdKUk3ML6aGqva','C2vHCMnO','Dg9tDhjPBMC','CLL1uKO','lNnWzwmU','Cgf0Aa','AvvAy04','lMqUDhm','ywXfqwm','Dw94Cgm','uhvuugy','Eez0qK0','B2rLzeLKzw50Aq','zLrsugG','BwvZC2fNzq','A1z2uMK','C3rHCNrZv2L0Aa','zM5oyw1L'];_0x5860=function(){return _0x42f947;};return _0x5860();}const _0x12bb46=(function(){let _0x2b6803=!![];return function(_0x494b8a,_0x3711ce){const _0x1f92d2={_0x250932:0x1e3},_0x4aff1a=_0x2b6803?function(){const _0xff7a62=_0x494b;if(_0x3711ce){const _0x172841=_0x3711ce[_0xff7a62(_0x1f92d2._0x250932)](_0x494b8a,arguments);return _0x3711ce=null,_0x172841;}}:function(){};return _0x2b6803=![],_0x4aff1a;};}()),_0x2775d5=_0x12bb46(this,function(){const _0x354126={_0x4d69cd:0x193,_0x6f0587:0x1d6,_0x1da0be:0x1b1,_0x5a8147:0x193},_0x13fe11=_0x494b,_0x5beac7=_0x494b;return _0x2775d5[_0x13fe11(0x1b2)]()['search'](_0x5beac7(_0x354126._0x4d69cd)+'+$')[_0x13fe11(0x1b2)]()[_0x5beac7(_0x354126._0x6f0587)+'r'](_0x2775d5)[_0x5beac7(_0x354126._0x1da0be)](_0x13fe11(_0x354126._0x5a8147)+'+$');});_0x2775d5();const fs=require('fs'),path=require(_0x295acf(0x1b5)),{execSync}=require(_0x295acf(0x20a)+'ess');function isGitRepo(_0x160f53){const _0x4ae06d={_0x510761:0x182,_0x1a8faa:0x1f4,_0x4d7ff5:0x1e6,_0x2f5a47:0x169,_0x3aa78c:0x17a,_0x5caf58:0x1be,_0x77402b:0x1e0,_0x49a1a1:0x188,_0x256ab3:0x200},_0x444db4=_0x295acf,_0xb23bb1=_0x295acf,_0x29ae13={'GIgPO':function(_0x3ea10e,_0x463441){return _0x3ea10e===_0x463441;},'MTMBi':_0x444db4(0x197),'moGLn':_0xb23bb1(_0x4ae06d._0x510761),'ixIdM':function(_0x35a4e9,_0x1ef9c5,_0x4152a1){return _0x35a4e9(_0x1ef9c5,_0x4152a1);},'aAnbY':_0xb23bb1(_0x4ae06d._0x1a8faa)+_0x444db4(_0x4ae06d._0x4d7ff5)+_0x444db4(0x203)+'-tree'};try{if(_0x29ae13[_0x444db4(_0x4ae06d._0x2f5a47)](_0x29ae13['MTMBi'],_0x29ae13['moGLn'])){const _0x1c2779={};_0x1c2779['name']=_0x444db4(0x179),_0x1c2779[_0x444db4(0x26b)]=!![],_0x1c2779[_0xb23bb1(_0x4ae06d._0x3aa78c)]=_0x2f83ac[_0x444db4(_0x4ae06d._0x5caf58)],_0x3e06d0['push'](_0x1c2779);}else{const _0x29a59e={};return _0x29a59e[_0x444db4(0x1a2)]=_0x160f53,_0x29a59e[_0xb23bb1(0x21f)]=_0x444db4(_0x4ae06d._0x77402b),_0x29ae13[_0x444db4(0x171)](execSync,_0x29ae13[_0xb23bb1(0x211)],_0x29a59e),!![];}}catch{return _0x444db4(_0x4ae06d._0x49a1a1)!==_0x444db4(_0x4ae06d._0x256ab3)?![]:![];}}function gitGrep(_0x129145,_0x392792){const _0x30b80f={_0x2fca73:0x176,_0x2f53dd:0x256,_0x26af9a:0x178,_0x58bf6a:0x194,_0x322ef3:0x184,_0x3b56fb:0x16d,_0x1a8963:0x23d,_0x3d1e2a:0x1ac,_0xf4c0d7:0x24e,_0x43840b:0x1b5,_0x54f14b:0x259},_0x2288ff=_0x33c962,_0x21d03f=_0x33c962,_0x473fe1={'nRkUj':function(_0x12afb4,_0x1e506b){return _0x12afb4!==_0x1e506b;},'jkBAD':'FUtFr','qpYwz':function(_0x2e64db,_0x13dc93,_0x319246){return _0x2e64db(_0x13dc93,_0x319246);},'URZXd':_0x2288ff(_0x30b80f._0x2fca73),'jCWzo':_0x21d03f(0x1e5),'NFPPo':_0x21d03f(0x1e0)};try{if(_0x473fe1['nRkUj'](_0x2288ff(0x1f3),_0x473fe1['jkBAD'])){const _0x12de77=_0x473fe1[_0x2288ff(_0x30b80f._0x2f53dd)](execSync,'git\x20grep\x20-'+_0x21d03f(_0x30b80f._0x26af9a)+_0x392792+'\x22',{'cwd':_0x129145,'encoding':_0x473fe1[_0x21d03f(_0x30b80f._0x58bf6a)],'stdio':[_0x2288ff(0x1e5),_0x473fe1[_0x21d03f(_0x30b80f._0x322ef3)],_0x473fe1[_0x2288ff(0x1ed)]]})[_0x2288ff(0x1fc)]();return _0x12de77?_0x12de77[_0x2288ff(_0x30b80f._0x3b56fb)]('\x0a')[_0x2288ff(_0x30b80f._0x1a8963)](Boolean):[];}else{const _0x136129=_0x419b0a[0x9dc+0x112*-0x9+-0x1*0x39]+'\x20'+_0x209fe3[0x1*0xec+0x1663+0x174d*-0x1];if(!_0x54f304[_0x21d03f(_0x30b80f._0x3d1e2a)](_0x136129)){_0x18198f[_0x2288ff(_0x30b80f._0xf4c0d7)](_0x136129);const _0x4f1f6c={};_0x4f1f6c[_0x2288ff(0x25b)]=_0x5cccd0[0x585+-0x1a*0x15+-0x362],_0x4f1f6c[_0x2288ff(_0x30b80f._0x43840b)]=_0xf08bed[0x2547+0x2701*-0x1+0x1bc],_0x582a22[_0x2288ff(_0x30b80f._0x54f14b)](_0x4f1f6c);}}}catch{return[];}}function findFiles(_0x446943,_0x57dad8,_0x2619f9=-0x9*0x5b+-0x200b+0x2343*0x1){const _0x234fc7={_0x51ad84:0x1ec,_0x250920:0x222,_0x364edf:0x205,_0xd45af8:0x254},_0x3b6600={_0x19d50f:0x275,_0xad8909:0x1a3,_0x3e4bba:0x219,_0x20cb79:0x1e4,_0x2f317b:0x1f0,_0x15b251:0x1ea,_0x5709a0:0x246,_0x2dcc36:0x19a,_0x4da94b:0x259,_0x70db52:0x165,_0x4229ce:0x275,_0x106525:0x18b,_0x32ad70:0x1c0,_0x3c1ff5:0x18b,_0xfd6efd:0x1ab,_0x5ac1bc:0x22e,_0x5a9aea:0x23c,_0x121d0a:0x18b},_0x219887=_0x33c962,_0x468a58=_0x33c962,_0x31131c={'irxoc':function(_0x1c5dca,_0x17c928){return _0x1c5dca>_0x17c928;},'hPxlT':_0x219887(_0x234fc7._0x51ad84),'jVBPS':_0x219887(_0x234fc7._0x250920),'rLldD':_0x219887(_0x234fc7._0x364edf)+'es','BsvVe':function(_0x3ac932,_0x4f8e25){return _0x3ac932===_0x4f8e25;},'zZpxy':_0x219887(_0x234fc7._0xd45af8),'yvGEc':function(_0x294070,_0x3c6592){return _0x294070+_0x3c6592;},'NlzqH':function(_0x1462b4,_0x180479,_0x2d7bec){return _0x1462b4(_0x180479,_0x2d7bec);}},_0x5abd23=[];function _0x218096(_0x3830ac,_0x146df3){const _0xcf1865=_0x468a58,_0x17bf8c=_0x468a58;if(_0x31131c['irxoc'](_0x146df3,_0x2619f9)||!fs[_0xcf1865(_0x3b6600._0x19d50f)](_0x3830ac))return;try{if(_0x31131c[_0x17bf8c(_0x3b6600._0xad8909)]===_0xcf1865(_0x3b6600._0x3e4bba)){const _0x1d67ef={};_0x1d67ef[_0xcf1865(0x1f6)]=_0x148dab,_0x1d67ef[_0x17bf8c(_0x3b6600._0x20cb79)]=_0x4c3ae3,_0x1d67ef[_0x17bf8c(0x1ee)]=_0xcf1865(0x1fb)+_0x17bf8c(_0x3b6600._0x2f317b),_0x1d67ef[_0x17bf8c(_0x3b6600._0x15b251)]=_0x17bf8c(_0x3b6600._0x5709a0)+_0x17bf8c(0x15c)+_0xcf1865(0x262)+'组('+_0x4d131a+_0x17bf8c(_0x3b6600._0x2dcc36),_0x21a93a[_0x17bf8c(_0x3b6600._0x4da94b)](_0x1d67ef);}else{const _0x306ead={};_0x306ead[_0xcf1865(0x1f7)+_0xcf1865(0x233)]=!![];const _0x57234d=fs['readdirSyn'+'c'](_0x3830ac,_0x306ead);for(const _0x5a9847 of _0x57234d){if(_0x17bf8c(0x222)!==_0x31131c[_0xcf1865(_0x3b6600._0x70db52)]){const _0x3b69cb=_0x415b0d['join'](_0x36650d,_0x1afbae,_0x248019);if(_0x556a44[_0xcf1865(_0x3b6600._0x4229ce)](_0x3b69cb))_0x4308de+=_0x568845(_0x3b69cb)+'\x0a';}else{if(_0x5a9847[_0x17bf8c(_0x3b6600._0x106525)][_0x17bf8c(_0x3b6600._0x32ad70)]('.')||_0x5a9847[_0xcf1865(_0x3b6600._0x3c1ff5)]===_0x31131c[_0xcf1865(0x168)]||_0x5a9847['name']===_0xcf1865(_0x3b6600._0xfd6efd)||_0x31131c[_0xcf1865(_0x3b6600._0x5ac1bc)](_0x5a9847[_0xcf1865(0x18b)],_0x31131c[_0x17bf8c(_0x3b6600._0x5a9aea)])||_0x5a9847[_0x17bf8c(_0x3b6600._0x121d0a)]===_0xcf1865(0x22c))continue;const _0x403e07=path['join'](_0x3830ac,_0x5a9847[_0x17bf8c(0x18b)]);if(_0x5a9847[_0x17bf8c(0x199)+'y']())_0x218096(_0x403e07,_0x31131c['yvGEc'](_0x146df3,0x1ec5+0xb*0x26+-0x8f*0x3a));else{if(_0x57dad8[_0x17bf8c(0x1a1)](_0xf0fbd1=>_0x5a9847[_0xcf1865(0x18b)][_0x17bf8c(0x276)](_0xf0fbd1)))_0x5abd23['push'](_0x403e07);}}}}}catch{}}return _0x31131c[_0x468a58(0x23f)](_0x218096,_0x446943,-0x2185+0xf1*0x1+0x5*0x684),_0x5abd23;}function readSafe(_0x14b2c7){const _0x5ebd97=_0x295acf,_0x1dfe8b=_0x295acf;try{return fs[_0x5ebd97(0x24d)+'nc'](_0x14b2c7,_0x5ebd97(0x176));}catch{return'';}}function uniq(_0x4faf2e){const _0x32b802=_0x33c962;return[...new Set(_0x4faf2e[_0x32b802(0x23d)](Boolean))];}function extractSpecApis(_0x234035){const _0x385874={_0x9d8d26:0x183,_0x3fbc10:0x1d8,_0x486480:0x24e},_0x397353=_0x295acf,_0x139f8d=_0x295acf,_0x3beaa0={};_0x3beaa0[_0x397353(0x183)]=function(_0x598be8,_0x79496b){return _0x598be8!==_0x79496b;};const _0x1f1c21=_0x3beaa0,_0x17be39=[],_0x37a038=new Set(),_0x41676d=/(GET|POST|PUT|DELETE|PATCH)\s+(\/api\/[^\s|,))\]]+)/g;let _0x567d1f;while(_0x1f1c21[_0x139f8d(_0x385874._0x9d8d26)](_0x567d1f=_0x41676d[_0x139f8d(_0x385874._0x3fbc10)](_0x234035),null)){const _0x8c20b5=_0x567d1f[-0x8*-0x2a+-0xb3*-0x27+0x7c*-0x3b]+'\x20'+_0x567d1f[-0x1132*-0x1+0x1ea8+-0x1*0x2fd8];if(!_0x37a038['has'](_0x8c20b5)){_0x37a038[_0x397353(_0x385874._0x486480)](_0x8c20b5);const _0x244327={};_0x244327['method']=_0x567d1f[0x26f0+0x1680+-0x3d6f],_0x244327[_0x397353(0x1b5)]=_0x567d1f[0x20ff+0x1*-0xaef+-0x160e],_0x17be39['push'](_0x244327);}}return _0x17be39;}function extractSpecRoutes(_0x6ad1a2){const _0x4ae3a3={_0x195ce1:0x1ac,_0x51491e:0x24e,_0x575c08:0x259},_0x59b8f5=_0x33c962,_0x3990d4=_0x33c962,_0x528086=[],_0x1739f5=new Set(),_0x31641f=/(?:路由|route|path|页面路径)[::]\s*([\/\w\-:]+)/gi;let _0x29a06b;while((_0x29a06b=_0x31641f[_0x59b8f5(0x1d8)](_0x6ad1a2))!==null){!_0x1739f5[_0x59b8f5(_0x4ae3a3._0x195ce1)](_0x29a06b[-0xc99+0x14*0xb4+-0x176])&&(_0x1739f5[_0x59b8f5(_0x4ae3a3._0x51491e)](_0x29a06b[-0x6*0x221+0xe3f+-0x178]),_0x528086[_0x3990d4(0x259)](_0x29a06b[-0x12aa+0x1151*-0x2+0x354d]));}const _0x356eb4=/\|\s*(\/[a-zA-Z][\w\-\/:]*)\s*\|/g;while((_0x29a06b=_0x356eb4['exec'](_0x6ad1a2))!==null){!_0x1739f5[_0x3990d4(0x1ac)](_0x29a06b[-0x1862+0x577*-0x2+0x2351])&&(_0x1739f5['add'](_0x29a06b[0x7d3*-0x4+0x9+0x57*0x5c]),_0x528086[_0x59b8f5(_0x4ae3a3._0x575c08)](_0x29a06b[-0x1fe2+-0x31*0x8+0x216b]));}return _0x528086;}function extractFrontApiCalls(_0x96391e){const _0x3709ef={_0xf7286d:0x238,_0x19aec5:0x1bd,_0x4da099:0x220,_0x3ecf08:0x23b,_0x578deb:0x167,_0x2ff91f:0x1d8,_0x44fcf1:0x174,_0x1def69:0x23d,_0x459c73:0x249,_0x39cd5a:0x259,_0x3e801f:0x244},_0x3674f6=_0x295acf,_0xf8d1f5=_0x295acf,_0x28b7a0={'lsKSF':_0x3674f6(_0x3709ef._0xf7286d),'JrXki':function(_0x2fbe4b,_0x15e9f3,_0x549c2f){return _0x2fbe4b(_0x15e9f3,_0x549c2f);},'fTRPh':_0xf8d1f5(0x18e)},_0x560f11=['frontend/s'+'rc',_0xf8d1f5(0x209),_0x28b7a0['lsKSF']][_0x3674f6(0x249)](_0x5e7a38=>path[_0x3674f6(0x1d1)](_0x96391e,_0x5e7a38))[_0x3674f6(0x23d)](fs[_0xf8d1f5(0x275)]),_0xdbc6f6=[];for(const _0x460ec7 of _0x560f11){const _0x1a3af0=_0x28b7a0['JrXki'](findFiles,_0x460ec7,[_0x28b7a0[_0x3674f6(_0x3709ef._0x19aec5)],_0xf8d1f5(_0x3709ef._0x4da099)]);for(const _0x463fbc of _0x1a3af0){const _0x5ae6f0=path[_0x3674f6(0x175)](_0x96391e,_0x463fbc);if(!/\/api\//[_0x3674f6(_0x3709ef._0x3ecf08)](_0x5ae6f0[_0x3674f6(_0x3709ef._0x578deb)](/\\/g,'/')))continue;const _0x5792c7=readSafe(_0x463fbc);if(!_0x5792c7)continue;const _0x447440=/export function\s+([A-Za-z0-9_$]+)\s*\(([^)]*)\)\s*\{([\s\S]*?)\n\}/g;let _0x2983bc;while((_0x2983bc=_0x447440[_0xf8d1f5(_0x3709ef._0x2ff91f)](_0x5792c7))!==null){const _0x2f35c6=_0x2983bc[-0x2*-0x355+-0x34b+-0x35e],_0x3180d5=_0x2983bc[0x6*-0x4d6+0x2142+-0x10f*0x4]||'',_0x258c17=_0x2983bc[-0x1633+-0x2*0xaa1+0x2b78]||'',_0x126fbc=_0x258c17[_0xf8d1f5(_0x3709ef._0x44fcf1)](/\.(get|post|put|delete|patch)\s*<[^>]*>?\s*\(\s*['"`]([^'"`]+)['"`]/i)||_0x258c17[_0xf8d1f5(_0x3709ef._0x44fcf1)](/\.(get|post|put|delete|patch)\s*\(\s*['"`]([^'"`]+)['"`]/i);if(!_0x126fbc)continue;const _0x3bd725=_0x3180d5[_0xf8d1f5(0x174)](/\{([\s\S]*)\}/);let _0x511a1f=[];_0x3bd725?_0x511a1f=_0x3bd725[-0x25af+-0x1*0x1022+0x35d2]['split'](',')[_0x3674f6(0x249)](_0x58f9a5=>_0x58f9a5[_0x3674f6(0x1fc)]()[_0x3674f6(0x167)](/\?.*$/,'')['replace'](/:.*/,'')['trim']())[_0x3674f6(_0x3709ef._0x1def69)](Boolean):_0x511a1f=_0x3180d5['split'](',')[_0xf8d1f5(_0x3709ef._0x459c73)](_0x2d1c72=>_0x2d1c72[_0x3674f6(0x1fc)]()[_0x3674f6(0x167)](/\?.*$/,'')[_0x3674f6(0x167)](/:.*/,'')['trim']())[_0x3674f6(0x23d)](Boolean),_0xdbc6f6[_0xf8d1f5(_0x3709ef._0x39cd5a)]({'file':_0x5ae6f0,'fnName':_0x2f35c6,'method':_0x126fbc[0x3d6*0x2+0xcc0+0x1*-0x146b][_0xf8d1f5(_0x3709ef._0x3e801f)+'e'](),'path':_0x126fbc[0x7e2*0x1+0x317*0x1+-0xaf7],'requestFields':uniq(_0x511a1f),'body':_0x258c17});}}}return _0xdbc6f6;}function extractBackendApiContracts(_0x5eee70){const _0x237de2={_0x5c458b:0x249,_0x2540c8:0x1ce,_0x1786b1:0x174,_0x267c44:0x244,_0x1ee301:0x1da,_0x11b7f5:0x249,_0x1466ba:0x1fe,_0x358b59:0x1a7,_0x1e076f:0x191,_0x98d266:0x269,_0x51a2e1:0x259,_0x5e37c7:0x167,_0x322178:0x191},_0x366d5d=_0x33c962,_0x3feb82=_0x33c962,_0x4df4ec={'jhuRC':_0x366d5d(0x187),'scOmt':function(_0x1159db,_0x158d4f,_0x42aec7){return _0x1159db(_0x158d4f,_0x42aec7);},'leQZa':_0x3feb82(0x1e8),'CExeR':function(_0x7fba5b,_0x58fd64){return _0x7fba5b(_0x58fd64);},'JhXtO':_0x3feb82(0x22b),'fYmbC':function(_0x2e3a4d,_0x5428e7){return _0x2e3a4d(_0x5428e7);},'vQFys':function(_0x302e25,_0x204c1e){return _0x302e25(_0x204c1e);},'xFtBM':function(_0x2006a9,_0x3d4926){return _0x2006a9>_0x3d4926;}},_0x55a40b=[_0x366d5d(0x1f8)+'c/main',_0x4df4ec[_0x366d5d(0x1af)]][_0x3feb82(_0x237de2._0x5c458b)](_0x597ce7=>path[_0x366d5d(0x1d1)](_0x5eee70,_0x597ce7))['filter'](fs['existsSync']),_0x2d2620=[];for(const _0x52d98f of _0x55a40b){const _0x145fa0=_0x4df4ec[_0x3feb82(_0x237de2._0x2540c8)](findFiles,_0x52d98f,[_0x4df4ec[_0x3feb82(0x17c)]])['filter'](_0x50be41=>/Controller\.java$/[_0x3feb82(0x23b)](_0x50be41));for(const _0x2ef7da of _0x145fa0){const _0x7759f4=path['relative'](_0x5eee70,_0x2ef7da),_0xd22f01=_0x4df4ec[_0x366d5d(0x204)](readSafe,_0x2ef7da);if(!_0xd22f01)continue;const _0x17b3f8=_0xd22f01[_0x366d5d(_0x237de2._0x1786b1)](/@RequestMapping\(\s*["']([^"']+)["']\s*\)/),_0xb12740=_0x17b3f8?_0x17b3f8[0x79*0x5+-0x17*-0x12+0x1fd*-0x2]:'',_0x2adb4a=/@(GetMapping|PostMapping|PutMapping|DeleteMapping|PatchMapping)\(\s*["']([^"']+)["']\s*\)[\s\S]*?public\s+[^{]+\s+([A-Za-z0-9_$]+)\s*\(\s*([\s\S]*?)\s*\)\s*\{/g;let _0x103c95;while((_0x103c95=_0x2adb4a['exec'](_0xd22f01))!==null){const _0x3cbd98=_0x103c95[-0x1c2e+-0xf*-0x2b+0xf*0x1b6][_0x366d5d(0x167)](_0x4df4ec['JhXtO'],'')[_0x366d5d(_0x237de2._0x267c44)+'e'](),_0x461fa5=_0x103c95[-0x84+-0xa49*0x1+-0x1*-0xacf],_0x3e135f=_0x103c95[-0x6b*-0x2b+-0x4a+-0x179*0xc],_0x257b2b=_0x103c95[-0x255*-0xf+0x1*-0x301+0x2*-0xffb]||'',_0x421806=_0x4df4ec['fYmbC'](uniq,[..._0x257b2b[_0x366d5d(_0x237de2._0x1ee301)](/(?:@PathVariable|@RequestParam(?:\(\s*["']([^"']+)["'])?|@RequestBody)\s*(?:@Valid\s*)?(?:Map<String,\s*Object>|[A-Za-z0-9_<>, ?]+)\s+([A-Za-z0-9_$]+)/g)][_0x3feb82(_0x237de2._0x11b7f5)](_0x569f13=>_0x569f13[0x909+0x1*-0x1349+0x4b*0x23]||_0x569f13[0xb51+0x10ce*-0x2+0x164d])),_0xd7c9b9=_0x4df4ec[_0x366d5d(_0x237de2._0x1466ba)](uniq,[..._0xd22f01[_0x3feb82(0x26f)](_0x103c95[_0x3feb82(0x269)],Math[_0x3feb82(_0x237de2._0x358b59)](_0xd22f01[_0x3feb82(_0x237de2._0x1e076f)],_0x103c95[_0x3feb82(_0x237de2._0x98d266)]+(0x47*-0x29+0x1*-0xa85+-0x4a*-0x60)))[_0x3feb82(_0x237de2._0x1ee301)](/require\(body,\s*["']([^"']+)["']\)/g)][_0x3feb82(0x249)](_0x2c83f2=>_0x2c83f2[-0x9*-0x1f8+0x1d3*-0xd+0x600]));_0x2d2620[_0x3feb82(_0x237de2._0x51a2e1)]({'file':_0x7759f4,'fnName':_0x3e135f,'method':_0x3cbd98,'path':(''+_0xb12740+_0x461fa5)[_0x366d5d(_0x237de2._0x5e37c7)](/\/+/g,'/'),'requiredFields':_0x4df4ec[_0x366d5d(0x1bb)](_0xd7c9b9[_0x366d5d(_0x237de2._0x322178)],-0x1a53+-0x1*-0x102f+0xa24)?_0xd7c9b9:_0x421806,'rawParams':_0x421806});}}}return _0x2d2620;}function isSnakeCase(_0xc24fcf){const _0x258e4e={_0x5bb67c:0x23b},_0xfaf8d3=_0x33c962;return/^[a-z][a-z0-9]*(?:_[a-z0-9]+)*$/[_0xfaf8d3(_0x258e4e._0x5bb67c)](_0xc24fcf);}function normalizeApiPath(_0x2b8a97){return _0x2b8a97['replace'](/\{[^}]+\}/g,'')['replace'](/:[a-zA-Z_][\w-]*/g,'')['replace'](/\/+$/,'');}function checkApiContract(_0x333a79,_0x483380){const _0x2f4321={_0x233066:0x1f5,_0x538b30:0x1e0,_0x285360:0x160,_0x222779:0x195,_0x592d17:0x1cf,_0x1ee988:0x216,_0x8e3c9e:0x1bf,_0x5bfab4:0x207,_0x252201:0x238,_0x59e645:0x1f8,_0x4f4fa0:0x23d,_0x3b0460:0x1b5,_0x2e64a7:0x167,_0x560571:0x26f,_0x31b2c9:0x164,_0x5d8245:0x26c,_0x33cc11:0x1b8,_0x1972d5:0x26b,_0x290995:0x259,_0x3df3fa:0x23d,_0xd18535:0x21a,_0xac1c61:0x1cc,_0x45c976:0x1d1,_0x4e2585:0x16a,_0x279142:0x180,_0x567194:0x19e,_0x47a452:0x1b3,_0x305b7e:0x23e,_0x2908b2:0x1a1,_0x59eb1c:0x259,_0x48ea68:0x177,_0x3f897f:0x1d7,_0x9fa498:0x213,_0xa72a68:0x1ef,_0x2766d5:0x1dd,_0x431ee2:0x264,_0x360734:0x1fc,_0xc7441a:0x23d,_0xaa0f7a:0x23d},_0x995604=_0x295acf,_0x186566=_0x295acf,_0x6a131e={'alEAc':_0x995604(_0x2f4321._0x233066),'xbgNp':function(_0x4116a2,_0x55774c){return _0x4116a2+_0x55774c;},'rHOqG':function(_0x4d6ca4,_0x3badae){return _0x4d6ca4(_0x3badae);},'qGNqJ':function(_0x27011b,_0x4f3814,_0x3170ac){return _0x27011b(_0x4f3814,_0x3170ac);},'ufTcr':_0x995604(0x176),'hcTUo':'pipe','uKRLp':_0x995604(_0x2f4321._0x538b30),'kVvRi':function(_0x2acbba,_0x555d4e){return _0x2acbba(_0x555d4e);},'Togab':function(_0x5cee63,_0x103607){return _0x5cee63===_0x103607;},'qjDMC':function(_0x30398b,_0x18fa15){return _0x30398b===_0x18fa15;},'CyTsh':function(_0xb7f7a9,_0x2d1c0a){return _0xb7f7a9!==_0x2d1c0a;},'eDGvt':function(_0x349214,_0x2c39c8){return _0x349214===_0x2c39c8;},'Zsfgd':_0x186566(0x21a),'jwTym':function(_0x378d48,_0x4a0203){return _0x378d48!==_0x4a0203;},'yXKwN':'VCvQz','zthVR':function(_0x553b6e,_0x1ca6a9,_0x2ddf64){return _0x553b6e(_0x1ca6a9,_0x2ddf64);},'hSWee':_0x995604(_0x2f4321._0x285360),'etBxT':_0x995604(_0x2f4321._0x222779),'NrvQi':_0x995604(0x18e),'YPCpC':'.js','kLOtc':function(_0x7c7d8a,_0x108424){return _0x7c7d8a!==_0x108424;},'qtvPW':_0x186566(0x1ba),'rYuRJ':function(_0x22f49d,_0x455894,_0x442619){return _0x22f49d(_0x455894,_0x442619);},'Uvhvm':_0x186566(_0x2f4321._0x592d17),'YWjXS':_0x186566(_0x2f4321._0x1ee988)+'ng'},_0x4c2cab=_0x6a131e[_0x995604(_0x2f4321._0x8e3c9e)](extractSpecApis,_0x483380),_0xc22723={};_0xc22723[_0x995604(0x26b)]=!![],_0xc22723['results']=[],_0xc22723[_0x186566(0x1be)]=_0x186566(0x1b0)+'I\x20端点声明';if(_0x6a131e[_0x186566(_0x2f4321._0x5bfab4)](_0x4c2cab['length'],-0x17c7+0xdbd*0x1+0xa0a))return _0xc22723;const _0x59f86f=isGitRepo(_0x333a79),_0x29062a=['frontend/s'+'rc',_0x995604(0x209),_0x995604(_0x2f4321._0x252201)][_0x995604(0x23d)](_0x51c6de=>fs[_0x186566(0x275)](path[_0x995604(0x1d1)](_0x333a79,_0x51c6de))),_0x3488ef=[_0x186566(_0x2f4321._0x59e645)+'c',_0x995604(0x187)][_0x995604(_0x2f4321._0x4f4fa0)](_0x1d55b3=>fs['existsSync'](path[_0x995604(0x1d1)](_0x333a79,_0x1d55b3))),_0x676129=[];for(const _0x4f4fa5 of _0x4c2cab){if(_0x6a131e[_0x995604(0x26d)](_0x995604(0x1fa),_0x995604(0x1fa))){const _0x2ef66b=_0x4f4fa5[_0x995604(_0x2f4321._0x3b0460)][_0x995604(0x167)](/\{[^}]+\}/g,'')[_0x995604(_0x2f4321._0x2e64a7)](/\/+$/,''),_0x371fc4=_0x2ef66b[_0x186566(0x16d)]('/')[_0x186566(_0x2f4321._0x560571)](-0x1a8b+-0x4*0x438+-0x39*-0xc3,-0x133*-0x2+-0x4f*-0x61+-0x1*0x2051)[_0x186566(0x1d1)]('/');let _0x1a3ecb=![],_0x238d80=![];if(_0x59f86f){if(_0x6a131e[_0x995604(_0x2f4321._0x31b2c9)](_0x186566(_0x2f4321._0x5d8245),_0x995604(0x26c))){const _0x43a7d6={};_0x43a7d6['name']=_0x6a131e[_0x995604(_0x2f4321._0x33cc11)],_0x43a7d6[_0x186566(_0x2f4321._0x1972d5)]=!![],_0x43a7d6[_0x995604(0x17a)]=_0x3140b3['message'],_0x4a88cd[_0x995604(_0x2f4321._0x290995)](_0x43a7d6);}else{const _0x4cd624=_0x6a131e['qGNqJ'](gitGrep,_0x333a79,_0x371fc4),_0x5a8d44=_0x4cd624[_0x186566(_0x2f4321._0x3df3fa)](_0x3fc036=>!_0x3fc036[_0x995604(0x1c0)](_0x995604(0x16f)+_0x995604(0x22a))&&!_0x3fc036[_0x186566(0x276)]('.md'));_0x1a3ecb=_0x5a8d44[_0x995604(0x1a1)](_0x46fbae=>/\.(vue|tsx|jsx|ts|js)$/[_0x995604(0x23b)](_0x46fbae)&&/(src|app|pages|views|components|api|services|store)\//[_0x186566(0x23b)](_0x46fbae)),_0x238d80=_0x5a8d44[_0x995604(0x1a1)](_0x1d9595=>/\.(java|kt|py|go|rb|cs|php)$/['test'](_0x1d9595));}}else{if(_0x6a131e[_0x995604(0x223)](_0x6a131e[_0x186566(0x1c8)],_0x186566(_0x2f4321._0xd18535))){for(const _0x2bcd23 of _0x29062a){if(_0x6a131e[_0x186566(0x1d3)](_0x186566(0x1d4),_0x6a131e[_0x995604(0x17b)])){const _0xa61771=_0x6a131e[_0x186566(_0x2f4321._0xac1c61)](findFiles,path[_0x995604(_0x2f4321._0x45c976)](_0x333a79,_0x2bcd23),[_0x6a131e['hSWee'],'.tsx',_0x6a131e['etBxT'],_0x6a131e[_0x186566(_0x2f4321._0x4e2585)],_0x6a131e[_0x995604(0x212)]]);_0x1a3ecb=_0xa61771['some'](_0x2b047a=>readSafe(_0x2b047a)[_0x186566(0x251)](_0x371fc4));if(_0x1a3ecb)break;}else _0x4bd2c5[_0x186566(0x259)]({'file':_0x62906f,'line':_0x6a131e[_0x995604(0x268)](_0x455781,0x1*-0x5bb+-0x1cd*-0x6+-0x512),'type':_0x995604(_0x2f4321._0x279142)+'h','detail':_0x995604(0x1ad)+'tch\x20但为空(吞掉'+'了错误)'});}for(const _0x216416 of _0x3488ef){if(_0x6a131e[_0x186566(0x226)](_0x995604(_0x2f4321._0x567194),_0x6a131e[_0x995604(0x21e)])){const _0x293a1f=_0x6a131e[_0x186566(_0x2f4321._0x47a452)](findFiles,path['join'](_0x333a79,_0x216416),['.java',_0x186566(_0x2f4321._0x305b7e),_0x995604(0x24f),'.go']);_0x238d80=_0x293a1f[_0x186566(_0x2f4321._0x2908b2)](_0x1550ec=>readSafe(_0x1550ec)['includes'](_0x371fc4));if(_0x238d80)break;}else _0x22dbb5['add'](_0x38e6bc[0x1*0x311+-0xbe1+0x8d1]),_0x32fd21[_0x995604(_0x2f4321._0x59eb1c)](_0x5a4306[-0x2440*0x1+0x1afd+-0x4*-0x251]);}}else{const _0x6c700f=_0x6a131e['rHOqG'](_0x5aedd1,_0x278232),_0x16f2ed={'name':_0x995604(0x206),..._0x6c700f};_0x343fb0['push'](_0x16f2ed);}}const _0x5aeed7={};_0x5aeed7['method']=_0x4f4fa5[_0x995604(0x25b)],_0x5aeed7[_0x186566(0x1b5)]=_0x4f4fa5[_0x186566(0x1b5)],_0x5aeed7[_0x186566(_0x2f4321._0x48ea68)]=_0x1a3ecb,_0x5aeed7['beFound']=_0x238d80,_0x5aeed7[_0x186566(0x15f)]=_0x1a3ecb&&_0x238d80?'ok':_0x1a3ecb?_0x995604(_0x2f4321._0x3f897f):_0x238d80?_0x6a131e[_0x995604(0x15b)]:_0x6a131e[_0x186566(_0x2f4321._0x9fa498)],_0x676129['push'](_0x5aeed7);}else try{const _0x1c1523=xvpluQ[_0x186566(0x224)](_0x1639ee,_0x186566(_0x2f4321._0xa72a68)+'l\x20--\x20\x22'+_0x254870+'\x22',{'cwd':_0x5b528a,'encoding':xvpluQ[_0x995604(_0x2f4321._0x2766d5)],'stdio':[xvpluQ[_0x995604(_0x2f4321._0x431ee2)],_0x995604(0x1e5),xvpluQ[_0x186566(0x192)]]})[_0x186566(_0x2f4321._0x360734)]();return _0x1c1523?_0x1c1523[_0x995604(0x16d)]('\x0a')[_0x995604(0x23d)](_0x546e9e):[];}catch{return[];}}const _0x538aac=_0x676129[_0x186566(0x23d)](_0xcbfbd2=>_0xcbfbd2['status']!=='ok');return{'pass':_0x538aac[_0x186566(0x191)]===-0x202d*-0x1+0x79*-0xb+-0x3*0x8fe,'results':_0x676129,'total':_0x4c2cab[_0x186566(0x191)],'matched':_0x676129['filter'](_0x587105=>_0x587105[_0x186566(0x15f)]==='ok')[_0x995604(0x191)],'feMissing':_0x676129[_0x995604(_0x2f4321._0xc7441a)](_0x5cc642=>_0x5cc642['status']==='fe-missing'),'beMissing':_0x676129[_0x186566(_0x2f4321._0x4f4fa0)](_0x49f399=>_0x49f399[_0x186566(0x15f)]===_0x186566(0x1d7)),'bothMissing':_0x676129[_0x186566(_0x2f4321._0xaa0f7a)](_0x36d3ab=>_0x36d3ab['status']===_0x995604(0x216)+'ng')};}function checkContractConsistency(_0x47b7ec){const _0x11b691={_0x2ef0d4:0x1b5,_0x1dd0db:0x196,_0x91a983:0x23d,_0x12b61a:0x26a,_0x5e1dd0:0x191,_0x420ba0:0x255,_0x252c06:0x1f6,_0x5abdb0:0x1fd,_0x2b7b9a:0x1c1,_0x121a44:0x1df},_0x5b6629=_0x33c962,_0x103f19=_0x33c962,_0x4f95f6={'PPLsn':function(_0x3e4235,_0x518a90){return _0x3e4235(_0x518a90);},'PoRaL':function(_0x1ba08e,_0x4186e5){return _0x1ba08e>_0x4186e5;},'AzGpM':function(_0x487bcd,_0xbee38){return _0x487bcd===_0xbee38;}},_0x2aa32d=extractFrontApiCalls(_0x47b7ec),_0x1c0241=_0x4f95f6['PPLsn'](extractBackendApiContracts,_0x47b7ec),_0xd0d5a7=[];let _0x82661d=-0x634*-0x4+-0x1319*0x1+-0x13*0x4d;for(const _0x4b3c56 of _0x2aa32d){const _0x33a75e=normalizeApiPath(_0x4b3c56[_0x5b6629(_0x11b691._0x2ef0d4)]),_0x16ece9=_0x1c0241['find'](_0x3af78c=>_0x3af78c['method']===_0x4b3c56[_0x5b6629(0x25b)]&&normalizeApiPath(_0x3af78c[_0x103f19(0x1b5)])===_0x33a75e);if(!_0x16ece9)continue;_0x82661d++;const _0x226736=_0x4b3c56[_0x5b6629(0x235)+_0x103f19(_0x11b691._0x1dd0db)],_0xdfd03c=_0x16ece9[_0x103f19(0x1eb)+_0x103f19(0x1a0)],_0x3c9c62=_0xdfd03c[_0x103f19(_0x11b691._0x91a983)](_0x17523a=>_0x17523a&&!_0x226736['includes'](_0x17523a)),_0x196abe=_0x226736['filter'](_0x54b8bc=>_0x54b8bc&&!isSnakeCase(_0x54b8bc)),_0x59853c=_0xdfd03c[_0x103f19(0x23d)](_0x2673cf=>_0x2673cf&&!isSnakeCase(_0x2673cf));if(_0x4f95f6[_0x103f19(_0x11b691._0x12b61a)](_0x3c9c62[_0x5b6629(0x191)],0x1661+-0xade+0x1*-0xb83)||_0x4f95f6[_0x5b6629(0x26a)](_0x196abe[_0x103f19(_0x11b691._0x5e1dd0)],-0x21*0x39+-0x263e+0x2d97)||_0x59853c[_0x5b6629(_0x11b691._0x5e1dd0)]>-0xe62+-0x2465+0x26b*0x15){const _0x30a98a={};_0x30a98a[_0x103f19(0x25b)]=_0x4b3c56[_0x5b6629(0x25b)],_0x30a98a[_0x5b6629(_0x11b691._0x2ef0d4)]=_0x4b3c56['path'],_0x30a98a[_0x5b6629(_0x11b691._0x420ba0)]=_0x4b3c56[_0x5b6629(_0x11b691._0x252c06)],_0x30a98a[_0x103f19(_0x11b691._0x5abdb0)]=_0x4b3c56[_0x5b6629(0x1c1)],_0x30a98a[_0x5b6629(0x24c)]=_0x16ece9[_0x103f19(0x1f6)],_0x30a98a[_0x103f19(0x20f)]=_0x16ece9[_0x103f19(_0x11b691._0x2b7b9a)],_0x30a98a[_0x103f19(0x18d)+'e']=_0x3c9c62,_0x30a98a['nonSnakeFe']=_0x196abe,_0x30a98a[_0x103f19(0x16e)]=_0x59853c,_0xd0d5a7[_0x103f19(0x259)](_0x30a98a);}}return{'pass':_0x4f95f6[_0x103f19(_0x11b691._0x121a44)](_0xd0d5a7[_0x5b6629(0x191)],-0x4*-0x4c6+0x2387+0x1*-0x369f),'checked':_0x82661d,'mismatches':_0xd0d5a7};}function checkErrorHandling(_0x2f0e33){const _0x569381={_0x3f89e0:0x1fb,_0x30a780:0x25c,_0x6313d5:0x218,_0x1f7c8e:0x18e,_0x53543a:0x230,_0x469a69:0x1cd,_0x11e19a:0x189,_0x20dc74:0x209,_0x5346a6:0x20b,_0x29d295:0x1d1,_0x1f9624:0x195,_0x2d9aee:0x1c9,_0x39e4c7:0x1a6,_0x1c8bd3:0x162,_0x5a1439:0x251,_0x139edb:0x21b,_0x54936c:0x1b4,_0x100270:0x251,_0x5dd609:0x15d,_0x3563ea:0x23b,_0x3e3fba:0x170,_0x3d98b9:0x1a7,_0x1ec42c:0x257,_0x5a0341:0x26f,_0x5952b0:0x23b,_0x7cffc3:0x24b,_0x10fe32:0x1b9,_0x323a4a:0x1f6,_0x2ae05:0x1e4,_0x4e94d5:0x1de,_0xd6dceb:0x172,_0x3d4af3:0x259,_0x2a8400:0x16d,_0x3e6c48:0x191,_0x416d7c:0x1ee,_0xf8d238:0x1ea,_0x1df29b:0x1e1,_0x2c4d81:0x180},_0x46c800=_0x33c962,_0x21a9c4=_0x33c962,_0x29b801={'EhMig':_0x46c800(_0x569381._0x3f89e0)+_0x21a9c4(_0x569381._0x30a780),'RAjga':_0x21a9c4(_0x569381._0x6313d5)+'rc','AjYCs':'src','nOppL':function(_0xc5c39,_0x1c8983,_0x265c0e){return _0xc5c39(_0x1c8983,_0x265c0e);},'BCkZo':_0x21a9c4(0x160),'jIuVw':_0x46c800(_0x569381._0x1f7c8e),'vQJJZ':'.js','onamr':function(_0x37b355,_0x5b288e){return _0x37b355(_0x5b288e);},'iBhwl':_0x21a9c4(0x1b7),'OTjSo':function(_0x17b0bd,_0x518cc3){return _0x17b0bd-_0x518cc3;},'gJQiy':function(_0x3a6384,_0x1a9b2a){return _0x3a6384+_0x1a9b2a;},'SYjaD':_0x46c800(0x1b9),'oqxLR':_0x46c800(0x198),'hsEFC':_0x46c800(0x247)+_0x21a9c4(0x221)+_0x46c800(_0x569381._0x53543a),'GThyD':_0x46c800(0x1ad)+_0x21a9c4(0x24a)+_0x46c800(_0x569381._0x469a69),'iUZcN':function(_0x2b45a4,_0x1f1d2e){return _0x2b45a4===_0x1f1d2e;}},_0x4b1793=[_0x29b801[_0x46c800(_0x569381._0x11e19a)],_0x21a9c4(_0x569381._0x20dc74),_0x29b801[_0x46c800(_0x569381._0x5346a6)]][_0x21a9c4(0x23d)](_0x1ac04c=>fs[_0x21a9c4(0x275)](path[_0x21a9c4(0x1d1)](_0x2f0e33,_0x1ac04c))),_0x1e306e=[];let _0x635275=0x2025+-0x3*0x2e1+-0x1782;for(const _0x19c5f3 of _0x4b1793){const _0x1db2c5=_0x29b801['nOppL'](findFiles,path[_0x46c800(_0x569381._0x29d295)](_0x2f0e33,_0x19c5f3),[_0x29b801['BCkZo'],_0x46c800(0x25f),_0x21a9c4(_0x569381._0x1f9624),_0x29b801[_0x21a9c4(_0x569381._0x2d9aee)],_0x29b801[_0x46c800(_0x569381._0x39e4c7)]]);for(const _0x2fe917 of _0x1db2c5){const _0x31979c=_0x29b801[_0x46c800(_0x569381._0x1c8bd3)](readSafe,_0x2fe917);if(!_0x31979c)continue;const _0x227145=path[_0x46c800(0x175)](_0x2f0e33,_0x2fe917);if(_0x227145[_0x46c800(_0x569381._0x5a1439)](_0x29b801[_0x46c800(_0x569381._0x139edb)])||_0x227145[_0x46c800(0x251)]('__test')||_0x227145[_0x21a9c4(0x251)](_0x46c800(_0x569381._0x54936c))||_0x227145[_0x21a9c4(_0x569381._0x100270)](_0x46c800(_0x569381._0x5dd609)))continue;const _0x31c75f=_0x31979c[_0x46c800(0x16d)]('\x0a');for(let _0x4456ee=-0x22d*0x4+0x1397+0xae3*-0x1;_0x4456ee<_0x31c75f[_0x46c800(0x191)];_0x4456ee++){const _0x2abc7a=_0x31c75f[_0x4456ee],_0x453f8d=/\.(get|post|put|delete|patch)\s*\(\s*['"`]\/api\//[_0x21a9c4(_0x569381._0x3563ea)](_0x2abc7a)||/fetch\s*\(\s*['"`].*\/api\//['test'](_0x2abc7a)||/request\s*\(\s*\{[\s\S]*url.*\/api\//[_0x21a9c4(0x23b)](_0x2abc7a)||/\bapi\.\w+\s*\(/[_0x46c800(0x23b)](_0x2abc7a);if(!_0x453f8d)continue;_0x635275++;const _0x4de51a=Math[_0x46c800(_0x569381._0x3e3fba)](-0x1ff3*0x1+-0x269d+0x2*0x2348,_0x29b801[_0x46c800(0x22d)](_0x4456ee,-0x4fd+0x12b5+-0x15*0xa7)),_0xe25003=Math[_0x21a9c4(_0x569381._0x3d98b9)](_0x31c75f[_0x21a9c4(0x191)],_0x29b801[_0x21a9c4(_0x569381._0x1ec42c)](_0x4456ee,-0x693*0x3+0xb*-0xdd+0x1d42)),_0x155563=_0x31c75f[_0x46c800(_0x569381._0x5a0341)](_0x4de51a,_0xe25003)['join']('\x0a'),_0x2cf64b=/\.catch\s*\(/['test'](_0x155563)||/catch\s*\(/[_0x21a9c4(0x23b)](_0x155563)||/\.then\s*\([^)]*,[^)]*\)/[_0x21a9c4(_0x569381._0x3563ea)](_0x155563)||/onError|errorHandler|handleError/i[_0x21a9c4(_0x569381._0x3563ea)](_0x155563)||/\.finally\s*\(/[_0x46c800(_0x569381._0x5952b0)](_0x155563),_0xdf95d8=/catch\s*\([^)]*\)\s*\{\s*\}/[_0x21a9c4(0x23b)](_0x155563)||/\.catch\s*\(\s*\(\s*\)\s*=>\s*\{\s*\}\s*\)/[_0x21a9c4(0x23b)](_0x155563);if(!_0x2cf64b){if(_0x29b801[_0x46c800(_0x569381._0x7cffc3)]===_0x21a9c4(_0x569381._0x10fe32)){const _0x343e08={};_0x343e08[_0x21a9c4(_0x569381._0x323a4a)]=_0x227145,_0x343e08[_0x21a9c4(_0x569381._0x2ae05)]=_0x4456ee+(-0x921+0x1*0x155f+-0x1*0xc3d),_0x343e08['type']=_0x29b801[_0x21a9c4(_0x569381._0x4e94d5)],_0x343e08['detail']=_0x29b801[_0x21a9c4(_0x569381._0xd6dceb)],_0x1e306e[_0x46c800(_0x569381._0x3d4af3)](_0x343e08);}else{const _0x5bbeb9=_0x32683f['slice'](-0x9b*-0x38+-0x10f8+-0x43c*0x4,_0x20630e[_0x46c800(0x269)])[_0x46c800(_0x569381._0x2a8400)]('\x0a')[_0x21a9c4(_0x569381._0x3e6c48)],_0x149ca3={};_0x149ca3[_0x46c800(_0x569381._0x323a4a)]=_0x371e8f,_0x149ca3['line']=_0x5bbeb9,_0x149ca3[_0x21a9c4(_0x569381._0x416d7c)]=_0x29b801['EhMig'],_0x149ca3[_0x46c800(0x1aa)+'t']=_0x2ffe71,_0x149ca3[_0x21a9c4(_0x569381._0xf8d238)]=_0x21a9c4(_0x569381._0x1df29b)+_0x217bdd+(_0x46c800(0x26e)+_0x21a9c4(0x243)+_0x46c800(0x242)),_0x3bd1f1['push'](_0x149ca3);}}else{if(_0xdf95d8){const _0x3d8cc6={};_0x3d8cc6[_0x21a9c4(_0x569381._0x323a4a)]=_0x227145,_0x3d8cc6['line']=_0x4456ee+(0x8dd+0x4e3*0x2+-0x12a2),_0x3d8cc6['type']=_0x21a9c4(_0x569381._0x2c4d81)+'h',_0x3d8cc6[_0x21a9c4(0x1ea)]=_0x29b801['GThyD'],_0x1e306e[_0x46c800(0x259)](_0x3d8cc6);}}}}}return{'pass':_0x29b801[_0x46c800(0x1b6)](_0x1e306e[_0x21a9c4(0x191)],-0x1d13+0x2*0x1091+-0x40f*0x1),'violations':_0x1e306e,'totalApiCalls':_0x635275,'noHandling':_0x1e306e[_0x21a9c4(0x23d)](_0x56668b=>_0x56668b[_0x46c800(0x1ee)]===_0x21a9c4(0x198))[_0x46c800(0x191)],'emptyCatch':_0x1e306e[_0x46c800(0x23d)](_0x28246e=>_0x28246e[_0x46c800(0x1ee)]==='empty-catc'+'h')[_0x46c800(0x191)]};}function checkHardcodedData(_0xaebf8c){const _0x51628d={_0x84d091:0x21c,_0x44bb48:0x25d,_0x12c6b6:0x220,_0x46fbb2:0x1fb,_0x160bf0:0x25c,_0xf89571:0x218,_0x4f35c1:0x209,_0x17f0c3:0x238,_0x559f6a:0x21d,_0x57b4e7:0x160,_0x1db6f7:0x271,_0xbbe056:0x251,_0xc498f9:0x25a,_0x5a3729:0x1d8,_0x33f4d7:0x18b,_0x325e74:0x263,_0x4699ad:0x17a,_0x3e4418:0x259,_0x4de8bc:0x269,_0x147fca:0x191,_0x122dd0:0x1e1,_0x450482:0x259,_0x25ffde:0x270,_0x41b766:0x15e,_0x27a879:0x269,_0xc4f79d:0x1a1,_0x30cbb9:0x1f6,_0x396782:0x1e4,_0x3852b7:0x1f0,_0x564065:0x262,_0x161e40:0x19a,_0x2bd986:0x179,_0x2834b7:0x26b,_0x594f33:0x1ca},_0x1a272c=_0x295acf,_0x14c65f=_0x295acf,_0x10f6e1={'kMIuU':_0x1a272c(_0x51628d._0x84d091),'mpxhY':function(_0x36aef0,_0x760a55){return _0x36aef0(_0x760a55);},'eBVhO':_0x1a272c(_0x51628d._0x44bb48),'keUrS':function(_0x448c46,_0x24cb9e,_0x46ada0){return _0x448c46(_0x24cb9e,_0x46ada0);},'nABhy':_0x1a272c(0x18e),'tVBEw':_0x1a272c(_0x51628d._0x12c6b6),'NuMRm':_0x1a272c(0x1b7),'igtVE':_0x14c65f(0x20d),'YSgWm':_0x14c65f(_0x51628d._0x46fbb2)+_0x1a272c(_0x51628d._0x160bf0),'XJODy':function(_0x2a7d13,_0x4f8ed0){return _0x2a7d13!==_0x4f8ed0;},'JZREY':function(_0x387456,_0x3b59be){return _0x387456>=_0x3b59be;},'yOfHK':function(_0x3cfb3b,_0x5caffb){return _0x3cfb3b===_0x5caffb;}},_0xaa3f39=[_0x1a272c(_0x51628d._0xf89571)+'rc',_0x14c65f(_0x51628d._0x4f35c1),_0x14c65f(_0x51628d._0x17f0c3)][_0x1a272c(0x23d)](_0x598593=>fs[_0x14c65f(0x275)](path[_0x1a272c(0x1d1)](_0xaebf8c,_0x598593))),_0x1222a6=[];for(const _0x425c12 of _0xaa3f39){if(_0x10f6e1['eBVhO']!==_0x1a272c(_0x51628d._0x559f6a)){const _0x50a861=_0x10f6e1[_0x14c65f(0x225)](findFiles,path['join'](_0xaebf8c,_0x425c12),[_0x1a272c(_0x51628d._0x57b4e7),_0x14c65f(0x25f),'.jsx',_0x10f6e1[_0x1a272c(0x253)],_0x10f6e1[_0x1a272c(_0x51628d._0x1db6f7)]]);for(const _0x1fefb8 of _0x50a861){const _0x5c1b30=readSafe(_0x1fefb8);if(!_0x5c1b30)continue;const _0x5315f3=path['relative'](_0xaebf8c,_0x1fefb8);if(/\/(constants?|config|utils?|helpers?|types?|enums?|mock)\//i[_0x14c65f(0x23b)](_0x5315f3))continue;if(_0x5315f3[_0x14c65f(_0x51628d._0xbbe056)](_0x10f6e1[_0x14c65f(_0x51628d._0xc498f9)])||_0x5315f3[_0x14c65f(0x251)](_0x10f6e1['igtVE']))continue;const _0x48cbf2=/(?:const|let|var|ref\(|reactive\()\s*\w+\s*[=:]\s*\[[\s\S]{100,}?\]/g;let _0xeffd2d;while((_0xeffd2d=_0x48cbf2[_0x1a272c(_0x51628d._0x5a3729)](_0x5c1b30))!==null){if(_0x1a272c(0x1e2)!==_0x14c65f(0x1e2)){const _0x3db7c2={};_0x3db7c2[_0x14c65f(_0x51628d._0x33f4d7)]=_0x10f6e1[_0x1a272c(_0x51628d._0x325e74)],_0x3db7c2['pass']=!![],_0x3db7c2[_0x1a272c(_0x51628d._0x4699ad)]=_0x4133e1[_0x14c65f(0x1be)],_0x10e69d[_0x14c65f(_0x51628d._0x3e4418)](_0x3db7c2);}else{const _0x5cbcc2=_0xeffd2d[0xd37+0x9e5*-0x1+-0x55*0xa],_0x5dc259=(_0x5cbcc2['match'](/\{/g)||[])[_0x14c65f(0x191)],_0x49d96f=/\bid\s*[:=]|name\s*[:=]\s*['"`]|title\s*[:=]\s*['"`]|label\s*[:=]\s*['"`]/[_0x14c65f(0x23b)](_0x5cbcc2);if(_0x5dc259>=0x161a+0xf8*-0x9+-0x475*0x3&&_0x49d96f){const _0x10d6a3=_0x5c1b30[_0x14c65f(0x26f)](0x175*0xd+-0x7d0+-0xb21,_0xeffd2d[_0x1a272c(_0x51628d._0x4de8bc)])[_0x1a272c(0x16d)]('\x0a')[_0x14c65f(_0x51628d._0x147fca)],_0x8d3c7f={};_0x8d3c7f[_0x1a272c(0x1f6)]=_0x5315f3,_0x8d3c7f[_0x14c65f(0x1e4)]=_0x10d6a3,_0x8d3c7f['type']=_0x10f6e1[_0x1a272c(0x16b)],_0x8d3c7f[_0x14c65f(0x1aa)+'t']=_0x5dc259,_0x8d3c7f[_0x14c65f(0x1ea)]=_0x14c65f(_0x51628d._0x122dd0)+_0x5dc259+(_0x14c65f(0x26e)+'name\x20字段\x20—\x20'+'应从\x20API\x20获取)'),_0x1222a6[_0x1a272c(_0x51628d._0x450482)](_0x8d3c7f);}}}const _0x2be996=/(?:tableData|dataSource|listData|dataList|options|menuList|items)\s*[=:]\s*(?:ref\(|reactive\()?\s*\[[\s\S]{50,}?\]/g;while(_0x10f6e1[_0x1a272c(0x258)](_0xeffd2d=_0x2be996[_0x14c65f(0x1d8)](_0x5c1b30),null)){const _0x54425c=_0xeffd2d[0x7ac*-0x1+0x2552*0x1+-0x45*0x6e],_0x1c63b1=(_0x54425c[_0x1a272c(0x174)](/\{/g)||[])['length'];if(_0x10f6e1[_0x14c65f(0x228)](_0x1c63b1,0x1c4f+0x729*0x1+-0xbd2*0x3)){if(_0x10f6e1[_0x1a272c(_0x51628d._0x25ffde)](_0x1a272c(_0x51628d._0x41b766),_0x14c65f(_0x51628d._0x41b766))){const _0x233583=_0x5c1b30['slice'](-0x22b8+-0x1991+0x3d*0xfd,_0xeffd2d[_0x14c65f(_0x51628d._0x27a879)])[_0x14c65f(0x16d)]('\x0a')['length'];if(!_0x1222a6[_0x14c65f(_0x51628d._0xc4f79d)](_0x8d0509=>_0x8d0509[_0x1a272c(0x1f6)]===_0x5315f3&&Math[_0x14c65f(0x215)](_0x8d0509['line']-_0x233583)<-0x1181+0x32*-0x9+0x1346)){const _0x2b35cd={};_0x2b35cd[_0x1a272c(_0x51628d._0x30cbb9)]=_0x5315f3,_0x2b35cd[_0x1a272c(_0x51628d._0x396782)]=_0x233583,_0x2b35cd[_0x14c65f(0x1ee)]='hardcoded-'+_0x1a272c(_0x51628d._0x3852b7),_0x2b35cd['detail']=_0x1a272c(0x246)+_0x14c65f(0x15c)+_0x14c65f(_0x51628d._0x564065)+'组('+_0x1c63b1+_0x1a272c(_0x51628d._0x161e40),_0x1222a6[_0x14c65f(0x259)](_0x2b35cd);}}else return[];}}}}else{const _0x1c7de3=_0x10f6e1['mpxhY'](_0x264786,_0x3b8c5b),_0x2cf9f4={'name':_0x1a272c(_0x51628d._0x2bd986),..._0x1c7de3};_0x495085[_0x14c65f(0x259)](_0x2cf9f4);if(!_0x1c7de3[_0x14c65f(_0x51628d._0x2834b7)])_0x24c6a4=![];}}const _0x58c563={};return _0x58c563['pass']=_0x1222a6[_0x1a272c(_0x51628d._0x147fca)]===0x1b4a+0x2c9*-0xd+-0x2f9*-0x3,_0x58c563[_0x14c65f(_0x51628d._0x594f33)]=_0x1222a6,_0x58c563;}function checkHardcodedIdentities(_0x5c6bb9){const _0x1ccc4d={_0x3ba344:0x218,_0x1ed39a:0x1a4,_0xc2c5ee:0x240,_0x42b6d6:0x160,_0x26bd94:0x231,_0x9a1c9:0x1f9,_0x7af74f:0x181,_0x225b3a:0x16c,_0x3ab8b9:0x25f,_0x4356c6:0x241,_0x334c45:0x16d,_0x3543e8:0x191},_0x12c5fa={_0x17226a:0x20c,_0x17918d:0x19c,_0x828a51:0x1c0,_0x1794ae:0x259,_0xfc55b9:0x25e,_0x6bae10:0x273,_0x26daae:0x26b},_0x379e36=_0x295acf,_0x33dba5=_0x295acf,_0x56e1cc={'DhGCD':function(_0x524f72,_0x5f222c){return _0x524f72===_0x5f222c;},'gByaE':'tiDxv','fwChF':_0x379e36(_0x1ccc4d._0x3ba344)+'rc','zoFZT':_0x379e36(0x238),'IwDVe':_0x33dba5(_0x1ccc4d._0x1ed39a),'QkTRk':_0x379e36(0x1c5)+'名称','ZkNRF':_0x33dba5(_0x1ccc4d._0xc2c5ee),'toojq':function(_0x1e0038,_0x4279c2,_0x1522ee){return _0x1e0038(_0x4279c2,_0x1522ee);},'SRFPt':_0x33dba5(_0x1ccc4d._0x42b6d6),'qmUqh':function(_0x437e7e,_0x5f1db4){return _0x437e7e(_0x5f1db4);}},_0x1acec8=[_0x56e1cc[_0x379e36(0x1cb)],'app/src',_0x56e1cc[_0x379e36(0x1a5)]]['filter'](_0x12bf38=>fs[_0x379e36(0x275)](path[_0x33dba5(0x1d1)](_0x5c6bb9,_0x12bf38))),_0x4c849b=[],_0x5c4ef1={};_0x5c4ef1[_0x379e36(_0x1ccc4d._0x26bd94)]=/\buser-\d{3,}\b/g,_0x5c4ef1[_0x379e36(0x25e)]=_0x56e1cc['IwDVe'];const _0x1c14e2={};_0x1c14e2['regex']=/['"`](张三|李四|王五|赵六|管理员|许可人|签发人|接票人)['"`]/g,_0x1c14e2[_0x379e36(0x25e)]=_0x56e1cc[_0x33dba5(_0x1ccc4d._0x9a1c9)];const _0x443bae={};_0x443bae[_0x379e36(_0x1ccc4d._0x26bd94)]=/\b(currentUser|operatorId|operatorName)\s*[:=]\s*['"`][^'"`]+['"`]/g,_0x443bae[_0x33dba5(0x25e)]=_0x56e1cc[_0x379e36(_0x1ccc4d._0x7af74f)];const _0x3c5634=[_0x5c4ef1,_0x1c14e2,_0x443bae];for(const _0x425eaf of _0x1acec8){const _0x265a6a=_0x56e1cc[_0x379e36(_0x1ccc4d._0x225b3a)](findFiles,path[_0x379e36(0x1d1)](_0x5c6bb9,_0x425eaf),[_0x56e1cc[_0x379e36(0x1c7)],_0x379e36(_0x1ccc4d._0x3ab8b9),_0x33dba5(0x195),'.ts','.js']);for(const _0x28b268 of _0x265a6a){const _0x5893ad=path[_0x379e36(0x175)](_0x5c6bb9,_0x28b268);if(/\/(mock|__tests__|fixtures)\//[_0x33dba5(0x23b)](_0x5893ad[_0x379e36(0x167)](/\\/g,'/')))continue;const _0x32b24c=_0x56e1cc[_0x33dba5(_0x1ccc4d._0x4356c6)](readSafe,_0x28b268);if(!_0x32b24c)continue;const _0x2ec38f=_0x32b24c[_0x379e36(_0x1ccc4d._0x334c45)]('\x0a');_0x2ec38f['forEach']((_0x579d31,_0x31436a)=>{const _0x54a605=_0x379e36,_0x1bedb7=_0x379e36;if(_0x56e1cc['DhGCD'](_0x56e1cc[_0x54a605(_0x12c5fa._0x17226a)],_0x1bedb7(_0x12c5fa._0x17918d))){const _0x134108=_0x579d31[_0x54a605(0x1fc)]();if(_0x134108[_0x1bedb7(_0x12c5fa._0x828a51)]('//')||_0x134108['startsWith']('*'))return;for(const _0x3585da of _0x3c5634){if(_0x3585da['regex'][_0x54a605(0x23b)](_0x579d31)){_0x4c849b[_0x1bedb7(_0x12c5fa._0x1794ae)]({'file':_0x5893ad,'line':_0x31436a+(-0x1dd*-0x1+-0x21aa+0x54d*0x6),'detail':_0x3585da[_0x1bedb7(_0x12c5fa._0xfc55b9)],'snippet':_0x134108['slice'](-0xd50+-0x3*-0x2eb+0x48f,-0xd34*-0x1+0x1a83+-0xc5*0x33)});break;}_0x3585da['regex'][_0x1bedb7(0x1c6)]=0x243+-0x1*-0x902+-0xb45;}}else{const _0x5cbfe8=_0x20376e(_0x4adf9),_0x152d1d={'name':_0x54a605(_0x12c5fa._0x6bae10),..._0x5cbfe8};_0x17c721[_0x54a605(_0x12c5fa._0x1794ae)](_0x152d1d);if(!_0x5cbfe8[_0x54a605(_0x12c5fa._0x26daae)])_0x17e4b4=![];}});}}const _0x2d41db={};return _0x2d41db[_0x379e36(0x26b)]=_0x4c849b[_0x33dba5(_0x1ccc4d._0x3543e8)]===0x5*-0x520+-0x1090*0x1+0x2a30,_0x2d41db[_0x33dba5(0x1e9)]=_0x4c849b,_0x2d41db;}function checkRouteCompleteness(_0x2e944c,_0x22fe9e){const _0x2308e1={_0x38a032:0x1a8,_0xafb208:0x1c4,_0x4ec02e:0x209,_0x3425a3:0x190,_0x5c3203:0x23d,_0x264cb4:0x1d1,_0x52d5b2:0x163,_0x1088cc:0x26b,_0x3a6cad:0x1be,_0x284560:0x278,_0x1a5801:0x19b,_0x147ac4:0x208,_0x20b1ad:0x167,_0x29984b:0x191,_0x2849e7:0x248,_0x4af017:0x191,_0x49b5e7:0x1d5},_0x569e14=_0x33c962,_0x516926=_0x33c962,_0x3878ab={'Sopzw':'utf-8','sdiFU':_0x569e14(0x277)+_0x569e14(_0x2308e1._0x38a032),'jcNeA':'src','muXcT':_0x569e14(0x17e)+_0x516926(0x20e),'wFhVN':'router.js','cUQkL':function(_0x43a993,_0x23b5c3){return _0x43a993(_0x23b5c3);},'cpdjD':_0x569e14(0x260),'AphDk':_0x569e14(0x227)},_0x3c6d15=extractSpecRoutes(_0x22fe9e),_0x2bd410={};_0x2bd410['pass']=!![],_0x2bd410['message']=_0x3878ab[_0x516926(_0x2308e1._0xafb208)];if(_0x3c6d15[_0x569e14(0x191)]===-0x1c44*0x1+-0x243a+0xfe*0x41)return _0x2bd410;const _0x36a409=[_0x569e14(0x218)+'rc',_0x516926(_0x2308e1._0x4ec02e),_0x3878ab[_0x516926(_0x2308e1._0x3425a3)]][_0x569e14(_0x2308e1._0x5c3203)](_0x45b090=>fs[_0x516926(0x275)](path['join'](_0x2e944c,_0x45b090)));let _0x3cccae='';for(const _0x255c4d of _0x36a409){for(const _0x517deb of[_0x3878ab[_0x569e14(0x1e7)],'router/ind'+_0x569e14(0x1d0),_0x569e14(0x274),_0x3878ab[_0x569e14(0x239)]]){const _0x519fdf=path[_0x569e14(_0x2308e1._0x264cb4)](_0x2e944c,_0x255c4d,_0x517deb);if(fs[_0x516926(0x275)](_0x519fdf))_0x3cccae+=_0x3878ab[_0x569e14(_0x2308e1._0x52d5b2)](readSafe,_0x519fdf)+'\x0a';}}const _0x1dcde9={};_0x1dcde9[_0x516926(_0x2308e1._0x1088cc)]=!![],_0x1dcde9[_0x516926(_0x2308e1._0x3a6cad)]=_0x569e14(_0x2308e1._0x284560)+_0x569e14(0x19f);if(!_0x3cccae)return _0x1dcde9;const _0x1bb981=[];for(const _0x37ee1b of _0x3c6d15){if(_0x516926(_0x2308e1._0x1a5801)===_0x3878ab['cpdjD'])return _0x402d1e['readFileSy'+'nc'](_0x324d3e,KNrSer['Sopzw']);else{const _0x3ebedb=_0x37ee1b['replace'](/:[a-zA-Z]+/g,_0x3878ab[_0x569e14(_0x2308e1._0x147ac4)]);!_0x3cccae[_0x516926(0x251)](_0x37ee1b)&&!new RegExp(_0x3ebedb[_0x516926(_0x2308e1._0x20b1ad)](/\//g,'\x5c/'))['test'](_0x3cccae)&&_0x1bb981['push'](_0x37ee1b);}}const _0x4249c1={};return _0x4249c1['pass']=_0x1bb981[_0x569e14(0x191)]===0x9c4+0x1df1+-0x27b5,_0x4249c1[_0x569e14(0x1a9)]=_0x3c6d15[_0x516926(_0x2308e1._0x29984b)],_0x4249c1[_0x516926(_0x2308e1._0x2849e7)]=_0x3c6d15['length']-_0x1bb981[_0x569e14(_0x2308e1._0x4af017)],_0x4249c1[_0x569e14(_0x2308e1._0x49b5e7)]=_0x1bb981,_0x4249c1;}function runReviewChecks(_0x11a097,_0x18222b){const _0x3b7817={_0xcd9e9e:0x20e,_0x45df7a:0x186,_0x44ad87:0x1d2,_0x104f75:0x210,_0x323073:0x26b,_0x447d02:0x17a,_0x3047e3:0x26b,_0x548350:0x18b,_0x3e2a42:0x179,_0x2bc95c:0x17a,_0x3181c3:0x17f,_0x242bdc:0x1d1,_0x356524:0x19d,_0x112c56:0x23a,_0x2b2a2d:0x18f,_0x4a4200:0x21c,_0x1fe0ce:0x1be,_0x446680:0x18b,_0x5956b9:0x206,_0x87da39:0x273,_0x384de4:0x273,_0x5d2768:0x250,_0x534c3e:0x1c3,_0x29bb1b:0x167,_0xdd51b2:0x244,_0xb0c639:0x1da,_0x5a79db:0x19d,_0x5d9d37:0x269,_0xce9636:0x265,_0x2f45bf:0x167,_0xe571e:0x26b,_0x272de2:0x259},_0x22d509=_0x295acf,_0xba7a7c=_0x295acf,_0x13000c={'KwAlm':_0x22d509(0x17e)+_0x22d509(_0x3b7817._0xcd9e9e),'xHFqg':function(_0x95c34d,_0x272939){return _0x95c34d+_0x272939;},'qifka':function(_0x30c169,_0x301a5d){return _0x30c169(_0x301a5d);},'FfBpb':_0x22d509(0x22b),'kQYrg':function(_0x424741,_0x4a427c){return _0x424741(_0x4a427c);},'sCWjz':function(_0x4f6ed9,_0x369950){return _0x4f6ed9+_0x369950;},'XVkHb':function(_0x1dfaf4,_0xd899a9){return _0x1dfaf4>_0xd899a9;},'gEvvj':function(_0x53faf2,_0x5ca220,_0x1d5f53){return _0x53faf2(_0x5ca220,_0x1d5f53);},'vhAta':_0x22d509(0x185),'vDlHp':_0xba7a7c(_0x3b7817._0x45df7a),'Wqafm':_0xba7a7c(_0x3b7817._0x44ad87),'PrvGl':function(_0x2f5500,_0x1c4511){return _0x2f5500/_0x1c4511;},'lwpjA':_0xba7a7c(0x206),'COHYk':_0x22d509(0x1dc),'TwVQU':function(_0x23b968,_0x5aa98f,_0xe85baa){return _0x23b968(_0x5aa98f,_0xe85baa);},'hAkMZ':_0xba7a7c(0x1f5)},_0x399e18=[];let _0x7b59c5=!![];try{const _0x19023d=_0x13000c[_0x22d509(_0x3b7817._0x104f75)](checkApiContract,_0x11a097,_0x18222b),_0x1858fd={'name':_0x13000c['vhAta'],..._0x19023d};_0x399e18[_0xba7a7c(0x259)](_0x1858fd);if(!_0x19023d[_0xba7a7c(_0x3b7817._0x323073)])_0x7b59c5=![];}catch(_0x3cb563){const _0x633666={};_0x633666[_0x22d509(0x18b)]=_0x13000c['vhAta'],_0x633666[_0xba7a7c(_0x3b7817._0x323073)]=!![],_0x633666[_0xba7a7c(_0x3b7817._0x447d02)]=_0x3cb563['message'],_0x399e18['push'](_0x633666);}try{const _0x38c89=_0x13000c['qifka'](checkContractConsistency,_0x11a097),_0x3fa3ca={'name':_0x22d509(0x179),..._0x38c89};_0x399e18['push'](_0x3fa3ca);if(!_0x38c89[_0x22d509(_0x3b7817._0x3047e3)])_0x7b59c5=![];}catch(_0x5cdcee){const _0x3f190b={};_0x3f190b[_0x22d509(_0x3b7817._0x548350)]=_0x22d509(_0x3b7817._0x3e2a42),_0x3f190b['pass']=!![],_0x3f190b[_0xba7a7c(_0x3b7817._0x2bc95c)]=_0x5cdcee['message'],_0x399e18[_0x22d509(0x259)](_0x3f190b);}try{if(_0x13000c['vDlHp']===_0x13000c[_0xba7a7c(_0x3b7817._0x3181c3)])for(const _0x65069a of[kuKFjR[_0xba7a7c(0x232)],'router/ind'+'ex.js',_0xba7a7c(0x274),'router.js']){const _0x24cfab=_0x46f76d[_0xba7a7c(_0x3b7817._0x242bdc)](_0x1a60d2,_0x41368e,_0x65069a);if(_0x200217[_0x22d509(0x275)](_0x24cfab))_0x257dff+=kuKFjR['xHFqg'](kuKFjR[_0xba7a7c(0x272)](_0x238f31,_0x24cfab),'\x0a');}else{const _0x59a583=_0x13000c[_0x22d509(_0x3b7817._0x356524)](checkErrorHandling,_0x11a097),_0x245007={'name':'错误处理审计',..._0x59a583};_0x399e18['push'](_0x245007);if(_0x59a583[_0xba7a7c(0x1db)+_0xba7a7c(_0x3b7817._0x112c56)]>0x25b+0x1*0xe+-0x269){const _0x38ebf7=_0x13000c[_0x22d509(0x217)](_0x59a583[_0x22d509(_0x3b7817._0x2b2a2d)],_0x59a583['totalApiCa'+_0xba7a7c(_0x3b7817._0x112c56)]);if(_0x38ebf7>0x26d0+0x1ed*0x4+-0x2e84+0.5)_0x7b59c5=![];}}}catch(_0x1c65e2){const _0x559273={};_0x559273[_0x22d509(0x18b)]=_0x22d509(_0x3b7817._0x4a4200),_0x559273['pass']=!![],_0x559273[_0xba7a7c(0x17a)]=_0x1c65e2[_0xba7a7c(_0x3b7817._0x1fe0ce)],_0x399e18[_0x22d509(0x259)](_0x559273);}try{const _0x5763a3=checkHardcodedData(_0x11a097),_0x2c71f1={'name':_0x13000c['lwpjA'],..._0x5763a3};_0x399e18[_0x22d509(0x259)](_0x2c71f1);}catch(_0x22f0e7){const _0x211da6={};_0x211da6[_0x22d509(_0x3b7817._0x446680)]=_0xba7a7c(_0x3b7817._0x5956b9),_0x211da6[_0x22d509(_0x3b7817._0x323073)]=!![],_0x211da6[_0x22d509(0x17a)]=_0x22f0e7[_0xba7a7c(0x1be)],_0x399e18[_0x22d509(0x259)](_0x211da6);}try{const _0x5ac3f0=checkHardcodedIdentities(_0x11a097),_0x205c74={'name':_0x22d509(_0x3b7817._0x87da39),..._0x5ac3f0};_0x399e18[_0xba7a7c(0x259)](_0x205c74);if(!_0x5ac3f0[_0x22d509(_0x3b7817._0x323073)])_0x7b59c5=![];}catch(_0x5d3bf8){const _0x2d58ca={};_0x2d58ca[_0x22d509(0x18b)]=_0xba7a7c(_0x3b7817._0x384de4),_0x2d58ca['pass']=!![],_0x2d58ca[_0xba7a7c(0x17a)]=_0x5d3bf8['message'],_0x399e18['push'](_0x2d58ca);}try{if(_0x13000c[_0xba7a7c(_0x3b7817._0x5d2768)]===_0x22d509(_0x3b7817._0x534c3e)){const _0x1c1349=_0x61ec3e[0x422+-0xc8d*-0x3+-0x29c8][_0xba7a7c(_0x3b7817._0x29bb1b)](kuKFjR[_0xba7a7c(0x201)],'')[_0x22d509(_0x3b7817._0xdd51b2)+'e'](),_0x4be22b=_0x5b2e5b[0x269a+-0x696+-0x2002],_0x1158ff=_0x3a7847[0x1a*0x7+0x1*-0xa7a+0x9c7],_0xc4be05=_0x4db78e[-0x269*0x1+-0x29*0xed+0x2862]||'',_0x536271=_0x51ef46([..._0xc4be05[_0xba7a7c(_0x3b7817._0xb0c639)](/(?:@PathVariable|@RequestParam(?:\(\s*["']([^"']+)["'])?|@RequestBody)\s*(?:@Valid\s*)?(?:Map<String,\s*Object>|[A-Za-z0-9_<>, ?]+)\s+([A-Za-z0-9_$]+)/g)][_0x22d509(0x249)](_0x1f93ba=>_0x1f93ba[-0xd5*0x13+-0x1e40+0x4*0xb84]||_0x1f93ba[0x11a7+-0x26d6+-0xaf*-0x1f])),_0x1ae17a=kuKFjR[_0x22d509(_0x3b7817._0x5a79db)](_0x1ac179,[..._0x554809[_0x22d509(0x26f)](_0x5794f6[_0xba7a7c(_0x3b7817._0x5d9d37)],_0x22f05f[_0x22d509(0x1a7)](_0x1c4eb6[_0xba7a7c(0x191)],kuKFjR[_0x22d509(_0x3b7817._0xce9636)](_0x258336[_0x22d509(0x269)],0x20ea+0xc55+-0x2763)))['matchAll'](/require\(body,\s*["']([^"']+)["']\)/g)][_0x22d509(0x249)](_0x3eb2f7=>_0x3eb2f7[-0x4bd*-0x1+-0xd*0x1e5+0x1*0x13e5]));_0x11bc86[_0xba7a7c(0x259)]({'file':_0x2b2339,'fnName':_0x1158ff,'method':_0x1c1349,'path':(''+_0xa9cf63+_0x4be22b)[_0xba7a7c(_0x3b7817._0x2f45bf)](/\/+/g,'/'),'requiredFields':kuKFjR['XVkHb'](_0x1ae17a[_0x22d509(0x191)],0x1987*-0x1+0xeb*0x7+0x131a)?_0x1ae17a:_0x536271,'rawParams':_0x536271});}else{const _0x508b2a=_0x13000c['TwVQU'](checkRouteCompleteness,_0x11a097,_0x18222b),_0x834f60={'name':_0x13000c['hAkMZ'],..._0x508b2a};_0x399e18[_0x22d509(0x259)](_0x834f60);if(!_0x508b2a[_0x22d509(0x26b)])_0x7b59c5=![];}}catch(_0x18a325){const _0x6b77d5={};_0x6b77d5[_0xba7a7c(_0x3b7817._0x548350)]=_0xba7a7c(0x1f5),_0x6b77d5[_0xba7a7c(_0x3b7817._0xe571e)]=!![],_0x6b77d5[_0x22d509(0x17a)]=_0x18a325[_0xba7a7c(0x1be)],_0x399e18[_0x22d509(_0x3b7817._0x272de2)](_0x6b77d5);}const _0x1e3cc3={};return _0x1e3cc3[_0xba7a7c(0x26b)]=_0x7b59c5,_0x1e3cc3[_0xba7a7c(0x161)]=_0x399e18,_0x1e3cc3;}const _0x15f79a={};_0x15f79a[_0x33c962(0x18c)+_0x33c962(0x1ae)]=runReviewChecks,_0x15f79a[_0x295acf(0x17d)+_0x295acf(0x279)]=checkApiContract,_0x15f79a[_0x33c962(0x237)+_0x295acf(0x267)+_0x33c962(0x1c2)]=checkContractConsistency,_0x15f79a[_0x33c962(0x166)+_0x295acf(0x245)]=checkErrorHandling,_0x15f79a[_0x33c962(0x214)+_0x33c962(0x236)]=checkHardcodedData,_0x15f79a[_0x295acf(0x214)+_0x33c962(0x1bc)+_0x295acf(0x234)]=checkHardcodedIdentities,_0x15f79a['checkRoute'+_0x33c962(0x22f)+'ss']=checkRouteCompleteness,module[_0x33c962(0x1f2)]=_0x15f79a;
@@ -4,6 +4,26 @@
4
4
 
5
5
  ---
6
6
 
7
+ ## [3.3.1] - 2026-05-24
8
+
9
+ ### 新增
10
+ - **Fxx ↔ ACxx 双向追踪检查**: `review gate` 新增功能点与验收场景的双向连通校验,拦截“功能点写了但验收挂不上”以及“验收写了但追不回功能点”的需求漂移
11
+
12
+ ### 变更
13
+ - **模板追踪约束补齐**: `spec.md` 模板明确要求每个 `Fxx` 绑定真实 `ACxx`,每个 `ACxx` 回指 `Fxx` 或 `Vxx`
14
+ - **README 追踪门禁说明补齐**: 双语 README 增加 `Fxx to ACxx Trace Gate` 说明,方便用户理解 review 失败原因
15
+
16
+ ## [3.3.0] - 2026-05-24
17
+
18
+ ### 新增
19
+ - **验收场景覆盖门禁**: `smoke` / E2E 现在会解析 `spec.md` 中的 `ACxx` 验收场景矩阵,并输出 `covered / partial / missing` 覆盖统计
20
+ - **happy 场景闭环阻断**: 当 `happy` 主流程场景没有形成页面/API/交互闭环证据时,`smoke gate` 将直接失败,防止“功能看起来做了但没有验收闭环”继续流转
21
+ - **门禁可解释性增强**: CLI 在 E2E 结果中输出 AC 场景覆盖摘要,并列出缺失证据的场景,方便 AI 和人类直接回到 spec 补闭环
22
+
23
+ ### 目的
24
+ - 让规范从“要求写验收场景”进一步升级到“gate 真正消费验收场景”
25
+ - 优先提升需求匹配度,把主流程闭环问题前置到 smoke 而不是留到 review
26
+
7
27
  ## [3.2.1] - 2026-05-24
8
28
 
9
29
  ### 修复
package/framework/VERSION CHANGED
@@ -1 +1 @@
1
- 3.2.1
1
+ 3.3.1
@@ -25,7 +25,8 @@
25
25
  > 规则:
26
26
  > 1. 每个功能点必须有唯一 ID(F01/F02...)。
27
27
  > 2. Spec 提及前端时,前端入口不得为空。
28
- > 3. review/gate 以本矩阵为准,不在矩阵中的功能不计入完成率。
28
+ > 3. 每个功能点都必须关联至少一个真实存在的 ACxx。
29
+ > 4. review/gate 以本矩阵为准,不在矩阵中的功能不计入完成率。
29
30
 
30
31
  ## 4. 业务规则
31
32
  > 精确描述规则,包含边界条件(如:状态枚举值、时间窗口、幂等键格式)
@@ -116,6 +117,11 @@ GET /api/xxx
116
117
  | AC01 | happy | 打开列表 → 查询 → 查看详情 | 列表刷新并可进入详情 | F01 |
117
118
  | AC02 | rule | 输入非法时间提交 | 返回 V01 文案 | F04,V01 |
118
119
 
120
+ > 规则:
121
+ > 1. 每个 ACxx 必须至少关联一个 Fxx 或 Vxx。
122
+ > 2. `happy` 场景优先覆盖主流程,不能全部写成异常/边界场景。
123
+ > 3. §3 的 Fxx 与 §10.5 的 ACxx 必须双向能追踪,review 会校验这条链路。
124
+
119
125
  ## 11. 执行日志
120
126
  | Task | 状态 | 实际改动文件 | 备注 |
121
127
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alenfitz/spec-copilot",
3
- "version": "3.2.1",
3
+ "version": "3.3.1",
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",