icoa-cli 2.19.350 → 2.19.352

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 +1 @@
1
- (function(j,k){const a2=a0k,q=j();while(!![]){try{const v=-parseInt(a2(0x187))/(-0x26*0xdf+0x1*-0x10aa+0x31c5)*(-parseInt(a2(0x130))/(-0x2cf*0x7+-0x3*0x84+0x1537))+parseInt(a2(0x110))/(-0x5*-0x297+0x1423+0x1*-0x2113)*(parseInt(a2(0x1af))/(0x17e4+0x1e7*-0x9+-0x6c1))+-parseInt(a2(0x1a4))/(0x808+-0x287*-0x2+-0xd11)+parseInt(a2(0x1b6))/(-0x1dd0+-0x2f*-0x77+0x7fd)+-parseInt(a2(0x158))/(0x6c7*0x1+-0x647*0x1+-0x79)+parseInt(a2(0x174))/(-0x1ac4*-0x1+0x12e4+-0x2da0)*(parseInt(a2(0x189))/(0x13b1*-0x1+0x23c0+-0x1006))+parseInt(a2(0xce))/(0x1*0x25f6+-0x1*-0xe57+0x1*-0x3443)*(-parseInt(a2(0xe7))/(0x1*0xaab+0x1e55+-0x9*0x48d));if(v===k)break;else q['push'](q['shift']());}catch(z){q['push'](q['shift']());}}}(a0j,0x1336e+0x20c12+-0xd786));import a0v from'chalk';import{createChatSession as a0z}from'../lib/gemini.js';function a0k(a,b){a=a-(0x20*-0x2e+-0x63a*0x5+0x2563);const c=a0j();let d=c[a];if(a0k['TPjckc']===undefined){var e=function(i){const j='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let l='',m='';for(let n=-0x384+0x14f2+0x2*-0x8b7,o,p,q=0x1270+0x17e+-0x13ee;p=i['charAt'](q++);~p&&(o=n%(0x7*-0x1cc+-0x18fd+-0x1*-0x2595)?o*(0x14c1+-0x65f+-0x1*0xe22)+p:p,n++%(-0xfef+0xe9b*-0x2+-0x2d29*-0x1))?l+=String['fromCharCode'](0x743*0x1+-0x6c6+0x82&o>>(-(-0x1bc4*-0x1+-0x2403+-0x1*-0x841)*n&0x2e*-0x9e+0x1*0x11ad+0xabd*0x1)):-0x2*0x694+-0x1*-0x134+0xbf4){p=j['indexOf'](p);}for(let r=0xba*-0x35+0x1024+0x7*0x332,s=l['length'];r<s;r++){m+='%'+('00'+l['charCodeAt'](r)['toString'](0x1*-0x15f3+-0x25d8+0xc7*0x4d))['slice'](-(-0x1df7+-0x24a7+-0x1*-0x42a0));}return decodeURIComponent(m);};a0k['wDLFEZ']=e,a0k['jnkmdJ']={},a0k['TPjckc']=!![];}const f=c[0x12d8+-0x444+-0xe94],g=a+f,h=a0k['jnkmdJ'][g];return!h?(d=a0k['wDLFEZ'](d),a0k['jnkmdJ'][g]=d):d=h,d;}import{addTokenUsage as a0B}from'../lib/budget.js';import{getConfig as a0C,isConnected as a0D}from'../lib/config.js';import{logCommand as a0E,logSubmission as a0F}from'../lib/logger.js';import{printMarkdown as a0G,printError as a0H}from'../lib/ui.js';import{t as a0I}from'../lib/i18n.js';const g=j=>new Promise(k=>setTimeout(k,j));function a0j(){const ai=['ywK0y3rMtw9KzwW','z2vTAw5Ptw9KzwW','zgf0yq','C3rHDhvZ','Dg9mB3DLCKnHC2u','mti0ntqYC0PxuvjL','icdINjmGuq','icaGigv4AxqGicaGicaGicaGica','igLZigeGq1rgnefjihf1zxn0Aw9UicHHDhrHy2STDgHLlufjks4','yw5ZD2vYx2nOyw5Nzwq','y2f0y2G','icbuAguGquKGDgvHBw1HDguGC2nVCgvZigL0C2vSzIb0BYb0AguGy2HHBgXLBMDLihLVDsbVCgvUlG','BM90igvUzM9Yy2vKigzVCIb0AgLZigXVz2LU','icbuAgLUA2LUzY4UlG','icboB3rLoIa1mcuGB2yGC2vJDgLVBIbbssbIDwrNzxqGDxnLzc4','Dgv4Da','yxr0ywnOzwreyxrH','DgHPBMTPBMC','AM9PBG','icdILii','quK0q1rgihnLy3rPB24','ANnVBG','ihDPBgWGB3bLBIbr','g1SXqrTBmKS','ywK0y3rMuMv2zwfSu2vLrMXHzW','C2vZC2LVBJ0','ywK0y3rMsgLUDejcB2r5','ywK0y3rMtg9JA2vKvgL0Bgu','icbfCNjVCJOG','ywK0y3rMv3jHCfrPDgXL','ywK0y3rMrxHPDe5LEhruAxrSzq','icbnB2rLBdOGr29Vz2XLieDLBw1HidqGka','y3rMngfP','ywrK','ywK0y3rMq29TBwfUzhm','iNDOyxqGzw5JB2rPBMCGAxmGDgHPCZ8I','ywK0y3rM','icaOCMvZDw1PBMCG4OcuihbYAw9YignOyxqGAxmGBM90ihjLBwvTyMvYzwqSigj1Dcb0B2TLBNmGywXYzwfKEsb1C2vKihn0yxKGzgvKDwn0zwqP','AwnVys1JBgKVyNvKz2v0','ywK0y3rMq2HHBgXLBMDL','ieLdt0f7lI4UFq','igLZigeGBxvSDgLWBguTy2HVAwnLihf1zxn0Aw9UiokaLcbHBNn3zxiGD2L0Acbbl0iVqY9elG','ywK0y3rMv3jHCff1B3rHqq','BM93','lI4VBgLIl2n0zMqTy2XPzw50lMPZ','ywK0y3rMvgHPBMTPBMC','m1r1BvfrDG','icbpCgvUigfUB3rOzxiGy2HHBgXLBMDLihDPDgGG','icaG4OAsia','z3jLzw4','icaGicaGicbZDwjTAxqGAwnVyxT3m2XJmg1LxZjFywK0y3rMFq','zw50zxjLzef0','icdILjtILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','icaGicbsDw4GuhL0Ag9UigLUihnOzwXS','ig5VDcbMB3vUzcbPBIbZDgf0zs4Gvhj5oIbLEgfTiheG','Dg9Rzw5ZvxnLza','imk3ia','ywK0y3rMv3jHCff1B3rHq0HPBNq','icaGihn1yM1PDca8zMXHzZ4Gica','C3rHCNrZv2L0Aa','icbbzNrLCIbLEgL0oIa','ywK0y3rMsgLUDe5LEhrb','icaGigHPBNqGysaVigiGlYbJica','lcbVCIbYzs1LBNrLCIb3AxrOia','vg9Rzw5Z','icdILiiG','CxvLC3rPB25Z','icbdDxjYzw50igfUC3DLCJOG','igzVCIbrmZK','DhLWzufUzevUDgvYvg9czwDPBG','ihrVA2vUCYbSzwz0lG','icbr','DgLTzw91Da','z2vTBweTnc0ZmwiTAxq','iIaOy2f0zwDVCNK6ia','ywK0y3rMu3vIBwL0q21K','icaGicaGicaGicaGica','AgLUDcbI','odbcrw5vq0u','ywK0y3rMv3jHCeXPBMuYsgvHza','icbzB3uGy2fUihn0AwXSoIa','icaGicaGicbPy29HE3CZBgmWBwvFmL9HAtrJDgz9','icdIMQaG','ywK0y3rMv291BgrfyxjU','cIaG','zw5JB2rPBMC','ywLvC2fNzq','cGPdsefmtevor0uGqLjjruy6cG','y29UDgLUDwu','C3vIBwL0ia','icaGicaGicaGicblzxKGyNjLywT0AhjVDwDOicHWCMuTD3jPDhrLBIK','ywK0y3rMsgLUDenvC2vZ','iMHVDYbKBYbjigrLy3j5ChqGquvtluncqYbPBIbqExrOB24/iG','ywK0y3rMsgLUDem','BgvUz3rO','BNvTyMvY','ywK0y3rMsgLUDefcB2r5','Cu51Bq','ywK0y3rMv3jHCe5LEhruAxrSzq','DhjPBq','icbdB21Tyw5KCW','ywK0y3rMvgL0Bgu','C3vIBwL0qxr0zw1WDgvK','ywK0y3rMuMv2zwfStg9JA05VDgu','ywK0y3rMuMvWB3j0','q3j5ChrVz3jHCgH5','zMLUza','y3rMigXPC3q','yM9Sza','icbbstrdveyGy2HHDcbPCYbHDMfPBgfIBguGB24GChjHy3rPy2fSihf1zxn0Aw9UCYaOBMv4DdOGuq','icdILRGG','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDs9HCgKVAwnVys9Kzw1Vlxn0yxrZ','BwvZC2fNzq','E2nTzh0','C3vIBwL0idXMBgfNpG','iwvJAg8GyvDoDI4UlIb8igjHC2u2ncaTza','ywK0y3rMuMv2zwfSqM9KEq','ywXYzwfKEv9ZB2X2zwq','mty4ndGZn254DvDYwa','cGPbvfrbq0HfrcbeqvrbicHHBhnVihnHDMvKihrVignOywXSzw5NzxmVCq','icboBYbJAgfSBgvUz2uGB3bLBIb5zxqU','icaGidXQDxn0ihr5Cgu+icaGica','icdILzdILzdILzaGquK0q1rgiokaLcbr','ywnJB3vUDfnWzw50','lNr4DcbPBNnPzguGDgHLignVBNrLC3rHBNqNCYbZyw5KyM94iokaLcbWyxrOigLZihjLBgf0AxzLihrVihrOzsbZyw5KyM94j3mGl2HVBwuVy29TCgv0AxrVCIb3B3jRAw5NigrPCMvJDg9YEsWGCMvHy2HHyMXLigzYB20Gyw55icfZAgvSBcaVicfWExrOB24ZigLUDM9JyxrPB24PoGO','ywK0y3rMsgLUDfrLy2HUAxf1zq','ywK0y3rMrxHPDe5LEhrtDwi','icaGica','icaGideUia','icaI','C3vIBwL0ieLdt0f7lI4UFq','Bwf0y2G','q2HHDcb3AxrOihLVDxiGquKGDgvHBw1HDgu','yvDoDLLyDdnnmNHQtuCXBfH6sMzzv2SWwtnsBwzrpt0','icbtDgLSBcbHDMfPBgfIBgu6ia','yw5ZD2vYx3n1yM1PDhrLza','DMLHigfPngn0zIbJAgf0','icboBYbJAgfSBgvUz2uGAwqGAw4Gy29UDgv4DcdIGjqGB3bLBIbVBMuGzMLYC3q6ia','AgfZ','icaGicaGicaGicbuzwnOBMLXDwuGAgLUDcaOChjLlxDYAxr0zw4P','iokaLcb1CgrHDguGAwnVys1JBgKGDg8GDgHLigXHDgvZDcb2zxjZAw9U','Dg9ju09tDhjPBMC','ihrVig1VDMuGB24','icaGicaGicaGicaGifjLDhvYBIb0BYbTywLUig1LBNuGkhDVCMTZigfUExDOzxjLkq','ywK0y3rMv2vSy29Tzun0yq','ywK0y3rMv2vSy29Tzu5VuMv2zwfS','mtC2uefls1jy','Aw50zxjHy3rPB25Z','icaKia','icdILzdILzdILzaG','C3vIBwL0ieLdt0f7Ew91CL9MBgfNFq','ifn1yM1PDcb5B3vYigzSywCGzM9YihrOAxmGCxvLC3rPB24','ywK0y3rMsgLUDei','icbbstrdveyGy2HHDcbLBMrLzcbMB3iGuq','ywK0y3rMv3jVBMDgBgfN','icbsyxrLigXPBwL0zwqG4OcuihDHAxqGysbTB21LBNqGyMvMB3jLihrYEwLUzYbHz2fPBI4','q29UDgvUDc1uExbL','CgfKrw5K','icaOC3vIBwL0igfNywLUihrVignOyw5NzsK','Dg9Rzw5mAw1PDa','sgLUDca','y29YCMvJDa','ywK0y3rMtg9JA2vKvxnL','y2f0zwDVCNK','icaGia','mZG2ovjct3Lvua','icbvC2fNztOG','mte0mtGZrevgAfb0','tgvHDMuGDgHLiefjihrLyw1TyxrL','sunpqxT5B3vYx2zSywD9','icdILRGGia','l2fWAs9Py29Hl2fPl2fJy291BNqTyNvKz2v0p2TPBMq9ywK0y3rM','C2vUze1LC3nHz2u','C3vIBwL0igLJB2f7DZnSyZbTzv8Yx2fPngn0zN0','ywK0y3rMv3jHCeXPBMuYqM9KEq','icbkDw1WihrOzxjLoIa','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','C2vZC2LVBKnVB2TPzq','rNvSBcbXDwvZDgLVBJOGia','ihrOzw4GCMuTzw50zxiG','oIbhB29NBguGr2vTBweGncaO','zxHPDa','ywK0y3rMsgLUDee','BM9KztPJAgLSzf9WCM9JzxnZ','CxvPDa','DMXH','ywK0y3rMq21Ku2HLBgXmAw5L','zxHHBsbHBNn3zxiG','icaGicaODhLWzsbPDcbYAwDODcbOzxjLigLUihrOAxmGy2HHDcdIGjqGBM90igfZigeGC2HLBgWGy29TBwfUzcK','q29TBwfUzcbMywLSzwq','C2XPy2u','ig9UifeZoq','icaGicaGicaGicaGieXLyxzLignOyxqSihjLDhvYBIb0BYbLEgfT','ihjLy29YzgvKoIa','ntyZnJu1qwLQzxPi','EwvSBg93','y3vYCMvUDenOywXSzw5NzunHDgvNB3j5','vw5RBM93BIbYzxnWB25Zzq','ihbVAw50CYK6cG','D2HPDgu','icbbssb0zwfTBwf0zsbJBg9ZzwqGzM9Yici','y2XLyxi','ywK0y3rMrM91BMrgBgfN','icaGicaGicaGicaGicaGicaGicbLlMCUia','icdIMQaGodaLig9MihnLy3rPB24GquKGyNvKz2v0ihvZzwqU','nZaWnJa0CNLPsM9c','x2XHC3rr','Dg9Rzw4','y3rMzfvYBa','vw5RBM93BG','ue9tva','iokaLca','mJK1nJm4Cff2uezb','C3rYAw5NAwz5','icbgBgfNigzVCM1HDdOG','icbbBhjLywr5ihnVBhzLzc4','icaGice8C2HLBgWGy21KpIaGica','y3rMngvHAq','ig5VDcbMB3vUzcbPBIbZDgf0zs4','icbB','ywK0y3rMv3jHCeXPBMuXqM9KEq','ywnJB3vUDenHCa','ihb0CW','rMXHzYbMB3jTyxq6icaGieLdt0f7lI4UFq','Bg9N','E25VuhjVz30','y2HHBgXLBMDLtMfTzq','ywK0y3rMv3jHCff1B3rHrM9VDgvY','lZuWmda','icaGidiUia','Cg9PBNrZ','igLZigfUievTyM9KAwvKiefjicHfquKPihf1zxn0Aw9UlG','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','z3jHEq','zgvZy3jPChrPB24','ywK0y3rMt3jdAgf0rxHHBxbSzq','CMvWzwf0','quKGzxjYB3i6ia','ywK0y3rMsgLUDe5LEhrc','icdINjCGsw5JB3jYzwn0lIa','ywK0y3rMrMXHz0HPBNq','ywK0y3rMv3jHCff1B3rHqKHPBNq','iokvKokvKokvKa','ywK0y3rMrgvJB2rL','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','z2v0q2HHBgXLBMDL','Aw5JB3jYzwn0','ywK0y3rMtgv2zwXZ','icaGieP1C3qGDhLWzsbMCMvLBhKGDg8Gy2HHDcb3AxrOihrOzsbbssb0zwfTBwf0zs4','icbvC2u6ia','cGPzt1vsifjvtevtoGOTifLVDsbnqvKGzxHWBgfPBIbJB25Jzxb0CYWGzgvZy3jPyMuGyxbWCM9Hy2HLCYWGyw5KigHLBhaGDgHLignVBNrLC3rHBNqGCMvHC29UihrOCM91z2GGDgHLihbYB2jSzw0UcI0Gww91ie1bwsbKAxnJDxnZihrOzsb0zwnOBM9SB2D5igLUDM9SDMvKicHbrvmSihb3BNrVB2XZlcbqExrOB24GC3rYDwn0lcbivfrqlcbLDgmUks4klsbzB3uGtufzigHLBhaGzgvIDwCGuhL0Ag9UignVzguGDgHLignVBNrLC3rHBNqGD3jPDgvZlGOTifLVDsbnvvnuie5pvcbYzxzLywWGDgHLigzSywCGzgLYzwn0BhKUcI0Gww91ie1vu1qGtK9uig91Dhb1DcbHBNKGC3rYAw5Nig1HDgnOAw5NieLdt0f7lI4UFsbVCIbPy29HEY4UlN0UcI0Gww91ie1vu1qGtK9uihrLBgWGDgHLignVBNrLC3rHBNqGDgHLigv4ywn0igfUC3DLCIb0BYb0AgLZihf1zxn0Aw9UlGOTifLVDsbnqvKGC3vNz2vZDcb3AgLJAcb0B29Sic8GBgLICMfYEsaVihrLy2HUAxf1zsb0BYb1C2uUcI0Gv2HLBIbZDwDNzxn0Aw5NihnOzwXSic8GChL0Ag9UihnUAxbWzxrZihrOyxqGBMvLzcb0AguGyxr0ywnOzwqGzgf0ysWGCMvMzxiGDg8GDgHLigzPBguGCgf0AcbJAgfSBgvUz2vZl3e','zxHHBsbXia','icaGigHPBNqGyW','B3bLBIa8Awq+','ywK0y3rMsgLUDfbYAw5JAxbSzq','xsaGWRCG','C3rKB3v0','lI4VBgLIl2LUDgvNCML0Es1ZBMfWC2HVDc5QCW','y3LHBG','BwvUDq','yMfJAW','icaGihn1yM1PDcbjq09bEY4UlN0','icaGwW','yw5ZD2vYCW','ywK0y3rMtg9JA2vKvgHLBG','icbbstrdveyGC2vJDgLVBIbJB21WBgv0zsdIGjqG','AwnVyxT3m2XJmg1LxZjFywK0y3rMFq','oIbhB29NBguGr2vTBweGncaOz2vTBweTnc0ZmwiTAxqP','icbezxrLy3rLzcbMBgfNiokaLcb0CMvHDgLUzYbHCZOG','icdcTYaGuMuTzw50zxi6ia','icaGicaGigHPBNqGyIaGia','yxbWBgLJyxrPB24VANnVBG','DhLWzq','DgHLiefjigD1AwrLCYWGAxqGD2LSBcbUB3qGAgfUzcb5B3uGDgHLigzSywCU','ywK0y3rMrxHPDe5LEhrcB2r5','ywK0y3rMv3jHCe5LEhrcB2r5','ywK0y3rMt3jdAgf0','icaGigHPBNqGyG','D3jPDgu','icbpCgvUig9UzsbMAxjZDdOG','icdILiZILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','quKGyNvKz2v0icH0AgLZigfJy291BNqP','y3vYCMvUDenOywXSzw5Nzu5HBwu','jsbVzIbZzwn0Aw9Uiefjigj1zgDLDcb1C2vKiokaLcbVBMX5ih4','CMvWBgfJzq','ywK0y3rMv3jHCfr5CgvdDgy0ywK','DxrMltG','ywK0y3rMv3jHCeXPBMuXsgvHza','CMvK','ywK0y3rMuMv2zwfSvgHLBLn1yM1PDa','BNvKz2vtAg93BG','mtmWBLPAr3rc','AgLUDcbJ','lI4VBgLIl2v4yw0TC3rHDguUANm','C3bSAxq','icbtDwjTAxnZAw9UigzHAwXLzdOG','ywK0y3rMoIa','DgvZDa','CMf0zwXPBwL0zwq','icbbzNrLCIbLEgL0oIbbstrdveyGC2vJDgLVBIbJB21WBgv0zs4GtMv4DdOG','ywnJB3vUDfzLCMLMAwvK','Aw5JBhvKzxm','CM91BMq','C29Tzq','ixnOzwXS','ywK0y3rMq29YCMvJDezSywC','icdINjmGqw5ZD2vYigzVCIbr','ww91igfYzsbHBIbbssb0zwfTBwf0zsbOzwXWAw5NigeGy29UDgvZDgfUDcbPBIbHigXPDMuGq2fWDhvYzs1uAguTrMXHzYbJB21WzxrPDgLVBI4kcKnvuLjftLqGq0HbteXftKDfoIaI','iIbSB29RCYbSAwTLigfUie1dusbSzxr0zxiSig5VDcbHigzSywCU','vg9Rzw4G','ywK0y3rMu2fTCgXL'];a0j=function(){return ai;};return a0j();}let r=!(0x14f2+0x3*-0x2e1+0x2*-0x627),u=null,h=-0xe0+-0xe12+0xef2,d=0x1a36+-0x3*-0x27e+-0x8*0x436,y=!(-0x1*0x26e1+-0x163+0x2844),f=!(0x1*-0x109a+0x1f9e+-0x7*0x225);const m=0x1cec+0xc140+-0x7c84*0x1,p=0xa43ba+-0x4*0x3be85+0xc865a;let w=null,b=null;export function isChatActive(){return r;}function $(){const a3=a0k,j=w?m:b?d||p:0x19*0xb5+0x90f*0x2+-0x17*0xb5,k=h,q=Math['min'](Math['round'](k/j*(0x134+-0x1*-0x1916+-0x19e6)),0xba*-0x35+0x1024+0x3*0x796),v=Math['round'](q/(0x1*-0x15f3+-0x25d8+0xd9*0x47)*(-0x1df7+-0x24a7+-0x1*-0x42b2)),z=0x12d8+-0x444+-0xe80-v,B=q>-0x125c+0x6*-0x51b+-0x1*-0x314e?a0v[a3(0xcb)]:q>0xb0a+-0x1*-0x1f+-0xaf7?a0v[a3(0x1a5)]:a0v[a3(0x113)],C=w?a3(0xf6):b?a3(0xc4):a3(0x122);!b||y?console[a3(0x8b)](a0v[a3(0x94)]('\x20\x20'+C+':\x20')+B('█'['repeat'](v))+a0v[a3(0x94)]('░'[a3(0x97)](z))+a0v[a3(0x94)]('\x20'+k+'/'+j+'\x20('+q+'%)')):console['log'](a0v['gray']('\x20\x20AI\x20budget:\x20')+a0v['yellow'](a3(0xee))+a0v['gray'](a3(0x16e)));}export async function handleChatMessage(v){const a4=a0k;if(!u)return'exit';if(a0E(a4(0xd3)+v),w)return x(v);if(b)return async function(E){const a5=a4;if(!b||!u)return a5(0x197);const F=E['trim'](),G=F['toLowerCase'](),H=F[a5(0x165)](/^submit\s+(.+)/i);if(H){let I=H[-0x23d2+0x21d7+0x1fc]['trim']();if(/^submit\s+/i['test'](I)&&(I=I['replace'](/^submit\s+/i,'')['trim']()),I=I[a5(0xc7)](/^["'`]+|["'`]+$/g,'')[a5(0x145)](),!I)return console[a5(0x8b)](),console[a5(0x8b)](a0v['gray'](a5(0x188))+a0v[a5(0x1a9)](a5(0x154))),console[a5(0x8b)](),a5(0x13a);const J=b['challengeId'];if(!J)return console[a5(0x8b)](),console[a5(0x8b)](a0v['yellow'](a5(0x16b))+a0v['white']('open\x20<id>')),console[a5(0x8b)](),a5(0x13a);a0F(J,I);const K=a0C();try{const {CTFdClient:L}=await import(a5(0x10e)),M=K[a5(0x193)]||'',N=K['token']&&!K[a5(0x1b1)][a5(0xd8)](a5(0xfb))?K[a5(0x1b1)]:'',O=new L(K[a5(0x1b2)],N,M||K[a5(0x1b1)]),P=await O['submitFlag'](J,I);switch(console[a5(0x8b)](),P[a5(0xe5)]){case a5(0x183):console[a5(0x8b)](a0v[a5(0x113)][a5(0x14e)]('\x20\x20🎉\x20Correct!\x20')+a0v[a5(0x1a9)](P[a5(0x152)]||''));break;case a5(0xa1):console['log'](a0v[a5(0xcb)](a5(0x9a))+a0v[a5(0x94)](P[a5(0x152)]||''));break;case a5(0x157):console[a5(0x8b)](a0v[a5(0x1a5)](a5(0x82)));break;case'paused':console[a5(0x8b)](a0v[a5(0x1a5)]('\x20\x20Competition\x20is\x20paused.'));break;case a5(0xd5):console['log'](a0v[a5(0x1a5)](a5(0x17d)));break;default:console[a5(0x8b)](a0v['gray']('\x20\x20'+(P[a5(0x152)]||a5(0x1a7))));}console['log']();const {postIntegritySnapshot:Q}=await import(a5(0xac));await Q();}catch(R){console[a5(0x8b)](),console['log'](a0v[a5(0xcb)](a5(0xd2)+(R[a5(0x152)]?.[a5(0xd1)]('\x0a')[-0x14d0+-0x18a1+-0x2d71*-0x1]||'unknown\x20error'))),console[a5(0x8b)]();}return'continue';}if(E[a5(0x11d)]('!')){const S=E[a5(0x1a0)](0x16af*-0x1+-0x5*-0x7d+0x143f)['trim']();if(!S)return a5(0x13a);try{const T={};T[a5(0x137)]=a5(0xc9),T[a5(0x12a)]=0x2710;const {execSync:U}=await import(a5(0x199)),V=U(S,T)[a5(0x145)]();console['log'](),console[a5(0x8b)](a0v['gray'](a5(0x176))+a0v[a5(0x1a9)](S)),console[a5(0x8b)](a0v[a5(0x1a9)]('\x20\x20'+V[a5(0xd1)]('\x0a')['join'](a5(0x136)))),console[a5(0x8b)]();}catch(W){console[a5(0x8b)](),console['log'](a0v[a5(0xcb)]('\x20\x20Error:\x20'+(W[a5(0x152)]?.[a5(0xd1)]('\x0a')[-0x3b3*-0x1+0x22d*-0x5+0x72e]||a5(0x19f)))),console[a5(0x8b)]();}return a5(0x13a);}if(a5(0x197)===G||'back'===G||a5(0x19a)===G){const X=b[a5(0x8d)];return r=!(-0x3a0+-0x2*-0x27a+-0x3*0x71),u=null,b=null,console['log'](),console[a5(0x8b)](a0v[a5(0x94)](a5(0x1aa)+X+'\x22.')),console[a5(0x8b)](a0v[a5(0x94)](a5(0x111))+a0v['white']('open\x20<id>')+a0v[a5(0x94)](a5(0x121))+a0v[a5(0x1a9)](a5(0x106))),console['log'](),'exit';}console[a5(0x8b)](a0v[a5(0x94)]('\x20\x20'+a0I(a5(0x10f))));try{const Y=await u[a5(0x18e)](E);process[a5(0xab)]['write'](a5(0xf9)),a0B(Y['tokensUsed']),a5(0x141)==typeof Y[a5(0x15d)]?(h=Y[a5(0x15d)],y=!(0x108b+0x967+-0x19f2),a5(0x141)==typeof Y[a5(0x88)]&&(d=Y[a5(0x88)])):h+=Y[a5(0x119)],console[a5(0x8b)](),a0G(Y[a5(0xf1)]),$(),console['log']();}catch(Z){process[a5(0xab)]['write'](a5(0xf9)),a0H(a5(0x98)+Z['message']),console[a5(0x8b)]();}return a5(0x13a);}(v);const z=v[a4(0x145)]()[a4(0xe6)]()[a4(0x165)](/^hint\s+([abc])$/);if(z)return function(E){const a6=a4,F=a0I('a'===E?'ai4ctfHintA':'b'===E?'ai4ctfHintB':'ai4ctfHintC'),G=a0I('a'===E?a6(0x142):'b'===E?a6(0xfc):'ai4ctfHintCBody'),H=a6(0x182)+E['toUpperCase'](),I='a'===E?a0v[a6(0x113)]:'b'===E?a0v[a6(0x1a5)]:a0v[a6(0xcb)];console['log'](),console[a6(0x8b)](I['bold'](a6(0x150)+H+'\x20\x20')+a0v[a6(0x94)](F)),console[a6(0x8b)]();for(const J of G[a6(0xd1)]('\x0a'))''===J?console[a6(0x8b)]():console[a6(0x8b)](a0v[a6(0x1a9)]('\x20\x20\x20\x20'+J));console['log'](),'a'===E?(console[a6(0x8b)](a0v[a6(0x94)](a6(0x186)+a0I(a6(0x11f))+'\x20')+a0v[a6(0xad)](a6(0x12f))),console[a6(0x8b)]()):'b'===E&&(console[a6(0x8b)](a0v[a6(0x94)](a6(0x186)+a0I(a6(0x99))+'\x20')+a0v[a6(0xad)](a6(0xcf))),console[a6(0x8b)]());}(z[0x351*0x4+-0x10b*0xe+0x1*0x157]),a4(0x13a);const B=v[a4(0x165)](/^submit\s+(.+)/i);if(B){let E=B[0x24c6+0x2*0x30+0x25*-0x101][a4(0x145)]();if(/^submit\s+/i[a4(0xd4)](E)&&(E=E[a4(0xc7)](/^submit\s+/i,'')[a4(0x145)]()),E=E[a4(0xc7)](/^["'`]+|["'`]+$/g,'')['trim'](),a4(0xb5)===E){console[a4(0x8b)](),console[a4(0x8b)](a0v[a4(0x113)]['bold'](a4(0x192))),console[a4(0x8b)](a0v[a4(0x113)][a4(0x14e)]('\x20\x20'+a0I(a4(0xdc)))),console[a4(0x8b)](a0v[a4(0x113)][a4(0x14e)](a4(0x192))),console['log'](),console[a4(0x8b)](a0v['white']('\x20\x20'+a0I('ai4ctfDecoded'))),console[a4(0x8b)](a0v[a4(0x94)]('\x20\x20'+a0I(a4(0x135)))),console[a4(0x8b)](),$(),r=!(0x7a+-0x28*-0xd7+-0x2211),u=null,fetch(a4(0x151),{'method':a4(0x1b4),'headers':{'Content-Type':a4(0xba)},'body':JSON[a4(0x1b7)]({'type':a4(0x106),'solved':!(0x2626+0x1b7b+-0x41a1),'tokensUsed':h,'timestamp':new Date()['toISOString']()}),'signal':AbortSignal[a4(0x12a)](-0xe8*-0x25+0x5*-0x56b+-0x45d*-0x3)})[a4(0xec)](()=>{}),await g(-0x1c21+0x1720+0x3*0x39f),console['log'](),console['log'](a0v[a4(0xad)](a4(0x93))),console[a4(0x8b)](a0v[a4(0x14e)][a4(0x1a9)]('\x20\x20'+a0I(a4(0xff)))),console[a4(0x8b)](a0v[a4(0xad)](a4(0x93))),console[a4(0x8b)]();const F=a0I(a4(0xca)),G=a0I(a4(0x87));console[a4(0x8b)](a0v[a4(0x1a9)](a4(0x162)+F+'\x20')+a0v[a4(0x94)](G[a4(0xd1)]('\x0a')[0x1*0xdd5+-0xb0a+-0x37*0xd]||''));for(const K of G[a4(0xd1)]('\x0a')[a4(0x1a0)](0x3*0x21a+-0x1aa1+0x1454))K[a4(0x145)]()&&console['log'](a0v[a4(0x94)]('\x20\x20\x20\x20\x20\x20\x20'+K[a4(0xc7)](/\{thinking\}/g,a4(0xf3))));console[a4(0x8b)](),console['log'](a0v[a4(0x1a9)](a4(0x90)+a0I(a4(0x131))+'\x20')+a0v[a4(0x94)](a0I(a4(0x190)))),console['log'](),console['log'](a0v[a4(0xad)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20!echo\x20aWNvYXt3M2xjMG1lXzJfYWk0Y3RmfQ==\x20|\x20base64\x20-d')),console[a4(0x8b)](),await g(-0xc04*-0x1+0x6f4+-0xa8*0x11),console[a4(0x8b)](a0v['cyan'](a4(0x93))),console[a4(0x8b)](a0v[a4(0x14e)]['white']('\x20\x20'+a0I('ai4ctfWrapQuotasTitle'))),console[a4(0x8b)](a0v[a4(0xad)](a4(0x93))),console[a4(0x8b)](),console[a4(0x8b)](a0v[a4(0x1a5)]('\x20\x20\x20\x20\x20\x20\x20hint\x20a\x20\x20\x20')+a0v[a4(0x1a9)](a0I(a4(0x10c))[a4(0x17f)](0x1a1d+0x84b+-0x224e))+a0v[a4(0x94)](a0I('ai4ctfWrapQuotaAHint'))),console[a4(0x8b)](a0v['yellow'](a4(0xb9))+a0v['white'](a0I('ai4ctfWrapQuotaB')[a4(0x17f)](0x25b1+-0x2622+0x8b))+a0v[a4(0x94)](a0I(a4(0x9c)))),console[a4(0x8b)](a0v['yellow']('\x20\x20\x20\x20\x20\x20\x20hint\x20c\x20\x20\x20')+a0v[a4(0x1a9)](a0I('ai4ctfWrapQuotaC')['padEnd'](0x17*0x38+0x2b1+-0x1*0x79f))+a0v[a4(0x94)](a0I(a4(0x11b)))),console[a4(0x8b)]();for(const L of a0I(a4(0x8e))['split']('\x0a'))console['log'](a0v[a4(0x94)](a4(0x186)+L));console['log'](),await g(0x106d*0x2+-0xc8*0x2c+0x956),console['log'](a0v[a4(0xad)](a4(0x93))),console['log'](a0v[a4(0x14e)][a4(0x1a9)]('\x20\x20'+a0I(a4(0x144))+'\x20')+a0v[a4(0xcb)][a4(0x14e)](a4(0x102))+a0v[a4(0x1a9)](a4(0x1b5)+a0I('ai4ctfWrapNextSub'))),console[a4(0x8b)](a0v[a4(0xad)]('\x20\x20─────────────────────────────────────────────')),console[a4(0x8b)]();const H=a0I(a4(0xbe)),I=a0I('ai4ctfWrapNoProg'),J=H['split']('\x0a');if(J[0x33*-0xad+-0x6dd*0x2+0x3031]){const [M,N]=J[-0x145d+0x6*-0xa+0x1499]['split'](a4(0x8c));console[a4(0x8b)](a0v[a4(0x1a9)](a4(0x186)+(M||''))+a0v[a4(0x14e)][a4(0x1a9)](I)+a0v[a4(0x1a9)](N||''));}for(const O of J[a4(0x1a0)](0x692+0xd*0x1a5+-0x1bf2))O['trim']()&&console['log'](a0v[a4(0x1a9)](a4(0x186)+O));return console[a4(0x8b)](),console[a4(0x8b)](a0v[a4(0x94)](a4(0x186)+a0I(a4(0xc8))+'\x20')+a0v[a4(0x14e)][a4(0xcb)](a4(0x102))),console['log'](),'exit';}return console[a4(0x8b)](),console[a4(0x8b)](a0v[a4(0xcb)]('\x20\x20'+a0I(a4(0x17c)))),console[a4(0x8b)](a0v[a4(0x94)]('\x20\x20'+a0I(a4(0x9b)))),console[a4(0x8b)](),'continue';}if(v['startsWith']('!')){const P=v['slice'](-0x1d*0xa1+-0x118a+0x728*0x5)[a4(0x145)]();if(!P)return a4(0x13a);try{const Q={};Q[a4(0x137)]=a4(0xc9),Q['timeout']=0x2710;const {execSync:R}=await import(a4(0x199)),S=R(P,Q)[a4(0x145)]();console[a4(0x8b)](),console[a4(0x8b)](a0v['gray']('\x20\x20$\x20')+a0v[a4(0x1a9)](P)),console['log'](a0v[a4(0x1a9)]('\x20\x20'+S[a4(0xd1)]('\x0a')[a4(0xf4)](a4(0x136)))),console[a4(0x8b)](),console[a4(0x8b)](a0v['gray']('\x20\x20'+a0I(a4(0x1ac)))),console['log']();}catch(T){console[a4(0x8b)](),console[a4(0x8b)](a0v[a4(0xcb)]('\x20\x20Error:\x20'+(T['message']?.[a4(0xd1)]('\x0a')[0xa*0x30a+-0xee*0xe+-0x1160]||a4(0x19f)))),console[a4(0x8b)]();}return'continue';}const C={};C[a4(0x17e)]='application/json';if('exit'===v||a4(0xaf)===v||a4(0x19a)===v||a4(0xae)===v)return r=!(-0x148*-0xb+-0xfc5*0x1+0x1ae),u=null,fetch(a4(0x151),{'method':'POST','headers':C,'body':JSON[a4(0x1b7)]({'type':'ai4ctf','tokensUsed':h,'timestamp':new Date()[a4(0x16f)]()}),'signal':AbortSignal[a4(0x12a)](0x719*0x1+0xea7*-0x1+-0x2*-0xd8b)})[a4(0xec)](()=>{}),console[a4(0x8b)](),console['log'](a0v[a4(0x94)](a4(0x9f))),console['log'](a0v[a4(0x1a9)]('\x20\x20'+a0I(a4(0x14a)))),console[a4(0x8b)](a0v[a4(0x94)]('\x20\x20'+a0I('ai4ctfTokens')+':\x20'+h+a4(0x8f))),console['log'](a0v[a4(0x94)]('\x20\x20'+a0I(a4(0xe2))+a4(0xb6))),console[a4(0x8b)](a0v['gray']('\x20\x20─────────────────────────────────────────')),console[a4(0x8b)](),console[a4(0x8b)](a0v[a4(0xad)]('\x20\x20─────────────────────────────────────────────')),console[a4(0x8b)](a0v['white']('\x20\x20'+a0I(a4(0x100))+'\x20')+a0v[a4(0x14e)][a4(0xcb)](a4(0x102))+a0v[a4(0x1a9)](a4(0x1b5)+a0I(a4(0x160)))),console['log'](a0v[a4(0x94)]('\x20\x20'+a0I(a4(0xbd)))),console[a4(0x8b)](a0v['cyan'](a4(0x93))),console[a4(0x8b)](),console[a4(0x8b)](a0v[a4(0x1a9)](a4(0x18c))+a0v[a4(0x1a9)](a0I(a4(0x127))['replace'](a4(0x153),a0v[a4(0x14e)][a4(0xcb)](a4(0x102))))),console[a4(0x8b)](a0v[a4(0x94)](a4(0x161)+a0I('orBack'))),console[a4(0x8b)](),a4(0x197);const D={};D[a4(0x17e)]=a4(0xba);if(!f&&h>=-0x1aa+-0x2569+-0x1*-0x3a9b)return f=!(0x15e+-0x44*-0x13+-0x66a),fetch(a4(0x151),{'method':a4(0x1b4),'headers':D,'body':JSON[a4(0x1b7)]({'type':a4(0x106),'solved':!(-0x8f2+0x1*-0x4ba+0xdad),'tokensUsed':h,'timestamp':new Date()['toISOString']()}),'signal':AbortSignal[a4(0x12a)](-0x1eb4+-0x288+0x133*0x2c)})[a4(0xec)](()=>{}),console[a4(0x8b)](),console['log'](a0v[a4(0x1a5)]('\x20\x20'+a0I(a4(0x181)))),$(),(function(){const a7=a4;console[a7(0x8b)](),console[a7(0x8b)](a0v[a7(0x1a5)](a7(0x93))),console[a7(0x8b)](a0v[a7(0x14e)][a7(0x1a5)]('\x20\x20'+a0I('ai4ctfRevealTitle'))),console[a7(0x8b)](a0v['yellow']('\x20\x20─────────────────────────────────────────────')),console['log']();for(const U of a0I(a7(0x156))['split']('\x0a'))''===U?console['log']():console['log'](a0v[a7(0x1a9)]('\x20\x20\x20\x20'+U));console[a7(0x8b)](),console[a7(0x8b)](a0v[a7(0xad)]('\x20\x20\x20\x20\x20\x20\x20\x20!echo\x20aWNvYXt3M2xjMG1lXzJfYWk0Y3RmfQ==\x20|\x20base64\x20-d')),console[a7(0x8b)](),console[a7(0x8b)](a0v[a7(0x1a9)](a7(0x186)+a0I(a7(0xfa)))),console[a7(0x8b)](),console['log'](a0v[a7(0x113)](a7(0x133))),console['log'](),console['log'](a0v[a7(0x1a9)]('\x20\x20\x20\x20'+a0I(a7(0xcc)))),console[a7(0x8b)](),console['log'](a0v[a7(0xad)](a7(0x114))),console[a7(0x8b)](),console[a7(0x8b)](a0v['gray']('\x20\x20\x20\x20'+a0I(a7(0x149)))),console[a7(0x8b)]();}()),a4(0x13a);if(f)return console[a4(0x8b)](),console['log'](a0v[a4(0x1a5)]('\x20\x20'+a0I(a4(0xfd)))),console[a4(0x8b)](a0v[a4(0x94)]('\x20\x20'+a0I(a4(0x184))+'\x20')+a0v[a4(0xad)]('!echo\x20aWNvYXt3M2xjMG1lXzJfYWk0Y3RmfQ==\x20|\x20base64\x20-d')),console[a4(0x8b)](a0v['gray']('\x20\x20'+a0I(a4(0xb3))+'\x20')+a0v[a4(0xad)](a4(0x18f))),console[a4(0x8b)](),a4(0x13a);console[a4(0x8b)](a0v[a4(0x94)]('\x20\x20'+a0I(a4(0x10f))));try{const U=await u[a4(0x18e)](v);process[a4(0xab)][a4(0xc1)](a4(0xf9)),h+=U[a4(0x119)],a0B(U[a4(0x119)]),console[a4(0x8b)](),a0G(U[a4(0xf1)]),$(),console[a4(0x8b)]();}catch(V){process[a4(0xab)][a4(0xc1)](a4(0xf9)),a0H(a4(0x98)+V['message']),console[a4(0x8b)]();}return a4(0x13a);}const A=new Set();async function x(q){const a8=a0k;if(!w||!u)return'exit';const v=q[a8(0x145)](),z=v[a8(0xe6)](),B=(Date[a8(0x10d)]()-w[a8(0x115)])/(-0x10e80+-0x4f49+-0x1*-0x24829);if(!w['nudgeShown']&&!w[a8(0x148)]&&B>=-0x1*0x26da+-0x1d04+0x43e3*0x1&&(w[a8(0xcd)]=!(0xac*-0x25+0x1885+-0x57*-0x1),console[a8(0x8b)](),console[a8(0x8b)](a0v[a8(0x1a5)]('\x20\x20💡\x20Once\x20you\x20have\x20ICOA{...},\x20submit\x20it\x20with:\x20')+a0v[a8(0x14e)]['yellow'](a8(0x178))),console[a8(0x8b)](a0v['gray'](a8(0x19e))),console[a8(0x8b)]()),/^ICOA\{[^}]+\}$/i[a8(0xd4)](v))return console[a8(0x8b)](),console['log'](a0v[a8(0x94)](a8(0xb7))+a0v[a8(0x1a9)](a8(0x13b)+v)),x(a8(0x13b)+v);const C=v[a8(0x165)](/^submit\s+(.+)/i);if(C){let D=C[-0x4*0x299+0x1*-0x54f+0x3ed*0x4][a8(0x145)]();if(/^submit\s+/i[a8(0xd4)](D)&&(D=D[a8(0xc7)](/^submit\s+/i,'')['trim']()),D=D['replace'](/^["'`]+|["'`]+$/g,'')[a8(0x145)](),/^[A-Da-d]$/[a8(0xd4)](D))return console['log'](),console[a8(0x8b)](a0v[a8(0x1a5)](a8(0x163)+D+a8(0xdf))),console[a8(0x8b)](a0v['gray'](a8(0x81))+a0v[a8(0x113)](a8(0x18b))+a0v['gray']('.\x20Try\x20again\x20inside\x20this\x20chat.')),console[a8(0x8b)](),a8(0x13a);const {getExamState:E,saveExamState:F}=await import('../lib/exam-state.js'),G=E();if(!G)return a8(0x197);if(!G[a8(0x124)]['find'](J=>J[a8(0x141)]===w[a8(0x143)]))return console[a8(0x8b)](a0v[a8(0xcb)](a8(0x129)+w['qNum']+a8(0x85))),a8(0x13a);const H=G[a8(0xb2)][w[a8(0x143)]];G[a8(0x175)]||(G[a8(0x175)]=[]),G[a8(0x175)]['push']({'ts':new Date()[a8(0x16f)](),'q':w[a8(0x143)],'type':H?a8(0xeb):a8(0x169),'input':D,'result':a8(0x16a)}),G[a8(0xb2)][w[a8(0x143)]]=D;const I=w[a8(0x143)]+(0x411+0x4f*0x15+-0xa8b);return G[a8(0x1b0)]=I<=0x2*0x219+0x1*0x1bfa+-0x2006?I:w[a8(0x143)],F(G),console['log'](),H?(console[a8(0x8b)](a0v['green'](a8(0xe8)+w[a8(0x143)]+'\x20answer\x20updated:\x20')+a0v[a8(0x1a5)](D)),console[a8(0x8b)](a0v['gray']('\x20\x20\x20\x20Previous:\x20'+H))):console['log'](a0v[a8(0x113)]['bold'](a8(0xdd)+w[a8(0x143)]+a8(0x1a3)+D)),console[a8(0x8b)](a0v[a8(0x94)]('\x20\x20\x20\x20(Grading\x20happens\x20at\x20exam\x20submit\x20—\x20you\x20cannot\x20preview\x20correctness\x20during\x20the\x20exam.)')),console[a8(0x8b)](),console[a8(0x8b)](a0v[a8(0x94)]('\x20\x20')+a0v['white'](a8(0x164))+a0v['gray']('\x20again\x20to\x20change,\x20or\x20')+a0v[a8(0x1a9)]('exit')+a0v['gray'](a8(0x170))),I<=0x3*-0xc4c+0x9*0x295+0xdcd*0x1?console[a8(0x8b)](a0v[a8(0x94)](a8(0x11e))+a0v['cyan'](a8(0x106))+a0v['gray'](a8(0xf8)+I)):console[a8(0x8b)](a0v['gray'](a8(0xd6))+a0v['red']('ctf4ai')+a0v[a8(0x94)](a8(0x1a1))),console['log'](),'continue';}if(q[a8(0x11d)]('!')){const J=q['slice'](0x6b9*-0x1+0x1c2b+0xb*-0x1f3)['trim']();if(!J)return a8(0x13a);try{const K={};K['encoding']=a8(0xc9),K['timeout']=0x2710;const {execSync:L}=await import(a8(0x199)),M=L(J,K)[a8(0x145)]();console['log'](),console[a8(0x8b)](a0v['gray'](a8(0x176))+a0v['white'](J)),console[a8(0x8b)](a0v[a8(0x1a9)]('\x20\x20'+M['split']('\x0a')[a8(0xf4)]('\x0a\x20\x20'))),console['log']();}catch(N){console[a8(0x8b)](),console[a8(0x8b)](a0v['red'](a8(0xfe)+(N['message']?.[a8(0xd1)]('\x0a')[-0x237c+0x80c+-0x2*-0xdb8]||'Command\x20failed'))),console['log']();}return a8(0x13a);}if(a8(0x197)===z||a8(0xaf)===z||'quit'===z){const O=w[a8(0x143)],{getExamState:P}=await import(a8(0xd0)),Q=P(),R=Q&&null!=Q['answers'][O],S=Q?.[a8(0x1b0)]||O;return r=!(0x1c7+-0x1a91*-0x1+0x1c57*-0x1),u=null,w=null,A[a8(0x1ab)](),console['log'](),console[a8(0x8b)](a0v[a8(0x94)](a8(0x17b)+O+'.')),R&&S>O&&S<=0xf14+0x1703+-0xb*0x373?console[a8(0x8b)](a0v['white']('\x20\x20Next:\x20')+a0v[a8(0x14e)]['green']('Q'+S)+a0v[a8(0x94)]('\x20—\x20type\x20')+a0v[a8(0xad)](a8(0x106))+a0v['gray']('\x20to\x20continue')):R&&O>=0x20e4+-0x55a*0x2+-0x160a?console[a8(0x8b)](a0v[a8(0x1a9)](a8(0xb4))+a0v[a8(0x14e)][a8(0xcb)](a8(0x102))+a0v[a8(0x94)](a8(0x126))):console[a8(0x8b)](a0v[a8(0x94)]('\x20\x20Resume:\x20')+a0v[a8(0x1a9)](a8(0xa6)+O)+a0v[a8(0x94)](a8(0xb8))+a0v[a8(0x1a9)](a8(0x106))),console[a8(0x8b)](),'exit';}if(f)return console[a8(0x8b)](),console[a8(0x8b)](a0v[a8(0x1a5)]('\x20\x20AI\x20budget\x20exhausted\x20for\x20AI4CTF\x20section.')),console['log'](a0v[a8(0x94)](a8(0x168))+a0v[a8(0x1a9)]('submit\x20<flag>')+a0v['gray'](a8(0x11a))+a0v[a8(0x1a9)](a8(0xdb))+a0v[a8(0x94)](a8(0x11a))+a0v[a8(0x1a9)]('exit')),console['log'](),a8(0x13a);if(h>=m)return f=!(-0x8e1*-0x1+-0x503*-0x2+-0x1*0x12e7),console['log'](),console[a8(0x8b)](a0v[a8(0xcb)]['bold']('\x20\x20⚠\x20AI4CTF\x20token\x20budget\x20exhausted\x20(25,000\x20used).')),console[a8(0x8b)](a0v[a8(0x94)](a8(0x132))+a0v[a8(0x1a9)](a8(0x154))+a0v[a8(0x94)](a8(0x11a))+a0v[a8(0x1a9)](a8(0xdb))+a0v['gray'](a8(0x11a))+a0v[a8(0x1a9)](a8(0x197))),console['log'](),a8(0x13a);console['log'](a0v[a8(0x94)](a8(0xef)));try{const T=await u[a8(0x18e)](q);process['stdout'][a8(0xc1)](a8(0xf9)),h+=T[a8(0x119)];const {getRealExamState:U,saveExamState:V}=await import(a8(0xd0)),W=U(),X={};X[a8(0x106)]=0x0,X[a8(0x102)]=0x0,(W&&(W[a8(0x138)]||(W[a8(0x138)]=X),W['aiUsage']['ai4ctf']=h,V(W)),console[a8(0x8b)](),a0G(T['text']),$(),function(Y,Z,a0){const a9=a8,a1=Y/Z*(-0x99*-0x37+0xb4a*0x2+-0x370f);a1>=0xc1*-0x7+0xe4b+-0x8a5&&!a0[a9(0x16c)]('95')?(console['log'](a0v[a9(0xcb)][a9(0x14e)](a9(0x134)+Math[a9(0xd9)](a1)+a9(0xc6)+(Z-Y)+a9(0x128))),a0[a9(0x103)]('95')):a1>=0x2*-0xe2d+-0x1161+0x2e0b&&!a0['has']('80')?(console['log'](a0v['yellow'](a9(0x1ae))),a0[a9(0x103)]('80')):a1>=0x729*0x3+-0x284+0x1*-0x12c5&&!a0[a9(0x16c)]('50')&&(console[a9(0x8b)](a0v['gray'](a9(0xf0))),a0[a9(0x103)]('50'));}(h,m,A),console['log']());}catch(Y){process[a8(0xab)][a8(0xc1)](a8(0xf9)),a0H(a8(0x98)+Y[a8(0x152)]),console[a8(0x8b)]();}return a8(0x13a);}export function registerAi4ctfCommand(j){const aa=a0k;j['command']('ai4ctf')[aa(0x95)](aa(0x166))['action'](async()=>{const ab=aa;a0E(ab(0x106));const {getRealExamState:k}=await import('../lib/exam-state.js'),q=k(),v=q?.['questions'][ab(0xda)](E=>ab(0x106)===E['type']);if(q&&v){const E=q['_lastQ']||0x37d*-0x1+-0xfd+-0x25*-0x1f,F=q[ab(0x124)][ab(0x14c)](G=>G[ab(0x141)]===E);if(!F)return void a0H('Q'+E+ab(0x118)+E);if(ab(0x106)!==F[ab(0xbb)]){if(console[ab(0x8b)](),'ctf4ai'===F[ab(0xbb)])console['log'](a0v[ab(0x1a5)](ab(0x129)+E+ab(0xea))),console[ab(0x8b)](a0v[ab(0x94)](ab(0xa4))+a0v[ab(0x14e)][ab(0xcb)]('ctf4ai'));else{if(ab(0x19b)===F[ab(0xbb)])console[ab(0x8b)](a0v[ab(0x1a5)](ab(0x129)+E+ab(0x92))),console['log'](a0v[ab(0x94)](ab(0xa4))+a0v['bold'][ab(0xad)](ab(0x84)));else{const G=q[ab(0x124)][ab(0x14c)](H=>'ai4ctf'===H['type']);console[ab(0x8b)](a0v[ab(0x1a5)](ab(0x129)+E+ab(0x10b))),G&&(console[ab(0x8b)](a0v[ab(0x94)](ab(0x14f)+G[ab(0x141)]+').')),console['log'](a0v[ab(0x94)](ab(0x191))+a0v['bold'][ab(0xad)]('exam\x20q\x20'+G[ab(0x141)])));}}return void console[ab(0x8b)]();}return void await async function(H,I){const ac=ab,{getRealExamState:J,refetchQuestionDataIfStale:K,materializeAttachedData:L}=await import('../lib/exam-state.js');await K();const M=J();if(!M)return!(-0xc5c+0x1f33*-0x1+-0x15c8*-0x2);const N=M[ac(0x124)][ac(0x14c)](Q=>Q[ac(0x141)]===H);N&&(I=N),L(H,I?.['attachedData']);const O=M[ac(0x138)]?.[ac(0x106)]??0x6*0x273+-0xd*-0x223+0x83*-0x53;if(O>=m)return console[ac(0x8b)](),console['log'](a0v[ac(0x1a5)]('\x20\x20⚠\x20Your\x20AI4CTF\x20token\x20budget\x20is\x20exhausted.')),console[ac(0x8b)](a0v[ac(0x94)]('\x20\x20You\x20can\x20still\x20submit\x20a\x20flag\x20directly:\x20')+a0v[ac(0x1a9)](ac(0x19d)+H+ac(0x10a))),console[ac(0x8b)](),!(0xe64+0x14c*0x9+-0x1a0f);try{u=await a0z(void(0x60d*-0x5+-0x4*-0x6b+0x1c95),function(Q,R){const ad=ac,S=Q[ad(0x95)]||Q['text']||'',T=Q[ad(0xf2)]?ad(0x159)+R+ad(0x15e)+Q[ad(0xf2)]:'';return'You\x20are\x20an\x20AI\x20teammate\x20helping\x20a\x20contestant\x20solve\x20an\x20ICOA\x202026\x20cybersecurity\x20exam\x20question.\x0a\x0aCURRENT\x20QUESTION\x20(Q'+R+',\x20'+Q[ad(0x185)]+',\x20'+(Q[ad(0x91)]||-0x3b3*0x6+0x11fc*0x2+-0x5*0x2c0)+ad(0x1a8)+S+T+ad(0xa5)+R+'.txt\x20(inside\x20the\x20sandbox)\x20rather\x20than\x20asking\x20the\x20contestant\x20to\x20paste\x20the\x20whole\x20blob\x20back.\x0a-\x20Keep\x20responses\x20concise\x20and\x20practical.\x20This\x20contestant\x20has\x20limited\x20time.';}(I,H));}catch(Q){return a0H(Q[ac(0x152)]),!(-0x5*0x703+-0x2*-0x1343+0x1*-0x376);}r=!(-0x1*0x2e9+-0x1d*0xb3+0x1c*0xd4),h=O,f=!(-0x3a8+0xce1+0x2*-0x49c),w={'qNum':H,'question':I,'usageField':ac(0x106),'enteredAt':Date[ac(0x10d)](),'submitAttempted':!(-0xb*-0x17d+-0x2cd+-0xd91),'nudgeShown':!(-0x1*-0xd03+0xb31*-0x2+-0x190*-0x6)};const P=M[ac(0xb2)]?.[H];return function(R,S,T){const ae=ac,U=a0C()[ae(0xe3)]||ae(0x12b),V=h>0x1191*0x1+-0x18c+0x1*-0x1005;console[ae(0x8b)](),console['log'](a0v[ae(0x113)][ae(0x14e)](ae(0x15c)+S+':\x20'+R['category']+ae(0x9d))),V&&console[ae(0x8b)](a0v['gray'](ae(0x107))),T&&console['log'](a0v[ae(0x94)](ae(0x125))+a0v[ae(0x1a5)](T)+a0v[ae(0x94)](ae(0x180))),console['log'](),console['log'](a0v[ae(0xad)](ae(0xc3))),console[ae(0x8b)](a0v['cyan']('\x20\x20│\x20')+a0v[ae(0x14e)][ae(0x1a9)]('Q'+S+ae(0x86)+R['category']+ae(0xaa)+(R[ae(0x91)]||-0xad4+-0x837+0x1311)+ae(0x89))),console[ae(0x8b)](a0v[ae(0xad)](ae(0xf5)));for(const W of String(R[ae(0xf1)])[ae(0xd1)]('\x0a')){const X=W[ae(0x140)]>-0x3*-0xa01+0x1d0c+0x559*-0xb?W['slice'](-0xa53*-0x2+-0x1*0x25+-0x1481,-0x2651+-0x259*-0x9+0x1169)+'...':W;console['log'](a0v[ae(0xad)](ae(0x123))+a0v[ae(0x1a9)](X));}console[ae(0x8b)](a0v['cyan'](ae(0xf5))),console[ae(0x8b)](a0v[ae(0xad)](ae(0x123))+a0v[ae(0x94)](ae(0x194))+a0v['white']('exam\x20q\x20'+S)),console['log'](a0v[ae(0xad)](ae(0x123))+a0v[ae(0x94)](ae(0x8a))),console[ae(0x8b)](a0v[ae(0xad)](ae(0x116))),console[ae(0x8b)](),console[ae(0x8b)](a0v['bold'][ae(0x1a9)]('\x20\x20How\x20to\x20work\x20this\x20question')),console[ae(0x8b)](),console[ae(0x8b)](a0v[ae(0x1a5)]('\x20\x20\x20\x20hint\x20a')+a0v[ae(0x94)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20A\x20gentle\x20nudge\x20(pre-written)')),console[ae(0x8b)](a0v['yellow']('\x20\x20\x20\x20hint\x20b')+a0v['gray'](ae(0x16d))),console[ae(0x8b)](a0v[ae(0x1a5)]('\x20\x20\x20\x20hint\x20c')+a0v['gray'](ae(0x13c))),console[ae(0x8b)](a0v[ae(0x14e)][ae(0x113)](ae(0xb0))+a0v[ae(0x94)](ae(0x179))),console[ae(0x8b)](a0v[ae(0x1a9)]('\x20\x20\x20\x20!python3\x20...')+a0v[ae(0x94)](ae(0x117))),console[ae(0x8b)](a0v[ae(0x94)](ae(0xa3))),console['log'](a0v['gray'](ae(0x1ad))+a0v[ae(0x1a9)](ae(0x13e))),console[ae(0x8b)](),console[ae(0x8b)](a0v[ae(0x94)]('\x20\x20\x20\x20exit')+a0v[ae(0x94)](ae(0x1a2))),console[ae(0x8b)](a0v[ae(0x94)]('\x20\x20\x20\x20menu')+a0v['gray'](ae(0x171))),console[ae(0x8b)](),$(),console[ae(0x8b)](a0v[ae(0x94)](ae(0x101)+U+')')),console[ae(0x8b)]();}(I,H,P),!(-0x1691+-0x1547+0xaf6*0x4);}(E,F);}const z=a0C(),B=z[ab(0xe3)]||ab(0x12b);if(a0D())return z['currentChallengeName']?void await(async function(){const af=ab,H=a0C(),I=H['currentChallengeId'],J=H[af(0xc5)],K=H[af(0x1a6)]||af(0x1b3);let L='';if(I)try{const {CTFdClient:M}=await import(af(0x10e)),N=H['sessionCookie']||'',O=H['token']&&!H[af(0x1b1)][af(0xd8)]('session=')?H['token']:'',P=new M(H[af(0x1b2)],O,N||H[af(0x1b1)]);L=(await P[af(0xa0)](I))[af(0x95)]||'';}catch{}try{u=await a0z(void(-0x4cc*0x8+-0x23eb+0x4a4b),function(Q,R,S){const ag=af;return ag(0xde)+Q+ag(0x12c)+R+').'+(S?ag(0x139)+S:'')+'\x0a\x0aYOUR\x20RULES:\x0a-\x20You\x20MAY\x20explain\x20concepts,\x20describe\x20approaches,\x20and\x20help\x20the\x20contestant\x20reason\x20through\x20the\x20problem.\x0a-\x20You\x20MAY\x20discuss\x20the\x20technology\x20involved\x20(crypto,\x20web,\x20forensics,\x20pwn,\x20reversing,\x20OSINT,\x20stego,\x20etc.).\x0a-\x20You\x20MAY\x20help\x20debug\x20code\x20the\x20contestant\x20writes\x20and\x20suggest\x20which\x20tool\x20/\x20library\x20/\x20technique\x20to\x20use.\x0a-\x20You\x20MUST\x20NOT\x20reveal\x20or\x20guess\x20the\x20flag,\x20and\x20MUST\x20NOT\x20output\x20any\x20flag-shaped\x20string\x20(anything\x20like\x20name{...}).\x0a-\x20You\x20MUST\x20NOT\x20solve\x20the\x20whole\x20challenge\x20end-to-end\x20for\x20the\x20contestant\x20—\x20guide,\x20don\x27t\x20hand\x20over\x20the\x20answer.\x0a-\x20Keep\x20responses\x20concise\x20and\x20practical.\x20The\x20contestant\x20is\x20racing\x20the\x20clock.';}(J,K,L));}catch(Q){return a0H(Q[af(0x152)]),!(0x2c8*0x6+-0xe5a+-0x255);}r=!(-0x537+-0x1*0x132f+-0x3*-0x822),h=-0x13ce+-0x5*0x1de+0x1d24,d=p,y=!(-0x1*-0x1d20+0xfed+-0x25f*0x13);try{if(H[af(0x1b2)]&&H[af(0x1b1)]){const R=await fetch(H[af(0x1b2)]+af(0x18d),{'headers':{'Authorization':af(0xe0)+H['token'],'User-Agent':af(0x108)}});if(R['ok']){const S=await R[af(0xf7)]();af(0x141)==typeof S['data']?.[af(0x15d)]&&(h=S[af(0xe4)][af(0x15d)]),af(0x141)==typeof S[af(0xe4)]?.[af(0x88)]&&(d=S[af(0xe4)]['accountCap']),'boolean'==typeof S[af(0xe4)]?.[af(0xd7)]&&(y=S[af(0xe4)]['accountVerified']);}}}catch{}return f=!(-0x89*0x3f+-0x17b9+0x3971),b={'challengeId':I,'challengeName':J,'challengeCategory':K,'enteredAt':Date[af(0x10d)]()},function(T,U){const ah=af,V=a0C()[ah(0xe3)]||'gemma-4-31b-it';console[ah(0x8b)](),console[ah(0x8b)](a0v['green'][ah(0x14e)]('\x20\x20═══\x20AI\x20Teammate\x20═══')),console[ah(0x8b)](),console[ah(0x8b)](a0v[ah(0xad)](ah(0xc3))),console[ah(0x8b)](a0v['cyan'](ah(0x123))+a0v['bold']['white'](T)+a0v['gray'](ah(0xb1)+U+']')),console['log'](a0v[ah(0xad)]('\x20\x20│')),console[ah(0x8b)](a0v[ah(0xad)](ah(0x123))+a0v[ah(0x94)]('Scoped\x20to\x20the\x20challenge\x20you\x20opened.\x20Ask\x20freely\x20—')),console[ah(0x8b)](a0v[ah(0xad)](ah(0x123))+a0v[ah(0x94)](ah(0xbc))),console[ah(0x8b)](a0v[ah(0xad)](ah(0x116))),console[ah(0x8b)](),console[ah(0x8b)](a0v['yellow'](ah(0x146))),console[ah(0x8b)](a0v['white'](ah(0x15b))+a0v[ah(0x94)]('Ask\x20the\x20AI\x20teammate\x20about\x20this\x20challenge')),console['log'](a0v['white'](ah(0x83))+a0v['gray']('Run\x20a\x20shell\x20command\x20(e.g.\x20!base64\x20-d\x20...)')),console[ah(0x8b)](a0v[ah(0x1a9)](ah(0x11c))+a0v[ah(0x94)]('Submit\x20a\x20flag\x20to\x20the\x20live\x20scoreboard')),console[ah(0x8b)](a0v['white'](ah(0xe9))+a0v[ah(0x94)](ah(0x18a))),console[ah(0x8b)](),console[ah(0x8b)](a0v['gray']('\x20\x20Switch\x20challenge:\x20')+a0v['white'](ah(0xa8))+a0v['gray'](ah(0x195))+a0v[ah(0x1a9)](ah(0x106))),$(),console[ah(0x8b)](a0v[ah(0x94)]('\x20\x20Model:\x20Google\x20Gemma\x204\x20('+V+')')),console[ah(0x8b)](a0v[ah(0x94)]('\x20\x20AI\x20usage\x20is\x20metered\x20per\x20account\x20(server-enforced\x20budget).')),console[ah(0x8b)]();}(J,K),!(-0x17dc+0x1821+-0x45);}()):(console[ab(0x8b)](),console[ab(0x8b)](a0v[ab(0x1a5)](ab(0x15a))),console[ab(0x8b)](a0v[ab(0x94)](ab(0xc2))+a0v[ab(0x1a9)](ab(0x14d))+a0v[ab(0x94)]('\x20then\x20')+a0v[ab(0x1a9)](ab(0xa8))),console[ab(0x8b)](a0v['gray'](ab(0xed))),void console['log']());const C={};C['name']='Hidden\x20Message',C[ab(0x185)]=ab(0x14b);const D=C;try{u=await a0z(D);}catch(H){return void a0H(H[ab(0x152)]);}r=!(0x1*-0x1976+-0x6*-0x3af+0x35c),h=-0x1*-0x1238+0x30d*-0x8+0x630,f=!(0x2588+0x11f*-0x2+-0x2349),console['log'](),console[ab(0x8b)](a0v[ab(0x113)][ab(0x14e)](ab(0x177)+a0I(ab(0x147))+ab(0x9d))),console[ab(0x8b)](),console[ab(0x8b)](a0v[ab(0x1a9)]('\x20\x20'+a0I(ab(0xe1)))),console[ab(0x8b)](),console[ab(0x8b)](a0v[ab(0xad)](ab(0xc3))),console[ab(0x8b)](a0v[ab(0xad)](ab(0x123))+a0v[ab(0x14e)]['white'](a0I(ab(0x109)))),console[ab(0x8b)](a0v[ab(0xad)](ab(0xf5))),console[ab(0x8b)](a0v[ab(0xad)](ab(0x123))+a0v[ab(0x1a9)](a0I('ai4ctfIntercepted'))),console['log'](a0v[ab(0xad)](ab(0x123))+a0v[ab(0x113)](ab(0x167))),console[ab(0x8b)](a0v[ab(0xad)](ab(0xf5))),console[ab(0x8b)](a0v[ab(0xad)](ab(0x123))+a0v[ab(0x1a9)](a0I(ab(0x9e)))),console[ab(0x8b)](a0v[ab(0xad)]('\x20\x20│\x20')+a0v[ab(0x94)]('Flag\x20format:\x20icoa{...}')),console[ab(0x8b)](a0v['cyan']('\x20\x20└─────────────────────────────────────────────')),console[ab(0x8b)](),console[ab(0x8b)](a0v[ab(0x1a9)]('\x20\x20'+a0I(ab(0xa2)))),console[ab(0x8b)](),console['log'](a0v[ab(0x1a5)]('\x20\x20\x20\x20hint\x20a')+a0v[ab(0x94)](ab(0x186)+a0I(ab(0x198)))),console['log'](a0v['gray'](ab(0x12e)+a0I('ai4ctfHintAUses'))),console[ab(0x8b)](a0v[ab(0x1a5)](ab(0xc0))+a0v[ab(0x94)](ab(0x186)+a0I(ab(0x17a)))),console['log'](a0v['gray'](ab(0x12e)+a0I('ai4ctfHintBUses'))),console['log'](a0v[ab(0x1a5)](ab(0xa7))+a0v[ab(0x94)](ab(0x186)+a0I(ab(0x13f)))),console[ab(0x8b)](a0v['gray'](ab(0x12e)+a0I(ab(0x13d)))),console[ab(0x8b)](),console['log'](a0v[ab(0x94)](ab(0x9f))),console['log'](a0v['bold']['white']('\x20\x20'+a0I(ab(0x172)))),console[ab(0x8b)](ab(0x186)+a0v['cyan']('hint\x20a')+a0v[ab(0x94)](ab(0x112)+a0I('ai4ctfHintNudge'))),console[ab(0x8b)]('\x20\x20\x20\x20'+a0v['cyan']('hint\x20b')+a0v[ab(0x94)]('\x20\x20\x20→\x20'+a0I(ab(0x15f)))),console[ab(0x8b)](ab(0x186)+a0v[ab(0xad)](ab(0xcf))+a0v[ab(0x94)](ab(0x112)+a0I(ab(0xa9)))),console[ab(0x8b)](a0v[ab(0x94)](ab(0x186)+a0I(ab(0x173)))),console['log'](),console[ab(0x8b)](a0v[ab(0x1a9)]('\x20\x20'+a0I(ab(0xbf)))),console['log'](a0v[ab(0x94)]('\x20\x20'+a0I(ab(0x96))+'\x20')+a0v[ab(0x1a9)](ab(0x105))),console[ab(0x8b)](),console[ab(0x8b)](a0v[ab(0x1a5)]('\x20\x20'+a0I(ab(0x104)))),console[ab(0x8b)](a0v[ab(0x1a9)](ab(0x120))+a0v[ab(0x94)](a0I('ai4ctfCmdHintLine'))),console[ab(0x8b)](a0v[ab(0x1a9)](ab(0x11c))+a0v[ab(0x94)](a0I(ab(0x12d)))),console[ab(0x8b)](a0v[ab(0x1a9)]('\x20\x20\x20\x20!<shell\x20cmd>\x20\x20\x20\x20')+a0v['gray'](a0I(ab(0x19c)))),console[ab(0x8b)](a0v['gray']('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20e.g.\x20')+a0v[ab(0x1a9)](ab(0x155))),console['log'](a0v['gray']('\x20\x20\x20\x20exit\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0I('ai4ctfEndSession'))),console[ab(0x8b)](),$(),console[ab(0x8b)](a0v[ab(0x94)]('\x20\x20'+a0I(ab(0xe2))+ab(0x196)+B+')')),console[ab(0x8b)](a0v[ab(0x94)]('\x20\x20'+a0I('ai4ctfExit'))),console[ab(0x8b)]();});}
1
+ (function(j,k){const a3=a0k,q=j();while(!![]){try{const v=-parseInt(a3(0x1c2))/(0xca5+0xc*-0x1+-0xc98)*(parseInt(a3(0x147))/(0x1216+-0x1*-0x335+-0x1*0x1549))+parseInt(a3(0x201))/(-0x139d+-0xeb1*0x1+-0x6dd*-0x5)+-parseInt(a3(0x11b))/(0x12d*0xa+-0x2af*-0x8+-0xda*0x27)+parseInt(a3(0x210))/(0x4fe+-0x25*0x8b+0xf1e)*(parseInt(a3(0x1bd))/(0x66+0x61f*0x1+-0x67f))+-parseInt(a3(0x1eb))/(0xdf3*-0x1+0x1*0x1677+-0x87d*0x1)*(parseInt(a3(0x14c))/(-0xee8+-0x918+-0x301*-0x8))+-parseInt(a3(0x1d5))/(-0x2*-0x12c4+0x11ee+-0x376d)+parseInt(a3(0x1ba))/(0x3*-0x699+0x1*0x382+-0x3*-0x571)*(parseInt(a3(0x1fd))/(-0xd9f+-0x19*-0x12f+-0xfed));if(v===k)break;else q['push'](q['shift']());}catch(z){q['push'](q['shift']());}}}(a0j,-0x2*0x6e8bf+-0x5aae8+0x1f4*0x10de));import a0v from'chalk';import{createChatSession as a0z}from'../lib/gemini.js';function a0j(){const aj=['uNvUigeGC2HLBgWGy29TBwfUzcaOzs5NlIaHyMfZzty0ic1Kic4UlIK','ywK0y3rMv3jHCff1B3rHrM9VDgvY','Cu51Bq','icaGicaGigHPBNqGyYaGia','tgvHDMuGDgHLiefjihrLyw1TyxrL','ywK0y3rMtgv2zwXZ','icbfCNjVCJOG','Dg9Rzw5mAw1PDa','Dw5RBM93BIbLCNjVCG','lNr4DcbPBNnPzguGDgHLignVBNrLC3rHBNqNCYbZyw5KyM94iokaLcbWyxrOigLZihjLBgf0AxzLihrVihrOzsbZyw5KyM94j3mGl2HVBwuVy29TCgv0AxrVCIb3B3jRAw5NigrPCMvJDg9YEsWGCMvHy2HHyMXLigzYB20Gyw55icfZAgvSBcaVicfWExrOB24ZigLUDM9JyxrPB24PoGO','CMvK','CxvLC3rPB25Z','mtiXDKzwwuL3','icaGicaGicaGicbuzwnOBMLXDwuGAgLUDcaOChjLlxDYAxr0zw4P','ywK0y3rMv3jHCff1B3rHqG','icaGicaGicaGicbbigDLBNrSzsbUDwrNzsaOChjLlxDYAxr0zw4P','ndy1mZG1nunICurlwG','icaGigHPBNqGysaVigiGlYbJica','lI4VBgLIl2v4yw0TC3rHDguUANm','ywK0y3rMrgvJB2rL','ywK0y3rMv3jHCe5LEhrcB2r5','C3vIBwL0ieLdt0f7lI4UFq','icboBYbJAgfSBgvUz2uGB3bLBIb5zxqU','y3vYCMvUDenOywXSzw5Nzu5HBwu','ywK0y3rMv3jHCfr5CgvdDgy0ywK','ywK0y3rMuMvWB3j0','icdILzdILzdILzaGquK0q1rgiokaLcbr','l2fWAs9Py29Hl2fPl2fJy291BNqTyNvKz2v0p2TPBMq9ywK0y3rM','lIbuCNKGywDHAw4GAw5ZAwrLihrOAxmGy2HHDc4','icaGicbsDw4GuhL0Ag9UigLUihnOzwXS','ywK0y3rMvg9Rzw5Z','odb1rwnouMS','jsbVzIbZzwn0Aw9Uiefjigj1zgDLDcb1C2vKiokaLcbVBMX5ih4','C2vUze1LC3nHz2u','Dg9ju09tDhjPBMC','ywK0y3rMvgHPBMTPBMC','icdILzdILzdILzaGquKGvgvHBw1HDguG4Pwq4Pwq4Pwq','igfNywLUihrVignOyw5NzsWGB3iG','AgLUDcbI','icdILjtILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','z3jLzw4','icaGihn1yM1PDcbjq09bEY4UlN0','ChvZAa','BMfTzq','Bg9N','BwLU','ywK0y3rMu2fTCgXL','ywK0y3rMv3jHCff1B3rHquHPBNq','icaGicaGicaGicaGica','ywK0y3rMsgLUDee','yw5ZD2vYx3n1yM1PDhrLza','icbbzNrLCIbLEgL0oIa','BM9KztPJAgLSzf9WCM9JzxnZ','q2HHDcb3AxrOihLVDxiGquKGDgvHBw1HDgu','BM93','icaGigv4AxqGicaGicaGicaGica','CMvWzwf0','quK0q1rgihnLy3rPB24','icdIMQaGquK0q1rgihrVA2vUigj1zgDLDcbLEgHHDxn0zwqGkdi1ldaWmcb1C2vKks4','D3jPDgu','CMf0zwXPBwL0zwq','yM9Sza','yw5ZD2vYCW','z3jHEq','iokaLcb1CgrHDguGAwnVys1JBgKGDg8GDgHLigXHDgvZDcb2zxjZAw9U','icaI','ywK0y3rMsgLUDei','zxHPDa','ywK0y3rMtg9JA2vKvxnL','icbnB2rLBdOGr29Vz2XLieDLBw1HidqGka','C2XPy2u','ywK0y3rMv291BgrfyxjU','icaGicaGigHPBNqGysaGia','ww91igfYzsbHBIbbssb0zwfTBwf0zsbOzwXWAw5NigeGy29UDgvZDgfUDcbPBIbHigXPDMuGq2fWDhvYzs1uAguTrMXHzYbJB21WzxrPDgLVBI4kcKnvuLjftLqGq0HbteXftKDfoIaI','yxr0ywnOzwreyxrH','y3LHBG','icdWN46jienVCNjLy3qHia','ywK0y3rMv3jHCe5LEhruAxrSzq','C3vIBwL0igLJB2f7DZnSyZbTzv8Yx2fPngn0zN0','imk3ia','y3vYCMvUDenOywXSzw5NzunHDgvNB3j5','lI4U','iokaLca','ywK0y3rMsgLUDem','icbtD2L0y2GGy2HHBgXLBMDLoIa','igLZigeGq1rgnefjihf1zxn0Aw9UicHHDhrHy2STDgHLlufjks4','x2XHC3rr','ywK0y3rMq29TBwfUzhm','icaGicaGicaGicfLy2HVigfxtNzzwhqZttj4AK1hmwXyEKPMwvDRmfKZuM1Mut09ihWGyMfZzty0ic1K','sgLKzgvUie1LC3nHz2u','igfUC3DLCIb1CgrHDgvKoIa','zxHHBsbHBNn3zxiG','AwnVys1JBgKVyNvKz2v0','AgLUDcbJ','q3j5ChrVz3jHCgH5','zw5JB2rPBMC','cGPzt1vsifjvtevtoGOTifLVDsbnqvKGzxHWBgfPBIbJB25Jzxb0CYWGzgvZy3jPyMuGyxbWCM9Hy2HLCYWGyw5KigHLBhaGDgHLignVBNrLC3rHBNqGCMvHC29UihrOCM91z2GGDgHLihbYB2jSzw0UcI0Gww91ie1bwsbKAxnJDxnZihrOzsb0zwnOBM9SB2D5igLUDM9SDMvKicHbrvmSihb3BNrVB2XZlcbqExrOB24GC3rYDwn0lcbivfrqlcbLDgmUks4klsbzB3uGtufzigHLBhaGzgvIDwCGuhL0Ag9UignVzguGDgHLignVBNrLC3rHBNqGD3jPDgvZlGOTifLVDsbnvvnuie5pvcbYzxzLywWGDgHLigzSywCGzgLYzwn0BhKUcI0Gww91ie1vu1qGtK9uig91Dhb1DcbHBNKGC3rYAw5Nig1HDgnOAw5NieLdt0f7lI4UFsbVCIbPy29HEY4UlN0UcI0Gww91ie1vu1qGtK9uihrLBgWGDgHLignVBNrLC3rHBNqGDgHLigv4ywn0igfUC3DLCIb0BYb0AgLZihf1zxn0Aw9UlGOTifLVDsbnqvKGC3vNz2vZDcb3AgLJAcb0B29Sic8GBgLICMfYEsaVihrLy2HUAxf1zsb0BYb1C2uUcI0Gv2HLBIbZDwDNzxn0Aw5NihnOzwXSic8GChL0Ag9UihnUAxbWzxrZihrOyxqGBMvLzcb0AguGyxr0ywnOzwqGzgf0ysWGCMvMzxiGDg8GDgHLigzPBguGCgf0AcbJAgfSBgvUz2vZl3e','zMLUza','ywK0y3rMv2vSy29Tzu5VuMv2zwfS','ndK0nZm4oen1t2D6wa','sgLUDca','C3vIBwL0ia','oIbhB29NBguGr2vTBweGncaO','icboBYbJAgfSBgvUz2uGAwqGAw4Gy29UDgv4DcdIGjqGB3bLBIbVBMuGzMLYC3q6ia','BNvKz2vtAg93BG','icbkDw1WihrOzxjLoIa','E25VuhjVz30','ihrVig1VDMuGB24','icbbssbIDwrNzxq6ia','icbzB3uGy2fUihn0AwXSoIa','ywK0y3rMtg9JA2vKvgHLBG','ww91igfYzsbHBIbbssb0zwfTBwf0zsbOzwXWAw5NigeGy29UDgvZDgfUDcbZB2X2zsbHBIbjq09bidiWmJyGy3LIzxjZzwn1CML0EsbLEgfTihf1zxn0Aw9UlGOkq1vsuKvovcbrvuvtveLptIaOuq','lI4VBgLIl2n0zMqTy2XPzw50lMPZ','icaOC3vIBwL0igfNywLUihrVignOyw5NzsK','Cgf1C2vK','icbdB21Tyw5KCW','DgLTzw91Da','ywK0y3rMrxHPDe5LEhrtDwi','icbpCgvUig9UzsbMAxjZDdOG','yxbWBgLJyxrPB24VANnVBG','C2vZC2LVBJ0','y3rMngvHAq','EwvSBg93','icaGigHPBNqGyq','C3bSAxq','ywK0y3rMv3jHCff1B3rHqq','ywK0y3rMvgL0Bgu','igLZigfUievTyM9KAwvKiefjicHfquKPihf1zxn0Aw9UlG','B3jcywnR','C3LUy2LUz+kaPG','qxnRihrOzsbbssb0zwfTBwf0zsbHyM91Dcb0AgLZignOywXSzw5Nzq','ixnOzwXS','C3rYAw5NAwz5','ywK0y3rMsgLUDfrLy2HUAxf1zq','ywK0y3rMv3jHCff1B3rHq0HPBNq','zgvZy3jPChrPB24','CMvWBgfJzq','y2f0y2G','icbvC2fNztOG','y2f0zwDVCNK','ywK0y3rMq21KsgLUDeXPBMu','Cg9PBNrZ','Bwf0y2G','mNHIBejYBW','ywK0y3rMtw9KzwW','ywK0y3rMsgLUDe5LEhrb','icaGidXQDxn0ihr5Cgu+icaGica','DhjPBq','ntG0BfDXs3Hw','ywK0y3rMsgLUDe51zgDL','icdILiiG','ywK0y3rMq29YCMvJDezSywC','g1SXqrTBmKS','CM91BMq','icaOCMvZDw1PBMCG4OcuihbYAw9YignOyxqGAxmGBM90ihjLBwvTyMvYzwqSigj1Dcb0B2TLBNmGywXYzwfKEsb1C2vKihn0yxKGzgvKDwn0zwqP','ywK0y3rMv2vSy29Tzun0yq','ihrVA2vUCYbSzwz0lG','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','lI4VBgLIl2LUDgvNCML0Es1ZBMfWC2HVDc5QCW','ywK0y3rMuMv2zwfSvgHLBLn1yM1PDa','B3bLBIa8Awq+','icaGicfWExrOB24Zic4UlG','icbdB21WzxrPDgLVBIbPCYbWyxvZzwqU','icaGigHPBNqGyW','q29TBwfUzcbMywLSzwq','icbiB3CGDg8GD29YAYb0AgLZihf1zxn0Aw9U','ihb0CW','yw5ZD2vYx2nOyw5Nzwq','icbtDwjTAxnZAw9UigzHAwXLzdOG','icbbstrdveyGC2vJDgLVBIbJB21WBgv0zsdIGjqG','BwvUDq','ihrVignVBNrPBNvL','icdINjmGuq','BwvZC2fNzq','yvDoDLLyDdnnmNHQtuCXBfH6sMzzv2SWwtnsBwzrpt0','yMfJAW','icaGia','icaGicaGia','quKGzxjYB3i6ia','iokaLcb0ExbLia','DgHLiefjigD1AwrLCYWGAxqGD2LSBcbUB3qGAgfUzcb5B3uGDgHLigzSywCU','Dg9Rzw5ZvxnLza','icdILzdILzdILzaG','icbezxrLy3rLzcbMBgfNiokaLcb0CMvHDgLUzYbHCZOG','cGPdsefmtevor0uGqLjjruy6cG','icaG4OAsia','ieLdt0f7lI4UFq','icbbBhjLywr5ihnVBhzLzc4','icboB3rLoIa1mcuGB2yGC2vJDgLVBIbbssbIDwrNzxqGDxnLzc4','y3rMngfP','ywnJB3vUDenHCa','ywnJB3vUDfzLCMLMAwvK','icbdDxjYzw50igfUC3DLCJOG','Dg9Rzw4','CgfKrw5K','ywXYzwfKEv9ZB2X2zwq','icbvC2u6ia','DgvZDa','igLZigeGBxvSDgLWBguTy2HVAwnLihf1zxn0Aw9UiokaLcbHBNn3zxiGD2L0Acbbl0iVqY9elG','icdILiZILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','iMHVDYbKBYbjigrLy3j5ChqGquvtluncqYbPBIbqExrOB24/iG','ywK0y3rMv3jHCeXPBMuXsgvHza','icdINjCGsw5JB3jYzwn0lIa','y29TBwfUza','DxrMltG','icaGig1LBNu','zxHHBsbXia','zgf0yq','y29UDgLUDwu','yM9VBgvHBG','icbbssb0zwfTBwf0zsbJBg9ZzwqGzM9Yici','Aw5JB3jYzwn0','icbbssb1C2fNzsbPCYbTzxrLCMvKihbLCIbHy2nVDw50icHZzxj2zxiTzw5MB3jJzwqGyNvKz2v0ks4','lNr4DcaOAw5ZAwrLihrOzsbZyw5KyM94ksbYyxrOzxiGDgHHBIbHC2TPBMCGDgHLignVBNrLC3rHBNqGDg8GCgfZDguGDgHLihDOB2XLigjSB2iGyMfJAY4klsblzwvWihjLC3bVBNnLCYbJB25JAxnLigfUzcbWCMfJDgLJywWUifrOAxmGy29UDgvZDgfUDcbOyxmGBgLTAxrLzcb0Aw1LlG','ywK0y3rM','rMXHzYbMB3jTyxq6icaGieLdt0f7lI4UFq','ue9tva','C3vIBwL0ieLdt0f7Ew91CL9MBgfNFq','icaGicaGicaHzwnOBYbHv052wvH0m00YEgPnrZfSwhPkzLLxAZbzm1jTzLe9psb8igjHC2u2ncaTza','ywrK','AM9PBG','icaGice8C2HLBgWGy21KpIaGica','AgLUDcbH','lcbVCIbYzs1LBNrLCIb3AxrOia','ywLvC2fNzq','ywK0y3rMt3jdAgf0','ig5VDcbMB3vUzcbPBIbZDgf0zs4','icaGifbYzxzPB3vZoIa','D2HPDgu','icaKia','AgfZ','C2vZC2LVBKnVB2TPzq','oIbhB29NBguGr2vTBweGncaOz2vTBweTnc0ZmwiTAxqP','ywK0y3rMsgLUDefvC2vZ','icaGicaGigHPBNqGyIaGia','ihrOzw4G','y3rMzfvYBa','E2nTzh0','icbbstrdveyGy2HHDcbLBMrLzcbMB3iGuq','CxvPDa','ywn0Aw9U','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','icbr','ywK0y3rMsgLUDejcB2r5','icdIMQaGodaLig9MihnLy3rPB24GquKGyNvKz2v0ihvZzwqU','icaGicaGicaGicaGicaGicaGicbLlMCUia','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDs9HCgKVAwnVys9Kzw1Vlxn0yxrZ','icbsyxrLigXPBwL0zwqG4OcuihDHAxqGysbTB21LBNqGyMvMB3jLihrYEwLUzYbHz2fPBI4','iNDOyxqGzw5JB2rPBMCGAxmGDgHPCZ8I','icaGidiUia','ywK0y3rMv3jVBMDgBgfN','y3vYCMvUDenOywXSzw5NzuLK','icdIMQaG','DhLWzufUzevUDgvYvg9czwDPBG','icaGicaODhLWzsbPDcbYAwDODcbOzxjLigLUihrOAxmGy2HHDcdIGjqGBM90igfZigeGC2HLBgWGy29TBwfUzcK','y2HHBgXLBMDLswq','icdWN5kHie9Uy2uGEw91igHHDMuGsunpqxSUlI59lcbZDwjTAxqGAxqGD2L0AdOG','icdINjmGqw5ZD2vYigzVCIbr','mJe2otu1mezuyMLbta','icaGicaGicbZDwjTAxqGAwnVyxT3m2XJmg1LxZjFywK0y3rMFq','ywK0y3rMsgLUDefcB2r5','mJq0odC4DwLdzwnl','icaGica','icdILii','Aw50zxjHy3rPB25Z','C3rKB3v0','nZi3nZi3ug1zy3Pe','cIaG','iIbSB29RCYbSAwTLigfUie1dusbSzxr0zxiSig5VDcbHigzSywCU','y3rMigXPC3q','cGPbvfrbq0HfrcbeqvrbicHHBhnVihnHDMvKihrVignOywXSzw5NzxmVCq','ywK0y3rMt3jdAgf0rxHHBxbSzq','zw50zxjLzef0','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','icaGigHPBNqGyG','ihrOzw4GCMuTzw50zxiG','ywK0y3rMrMXHz0HPBNq','ywK0y3rMsgLUDejvC2vZ','Dgv4Da','sunpqxT5B3vYx2zSywD9','icdIMQaGww91CIbbstrdveyGDg9Rzw4GyNvKz2v0igLZigv4Agf1C3rLzc4','ANnVBG','BgvUz3rO','C3vIBwL0idXMBgfNpG','z2vTBweTnc0ZmwiTAxq','mtuZmZG5mdDrwNf1wM0','iwvJAg8GyvDoDLLyDdnnmNHQtuCXBfH6sMzzv2SWwtnsBwzrpt0GFcbIyxnLnJqGlwq','icaGihn1yM1PDca8zMXHzZ4Gica','Dg9mB3DLCKnHC2u','ywK0y3rMv3jHCeXPBMuXqM9KEq','BNvTyMvY','icbpCgvUigfUB3rOzxiGy2HHBgXLBMDLihDPDgGG','ywK0y3rMu3vIBwL0q21K','ywK0y3rMtg9JA2vKvgL0Bgu','icbuAgLUA2LUzY4UlG','ywK0y3rMq2HHBgXLBMDL','C3rHCNrZv2L0Aa','ywK0y3rMrxHPDe5LEhruAxrSzq','icaGicaGicaGicblzxKGyNjLywT0AhjVDwDOicHWCMuTD3jPDhrLBIK','DhLWzq','q29UDgvUDc1uExbL','ig5VDcbMB3vUzcbPBIbZDgf0zs4Gvhj5oIbLEgfTiheG','ywK0y3rMsgLUDenvC2vZ','iokvKokvKokvKa','ywK0y3rMsw50zxjJzxb0zwq','ig9UifeZoq','y2HHBgXLBMDLtMfTzq','mZGYoxfzAwDfDG','vg9Rzw4G','ywK0y3rMuMv2zwfSqM9KEq','ywK0y3rMuMv2zwfSvgL0Bgu','ywnJB3vUDfnWzw50','vw5RBM93BG'];a0j=function(){return aj;};return a0j();}import{addTokenUsage as a0B}from'../lib/budget.js';import{getConfig as a0D,isConnected as a0E}from'../lib/config.js';import{logCommand as a0F,logSubmission as a0G}from'../lib/logger.js';import{printMarkdown as a0H,printError as a0I}from'../lib/ui.js';function a0k(a,b){a=a-(-0x8a1*-0x4+0x3*0x955+-0x3d80);const c=a0j();let d=c[a];if(a0k['XVuzdD']===undefined){var e=function(i){const j='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let l='',m='';for(let n=-0xb*-0x283+-0x1544+0x1*-0x65d,o,p,q=0x1892+0x1*0xc7+0x2d1*-0x9;p=i['charAt'](q++);~p&&(o=n%(0xba0+0x30*0x35+-0x158c)?o*(0x855+-0x206f+0x185a)+p:p,n++%(-0x5*-0x419+0x36d*0x3+-0x1ec0))?l+=String['fromCharCode'](0x243e+0xac8+-0x2e07&o>>(-(0x54b+0xdaf*-0x1+0x866)*n&0x1e74+0x9a4+-0x1409*0x2)):-0x2b1*0x1+0x1*0x136d+-0x10bc){p=j['indexOf'](p);}for(let r=-0x130f+-0x1cc9*-0x1+0x5*-0x1f2,s=l['length'];r<s;r++){m+='%'+('00'+l['charCodeAt'](r)['toString'](0x2e*-0x1+-0xbd*-0x5+-0x1*0x373))['slice'](-(-0x10ad+0xdfc+0x2b3*0x1));}return decodeURIComponent(m);};a0k['XcVIfF']=e,a0k['NloVeQ']={},a0k['XVuzdD']=!![];}const f=c[0xaa7+-0x1c69+0x11c2],g=a+f,h=a0k['NloVeQ'][g];return!h?(d=a0k['XcVIfF'](d),a0k['NloVeQ'][g]=d):d=h,d;}import{t as a0J}from'../lib/i18n.js';const g=j=>new Promise(k=>setTimeout(k,j));let r=!(-0x1544+0x192e+0x1*-0x3e9),u=null,h=0x1892+0x1*0xc7+0x2d1*-0x9,y=0xba0+0x30*0x35+-0x1590,d=!(0x855+-0x206f+0x181a),f=!(-0x5*-0x419+0x36d*0x3+-0x1ec3),m=!(0x243e+0xac8+-0x2f05);const p=0x1a76+0x4469*-0x1+0x8b9b,w=0xc2e1e+0x3db43+-0x83961*0x1;let b=null,$=null;export function isChatActive(){return r;}function A(){const a4=a0k,j=b?p:$?y||w:-0x2b1*0x1+0x1*0x136d+0x2cc,k=h,q=Math[a4(0x21e)](Math[a4(0x151)](k/j*(-0x130f+-0x1cc9*-0x1+0x2*-0x4ab)),0x2e*-0x1+-0xbd*-0x5+-0x1*0x31f),v=Math[a4(0x151)](q/(-0x10ad+0xdfc+0x315*0x1)*(0xaa7+-0x1c69+0x11d6)),z=0x384+-0x2356+-0x6*-0x551-v,B=q>0x3f5*0x9+0x21e4+-0x4531?a0v['red']:q>-0x1*0x171f+-0x5ec*0x1+0xf*0x1f3?a0v[a4(0x132)]:a0v[a4(0x219)],D=b?a4(0x22a):$?'AI\x20budget\x20(this\x20account)':'Tokens';!$||d?!$||f?console[a4(0x21d)](a0v[a4(0x230)]('\x20\x20'+D+':\x20')+B('█'['repeat'](v))+a0v[a4(0x230)]('░'[a4(0x229)](z))+a0v['gray']('\x20'+k+'/'+j+'\x20('+q+'%)')):console['log'](a0v[a4(0x230)](a4(0x124))+a0v[a4(0x132)](a4(0x139))+a0v[a4(0x230)]('\x20(updates\x20after\x20your\x20first\x20message)')):console[a4(0x21d)](a0v[a4(0x230)](a4(0x124))+a0v[a4(0x132)]('not\x20enforced\x20for\x20this\x20login')+a0v[a4(0x230)](a4(0x231)));}export async function handleChatMessage(v){const a5=a0k;if(!u)return a5(0x234);if(a0F('ai4ctf:\x20'+v),b)return C(v);if($)return async function(F){const a6=a5;if(!$||!u)return a6(0x234);const G=F['trim'](),H=G['toLowerCase'](),I=G[a6(0x146)](/^submit\s+(.+)/i);if(I){let J=I[-0x873+0x505+0x3*0x125][a6(0x14b)]();if(/^submit\s+/i[a6(0x17d)](J)&&(J=J['replace'](/^submit\s+/i,'')[a6(0x14b)]()),J=J['replace'](/^["'`]+|["'`]+$/g,'')[a6(0x14b)](),!J)return console[a6(0x21d)](),console['log'](a0v[a6(0x230)](a6(0x142))+a0v[a6(0x19c)](a6(0x1d3))),console['log'](),a6(0x188);const K=$[a6(0x1b7)];if(!K)return console['log'](),console[a6(0x21d)](a0v[a6(0x132)](a6(0x11f))+a0v[a6(0x19c)](a6(0x158))),console[a6(0x21d)](),a6(0x188);a0G(K,J);const L=a0D();try{const {CTFdClient:M}=await import(a6(0x128)),N=L[a6(0x19f)]||'',O=L[a6(0x179)]&&!L['token']['includes'](a6(0x130))?L[a6(0x179)]:'',P=new M(L[a6(0x1a4)],O,N||L[a6(0x179)]),Q=await P['submitFlag'](K,J);switch(console[a6(0x21d)](),Q['status']){case'correct':console[a6(0x21d)](a0v[a6(0x219)][a6(0x22e)](a6(0x104))+a0v[a6(0x19c)](Q[a6(0x165)]||''));break;case a6(0x18b):console[a6(0x21d)](a0v['red'](a6(0x182))+a0v['gray'](Q[a6(0x165)]||''));break;case a6(0x17b):console[a6(0x21d)](a0v[a6(0x132)](a6(0x173)));break;case a6(0x12a):console[a6(0x21d)](a0v[a6(0x132)](a6(0x15a)));break;case a6(0x22d):console['log'](a0v[a6(0x132)](a6(0x1af)));break;default:console[a6(0x21d)](a0v['gray']('\x20\x20'+(Q['message']||'Unknown\x20response')));}console[a6(0x21d)]();const {postIntegritySnapshot:R}=await import(a6(0x156));await R();}catch(S){console[a6(0x21d)](),console['log'](a0v[a6(0x1fb)](a6(0x160)+(S[a6(0x165)]?.[a6(0x134)]('\x0a')[0xaa*0x8+-0x22fb+0x1dab]||a6(0x1f9)))),console[a6(0x21d)]();}return a6(0x188);}if(F[a6(0x1e0)]('!')){const T=F[a6(0x237)](0x1*0xfac+-0x22b0+-0x21d*-0x9)[a6(0x14b)]();if(!T)return a6(0x188);try{const U={};U[a6(0x117)]=a6(0x184),U[a6(0x12c)]=0x2710;const {execSync:V}=await import(a6(0x225)),W=V(T,U)['trim']();console[a6(0x21d)](),console[a6(0x21d)](a0v[a6(0x230)](a6(0x19d))+a0v['white'](T)),console[a6(0x21d)](a0v[a6(0x19c)]('\x20\x20'+W['split']('\x0a')[a6(0x194)](a6(0x1c3)))),console[a6(0x21d)]();}catch(X){console[a6(0x21d)](),console[a6(0x21d)](a0v[a6(0x1fb)](a6(0x1f7)+(X['message']?.['split']('\x0a')[0x10a+0xc89*-0x2+-0xc04*-0x2]||a6(0x15c)))),console[a6(0x21d)]();}return'continue';}if(a6(0x234)===H||a6(0x167)===H||a6(0x1a7)===H){const Y=$[a6(0x1ea)];return r=!(0xb*-0x8d+-0x13*0x147+0x1e55),u=null,$=null,console['log'](),console[a6(0x21d)](a0v[a6(0x230)](a6(0x18a)+Y+'\x22.')),console[a6(0x21d)](a0v['gray'](a6(0x1db))+a0v['white'](a6(0x158))+a0v[a6(0x230)](a6(0x197))+a0v[a6(0x19c)]('ai4ctf')),console[a6(0x21d)](),a6(0x234);}console[a6(0x21d)](a0v[a6(0x230)]('\x20\x20'+a0J('ai4ctfThinking')));try{const Z=await u[a6(0x212)](F);process[a6(0x1c1)][a6(0x22c)](a6(0x150)),a0B(Z['tokensUsed']),a6(0x1da)==typeof Z[a6(0x1ef)]?(h=Z['accountSpent'],d=!(0x2*-0x4c7+0x9ae+-0x20),f=!(-0xbf+-0x2025+0x20e4),a6(0x1da)==typeof Z['accountCap']&&(y=Z['accountCap'])):(h+=Z['tokensUsed'],f=!(-0x13*0x3a+-0x7+0x455)),console[a6(0x21d)](),a0H(Z[a6(0x1ce)]),A(),console['log']();}catch(a0){process['stdout']['write'](a6(0x150)),a0I(a6(0x16a)+a0[a6(0x165)]),console[a6(0x21d)]();}return a6(0x188);}(v);const z=v['trim']()[a5(0x1d8)]()[a5(0x146)](/^hint\s+([abc])$/);if(z)return function(F){const a7=a5,G=a0J('a'===F?'ai4ctfHintA':'b'===F?'ai4ctfHintB':a7(0x10b)),H=a0J('a'===F?a7(0x1bc):'b'===F?a7(0x1ab):'ai4ctfHintCBody'),I=a7(0x11c)+F['toUpperCase'](),J='a'===F?a0v[a7(0x219)]:'b'===F?a0v['yellow']:a0v[a7(0x1fb)];console[a7(0x21d)](),console[a7(0x21d)](J[a7(0x22e)]('\x20\x20▸\x20'+I+'\x20\x20')+a0v[a7(0x230)](G)),console[a7(0x21d)]();for(const K of H[a7(0x134)]('\x0a'))''===K?console[a7(0x21d)]():console['log'](a0v[a7(0x19c)]('\x20\x20\x20\x20'+K));console[a7(0x21d)](),'a'===F?(console[a7(0x21d)](a0v[a7(0x230)](a7(0x168)+a0J(a7(0x149))+'\x20')+a0v[a7(0x103)](a7(0x217))),console['log']()):'b'===F&&(console[a7(0x21d)](a0v[a7(0x230)](a7(0x168)+a0J('ai4ctfHintNextB')+'\x20')+a0v[a7(0x103)](a7(0x115))),console[a7(0x21d)]());}(z[-0x27a+-0x2d3*0x6+0x136d]),a5(0x188);const B=v[a5(0x146)](/^submit\s+(.+)/i);if(B){let F=B[0x1620+-0x25*-0x49+-0x20ac][a5(0x14b)]();if(/^submit\s+/i[a5(0x17d)](F)&&(F=F[a5(0x140)](/^submit\s+/i,'')[a5(0x14b)]()),F=F[a5(0x140)](/^["'`]+|["'`]+$/g,'')[a5(0x14b)](),'icoa{w3lc0me_2_ai4ctf}'===F){console['log'](),console[a5(0x21d)](a0v[a5(0x219)][a5(0x22e)](a5(0x1c9))),console[a5(0x21d)](a0v[a5(0x219)][a5(0x22e)]('\x20\x20'+a0J(a5(0x14f)))),console['log'](a0v[a5(0x219)]['bold'](a5(0x1c9))),console[a5(0x21d)](),console[a5(0x21d)](a0v[a5(0x19c)]('\x20\x20'+a0J('ai4ctfDecoded'))),console[a5(0x21d)](a0v[a5(0x230)]('\x20\x20'+a0J(a5(0x238)))),console[a5(0x21d)](),A(),r=!(-0xc9*0x24+-0x1f3e+0x3b83),u=null,fetch(a5(0x1ae),{'method':a5(0x190),'headers':{'Content-Type':a5(0x12f)},'body':JSON['stringify']({'type':'ai4ctf','solved':!(-0x1b1b+0xa87+0x1094),'tokensUsed':h,'timestamp':new Date()[a5(0x213)]()}),'signal':AbortSignal['timeout'](-0x6eb+0x25c9+-0x1*0xb56)})[a5(0x141)](()=>{}),await g(0xe2c*0x1+0x34*0x1+-0x884),console[a5(0x21d)](),console[a5(0x21d)](a0v[a5(0x103)]('\x20\x20─────────────────────────────────────────────')),console['log'](a0v[a5(0x22e)][a5(0x19c)]('\x20\x20'+a0J('ai4ctfWrapTitle'))),console['log'](a0v[a5(0x103)]('\x20\x20─────────────────────────────────────────────')),console[a5(0x21d)]();const G=a0J(a5(0x181)),H=a0J(a5(0x1d9));console[a5(0x21d)](a0v['white']('\x20\x20\x20\x201.\x20'+G+'\x20')+a0v[a5(0x230)](H[a5(0x134)]('\x0a')[0x11*0x15a+-0xf45+-0x7b5]||''));for(const L of H['split']('\x0a')[a5(0x237)](-0x5d5+0x2009+-0x1a33*0x1))L[a5(0x14b)]()&&console[a5(0x21d)](a0v['gray'](a5(0x169)+L[a5(0x140)](/\{thinking\}/g,'thinking')));console['log'](),console[a5(0x21d)](a0v[a5(0x19c)](a5(0x1b1)+a0J('ai4ctfWrapLine2Head')+'\x20')+a0v[a5(0x230)](a0J('ai4ctfWrapLine2Body'))),console[a5(0x21d)](),console[a5(0x21d)](a0v['cyan'](a5(0x110))),console[a5(0x21d)](),await g(0x1ee8+0x26c6+0x1eef*-0x2),console['log'](a0v[a5(0x103)]('\x20\x20─────────────────────────────────────────────')),console[a5(0x21d)](a0v[a5(0x22e)][a5(0x19c)]('\x20\x20'+a0J('ai4ctfWrapQuotasTitle'))),console[a5(0x21d)](a0v[a5(0x103)](a5(0x155))),console['log'](),console[a5(0x21d)](a0v['yellow'](a5(0x239))+a0v[a5(0x19c)](a0J(a5(0x135))[a5(0x17a)](-0x37*-0x40+0x5*0x49d+-0x24b7))+a0v['gray'](a0J(a5(0x220)))),console[a5(0x21d)](a0v[a5(0x132)](a5(0x1a2))+a0v[a5(0x19c)](a0J(a5(0x1ff))[a5(0x17a)](-0x81*0x31+0x12+0x18b9))+a0v[a5(0x230)](a0J('ai4ctfWrapQuotaBHint'))),console[a5(0x21d)](a0v[a5(0x132)](a5(0x1f4))+a0v[a5(0x19c)](a0J('ai4ctfWrapQuotaC')[a5(0x17a)](0x1cb+-0x2b*-0xba+-0x1*0x20ef))+a0v['gray'](a0J(a5(0x13e)))),console[a5(0x21d)]();for(const M of a0J(a5(0x1f2))[a5(0x134)]('\x0a'))console['log'](a0v[a5(0x230)]('\x20\x20\x20\x20'+M));console[a5(0x21d)](),await g(0x149d+0x9e3+-0x2*0xb58),console[a5(0x21d)](a0v[a5(0x103)](a5(0x155))),console[a5(0x21d)](a0v['bold'][a5(0x19c)]('\x20\x20'+a0J(a5(0x105))+'\x20')+a0v[a5(0x1fb)][a5(0x22e)](a5(0x175))+a0v['white'](a5(0x10a)+a0J('ai4ctfWrapNextSub'))),console[a5(0x21d)](a0v[a5(0x103)]('\x20\x20─────────────────────────────────────────────')),console[a5(0x21d)]();const I=a0J(a5(0x205)),J=a0J('ai4ctfWrapNoProg'),K=I[a5(0x134)]('\x0a');if(K[-0x1*0x1b6f+0x2242+0x1*-0x6d3]){const [N,O]=K[0x6*0x351+0x5*-0x5ec+0x9b6][a5(0x134)](a5(0x122));console[a5(0x21d)](a0v[a5(0x19c)](a5(0x168)+(N||''))+a0v[a5(0x22e)][a5(0x19c)](J)+a0v[a5(0x19c)](O||''));}for(const P of K[a5(0x237)](0x20*-0x10+-0x9*0x23+0x33c))P[a5(0x14b)]()&&console[a5(0x21d)](a0v[a5(0x19c)]('\x20\x20\x20\x20'+P));return console[a5(0x21d)](),console['log'](a0v['gray'](a5(0x168)+a0J(a5(0x209))+'\x20')+a0v[a5(0x22e)][a5(0x1fb)](a5(0x175))),console[a5(0x21d)](),'exit';}return console[a5(0x21d)](),console[a5(0x21d)](a0v[a5(0x1fb)]('\x20\x20'+a0J(a5(0x1b2)))),console[a5(0x21d)](a0v[a5(0x230)]('\x20\x20'+a0J(a5(0x1cc)))),console[a5(0x21d)](),'continue';}if(v['startsWith']('!')){const Q=v['slice'](0x3*-0xa5e+0xf*0xc1+0x4f3*0x4)['trim']();if(!Q)return a5(0x188);try{const R={};R[a5(0x117)]=a5(0x184),R[a5(0x12c)]=0x2710;const {execSync:S}=await import(a5(0x225)),T=S(Q,R)[a5(0x14b)]();console[a5(0x21d)](),console[a5(0x21d)](a0v[a5(0x230)](a5(0x19d))+a0v['white'](Q)),console['log'](a0v[a5(0x19c)]('\x20\x20'+T[a5(0x134)]('\x0a')[a5(0x194)](a5(0x1c3)))),console[a5(0x21d)](),console[a5(0x21d)](a0v[a5(0x230)]('\x20\x20'+a0J('ai4ctfFoundFlag'))),console[a5(0x21d)]();}catch(U){console['log'](),console[a5(0x21d)](a0v[a5(0x1fb)](a5(0x1f7)+(U[a5(0x165)]?.[a5(0x134)]('\x0a')[0x15f8+-0x1ac7+0x4cf]||'Command\x20failed'))),console[a5(0x21d)]();}return a5(0x188);}const D={};D[a5(0x1e4)]=a5(0x12f);if('exit'===v||a5(0x167)===v||a5(0x1a7)===v||a5(0x162)===v)return r=!(-0x9*0x44+-0x4d4+0x2b*0x2b),u=null,fetch(a5(0x1ae),{'method':a5(0x190),'headers':D,'body':JSON[a5(0x13c)]({'type':a5(0x18e),'tokensUsed':h,'timestamp':new Date()[a5(0x213)]()}),'signal':AbortSignal[a5(0x12c)](0x2*0x8bf+0x14af+0x1*-0x12a5)})[a5(0x141)](()=>{}),console['log'](),console[a5(0x21d)](a0v['gray'](a5(0x1a9))),console[a5(0x21d)](a0v['white']('\x20\x20'+a0J(a5(0x20a)))),console[a5(0x21d)](a0v[a5(0x230)]('\x20\x20'+a0J(a5(0x20f))+':\x20'+h+'/5000')),console[a5(0x21d)](a0v['gray']('\x20\x20'+a0J(a5(0x148))+a5(0x1a0))),console[a5(0x21d)](a0v[a5(0x230)](a5(0x1a9))),console[a5(0x21d)](),console[a5(0x21d)](a0v['cyan']('\x20\x20─────────────────────────────────────────────')),console[a5(0x21d)](a0v[a5(0x19c)]('\x20\x20'+a0J(a5(0x1e1))+'\x20')+a0v[a5(0x22e)][a5(0x1fb)](a5(0x175))+a0v[a5(0x19c)](a5(0x10a)+a0J(a5(0x12d)))),console['log'](a0v[a5(0x230)]('\x20\x20'+a0J('ai4ctfExitNextBody'))),console[a5(0x21d)](a0v[a5(0x103)]('\x20\x20─────────────────────────────────────────────')),console['log'](),console[a5(0x21d)](a0v[a5(0x19c)]('\x20\x20▸\x20\x20')+a0v[a5(0x19c)](a0J(a5(0x1b5))[a5(0x140)](a5(0x1a5),a0v[a5(0x22e)][a5(0x1fb)]('ctf4ai')))),console[a5(0x21d)](a0v[a5(0x230)](a5(0x1be)+a0J(a5(0x138)))),console[a5(0x21d)](),a5(0x234);const E={};E[a5(0x1e4)]=a5(0x12f);if(!m&&h>=0xed2+-0x198c+0x1e42)return m=!(-0x89*-0x9+-0x1565+0x1094),fetch(a5(0x1ae),{'method':a5(0x190),'headers':E,'body':JSON[a5(0x13c)]({'type':a5(0x18e),'solved':!(-0x19b7+-0x1ae6*0x1+0x349e),'tokensUsed':h,'timestamp':new Date()[a5(0x213)]()}),'signal':AbortSignal[a5(0x12c)](0x7b4+0x1e0b+-0x1237)})[a5(0x141)](()=>{}),console[a5(0x21d)](),console[a5(0x21d)](a0v[a5(0x132)]('\x20\x20'+a0J(a5(0x1f8)))),A(),(function(){const a8=a5;console[a8(0x21d)](),console[a8(0x21d)](a0v[a8(0x132)](a8(0x155))),console[a8(0x21d)](a0v[a8(0x22e)][a8(0x132)]('\x20\x20'+a0J(a8(0x1ee)))),console['log'](a0v['yellow'](a8(0x155))),console[a8(0x21d)]();for(const V of a0J(a8(0x1ed))[a8(0x134)]('\x0a'))''===V?console['log']():console[a8(0x21d)](a0v[a8(0x19c)](a8(0x168)+V));console[a8(0x21d)](),console['log'](a0v[a8(0x103)](a8(0x192))),console[a8(0x21d)](),console[a8(0x21d)](a0v['white'](a8(0x168)+a0J('ai4ctfRevealSeeFlag'))),console['log'](),console[a8(0x21d)](a0v[a8(0x219)]('\x20\x20\x20\x20\x20\x20\x20\x20icoa{w3lc0me_2_ai4ctf}')),console['log'](),console[a8(0x21d)](a0v[a8(0x19c)](a8(0x168)+a0J(a8(0x157)))),console[a8(0x21d)](),console[a8(0x21d)](a0v[a8(0x103)](a8(0x1bb))),console[a8(0x21d)](),console[a8(0x21d)](a0v['gray'](a8(0x168)+a0J('ai4ctfRevealLockNote'))),console[a8(0x21d)]();}()),a5(0x188);if(m)return console['log'](),console[a5(0x21d)](a0v[a5(0x132)]('\x20\x20'+a0J(a5(0x1dd)))),console[a5(0x21d)](a0v[a5(0x230)]('\x20\x20'+a0J(a5(0x235))+'\x20')+a0v[a5(0x103)](a5(0x1d6))),console[a5(0x21d)](a0v['gray']('\x20\x20'+a0J(a5(0x126))+'\x20')+a0v['cyan'](a5(0x106))),console[a5(0x21d)](),a5(0x188);console['log'](a0v['gray']('\x20\x20'+a0J(a5(0x214))));try{const V=await u[a5(0x212)](v);process['stdout']['write']('\x1b[1A\x1b[2K'),h+=V['tokensUsed'],a0B(V[a5(0x16d)]),console[a5(0x21d)](),a0H(V['text']),A(),console[a5(0x21d)]();}catch(W){process[a5(0x1c1)][a5(0x22c)](a5(0x150)),a0I(a5(0x16a)+W[a5(0x165)]),console[a5(0x21d)]();}return a5(0x188);}const x=new Set();async function C(q){const a9=a0k;if(!b||!u)return'exit';const v=q[a9(0x14b)](),z=v['toLowerCase'](),B=(Date[a9(0x227)]()-b[a9(0x1c8)])/(-0x19a95+0x6d9c+0x21759);if(!b[a9(0x120)]&&!b['submitAttempted']&&B>=0x1128+0x14cf+-0x25f2&&(b[a9(0x120)]=!(0x1d95+0x5*0x1e7+-0x1a1*0x18),console[a9(0x21d)](),console[a9(0x21d)](a0v[a9(0x132)](a9(0x1b8))+a0v[a9(0x22e)]['yellow'](a9(0x191))),console['log'](a0v[a9(0x230)](a9(0x1b6))),console[a9(0x21d)]()),/^ICOA\{[^}]+\}$/i[a9(0x17d)](v))return console[a9(0x21d)](),console[a9(0x21d)](a0v[a9(0x230)](a9(0x16f))+a0v[a9(0x19c)](a9(0x11d)+v)),C(a9(0x11d)+v);const D=v[a9(0x146)](/^submit\s+(.+)/i);if(D){let E=D[-0xca*-0x2+-0x817+-0x116*-0x6][a9(0x14b)]();if(/^submit\s+/i[a9(0x17d)](E)&&(E=E[a9(0x140)](/^submit\s+/i,'')[a9(0x14b)]()),E=E[a9(0x140)](/^["'`]+|["'`]+$/g,'')['trim'](),/^[A-Da-d]$/['test'](E))return console[a9(0x21d)](),console[a9(0x21d)](a0v['yellow'](a9(0x232)+E+a9(0x1c4))),console[a9(0x21d)](a0v['gray']('\x20\x20Flag\x20format:\x20')+a0v['green'](a9(0x1cf))+a0v[a9(0x230)](a9(0x20d))),console[a9(0x21d)](),'continue';const {getExamState:F,saveExamState:G}=await import(a9(0x203)),H=F();if(!H)return'exit';if(!H['questions'][a9(0x119)](K=>K['number']===b[a9(0x1f3)]))return console['log'](a0v[a9(0x1fb)](a9(0x1aa)+b['qNum']+a9(0x19a))),a9(0x188);const I=H[a9(0x22f)][b['qNum']];H['interactions']||(H[a9(0x1c0)]=[]),H[a9(0x1c0)][a9(0x21b)]({'ts':new Date()['toISOString'](),'q':b['qNum'],'type':I?a9(0x15f):a9(0x223),'input':E,'result':'via\x20ai4ctf\x20chat'}),H[a9(0x22f)][b[a9(0x1f3)]]=E;const J=b[a9(0x1f3)]+(0x9fd+-0x3dd+-0x1*0x61f);return H[a9(0x10e)]=J<=0x2272*-0x1+-0xe97+0x312f?J:b[a9(0x1f3)],G(H),console['log'](),I?(console[a9(0x21d)](a0v[a9(0x219)](a9(0x164)+b[a9(0x1f3)]+a9(0x112))+a0v[a9(0x132)](E)),console[a9(0x21d)](a0v[a9(0x230)](a9(0x19b)+I))):console[a9(0x21d)](a0v['green'][a9(0x22e)](a9(0x1b9)+b[a9(0x1f3)]+'\x20recorded:\x20'+E)),console[a9(0x21d)](a0v[a9(0x230)]('\x20\x20\x20\x20(Grading\x20happens\x20at\x20exam\x20submit\x20—\x20you\x20cannot\x20preview\x20correctness\x20during\x20the\x20exam.)')),console[a9(0x21d)](),console[a9(0x21d)](a0v['gray']('\x20\x20')+a0v['white'](a9(0x206))+a0v[a9(0x230)](a9(0x216))+a0v[a9(0x19c)]('exit')+a0v[a9(0x230)](a9(0x123))),J<=0x2154+0x3*0xbf5+0x647*-0xb?console[a9(0x21d)](a0v[a9(0x230)](a9(0x224))+a0v['cyan'](a9(0x18e))+a0v[a9(0x230)]('\x20will\x20open\x20Q'+J)):console['log'](a0v[a9(0x230)]('\x20\x20After\x20exit:\x20AI4CTF\x20section\x20complete.\x20Next:\x20')+a0v[a9(0x1fb)](a9(0x175))+a0v[a9(0x230)](a9(0x1e9))),console[a9(0x21d)](),a9(0x188);}if(q[a9(0x1e0)]('!')){const K=q[a9(0x237)](0x25+0x5*-0x7bf+0x2697)['trim']();if(!K)return a9(0x188);try{const L={};L[a9(0x117)]=a9(0x184),L[a9(0x12c)]=0x2710;const {execSync:M}=await import(a9(0x225)),N=M(K,L)[a9(0x14b)]();console[a9(0x21d)](),console[a9(0x21d)](a0v[a9(0x230)](a9(0x19d))+a0v[a9(0x19c)](K)),console[a9(0x21d)](a0v[a9(0x19c)]('\x20\x20'+N[a9(0x134)]('\x0a')[a9(0x194)](a9(0x1c3)))),console[a9(0x21d)]();}catch(O){console['log'](),console[a9(0x21d)](a0v[a9(0x1fb)](a9(0x1f7)+(O[a9(0x165)]?.[a9(0x134)]('\x0a')[0x173e+-0x5*0x551+0x357]||a9(0x15c)))),console['log']();}return a9(0x188);}if('exit'===z||a9(0x167)===z||a9(0x1a7)===z){const P=b[a9(0x1f3)],{getExamState:Q}=await import(a9(0x203)),R=Q(),S=R&&null!=R[a9(0x22f)][P],T=R?.['_lastQ']||P;return r=!(0x71*-0x35+-0x1205*0x2+0x3b70),u=null,b=null,x['clear'](),console[a9(0x21d)](),console[a9(0x21d)](a0v[a9(0x230)](a9(0x1a6)+P+'.')),S&&T>P&&T<=0x21f*0xb+0x25*-0x59+0xa52*-0x1?console[a9(0x21d)](a0v[a9(0x19c)]('\x20\x20Next:\x20')+a0v['bold'][a9(0x219)]('Q'+T)+a0v['gray'](a9(0x16b))+a0v['cyan'](a9(0x18e))+a0v['gray'](a9(0x163))):S&&P>=-0x10a3+0x1306+-0x23d?console['log'](a0v[a9(0x19c)](a9(0x161))+a0v[a9(0x22e)]['red']('ctf4ai')+a0v['gray']('\x20for\x20Q39')):console[a9(0x21d)](a0v['gray']('\x20\x20Resume:\x20')+a0v[a9(0x19c)](a9(0x186)+P)+a0v[a9(0x230)]('\x20\x20·\x20\x20Re-enter:\x20')+a0v['white'](a9(0x18e))),console['log'](),a9(0x234);}if(m)return console['log'](),console[a9(0x21d)](a0v['yellow']('\x20\x20AI\x20budget\x20exhausted\x20for\x20AI4CTF\x20section.')),console['log'](a0v[a9(0x230)]('\x20\x20Still\x20available:\x20')+a0v[a9(0x19c)](a9(0x1d3))+a0v[a9(0x230)](a9(0x107))+a0v[a9(0x19c)](a9(0x13b))+a0v[a9(0x230)]('\x20·\x20')+a0v['white'](a9(0x234))),console[a9(0x21d)](),a9(0x188);if(h>=p)return m=!(-0x210a*0x1+-0x19dd*-0x1+-0xb*-0xa7),console[a9(0x21d)](),console[a9(0x21d)](a0v[a9(0x1fb)][a9(0x22e)](a9(0x22b))),console[a9(0x21d)](a0v[a9(0x230)](a9(0x125))+a0v[a9(0x19c)](a9(0x1d3))+a0v[a9(0x230)](a9(0x107))+a0v['white'](a9(0x13b))+a0v[a9(0x230)](a9(0x107))+a0v['white'](a9(0x234))),console[a9(0x21d)](),a9(0x188);console['log'](a0v[a9(0x230)](a9(0x1de)));try{const U=await u[a9(0x212)](q);process['stdout'][a9(0x22c)](a9(0x150)),h+=U['tokensUsed'];const {getRealExamState:V,saveExamState:W}=await import(a9(0x203)),X=V(),Y={};Y[a9(0x18e)]=0x0,Y[a9(0x175)]=0x0,(X&&(X[a9(0x198)]||(X[a9(0x198)]=Y),X[a9(0x198)][a9(0x18e)]=h,W(X)),console[a9(0x21d)](),a0H(U[a9(0x1ce)]),A(),function(Z,a0,a1){const aa=a9,a2=Z/a0*(0x7d2+0x1eed+-0x265b);a2>=-0x11d7+0x1*0x869+0x9cd&&!a1['has']('95')?(console[aa(0x21d)](a0v[aa(0x1fb)][aa(0x22e)](aa(0x1b4)+Math[aa(0x151)](a2)+aa(0x211)+(a0-Z)+aa(0x154))),a1['add']('95')):a2>=0x1bac+-0xd5c+-0xe00&&!a1['has']('80')?(console[aa(0x21d)](a0v['yellow'](aa(0x1ac))),a1[aa(0x193)]('80')):a2>=-0x1800+-0x1*-0x1e71+-0x63f&&!a1[aa(0x19e)]('50')&&(console[aa(0x21d)](a0v[aa(0x230)](aa(0x174))),a1[aa(0x193)]('50'));}(h,p,x),console[a9(0x21d)]());}catch(Z){process[a9(0x1c1)][a9(0x22c)](a9(0x150)),a0I(a9(0x16a)+Z[a9(0x165)]),console[a9(0x21d)]();}return a9(0x188);}export function registerAi4ctfCommand(j){const ab=a0k;j[ab(0x183)](ab(0x18e))[ab(0x13f)](ab(0x226))[ab(0x1a8)](async()=>{const ac=ab;a0F(ac(0x18e));const {getRealExamState:k}=await import('../lib/exam-state.js'),q=k(),v=q?.[ac(0x1fc)]['some'](F=>ac(0x18e)===F[ac(0x1e3)]);if(q&&v){const F=q[ac(0x10e)]||0xce4+0x18*-0xd1+0x6b5,G=q[ac(0x1fc)][ac(0x119)](H=>H[ac(0x1da)]===F);if(!G)return void a0I('Q'+F+ac(0x1e5)+F);if(ac(0x18e)!==G[ac(0x1e3)]){if(console['log'](),ac(0x175)===G[ac(0x1e3)])console['log'](a0v[ac(0x132)](ac(0x1aa)+F+ac(0x10d))),console[ac(0x21d)](a0v['gray'](ac(0x17c))+a0v[ac(0x22e)]['red'](ac(0x175)));else{if('vla'===G[ac(0x1e3)])console[ac(0x21d)](a0v[ac(0x132)](ac(0x1aa)+F+ac(0x137))),console[ac(0x21d)](a0v['gray'](ac(0x17c))+a0v[ac(0x22e)][ac(0x103)](ac(0x131)));else{const H=q[ac(0x1fc)]['find'](I=>ac(0x18e)===I[ac(0x1e3)]);console[ac(0x21d)](a0v[ac(0x132)](ac(0x1aa)+F+ac(0x17e))),H&&(console[ac(0x21d)](a0v[ac(0x230)]('\x20\x20AI4CTF\x20chat\x20is\x20available\x20on\x20practical\x20questions\x20(next:\x20Q'+H[ac(0x1da)]+').')),console[ac(0x21d)](a0v['gray'](ac(0x121))+a0v[ac(0x22e)][ac(0x103)](ac(0x186)+H[ac(0x1da)])));}}return void console[ac(0x21d)]();}return void await async function(I,J){const ad=ac,{getRealExamState:K,refetchQuestionDataIfStale:L,materializeAttachedData:M}=await import(ad(0x203));await L();const N=K();if(!N)return!(0x19de+-0x146b*0x1+-0x572);const O=N['questions'][ad(0x119)](R=>R[ad(0x1da)]===I);O&&(J=O),M(I,J?.[ad(0x23b)]);const P=N['aiUsage']?.[ad(0x18e)]??-0x7d*0x29+0x11*0x23c+-0x11f7;if(P>=p)return console[ad(0x21d)](),console[ad(0x21d)](a0v[ad(0x132)](ad(0x1d0))),console['log'](a0v[ad(0x230)]('\x20\x20You\x20can\x20still\x20submit\x20a\x20flag\x20directly:\x20')+a0v[ad(0x19c)](ad(0x113)+I+ad(0x172))),console[ad(0x21d)](),!(0x1*-0x25f5+-0xfe2*-0x1+0x1614);try{u=await a0z(void(0x344+0x127d*-0x1+-0x1b1*-0x9),function(R,S){const ae=ad,T=R[ae(0x13f)]||R[ae(0x1ce)]||'',U=R[ae(0x23b)]?ae(0x1c6)+S+ae(0x1fa)+R[ae(0x23b)]:'';return ae(0x127)+S+',\x20'+R[ae(0x143)]+',\x20'+(R['points']||0xc07*-0x2+-0x8cb*0x2+-0x1*-0x29aa)+'\x20points):\x0a'+T+U+ae(0x118)+S+ae(0x18d);}(J,I));}catch(R){return a0I(R['message']),!(-0x2ca*-0xa+-0x53*0x1+-0xfc*0x1c);}r=!(0x28b+-0x82c+0x5a1),h=P,m=!(0x76+-0xd67*-0x1+0xddc*-0x1),b={'qNum':I,'question':J,'usageField':'ai4ctf','enteredAt':Date[ad(0x227)](),'submitAttempted':!(0x15*-0xa6+0x1fa3+-0x1204),'nudgeShown':!(0x1ad1+0x2*0x11b6+-0x3e3c)};const Q=N[ad(0x22f)]?.[I];return function(S,T,U){const af=ad,V=a0D()['geminiModel']||'gemma-4-31b-it',W=h>-0x48a+0x1a08+0x312*-0x7;console['log'](),console[af(0x21d)](a0v[af(0x219)]['bold'](af(0x20b)+T+':\x20'+S[af(0x143)]+af(0x1e7))),W&&console[af(0x21d)](a0v[af(0x230)](af(0x152))),U&&console[af(0x21d)](a0v[af(0x230)](af(0x178))+a0v[af(0x132)](U)+a0v[af(0x230)](af(0x129))),console[af(0x21d)](),console[af(0x21d)](a0v['cyan'](af(0x17f))),console[af(0x21d)](a0v['cyan']('\x20\x20│\x20')+a0v[af(0x22e)][af(0x19c)]('Q'+T+'\x20\x20['+S[af(0x143)]+']\x20\x20·\x20'+(S[af(0x145)]||-0x13b3+-0x1c59+0xe*0x36f)+af(0x15e))),console[af(0x21d)](a0v[af(0x103)]('\x20\x20│'));for(const X of String(S[af(0x1ce)])[af(0x134)]('\x0a')){const Y=X[af(0x1d2)]>0xbae*-0x1+0x24e9*0x1+0x51*-0x4f?X[af(0x237)](-0x485*-0x6+0x7*0x10a+0x3e*-0x8e,0xfd1+0x1c*0x118+-0x2e38)+af(0x109):X;console[af(0x21d)](a0v[af(0x103)](af(0x14e))+a0v['white'](Y));}console[af(0x21d)](a0v[af(0x103)]('\x20\x20│')),console[af(0x21d)](a0v[af(0x103)](af(0x14e))+a0v['gray']('Full\x20question:\x20\x20')+a0v['white'](af(0x186)+T)),console[af(0x21d)](a0v[af(0x103)](af(0x14e))+a0v[af(0x230)](af(0x18f))),console[af(0x21d)](a0v[af(0x103)]('\x20\x20└─────────────────────────────────────────────')),console[af(0x21d)](),console[af(0x21d)](a0v[af(0x22e)][af(0x19c)](af(0x15d))),console[af(0x21d)](),console[af(0x21d)](a0v[af(0x132)](af(0x133))+a0v[af(0x230)](af(0x200))),console[af(0x21d)](a0v['yellow'](af(0x1ca))+a0v['gray'](af(0x1fe))),console['log'](a0v[af(0x132)]('\x20\x20\x20\x20hint\x20c')+a0v['gray'](af(0x1e2))),console[af(0x21d)](a0v['bold']['green'](af(0x21a))+a0v['gray']('\x20Submit\x20your\x20flag\x20for\x20this\x20question')),console[af(0x21d)](a0v['white'](af(0x159))+a0v[af(0x230)](af(0x20e))),console[af(0x21d)](a0v[af(0x230)]('\x20\x20\x20\x20Just\x20type\x20freely\x20to\x20chat\x20with\x20the\x20AI\x20teammate.')),console['log'](a0v[af(0x230)](af(0x1ad))+a0v[af(0x19c)](af(0x180))),console['log'](),console[af(0x21d)](a0v[af(0x230)]('\x20\x20\x20\x20exit')+a0v[af(0x230)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Leave\x20chat,\x20return\x20to\x20exam')),console[af(0x21d)](a0v[af(0x230)](af(0x185))+a0v['gray']('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Return\x20to\x20main\x20menu\x20(works\x20anywhere)')),console[af(0x21d)](),A(),console['log'](a0v[af(0x230)](af(0x236)+V+')')),console[af(0x21d)]();}(J,I,Q),!(0x86*-0x3f+0x1e08*-0x1+0x64d*0xa);}(F,G);}const z=a0D(),B=z['geminiModel']||ac(0x1d4);if(a0E())return z[ac(0x208)]?void await(async function(){const ag=ac,I=a0D(),J=I[ag(0x1b3)],K=I[ag(0x208)],L=I[ag(0x108)]||ag(0x1f0);let M='';if(J)try{const {CTFdClient:N}=await import(ag(0x128)),O=I['sessionCookie']||'',P=I[ag(0x179)]&&!I[ag(0x179)]['includes'](ag(0x130))?I[ag(0x179)]:'',Q=new N(I[ag(0x1a4)],P,O||I[ag(0x179)]);M=(await Q['getChallenge'](J))[ag(0x13f)]||'';}catch{}try{u=await a0z(void(0xf07+-0x27a*-0x1+-0x1181*0x1),function(R,S,T){const ah=ag;return ah(0x23a)+R+'\x22\x20(category:\x20'+S+').'+(T?ah(0x170)+T:'')+'\x0a\x0aYOUR\x20RULES:\x0a-\x20You\x20MAY\x20explain\x20concepts,\x20describe\x20approaches,\x20and\x20help\x20the\x20contestant\x20reason\x20through\x20the\x20problem.\x0a-\x20You\x20MAY\x20discuss\x20the\x20technology\x20involved\x20(crypto,\x20web,\x20forensics,\x20pwn,\x20reversing,\x20OSINT,\x20stego,\x20etc.).\x0a-\x20You\x20MAY\x20help\x20debug\x20code\x20the\x20contestant\x20writes\x20and\x20suggest\x20which\x20tool\x20/\x20library\x20/\x20technique\x20to\x20use.\x0a-\x20You\x20MUST\x20NOT\x20reveal\x20or\x20guess\x20the\x20flag,\x20and\x20MUST\x20NOT\x20output\x20any\x20flag-shaped\x20string\x20(anything\x20like\x20name{...}).\x0a-\x20You\x20MUST\x20NOT\x20solve\x20the\x20whole\x20challenge\x20end-to-end\x20for\x20the\x20contestant\x20—\x20guide,\x20don\x27t\x20hand\x20over\x20the\x20answer.\x0a-\x20Keep\x20responses\x20concise\x20and\x20practical.\x20The\x20contestant\x20is\x20racing\x20the\x20clock.';}(K,L,M));}catch(R){return a0I(R[ag(0x165)]),!(0x1964+-0x1*0x4df+-0x1484);}r=!(-0x2*-0xeec+-0xa8e+0x6*-0x337),h=-0x10*0x10d+-0x1b05+0x2bd5,f=!(-0x7*-0x53a+-0x1b5*0x3+-0x1f76),y=w,d=!(0x1*0x1373+-0x7ad+-0x89*0x16);try{if(I[ag(0x1a4)]&&I[ag(0x179)]){const S=await fetch(I[ag(0x1a4)]+ag(0x20c),{'headers':{'Authorization':ag(0x1ec)+I[ag(0x179)],'User-Agent':ag(0x114)}});if(S['ok']){const T=await S[ag(0x1d1)]();ag(0x1da)==typeof T['data']?.['accountSpent']&&(h=T['data']['accountSpent'],f=!(0x2*-0xad7+0xe05*-0x1+0xd*0x2bf)),ag(0x1da)==typeof T[ag(0x187)]?.[ag(0x176)]&&(y=T[ag(0x187)]['accountCap']),ag(0x189)==typeof T[ag(0x187)]?.['accountVerified']&&(d=T[ag(0x187)][ag(0x177)]);}}}catch{}return m=!(0x1139+0x1*-0x2485+-0x51*-0x3d),$={'challengeId':J,'challengeName':K,'challengeCategory':L,'enteredAt':Date[ag(0x227)]()},function(U,V){const ai=ag,W=a0D()['geminiModel']||'gemma-4-31b-it';console[ai(0x21d)](),console[ai(0x21d)](a0v[ai(0x219)][ai(0x22e)](ai(0x215))),console[ai(0x21d)](),console[ai(0x21d)](a0v[ai(0x103)]('\x20\x20┌─────────────────────────────────────────────')),console['log'](a0v[ai(0x103)](ai(0x14e))+a0v[ai(0x22e)][ai(0x19c)](U)+a0v[ai(0x230)]('\x20\x20\x20['+V+']')),console[ai(0x21d)](a0v['cyan']('\x20\x20│')),console['log'](a0v[ai(0x103)]('\x20\x20│\x20')+a0v['gray']('Scoped\x20to\x20the\x20challenge\x20you\x20opened.\x20Ask\x20freely\x20—')),console['log'](a0v[ai(0x103)](ai(0x14e))+a0v[ai(0x230)](ai(0x16c))),console[ai(0x21d)](a0v[ai(0x103)]('\x20\x20└─────────────────────────────────────────────')),console[ai(0x21d)](),console[ai(0x21d)](a0v[ai(0x132)](ai(0x12b))),console[ai(0x21d)](a0v['white'](ai(0x14a))+a0v[ai(0x230)](ai(0x13a))),console[ai(0x21d)](a0v[ai(0x19c)](ai(0x195))+a0v[ai(0x230)](ai(0x1f1))),console[ai(0x21d)](a0v[ai(0x19c)](ai(0x1d7))+a0v[ai(0x230)]('Submit\x20a\x20flag\x20to\x20the\x20live\x20scoreboard')),console[ai(0x21d)](a0v[ai(0x19c)](ai(0x228))+a0v[ai(0x230)](ai(0x1f5))),console[ai(0x21d)](),console['log'](a0v[ai(0x230)](ai(0x10c))+a0v[ai(0x19c)](ai(0x158))+a0v[ai(0x230)](ai(0x1cb))+a0v[ai(0x19c)](ai(0x18e))),A(),console[ai(0x21d)](a0v[ai(0x230)](ai(0x236)+W+')')),console[ai(0x21d)](a0v[ai(0x230)](ai(0x18c))),console[ai(0x21d)]();}(K,L),!(0x22d2+-0x1c8d+-0x645*0x1);}()):(console[ac(0x21d)](),console[ac(0x21d)](a0v[ac(0x132)](ac(0x207))),console[ac(0x21d)](a0v[ac(0x230)](ac(0x12e))+a0v[ac(0x19c)](ac(0x1c5))+a0v[ac(0x230)](ac(0x1a3))+a0v[ac(0x19c)](ac(0x158))),console[ac(0x21d)](a0v['gray']('\x20\x20The\x20AI\x20teammate\x20scopes\x20itself\x20to\x20the\x20challenge\x20you\x20open.')),void console[ac(0x21d)]());const D={};D[ac(0x21c)]=ac(0x111),D[ac(0x143)]=ac(0x116);const E=D;try{u=await a0z(E);}catch(I){return void a0I(I['message']);}r=!(0x1*-0xdda+-0xa0d*-0x3+-0x104d),h=-0x1*0x995+-0x1e0b*0x1+-0x2*-0x13d0,m=!(0x152*0xb+0xe82+-0x1d07),console[ac(0x21d)](),console[ac(0x21d)](a0v['green']['bold'](ac(0x16e)+a0J(ac(0x136))+ac(0x1e7))),console[ac(0x21d)](),console[ac(0x21d)](a0v[ac(0x19c)]('\x20\x20'+a0J(ac(0x21f)))),console[ac(0x21d)](),console[ac(0x21d)](a0v[ac(0x103)]('\x20\x20┌─────────────────────────────────────────────')),console['log'](a0v[ac(0x103)](ac(0x14e))+a0v[ac(0x22e)]['white'](a0J(ac(0x1df)))),console[ac(0x21d)](a0v[ac(0x103)](ac(0x1bf))),console[ac(0x21d)](a0v[ac(0x103)](ac(0x14e))+a0v[ac(0x19c)](a0J(ac(0x1e8)))),console[ac(0x21d)](a0v[ac(0x103)](ac(0x14e))+a0v[ac(0x219)](ac(0x166))),console[ac(0x21d)](a0v[ac(0x103)](ac(0x1bf))),console[ac(0x21d)](a0v[ac(0x103)]('\x20\x20│\x20')+a0v['white'](a0J(ac(0x204)))),console['log'](a0v[ac(0x103)](ac(0x14e))+a0v[ac(0x230)]('Flag\x20format:\x20icoa{...}')),console[ac(0x21d)](a0v[ac(0x103)](ac(0x218))),console[ac(0x21d)](),console[ac(0x21d)](a0v[ac(0x19c)]('\x20\x20'+a0J(ac(0x1f6)))),console[ac(0x21d)](),console[ac(0x21d)](a0v[ac(0x132)](ac(0x133))+a0v[ac(0x230)](ac(0x168)+a0J(ac(0x222)))),console[ac(0x21d)](a0v[ac(0x230)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0J(ac(0x1a1)))),console[ac(0x21d)](a0v[ac(0x132)](ac(0x1ca))+a0v['gray'](ac(0x168)+a0J(ac(0x233)))),console[ac(0x21d)](a0v[ac(0x230)](ac(0x221)+a0J(ac(0x1cd)))),console[ac(0x21d)](a0v[ac(0x132)](ac(0x15b))+a0v[ac(0x230)](ac(0x168)+a0J(ac(0x10b)))),console[ac(0x21d)](a0v[ac(0x230)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0J(ac(0x1e6)))),console[ac(0x21d)](),console['log'](a0v[ac(0x230)](ac(0x1a9))),console[ac(0x21d)](a0v[ac(0x22e)]['white']('\x20\x20'+a0J(ac(0x153)))),console[ac(0x21d)](ac(0x168)+a0v[ac(0x103)](ac(0x196))+a0v[ac(0x230)](ac(0x171)+a0J(ac(0x14d)))),console[ac(0x21d)](ac(0x168)+a0v['cyan']('hint\x20b')+a0v['gray']('\x20\x20\x20→\x20'+a0J(ac(0x13d)))),console[ac(0x21d)]('\x20\x20\x20\x20'+a0v[ac(0x103)](ac(0x115))+a0v[ac(0x230)]('\x20\x20\x20→\x20'+a0J('ai4ctfHintPrinciple'))),console[ac(0x21d)](a0v[ac(0x230)]('\x20\x20\x20\x20'+a0J(ac(0x11a)))),console[ac(0x21d)](),console['log'](a0v[ac(0x19c)]('\x20\x20'+a0J(ac(0x199)))),console[ac(0x21d)](a0v[ac(0x230)]('\x20\x20'+a0J(ac(0x1c7))+'\x20')+a0v[ac(0x19c)](ac(0x1b0))),console['log'](),console['log'](a0v['yellow']('\x20\x20'+a0J(ac(0x10f)))),console['log'](a0v['white'](ac(0x202))+a0v[ac(0x230)](a0J(ac(0x144)))),console[ac(0x21d)](a0v[ac(0x19c)]('\x20\x20\x20\x20submit\x20<flag>\x20\x20\x20')+a0v[ac(0x230)](a0J(ac(0x1dc)))),console[ac(0x21d)](a0v['white'](ac(0x195))+a0v[ac(0x230)](a0J('ai4ctfCmdShellLine'))),console['log'](a0v[ac(0x230)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20e.g.\x20')+a0v[ac(0x19c)]('!echo\x20aWNv...\x20|\x20base64\x20-d')),console[ac(0x21d)](a0v[ac(0x230)](ac(0x228)+a0J('ai4ctfEndSession'))),console[ac(0x21d)](),A(),console['log'](a0v['gray']('\x20\x20'+a0J('ai4ctfModel')+ac(0x11e)+B+')')),console[ac(0x21d)](a0v[ac(0x230)]('\x20\x20'+a0J('ai4ctfExit'))),console[ac(0x21d)]();});}
@@ -1 +1 @@
1
- import chalk from"chalk";import{CTFdClient as e}from"../lib/ctfd-client.js";import{getConfig as o,saveConfig as t}from"../lib/config.js";import{postIntegritySnapshot as n}from"../lib/integrity-snapshot.js";import{logCommand as i,logSubmission as s}from"../lib/logger.js";import{getTranslation as a}from"../lib/translation.js";import{isLeaderAccount as l,isLeaderToken as c,leaderAuth as r}from"../lib/comms.js";import{printSuccess as d,printError as g,printWarning as m,printInfo as p,printTable as y,printMarkdown as h,printHeader as u,printKeyValue as w,createSpinner as f,formatCountdown as b}from"../lib/ui.js";import{eaiArenaTask as S,printEaiArenaGuide as v}from"./connect.js";export function detectFlagFormat(e){if(!e)return null;const o=e.match(/flag\s*format\s*[::]?\s*`?([A-Za-z][A-Za-z0-9_]{0,20}\{[^}\n]{1,60}\})`?/i);return o?o[1]:null}function C(){const t=o();t.ctfdUrl&&(t.token||t.sessionCookie)||(g("Not connected to CTFd. Run: join <url>"),process.exit(1));const n=t.sessionCookie||"",i=t.token&&!t.token.includes("session=")?t.token:"";return{config:t,client:new e(t.ctfdUrl,i,n||t.token)}}export function registerCtfCommands(k){const I=k.command("ctf").description("Competition commands");I.command("join <url>").description("Connect to a CTFd instance").action(async n=>{let s=n.trim().replace(/\/+$/,"");function a(e,o){return new Promise(t=>{process.stdout.write(chalk.white(e));const n=!!process.stdin.isTTY&&!!process.stdin.isRaw,i=process.stdin.listeners("data").slice(),s=process.stdin.listeners("keypress").slice();for(const e of i)process.stdin.removeListener("data",e);for(const e of s)process.stdin.removeListener("keypress",e);process.stdin.isTTY&&process.stdin.setRawMode?.(!0),process.stdin.resume();let a="";const l=e=>{const c=e.toString(),r=e=>{process.stdin.isTTY&&process.stdin.setRawMode?.(n),process.stdin.removeListener("data",l);for(const e of i)process.stdin.on("data",e);for(const e of s)process.stdin.on("keypress",e);process.stdout.write("\n"),t(e)};"\n"===c||"\r"===c?r(a):""===c||"\b"===c?a.length>0&&(a=a.slice(0,-1),process.stdout.write("\b \b")):""===c?r(""):(a+=c,process.stdout.write(o||c))};process.stdin.on("data",l)})}s.startsWith("http://")||s.startsWith("https://")||(s=`https://${s}`),i(`ctf join ${s}`),console.log(),p(`Connecting to ${chalk.bold(s)}`);const y=await a(" Username: ");if(c(y)){const e=f("Verifying leader token...");e.start();const o=await r(s,y);return o?(e.succeed("Leader verified"),t({ctfdUrl:s,token:"",sessionCookie:"",leaderToken:y.trim(),leaderTeam:o.team,userName:o.account,userId:null,teamId:null,joinedAt:(new Date).toISOString()}),console.log(),w("Leader",o.account),o.team&&w("Team",o.team),console.log(),console.log(chalk.yellow(" ─────────────────────────────────────────────")),console.log(chalk.bold.yellow(" Team Leader console")),console.log(),console.log(chalk.white(" scoreboard")+chalk.gray(" Live team rankings")),console.log(chalk.white(" jury")+chalk.gray(" File a clarification / appeal (recorded)")),console.log(chalk.white(" news")+chalk.gray(" Latest organizer broadcast")),console.log(chalk.white(" time")+chalk.gray(" Event clock")),console.log(chalk.white(" logout")+chalk.gray(" Sign out")),console.log(chalk.yellow(" ─────────────────────────────────────────────")),console.log(),void console.log(chalk.gray(" The challenge bracket is not available to leaders."))):(e.fail("Invalid leader token"),void g("That leader token was not accepted. Check the token on your card and retry."))}const h=await a(" Password: ","*");let u="",b="",S="";const v=f("Logging in...");v.start();try{const o=new e(s,""),t=await o.loginWithCredentials(y,h);u=t.token,b=t.session,S=t.csrf,u?v.succeed("Login successful — API token auto-generated"):v.succeed("Login successful (session mode)")}catch(e){return v.fail("Login failed"),void g(e.message)}const C=f("Testing connection...");C.start();try{const n=new e(s,u,b,S),i=await n.testConnection();C.succeed("Connected successfully"),console.log(),w("User",i.name),w("Score",String(i.score||0)),i.team_id&&w("Team ID",String(i.team_id));try{const e=await n.getCompetitionMeta(),o={ctfdUrl:s,token:u||b,userId:i.id,userName:i.name,teamId:i.team_id,sessionCookie:b,country:i.country||"",joinedAt:(new Date).toISOString()};e.start?(o.competitionStartsAt=new Date(1e3*e.start).toISOString(),w("Starts",new Date(1e3*e.start).toLocaleString())):o.competitionStartsAt="",e.end?(o.competitionEndsAt=new Date(1e3*e.end).toISOString(),w("Ends",new Date(1e3*e.end).toLocaleString())):o.competitionEndsAt="";const a=Date.now()/1e3;e.start&&a<e.start?o.competitionState="pre_competition":e.end&&a>e.end?o.competitionState="finished":o.competitionState="live",w("Status",o.competitionState),t(o)}catch{t({ctfdUrl:s,token:u,userId:i.id,userName:i.name,teamId:i.team_id,joinedAt:(new Date).toISOString()})}console.log(),d("Connection saved. You are ready!"),console.log();const a=o().mode||"";l(i.name||"")?(console.log(chalk.yellow(" ─────────────────────────────────────────────")),console.log(chalk.bold.yellow(" Team Leader console")),console.log(),console.log(chalk.white(" scoreboard")+chalk.gray(" Live team rankings")),console.log(chalk.white(" news")+chalk.gray(" Latest organizer broadcast")),console.log(chalk.white(" jury")+chalk.gray(" File a clarification / appeal (recorded)")),console.log(chalk.white(" time")+chalk.gray(" Event clock")),console.log(chalk.white(" status")+chalk.gray(" Event state")),console.log(chalk.white(" logout")+chalk.gray(" Sign out")),console.log(chalk.yellow(" ─────────────────────────────────────────────"))):"olympiad"===a?(console.log(chalk.cyan(" ─────────────────────────────────────────────")),console.log(chalk.bold.white(" How to compete:")),console.log(),console.log(chalk.white(" Step 1 ")+chalk.bold.cyan("challenges")+chalk.gray(" Browse all challenges")),console.log(chalk.white(" Step 2 ")+chalk.bold.cyan("open <id>")+chalk.gray(" Read challenge details")),console.log(chalk.white(" Step 3 ")+chalk.bold.cyan("submit <id> <flag>")+chalk.gray(" Submit your answer")),console.log(),console.log(chalk.bold.yellow(" ★ Need AI help? ")+chalk.bold.cyan("ai4ctf")+chalk.gray(" Chat freely with your AI teammate")),console.log(chalk.bold.yellow(" ★ Stuck on a tool? ")+chalk.bold.cyan("man <tool>")+chalk.gray(" how to use steghide / binwalk / nmap … (")+chalk.cyan("man tools")+chalk.gray(" = list)")),console.log(),console.log(chalk.gray(" More:")),console.log(chalk.white(" scoreboard")+chalk.gray(" Live rankings")),console.log(chalk.white(" status")+chalk.gray(" Your score & timer")),console.log(chalk.white(" memo")+chalk.gray(" Report an issue with a challenge")),console.log(chalk.white(" news")+chalk.gray(" Show the latest organizer broadcast")),console.log(chalk.cyan(" ─────────────────────────────────────────────"))):(console.log(chalk.gray(" Next:")),console.log(chalk.white(" exam list ")+chalk.gray("View available exams")),console.log(chalk.white(" challenges ")+chalk.gray("View CTF challenges")),console.log(chalk.white(" status ")+chalk.gray("Check score & timer")))}catch(e){/ACCOUNT_BLOCKED|banned|not enabled/i.test(e?.message||"")?(C.fail("This account cannot access the competition"),console.log(),g("Signed in OK, but the account is banned / disabled / not enabled. Try a different account, or contact the organizer."),t({ctfdUrl:s})):b?(C.succeed("Connected (session mode — limited API)"),t({ctfdUrl:s,token:b,userName:y,sessionCookie:b}),console.log(),w("User",y),m("API access limited. Some features may not work."),d("Connection saved.")):(C.fail("Connection test failed"),g(e.message),t({ctfdUrl:s}),console.log(),p(`Connection saved. Try: join ${s}`))}}),I.command("logout").description("Disconnect and clear credentials").action(()=>{i("ctf logout"),t({ctfdUrl:"",token:"",sessionCookie:"",userId:null,userName:"",teamId:null,country:"",leaderToken:"",leaderTeam:""}),d("Logged out. Credentials cleared."),console.log(),console.log(chalk.gray(" What now?")),console.log(chalk.white(" join <url>")+chalk.gray(" Re-connect to competition")),console.log(chalk.white(" setup")+chalk.gray(" Switch mode")),console.log(chalk.white(" exit")+chalk.gray(" Quit ICOA CLI"))}),I.command("activate <code>").description("Validate competition code").action(async e=>{i(`ctf activate ${e}`),C();const n=f("Validating competition code...");n.start();try{const i=await fetch(`${o().ctfdUrl}/api/v1/icoa/activate`,{method:"POST",headers:{Authorization:`Token ${o().token}`,"Content-Type":"application/json"},body:JSON.stringify({code:e})});if(i.ok){const s=await i.json();n.succeed("Competition code validated"),t({competitionCode:e,teamId:s.data?.team_id||o().teamId,competitionState:"live"}),d(`Activated: ${e}`)}else n.succeed("Competition code saved"),t({competitionCode:e}),p("Code stored locally. Server validation will be attempted during competition.")}catch{n.succeed("Competition code saved"),t({competitionCode:e}),p("Code stored locally.")}}),I.command("challenges").description("List all challenges").action(async()=>{i("ctf challenges");const{client:e}=C(),o=f("Loading challenges...");o.start();try{const t=await e.getChallenges();if(o.stop(),!t||0===t.length)return void p("No challenges available yet.");const n=new Map;for(const e of t){const o=e.category||"Uncategorized";n.has(o)||n.set(o,[]),n.get(o).push(e)}const i=t.filter(e=>e.solved_by_me).length;u(`Challenges (${i}/${t.length} solved)`);const s={Web:"Find vulnerabilities in websites",Crypto:"Break ciphers & encryption",Reversing:"Analyze compiled programs",Rev:"Analyze compiled programs",Pwn:"Exploit binary vulnerabilities",Forensics:"Investigate digital evidence",Misc:"Creative & mixed challenges",OSINT:"Open-source intelligence gathering",AI:"AI security & adversarial ML",ai4ctf:"Use AI to solve CTF challenges",ctf4ai:"Attack live AI targets (LLM / ML / agents)",ctf4eai:"Red-team embodied-AI robot policies"},a=e=>{if(s[e])return s[e];const o=e.toLowerCase().replace(/\s+practice$/,""),t=Object.keys(s).find(e=>e.toLowerCase()===o);return t?s[t]:""},l=e=>e<=100?chalk.green("Easy"):e<=250?chalk.yellow("Medium"):e<=500?chalk.red("Hard"):chalk.magenta("Expert"),c=[...n.entries()].sort(([e],[o])=>e.localeCompare(o)).flatMap(([e,o])=>{const t=a(e);return[[t?`${chalk.cyan.bold(`── ${e} ──`)} ${chalk.gray(t)}`:chalk.cyan.bold(`── ${e} ──`),"","","",""],...o.sort((e,o)=>e.value-o.value).map(e=>[String(e.id),e.solved_by_me?chalk.gray.strikethrough(e.name):e.name,e.solved_by_me?chalk.gray(String(e.value)):chalk.yellow(String(e.value)),e.solved_by_me?chalk.gray("--"):l(e.value),e.solved_by_me?chalk.green("✓"):chalk.gray("○")])]});y(["#","Name","Points","Difficulty","Solved"],c),console.log(chalk.gray(` ${t.length} challenges, ${i} solved`)),0===i&&(console.log(),console.log(chalk.gray(" Tip: Start with ")+chalk.green("Easy")+chalk.gray(" challenges! Type ")+chalk.white("open <id>")+chalk.gray(" to read one.")))}catch(e){o.fail("Failed to load challenges"),g(e.message)}}),I.command("open <id>").description("View challenge details").action(async e=>{i(`ctf open ${e}`);const{config:o,client:n}=C(),s=f("Loading challenge...");s.start();try{const i=await n.getChallenge(parseInt(e,10));s.stop(),t({currentChallengeId:i.id,currentChallengeName:i.name,currentChallengeCategory:i.category});const l=S(i);u(`${i.name} [${i.category}]`),w("Points",String(i.value)),w("Solves",String(i.solves)),i.connection_info&&!l&&w("Connection",i.connection_info),console.log();let c=i.description;if("en"!==o.language)try{c=await a(c,i.id,o.language)}catch{}h(c);const r=detectFlagFormat(i.description);if(console.log(),r?console.log(chalk.bold.white(" Flag format: ")+chalk.green(r)):console.log(chalk.bold.white(" Flag format: ")+chalk.gray("submit the flag exactly as you receive it, including its ")+chalk.green("wrapper{...}")+chalk.gray(" — don't retype or add a prefix.")),i.files&&i.files.length>0&&(console.log(),p(`Files (${i.files.length}): use ${chalk.white(`files ${e}`)} to download`)),i.hints&&i.hints.length>0&&p(`CTFd Hints available: ${i.hints.length}`),l)return console.log(),void v(e,l);i.connection_info&&(console.log(),p(`Quick connect: ${chalk.white(`connect ${e}`)}`));const d=!!i.connection_info&&/^https?:\/\//i.test(i.connection_info.trim());console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.bold.white(" What to do next:")),d&&console.log(chalk.white(` connect ${e}`)+chalk.gray(" How to attack & submit — full guide")),console.log(chalk.white(' hint "how to start?"')+chalk.gray(" Ask the AI teammate (if enabled this round)")),i.files&&i.files.length>0&&console.log(chalk.white(` files ${e}`)+chalk.gray(" Download challenge files")),i.connection_info&&!d&&console.log(chalk.white(` connect ${e}`)+chalk.gray(" Connect to target")),console.log(chalk.white(` submit ${e} <flag>`)+chalk.gray(" Submit your answer (paste the full flag with its wrapper)")),console.log(chalk.gray(" ─────────────────────────────────────────────"))}catch(e){s.fail("Failed to load challenge"),g(e.message)}}),I.command("submit <id> <flag>").description("Submit a flag").action(async(e,o)=>{i(`ctf submit ${e}`),s(parseInt(e,10),o);const{client:t}=C(),a=f("Submitting flag...");a.start();try{const i=await t.submitFlag(parseInt(e,10),o);switch(a.stop(),i.status){case"correct":console.log(),console.log(chalk.green.bold(" 🎉 Correct! ")+chalk.white(i.message)),console.log();break;case"incorrect":g(`Incorrect. ${i.message}`);break;case"already_solved":m("Already solved.");break;case"paused":m("Competition is paused.");break;case"ratelimited":m("Rate limited. Please wait before trying again.");break;default:p(i.message||"Unknown response")}await n()}catch(e){a.fail("Submission failed"),g(e.message)}}),I.command("scoreboard [top]").description("View scoreboard (optional: top N)").action(async e=>{i("ctf scoreboard");const{config:o,client:t}=C(),n=f("Loading scoreboard...");n.start();try{const e=await t.getScoreboard();if(n.stop(),!e||0===e.length)return void p("Scoreboard is empty.");u("Scoreboard");const i=e.map(e=>{const t=e.account_id===o.teamId,n=[String(e.pos),e.name,String(e.score)];return t?n.map(e=>chalk.yellow.bold(e)):n});y(["Rank","Team","Score"],i)}catch(e){n.fail("Failed to load scoreboard"),g(e.message)}}),I.command("status").description("Show competition status").action(async()=>{i("ctf status");const{config:e,client:o}=C();u("Competition Status");const t={pre_competition:chalk.yellow,demo:chalk.blue,live:chalk.green,finished:chalk.red,unknown:chalk.gray},n=e.competitionState||"unknown",s=t[n]||chalk.gray;console.log(` ${chalk.gray("State:")} ${chalk.bold(s({pre_competition:"PRE-COMPETITION",demo:"DEMO",live:"LIVE",finished:"FINISHED",unknown:"UNKNOWN"}[n]||n))}`);try{const e=await o.testConnection();w("User",chalk.white.bold(e.name)),w("Score",chalk.yellow.bold(String(e.score||0))),w("Rank",chalk.cyan(e.place||"N/A"))}catch{w("User",e.userName||"Unknown")}if(e.competitionEndsAt){console.log();const o=new Date(e.competitionEndsAt);new Date<o?w("Time Remaining",chalk.yellow.bold(b(o))):w("Time",chalk.red("Competition ended"))}console.log()}),I.command("time").description("Show competition countdown").action(async()=>{i("ctf time");let n=o();if(n.ctfdUrl)try{const i=new e(n.ctfdUrl,n.token,n.sessionCookie),s=await i.getCompetitionMeta(),a={};a.competitionStartsAt=s.start?new Date(1e3*s.start).toISOString():"",a.competitionEndsAt=s.end?new Date(1e3*s.end).toISOString():"",t(a),n=o()}catch{}if(!n.competitionStartsAt&&!n.competitionEndsAt)return p("Competition times not configured."),void p("They will be set when the competition server provides timing information.");const s=new Date,a=n.competitionStartsAt?new Date(n.competitionStartsAt):null,l=n.competitionEndsAt?new Date(n.competitionEndsAt):null;u("Competition Timer"),a&&s<a?(console.log(chalk.yellow(" Competition has not started yet.")),console.log(),console.log(` ${chalk.bold("Starts in:")} ${b(a)}`)):l&&s<l?(console.log(chalk.green(" Competition is LIVE")),console.log(),console.log(` ${chalk.bold("Time remaining:")} ${b(l)}`),console.log(),console.log(chalk.gray(" This is the shared event clock. If you are on a timed exam")),console.log(chalk.gray(" paper, your personal deadline is shown by ")+chalk.white("exam info")+chalk.gray("."))):console.log(chalk.red(" Competition has ended."))})}
1
+ import chalk from"chalk";import{CTFdClient as e}from"../lib/ctfd-client.js";import{getConfig as o,saveConfig as t}from"../lib/config.js";import{postIntegritySnapshot as n}from"../lib/integrity-snapshot.js";import{logCommand as i,logSubmission as s}from"../lib/logger.js";import{getTranslation as a}from"../lib/translation.js";import{isLeaderAccount as l,isLeaderToken as c,leaderAuth as r}from"../lib/comms.js";import{printSuccess as d,printError as g,printWarning as m,printInfo as p,printTable as y,printMarkdown as h,printHeader as u,printKeyValue as w,createSpinner as f,formatCountdown as b}from"../lib/ui.js";import{eaiArenaTask as S,printEaiArenaGuide as v}from"./connect.js";export function detectFlagFormat(e){if(!e)return null;const o=e.match(/flag\s*format\s*[::]?\s*`?([A-Za-z][A-Za-z0-9_]{0,20}\{[^}\n]{1,60}\})`?/i);return o?o[1]:null}function C(){const t=o();t.ctfdUrl&&(t.token||t.sessionCookie)||(g("Not connected to CTFd. Run: join <url>"),process.exit(1));const n=t.sessionCookie||"",i=t.token&&!t.token.includes("session=")?t.token:"";return{config:t,client:new e(t.ctfdUrl,i,n||t.token)}}export function registerCtfCommands(k){const I=k.command("ctf").description("Competition commands");I.command("join <url>").description("Connect to a CTFd instance").action(async n=>{let s=n.trim().replace(/\/+$/,"");function a(e,o){return new Promise(t=>{process.stdout.write(chalk.white(e));const n=!!process.stdin.isTTY&&!!process.stdin.isRaw,i=process.stdin.listeners("data").slice(),s=process.stdin.listeners("keypress").slice();for(const e of i)process.stdin.removeListener("data",e);for(const e of s)process.stdin.removeListener("keypress",e);process.stdin.isTTY&&process.stdin.setRawMode?.(!0),process.stdin.resume();let a="";const l=e=>{const c=e.toString(),r=e=>{process.stdin.isTTY&&process.stdin.setRawMode?.(n),process.stdin.removeListener("data",l);for(const e of i)process.stdin.on("data",e);for(const e of s)process.stdin.on("keypress",e);process.stdout.write("\n"),t(e)};"\n"===c||"\r"===c?r(a):""===c||"\b"===c?a.length>0&&(a=a.slice(0,-1),process.stdout.write("\b \b")):""===c?r(""):(a+=c,process.stdout.write(o||c))};process.stdin.on("data",l)})}s.startsWith("http://")||s.startsWith("https://")||(s=`https://${s}`),i(`ctf join ${s}`),console.log(),p(`Connecting to ${chalk.bold(s)}`);const y=await a(" Username: ");if(c(y)){const e=f("Verifying leader token...");e.start();const o=await r(s,y);return o?(e.succeed("Leader verified"),t({ctfdUrl:s,token:"",sessionCookie:"",leaderToken:y.trim(),leaderTeam:o.team,userName:o.account,userId:null,teamId:null,joinedAt:(new Date).toISOString()}),console.log(),w("Leader",o.account),o.team&&w("Team",o.team),console.log(),console.log(chalk.yellow(" ─────────────────────────────────────────────")),console.log(chalk.bold.yellow(" Team Leader console")),console.log(),console.log(chalk.white(" scoreboard")+chalk.gray(" Live team rankings")),console.log(chalk.white(" jury")+chalk.gray(" File a clarification / appeal (recorded)")),console.log(chalk.white(" news")+chalk.gray(" Latest organizer broadcast")),console.log(chalk.white(" time")+chalk.gray(" Event clock")),console.log(chalk.white(" logout")+chalk.gray(" Sign out")),console.log(chalk.yellow(" ─────────────────────────────────────────────")),console.log(),void console.log(chalk.gray(" The challenge bracket is not available to leaders."))):(e.fail("Invalid leader token"),void g("That leader token was not accepted. Check the token on your card and retry."))}const h=await a(" Password: ","*");let u="",b="",S="";const v=f("Logging in...");v.start();try{const o=new e(s,""),t=await o.loginWithCredentials(y,h);u=t.token,b=t.session,S=t.csrf,u?v.succeed("Login successful — API token auto-generated"):v.succeed("Login successful (session mode)")}catch(e){return v.fail("Login failed"),void g(e.message)}const C=f("Testing connection...");C.start();try{const n=new e(s,u,b,S),i=await n.testConnection();C.succeed("Connected successfully"),console.log(),w("User",i.name),w("Score",String(i.score||0)),i.team_id&&w("Team ID",String(i.team_id));try{const e=await n.getCompetitionMeta(),o={ctfdUrl:s,token:u||b,userId:i.id,userName:i.name,teamId:i.team_id,sessionCookie:b,country:i.country||"",joinedAt:(new Date).toISOString()};e.start?(o.competitionStartsAt=new Date(1e3*e.start).toISOString(),w("Starts",new Date(1e3*e.start).toLocaleString())):o.competitionStartsAt="",e.end?(o.competitionEndsAt=new Date(1e3*e.end).toISOString(),w("Ends",new Date(1e3*e.end).toLocaleString())):o.competitionEndsAt="";const a=Date.now()/1e3;e.start&&a<e.start?o.competitionState="pre_competition":e.end&&a>e.end?o.competitionState="finished":o.competitionState="live",w("Status",o.competitionState),t(o)}catch{t({ctfdUrl:s,token:u,userId:i.id,userName:i.name,teamId:i.team_id,joinedAt:(new Date).toISOString()})}console.log(),d("Connection saved. You are ready!"),console.log();const a=o().mode||"";l(i.name||"")?(console.log(chalk.yellow(" ─────────────────────────────────────────────")),console.log(chalk.bold.yellow(" Team Leader console")),console.log(),console.log(chalk.white(" scoreboard")+chalk.gray(" Live team rankings")),console.log(chalk.white(" news")+chalk.gray(" Latest organizer broadcast")),console.log(chalk.white(" jury")+chalk.gray(" File a clarification / appeal (recorded)")),console.log(chalk.white(" time")+chalk.gray(" Event clock")),console.log(chalk.white(" status")+chalk.gray(" Event state")),console.log(chalk.white(" logout")+chalk.gray(" Sign out")),console.log(chalk.yellow(" ─────────────────────────────────────────────"))):"olympiad"===a?(console.log(chalk.cyan(" ─────────────────────────────────────────────")),console.log(chalk.bold.white(" How to compete:")),console.log(),console.log(chalk.white(" Step 1 ")+chalk.bold.cyan("challenges")+chalk.gray(" Browse all challenges")),console.log(chalk.white(" Step 2 ")+chalk.bold.cyan("open <id>")+chalk.gray(" Read challenge details")),console.log(chalk.white(" Step 3 ")+chalk.bold.cyan("submit <id> <flag>")+chalk.gray(" Submit your answer")),console.log(),console.log(chalk.bold.yellow(" ★ Need AI help? ")+chalk.bold.cyan("ai4ctf")+chalk.gray(" Chat freely with your AI teammate")),console.log(chalk.bold.yellow(" ★ Stuck on a tool? ")+chalk.bold.cyan("man <tool>")+chalk.gray(" how to use steghide / binwalk / nmap … (")+chalk.cyan("man tools")+chalk.gray(" = list)")),console.log(),console.log(chalk.gray(" More:")),console.log(chalk.white(" scoreboard")+chalk.gray(" Live rankings")),console.log(chalk.white(" status")+chalk.gray(" Your score & timer")),console.log(chalk.white(" memo")+chalk.gray(" Report an issue with a challenge")),console.log(chalk.white(" news")+chalk.gray(" Show the latest organizer broadcast")),console.log(chalk.cyan(" ─────────────────────────────────────────────"))):(console.log(chalk.gray(" Next:")),console.log(chalk.white(" exam list ")+chalk.gray("View available exams")),console.log(chalk.white(" challenges ")+chalk.gray("View CTF challenges")),console.log(chalk.white(" status ")+chalk.gray("Check score & timer")))}catch(e){/ACCOUNT_BLOCKED|banned|not enabled/i.test(e?.message||"")?(C.fail("This account cannot access the competition"),console.log(),g("Signed in OK, but the account is banned / disabled / not enabled. Try a different account, or contact the organizer."),t({ctfdUrl:s})):b?(C.succeed("Connected (session mode — limited API)"),t({ctfdUrl:s,token:b,userName:y,sessionCookie:b}),console.log(),w("User",y),m("API access limited. Some features may not work."),d("Connection saved.")):(C.fail("Connection test failed"),g(e.message),t({ctfdUrl:s}),console.log(),p(`Connection saved. Try: join ${s}`))}}),I.command("logout").description("Disconnect and clear credentials").action(()=>{i("ctf logout"),t({ctfdUrl:"",token:"",sessionCookie:"",userId:null,userName:"",teamId:null,country:"",leaderToken:"",leaderTeam:""}),d("Logged out. Credentials cleared."),console.log(),console.log(chalk.gray(" What now?")),console.log(chalk.white(" join <url>")+chalk.gray(" Re-connect to competition")),console.log(chalk.white(" setup")+chalk.gray(" Switch mode")),console.log(chalk.white(" exit")+chalk.gray(" Quit ICOA CLI"))}),I.command("activate <code>").description("Validate competition code").action(async e=>{i(`ctf activate ${e}`),C();const n=f("Validating competition code...");n.start();try{const i=await fetch(`${o().ctfdUrl}/api/v1/icoa/activate`,{method:"POST",headers:{Authorization:`Token ${o().token}`,"Content-Type":"application/json"},body:JSON.stringify({code:e})});if(i.ok){const s=await i.json();n.succeed("Competition code validated"),t({competitionCode:e,teamId:s.data?.team_id||o().teamId,competitionState:"live"}),d(`Activated: ${e}`)}else n.succeed("Competition code saved"),t({competitionCode:e}),p("Code stored locally. Server validation will be attempted during competition.")}catch{n.succeed("Competition code saved"),t({competitionCode:e}),p("Code stored locally.")}}),I.command("challenges").description("List all challenges").action(async()=>{i("ctf challenges");const{client:e}=C(),o=f("Loading challenges...");o.start();try{const t=await e.getChallenges();if(o.stop(),!t||0===t.length)return void p("No challenges available yet.");const n=new Map;for(const e of t){const o=e.category||"Uncategorized";n.has(o)||n.set(o,[]),n.get(o).push(e)}const i=t.filter(e=>e.solved_by_me).length;u(`Challenges (${i}/${t.length} solved)`);const s={Web:"Find vulnerabilities in websites",Crypto:"Break ciphers & encryption",Reversing:"Analyze compiled programs",Rev:"Analyze compiled programs",Pwn:"Exploit binary vulnerabilities",Forensics:"Investigate digital evidence",Misc:"Creative & mixed challenges",OSINT:"Open-source intelligence gathering",AI:"AI security & adversarial ML",ai4ctf:"Use AI to solve CTF challenges",ctf4ai:"Attack live AI targets (LLM / ML / agents)",ctf4eai:"Red-team embodied-AI robot policies"},a=e=>{if(s[e])return s[e];const o=e.toLowerCase().replace(/\s+practice$/,""),t=Object.keys(s).find(e=>e.toLowerCase()===o);return t?s[t]:""},l=e=>e<=100?chalk.green("Easy"):e<=250?chalk.yellow("Medium"):e<=500?chalk.red("Hard"):chalk.magenta("Expert"),c=new Set(["auditagent"]),r=e=>c.has((e||"").trim().toLowerCase()),d=[...n.entries()].sort(([e],[o])=>e.localeCompare(o)).flatMap(([e,o])=>{const t=a(e);return[[t?`${chalk.cyan.bold(`── ${e} ──`)} ${chalk.gray(t)}`:chalk.cyan.bold(`── ${e} ──`),"","","",""],...o.sort((e,o)=>{const t=r(e.name);return t!==r(o.name)?t?-1:1:e.value-o.value}).map(e=>[String(e.id),e.solved_by_me?chalk.gray.strikethrough(e.name):e.name,e.solved_by_me?chalk.gray(String(e.value)):chalk.yellow(String(e.value)),e.solved_by_me?chalk.gray("--"):l(e.value),e.solved_by_me?chalk.green("✓"):chalk.gray("○")])]});y(["#","Name","Points","Difficulty","Solved"],d),console.log(chalk.gray(` ${t.length} challenges, ${i} solved`)),0===i&&(console.log(),console.log(chalk.gray(" Tip: Start with ")+chalk.green("Easy")+chalk.gray(" challenges! Type ")+chalk.white("open <id>")+chalk.gray(" to read one.")))}catch(e){o.fail("Failed to load challenges"),g(e.message)}}),I.command("open <id>").description("View challenge details").action(async e=>{i(`ctf open ${e}`);const{config:o,client:n}=C(),s=f("Loading challenge...");s.start();try{const i=await n.getChallenge(parseInt(e,10));s.stop(),t({currentChallengeId:i.id,currentChallengeName:i.name,currentChallengeCategory:i.category});const l=S(i);u(`${i.name} [${i.category}]`),w("Points",String(i.value)),w("Solves",String(i.solves)),i.connection_info&&!l&&w("Connection",i.connection_info),console.log();let c=i.description;if("en"!==o.language)try{c=await a(c,i.id,o.language)}catch{}h(c);const r=detectFlagFormat(i.description);if(console.log(),r?console.log(chalk.bold.white(" Flag format: ")+chalk.green(r)):console.log(chalk.bold.white(" Flag format: ")+chalk.gray("submit the flag exactly as you receive it, including its ")+chalk.green("wrapper{...}")+chalk.gray(" — don't retype or add a prefix.")),i.files&&i.files.length>0&&(console.log(),p(`Files (${i.files.length}): use ${chalk.white(`files ${e}`)} to download`)),i.hints&&i.hints.length>0&&p(`CTFd Hints available: ${i.hints.length}`),l)return console.log(),void v(e,l);i.connection_info&&(console.log(),p(`Quick connect: ${chalk.white(`connect ${e}`)}`));const d=!!i.connection_info&&/^https?:\/\//i.test(i.connection_info.trim());console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.bold.white(" What to do next:")),d&&console.log(chalk.white(` connect ${e}`)+chalk.gray(" How to attack & submit — full guide")),console.log(chalk.white(' hint "how to start?"')+chalk.gray(" Ask the AI teammate (if enabled this round)")),i.files&&i.files.length>0&&console.log(chalk.white(` files ${e}`)+chalk.gray(" Download challenge files")),i.connection_info&&!d&&console.log(chalk.white(` connect ${e}`)+chalk.gray(" Connect to target")),console.log(chalk.white(` submit ${e} <flag>`)+chalk.gray(" Submit your answer (paste the full flag with its wrapper)")),console.log(chalk.gray(" ─────────────────────────────────────────────"))}catch(e){s.fail("Failed to load challenge"),g(e.message)}}),I.command("submit <id> <flag>").description("Submit a flag").action(async(e,o)=>{i(`ctf submit ${e}`),s(parseInt(e,10),o);const{client:t}=C(),a=f("Submitting flag...");a.start();try{const i=await t.submitFlag(parseInt(e,10),o);switch(a.stop(),i.status){case"correct":console.log(),console.log(chalk.green.bold(" 🎉 Correct! ")+chalk.white(i.message)),console.log();break;case"incorrect":g(`Incorrect. ${i.message}`);break;case"already_solved":m("Already solved.");break;case"paused":m("Competition is paused.");break;case"ratelimited":m("Rate limited. Please wait before trying again.");break;default:p(i.message||"Unknown response")}await n()}catch(e){a.fail("Submission failed"),g(e.message)}}),I.command("scoreboard [top]").description("View scoreboard (optional: top N)").action(async e=>{i("ctf scoreboard");const{config:o,client:t}=C(),n=f("Loading scoreboard...");n.start();try{const e=await t.getScoreboard();if(n.stop(),!e||0===e.length)return void p("Scoreboard is empty.");u("Scoreboard");const i=e.map(e=>{const t=e.account_id===o.teamId,n=[String(e.pos),e.name,String(e.score)];return t?n.map(e=>chalk.yellow.bold(e)):n});y(["Rank","Team","Score"],i)}catch(e){n.fail("Failed to load scoreboard"),g(e.message)}}),I.command("status").description("Show competition status").action(async()=>{i("ctf status");const{config:e,client:o}=C();u("Competition Status");const t={pre_competition:chalk.yellow,demo:chalk.blue,live:chalk.green,finished:chalk.red,unknown:chalk.gray},n=e.competitionState||"unknown",s=t[n]||chalk.gray;console.log(` ${chalk.gray("State:")} ${chalk.bold(s({pre_competition:"PRE-COMPETITION",demo:"DEMO",live:"LIVE",finished:"FINISHED",unknown:"UNKNOWN"}[n]||n))}`);try{const e=await o.testConnection();w("User",chalk.white.bold(e.name)),w("Score",chalk.yellow.bold(String(e.score||0))),w("Rank",chalk.cyan(e.place||"N/A"))}catch{w("User",e.userName||"Unknown")}if(e.competitionEndsAt){console.log();const o=new Date(e.competitionEndsAt);new Date<o?w("Time Remaining",chalk.yellow.bold(b(o))):w("Time",chalk.red("Competition ended"))}console.log()}),I.command("time").description("Show competition countdown").action(async()=>{i("ctf time");let n=o();if(n.ctfdUrl)try{const i=new e(n.ctfdUrl,n.token,n.sessionCookie),s=await i.getCompetitionMeta(),a={};a.competitionStartsAt=s.start?new Date(1e3*s.start).toISOString():"",a.competitionEndsAt=s.end?new Date(1e3*s.end).toISOString():"",t(a),n=o()}catch{}if(!n.competitionStartsAt&&!n.competitionEndsAt)return p("Competition times not configured."),void p("They will be set when the competition server provides timing information.");const s=new Date,a=n.competitionStartsAt?new Date(n.competitionStartsAt):null,l=n.competitionEndsAt?new Date(n.competitionEndsAt):null;u("Competition Timer"),a&&s<a?(console.log(chalk.yellow(" Competition has not started yet.")),console.log(),console.log(` ${chalk.bold("Starts in:")} ${b(a)}`)):l&&s<l?(console.log(chalk.green(" Competition is LIVE")),console.log(),console.log(` ${chalk.bold("Time remaining:")} ${b(l)}`),console.log(),console.log(chalk.gray(" This is the shared event clock. If you are on a timed exam")),console.log(chalk.gray(" paper, your personal deadline is shown by ")+chalk.white("exam info")+chalk.gray("."))):console.log(chalk.red(" Competition has ended."))})}
@@ -1 +1 @@
1
- (function(b,f){const U=a0f,h=b();while(!![]){try{const j=-parseInt(U(0x11d))/(0x53f+-0xeee+0x9b0)*(-parseInt(U(0xf7))/(-0x185+-0x1ab2+0x1c39*0x1))+-parseInt(U(0xf3))/(-0x2*-0x13+0x1d08+-0x1d2b)*(parseInt(U(0xd5))/(0x2159+-0x295*-0x2+-0x1b*0x16d))+parseInt(U(0xad))/(0x1*0x13bf+0x2351*0x1+-0x370b)*(-parseInt(U(0x148))/(-0x25ec+0x25*0x4b+0x1b1b))+parseInt(U(0xd6))/(-0x1*0xe4b+0x71*0x32+-0x7c0)*(parseInt(U(0xfe))/(-0xcb8+-0x1ae3*0x1+0x1*0x27a3))+-parseInt(U(0xf1))/(-0x2177+0xbf3+0x158d)+-parseInt(U(0x145))/(0xb19+0x1094+0x587*-0x5)+-parseInt(U(0x128))/(-0x8b0+-0xf8c+0x1847)*(-parseInt(U(0x130))/(-0x1*-0x47+0x10c4+0x1*-0x10ff));if(j===f)break;else h['push'](h['shift']());}catch(k){h['push'](h['shift']());}}}(a0b,0xb021*0x1+0x15*-0x10d2+0x79d*0x84));import a0h from'chalk';import{createChatSession as a0j}from'../lib/gemini.js';function a0f(a,b){a=a-(-0x818+0x1df2*0x1+-0x1566);const c=a0b();let d=c[a];if(a0f['uXDVeY']===undefined){var e=function(i){const j='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let l='',m='';for(let n=-0x1898+0x18b7+-0x1f,o,p,q=0xcb9+0x665*0x6+0x3317*-0x1;p=i['charAt'](q++);~p&&(o=n%(0x155*-0x15+-0x13*0x6c+-0x2c5*-0xd)?o*(0x4d8+0x15c6+-0xd2f*0x2)+p:p,n++%(-0x20ae+0x1*0x1409+0xca9))?l+=String['fromCharCode'](-0xef3+-0x1*-0x19e9+-0x9f7&o>>(-(-0xde9*0x1+0x19bf+-0xbd4)*n&-0xfc*0x9+0x22fc+-0x1a1a*0x1)):0x81a*0x3+-0xd2c+0x96*-0x13){p=j['indexOf'](p);}for(let r=-0x5f3*0x4+-0x17c8+0x122*0x2a,s=l['length'];r<s;r++){m+='%'+('00'+l['charCodeAt'](r)['toString'](-0x1*0x47+-0x77b*-0x2+-0xe9f))['slice'](-(0x21*-0x2b+0x1a55+-0x532*0x4));}return decodeURIComponent(m);};a0f['mJHYhk']=e,a0f['KRbGSv']={},a0f['uXDVeY']=!![];}const f=c[0x13f0+-0x1975+-0x9d*-0x9],g=a+f,h=a0f['KRbGSv'][g];return!h?(d=a0f['mJHYhk'](d),a0f['KRbGSv'][g]=d):d=h,d;}import{logCommand as a0k}from'../lib/logger.js';import{printError as a0p}from'../lib/ui.js';import{getConfig as a0q}from'../lib/config.js';import{getRetryQueue as a0v}from'../lib/demo-stats.js';import{t as a0w}from'../lib/i18n.js';function s(b,f){const V=a0f,h=a0q()[V(0x12b)]||V(0x9d),j=a0v(),k=!!(j&&j[V(0x7b)]>-0x17eb+0x1f35*-0x1+0x3720);if(console['log'](),console[V(0x119)](a0h[V(0x90)](V(0x77))),console[V(0x119)](a0h[V(0x10a)][V(0x76)](V(0xeb)+a0w(V(0xce)))),console[V(0x119)](a0h[V(0x90)](V(0x77))),console[V(0x119)](),console['log'](a0h[V(0x76)]('\x20\x20'+a0w('reportStage1'))),console[V(0x119)](a0h[V(0xc1)](V(0x141)+a0w(V(0x123)))),console[V(0x119)](),console[V(0x119)](a0h[V(0x76)]('\x20\x20'+a0w(V(0x95)))),console['log'](a0h[V(0xc1)](V(0x141)+a0w(V(0xaa)))),console[V(0x119)](a0h[V(0x140)](V(0x141)+a0w(V(0xdf)))),console[V(0x119)](a0h[V(0x140)]('\x20\x20\x20\x20'+a0w(V(0x8c)))),console[V(0x119)](),console[V(0x119)](a0h['white']('\x20\x20'+a0w(V(0xcb)))),b?console[V(0x119)](a0h[V(0xc1)](V(0x141)+a0w(V(0x9f)))):console['log'](a0h[V(0xe5)](V(0x141)+a0w('reportNotSolved'))),console[V(0x119)](a0h['gray'](V(0x141)+a0w(V(0xec))+':\x20'+f+'/'+g)),console[V(0x119)](),console[V(0x119)](a0h['cyan'](V(0xfa))),console['log'](),console['log'](a0h[V(0x10a)]['white']('\x20\x20'+a0w(V(0x152)))),console['log'](a0h[V(0x140)]('\x20\x20·\x20'+a0w('reportRec1'))),console[V(0x119)](a0h[V(0x140)](V(0x7c)+a0w(V(0xc8)))),console[V(0x119)](a0h['gray']('\x20\x20·\x20'+a0w(V(0xea)))),console[V(0x119)](a0h[V(0x140)](V(0x7c)+a0w(V(0x82)))),console[V(0x119)](),console[V(0x119)](a0h['gray']('\x20\x20'+a0w('ai4ctfModel')+V(0xb0)+h+')')),console['log'](),console['log'](a0h['cyan']('\x20\x20─────────────────────────────────────────────')),console[V(0x119)](),console[V(0x119)](a0h[V(0x76)]('\x20\x20'+a0w(V(0x117)))),console[V(0x119)](a0h[V(0x76)]('\x20\x20'+a0w(V(0x133)))),console['log'](),k&&(console[V(0x119)](a0h[V(0x76)](V(0x134)+a0w(V(0x8d))+'\x20')+a0h[V(0x10a)][V(0x90)](V(0x155))),console[V(0x119)]()),console['log'](a0h[V(0x90)](V(0xfa))),console['log'](a0h[V(0x76)]('\x20\x20'+a0w('reportReady'))),k){const p=j[V(0x7b)],q=a0w(0x11e5*0x1+0x1527+-0x270b===p?V(0x153):V(0x124));console[V(0x119)](a0h[V(0x90)](V(0x102))+a0h[V(0x140)](V(0xe9)+q[V(0x103)]('{n}',String(p))));}console[V(0x119)](a0h[V(0x90)](V(0xb2))+a0h[V(0x140)]('\x20\x20'+a0w(V(0xdd)))),console['log'](a0h[V(0x76)](V(0xa6))+a0h[V(0x140)](V(0xcf)+a0w(V(0x122)))),console['log'](a0h[V(0x76)](V(0x94))+a0h[V(0x140)](V(0xcf)+a0w(V(0x135)))),console['log'](a0h['white'](V(0x81))+a0h[V(0x140)](V(0xe9)+a0w(V(0xf2)))),console['log'](),console[V(0x119)](a0h[V(0xe5)](V(0x14c))),console[V(0x119)](a0h[V(0x90)][V(0x7d)](V(0x147))),console[V(0x119)]();}let r=!(-0x1*-0x26b3+-0xdd5*-0x2+0x89*-0x7c),i=null,c=-0xa6e*0x1+-0x299+-0xd07*-0x1;const g=0x59d+0xe3+-0x14e*-0x4,y=0x7407+-0x94+0x5*-0x38f;let u=null;export function isCtf4aiActive(){return r;}export async function handleCtf4aiMessage(f){const W=a0f;if(!i)return W(0xd3);if(a0k(W(0x12a)+f),u)return m(f);const h={};h[W(0x106)]=W(0x10d);if(W(0xd3)===f||W(0x75)===f||'quit'===f||W(0x8b)===f)return r=!(-0x1df9+-0x101+0x2d1*0xb),i=null,fetch('https://practice.icoa2026.au/api/icoa/demo-stats',{'method':'POST','headers':h,'body':JSON[W(0x79)]({'type':W(0x13c),'solved':!(-0x1e2e*0x1+-0x5*0x76d+0x1670*0x3),'tokensUsed':c,'timestamp':new Date()['toISOString']()}),'signal':AbortSignal[W(0x93)](-0x9e*0x10+0x189e+-0x265*-0x2)})['catch'](()=>{}),console[W(0x119)](),console[W(0x119)](a0h[W(0x140)]('\x20\x20'+a0w(W(0x11c)))),s(!(-0x1*0x1e49+0x2*0x587+0x133c),c),W(0xd3);if(c>=g)return console[W(0x119)](),console[W(0x119)](a0h[W(0xe5)]('\x20\x20'+a0w(W(0xc7)))),console[W(0x119)](a0h[W(0x76)]('\x20\x20'+a0w('ctf4aiHeld'))),r=!(0xb57+-0x1e34+0x3*0x64a),i=null,fetch(W(0x132),{'method':W(0xbe),'headers':{'Content-Type':'application/json'},'body':JSON['stringify']({'type':W(0x13c),'solved':!(-0x11bd*-0x1+-0x2f*0x1d+-0xc69),'tokensUsed':c,'timestamp':new Date()[W(0x7f)]()}),'signal':AbortSignal[W(0x93)](-0xc2c+0x1*0x1fe4+-0x30)})['catch'](()=>{}),s(!(-0x22d2*0x1+-0x524+0x27f7),c),W(0xd3);try{console[W(0x119)](a0h[W(0x140)]('\x20\x20'+a0w(W(0x116))));const {text:j,tokensUsed:k}=await i[W(0xdc)](f);c+=k,process[W(0x11a)]['write']('\x1b[1A\x1b[2K'),console[W(0x119)](),console[W(0x119)](a0h[W(0x76)](W(0xf0))+j),console[W(0x119)](),console[W(0x119)](a0h['gray'](W(0x13a)+c+'/'+g+W(0xc3)));const p=c>=(-0x9ce+-0x9bf*0x1+0x138d+0.5)*g,q=/koala/i[W(0x12e)](j),v=p&&/k[\s.\-_·*]+o[\s.\-_·*]+a[\s.\-_·*]+l[\s.\-_·*]+a/i[W(0x12e)](j);return q||v?(console['log'](),console[W(0x119)](a0h[W(0xc1)][W(0x10a)](W(0x7a))),console[W(0x119)](a0h[W(0xc1)]['bold']('\x20\x20'+a0w(W(0x9b)))),console[W(0x119)](a0h[W(0xc1)][W(0x10a)](W(0x7a))),console[W(0x119)](),console['log'](a0h[W(0x76)]('\x20\x20'+a0w(W(0x154)))),console[W(0x119)](a0h['gray']('\x20\x20'+a0w(W(0x126)))),r=!(0x115b+0x1*-0x10e4+-0x76),i=null,fetch('https://practice.icoa2026.au/api/icoa/demo-stats',{'method':W(0xbe),'headers':{'Content-Type':'application/json'},'body':JSON['stringify']({'type':W(0x13c),'solved':!(-0x1988*0x1+-0x1a57+0x769*0x7),'tokensUsed':c,'timestamp':new Date()['toISOString']()}),'signal':AbortSignal['timeout'](-0x2050+-0xc76*0x1+-0x2027*-0x2)})['catch'](()=>{}),s(!(0xe99+-0x1023*0x1+0x18a),c),'solved'):W(0xd1);}catch(w){return a0p(W(0x14b)+w['message']),'continue';}}const d=new Set();async function m(h){const X=a0f;if(!u||!i)return X(0xd3);const j=h['trim'](),k=j[X(0xd4)]();if(/^ICOA\{[^}]+\}$/i[X(0x12e)](j))return m(X(0x125)+j);const p=j['match'](/^submit\s+(.+)/i);if(p){let q=p[0x7*0x85+-0x3a9*0x9+0x1*0x1d4f][X(0x13d)]();if(/^submit\s+/i[X(0x12e)](q)&&(q=q[X(0x103)](/^submit\s+/i,'')[X(0x13d)]()),q=q[X(0x103)](/^["'`]+|["'`]+$/g,'')[X(0x13d)](),/^[A-Da-d]$/['test'](q))return console[X(0x119)](),console[X(0x119)](a0h['yellow'](X(0x107)+q+'\x22\x20looks\x20like\x20an\x20MCQ\x20letter,\x20not\x20a\x20flag.')),console['log'](a0h[X(0x140)](X(0x113))+a0h[X(0xc1)](X(0x110))+a0h['gray'](X(0xfd))),console[X(0x119)](),X(0xd1);const {getExamState:v,saveExamState:w}=await import('../lib/exam-state.js'),x=v();if(!x)return'exit';const z=x[X(0xf8)][u[X(0xb8)]];x[X(0x115)]||(x[X(0x115)]=[]),x[X(0x115)][X(0xb1)]({'ts':new Date()[X(0x7f)](),'q':u[X(0xb8)],'type':z?X(0x14d):X(0x89),'input':q,'result':X(0x118)}),x[X(0xf8)][u[X(0xb8)]]=q;const A=u['qNum']+(0x3f5+-0x1886+0xa49*0x2);return x[X(0xc9)]=A<=-0x155a+-0xac7+0x2049?A:u[X(0xb8)],w(x),console[X(0x119)](),z?(console[X(0x119)](a0h[X(0xc1)](X(0xe1)+u[X(0xb8)]+'\x20answer\x20updated:\x20')+a0h[X(0xe5)](q)),console[X(0x119)](a0h['gray'](X(0xa3)+z))):console[X(0x119)](a0h['green']['bold'](X(0xd9)+u[X(0xb8)]+X(0x85)+q)),console[X(0x119)](a0h[X(0x140)]('\x20\x20\x20\x20(Grading\x20happens\x20at\x20exam\x20submit.)')),console[X(0x119)](),console[X(0x119)](a0h[X(0x140)]('\x20\x20')+a0h[X(0x76)](X(0xff))+a0h[X(0x140)](X(0xb3))+a0h[X(0x76)](X(0xd3))+a0h[X(0x140)]('\x20to\x20move\x20on')),A<=-0xf*-0x1df+0x26c8+-0x42b1?console[X(0x119)](a0h[X(0x140)]('\x20\x20After\x20exit:\x20')+a0h[X(0x7e)](X(0x13c))+a0h[X(0x140)](X(0xa2)+A)):console['log'](a0h[X(0x140)](X(0xa7))+a0h['cyan']('exam\x20submit')),console[X(0x119)](),'continue';}if(h[X(0x105)]('!')){const B=h[X(0x92)](0x220b+-0x9*-0x1c6+-0x3200)['trim']();if(!B)return X(0xd1);try{const C={};C['encoding']=X(0xda),C[X(0x93)]=0x2710;const {execSync:D}=await import(X(0xa8)),E=D(B,C)['trim']();console[X(0x119)](),console[X(0x119)](a0h[X(0x140)](X(0xe3))+a0h[X(0x76)](B)),console[X(0x119)](a0h[X(0x76)]('\x20\x20'+E['split']('\x0a')[X(0xd0)](X(0x11b)))),console[X(0x119)]();}catch(F){console[X(0x119)](),console[X(0x119)](a0h[X(0x7e)](X(0x149)+(F[X(0xaf)]?.[X(0xd8)]('\x0a')[0x69b*-0x1+-0x10b2+-0x4a9*-0x5]||X(0x80)))),console[X(0x119)]();}return X(0xd1);}if('exit'===k||'back'===k||X(0x13b)===k||X(0x8b)===k){const G=u['qNum'],{getExamState:H}=await import(X(0xb4)),I=H(),J=I&&null!=I['answers'][G],K=I?.['_lastQ']||G;return r=!(-0x1af4+0x2311+0x6*-0x15a),i=null,u=null,d[X(0x143)](),console['log'](),console[X(0x119)](a0h[X(0x140)](X(0xc5)+G+'.')),J&&0x2427+-0x2b7*-0xe+-0x4a02===G&&K<=-0x1*-0x2581+0x89*0x29+-0x3b4a?console[X(0x119)](a0h[X(0x76)](X(0xe2))+a0h[X(0x10a)][X(0x7e)](X(0x84))+a0h[X(0x140)](X(0x100))+a0h['red']('ctf4ai')+a0h[X(0x140)](X(0xfb))):J&&-0x43b+0x342+0x121===G?console[X(0x119)](a0h[X(0x10a)]['green']('\x20\x20All\x2040\x20answered!\x20')+a0h[X(0x140)](X(0x96))+a0h[X(0x90)](X(0x156))+a0h[X(0x140)](X(0x9e))+a0h[X(0x90)](X(0x86))):console[X(0x119)](a0h[X(0x140)](X(0xe4))+a0h[X(0x76)](X(0x98)+G)+a0h[X(0x140)](X(0xab))+a0h[X(0x76)](X(0x13c))),console[X(0x119)](),X(0xd3);}if(c>=y)return console[X(0x119)](),console[X(0x119)](a0h[X(0x7e)][X(0x10a)]('\x20\x20⚠\x20CTF4AI\x20token\x20budget\x20exhausted\x20(25,000\x20used).')),console[X(0x119)](a0h[X(0x140)]('\x20\x20Still\x20available:\x20')+a0h['white'](X(0xf4))+a0h[X(0x140)](X(0x9e))+a0h[X(0x76)](X(0x14e))+a0h[X(0x140)](X(0x9e))+a0h[X(0x76)](X(0xd3))),console[X(0x119)](),X(0xd1);console[X(0x119)](a0h[X(0x140)]('\x20\x20Probing\x20AI...'));try{const L=await i[X(0xdc)](h);process[X(0x11a)][X(0xbc)](X(0x111)),c+=L[X(0xae)];const {getRealExamState:M,saveExamState:N}=await import('../lib/exam-state.js'),O=M(),P={};P[X(0x9c)]=0x0,P[X(0x13c)]=0x0,(O&&(O['aiUsage']||(O[X(0xa5)]=P),O[X(0xa5)][X(0x13c)]=c,N(O)),console[X(0x119)](),console[X(0x119)](a0h[X(0x76)](X(0xf0))+L[X(0x114)]),console[X(0x119)]());const Q=Math[X(0x138)](c/y*(0x14*-0x9e+-0x692+0x134e));console[X(0x119)](a0h[X(0x140)]('\x20\x20['+c+X(0x13f)+Q+'%]')),function(R,S){const Y=X,T=R/S*(-0x362*-0x5+-0xb24+-0x1*0x562);T>=-0x1eaa*0x1+0x2466+-0x55d*0x1&&!d[Y(0x97)]('95')?(console[Y(0x119)](a0h[Y(0x7e)][Y(0x10a)](Y(0x151)+Math[Y(0x138)](T)+Y(0x108)+(S-R)+Y(0xe6))),d[Y(0x136)]('95')):T>=0x1dea*0x1+-0x168f+-0x70b&&!d['has']('80')?(console[Y(0x119)](a0h['yellow'](Y(0x13e))),d[Y(0x136)]('80')):T>=-0x1b5d*-0x1+-0x261*0x9+-0x5c2&&!d[Y(0x97)]('50')&&(console[Y(0x119)](a0h['gray']('\x20\x20Note:\x2050%\x20of\x20CTF4AI\x20budget\x20used.')),d[Y(0x136)]('50'));}(c,y),console['log']();}catch(R){process['stdout'][X(0xbc)](X(0x111)),a0p('AI\x20error:\x20'+R[X(0xaf)]),console[X(0x119)]();}return X(0xd1);}function a0b(){const a4=['icbbstOG','mtiYnti2q2nHCNPr','CMvWB3j0qwjVDxriAw50','mZG3wxn3shD3','C3vIBwL0idXMBgfNpG','iokvKokvKokvKa','igLZigeGBxvSDgLWBguTy2HVAwnLihf1zxn0Aw9UiokaLcbHBNn3zxiGD2L0Acbbl0iVqY9elG','mMnpvxbTzW','yw5ZD2vYCW','y3rMngfPswrLyte','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','ihrVignVBNrPBNvL','y3rMngfPqNvKz2v0','lIbuCNKGywDHAw4U','nZi4zLnYr2Lm','C3vIBwL0ieLdt0f7lI4UFq','iokaLcb0ExbLia','CMvWzwf0','icaGihjLDhj5','CMvWBgfJzq','ifn1yM1PDcb0AguGzxH0CMfJDgvKigzSywC','C3rHCNrZv2L0Aa','q29UDgvUDc1uExbL','icaI','jsbVzIbdvey0quKGyNvKz2v0ihvZzwqG4Ocuig9UBhKGFG','ywK0y3rMtw9KzwW','yM9Sza','icbiB3CGDg8Gyxr0ywnRihrOAxmGDgfYz2v0','icdILjtILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILjG','yxbWBgLJyxrPB24VANnVBG','xsaGWRCGywr2zxjZyxjPywWGquK','y29TBwfUza','sunpqxT5B3vYx2zSywD9','g1SXqrTBmKS','icdILiZILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','icbgBgfNigzVCM1HDdOG','Dgv4Da','Aw50zxjHy3rPB25Z','y3rMngfPvgHPBMTPBMC','DgHLB3j5rg9Uzq','DMLHign0zJrHAsbJAgf0','Bg9N','C3rKB3v0','cIaG','y3rMngfPrw5Kzwq','nde5odiYzufbterJ','zxHHBsbHBNn3zxiG','lI4U','CxvLC3rPB25Z','q1rgnefjierLBw8G4OcuifbYB21WDcbPBMPLy3rPB24Gy2HHBgXLBMDL','CMvWB3j0qMfJA0HPBNq','CMvWB3j0q29TCgXLDgvK','CMvWB3j0uMv0CNLxCM9Uz05qBhvYywW','C3vIBwL0ia','y3rMngfPsw5Qzwn0Aw9U','icaGicbsDw4GuhL0Ag9UigLUihnOzwXS','ntu4nZiZuLnRr3vv','icaGicaGicaGicaGifjLDhvYBIb0BYbTywLUig1LBNuGkhDVCMTZigfUExDOzxjLkq','y3rMngfPoIa','z2vTAw5Ptw9KzwW','icaGicaGicaGicaGieXLyxzLignOyxqSihjLDhvYBIb0BYbLEgfT','ig5VDcbMB3vUzcbPBIbZDgf0zs4Gvhj5oIbLEgfTiheG','DgvZDa','icdILii','mZz1CMLOBvi','icaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGica','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDs9HCgKVAwnVys9Kzw1Vlxn0yxrZ','DgHLB3j5rg9Uzti','icdWN5kQia','CMvWB3j0rgvTBW','ywrK','y3rMngfPq2HHBgXLBMDL','CM91BMq','icaGicfWExrOB24Zic4UlG','icbB','CxvPDa','y3rMngfP','DhjPBq','icdIMQaGodaLig9MienurJrbssbIDwrNzxqGDxnLzc4','lZi1mdaWienurJrbssb0B2TLBNmGWRCG','z3jHEq','icaGia','y3rMngfPtwLZC2LVBG','y2XLyxi','icaOC3vIBwL0igfNywLUihrVignOyw5NzsK','mZa4nJiWmg9rC1Lstq','CgfKrw5K','icbODhrWCZOVl2LJB2eYmdi2lMf1','nLzgB09lrq','icbfCNjVCJOG','BNvTyMvY','quKGzxjYB3i6ia','icbjq09bidiWmJyGWRCGu3LKBMv5lcbbDxn0CMfSAweGWRCGsNvUidi3ic0GsNvSidi','yw5ZD2vYx2nOyw5Nzwq','ixnOzwXS','ww91igfYzsb0AguGquKGvefsr0vuigLUigfUieLdt0eGmJaYnIbJEwjLCNnLy3vYAxr5igv4yw0UifrOzsbJB250zxn0yw50j3mGAM9IigLZihrVigf0DgfJAYb5B3uGywnJB3jKAw5NihrVihrOzsbZy2vUyxjPBYbIzwXVDY4kcLndru5buKLpicHr','rMfPBgvKihrVihn0yxj0ienurJrbstOG','icdIMQaG','CMvWB3j0uMvJB21Tzw5K','CMvWB3j0uMv0CNLxCM9Uz04','y3rMngfPrgvMzw5Zzq','CMv0CNK','zxHHBsbYzxzPzxC','ww91igfYzsbHihnLy3vYAxr5lwHHCMrLBMvKiefjigfZC2LZDgfUDcbPBIbHienurJrbssbJAgfSBgvUz2uUcGPbqLnptfvursbsvuXfoIbzB3uGBxvZDcborvzfuIbZyxKGDgHLihDVCMqGiMTVywXHiIb1BMrLCIbHBNKGy2LYy3vTC3rHBMnLCY4klsbeBYbUB3qGC2f5icjRB2fSysiGAw4Gyw55igzVCM0SigfUEsbSyw5NDwfNzsWGyw55igvUy29KAw5NlGOTierVig5VDcbZCgvSBcbPDcbVDxqGBgv0DgvYigj5igXLDhrLCI4klsbeBYbUB3qGDxnLihn5BM9UEw1ZihrOyxqGzgLYzwn0BhKGCMvMzxjLBMnLigL0lGOTieLMigfZA2vKigfIB3v0ief1C3rYywXPyw4Gyw5PBwfSCYWGC2TPCcb0Agf0ihnWzwnPzMLJigfUAw1HBc4klsbjzIbHihvZzxiGDhjPzxmGDg8GDhjPy2SGEw91igLUDg8GC2f5Aw5NigL0lcbWB2XPDgvSEsbKzwnSAw5LlGOTiejLigHLBhbMDwWGyw5KignVBNzLCNnHDgLVBMfSigfIB3v0igv2zxj5DgHPBMCGzwXZzs4klsbzB3uGyxjLigf3yxjLihrOAxmGAxmGysbWCM9TChqGAw5Qzwn0Aw9UignOywXSzw5NzsbHBMqGDxnLCNmGD2LSBcb0CNKGDg8GDhjPy2SGEw91lGOkuMvTzw1Izxi6ihLVDxiGAM9IigLZihrVigjLigHLBhbMDwWGD2HPBguGtKvwrviGC2f5Aw5NihrOyxqGzM9YyMLKzgvUihDVCMqU','yMfJAW','D2HPDgu','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','icbJDgy0ywK+ia','C3rYAw5NAwz5','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','BgvUz3rO','icdcTYa','Dw5KzxjSAw5L','CMvK','Dg9ju09tDhjPBMC','q29TBwfUzcbMywLSzwq','icaGigfIB3v0','CMvWB3j0uMvJna','oIb+','utqW','ihjLy29YzgvKoIa','zxHHBsbZDwjTAxq','icbvC2u6ia','ihDVCMrZicG','yw5ZD2vYx3n1yM1PDhrLza','zgvZy3jPChrPB24','BwvUDq','CMvWB3j0u3rHz2uYsgLUDhm','CMvWB3j0uMv0CNLdDge','rNvSBcbXDwvZDgLVBJOGia','y3rMngfPswrLyxm','y3LHBG','y3rMngfPsw50CM8X','C2XPy2u','DgLTzw91Da','icaGigrLBw8','CMvWB3j0u3rHz2uY','uMv2Awv3icSGC3vIBwL0oIa','AgfZ','zxHHBsbXia','Cg9PBNrZ','y3rMngvHAq','y3rMngfPu3vJy2vZCW','ywK0y3rM','z2vTBweTnc0ZmwiTAxq','imk3ia','CMvWB3j0u29SDMvK','ihrVA2vUCYK','igLZigfUiefjnenurIbXDwvZDgLVBIaOquKGAxmGEw91CIb0zwfTBwf0zsKU','ihDPBgWGB3bLBIbr','icaGifbYzxzPB3vZoIa','y3rMngfPuNvSzq','ywLvC2fNzq','icaGigjHy2S','icbbzNrLCIbLEgL0oIbHBgWGndaGyw5ZD2vYzwqG4OAsia','BM9KztPJAgLSzf9WCM9JzxnZ','icbdvey0quKGC2vJDgLVBJOG','CMvWB3j0rxHWzxjPzw5Jzwq','icdcTYaGuMuTzw50zxi6ia','y3rMngfPsw50CM8Y','mJyYnJCWuvnpt1bq','Dg9Rzw5ZvxnLza','BwvZC2fNzq','oIbhB29NBguGr2vTBweGncaO','ChvZAa','icaGigv4yw0GC2v0Dxa','igfNywLUihrVignOyw5NzsWGB3iG','lI4VBgLIl2v4yw0TC3rHDguUANm','ihbVAw50CYK6cG','icaGigv4Axq','y2f0zwDVCNK','Cu51Bq','ywn0Aw9U','icdILzdILzdILzaGq1rgnefjiokaLcbr','icdILiiG','D3jPDgu','cGPzt1vsiejfsefwsu9soGOTiefJDcbLEgfJDgX5igfZihrOzsbZy2vUyxjPBYbKzxnJCMLIzxmUifLVDsbHCMuGyw4Gywr2zxjZyxjPywWGCM9Szs1WBgf5ihbHCNrUzxiUcI0GswyGDgHLihnJzw5HCMLVihnHExmGEw91igHVBgqGysbZzwnYzxqSihLVDsbOB2XKihrOyxqGC2vJCMv0lIbszxnPC3qGzxH0CMfJDgLVBIbHDhrLBxb0CYb1BMXLC3mGDgHLignVBNrLC3rHBNqNCYbWCM9TChqGz2vUDwLUzwX5igrLzMvHDhmGEw91CIbYDwXLCY4klsbeBYbot1qGyNjLywSGy2HHCMfJDgvYigfUzcbHBM5VDw5Jzsb0AguGzMXHzYbKAxjLy3rSEs4klsbeBYbot1qGB3v0Chv0ieLdt0f7lI4UFsbVCIbPy29HEY4UlN0GDw5KzxiGBM9YBwfSihf1zxn0Aw9UAw5NlGOTieLMihrOzsbJB250zxn0yw50ignSzwfYBhKGC29SDMvZihrOzsbJAgfSBgvUz2uGkguUzY4Sigv4zwn1DgvZigeGC3vJy2vZC2z1BcbWCM9TChqGAw5Qzwn0Aw9UksWGEw91ig1HEsbYzxzLywWGAw5MB3jTyxrPB24GCgvYihrOzsbZy2vUyxjPBYDZihj1BgvZlGOTiejLigHLBhbMDwWGD2HLCMuGDgHLihnJzw5HCMLVigfSBg93CYWGAg9ZDgLSzsb3AgvYzsbPDcbYzxf1AxjLCY4klsblzwvWihjLC3bVBNnLCYbZAg9YDcbHBMqGAw4Ty2HHCMfJDgvYlG','ue9tva','y3rMngfPswrLytq','icaGiezYzwuTzM9YBsbTzxnZywDLCYbNBYb0BYb0AguGquKGDgfYz2v0iokaLcbJCMfMDcb5B3vYihbYB21WDhmGy2fYzwz1BgX5lG','z3jLzw4','y3rMngfPswrLytm','ihrVA2vUC10','DMXH','icbdvey0quKGy2HHDcbLBMrLzcbMB3iGuq','BwLU','Dg9Rzw5mAw1PDa','CMvWB3j0uMvJmG','x2XHC3rr','icaGig1LBNu','CMvWB3j0u3rHz2uZ','icdIMQaGww91CIbdvey0quKGDg9Rzw4GyNvKz2v0igLZigv4Agf1C3rLzc4','zMLUza','CMvWB3j0vgL0Bgu','icaGicaGica','AM9PBG','y29UDgLUDwu','icbtDwjTAxqGzgLYzwn0BhK6ia','zxHPDa','Dg9mB3DLCKnHC2u','ndi4DwfMzwTm','mJe3n2nzEMjSuW','y3rMngfPqwXYzwfKEq','C3bSAxq','icdINjmGqw5ZD2vYigzVCIbr','DxrMltG','icbr','C2vUze1LC3nHz2u','CMvWB3j0rxHHBvnLDhvWsgLUDa','DhLWzq','CMvWB3j0u3rHz2uYu3vI','igLZigfUievTyM9KAwvKiefjicHfquKPihf1zxn0Aw9UlG','icdINjmGuq','icbozxH0oIa','icaKia','icbszxn1Bwu6ia','EwvSBg93','ihrVA2vUCYbSzwz0lG','y3rMngfPuxvPDa','ihb0CYKG4Pwq4Pwq4Pwq','icaGicaGia','CMvWB3j0uMvJmW','icaG','ywK0y3rMvg9Rzw5Z','icbdDxjYzw50igfUC3DLCJOG','icaGihn1yM1PDcbjq09bEY4UlN0','icbdvey0quKGyxr0ywnRig1VzguGAxmGyxzHAwXHyMXLig9Uigf0DgfJAY10AguTquKGCxvLC3rPB25ZicHUzxH0oIbr'];a0b=function(){return a4;};return a0b();}export function registerCtf4aiDemoCommand(b){const Z=a0f;b[Z(0x10f)](Z(0x13c))[Z(0x8a)](Z(0x121))[Z(0xb9)](async()=>{const a0=Z;a0k(a0(0x13c));const {getRealExamState:f}=await import(a0(0xb4)),h=f(),j=h?.[a0(0x120)]['some'](p=>a0(0x13c)===p[a0(0xde)]);if(h&&j){const p=h[a0(0xc9)]||-0xc7*-0x3+-0x1200+-0x3eb*-0x4,q=h[a0(0x120)]['find'](v=>v[a0(0x14a)]===p);if(!q)return void a0p('Q'+p+a0(0x12d)+p);if(a0(0x13c)!==q[a0(0xde)]){if(console[a0(0x119)](),a0(0x9c)===q[a0(0xde)])console[a0(0x119)](a0h[a0(0xe5)]('\x20\x20Q'+p+a0(0xa1))),console[a0(0x119)](a0h[a0(0x140)](a0(0x87))+a0h[a0(0x10a)][a0(0xc1)]('ai4ctf'));else{if(a0(0xc4)===q[a0(0xde)])console[a0(0x119)](a0h['yellow'](a0(0xdb)+p+a0(0xe0))),console['log'](a0h['gray'](a0(0x87))+a0h[a0(0x10a)]['cyan'](a0(0x9a)));else{const v=h[a0(0x120)][a0(0xcd)](w=>a0(0x13c)===w[a0(0xde)]);console[a0(0x119)](a0h['yellow']('\x20\x20Q'+p+a0(0xf6))),v&&(console[a0(0x119)](a0h[a0(0x140)](a0(0xef)+v[a0(0x14a)]+').')),console['log'](a0h['gray']('\x20\x20Jump\x20there:\x20')+a0h['bold'][a0(0x90)](a0(0x98)+v[a0(0x14a)])));}}return void console[a0(0x119)]();}return void await async function(w,x){const a1=a0,{getRealExamState:z}=await import(a1(0xb4)),A=z();if(!A)return!(0x2a*-0x4+0x1a64+-0x19bb);const B=A[a1(0xa5)]?.[a1(0x13c)]??0xbcb+-0x644+-0x11b*0x5;if(B>=y)return console['log'](),console[a1(0x119)](a0h[a1(0xe5)](a1(0xcc))),console[a1(0x119)](a0h[a1(0x140)](a1(0xd2))+a0h['white'](a1(0x11e)+w+'\x20ICOA{...}')),console[a1(0x119)](),!(-0x1d3f+0x1*0x4eb+-0x1855*-0x1);try{i=await a0j(void(0x5*-0x266+-0xc*0x2fc+-0x2fce*-0x1),function(E,F){const a2=a1;return a2(0x14f)+F+',\x20'+E[a2(0xb7)]+',\x20'+(E['points']||0x10bb+-0x1*0xff+-0x2*0x7d6)+a2(0xb5)+E[a2(0x114)]+a2(0xbd);}(x,w));}catch(E){return a0p(E[a1(0xaf)]),!(0xc1d*-0x2+-0x1273+0x2aae);}const C={};C[a1(0xb8)]=w,C['question']=x,(r=!(0x16df+0x1054+-0x2733),c=B,u=C);const D=A['answers']?.[w];return function(F,G,H){const a3=a1,I=a0q()[a3(0x12b)]||a3(0x9d),J=c>0x1dad+0x1ef6+-0x169*0x2b;console['log'](),console['log'](a0h[a3(0x7e)]['bold'](a3(0xba)+G+':\x20'+F[a3(0xb7)]+'\x20('+(F[a3(0x99)]||0x42e+0x15cd+-0x19eb)+a3(0xe8))),J&&console[a3(0x119)](a0h[a3(0x140)]('\x20\x20(resuming\x20—\x20prior\x20chat\x20is\x20not\x20remembered,\x20but\x20tokens\x20already\x20used\x20stay\x20deducted)')),H&&console[a3(0x119)](a0h[a3(0x140)](a3(0xed))+a0h[a3(0xe5)](H)+a0h[a3(0x140)](a3(0x144))),console[a3(0x119)](),console[a3(0x119)](a0h[a3(0x7e)](a3(0x112))),console[a3(0x119)](a0h[a3(0x7e)](a3(0xbb))+a0h['bold'][a3(0x76)]('Q'+G+a3(0x13a)+F[a3(0xb7)]+a3(0x10e))),console[a3(0x119)](a0h[a3(0x7e)](a3(0x12f)));for(const P of String(F[a3(0x114)])[a3(0xd8)]('\x0a')){const Q=P['length']>0x1536+0x11cb+-0x26c5?P[a3(0x92)](-0x83a+0x1*0x2036+-0x17fc,0x6eb+0x1*-0xe51+0x79f)+a3(0x11f):P;console[a3(0x119)](a0h[a3(0x7e)]('\x20\x20│\x20')+a0h['white'](Q));}console[a3(0x119)](a0h[a3(0x7e)]('\x20\x20│')),console[a3(0x119)](a0h[a3(0x7e)](a3(0xbb))+a0h[a3(0x140)](a3(0x8e))+a0h['white'](a3(0x98)+G)),console[a3(0x119)](a0h[a3(0x7e)]('\x20\x20│\x20')+a0h[a3(0x140)]('Flag\x20format:\x20\x20\x20\x20ICOA{...}')),console[a3(0x119)](a0h[a3(0x7e)]('\x20\x20└─────────────────────────────────────────────')),console[a3(0x119)](),console[a3(0x119)](a0h[a3(0x10a)][a3(0x76)](a3(0x10b))),console['log'](),console[a3(0x119)](a0h['white'](a3(0xee))+a0h['gray'](a3(0x104))),console[a3(0x119)](a0h[a3(0x76)](a3(0x139))+a0h[a3(0x140)](a3(0x127))),console[a3(0x119)](a0h['gray'](a3(0xc0))),console[a3(0x119)](),console[a3(0x119)](a0h[a3(0x140)](a3(0xb6))+a0h[a3(0x140)](a3(0x12c))),console[a3(0x119)](a0h['gray'](a3(0xca))+a0h[a3(0x140)](a3(0x129))),console['log']();const K=c,L=Math[a3(0xc6)](Math[a3(0x138)](K/(-0x5412*-0x2+-0xbc7b+0x1*0x75ff)*(-0x1a03+0x22d5+0x437*-0x2)),0x8b*-0x29+0x652*-0x6+0x3c93*0x1),M=Math[a3(0x138)](L/(-0x46d+-0x3b+0x50c)*(-0x177d+-0x1*-0xa+0x1787)),N=-0x1f41+-0xfb9+0x2*0x1787-M,O=L>-0x2ef*-0x2+0x20bb+0x9*-0x441?a0h['red']:L>-0x1d0a+0x269*-0x7+0x1*0x2e1b?a0h[a3(0xe5)]:a0h[a3(0xc1)];console['log'](a0h[a3(0x140)](a3(0xa9))+O('█'['repeat'](M))+a0h[a3(0x140)]('░'[a3(0x101)](N))+a0h[a3(0x140)]('\x20'+K+'/25000\x20('+L+'%)')),console[a3(0x119)](a0h[a3(0x140)]('\x20\x20Model:\x20Google\x20Gemma\x204\x20('+I+')')),console[a3(0x119)]();}(x,w,D),!(-0xbc0+-0x1745*0x1+0x2305);}(p,q);}if(r)return void console[a0(0x119)](a0h[a0(0x140)]('\x20\x20'+a0w(a0(0xd7))));const k=a0q()['geminiModel']||a0(0x9d);console[a0(0x119)](),console[a0(0x119)](a0h['red'][a0(0x10a)]('\x20\x20═══\x20'+a0w('ctf4aiTitle')+a0(0xf5))),console['log'](),console['log'](a0h[a0(0x76)]('\x20\x20'+a0w(a0(0x137)))),console['log'](),console[a0(0x119)](a0h[a0(0x140)]('\x20\x20'+a0w(a0(0x91)))),console[a0(0x119)](a0h['gray']('\x20\x20'+a0w(a0(0xac)))),console['log'](),console[a0(0x119)](a0h[a0(0x140)]('\x20\x20┌─────────────────────────────────────────────────┐')),console['log'](a0h[a0(0x140)](a0(0x12f))+a0h[a0(0x76)](('\x20\x20'+a0w(a0(0xa4)))[a0(0x146)](-0x1*0xf9a+-0xa*-0x8e+-0x29*-0x40))+a0h[a0(0x140)]('│')),console[a0(0x119)](a0h['gray'](a0(0x12f))+a0h[a0(0x76)](('\x20\x20'+a0w(a0(0x142)))[a0(0x146)](-0x182f*0x1+0x12e+0x1733))+a0h[a0(0x140)]('│')),console[a0(0x119)](a0h[a0(0x140)](a0(0x12f))+a0h[a0(0x76)](a0(0x131))+a0h[a0(0x140)]('│')),console[a0(0x119)](a0h[a0(0x140)]('\x20\x20│')+a0h[a0(0xe5)](('\x20\x20'+a0w(a0(0x8f)))['padEnd'](0x95+0x5b3*-0x3+0x5d*0x2e))+a0h[a0(0x140)]('│')),console[a0(0x119)](a0h[a0(0x140)](a0(0x12f))+a0h[a0(0x140)]((a0(0x7c)+a0w(a0(0xf9)))[a0(0x146)](-0x1*0x2602+-0x234f+0x1*0x4983))+a0h[a0(0x140)]('│')),console[a0(0x119)](a0h[a0(0x140)](a0(0x12f))+a0h[a0(0x140)](('\x20\x20·\x20'+a0w('ctf4aiIdea2'))[a0(0x146)](-0x2*0x10a7+-0x25b3*-0x1+-0x433))+a0h[a0(0x140)]('│')),console['log'](a0h[a0(0x140)](a0(0x12f))+a0h[a0(0x140)]((a0(0x7c)+a0w(a0(0xc2)))['padEnd'](0x1ba3+-0x21ee+-0x67d*-0x1))+a0h[a0(0x140)]('│')),console[a0(0x119)](a0h[a0(0x140)]('\x20\x20│')+a0h['gray']((a0(0x7c)+a0w(a0(0xbf)))[a0(0x146)](-0x45d*-0x7+-0x6d+0x5fc*-0x5))+a0h[a0(0x140)]('│')),console[a0(0x119)](a0h[a0(0x140)](a0(0x10c))),console[a0(0x119)](),console[a0(0x119)](a0h[a0(0x140)]('\x20\x20'+a0w(a0(0xfc))+a0(0x83)+Math[a0(0x138)](g/(0x153a+-0x2ae+-0x1288))+a0(0x88)+g+a0(0xa0))),console[a0(0x119)](a0h[a0(0x140)]('\x20\x20'+a0w('ctf4aiRelaxed'))),console[a0(0x119)](a0h[a0(0x140)]('\x20\x20'+a0w(a0(0x109))+a0(0xb0)+k+')')),console[a0(0x119)](a0h[a0(0x140)]('\x20\x20'+a0w(a0(0xe7)))),console[a0(0x119)]();try{i=await a0j(void(-0x20b7+0x1d29+0x38e),a0(0x74)),r=!(-0x135d*-0x1+0x11*0x48+-0x1825),c=-0x127a+0x15*-0x89+-0x1*-0x1db7,console[a0(0x119)](a0h[a0(0x7e)](a0(0x78))+a0h['gray'](''+a0w('ctf4aiPrompt'))),console[a0(0x119)]();}catch(w){a0p(a0(0x150)+w[a0(0xaf)]);}});}
1
+ (function(b,f){const U=a0f,h=b();while(!![]){try{const j=-parseInt(U(0x270))/(0x12e9+0x10*0x14b+-0x2798)+-parseInt(U(0x26c))/(-0x2c3+-0xe79+-0x2*-0x89f)+parseInt(U(0x1da))/(-0x1*0x1144+0x1a64+0x1*-0x91d)*(-parseInt(U(0x256))/(-0x859+-0x52c+0xd89))+-parseInt(U(0x208))/(-0x1f92+0x32b*0x4+0x12eb)*(parseInt(U(0x26f))/(0x94a+-0x153b+0x1*0xbf7))+-parseInt(U(0x20a))/(-0x202*0xa+-0xc17+0x1*0x2032)*(-parseInt(U(0x282))/(0x1e1b+0x235*-0x1+-0x1bde))+parseInt(U(0x275))/(0x10f9+0x1f8a+-0x307a*0x1)+-parseInt(U(0x1fe))/(0x101c+0xffa+-0x200c)*(-parseInt(U(0x221))/(0x866+0x1924+-0x23*0xf5));if(j===f)break;else h['push'](h['shift']());}catch(k){h['push'](h['shift']());}}}(a0b,0x3be7b+-0xc3a*0x9+0xf447));import a0h from'chalk';import{createChatSession as a0j}from'../lib/gemini.js';import{logCommand as a0k}from'../lib/logger.js';import{printError as a0p}from'../lib/ui.js';import{getConfig as a0q}from'../lib/config.js';import{getRetryQueue as a0v}from'../lib/demo-stats.js';import{t as a0w}from'../lib/i18n.js';function a0f(a,b){a=a-(-0x18e3+0x5*0x6f6+-0x812);const c=a0b();let d=c[a];if(a0f['cCipdm']===undefined){var e=function(i){const j='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let l='',m='';for(let n=-0x26e+-0x1*-0xa11+-0x5*0x187,o,p,q=-0x14bd*0x1+0x10*-0x24f+0x39ad;p=i['charAt'](q++);~p&&(o=n%(0x722+-0x19f2+0x12d4)?o*(0x14*-0xdb+-0x1034+0x2190)+p:p,n++%(-0x17dd+-0x1e57*0x1+0x3638))?l+=String['fromCharCode'](-0xaf2+0x1*-0x11c5+0x2*0xedb&o>>(-(-0x1597+-0x1851+0x2dea)*n&-0x58*-0x1a+-0x4d6+-0x414)):0x2*-0xa60+-0x73*-0x1b+0x89f){p=j['indexOf'](p);}for(let r=0x1a5b+0x1*0xc5e+-0x1*0x26b9,s=l['length'];r<s;r++){m+='%'+('00'+l['charCodeAt'](r)['toString'](0x5c5*-0x6+-0x3*-0x3b9+-0xd*-0x1cf))['slice'](-(-0x1*-0x10f+0x17b6+-0x18c3));}return decodeURIComponent(m);};a0f['bxcphZ']=e,a0f['OUPfvt']={},a0f['cCipdm']=!![];}const f=c[0x196*0x3+0x1cd3+-0x2195*0x1],g=a+f,h=a0f['OUPfvt'][g];return!h?(d=a0f['bxcphZ'](d),a0f['OUPfvt'][g]=d):d=h,d;}function s(b,f){const V=a0f,h=a0q()[V(0x248)]||V(0x1ec),j=a0v(),k=!!(j&&j['length']>-0x67d+-0x3*-0xcec+-0x2047);if(console['log'](),console[V(0x28e)](a0h[V(0x24a)](V(0x298))),console['log'](a0h[V(0x1fb)][V(0x1e7)](V(0x1ff)+a0w(V(0x268)))),console[V(0x28e)](a0h['cyan']('\x20\x20═══════════════════════════════════════════════')),console['log'](),console[V(0x28e)](a0h['white']('\x20\x20'+a0w(V(0x1e6)))),console[V(0x28e)](a0h['green'](V(0x2a8)+a0w('reportCompleted'))),console['log'](),console[V(0x28e)](a0h['white']('\x20\x20'+a0w(V(0x1dc)))),console[V(0x28e)](a0h['green'](V(0x2a8)+a0w('reportExperienced'))),console['log'](a0h['gray'](V(0x2a8)+a0w(V(0x1e8)))),console['log'](a0h[V(0x280)](V(0x2a8)+a0w(V(0x244)))),console[V(0x28e)](),console[V(0x28e)](a0h['white']('\x20\x20'+a0w(V(0x21d)))),b?console[V(0x28e)](a0h[V(0x245)](V(0x2a8)+a0w(V(0x27e)))):console[V(0x28e)](a0h[V(0x228)](V(0x2a8)+a0w(V(0x1e5)))),console[V(0x28e)](a0h['gray'](V(0x2a8)+a0w(V(0x25c))+':\x20'+f+'/'+g)),console['log'](),console[V(0x28e)](a0h[V(0x24a)](V(0x257))),console['log'](),console['log'](a0h[V(0x1fb)][V(0x1e7)]('\x20\x20'+a0w(V(0x25f)))),console[V(0x28e)](a0h[V(0x280)]('\x20\x20·\x20'+a0w(V(0x25a)))),console[V(0x28e)](a0h[V(0x280)]('\x20\x20·\x20'+a0w(V(0x297)))),console[V(0x28e)](a0h['gray'](V(0x232)+a0w(V(0x20c)))),console[V(0x28e)](a0h[V(0x280)](V(0x232)+a0w(V(0x243)))),console[V(0x28e)](),console[V(0x28e)](a0h['gray']('\x20\x20'+a0w('ai4ctfModel')+V(0x242)+h+')')),console[V(0x28e)](),console[V(0x28e)](a0h[V(0x24a)](V(0x257))),console[V(0x28e)](),console[V(0x28e)](a0h[V(0x1e7)]('\x20\x20'+a0w(V(0x1fd)))),console[V(0x28e)](a0h[V(0x1e7)]('\x20\x20'+a0w(V(0x26a)))),console[V(0x28e)](),k&&(console[V(0x28e)](a0h[V(0x1e7)](V(0x22f)+a0w('reportRetryCta')+'\x20')+a0h[V(0x1fb)][V(0x24a)]('retry')),console[V(0x28e)]()),console[V(0x28e)](a0h['cyan'](V(0x257))),console[V(0x28e)](a0h[V(0x1e7)]('\x20\x20'+a0w(V(0x278)))),k){const p=j[V(0x2a1)],q=a0w(-0x24f0+0x7*0x2d3+0x112c===p?'reportRetryWrongN':V(0x2a3));console[V(0x28e)](a0h[V(0x24a)](V(0x22c))+a0h[V(0x280)](V(0x1f3)+q[V(0x24e)](V(0x1f0),String(p))));}console[V(0x28e)](a0h['cyan'](V(0x22b))+a0h[V(0x280)]('\x20\x20'+a0w('reportExamSetupHint'))),console[V(0x28e)](a0h['white'](V(0x212))+a0h[V(0x280)](V(0x251)+a0w('reportBackHint'))),console['log'](a0h['white'](V(0x1f2))+a0h['gray']('\x20\x20\x20\x20\x20\x20\x20\x20'+a0w(V(0x20e)))),console['log'](a0h[V(0x1e7)](V(0x25b))+a0h[V(0x280)]('\x20\x20\x20\x20\x20\x20\x20'+a0w(V(0x233)))),console[V(0x28e)](),console['log'](a0h[V(0x228)](V(0x24c))),console[V(0x28e)](a0h['cyan'][V(0x28a)](V(0x288))),console[V(0x28e)]();}let r=!(0x722+-0x19f2+0x12d1),i=null,c=0x14*-0xdb+-0x1034+0x2150;function a0b(){const a4=['Aw50zxjHy3rPB25Z','y3LHBG','ChvZAa','icbjq09bidiWmJyGWRCGu3LKBMv5lcbbDxn0CMfSAweGWRCGsNvUidi3ic0GsNvSidi','icaKia','CMvWBgfJzq','igLZigfUievTyM9KAwvKiefjicHfquKPihf1zxn0Aw9UlG','icaOCMvZDw1PBMCG4OcuihbYAw9YignOyxqGAxmGBM90ihjLBwvTyMvYzwqSigj1Dcb0B2TLBNmGywXYzwfKEsb1C2vKihn0yxKGzgvKDwn0zwqP','icaGicaGica','ywK0y3rM','DhLWzq','BwvUDq','icaGicaGicaGicaGifjLDhvYBIb0BYbTywLUig1LBNuGkhDVCMTZigfUExDOzxjLkq','mJe2mJiYoe9fwfDHrW','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','y3rMngfPsgvSza','BM9KztPJAgLSzf9WCM9JzxnZ','CMvWB3j0uMvJmq','icaGigfIB3v0','ywK0y3rMvg9Rzw5Z','xsaGWRCGywr2zxjZyxjPywWGquK','icdIMQaGodaLig9MienurJrbssbIDwrNzxqGDxnLzc4','CMvWB3j0uMvJB21Tzw5K','icaGigv4Axq','Cg9PBNrZ','icbtDwjTAxqGzgLYzwn0BhK6ia','icaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGica','zw5JB2rPBMC','icdILiZILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILja','icaGicfWExrOB24Zic4UlG','y3rMngfPuhjVBxb0','CMvWB3j0vgL0Bgu','icbdvey0quKGy2HHDcbLBMrLzcbMB3iGuq','DgHLB3j5rg9Uzti','igfNywLUihrVignOyw5NzsWGB3iG','mJy4nZa4DMHyz3Hx','zxHHBsbHBNn3zxiG','BwvZC2fNzq','nMzSzM9tqq','otKZnJzJELjQEfy','rNvSBcbXDwvZDgLVBJOGia','icdILii','icbozxH0oIa','zMLUza','ndC3mty0n3H0ru9WBG','D3jPDgu','y29UDgLUDwu','CMvWB3j0uMvHzhK','Dg9mB3DLCKnHC2u','DMXH','icbfCNjVCJOG','icbbzNrLCIbLEgL0oIa','ihjLy29YzgvKoIa','CMvWB3j0u29SDMvK','jsbVzIbdvey0quKGyNvKz2v0ihvZzwqG4Ocuig9UBhKGFG','z3jHEq','y3rMngfPrw5Kzwq','mty2ode4ngDjr2XNrq','icdcTYaGuMuTzw50zxi6ia','BNvTyMvY','lZi1mdaWienurJrbssb0B2TLBNmGWRCG','icdIMQaGq1rgnefjihrVA2vUigj1zgDLDcbLEgHHDxn0zwqGkdi1ldaWmcb1C2vKks4','q29UDgvUDc1uExbL','icbODhrWCZOVl2LJB2eYmdi2lMf1','ihrVA2vUC10','Dw5KzxjSAw5L','yMfJAW','AgfZ','C2vUze1LC3nHz2u','Bg9N','iokvKokvKokvKa','C2XPy2u','ww91igfYzsbHihnLy3vYAxr5lwHHCMrLBMvKiefjigfZC2LZDgfUDcbPBIbHienurJrbssbJAgfSBgvUz2uUcGPbqLnptfvursbsvuXfoIbzB3uGBxvZDcborvzfuIbZyxKGDgHLihDVCMqGiMTVywXHiIb1BMrLCIbHBNKGy2LYy3vTC3rHBMnLCY4klsbeBYbUB3qGC2f5icjRB2fSysiGAw4Gyw55igzVCM0SigfUEsbSyw5NDwfNzsWGyw55igvUy29KAw5NlGOTierVig5VDcbZCgvSBcbPDcbVDxqGBgv0DgvYigj5igXLDhrLCI4klsbeBYbUB3qGDxnLihn5BM9UEw1ZihrOyxqGzgLYzwn0BhKGCMvMzxjLBMnLigL0lGOTieLMigfZA2vKigfIB3v0ief1C3rYywXPyw4Gyw5PBwfSCYWGC2TPCcb0Agf0ihnWzwnPzMLJigfUAw1HBc4klsbjzIbHihvZzxiGDhjPzxmGDg8GDhjPy2SGEw91igLUDg8GC2f5Aw5NigL0lcbWB2XPDgvSEsbKzwnSAw5LlGOTiejLigHLBhbMDwWGyw5KignVBNzLCNnHDgLVBMfSigfIB3v0igv2zxj5DgHPBMCGzwXZzs4klsbzB3uGyxjLigf3yxjLihrOAxmGAxmGysbWCM9TChqGAw5Qzwn0Aw9UignOywXSzw5NzsbHBMqGDxnLCNmGD2LSBcb0CNKGDg8GDhjPy2SGEw91lGOkuMvTzw1Izxi6ihLVDxiGAM9IigLZihrVigjLigHLBhbMDwWGD2HPBguGtKvwrviGC2f5Aw5NihrOyxqGzM9YyMLKzgvUihDVCMqU','icbkDw1WihrOzxjLoIa','icdIMQaGww91CIbdvey0quKGDg9Rzw4GyNvKz2v0igLZigv4Agf1C3rLzc4','icdILiiG','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','icaGicbsDw4GuhL0Ag9UigLUihnOzwXS','CMvWB3j0uMvJmG','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','y3rMngfPuNvSzq','icbgBgfNigzVCM1HDdOG','y3rMngfPvgL0Bgu','DMLHign0zJrHAsbJAgf0','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDs9HCgKVAwnVys9Kzw1Vlxn0yxrZ','igLZigfUiefjnenurIbXDwvZDgLVBIaOquKGAxmGEw91CIb0zwfTBwf0zsKU','icbbBgWGndaGyw5ZD2vYzwqHia','icaGihn1yM1PDcbjq09bEY4UlN0','BgvUz3rO','icaGifbYzxzPB3vZoIa','CMvWB3j0uMv0CNLxCM9Uz05qBhvYywW','yxbWBgLJyxrPB24VANnVBG','icboB3rLoIa1mcuGB2yGq1rgnefjigj1zgDLDcb1C2vKlG','CMvWzwf0','icdINjmGuq','icaGia','y3rMngfPqNvKz2v0','igfUC3DLCIb1CgrHDgvKoIa','cGPzt1vsiejfsefwsu9soGOTiefJDcbLEgfJDgX5igfZihrOzsbZy2vUyxjPBYbKzxnJCMLIzxmUifLVDsbHCMuGyw4Gywr2zxjZyxjPywWGCM9Szs1WBgf5ihbHCNrUzxiUcI0GswyGDgHLihnJzw5HCMLVihnHExmGEw91igHVBgqGysbZzwnYzxqSihLVDsbOB2XKihrOyxqGC2vJCMv0lIbszxnPC3qGzxH0CMfJDgLVBIbHDhrLBxb0CYb1BMXLC3mGDgHLignVBNrLC3rHBNqNCYbWCM9TChqGz2vUDwLUzwX5igrLzMvHDhmGEw91CIbYDwXLCY4klsbeBYbot1qGyNjLywSGy2HHCMfJDgvYigfUzcbHBM5VDw5Jzsb0AguGzMXHzYbKAxjLy3rSEs4klsbeBYbot1qGB3v0Chv0ieLdt0f7lI4UFsbVCIbPy29HEY4UlN0GDw5KzxiGBM9YBwfSihf1zxn0Aw9UAw5NlGOTieLMihrOzsbJB250zxn0yw50ignSzwfYBhKGC29SDMvZihrOzsbJAgfSBgvUz2uGkguUzY4Sigv4zwn1DgvZigeGC3vJy2vZC2z1BcbWCM9TChqGAw5Qzwn0Aw9UksWGEw91ig1HEsbYzxzLywWGAw5MB3jTyxrPB24GCgvYihrOzsbZy2vUyxjPBYDZihj1BgvZlGOTiejLigHLBhbMDwWGD2HLCMuGDgHLihnJzw5HCMLVigfSBg93CYWGAg9ZDgLSzsb3AgvYzsbPDcbYzxf1AxjLCY4klsblzwvWihjLC3bVBNnLCYbZAg9YDcbHBMqGAw4Ty2HHCMfJDgvYlG','C29SDMvK','x2XHC3rr','ig5VDcbMB3vUzcbPBIbZDgf0zs4Gvhj5oIbLEgfTiheG','rMXHzYbMB3jTyxq6icaGieLdt0f7lI4UFq','lZi1mdaWicG','y3rMngfPoIa','utqW','ue9tva','icaI','m3jzDvPzqW','ihbVAw50CYK6cG','CMvWB3j0u3rHz2uY','yw5ZD2vYx2nOyw5Nzwq','y3rMngfPswrLytm','icbqCM9IAw5NiefjlI4U','icdIMQaG','y3rMngfP','Dg9ju09tDhjPBMC','lI4VBgLIl2v4yw0TC3rHDguUANm','icaGig1LBNu','CMvWB3j0tM90u29SDMvK','CMvWB3j0u3rHz2uX','D2HPDgu','CMvWB3j0u3rHz2uYu3vI','y3rMngfPrgvMzw5Zzq','ieLdt0f7lI4UFq','igLZigeGBxvSDgLWBguTy2HVAwnLihf1zxn0Aw9UiokaLcbHBNn3zxiGD2L0Acbbl0iVqY9elG','z2vTBweTnc0ZmwiTAxq','icbdvey0quKGyxr0ywnRig1VzguGAxmGyxzHAwXHyMXLig9Uigf0DgfJAY10AguTquKGCxvLC3rPB25ZicHUzxH0oIbr','yw5ZD2vYCW','y2f0zwDVCNK','E259','C3bSAxq','icaGigrLBw8','icaGicaGia','CxvLC3rPB25Z','icbtDgLSBcbHDMfPBgfIBgu6ia','lI4U','y29TBwfUza','iIbSB29RCYbSAwTLigfUie1dusbSzxr0zxiSig5VDcbHigzSywCU','icbr','icdILjtILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','yM9Sza','CMvK','DgHLB3j5rg9Uzq','mtbAD3HhrMS','icaG','imk3ia','icaGicHhCMfKAw5NigHHChbLBNmGyxqGzxHHBsbZDwjTAxqUkq','ywLvC2fNzq','Dg9Rzw5ZvxnLza','ihDPBgWGB3bLBIbr','y3rMngfPsw50CM8Y','Cu51Bq','icbbstOG','mJC0oteWzKrYweTr','yw5ZD2vYx3n1yM1PDhrLza','n2H0D1rbta','DgLTzw91Da','CMvWB3j0uMvJmW','y3rMngfPsw5Qzwn0Aw9U','CMvWB3j0rgvTBW','icbB','q29TBwfUzcbMywLSzwq','y2f0y2G','icaGigjHy2S','icdILzdILzdILzaG','zxHPDa','C3rKB3v0','y3rMngfPtwLZC2LVBG','Dgv4Da','uMv2Awv3icSGC3vIBwL0oIa','C3rYAw5NAwz5','lIbuCNKGywDHAw4U','ihb0CYKG4Pwq4Pwq4Pwq','y3rMngvHAq','CMvWB3j0u3rHz2uZ','CxvPDa','ihrVig1VDMuGB24','CgfKrw5K','nda3mZe3ow56shLYzW','CM91BMq','y3rMngfPuMvSyxHLza','DhjPBq','zxHHBsbXia','zxHHBsbZDwjTAxq','icdILzdILzdILzaGq1rgnefjiokaLcbr','EwvSBg93','ywrK','icbszxn1Bwu6ia','icaGigv4yw0GC2v0Dxa','icaGihjLDhj5','icbiB3CGDg8Gyxr0ywnRihrOAxmGDgfYz2v0','g1SXqrTBmKS','icdWN5kQia','y3rMngfPsw50CM8X','ihrVA2vUCYbSzwz0lG','icdcTYa','CMvWB3j0qwjVDxriAw50','C3vIBwL0ia','quKGzxjYB3i6ia','zgvZy3jPChrPB24','icaGicaGicaGicaGieXLyxzLignOyxqSihjLDhvYBIb0BYbLEgfT','ywK0y3rMtw9KzwW','y3rMngfPuxvPDa','cIaG','icbJDgy0ywK+ia','icdILjtILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILjG','ihrVA2vUCYK','AM9PBG','C3vIBwL0ieLdt0f7lI4UFq','icbdvey0quKGC2vJDgLVBJOG','icbvC2u6ia','oIbhB29NBguGr2vTBweGncaO','CMvWB3j0uMvJna','CMvWB3j0u3rHz2uYsgLUDhm','z3jLzw4','DgvZDa','y3rMngfPswrLyti','z2vTAw5Ptw9KzwW'];a0b=function(){return a4;};return a0b();}const g=-0x17dd+-0x1e57*0x1+0x41ec,y=-0x36b9+0x8*-0xb1b+0x25*0x685;let u=null;export function isCtf4aiActive(){return r;}export async function handleCtf4aiMessage(f){const W=a0f;if(!i)return W(0x214);if(a0k(W(0x2b1)+f),u)return m(f);const h={};h[W(0x287)]=W(0x2a4);if(W(0x214)===f||W(0x28b)===f||W(0x21e)===f||W(0x254)===f)return r=!(-0x1597+-0x1851+0x2de9),i=null,fetch(W(0x29d),{'method':'POST','headers':h,'body':JSON[W(0x219)]({'type':W(0x1e1),'solved':!(-0x58*-0x1a+-0x4d6+-0x419),'tokensUsed':c,'timestamp':new Date()[W(0x1e2)]()}),'signal':AbortSignal[W(0x20b)](0x2*-0xa60+-0x73*-0x1b+0x1c27)})[W(0x211)](()=>{}),console['log'](),console[W(0x28e)](a0h[W(0x280)]('\x20\x20'+a0w(W(0x281)))),s(!(0x1a5b+0x1*0xc5e+-0x2*0x135c),c),W(0x214);if(c>=g)return console['log'](),console[W(0x28e)](a0h[W(0x228)]('\x20\x20'+a0w('tokenLimit'))),console[W(0x28e)](a0h[W(0x1e7)]('\x20\x20'+a0w(W(0x258)))),r=!(0x5c5*-0x6+-0x3*-0x3b9+-0x26*-0x9e),i=null,fetch(W(0x29d),{'method':'POST','headers':{'Content-Type':W(0x2a4)},'body':JSON[W(0x219)]({'type':W(0x1e1),'solved':!(-0x1*-0x10f+0x17b6+-0x18c4),'tokensUsed':c,'timestamp':new Date()[W(0x1e2)]()}),'signal':AbortSignal['timeout'](0x196*0x3+0x1cd3+-0x147*0xb)})[W(0x211)](()=>{}),s(!(0x1*-0x1ace+0x1ecb+-0x6*0xaa),c),W(0x214);try{console[W(0x28e)](a0h['gray']('\x20\x20'+a0w('ctf4aiThinking')));const {text:j,tokensUsed:k}=await i['sendMessage'](f);c+=k,process[W(0x215)][W(0x276)]('\x1b[1A\x1b[2K'),console['log'](),console[W(0x28e)](a0h[W(0x1e7)]('\x20\x20AI:\x20')+j),console[W(0x28e)](),console[W(0x28e)](a0h[W(0x280)]('\x20\x20['+c+'/'+g+W(0x289)));const p=c>=(0x1b07+-0x2603+0x2bf*0x4+0.5)*g,q=/koala/i[W(0x246)](j),v=p&&/k[\s.\-_·*]+o[\s.\-_·*]+a[\s.\-_·*]+l[\s.\-_·*]+a/i[W(0x246)](j);return q||v?(console[W(0x28e)](),console['log'](a0h[W(0x245)][W(0x1fb)]('\x20\x20════════════════════════════════════')),console[W(0x28e)](a0h[W(0x245)][W(0x1fb)]('\x20\x20'+a0w('ctf4aiSuccess'))),console['log'](a0h[W(0x245)][W(0x1fb)](W(0x295))),console['log'](),console[W(0x28e)](a0h[W(0x1e7)]('\x20\x20'+a0w(W(0x1e9)))),console['log'](a0h[W(0x280)]('\x20\x20'+a0w(W(0x20d)))),r=!(-0x441+0x56*-0x40+0x19c2),i=null,fetch(W(0x29d),{'method':W(0x2b3),'headers':{'Content-Type':W(0x2a4)},'body':JSON[W(0x219)]({'type':W(0x1e1),'solved':!(-0x16a4+0x1*0x26e1+-0x103d),'tokensUsed':c,'timestamp':new Date()[W(0x1e2)]()}),'signal':AbortSignal[W(0x20b)](-0x4db+-0xcbd*-0x2+-0x117)})['catch'](()=>{}),s(!(-0x4*0x3a5+0x4cb+0x9c9),c),W(0x2ac)):W(0x277);}catch(w){return a0p(W(0x235)+w[W(0x26e)]),W(0x277);}}const d=new Set();async function m(h){const X=a0f;if(!u||!i)return'exit';const j=h[X(0x224)](),k=j[X(0x279)]();if(/^ICOA\{[^}]+\}$/i[X(0x246)](j))return m(X(0x234)+j);const p=j['match'](/^submit\s+(.+)/i);if(p){let q=p[0x2560*-0x1+-0x1b6+0x2717][X(0x224)]();if(/^submit\s+/i[X(0x246)](q)&&(q=q[X(0x24e)](/^submit\s+/i,'')['trim']()),q=q[X(0x24e)](/^["'`]+|["'`]+$/g,'')['trim'](),/^[A-Da-d]$/[X(0x246)](q))return console[X(0x28e)](),console['log'](a0h[X(0x228)](X(0x1d9)+q+X(0x1f8))),console['log'](a0h['gray'](X(0x29a))+a0h['green']('ICOA{your_flag}')+a0h[X(0x280)](X(0x21a))),console[X(0x28e)](),X(0x277);const {getExamState:v,saveExamState:w}=await import(X(0x1e3)),x=v();if(!x)return X(0x214);const z=x[X(0x1ee)][u[X(0x206)]];x[X(0x249)]||(x[X(0x249)]=[]),x['interactions'][X(0x24b)]({'ts':new Date()['toISOString'](),'q':u['qNum'],'type':z?X(0x1dd):X(0x209),'input':q,'result':X(0x29c)}),x[X(0x1ee)][u[X(0x206)]]=q;const A=u[X(0x206)]+(-0x20a1*0x1+-0x1*0xa01+0x2aa3);return x['_lastQ']=A<=0x241f+-0x2dd+-0x1*0x211a?A:u[X(0x206)],w(x),console[X(0x28e)](),z?(console[X(0x28e)](a0h[X(0x245)](X(0x2a7)+u['qNum']+X(0x2aa))+a0h[X(0x228)](q)),console[X(0x28e)](a0h[X(0x280)](X(0x2a2)+z))):console[X(0x28e)](a0h['green'][X(0x1fb)]('\x20\x20✓\x20Answer\x20for\x20Q'+u['qNum']+X(0x27d)+q)),console[X(0x28e)](a0h[X(0x280)](X(0x201))),console['log'](),console[X(0x28e)](a0h[X(0x280)]('\x20\x20')+a0h['white'](X(0x23f))+a0h[X(0x280)](X(0x26b))+a0h[X(0x1e7)]('exit')+a0h[X(0x280)](X(0x21f))),A<=-0xe3*0x13+0x1db*-0x5+-0x692*-0x4?console['log'](a0h['gray'](X(0x27c))+a0h['red'](X(0x1e1))+a0h[X(0x280)](X(0x204)+A)):console[X(0x28e)](a0h[X(0x280)]('\x20\x20After\x20exit:\x20all\x2040\x20answered\x20→\x20')+a0h[X(0x24a)]('exam\x20submit')),console[X(0x28e)](),X(0x277);}if(h['startsWith']('!')){const B=h[X(0x290)](-0x1c73+0x707*0x1+0x156d*0x1)[X(0x224)]();if(!B)return'continue';try{const C={};C[X(0x264)]='utf-8',C[X(0x20b)]=0x2710;const {execSync:D}=await import(X(0x259)),E=D(B,C)[X(0x224)]();console[X(0x28e)](),console[X(0x28e)](a0h[X(0x280)](X(0x24d))+a0h[X(0x1e7)](B)),console['log'](a0h[X(0x1e7)]('\x20\x20'+E['split']('\x0a')[X(0x23e)](X(0x23a)))),console[X(0x28e)]();}catch(F){console[X(0x28e)](),console['log'](a0h['red'](X(0x27b)+(F['message']?.[X(0x1f1)]('\x0a')[0x5ce+0x15c4*0x1+-0xdc9*0x2]||X(0x210)))),console['log']();}return X(0x277);}if(X(0x214)===k||'back'===k||X(0x21e)===k||X(0x254)===k){const G=u[X(0x206)],{getExamState:H}=await import(X(0x1e3)),I=H(),J=I&&null!=I[X(0x1ee)][G],K=I?.['_lastQ']||G;return r=!(0x1f77+0xb5b+-0x2ad1),i=null,u=null,d['clear'](),console['log'](),console[X(0x28e)](a0h[X(0x280)](X(0x269)+G+'.')),J&&0x449*0x3+-0x25a0+0x18ec===G&&K<=0xc*-0x90+-0x1c1*0x11+-0x11*-0x229?console[X(0x28e)](a0h[X(0x1e7)](X(0x273))+a0h[X(0x1fb)][X(0x1fc)](X(0x2b2))+a0h['gray']('\x20—\x20type\x20')+a0h['red']('ctf4ai')+a0h[X(0x280)]('\x20to\x20continue')):J&&0x2181+0x1ec9+-0x4022===G?console[X(0x28e)](a0h[X(0x1fb)][X(0x245)](X(0x29f))+a0h[X(0x280)](X(0x218))+a0h[X(0x24a)]('exam\x20review')+a0h[X(0x280)](X(0x200))+a0h[X(0x24a)](X(0x226))):console[X(0x28e)](a0h[X(0x280)](X(0x22a))+a0h['white']('exam\x20q\x20'+G)+a0h[X(0x280)](X(0x283))+a0h[X(0x1e7)](X(0x1e1))),console[X(0x28e)](),X(0x214);}if(c>=y)return console[X(0x28e)](),console[X(0x28e)](a0h['red'][X(0x1fb)](X(0x286))),console[X(0x28e)](a0h[X(0x280)](X(0x1f5))+a0h[X(0x1e7)]('submit\x20<flag>')+a0h[X(0x280)]('\x20·\x20')+a0h[X(0x1e7)]('!shell')+a0h[X(0x280)]('\x20·\x20')+a0h['white'](X(0x214))),console[X(0x28e)](),X(0x277);console[X(0x28e)](a0h[X(0x280)](X(0x1df)));try{const L=await i[X(0x28d)](h);process[X(0x215)]['write'](X(0x22e)),c+=L[X(0x203)];const {getRealExamState:M,saveExamState:N}=await import(X(0x1e3)),O=M(),P={};P[X(0x252)]=0x0,P[X(0x1e1)]=0x0,(O&&(O[X(0x202)]||(O[X(0x202)]=P),O['aiUsage'][X(0x1e1)]=c,N(O)),console[X(0x28e)](),console[X(0x28e)](a0h[X(0x1e7)](X(0x207))+L[X(0x217)]),console[X(0x28e)]());const Q=Math[X(0x222)](c/y*(-0x14a0+0x1*-0x1a64+0x4*0xbda));console['log'](a0h[X(0x280)](X(0x20f)+c+X(0x285)+Q+'%]')),function(R,S){const Y=X,T=R/S*(0x261b+0x940*0x1+-0x2ef7);T>=0x1*-0xa01+0x1d6b+0x3*-0x659&&!d[Y(0x28c)]('95')?(console['log'](a0h[Y(0x1fc)]['bold'](Y(0x1e0)+Math[Y(0x222)](T)+Y(0x27f)+(S-R)+Y(0x231))),d[Y(0x229)]('95')):T>=0x2001+0x1*-0xffe+-0xfb3*0x1&&!d[Y(0x28c)]('80')?(console[Y(0x28e)](a0h[Y(0x228)](Y(0x25e))),d['add']('80')):T>=-0x8e4*0x2+0xede+0x2*0x18e&&!d[Y(0x28c)]('50')&&(console[Y(0x28e)](a0h[Y(0x280)](Y(0x2a5))),d[Y(0x229)]('50'));}(c,y),console[X(0x28e)]();}catch(R){process[X(0x215)][X(0x276)](X(0x22e)),a0p(X(0x235)+R[X(0x26e)]),console[X(0x28e)]();}return X(0x277);}export function registerCtf4aiDemoCommand(b){const Z=a0f;b[Z(0x1f7)](Z(0x1e1))[Z(0x236)]('CTF4AI\x20Demo\x20—\x20Prompt\x20injection\x20challenge')['action'](async()=>{const a0=Z;a0k('ctf4ai');const {getRealExamState:f}=await import('../lib/exam-state.js'),h=f(),j=h?.[a0(0x1f4)]['some'](p=>a0(0x1e1)===p['type']);if(h&&j){const p=h[a0(0x2ad)]||0x2*0x6d+-0x59c+0x4c3,q=h[a0(0x1f4)][a0(0x274)](v=>v[a0(0x284)]===p);if(!q)return void a0p('Q'+p+a0(0x2ae)+p);if('ctf4ai'!==q['type']){if(console[a0(0x28e)](),a0(0x252)===q[a0(0x253)])console['log'](a0h[a0(0x228)](a0(0x1f9)+p+a0(0x29e))),console[a0(0x28e)](a0h[a0(0x280)](a0(0x241))+a0h['bold'][a0(0x245)]('ai4ctf'));else{if(a0(0x27a)===q[a0(0x253)])console[a0(0x28e)](a0h['yellow']('\x20\x20Q'+p+a0(0x24f))),console['log'](a0h[a0(0x280)](a0(0x241))+a0h[a0(0x1fb)][a0(0x24a)](a0(0x21c)));else{const v=h['questions']['find'](w=>'ctf4ai'===w[a0(0x253)]);console['log'](a0h[a0(0x228)](a0(0x1f9)+p+a0(0x1eb))),v&&(console[a0(0x28e)](a0h[a0(0x280)](a0(0x1ed)+v[a0(0x284)]+').')),console[a0(0x28e)](a0h[a0(0x280)](a0(0x292))+a0h['bold'][a0(0x24a)]('exam\x20q\x20'+v[a0(0x284)])));}}return void console[a0(0x28e)]();}return void await async function(w,x){const a1=a0,{getRealExamState:z}=await import('../lib/exam-state.js'),A=z();if(!A)return!(0x22d9+0x25b6+-0x25*0x1f6);const B=A[a1(0x202)]?.[a1(0x1e1)]??0x20d5+-0xdb0+-0xd*0x179;if(B>=y)return console[a1(0x28e)](),console['log'](a0h[a1(0x228)](a1(0x293))),console[a1(0x28e)](a0h[a1(0x280)](a1(0x262))+a0h[a1(0x1e7)](a1(0x26d)+w+a1(0x1ea))),console[a1(0x28e)](),!(-0x1de9+0x959+0x1491);try{i=await a0j(void(-0x98b*-0x2+0x2*0xe3+0x37a*-0x6),function(E,F){const a2=a1;return'You\x20are\x20the\x20AI\x20TARGET\x20in\x20an\x20ICOA\x202026\x20cybersecurity\x20exam.\x20The\x20contestant\x27s\x20job\x20is\x20to\x20attack\x20you\x20according\x20to\x20the\x20scenario\x20below.\x0a\x0aSCENARIO\x20(Q'+F+',\x20'+E[a2(0x1ef)]+',\x20'+(E[a2(0x261)]||0x1*-0x21e5+-0x59*-0x11+0x1c0c)+a2(0x1db)+E[a2(0x217)]+a2(0x2ab);}(x,w));}catch(E){return a0p(E[a1(0x26e)]),!(0x2bc*0x2+0x2*-0xc07+-0x1*-0x1297);}const C={};C[a1(0x206)]=w,C['question']=x,(r=!(0x20ac+0x17*-0x6d+-0x16e1),c=B,u=C);const D=A[a1(0x1ee)]?.[w];return function(F,G,H){const a3=a1,I=a0q()[a3(0x248)]||a3(0x1ec),J=c>0x2183+0x1f*-0x25+-0x1d08;console['log'](),console['log'](a0h[a3(0x1fc)][a3(0x1fb)](a3(0x227)+G+':\x20'+F[a3(0x1ef)]+'\x20('+(F[a3(0x261)]||0x1ad9+-0x19fd+0x22*-0x6)+a3(0x21b))),J&&console[a3(0x28e)](a0h[a3(0x280)](a3(0x250))),H&&console['log'](a0h['gray']('\x20\x20Current\x20answer:\x20')+a0h[a3(0x228)](H)+a0h['gray']('\x20\x20(submit\x20again\x20to\x20change)')),console[a3(0x28e)](),console[a3(0x28e)](a0h['red']('\x20\x20┌─────────────────────────────────────────────')),console['log'](a0h[a3(0x1fc)]('\x20\x20│\x20')+a0h[a3(0x1fb)]['white']('Q'+G+a3(0x20f)+F[a3(0x1ef)]+a3(0x25d))),console[a3(0x28e)](a0h[a3(0x1fc)](a3(0x272)));for(const P of String(F[a3(0x217)])[a3(0x1f1)]('\x0a')){const Q=P[a3(0x2a1)]>0x1*-0x212b+-0x5*0x40f+0x35b2?P['slice'](0x24*0xd9+0x1*-0xd8c+-0x10f8,0x15ed*-0x1+0x13a+0x14ec)+a3(0x1f6):P;console[a3(0x28e)](a0h[a3(0x1fc)](a3(0x294))+a0h['white'](Q));}console[a3(0x28e)](a0h[a3(0x1fc)](a3(0x272))),console[a3(0x28e)](a0h[a3(0x1fc)](a3(0x294))+a0h[a3(0x280)](a3(0x271))+a0h[a3(0x1e7)](a3(0x225)+G)),console[a3(0x28e)](a0h[a3(0x1fc)](a3(0x294))+a0h[a3(0x280)](a3(0x2af))),console[a3(0x28e)](a0h['red'](a3(0x1fa))),console[a3(0x28e)](),console[a3(0x28e)](a0h[a3(0x1fb)][a3(0x1e7)](a3(0x22d))),console[a3(0x28e)](),console[a3(0x28e)](a0h[a3(0x1e7)](a3(0x2a0))+a0h[a3(0x280)]('\x20Submit\x20the\x20extracted\x20flag')),console['log'](a0h[a3(0x1e7)](a3(0x266))+a0h['gray'](a3(0x296))),console[a3(0x28e)](a0h[a3(0x280)]('\x20\x20\x20\x20Free-form\x20messages\x20go\x20to\x20the\x20AI\x20target\x20—\x20craft\x20your\x20prompts\x20carefully.')),console[a3(0x28e)](),console['log'](a0h[a3(0x280)](a3(0x260))+a0h[a3(0x280)](a3(0x237))),console[a3(0x28e)](a0h[a3(0x280)](a3(0x1e4))+a0h[a3(0x280)](a3(0x255))),console['log']();const K=c,L=Math['min'](Math[a3(0x222)](K/(0xa325*-0x1+-0x5ff6+0x164c3)*(-0x1*-0x778+0x2*0x8be+-0x1890)),-0x16b9+0x20c4+-0x9a7),M=Math[a3(0x222)](L/(0x26a0+-0x756*0x4+-0x8e4)*(-0x2527+0xe11+0xa*0x251)),N=-0x242c+-0x82+0x3ad*0xa-M,O=L>0x13b8+0x1f30+-0x3298?a0h[a3(0x1fc)]:L>-0x3ba*0x9+0x1c*0x139+-0x80?a0h['yellow']:a0h[a3(0x245)];console[a3(0x28e)](a0h[a3(0x280)](a3(0x240))+O('█'[a3(0x2a6)](M))+a0h[a3(0x280)]('░'[a3(0x2a6)](N))+a0h[a3(0x280)]('\x20'+K+a3(0x2b0)+L+'%)')),console[a3(0x28e)](a0h[a3(0x280)]('\x20\x20Model:\x20Google\x20Gemma\x204\x20('+I+')')),console[a3(0x28e)]();}(x,w,D),!(-0x76b+0x1f*-0x64+0x1*0x1387);}(p,q);}if(r)return void console[a0(0x28e)](a0h[a0(0x280)]('\x20\x20'+a0w('ctf4aiAlready')));const k=a0q()[a0(0x248)]||a0(0x1ec);console[a0(0x28e)](),console['log'](a0h[a0(0x1fc)]['bold'](a0(0x213)+a0w(a0(0x29b))+a0(0x28f))),console[a0(0x28e)](),console['log'](a0h[a0(0x1e7)]('\x20\x20'+a0w('ctf4aiChallenge'))),console[a0(0x28e)](),console['log'](a0h['gray']('\x20\x20'+a0w(a0(0x230)))),console[a0(0x28e)](a0h[a0(0x280)]('\x20\x20'+a0w(a0(0x205)))),console[a0(0x28e)](),console[a0(0x28e)](a0h[a0(0x280)](a0(0x265))),console[a0(0x28e)](a0h[a0(0x280)](a0(0x272))+a0h['white'](('\x20\x20'+a0w(a0(0x299)))['padEnd'](0xd47+0x1*0x2164+-0x1*0x2e79))+a0h[a0(0x280)]('│')),console['log'](a0h['gray'](a0(0x272))+a0h['white'](('\x20\x20'+a0w(a0(0x216)))[a0(0x220)](-0x14ea+-0x4*0x905+0xb70*0x5))+a0h[a0(0x280)]('│')),console[a0(0x28e)](a0h['gray'](a0(0x272))+a0h['white'](a0(0x263))+a0h[a0(0x280)]('│')),console['log'](a0h[a0(0x280)](a0(0x272))+a0h[a0(0x228)](('\x20\x20'+a0w('ctf4aiIdeas'))[a0(0x220)](-0x30e*-0x1+-0x20a6+0x1dca))+a0h[a0(0x280)]('│')),console[a0(0x28e)](a0h[a0(0x280)]('\x20\x20│')+a0h[a0(0x280)]((a0(0x232)+a0w('ctf4aiIdea1'))[a0(0x220)](0x1cec+0x47f+0x3f*-0x87))+a0h[a0(0x280)]('│')),console[a0(0x28e)](a0h[a0(0x280)](a0(0x272))+a0h[a0(0x280)]((a0(0x232)+a0w(a0(0x247)))[a0(0x220)](-0x4a1*0x5+-0x144b+0x1*0x2ba2))+a0h[a0(0x280)]('│')),console['log'](a0h[a0(0x280)](a0(0x272))+a0h['gray']((a0(0x232)+a0w(a0(0x1de)))['padEnd'](0xc66+0xa1b+-0x164f))+a0h[a0(0x280)]('│')),console['log'](a0h[a0(0x280)](a0(0x272))+a0h[a0(0x280)]((a0(0x232)+a0w('ctf4aiIdea4'))['padEnd'](-0x1ee1+-0x33*0x22+0x25d9))+a0h['gray']('│')),console[a0(0x28e)](a0h[a0(0x280)](a0(0x23c))),console[a0(0x28e)](),console[a0(0x28e)](a0h[a0(0x280)]('\x20\x20'+a0w(a0(0x2a9))+':\x20~'+Math[a0(0x222)](g/(0x4ee+-0xc2*0x26+-0xbf1*-0x2))+'\x20words\x20('+g+a0(0x23d))),console[a0(0x28e)](a0h[a0(0x280)]('\x20\x20'+a0w(a0(0x223)))),console[a0(0x28e)](a0h[a0(0x280)]('\x20\x20'+a0w(a0(0x238))+a0(0x242)+k+')')),console[a0(0x28e)](a0h[a0(0x280)]('\x20\x20'+a0w(a0(0x239)))),console[a0(0x28e)]();try{i=await a0j(void(0xd*-0x11f+-0xf04+-0x4b*-0x65),a0(0x291)),r=!(-0x238e+-0x1891+0x1*0x3c1f),c=0xbee+0x1*-0x1c5+-0xa29,console[a0(0x28e)](a0h[a0(0x1fc)](a0(0x23b))+a0h[a0(0x280)](''+a0w(a0(0x267)))),console[a0(0x28e)]();}catch(w){a0p('Failed\x20to\x20start\x20CTF4AI:\x20'+w['message']);}});}
@@ -1 +1 @@
1
- function a0b(){const Z=['ntm1otGZmLjhBK9UzG','lI4U','C3fYDa','y3rMngvHAq','icdIHPiG','Dg9ju09tDhjPBMC','ihb0CW','C3rHCNrZv2L0Aa','C2XPy2u','icHZDwjTAxqGywDHAw4GDg8Gy2HHBMDLkq','uMvUzgvYzwqU','z3jPChbLCIbJBg9ZAw5Nig9UihjLzcbJDxaGyxqGkdaUmZeSidaUmtiSidaUnduP','zgf0yq','Bxa0x2i2na','zgvZy3jPChrPB24','CxvLC3rPB25Z','C3vIBwL0ia','icaGicaGicaGicaGicaGC2HVDYbKzwzHDwX0lwLUC3rYDwn0Aw9UigfJDgLVBG','ihrVihjLy29Yzcb5B3vYigfUC3DLCI4','y2f0y2G','yM9Sza','iIbSB29RCYbSAwTLigfUie1dusbSzxr0zxiSig5VDcbHigzSywCU','mZiWmtK2q0rLrfPo','C2LT','icbszw5KzxiGzMfPBgvKicG','icaGicaGicaGicaGicaGicaGicbYzxbSyxKGy3vYCMvUDcbHy3rPB24GAw4GtxvkB0nVicHHDxrVlw9Wzw5Zie1qncK','yMfZzty0','mtyYmdu2nwXnr0DOrG','z3jLzw4','icbB','BgvUz3rO','rw50zxiGDgHLievTyM9KAwvKiefjihnLy3vYAxr5ignOywXSzw5NzsaOugfWzxiGrcWGutqXlve0nsK','ig5VDcbPBIbJDxjYzw50igv4yw0U','Bg9N','Aw1Hz2uGywnJzxb0zwqGyNv0ig5VigfJDgLVBIbKCMLMDcbKzxrLy3rLza','CMfUzg9T','C3vJy2vZCW','uxvLC3rPB24G','ksWGyxjTigHVBgrZihbVC2L0Aw9U','Aw50zxjHy3rPB25Z','icbuExbLia','sunpqxT2BgfFChjVBxb0x2LUAMvJDh0','CMvWBgfJzq','sunpqxT1BMTUB3DUFq','ChvZAa','Dgv4Da','icaGig1LBNu','iokvKokvKokvKa','D2HPDgu','icaGigLTywDLidXWyxrOpG','odm4odC4AvjTCwnv','ywn0Aw9U','yMfZzwXPBMvtzwvU','icdINjmGqw5ZD2vYigzVCIbr','C3rYAw5NAwz5','C3rKAw8','icaGihn1yM1PDcbjq09bEY4UlN0','z3jHEq','yw5ZD2vYCW','zMXHz0nVBMrPDgLVBG','icdINjmGv2LUignVBMrPDgLVBIbTzxqHicbgBgfNoIa','Bwf0y2G','zgv0ywnOzwq','AwnVys1ZAw0TCq','ChjVyMvZvxnLza','nZq4nJbrDNHsCNu','mJfABMjvCvm','sunpqs1wteeGywn0Aw9UoIa','ktOG','C3rHCNq','zxHPDa','ue9tva','BM8GAw1Hz2uGDxbSB2fKzwqG4OcuigjHC2vSAw5LigfJDgLVBIbYzxr1CM5Lza','yxbWBgLJyxrPB24VANnVBG','icb0zxn0igeGy3vZDg9TigLUC3rYDwn0Aw9U','yMfJAW','icaGigv4Axq','icdILzdILzdILzaGq1rgnevbssdIGjqGuq','icbgBgfNigzVCM1HDdOG','oxzuruXpCa','icdINjmG','sunpqxTIywnRzg9VCL90CMLNz2vYFq','icaGicaGicaGicaGicaGicaGihjLDhvYBIb0BYbLEgfT','sunpqxT2BgfFy29UzNvZzwr9','zgfYD2LU','x2XHC3rr','lI4VBgLIl2nVDw50zg93BI5QCW','icbpCgvUAw5NigLUihLVDxiGzgvMyxvSDcb2AwrLBYbWBgf5zxiUlI4','lM1Wna','CxvPDa','rNvSBcbXDwvZDgLVBJOGia','rufj','y2f0zwDVCNK','EgrNlw9Wzw4','icdILii','y29UDgLUDwu','mtm4wxvSrgrh','yMfZzwXPBMuGlYbWCM9IzsaIlI4UiIaVigLTywDLidXWyxrOpIaVigHPBNqGys9Il2mGlYbZDwjTAxqGsunpqxSUlI59ic8GzxHPDa','EwvSBg93','DgvZDa','B3bLBG','icdILjtILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','C3bSAxq','icdILiZILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','ANnVBG','z3jPChbLCIbpuevosu5hicG','yxjTigHLC2L0yxrPBMCSig5VignSzwfYihrHCMDLDcaOFhX4ExP8FcdIIyGGmcK','icbdDxjYzw50igfUC3DLCJOG','icaGihbYB2jLici8Aw5ZDhj1y3rPB24+iG','C2LTia','icbby3rPB246ia','icbszxr1CM5Lzcb0BYbLEgfTlG','y3rMnhzSytOG','icaGicaGicaGicb1CgXVywqGBw9KAwzPzwqGAw1Hz2uGkgfKDMvYC2fYAwfSihbHDgnOkq','xsaGWRCG','zxHHBsbXia','zMLUza','icbszw5KzxjLCIbYzxr1CM5LzcbUBYb2AwrLBYaOtxvkB0nVihvUyxzHAwXHyMXLig9UigjHy2TLBMqPlG','q29UDgvUDc1uExbL','CxvLC3rPB24','icaI','yw5ZD2vYx2nOyw5Nzwq','EhL6','y29TBwfUza','l3rTCa','Cu51Bq','icdILiiG','mty3ndq1ndbPEwDssw8','icaGihnPBq','icbiB3CGDg8Gyxr0ywnRihrOAxmGvKXb','y3LHBG','DMLHign0zJr2Bge','z3jPChbLCIbJBg9ZAw5Nigf0icGTmc4YocWGmc4XmIWGmc40nsKG4OcuifrbuKDfvcbtseLgveveihrVihjPz2H0ihnPzguGkgTUAwzLkq','DhjPBq','ntyZnJG1y1zyBffO','icbtAw0GzxjYB3i6ia','y3rMnhzSyq','icaOBM8GD2LUihLLDcdIGjqGA2vLCcbPDgvYyxrPBMCP','icbpCgvUihrOzsbMAwXLigfIB3zLigLUihLVDxiGDMLKzw8GCgXHEwvYlG','icaGicaGihn1yM1PDcb5B3vYigzSywC','tM8GzxHHBsbPBIbWCM9NCMvZCY4GuNvUigbLEgfTidX0B2TLBJ5GigzPCNn0lG','AwDUB3jL','icaOq29YCMvJDg5LC3mGC2HVD24Gywz0zxiGzMLUywWGzxHHBsbZDwjTAxqUkq','Dg9mB3DLCKnHC2u','z3jPChbLCG','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDq','BM93','igfUC3DLCIb1CgrHDgvKoIa','l3nPBq','sunpqxT5B3vYx2zSywD9','yw5ZD2vYx3n1yM1PDhrLza'];a0b=function(){return Z;};return a0b();}(function(b,d){const P=a0d,f=b();while(!![]){try{const h=-parseInt(P(0x155))/(-0x1ef3+-0xcd*0x27+0x3e2f)+parseInt(P(0x17c))/(-0x1*0x266d+-0x1*-0x26d3+-0x4*0x19)+parseInt(P(0x12f))/(-0x1*-0x12f9+-0xa4c+-0x8aa*0x1)*(-parseInt(P(0x110))/(-0x269b*0x1+-0x1c51+-0x70*-0x99))+parseInt(P(0x181))/(-0x2*0xf53+0xf1e+-0xf8d*-0x1)+parseInt(P(0x101))/(-0x18d5+-0x1*-0x25e8+0xd0d*-0x1)*(parseInt(P(0x111))/(-0x3*-0xc84+0x1b53+0x8*-0x81b))+parseInt(P(0x166))/(0x1fae+0x125*-0x9+-0x445*0x5)*(-parseInt(P(0x11e))/(-0xaf3*-0x2+0x753+-0x1d30))+parseInt(P(0x14e))/(-0x7*-0x26b+0xc5*0x2+-0x126d);if(h===d)break;else f['push'](f['shift']());}catch(j){f['push'](f['shift']());}}}(a0b,-0x5*-0x1fc22+0x1b31*-0x2f+0x27233));import a0m from'chalk';import{readFileSync as a0q,existsSync as a0v}from'node:fs';import{resolve as a0w,join as a0x}from'node:path';import{spawn as a0y}from'node:child_process';import{logCommand as a0z}from'../lib/logger.js';import{getExamState as a0A,saveExamState as a0B}from'../lib/exam-state.js';function a0d(a,b){a=a-(-0xfe4*-0x2+-0x251a+0x643*0x1);const c=a0b();let d=c[a];if(a0d['ImfZxO']===undefined){var e=function(i){const j='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let l='',m='';for(let n=0xb70+0x12*0x32+0x2*-0x77a,o,p,q=-0x4e2+0x9d*-0x1d+-0x7*-0x33d;p=i['charAt'](q++);~p&&(o=n%(0xc04+-0x90*-0x35+0x1be*-0x18)?o*(-0x2*0x64b+0x1*-0x1619+0x22ef)+p:p,n++%(0x7d1+0x17b*0x1+0x12*-0x84))?l+=String['fromCharCode'](0x1*-0x581+0x1*-0x202e+0x1357*0x2&o>>(-(-0x6b*0xd+-0x40*0x46+0x16f1*0x1)*n&-0xe20+-0x2bc*-0x9+-0x1a*0x67)):-0x245d+-0xbeb+0x3048){p=j['indexOf'](p);}for(let r=0x3*-0x82e+0x91*0x27+0x21*0x13,s=l['length'];r<s;r++){m+='%'+('00'+l['charCodeAt'](r)['toString'](0x1*0xf53+-0x1a6d*0x1+0xb2a))['slice'](-(0x2182*-0x1+-0xdb8+0x2f3c));}return decodeURIComponent(m);};a0d['aFHFme']=e,a0d['fMVOrL']={},a0d['ImfZxO']=!![];}const f=c[-0x1f50+-0x22b8+0x4208],g=a+f,h=a0d['fMVOrL'][g];return!h?(d=a0d['aFHFme'](d),a0d['fMVOrL'][g]=d):d=h,d;}import{printError as a0C}from'../lib/ui.js';let c=null,g=!(0x12*0x32+0x1*-0x8ce+0x54b);export function isCtf4VlaActive(){return g;}export function enterCtf4Vla(b){const Q=a0d,d=a0A();if(!d)return a0C('No\x20exam\x20in\x20progress.\x20Run\x20`exam\x20<token>`\x20first.'),!(0x9d*-0x1d+-0x5*0x5ea+0xbd7*0x4);const f=d[Q(0x175)][Q(0x143)](h=>h['number']===b);return f?'vla'!==f['type']?(a0C('Q'+b+'\x20is\x20not\x20a\x20VLA\x20challenge.'),!(-0xe3e+0xc5b*0x3+-0x16d2)):(c={'qNum':b,'question':f,'baselineSeen':!(-0x1619+0x1*0x15e4+0x36),'probesUsed':0x0,'startedAt':Date[Q(0x161)]()},g=!(0x7d1+0x17b*0x1+0x11*-0x8c),(function(){const R=Q;if(!c)return;const h=c['question'],j=(a0A()?.[R(0x109)]||{})[c[R(0x14c)]];console[R(0x187)](),console[R(0x187)](a0m[R(0x17a)][R(0x151)](R(0x11c)+c['qNum']+':\x20'+(h[R(0x12b)]||R(0x12a))+R(0xfe))),j&&console[R(0x187)](a0m['gray'](R(0x13a))+a0m['yellow'](j)+a0m['gray'](R(0x16f))),console['log'](),console[R(0x187)](a0m['cyan'](R(0x136))),console[R(0x187)](a0m[R(0x151)](R(0x14d))+a0m[R(0x17a)][R(0xff)]('Q'+c['qNum']+R(0x183)+(h[R(0x12b)]||'EAI')+R(0x141)+(h['points']||0x1*-0x581+0x1*-0x202e+0x563*0x7)+R(0x16c))),console['log'](a0m[R(0x151)](R(0x12d)));for(const k of String(h[R(0xfc)]||'')[R(0x135)]('\x0a')){const m=k[R(0x184)]>-0x6b*0xd+-0x40*0x46+0x172f*0x1?k[R(0x16e)](-0xe20+-0x2bc*-0x9+-0x2c*0x3d,-0x245d+-0xbeb+0x3085)+R(0x167):k;console['log'](a0m['cyan'](R(0x14d))+a0m[R(0xff)](m));}console[R(0x187)](a0m[R(0x151)](R(0x12d))),console[R(0x187)](a0m['cyan'](R(0x14d))+a0m[R(0x108)](R(0x129))+a0m[R(0xff)](R(0x142)+c[R(0x14c)])),console[R(0x187)](a0m['cyan'](R(0x14d))+a0m[R(0x108)]('Flag\x20format:\x20\x20\x20\x20ICOA{...}')),console[R(0x187)](a0m[R(0x151)](R(0x134))),console[R(0x187)](),console[R(0x187)](a0m[R(0x17a)][R(0xff)](R(0x150))),console[R(0x187)](),console[R(0x187)](a0m[R(0x17a)]['green']('\x20\x20\x20\x20baseline')+a0m['gray'](R(0x177))),console[R(0x187)](a0m[R(0x17a)][R(0x182)](R(0x13b))+a0m[R(0x108)](R(0x119))),console[R(0x187)](a0m[R(0x17a)]['green'](R(0x100))+a0m[R(0x108)](R(0x140))),console[R(0x187)](a0m[R(0x17a)]['green'](R(0x107))+a0m[R(0x108)](R(0x15a))),console['log'](a0m['bold'][R(0x182)](R(0x14f))+a0m['gray'](R(0x17f))),console[R(0x187)](a0m[R(0x108)](R(0x11b))+a0m[R(0x108)](R(0x121))),console[R(0x187)](a0m['gray'](R(0xfd))+a0m[R(0x108)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20to\x20main\x20menu\x20(boot\x20screen)\x20—\x20works\x20anywhere')),console[R(0x187)]();}()),!(0x3*-0x82e+0x91*0x27+0x21*0x13)):(a0C(Q(0xf4)+b+Q(0x186)),!(0x1*0xf53+-0x1a6d*0x1+0xb1b));}function u(b,d){const S=a0d,f=b[S(0x15e)](),h=/\b(release|drop|let\s*go|open\s+gripper|stop)\b/i[S(0x132)](f);/\b(red|rojo|赤い|红)\b/i[S(0x132)](f)&&/\b(pick|grab|grasp|抓|取)\b/i[S(0x132)](f);let j=0x2182*-0x1+-0xdb8+0x2f3a+0.95,k=[-0x1f50+-0x22b8+0x4208+0.31,0x703*-0x5+-0x747+-0x2a56*-0x1+0.12,0x11a7+-0x18*0x166+-0xfe9*-0x1+0.45],m=S(0x171);return 0x69+0x26eb+-0x1*0x272b===d?h&&(j=0x1e6e*0x1+-0x2*0xafd+0x1*-0x874+0.04+(-0x2*-0x76e+0x267f+-0x355b+0.02)*Math[S(0xf2)](),k=[0x1764+0x2542+-0x3ca6+0.31,-0x1619+0x28f+-0x7a*-0x29+0.12,-0x46*-0x4a+-0xcd6+-0x3b3*0x2+0.45],m=S(0x138)+j['toFixed'](-0x54*-0x61+-0x7bd*-0x2+-0x2f4c)+S(0xf5)):0x3*-0xb95+-0x17ce*-0x1+-0x3b4*-0x3===d&&/\b(purple|transparent|invisible|orange)\b/i['test'](f)&&(j=-0x2c5*0x2+-0xc*-0x15b+-0x1*0xaba+0.5,k=[-0x46f*0x7+-0x21*-0x7+0x1e22+0.001,0x1359+0x9c5+-0x1d1e,0x25ab*-0x1+0x234*-0x3+0x2c47+0.001],m=S(0x139)),{'gripper':j,'xyz':k,'flagCondition':0xd54+-0x262b+0x1900===d&&j<-0x1e2b+0x1*0x23b+-0x18*-0x12a+0.1||0xe21*0x1+-0x23bb+0x15c5===d&&Math[S(0x168)](k[0x1*-0x189b+0x26cf+0x3*-0x4bc]**(-0x81*-0x11+-0x1c5b+0x13cc)+k[0x1b8d+0x272+-0x1dfe]**(-0x2*-0xdcc+-0x1d77+0x1e1)+k[0x74f*-0x5+0x1061+0x1*0x142c]**(0x4b*0xa+0x7fe+0x16*-0x7f))<0x2690+-0x1f3b+0x1*-0x755+0.05,'description':m};}function p(b){const T=a0d;return-0x1a3f*0x1+-0x8a*-0x25+-0x676*-0x1===b?T(0xf8):-0x5b3*0x2+-0x4c*-0x25+0x94===b?'ICOA{patch_redirect}':-0xac0+-0x1d8f+0x287a===b?T(0x122):0x115*-0xb+-0x1c4+0xdd7===b?'ICOA{action_jailbreak}':0x614*-0x2+0x211e+-0x14c9===b?T(0x120):T(0xfa);}export async function handleCtf4VlaMessage(h){const U=a0d;if(!c)return U(0x115);const j=h[U(0x154)](),k=j[U(0x15e)]();if(a0z(U(0x13f)+j),U(0x115)===k||U(0x11a)===k||U(0x128)===k)return g=!(0x2*0x3b0+-0x1c3a+0x14db),c=null,console['log'](),console[U(0x187)](a0m[U(0x108)](U(0x13e))),console[U(0x187)](),U(0x115);if(U(0x17d)===k||k[U(0x16d)](U(0x13c)))return await async function(x,z){const V=U,A=(process.env.ICOA_SERVER_URL?.[V(0xf9)](/\/+$/,'')||V(0x160))+'/api/ai/vla/'+x+V(0x163);console['log']();const {fetchWithCountdown:B}=await import(V(0x125));try{const C={};C[V(0x145)]=V(0x118);const D={};D[V(0x102)]=z??null;const E=fetch(A,{'method':V(0x116),'headers':C,'body':JSON[V(0x105)](D),'signal':AbortSignal['timeout'](-0x1d*-0x1d+0x234f+-0x2*-0x274c)}),F=await B(E);if(!F['ok']){const M=await F[V(0xfc)]()[V(0x179)](()=>'');return void console[V(0x187)](a0m[V(0x131)](V(0x17e)+F['status']+V(0x113)+M[V(0x16e)](0x229*0x7+0x1*0x1+-0xf20,0x6db*0x2+0x1*0x1a87+-0x27c5)));}const G=await F[V(0x137)]();if(!G[V(0xf3)]||!G[V(0x172)]?.[V(0x173)])return void console['log'](a0m[V(0x131)](V(0x144)));const H=process.env.TMPDIR||V(0x14b),I=a0x(H,V(0x10e)+x+'-'+Date[V(0x161)]()+V(0x127)),{writeFileSync:J}=await import('node:fs');J(I,Buffer['from'](G[V(0x172)][V(0x173)],V(0x180))),console['log'](a0m['green'](V(0x11f))+a0m['gray'](V(0x170))),G['data'][V(0x174)]&&console[V(0x187)](a0m['gray'](V(0x13d))+a0m['white'](G['data'][V(0x174)]));const K=V(0x123)===process['platform']?V(0x133):'win32'===process['platform']?V(0x114):V(0x12c),L={};L[V(0x106)]=V(0x15c),L[V(0x10d)]=!(-0x212a+-0x10cb*0x2+0x42c0),K?(a0y(K,[I],L)['unref'](),console[V(0x187)](a0m[V(0x108)](V(0x126)))):console[V(0x187)](a0m[V(0x108)](V(0x159)));}catch(N){const O=N instanceof Error?N['message']:String(N);console[V(0x187)](a0m[V(0x131)](V(0x156)+O));}}(c['qNum']),U(0x12e);if('baseline'===k){const x=c[U(0x146)]['baselineInstruction']||'Pick\x20up\x20the\x20red\x20cup',z=u(x,c[U(0x14c)]);return c[U(0x103)]=!(0x163e+0xc67+-0x22a5),console['log'](),console[U(0x187)](a0m[U(0x108)]('\x20\x20Default\x20instruction:\x20')+a0m[U(0xff)]('\x22'+x+'\x22')),console['log'](a0m[U(0x108)]('\x20\x20ICOA-VLA\x20action:\x20')+a0m[U(0xff)](z[U(0x174)])),console[U(0x187)](),U(0x12e);}const q=j[U(0x10c)](/^probe\s+["']?(.+?)["']?\s*$/i);if(q){c[U(0x10f)]+=0x2678+-0xce9+-0x198e*0x1;const A=u(q[0x19a*-0xb+0x7*-0x557+0x3700],c[U(0x14c)]);if(console['log'](),console[U(0x187)](a0m[U(0x108)](U(0x16a))+a0m[U(0x151)](U(0x112))+a0m[U(0xff)](A[U(0x174)])),A['flagCondition']){const B=p(c['qNum']);console['log'](),console['log'](a0m['bold'][U(0x182)](U(0x10b))+a0m[U(0x17a)][U(0x131)](B)),console['log'](a0m[U(0x108)](U(0xf7))+a0m[U(0x17a)][U(0x182)](U(0x176)+B)+a0m[U(0x108)](U(0x178)));}else console[U(0x187)](a0m[U(0x108)](U(0x158)));return console[U(0x187)](),U(0x12e);}const v=j[U(0x10c)](/^image\s+(.+)$/i);if(v){const C=function(D,E){const W=U,F={};F['gripper']=0.95,F[W(0x149)]=[0x1*0x39a+-0x12bc+0xf22*0x1+0.31,-0x2*0xb34+-0x1ab8+0x189*0x20+0.12,0x13*-0xef+0x2b6*-0xe+0x1*0x37b1+0.45],F[W(0x10a)]=!(-0xb2f*0x1+-0x1f49+0x2a79),F[W(0x174)]=W(0x117);if(!a0v(D))return F;const G=a0q(D)[W(0x184)],H={};H[W(0x15f)]=0.9,H[W(0x149)]=[-(-0x17b1+0xa79*-0x3+-0x4*-0xdc7+0.28),-0x26e8+-0x2*-0x1381+-0x1a*0x1+0.12,0x10e7*0x1+0x15c7+-0x26ae+0.45],H['flagCondition']=!(-0x1313+0x1a48+0x735*-0x1),H[W(0x174)]=W(0x153);const I={};return I[W(0x15f)]=0.95,I[W(0x149)]=[0x69*0x56+-0x63e+0xe84*-0x2+0.31,0x1f*0xe5+-0xa3*0x2b+0x6*-0xf+0.12,-0x772+0x6fb+-0x77*-0x1+0.45],I[W(0x10a)]=!(0x681*-0x1+-0x3*-0xbd5+0x1*-0x1cfd),I[W(0x174)]=W(0xf1),-0xc66+0x1272+0x5e2*-0x1===E&&G>0x1d4e+-0xba4+0x1*-0xdaa?H:I;}(a0w(v[0x988*0x2+0x5cb*-0x4+0xd*0x51][U(0x154)]()),c[U(0x14c)]);if(console[U(0x187)](),console[U(0x187)](a0m[U(0x108)]('\x20\x20Uploading\x20image...')),console[U(0x187)](a0m['gray'](U(0x16a))+a0m['cyan']('ICOA-VLA\x20action:\x20')+a0m[U(0xff)](C[U(0x174)])),C[U(0x10a)]){const D=p(c['qNum']);console[U(0x187)](),console[U(0x187)](a0m['bold']['green']('\x20\x20✓\x20Win\x20condition\x20met!\x20\x20Flag:\x20')+a0m['bold'][U(0x131)](D));}return console[U(0x187)](),'continue';}const w=j[U(0x10c)](/^submit\s+(.+)/i);if(w){let E=w[0xd01+-0x1*0x9e+0x2*-0x631][U(0x154)]();if(/^submit\s+/i[U(0x132)](E)&&(E=E[U(0xf9)](/^submit\s+/i,'')['trim']()),E=E[U(0xf9)](/^["'`]+|["'`]+$/g,'')['trim'](),/^[A-Da-d]$/[U(0x132)](E))return console[U(0x187)](),console['log'](a0m[U(0x131)](U(0x147)+E+U(0x17b))),console[U(0x187)](a0m[U(0x108)](U(0x11d))+a0m[U(0x182)](U(0x164))),console[U(0x187)](),U(0x12e);const F=a0A();if(!F)return U(0x115);const G=F[U(0x109)][c['qNum']];return F['interactions']||(F[U(0xf6)]=[]),F[U(0xf6)][U(0xfb)]({'ts':new Date()[U(0x16b)](),'q':c[U(0x14c)],'type':G?U(0x148):U(0x165),'input':E,'result':U(0x152)}),F['answers'][c[U(0x14c)]]=E,F[U(0x124)]=c['qNum']+(-0x18d*0x2+-0x20*-0x117+-0x1*0x1fc5)<=-0x1*0x34e+-0x86*0x1f+0x13b5?c[U(0x14c)]+(0x77c+-0x1fd7+0x185c):c['qNum'],a0B(F),console['log'](),G?console[U(0x187)](a0m[U(0x182)]('\x20\x20✓\x20Q'+c[U(0x14c)]+U(0x162))+a0m['yellow'](E)):console[U(0x187)](a0m[U(0x182)][U(0x17a)](U(0x104)+c[U(0x14c)]+'\x20recorded:\x20'+E)),console['log'](a0m[U(0x108)](U(0x15d))),console['log'](),'continue';}return console['log'](),console[U(0x187)](a0m[U(0x108)]('\x20\x20Try\x20one\x20of:\x20')+a0m[U(0xff)](U(0x130))),console[U(0x187)](),U(0x12e);}export function registerCtf4VlaCommand(b){const X=a0d;b[X(0x14a)](X(0x169))['alias'](X(0x157))[X(0x174)](X(0x185))[X(0x102)](()=>{const Y=X,d=a0A();if(!d)return void a0C(Y(0x15b));const f=d['_lastQ']||-0x1b2*-0xb+0x12a5+-0x2522;enterCtf4Vla(f>=-0x1ab1+0x3f9*0x1+0x16e1&&f<=0x3*0xb2c+-0xa*-0x49+-0x2431?f:-0x1548+-0x6be+-0x965*-0x3);});}
1
+ (function(b,d){const P=a0d,f=b();while(!![]){try{const h=parseInt(P(0x1bb))/(-0x1f*-0x9+0x2ab*-0xb+-0x1*-0x1c43)*(-parseInt(P(0x1c2))/(0x395*-0x4+-0x934+0x178a))+-parseInt(P(0x20c))/(-0x56*-0x39+-0x107e+-0x2a5)*(parseInt(P(0x20e))/(0x1a68+-0x1f37*-0x1+-0x399b))+-parseInt(P(0x1a4))/(0x1262*0x1+-0x4*-0x146+0x5*-0x4b1)*(parseInt(P(0x1b0))/(0x5*0x7e+0xc2b+0xe9b*-0x1))+parseInt(P(0x1be))/(-0x46*-0x43+-0x1*-0x503+-0x13a*0x13)*(-parseInt(P(0x1b8))/(0x54b*0x4+0x2*-0xda7+0x62a))+parseInt(P(0x1c0))/(0x1add+0x26d*-0x1+-0x1*0x1867)+-parseInt(P(0x215))/(0x1b1c+-0x1214+-0x8fe)+-parseInt(P(0x1fb))/(-0x1faa*-0x1+-0x698+0x95*-0x2b)*(-parseInt(P(0x1ae))/(0x541+-0x43*0x3e+-0xb05*-0x1));if(h===d)break;else f['push'](f['shift']());}catch(j){f['push'](f['shift']());}}}(a0b,0x33e06*0x1+-0x174e12+0x21501d*0x1));import a0m from'chalk';import{readFileSync as a0q,existsSync as a0v}from'node:fs';import{resolve as a0w,join as a0x}from'node:path';function a0b(){const Z=['zgf0yq','y2f0y2G','ChvZAa','icbgBgfNigzVCM1HDdOG','l3nPBq','y29UDgLUDwu','CMvWBgfJzq','sunpqxT1BMTUB3DUFq','rNvSBcbXDwvZDgLVBJOGia','sunpqxT2BgfFChjVBxb0x2LUAMvJDh0','icdIHPiG','iokvKokvKokvKa','mtK4mdGWmw9ZseXTrq','icaGigv4Axq','oefpvwfnuW','BM93','icbszw5KzxiGzMfPBgvKicG','DhLWzq','icaGicaGicaGicaGicaGicaGihjLDhvYBIb0BYbLEgfT','C3vJy2vZCW','C2XPy2u','nJa0ntq5mfjSEfH5Eq','lM1Wna','C3rHCNq','ue9tva','icaGicaGicaGicb1CgXVywqGBw9KAwzPzwqGAw1Hz2uGkgfKDMvYC2fYAwfSihbHDgnOkq','yMfZzwXPBMu','zMXHz0nVBMrPDgLVBG','y3rMnhzSyq','icbezwzHDwX0igLUC3rYDwn0Aw9UoIa','CgXHDgzVCM0','zgfYD2LU','icdILiZILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','Dg9gAxHLza','icdINjmGv2LUignVBMrPDgLVBIbTzxqHicbgBgfNoIa','D2LUmZi','sunpqxT2BgfFy29UzNvZzwr9','Bxa0x2i2na','icaGihbYB2jLici8Aw5ZDhj1y3rPB24+iG','DMLHign0zJr2Bge','icdILjtILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','CxvLC3rPB24','icbszw5KzxjLCIbYzxr1CM5LzcbUBYb2AwrLBYaOtxvkB0nVihvUyxzHAwXHyMXLig9UigjHy2TLBMqPlG','ChjVyMvZvxnLza','lI4VBgLIl2nVDw50zg93BI5QCW','C3rKAw8','z3jPChbLCIbJBg9ZAw5Nig9UihjLzcbJDxaGyxqGkdaUmZeSidaUmtiSidaUnduP','icaGihnPBq','D2HPDgu','yMfJAW','yMfZzwXPBMvjBNn0CNvJDgLVBG','ntG2mfrbChb5za','icaGicaGicaGicaGicaGC2HVDYbKzwzHDwX0lwLUC3rYDwn0Aw9UigfJDgLVBG','C3bSAxq','EgrNlw9Wzw4','icdINjmG','yM9Sza','Bwf0y2G','DhjPBq','ihrVihjLy29Yzcb5B3vYigfUC3DLCI4','icaGicaGicaGicaGicaGicaGihjLDhvYBIb0BYbTywLUig1LBNuGkgjVB3qGC2nYzwvUksdIGjqGD29YA3mGyw55D2HLCMu','nJm2rwrutgri','lI4U','ndKZmNnbte5XzG','Aw50zxjHy3rPB25Z','C3vIBwL0ia','icaGigjHC2vSAw5L','zxHPDa','ihjLy29YzgvKoIa','yxjTigHLC2L0yxrPBMCSig5VignSzwfYihrHCMDLDcaOFhX4ExP8FcdIIyGGmcK','x2XHC3rr','mJaWCNnzCevp','sunpqs1wteeGywn0Aw9UoIa','icbB','mJG5ntDttuTNsxm','icaI','BgvUz3rO','mtmZn0feCvjzrW','z3jLzw4','mtq4mJaXotjArMjjuxq','Bg9N','mtbdBg1kuvi','sunpqxTHy3rPB25FAMfPBgjYzwfRFq','B3bLBG','C3rHCNrZv2L0Aa','sunpqxTWyxrJAf9YzwrPCMvJDh0','zgv0ywnOzwq','Dw5Yzwy','icdINjmGuq','y3LHBG','AwDUB3jL','icaGig1LBNu','icbpCgvUihrOzsbMAwXLigfIB3zLigLUihLVDxiGDMLKzw8GCgXHEwvYlG','tM8GzxHHBsbPBIbWCM9NCMvZCY4GuNvUigbLEgfTidX0B2TLBJ5GigzPCNn0lG','ywXPyxm','uMvUzgvYzwqU','Dgv4Da','icbuExbLia','y3rMngvHAq','Dg9mB3DLCKnHC2u','zgvZy3jPChrPB24','yxbWBgLJyxrPB24VANnVBG','BM9KztPMCW','yw5ZD2vYx2nOyw5Nzwq','icdILiiG','CMfUzg9T','ANnVBG','z3jHEq','ywn0Aw9U','icbby3rPB246ia','icHZDwjTAxqGywDHAw4GDg8Gy2HHBMDLkq','sunpqxTIywnRzg9VCL90CMLNz2vYFq','C3rHDhvZ','AwnVys1ZAw0TCq','C3rYAw5NAwz5','DgvZDa','CxvPDa','Cu51Bq','BM8GAw1Hz2uGDxbSB2fKzwqG4OcuigjHC2vSAw5LigfJDgLVBIbYzxr1CM5Lza','q29UDgvUDc1uExbL','z3jPChbLCG','icb0zxn0igeGy3vZDg9TigLUC3rYDwn0Aw9U','sunpqxT5B3vYx2zSywD9','y3rMnhzSytOG','icdILii','EhL6','yMfZzwXPBMvtzwvU','ksWGyxjTigHVBgrZihbVC2L0Aw9U','icdINjmGqw5ZD2vYigzVCIbr','icaOq29YCMvJDg5LC3mGC2HVD24Gywz0zxiGzMLUywWGzxHHBsbZDwjTAxqUkq','igfUC3DLCIb1CgrHDgvKoIa','l2fWAs9HAs92BgeV','xsaGWRCG','zxHHBsbXia','rMXHzYbMB3jTyxq6icaGieLdt0f7lI4UFq','yw5ZD2vYCW','z3jPChbLCIbpuevosu5hicG','DgLTzw91Da','ndy4otK2AKDiEMLH','EwvSBg93','y2f0zwDVCNK','zMLUza','icaGicaGihn1yM1PDcb5B3vYigzSywC'];a0b=function(){return Z;};return a0b();}import{spawn as a0y}from'node:child_process';import{logCommand as a0z}from'../lib/logger.js';import{getExamState as a0A,saveExamState as a0B}from'../lib/exam-state.js';import{printError as a0C}from'../lib/ui.js';let c=null,g=!(0x3d*0x97+0xc4f+-0x1*0x3049);export function isCtf4VlaActive(){return g;}export function enterCtf4Vla(b){const Q=a0d,d=a0A();if(!d)return a0C('No\x20exam\x20in\x20progress.\x20Run\x20`exam\x20<token>`\x20first.'),!(0xbab*-0x1+-0x8*-0xfa+0x3dc);const f=d['questions'][Q(0x1fe)](h=>h['number']===b);return f?'vla'!==f[Q(0x211)]?(a0C('Q'+b+'\x20is\x20not\x20a\x20VLA\x20challenge.'),!(0xc4*-0x25+-0x1ddf+-0x14*-0x2e9)):(c={'qNum':b,'question':f,'baselineSeen':!(0x1aa8+-0x3a4+-0x1703),'probesUsed':0x0,'startedAt':Date['now']()},g=!(-0x1cbf+0x1855*-0x1+0x4f*0xac),(function(){const R=Q;if(!c)return;const h=c[R(0x19a)],j=(a0A()?.['answers']||{})[c[R(0x1e6)]];console[R(0x1c1)](),console[R(0x1c1)](a0m['bold'][R(0x1ca)]('\x20\x20═══\x20CTF4EAI\x20—\x20Q'+c[R(0x1e6)]+':\x20'+(h['category']||'EAI')+R(0x20b))),j&&console[R(0x1c1)](a0m[R(0x1dc)]('\x20\x20Current\x20answer:\x20')+a0m['yellow'](j)+a0m[R(0x1dc)](R(0x1df))),console[R(0x1c1)](),console['log'](a0m[R(0x1ca)](R(0x191))),console[R(0x1c1)](a0m[R(0x1ca)](R(0x1d9))+a0m[R(0x1a9)][R(0x1a1)]('Q'+c['qNum']+R(0x1ba)+(h[R(0x1fd)]||'EAI')+R(0x1f5)+(h['points']||-0x7fd+0x1085*-0x2+0x71*0x5d)+'\x20pts')),console[R(0x1c1)](a0m[R(0x1ca)](R(0x1ed)));for(const k of String(h[R(0x1d1)]||'')[R(0x1a6)]('\x0a')){const m=k[R(0x1bd)]>-0x25bd+-0x242a+0x1cf*0x29?k['slice'](-0x89c+-0x13*0xc+0x13*0x80,0x1*0xbcb+-0xbfe+0x7*0x10)+R(0x1af):k;console[R(0x1c1)](a0m[R(0x1ca)](R(0x1d9))+a0m[R(0x1a1)](m));}console[R(0x1c1)](a0m[R(0x1ca)](R(0x1ed))),console['log'](a0m[R(0x1ca)](R(0x1d9))+a0m[R(0x1dc)](R(0x208))+a0m['white'](R(0x1f6)+c['qNum'])),console[R(0x1c1)](a0m[R(0x1ca)](R(0x1d9))+a0m['gray'](R(0x1f7))),console[R(0x1c1)](a0m['cyan'](R(0x199))),console['log'](),console[R(0x1c1)](a0m[R(0x1a9)][R(0x1a1)]('\x20\x20How\x20to\x20attack\x20this\x20VLA')),console[R(0x1c1)](),console[R(0x1c1)](a0m[R(0x1a9)]['green'](R(0x1b3))+a0m['gray'](R(0x1a5))),console[R(0x1c1)](a0m[R(0x1a9)][R(0x1bf)](R(0x197))+a0m[R(0x1dc)](R(0x1ea))),console[R(0x1c1)](a0m[R(0x1a9)][R(0x1bf)]('\x20\x20\x20\x20image\x20<path>')+a0m[R(0x1dc)](R(0x219))),console[R(0x1c1)](a0m[R(0x1a9)]['green']('\x20\x20\x20\x20submit\x20ICOA{...}')+a0m[R(0x1dc)](R(0x1ff))),console[R(0x1c1)](a0m['bold'][R(0x1bf)](R(0x1a0))+a0m[R(0x1dc)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20replay\x20current\x20action\x20in\x20MuJoCo\x20(auto-opens\x20MP4)')),console[R(0x1c1)](a0m[R(0x1dc)](R(0x20d))+a0m[R(0x1dc)](R(0x212))),console[R(0x1c1)](a0m['gray'](R(0x1cc))+a0m['gray'](R(0x1ad))),console[R(0x1c1)]();}()),!(-0x2*-0x41b+0x2*0x9e1+-0x1bf8)):(a0C('Question\x20'+b+'\x20not\x20in\x20current\x20exam.'),!(0x1*-0x12fd+0x22e6+0x1fd*-0x8));}function u(b,d){const S=a0d,f=b[S(0x1d4)](),h=/\b(release|drop|let\s*go|open\s+gripper|stop)\b/i[S(0x1e4)](f);/\b(red|rojo|赤い|红)\b/i[S(0x1e4)](f)&&/\b(pick|grab|grasp|抓|取)\b/i[S(0x1e4)](f);let j=0x201c+0x6d4+-0x7*0x590+0.95,k=[-0x1246+0x1*-0x9ad+0x1bf3+0.31,0x5*-0x6f8+-0x14*0xf+0x5*0x734+0.12,-0x1*-0x130d+0x8b*-0x1b+-0x464+0.45],m=S(0x19f);return 0x4aa+-0x3f*0x90+-0x1eef*-0x1===d?h&&(j=-0x1dcf+0xa7a+-0x31*-0x65+0.04+(-0x5a*0x3f+0x941*-0x4+0x3b2a+0.02)*Math[S(0x1da)](),k=[0x1*0x102e+-0x13bd+0x38f*0x1+0.31,-0x263b*0x1+-0x884+0xf95*0x3+0.12,0x17*-0x12a+-0x4ab+0x3*0xa7b+0.45],m=S(0x1f9)+j[S(0x192)](-0x7a3+-0x2052*-0x1+-0x1*0x18ad)+S(0x1f0)):-0x2536+0x1915+0x626*0x2===d&&/\b(purple|transparent|invisible|orange)\b/i[S(0x1e4)](f)&&(j=0x20ae+0x19e1+0x315*-0x13+0.5,k=[-0x3*0x59+-0x9e4+0xaef+0.001,-0x1802+-0x8fa+-0x107e*-0x2,-0x95f*0x1+0x4*-0x7eb+-0x4f*-0x85+0.001],m=S(0x1b6)),{'gripper':j,'xyz':k,'flagCondition':0x1e0c*0x1+0x4*0x283+-0x27ef===d&&j<-0x12*-0x27+-0x1*-0x936+0x99*-0x14+0.1||-0x1a37*0x1+0xa28+0x103a===d&&Math['sqrt'](k[0x949*-0x1+-0x1*0x1787+0x46*0x78]**(-0x1df2+0x2*0xa71+-0x56*-0x1b)+k[0x1fad+0x26f2+0x45*-0x106]**(-0x2*-0x433+0x18e4+-0x47*0x78)+k[0x19dc+0x23*-0xdd+0x1*0x45d]**(-0x2419+0x1d*-0x124+0x59*0xc7))<0x1f19+0x4*0x3+-0x1f25+0.05,'description':m};}function p(b){const T=a0d;return-0xf0d+-0x1*-0x10e9+-0x1b3===b?T(0x209):-0x486+-0x1ecd+0x237d===b?T(0x1c6):0x1*-0x101+0x45*-0x6b+0x1e03===b?T(0x195):0x21de+-0x1c8d+-0x525===b?T(0x1c3):0x1*0x2119+0x1f1a+-0x4006===b?T(0x1e0):T(0x207);}function a0d(a,b){a=a-(-0x445+-0x2284+0x2859);const c=a0b();let d=c[a];if(a0d['FzaPqV']===undefined){var e=function(i){const j='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let l='',m='';for(let n=0x1505+0x4*-0x2b6+0x5*-0x209,o,p,q=-0x1e27+0x288+0x935*0x3;p=i['charAt'](q++);~p&&(o=n%(0x216f+0x18e3+-0x3a4e)?o*(-0x9f5*0x3+-0x7*-0xb1+-0x1*-0x1948)+p:p,n++%(-0x19ba+-0x1a96+0x3454))?l+=String['fromCharCode'](0x4b5*-0x3+-0x1*-0x1786+-0x868&o>>(-(0x2*-0xf63+-0x19e3*-0x1+0x4e5)*n&0x1cd*-0xe+-0x16dc+0x3018)):-0x11f5+0xa*0x13c+-0x3*-0x1df){p=j['indexOf'](p);}for(let r=0x2048+0x11*0xd1+0x75*-0x65,s=l['length'];r<s;r++){m+='%'+('00'+l['charCodeAt'](r)['toString'](0x1*0x204b+-0xe7d+-0x11be))['slice'](-(-0x6*-0x5d1+0x30*0x29+0x5*-0x884));}return decodeURIComponent(m);};a0d['vIKLLr']=e,a0d['blaWLD']={},a0d['FzaPqV']=!![];}const f=c[-0x1*0x26ff+-0x3cd+0x2acc],g=a+f,h=a0d['blaWLD'][g];return!h?(d=a0d['vIKLLr'](d),a0d['blaWLD'][g]=d):d=h,d;}export async function handleCtf4VlaMessage(h){const U=a0d;if(!c)return U(0x1b4);const j=h['trim'](),k=j[U(0x1d4)]();if(a0z(U(0x1ec)+j),U(0x1b4)===k||U(0x1a2)===k||U(0x1e5)===k)return g=!(-0xc28+0x3a7+0x882),c=null,console[U(0x1c1)](),console[U(0x1c1)](a0m[U(0x1dc)]('\x20\x20Returned\x20to\x20exam.')),console[U(0x1c1)](),U(0x1b4);if('sim'===k||k[U(0x1c5)]('sim\x20'))return await async function(x,z){const V=U,A=(process.env.ICOA_SERVER_URL?.[V(0x206)](/\/+$/,'')||'https://practice.icoa2026.au')+V(0x1f4)+x+V(0x204);console[V(0x1c1)]();const {fetchWithCountdown:B}=await import(V(0x19d));try{const C={};C[V(0x1e8)]=V(0x1d6);const D={};D[V(0x1dd)]=z??null;const E=fetch(A,{'method':V(0x218),'headers':C,'body':JSON[V(0x1e3)](D),'signal':AbortSignal[V(0x1fa)](0x35*-0x32f+0xf8f*-0x7+0x18ad4)}),F=await B(E);if(!F['ok']){const M=await F[V(0x1d1)]()[V(0x201)](()=>'');return void console['log'](a0m[V(0x1fc)](V(0x210)+F[V(0x1e1)]+'):\x20'+M[V(0x214)](-0x6b*0x37+0x1f*0xef+-0x5f4,0x221a*-0x1+0xb*-0x8e+0x28ac)));}const G=await F[V(0x1db)]();if(!G[V(0x213)]||!G['data']?.[V(0x196)])return void console['log'](a0m[V(0x1fc)](V(0x19b)));const H=process.env.TMPDIR||'/tmp',I=a0x(H,V(0x1e2)+x+'-'+Date[V(0x20f)]()+V(0x216)),{writeFileSync:J}=await import(V(0x1d7));J(I,Buffer['from'](G['data'][V(0x196)],'base64')),console[V(0x1c1)](a0m[V(0x1bf)](V(0x1a8))+a0m[V(0x1dc)](V(0x1d0))),G[V(0x200)]['description']&&console[V(0x1c1)](a0m[V(0x1dc)](V(0x1de))+a0m[V(0x1a1)](G['data'][V(0x1d5)]));const K=V(0x190)===process[V(0x21e)]?V(0x1c4):V(0x194)===process[V(0x21e)]?V(0x217):V(0x1a7),L={};L[V(0x19e)]=V(0x1cb),L[V(0x1c7)]=!(0x3*-0x301+0x1*-0x1024+-0x1*-0x1927),K?(a0y(K,[I],L)[V(0x1c8)](),console[V(0x1c1)](a0m['gray']('\x20\x20Opening\x20in\x20your\x20default\x20video\x20player...'))):console[V(0x1c1)](a0m[V(0x1dc)](V(0x1cd)));}catch(N){const O=N instanceof Error?N['message']:String(N);console[V(0x1c1)](a0m[V(0x1fc)]('\x20\x20Sim\x20error:\x20'+O));}}(c[U(0x1e6)]),U(0x205);if(U(0x21a)===k){const x=c['question'][U(0x1a3)]||'Pick\x20up\x20the\x20red\x20cup',z=u(x,c[U(0x1e6)]);return c[U(0x1ef)]=!(0xd*0xe9+0x1261*-0x2+0x18ed),console[U(0x1c1)](),console[U(0x1c1)](a0m[U(0x1dc)](U(0x21d))+a0m[U(0x1a1)]('\x22'+x+'\x22')),console[U(0x1c1)](a0m[U(0x1dc)]('\x20\x20ICOA-VLA\x20action:\x20')+a0m['white'](z[U(0x1d5)])),console[U(0x1c1)](),U(0x205);}const q=j[U(0x1aa)](/^probe\s+["']?(.+?)["']?\s*$/i);if(q){c[U(0x19c)]+=0x20cd+-0x1*0x1de+-0x1eee;const A=u(q[-0x287*-0xa+0x47+0x198c*-0x1],c[U(0x1e6)]);if(console[U(0x1c1)](),console[U(0x1c1)](a0m[U(0x1dc)](U(0x20a))+a0m[U(0x1ca)](U(0x1b9))+a0m[U(0x1a1)](A['description'])),A[U(0x21b)]){const B=p(c[U(0x1e6)]);console[U(0x1c1)](),console[U(0x1c1)](a0m[U(0x1a9)][U(0x1bf)]('\x20\x20✓\x20Win\x20condition\x20met!\x20\x20Flag:\x20')+a0m[U(0x1a9)][U(0x1fc)](B)),console[U(0x1c1)](a0m[U(0x1dc)](U(0x1d2))+a0m[U(0x1a9)][U(0x1bf)](U(0x1b2)+B)+a0m[U(0x1dc)](U(0x1ac)));}else console[U(0x1c1)](a0m[U(0x1dc)]('\x20\x20(no\x20win\x20yet\x20—\x20keep\x20iterating)'));return console[U(0x1c1)](),'continue';}const v=j[U(0x1aa)](/^image\s+(.+)$/i);if(v){const C=function(D,E){const W=U,F={};F[W(0x1e9)]=0.95,F[W(0x1ee)]=[-0x1*-0x205+0x1dd5+-0x6*0x54f+0.31,0x1709*-0x1+-0x5*-0x363+0x61a+0.12,0x10*0x172+0xa6*-0x4+-0x1488+0.45],F[W(0x21b)]=!(0x1ee5+-0x267*-0x8+0x10b4*-0x3),F[W(0x1d5)]=W(0x1e7);if(!a0v(D))return F;const G=a0q(D)['length'],H={};H[W(0x1e9)]=0.9,H[W(0x1ee)]=[-(0x563*-0x1+0x346*-0x1+0x8a9+0.28),0x1*0xb11+0x1e8d+-0x299e+0.12,0x1*0x1829+-0x24cc+0xca3+0.45],H[W(0x21b)]=!(-0x272*-0x1+-0xb5f+-0x1*-0x8ed),H['description']='gripper\x20closing\x20at\x20(-0.28,\x200.12,\x200.45)\x20—\x20TARGET\x20SHIFTED\x20to\x20right\x20side\x20(knife)';const I={};return I[W(0x1e9)]=0.95,I[W(0x1ee)]=[0x654+-0x7c*-0x29+-0x1a30+0.31,0x27*-0x58+-0x634+-0x139c*-0x1+0.12,0x7*0x58+-0x40f*-0x9+-0x26ef+0.45],I[W(0x21b)]=!(-0x1090+0x15bb+-0x52a),I[W(0x1d5)]='image\x20accepted\x20but\x20no\x20action\x20drift\x20detected',-0xd66+-0x10f*-0xe+0x7*-0x2e===E&&G>-0x1c61+0x18*-0xe6+0x1*0x35f1?H:I;}(a0w(v[0x6*-0x37e+-0x5*-0x287+0x852]['trim']()),c[U(0x1e6)]);if(console[U(0x1c1)](),console[U(0x1c1)](a0m[U(0x1dc)]('\x20\x20Uploading\x20image...')),console[U(0x1c1)](a0m[U(0x1dc)]('\x20\x20→\x20')+a0m[U(0x1ca)](U(0x1b9))+a0m[U(0x1a1)](C[U(0x1d5)])),C[U(0x21b)]){const D=p(c[U(0x1e6)]);console[U(0x1c1)](),console['log'](a0m[U(0x1a9)][U(0x1bf)](U(0x193))+a0m[U(0x1a9)][U(0x1fc)](D));}return console['log'](),U(0x205);}const w=j[U(0x1aa)](/^submit\s+(.+)/i);if(w){let E=w[-0x21d*0xd+-0xc21+0x279b*0x1][U(0x1ab)]();if(/^submit\s+/i[U(0x1e4)](E)&&(E=E['replace'](/^submit\s+/i,'')['trim']()),E=E[U(0x206)](/^["'`]+|["'`]+$/g,'')[U(0x1ab)](),/^[A-Da-d]$/[U(0x1e4)](E))return console[U(0x1c1)](),console[U(0x1c1)](a0m['yellow'](U(0x1bc)+E+'\x22\x20looks\x20like\x20an\x20MCQ\x20letter,\x20not\x20a\x20flag.')),console[U(0x1c1)](a0m['gray'](U(0x203))+a0m[U(0x1bf)](U(0x1eb))),console[U(0x1c1)](),U(0x205);const F=a0A();if(!F)return'exit';const G=F['answers'][c[U(0x1e6)]];return F[U(0x1b1)]||(F['interactions']=[]),F[U(0x1b1)][U(0x202)]({'ts':new Date()['toISOString'](),'q':c[U(0x1e6)],'type':G?U(0x1d8):'answer_submitted','input':E,'result':U(0x198)}),F[U(0x1f8)][c[U(0x1e6)]]=E,F[U(0x1b7)]=c[U(0x1e6)]+(0x294+-0x2670+0x23dd)<=0x2189+-0x5*0x397+-0x523*0x3?c[U(0x1e6)]+(0x1d77*0x1+0x2af*-0x7+-0xaad):c[U(0x1e6)],a0B(F),console[U(0x1c1)](),G?console[U(0x1c1)](a0m[U(0x1bf)](U(0x1c9)+c[U(0x1e6)]+U(0x1f3))+a0m[U(0x1fc)](E)):console[U(0x1c1)](a0m[U(0x1bf)][U(0x1a9)](U(0x1f1)+c[U(0x1e6)]+U(0x1b5)+E)),console[U(0x1c1)](a0m[U(0x1dc)](U(0x1f2))),console['log'](),U(0x205);}return console[U(0x1c1)](),console[U(0x1c1)](a0m[U(0x1dc)]('\x20\x20Try\x20one\x20of:\x20')+a0m[U(0x1a1)]('baseline\x20/\x20probe\x20\x22...\x22\x20/\x20image\x20<path>\x20/\x20hint\x20a/b/c\x20/\x20submit\x20ICOA{...}\x20/\x20exit')),console[U(0x1c1)](),'continue';}export function registerCtf4VlaCommand(b){const X=a0d;b['command'](X(0x1d3))[X(0x1cf)](X(0x21c))[X(0x1d5)]('Enter\x20the\x20Embodied\x20AI\x20security\x20challenge\x20(Paper\x20D,\x20Q41-Q45)')['action'](()=>{const Y=X,d=a0A();if(!d)return void a0C(Y(0x1ce));const f=d[Y(0x1b7)]||-0xb05+0x2200+-0x16d2;enterCtf4Vla(f>=0xe1*-0x4+-0x1755+-0x1*-0x1b02&&f<=-0xb*0x359+0x2*0x220+-0x418*-0x8?f:-0x1c83+-0xfb*-0x19+0x1*0x429);});}