icoa-cli 2.19.156 → 2.19.157

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(b,j){const a7=a0j,k=b();while(!![]){try{const q=parseInt(a7(0x209))/(-0x25*-0x26+-0x583*0x5+0x1612)*(-parseInt(a7(0x24e))/(0xd*-0xf6+0x26*-0x66+-0x1d*-0xf4))+parseInt(a7(0x238))/(-0x1a29+0x122c+0x800)+parseInt(a7(0x15c))/(0x1108+0x11*0xf9+-0x218d)+-parseInt(a7(0x1bf))/(-0x1352+0x1*-0x418+0x176f)+-parseInt(a7(0x18a))/(0x2449+-0x1343*-0x1+-0x67*0x8a)+-parseInt(a7(0x1d8))/(0x4*-0x44f+-0x4e1*0x2+0x1b05)+parseInt(a7(0x1e1))/(0x4*-0x4b5+0xc02+0x6da)*(parseInt(a7(0x1fb))/(-0x8*0x1b3+0x1*-0x169+0xf0a));if(q===j)break;else k['push'](k['shift']());}catch(v){k['push'](k['shift']());}}}(a0b,-0x7412+0x5a3*0xd6+0x2cc7d));import a0q from'chalk';import{createChatSession as a0v}from'../lib/gemini.js';import{addTokenUsage as a0x}from'../lib/budget.js';import{getConfig as a0z}from'../lib/config.js';import{logCommand as a0A}from'../lib/logger.js';import{printMarkdown as a0B,printError as a0C}from'../lib/ui.js';import{t as a0D}from'../lib/i18n.js';function a0j(a,b){a=a-(-0x691+0x6ae+0x32*0x6);const c=a0b();let d=c[a];if(a0j['tdvmub']===undefined){var e=function(i){const j='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let l='',m='';for(let n=-0x17c5+-0x1072+-0x5*-0x80b,o,p,q=-0x1a7b*-0x1+-0x1*-0x1be7+-0x1*0x3662;p=i['charAt'](q++);~p&&(o=n%(-0x2182+-0x1e70+0x3ff6)?o*(-0x1*-0x397+0x18f+0x273*-0x2)+p:p,n++%(0x4a*-0x66+0x200b*-0x1+0x3d8b))?l+=String['fromCharCode'](-0x1f55+-0xd2c+0x4*0xb60&o>>(-(-0x81f+0x2228+-0x1a07)*n&-0x793*-0x2+0x1*-0x2b8+-0x1*0xc68)):0x185c+-0x20f3+0x897){p=j['indexOf'](p);}for(let r=-0x8c+-0x3c6*-0x8+-0x1da4,s=l['length'];r<s;r++){m+='%'+('00'+l['charCodeAt'](r)['toString'](0x10aa+0x2cb+0x1365*-0x1))['slice'](-(0x258e+0x610*-0x6+-0x1*0x12c));}return decodeURIComponent(m);};a0j['tEsTNS']=e,a0j['bEAxzJ']={},a0j['tdvmub']=!![];}const f=c[0x1d78+-0x25*0x1+0x1d53*-0x1],g=a+f,h=a0j['bEAxzJ'][g];return!h?(d=a0j['tEsTNS'](d),a0j['bEAxzJ'][g]=d):d=h,d;}import{getExamState as a0E,saveExamState as a0F}from'../lib/exam-state.js';const g=b=>new Promise(j=>setTimeout(j,b));let r=!(-0x5*0x193+0x6b2*-0x4+-0x22a8*-0x1),y=null,h=-0x1*-0x2253+-0x1dd+-0x2076,u=!(-0x1c4f+0x2*-0x2a0+-0x2*-0x10c8);const d=-0xa5d*0x3+0x47d6+0x11*0x359;let f=null;export function isChatActive(){return r;}function m(){const a8=a0j,b=f?d:0x131c+0x2487+-0x241b,j=h,k=Math['min'](Math[a8(0x1cd)](j/b*(0x1*-0x119b+-0x1dba+-0x13*-0x283)),-0x1*0x4dc+-0x474*0x7+0x1*0x246c),q=Math['round'](k/(-0x3f8*-0x3+-0x383+-0x801)*(-0x49*0x1d+-0x23*0x4+0x8e5)),v=0x10aa+0x2cb+0x1361*-0x1-q,x=k>0x258e+0x610*-0x6+-0x1*0xde?a0q['red']:k>0x1d78+-0x25*0x1+0x1d21*-0x1?a0q['yellow']:a0q[a8(0x14f)],z=f?a8(0x14a):a8(0x1b5);console[a8(0x179)](a0q[a8(0x1eb)]('\x20\x20'+z+':\x20')+x('█'[a8(0x165)](q))+a0q[a8(0x1eb)]('░'[a8(0x165)](v))+a0q['gray']('\x20'+j+'/'+b+'\x20('+k+'%)'));}export async function handleChatMessage(q){const a9=a0j;if(!y)return a9(0x16a);if(a0A('ai4ctf:\x20'+q),f)return p(q);const v=q[a9(0x17e)]()[a9(0x158)]()['match'](/^hint\s+([abc])$/);if(v)return function(B){const aa=a9,C=a0D('a'===B?aa(0x1f3):'b'===B?'ai4ctfHintB':'ai4ctfHintC'),D=a0D('a'===B?aa(0x1d2):'b'===B?'ai4ctfHintBBody':aa(0x208)),E=aa(0x153)+B[aa(0x1fa)](),F='a'===B?a0q[aa(0x14f)]:'b'===B?a0q[aa(0x1d3)]:a0q[aa(0x1a4)];console[aa(0x179)](),console[aa(0x179)](F['bold'](aa(0x216)+E+'\x20\x20')+a0q['gray'](C)),console[aa(0x179)]();for(const G of D[aa(0x1a6)]('\x0a'))''===G?console[aa(0x179)]():console[aa(0x179)](a0q[aa(0x190)](aa(0x163)+G));console[aa(0x179)](),'a'===B?(console[aa(0x179)](a0q[aa(0x1eb)]('\x20\x20\x20\x20'+a0D(aa(0x236))+'\x20')+a0q[aa(0x1db)](aa(0x178))),console[aa(0x179)]()):'b'===B&&(console['log'](a0q[aa(0x1eb)](aa(0x163)+a0D('ai4ctfHintNextB')+'\x20')+a0q['cyan']('hint\x20c')),console[aa(0x179)]());}(v[-0x14db+-0xf91*0x1+0x246d]),a9(0x1c0);const x=q[a9(0x21b)](/^submit\s+(.+)/i);if(x){let B=x[-0x2*0x67f+-0xb*0xf8+0x17a7*0x1][a9(0x17e)]();if(/^submit\s+/i[a9(0x1d4)](B)&&(B=B[a9(0x152)](/^submit\s+/i,'')[a9(0x17e)]()),B=B[a9(0x152)](/^["'`]+|["'`]+$/g,'')[a9(0x17e)](),'icoa{w3lc0me_2_ai4ctf}'===B){console[a9(0x179)](),console[a9(0x179)](a0q[a9(0x14f)][a9(0x225)](a9(0x167))),console[a9(0x179)](a0q[a9(0x14f)][a9(0x225)]('\x20\x20'+a0D('ai4ctfCorrectFlag'))),console[a9(0x179)](a0q[a9(0x14f)][a9(0x225)](a9(0x167))),console[a9(0x179)](),console['log'](a0q[a9(0x190)]('\x20\x20'+a0D(a9(0x207)))),console[a9(0x179)](a0q[a9(0x1eb)]('\x20\x20'+a0D(a9(0x1a8)))),console[a9(0x179)](),m(),r=!(-0x926+-0x2*-0xd55+-0x1183),y=null,fetch(a9(0x226),{'method':a9(0x22f),'headers':{'Content-Type':a9(0x14e)},'body':JSON[a9(0x1ef)]({'type':'ai4ctf','solved':!(0x1*-0x220e+0xa3*-0x1+0x1*0x22b1),'tokensUsed':h,'timestamp':new Date()['toISOString']()}),'signal':AbortSignal['timeout'](-0x1*0xf81+-0x139e+0x36a7)})['catch'](()=>{}),await g(0x2*0x1fd+-0xd4+0x2*0x15b),console['log'](),console[a9(0x179)](a0q[a9(0x1db)](a9(0x1b1))),console[a9(0x179)](a0q[a9(0x225)][a9(0x190)]('\x20\x20'+a0D(a9(0x17f)))),console[a9(0x179)](a0q[a9(0x1db)](a9(0x1b1))),console[a9(0x179)]();const C=a0D('ai4ctfWrapLine1Head'),D=a0D(a9(0x210));console[a9(0x179)](a0q[a9(0x190)](a9(0x1b3)+C+'\x20')+a0q[a9(0x1eb)](D[a9(0x1a6)]('\x0a')[-0x4f*-0x67+-0x1*0x259f+0x5d6]||''));for(const H of D[a9(0x1a6)]('\x0a')['slice'](-0x1427+0x1c5b+-0x1*0x833))H['trim']()&&console[a9(0x179)](a0q[a9(0x1eb)]('\x20\x20\x20\x20\x20\x20\x20'+H[a9(0x152)](/\{thinking\}/g,a9(0x194))));console[a9(0x179)](),console[a9(0x179)](a0q[a9(0x190)](a9(0x166)+a0D('ai4ctfWrapLine2Head')+'\x20')+a0q['gray'](a0D(a9(0x155)))),console[a9(0x179)](),console['log'](a0q[a9(0x1db)](a9(0x1b6))),console[a9(0x179)](),await g(-0x266*0xf+0x10af*0x2+0xa6c),console[a9(0x179)](a0q[a9(0x1db)](a9(0x1b1))),console[a9(0x179)](a0q[a9(0x225)]['white']('\x20\x20'+a0D(a9(0x197)))),console[a9(0x179)](a0q[a9(0x1db)](a9(0x1b1))),console[a9(0x179)](),console[a9(0x179)](a0q[a9(0x1d3)](a9(0x196))+a0q[a9(0x190)](a0D(a9(0x19f))[a9(0x1dd)](0xca9+-0xf3a*-0x2+0x625*-0x7))+a0q[a9(0x1eb)](a0D(a9(0x19a)))),console[a9(0x179)](a0q[a9(0x1d3)](a9(0x16f))+a0q['white'](a0D(a9(0x243))['padEnd'](-0x1d0a+0x6*0x68+0x1ab4))+a0q[a9(0x1eb)](a0D(a9(0x24a)))),console[a9(0x179)](a0q[a9(0x1d3)]('\x20\x20\x20\x20\x20\x20\x20hint\x20c\x20\x20\x20')+a0q['white'](a0D(a9(0x18f))[a9(0x1dd)](0x61e+-0x836*-0x3+-0x1ea6))+a0q[a9(0x1eb)](a0D(a9(0x189)))),console[a9(0x179)]();for(const I of a0D(a9(0x211))['split']('\x0a'))console[a9(0x179)](a0q[a9(0x1eb)](a9(0x163)+I));console[a9(0x179)](),await g(0xc*-0x339+-0x706+0x3582),console[a9(0x179)](a0q[a9(0x1db)](a9(0x1b1))),console[a9(0x179)](a0q[a9(0x225)][a9(0x190)]('\x20\x20'+a0D(a9(0x14c))+'\x20')+a0q[a9(0x1a4)][a9(0x225)]('ctf4ai')+a0q['white'](a9(0x157)+a0D(a9(0x21f)))),console['log'](a0q[a9(0x1db)](a9(0x1b1))),console[a9(0x179)]();const E=a0D(a9(0x215)),F=a0D(a9(0x1c5)),G=E[a9(0x1a6)]('\x0a');if(G[0x6*0x1eb+-0x6*0x3ab+-0x2a0*-0x4]){const [J,K]=G[0x280*0xe+0x408+-0x2708]['split'](a9(0x228));console[a9(0x179)](a0q[a9(0x190)](a9(0x163)+(J||''))+a0q[a9(0x225)][a9(0x190)](F)+a0q[a9(0x190)](K||''));}for(const L of G['slice'](-0x1a6c+0x1*-0x1be8+0x3655))L[a9(0x17e)]()&&console[a9(0x179)](a0q[a9(0x190)](a9(0x163)+L));return console[a9(0x179)](),console['log'](a0q[a9(0x1eb)]('\x20\x20\x20\x20'+a0D(a9(0x240))+'\x20')+a0q[a9(0x225)][a9(0x1a4)](a9(0x1b9))),console[a9(0x179)](),a9(0x16a);}return console[a9(0x179)](),console[a9(0x179)](a0q[a9(0x1a4)]('\x20\x20'+a0D(a9(0x231)))),console[a9(0x179)](a0q['gray']('\x20\x20'+a0D(a9(0x164)))),console[a9(0x179)](),a9(0x1c0);}if(q[a9(0x19b)]('!')){const M=q[a9(0x221)](0x391*-0x1+0xd8a+0xb*-0xe8)[a9(0x17e)]();if(!M)return a9(0x1c0);try{const N={};N['encoding']=a9(0x184),N['timeout']=0x2710;const {execSync:O}=await import(a9(0x1fe)),P=O(M,N)[a9(0x17e)]();console[a9(0x179)](),console['log'](a0q[a9(0x1eb)](a9(0x170))+a0q[a9(0x190)](M)),console[a9(0x179)](a0q['white']('\x20\x20'+P[a9(0x1a6)]('\x0a')[a9(0x15d)](a9(0x1d7)))),console[a9(0x179)](),console[a9(0x179)](a0q[a9(0x1eb)]('\x20\x20'+a0D('ai4ctfFoundFlag'))),console['log']();}catch(Q){console['log'](),console[a9(0x179)](a0q[a9(0x1a4)](a9(0x20c)+(Q[a9(0x21e)]?.[a9(0x1a6)]('\x0a')[-0x240a*0x1+0x8c6+-0xa*-0x2ba]||a9(0x244)))),console[a9(0x179)]();}return a9(0x1c0);}const z={};z[a9(0x1b8)]=a9(0x14e);if('exit'===q||a9(0x198)===q||a9(0x1bd)===q||'menu'===q)return r=!(0x1d1f+-0x200e+0x2f0),y=null,fetch(a9(0x226),{'method':'POST','headers':z,'body':JSON[a9(0x1ef)]({'type':a9(0x218),'tokensUsed':h,'timestamp':new Date()['toISOString']()}),'signal':AbortSignal['timeout'](0x18a+0x215*-0x1+0x1413)})[a9(0x1a7)](()=>{}),console[a9(0x179)](),console[a9(0x179)](a0q[a9(0x1eb)](a9(0x159))),console[a9(0x179)](a0q[a9(0x190)]('\x20\x20'+a0D(a9(0x1dc)))),console[a9(0x179)](a0q['gray']('\x20\x20'+a0D(a9(0x1c2))+':\x20'+h+'/5000')),console[a9(0x179)](a0q[a9(0x1eb)]('\x20\x20'+a0D('ai4ctfModel')+a9(0x1cc))),console['log'](a0q[a9(0x1eb)]('\x20\x20─────────────────────────────────────────')),console['log'](),console[a9(0x179)](a0q['cyan'](a9(0x1b1))),console['log'](a0q['white']('\x20\x20'+a0D('ai4ctfExitNextTitle')+'\x20')+a0q['bold']['red']('ctf4ai')+a0q[a9(0x190)](a9(0x157)+a0D(a9(0x22c)))),console['log'](a0q['gray']('\x20\x20'+a0D('ai4ctfExitNextBody'))),console['log'](a0q['cyan']('\x20\x20─────────────────────────────────────────────')),console[a9(0x179)](),console[a9(0x179)](a0q[a9(0x225)]['red'](a9(0x23c))+a0q['gray']('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0D('ai4ctfExitCmdNext'))),console[a9(0x179)](a0q['white'](a9(0x16d))+a0q[a9(0x1eb)](a9(0x1df)+a0D(a9(0x22a)))),console[a9(0x179)](),a9(0x16a);const A={};A[a9(0x1b8)]='application/json';if(!u&&h>=0xb2*-0x8+0x2687+-0x1*0xd6f)return u=!(0x568+-0x1*0xd09+0x7a1*0x1),fetch(a9(0x226),{'method':a9(0x22f),'headers':A,'body':JSON[a9(0x1ef)]({'type':a9(0x218),'solved':!(0x1307+0x2da+-0x15e0),'tokensUsed':h,'timestamp':new Date()[a9(0x1e3)]()}),'signal':AbortSignal[a9(0x1c9)](-0x15b*-0x7+-0xcd6+0x16e1)})[a9(0x1a7)](()=>{}),console[a9(0x179)](),console[a9(0x179)](a0q[a9(0x1d3)]('\x20\x20'+a0D('tokenLimit'))),m(),(function(){const ab=a9;console[ab(0x179)](),console['log'](a0q['yellow']('\x20\x20─────────────────────────────────────────────')),console[ab(0x179)](a0q[ab(0x225)]['yellow']('\x20\x20'+a0D(ab(0x1b2)))),console[ab(0x179)](a0q[ab(0x1d3)]('\x20\x20─────────────────────────────────────────────')),console[ab(0x179)]();for(const R of a0D(ab(0x1b7))[ab(0x1a6)]('\x0a'))''===R?console[ab(0x179)]():console[ab(0x179)](a0q[ab(0x190)]('\x20\x20\x20\x20'+R));console[ab(0x179)](),console[ab(0x179)](a0q[ab(0x1db)](ab(0x1f8))),console['log'](),console['log'](a0q[ab(0x190)](ab(0x163)+a0D(ab(0x1ed)))),console[ab(0x179)](),console['log'](a0q['green'](ab(0x21c))),console[ab(0x179)](),console[ab(0x179)](a0q[ab(0x190)](ab(0x163)+a0D(ab(0x185)))),console[ab(0x179)](),console[ab(0x179)](a0q[ab(0x1db)](ab(0x18c))),console[ab(0x179)](),console[ab(0x179)](a0q[ab(0x1eb)](ab(0x163)+a0D(ab(0x230)))),console[ab(0x179)]();}()),a9(0x1c0);if(u)return console[a9(0x179)](),console['log'](a0q[a9(0x1d3)]('\x20\x20'+a0D(a9(0x183)))),console[a9(0x179)](a0q[a9(0x1eb)]('\x20\x20'+a0D(a9(0x154))+'\x20')+a0q['cyan'](a9(0x250))),console[a9(0x179)](a0q[a9(0x1eb)]('\x20\x20'+a0D(a9(0x1a5))+'\x20')+a0q['cyan']('submit\x20icoa{w3lc0me_2_ai4ctf}')),console[a9(0x179)](),a9(0x1c0);console[a9(0x179)](a0q[a9(0x1eb)]('\x20\x20'+a0D('ai4ctfThinking')));try{const R=await y[a9(0x1ae)](q);process['stdout'][a9(0x234)]('\x1b[1A\x1b[2K'),h+=R[a9(0x20f)],a0x(R[a9(0x20f)]),console[a9(0x179)](),a0B(R[a9(0x1f4)]),m(),console[a9(0x179)]();}catch(S){process[a9(0x188)][a9(0x234)]('\x1b[1A\x1b[2K'),a0C('AI\x20error:\x20'+S[a9(0x21e)]),console['log']();}return a9(0x1c0);}const w=new Set();async function p(q){const ac=a0j;if(!f||!y)return ac(0x16a);const v=q[ac(0x17e)](),x=v['toLowerCase'](),z=(Date[ac(0x222)]()-f[ac(0x1de)])/(-0x1c300+0x5*-0x2c83+0x38bef*0x1);if(!f[ac(0x229)]&&!f[ac(0x174)]&&f[ac(0x168)][ac(0x19e)]>=-0x3*0x599+-0x1*0xe6b+-0x12*-0x1bc&&z>=0x14bf+-0x1ed8+-0xe*-0xb9&&(f[ac(0x229)]=!(0x977+0x2*0xac5+0x1*-0x1f01),console[ac(0x179)](),console['log'](a0q[ac(0x1d3)](ac(0x1bb))+a0q[ac(0x225)][ac(0x1d3)](ac(0x224))),console['log'](a0q[ac(0x1eb)](ac(0x235))),console['log']()),/^ICOA\{[^}]+\}$/i['test'](v))return console['log'](),console[ac(0x179)](a0q[ac(0x1eb)]('\x20\x20Detected\x20flag\x20—\x20treating\x20as:\x20')+a0q['white'](ac(0x17b)+v)),p('submit\x20'+v);const A=x[ac(0x21b)](/^hint\s+([abc])$/);if(A){const C=A[0x33f*-0x5+-0x35e*-0xb+-0x14ce][ac(0x1fa)]();f[ac(0x168)][ac(0x1c8)](C);const D=a0E();D&&(D['interactions']||(D[ac(0x1a2)]=[]),D['interactions'][ac(0x160)]({'ts':new Date()[ac(0x1e3)](),'q':f['qNum'],'type':'hint_used','input':C}),a0F(D));const E=f['question'][ac(0x171)],F=E?.[C],G='A'===C?a0q[ac(0x14f)]:'B'===C?a0q[ac(0x1d3)]:a0q[ac(0x1a4)];if(console[ac(0x179)](),console[ac(0x179)](G[ac(0x225)](ac(0x1f7)+C)),console[ac(0x179)](),F){for(const H of String(F)[ac(0x1a6)]('\x0a'))console['log'](a0q['white'](ac(0x163)+H));}else console[ac(0x179)](a0q['gray'](ac(0x15a)));return console[ac(0x179)](),'A'===C?console[ac(0x179)](a0q['gray']('\x20\x20\x20\x20Stuck?\x20Try:\x20')+a0q[ac(0x1db)](ac(0x178))):'B'===C?console[ac(0x179)](a0q[ac(0x1eb)](ac(0x191))+a0q[ac(0x1db)](ac(0x247))):'C'===C&&console[ac(0x179)](a0q[ac(0x1eb)]('\x20\x20\x20\x20'+a0D(ac(0x233))+'\x20')+a0q[ac(0x225)][ac(0x14f)](ac(0x224))),console[ac(0x179)](),ac(0x1c0);}const B=v[ac(0x21b)](/^submit\s+(.+)/i);if(B){let I=B[0x378+0x636+-0x9ad]['trim']();if(/^submit\s+/i[ac(0x1d4)](I)&&(I=I[ac(0x152)](/^submit\s+/i,'')[ac(0x17e)]()),I=I['replace'](/^["'`]+|["'`]+$/g,'')[ac(0x17e)](),/^[A-Da-d]$/['test'](I))return console[ac(0x179)](),console[ac(0x179)](a0q['yellow']('\x20\x20\x22'+I+ac(0x20a))),console[ac(0x179)](a0q[ac(0x1eb)]('\x20\x20Flag\x20format:\x20')+a0q[ac(0x14f)](ac(0x181))+a0q['gray'](ac(0x1ea))),console['log'](),ac(0x1c0);const {getExamState:J,saveExamState:K}=await import(ac(0x14d)),L=J();if(!L)return ac(0x16a);if(!L[ac(0x1ca)][ac(0x202)](O=>O[ac(0x1b0)]===f[ac(0x1c1)]))return console[ac(0x179)](a0q['red'](ac(0x1e6)+f[ac(0x1c1)]+ac(0x1fd))),ac(0x1c0);const M=L[ac(0x1ee)][f['qNum']];L[ac(0x1a2)]||(L[ac(0x1a2)]=[]),L[ac(0x1a2)][ac(0x160)]({'ts':new Date()[ac(0x1e3)](),'q':f['qNum'],'type':M?ac(0x1d1):ac(0x175),'input':I,'result':ac(0x1ba)}),L[ac(0x1ee)][f[ac(0x1c1)]]=I;const N=f[ac(0x1c1)]+(0x478+-0x1ef0+0x1a79);return L[ac(0x242)]=N<=-0x1ee9+-0x1*0x1220+-0x312f*-0x1?N:f[ac(0x1c1)],K(L),console[ac(0x179)](),M?(console['log'](a0q[ac(0x14f)](ac(0x246)+f['qNum']+ac(0x1ac))+a0q[ac(0x1d3)](I)),console['log'](a0q[ac(0x1eb)]('\x20\x20\x20\x20Previous:\x20'+M))):console[ac(0x179)](a0q[ac(0x14f)][ac(0x225)](ac(0x1a1)+f['qNum']+ac(0x21a)+I)),console['log'](a0q[ac(0x1eb)](ac(0x169))),console[ac(0x179)](),console['log'](a0q['gray']('\x20\x20')+a0q[ac(0x190)](ac(0x1e8))+a0q['gray'](ac(0x1cf))+a0q[ac(0x190)]('exit')+a0q['gray'](ac(0x18b))),N<=0x7*0x3ef+-0x1e17+0x2b4?console['log'](a0q[ac(0x1eb)](ac(0x1c7))+a0q[ac(0x1db)]('ai4ctf')+a0q[ac(0x1eb)]('\x20will\x20open\x20Q'+N)):console[ac(0x179)](a0q[ac(0x1eb)]('\x20\x20After\x20exit:\x20AI4CTF\x20section\x20complete.\x20Next:\x20')+a0q['red'](ac(0x1b9))+a0q[ac(0x1eb)](ac(0x19c))),console[ac(0x179)](),ac(0x1c0);}if(q[ac(0x19b)]('!')){const O=q[ac(0x221)](-0x1*-0x1751+-0x1*0xbcf+-0xb81)[ac(0x17e)]();if(!O)return ac(0x1c0);try{const P={};P[ac(0x193)]='utf-8',P['timeout']=0x2710;const {execSync:Q}=await import(ac(0x1fe)),R=Q(O,P)[ac(0x17e)]();console[ac(0x179)](),console[ac(0x179)](a0q[ac(0x1eb)](ac(0x170))+a0q['white'](O)),console[ac(0x179)](a0q[ac(0x190)]('\x20\x20'+R['split']('\x0a')[ac(0x15d)](ac(0x1d7)))),console[ac(0x179)]();}catch(S){console[ac(0x179)](),console['log'](a0q[ac(0x1a4)](ac(0x20c)+(S['message']?.[ac(0x1a6)]('\x0a')[-0x6e+-0x1*-0x7ac+0x73e*-0x1]||ac(0x244)))),console[ac(0x179)]();}return ac(0x1c0);}if('exit'===x||'back'===x||ac(0x1bd)===x){const T=f[ac(0x1c1)],{getExamState:U}=await import(ac(0x14d)),V=U(),W=V&&null!=V['answers'][T],X=V?.[ac(0x242)]||T;return r=!(0x3ea+-0x244c+0x2063),y=null,f=null,w[ac(0x251)](),console[ac(0x179)](),console[ac(0x179)](a0q['gray'](ac(0x241)+T+'.')),W&&X>T&&X<=0x20b8+0x47e+-0x2510?console[ac(0x179)](a0q['white'](ac(0x17d))+a0q[ac(0x225)]['green']('Q'+X)+a0q[ac(0x1eb)](ac(0x213))+a0q[ac(0x1db)](ac(0x218))+a0q['gray'](ac(0x1e5))):W&&T>=-0x10*-0x202+0x20f2+-0x40ec?console[ac(0x179)](a0q[ac(0x190)](ac(0x17a))+a0q[ac(0x225)]['red'](ac(0x1b9))+a0q[ac(0x1eb)](ac(0x245))):console[ac(0x179)](a0q[ac(0x1eb)](ac(0x18e))+a0q[ac(0x190)](ac(0x253)+T)+a0q[ac(0x1eb)](ac(0x1d5))+a0q[ac(0x190)](ac(0x218))),console[ac(0x179)](),ac(0x16a);}if(u)return console[ac(0x179)](),console['log'](a0q[ac(0x1d3)](ac(0x195))),console['log'](a0q[ac(0x1eb)](ac(0x204))+a0q[ac(0x190)]('submit\x20<flag>')+a0q[ac(0x1eb)](ac(0x223))+a0q['white'](ac(0x182))+a0q['gray'](ac(0x223))+a0q[ac(0x190)](ac(0x16a))),console[ac(0x179)](),ac(0x1c0);if(h>=d)return u=!(-0x263b*0x1+-0x10*-0x72+-0x1f1b*-0x1),console['log'](),console[ac(0x179)](a0q[ac(0x1a4)][ac(0x225)](ac(0x1c4))),console[ac(0x179)](a0q[ac(0x1eb)](ac(0x1ec))+a0q[ac(0x190)](ac(0x1da))+a0q[ac(0x1eb)](ac(0x223))+a0q[ac(0x190)](ac(0x182))+a0q[ac(0x1eb)](ac(0x223))+a0q['white'](ac(0x16a))),console[ac(0x179)](),ac(0x1c0);console['log'](a0q[ac(0x1eb)]('\x20\x20Thinking...'));try{const Y=await y['sendMessage'](q);process[ac(0x188)][ac(0x234)](ac(0x200)),h+=Y[ac(0x20f)];const {getRealExamState:Z,saveExamState:a0}=await import(ac(0x14d)),a1=Z(),a2={};a2[ac(0x218)]=0x0,a2[ac(0x1b9)]=0x0,(a1&&(a1[ac(0x1ad)]||(a1[ac(0x1ad)]=a2),a1[ac(0x1ad)]['ai4ctf']=h,a0(a1)),console[ac(0x179)](),a0B(Y['text']),m(),function(a3,a4,a5){const ad=ac,a6=a3/a4*(0x14*-0xb9+-0x19ff+0x2b9*0xf);a6>=-0x1c02+0x122+-0x915*-0x3&&!a5[ad(0x1cb)]('95')?(console[ad(0x179)](a0q[ad(0x1a4)][ad(0x225)](ad(0x156)+Math[ad(0x1cd)](a6)+ad(0x1e0)+(a4-a3)+ad(0x21d))),a5[ad(0x1c8)]('95')):a6>=0xcc1*-0x3+0x1*0x14a2+-0x3*-0x5fb&&!a5[ad(0x1cb)]('80')?(console[ad(0x179)](a0q[ad(0x1d3)]('\x20\x20⚠\x2080%\x20of\x20section\x20AI\x20budget\x20used.')),a5[ad(0x1c8)]('80')):a6>=0x3a*-0x1c+-0x4cc+0x1*0xb56&&!a5['has']('50')&&(console[ad(0x179)](a0q[ad(0x1eb)](ad(0x192))),a5['add']('50'));}(h,d,w),console[ac(0x179)]());}catch(a3){process[ac(0x188)][ac(0x234)](ac(0x200)),a0C('AI\x20error:\x20'+a3[ac(0x21e)]),console[ac(0x179)]();}return ac(0x1c0);}export function registerAi4ctfCommand(b){const ae=a0j;b[ae(0x201)](ae(0x218))[ae(0x180)](ae(0x1fc))['action'](async()=>{const af=ae;a0A(af(0x218));const {getRealExamState:j}=await import(af(0x14d)),k=j(),q=k?.['questions'][af(0x15f)](A=>A[af(0x1b0)]>=0x39*-0x81+0x28*-0x46+0x10c*0x26&&A['number']<=-0x8*-0x394+0x14ae+0x2*-0x1894);if(k&&q){const A=k[af(0x242)]||-0x2585+-0x251a+0x4aa0;if(A<0x25*-0xf7+-0x167f+0x1*0x3a51||A>0x1*0xec3+-0x11*0x67+-0x18e*0x5)return console[af(0x179)](),console[af(0x179)](a0q[af(0x1d3)](af(0x20e))),console[af(0x179)](a0q[af(0x1eb)](af(0x1c3)+A+af(0x151))),console[af(0x179)](a0q['gray']('\x20\x20\x20\x20→\x20')+a0q[af(0x225)][af(0x1db)]('exam\x20q\x2031')),void console[af(0x179)]();const B=k[af(0x1ca)][af(0x202)](C=>C['number']===A);return B?void await async function(C,D){const ag=af,{getRealExamState:E,refetchQuestionDataIfStale:F,materializeAttachedData:G}=await import(ag(0x14d));await F();const H=E();if(!H)return!(-0x237+-0xa07*0x2+-0x2*-0xb23);const I=H[ag(0x1ca)][ag(0x202)](L=>L[ag(0x1b0)]===C);I&&(D=I),G(C,D?.[ag(0x220)]);const J=H[ag(0x1ad)]?.[ag(0x218)]??0x1813+0x18e2+-0x97*0x53;if(J>=d)return console[ag(0x179)](),console[ag(0x179)](a0q[ag(0x1d3)]('\x20\x20⚠\x20Your\x20AI4CTF\x20token\x20budget\x20is\x20exhausted.')),console[ag(0x179)](a0q['gray'](ag(0x20d))+a0q[ag(0x190)](ag(0x1ff)+C+ag(0x16b))),console[ag(0x179)](),!(-0xdb8+-0x18d*0x9+-0x1bae*-0x1);try{y=await a0v(void(-0xeb*-0x1+0x16b3*0x1+-0x179e),function(L,M){const ah=ag,N=L[ah(0x180)]||L[ah(0x1f4)]||'',O=L[ah(0x220)]?ah(0x172)+M+ah(0x1f6)+L[ah(0x220)]:'';return ah(0x15e)+M+',\x20'+L[ah(0x1e4)]+',\x20'+(L[ah(0x237)]||-0x124a+-0x11b5*-0x2+0x18e*-0xb)+'\x20points):\x0a'+N+O+ah(0x1f2)+M+ah(0x1f5);}(D,C));}catch(L){return a0C(L[ag(0x21e)]),!(0x1*0x26c3+-0x1d*-0xe5+-0x40b3);}r=!(0xa72+-0xb9e+0x12c),h=J,u=!(-0x17e*0x4+0x167*0x1a+-0x1e7d),f={'qNum':C,'question':D,'usageField':ag(0x218),'enteredAt':Date['now'](),'hintsUsed':new Set(),'submitAttempted':!(0x2108+0x5*-0xcc+-0x1d0b),'nudgeShown':!(-0xcd*-0x1d+-0x5fe*0x1+-0x113a)};const K=H[ag(0x1ee)]?.[C];return function(M,N,O){const ai=ag,P=a0z()[ai(0x1be)]||ai(0x176),Q=h>-0x12f+-0x97b+0xaaa;console[ai(0x179)](),console[ai(0x179)](a0q['green'][ai(0x225)](ai(0x1a9)+N+':\x20'+M['category']+ai(0x1ab))),Q&&console['log'](a0q[ai(0x1eb)](ai(0x23b))),O&&console[ai(0x179)](a0q[ai(0x1eb)](ai(0x249))+a0q[ai(0x1d3)](O)+a0q[ai(0x1eb)](ai(0x161))),console[ai(0x179)](),console['log'](a0q['cyan'](ai(0x1e9))),console[ai(0x179)](a0q[ai(0x1db)]('\x20\x20│\x20')+a0q[ai(0x225)][ai(0x190)]('Q'+N+ai(0x24c)+M[ai(0x1e4)]+']\x20\x20·\x20'+(M[ai(0x237)]||-0x2cc*0xd+-0x12ee*-0x1+0x1174)+ai(0x1d6))),console[ai(0x179)](a0q[ai(0x1db)](ai(0x205)));for(const R of String(M['text'])['split']('\x0a')){const S=R[ai(0x206)]>0x5*-0x67f+-0xdbb+0x2*0x1739?R[ai(0x221)](-0x25af+0x1216+0x1399,0xb7*0x2f+-0x329*0xa+-0x1c6)+ai(0x248):R;console[ai(0x179)](a0q['cyan'](ai(0x254))+a0q[ai(0x190)](S));}console[ai(0x179)](a0q[ai(0x1db)](ai(0x205))),console[ai(0x179)](a0q[ai(0x1db)]('\x20\x20│\x20')+a0q['gray'](ai(0x212))+a0q['white'](ai(0x253)+N)),console[ai(0x179)](a0q['cyan'](ai(0x254))+a0q[ai(0x1eb)](ai(0x149))),console[ai(0x179)](a0q[ai(0x1db)](ai(0x16e))),console['log'](),console[ai(0x179)](a0q[ai(0x225)][ai(0x190)](ai(0x1b4))),console[ai(0x179)](),console[ai(0x179)](a0q['yellow']('\x20\x20\x20\x20hint\x20a')+a0q[ai(0x1eb)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20A\x20gentle\x20nudge\x20(pre-written)')),console[ai(0x179)](a0q[ai(0x1d3)](ai(0x1e7))+a0q[ai(0x1eb)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Technique\x20hint\x20(pre-written)')),console[ai(0x179)](a0q[ai(0x1d3)]('\x20\x20\x20\x20hint\x20c')+a0q[ai(0x1eb)](ai(0x24b))),console['log'](a0q['bold'][ai(0x14f)](ai(0x24d))+a0q['gray'](ai(0x239))),console[ai(0x179)](a0q[ai(0x190)](ai(0x16c))+a0q[ai(0x1eb)](ai(0x23d))),console[ai(0x179)](a0q[ai(0x1eb)](ai(0x17c))),console[ai(0x179)](a0q[ai(0x1eb)](ai(0x18d))+a0q['white']('\x22how\x20do\x20I\x20decrypt\x20AES-CBC\x20in\x20Python?\x22')),console['log'](),console[ai(0x179)](a0q[ai(0x1eb)](ai(0x177))+a0q[ai(0x1eb)](ai(0x20b))),console[ai(0x179)](a0q['gray'](ai(0x1c6))+a0q[ai(0x1eb)](ai(0x1aa))),console[ai(0x179)](),m(),console[ai(0x179)](a0q['gray']('\x20\x20Model:\x20Google\x20Gemma\x204\x20('+P+')')),console[ai(0x179)]();}(D,C,K),!(-0x17*-0x77+-0x1*-0x208b+-0x2b3c);}(A,B):void a0C('Q'+A+af(0x203)+A);}const v={};v[af(0x1af)]=af(0x150),v[af(0x1e4)]='Cryptography';const x=a0z()[af(0x1be)]||af(0x176),z=v;try{y=await a0v(z);}catch(C){return void a0C(C[af(0x21e)]);}r=!(0x6a7*-0x2+-0x267c+-0xe*-0x3b3),h=0x293*0x2+-0x2133+0xa7*0x2b,u=!(-0xc82+0x803*0x4+0x1389*-0x1),console['log'](),console[af(0x179)](a0q[af(0x14f)][af(0x225)]('\x20\x20═══\x20'+a0D(af(0x1a3))+af(0x1ab))),console[af(0x179)](),console[af(0x179)](a0q[af(0x190)]('\x20\x20'+a0D(af(0x1f9)))),console[af(0x179)](),console['log'](a0q[af(0x1db)](af(0x1e9))),console[af(0x179)](a0q[af(0x1db)](af(0x254))+a0q['bold'][af(0x190)](a0D(af(0x23e)))),console[af(0x179)](a0q[af(0x1db)](af(0x205))),console[af(0x179)](a0q['cyan'](af(0x254))+a0q[af(0x190)](a0D(af(0x219)))),console[af(0x179)](a0q[af(0x1db)]('\x20\x20│\x20')+a0q[af(0x14f)]('aWNvYXt3M2xjMG1lXzJfYWk0Y3RmfQ==')),console[af(0x179)](a0q[af(0x1db)](af(0x205))),console[af(0x179)](a0q['cyan'](af(0x254))+a0q[af(0x190)](a0D(af(0x1e2)))),console[af(0x179)](a0q[af(0x1db)](af(0x254))+a0q[af(0x1eb)](af(0x23a))),console[af(0x179)](a0q[af(0x1db)]('\x20\x20└─────────────────────────────────────────────')),console[af(0x179)](),console[af(0x179)](a0q['white']('\x20\x20'+a0D(af(0x1bc)))),console['log'](),console[af(0x179)](a0q[af(0x1d3)]('\x20\x20\x20\x20hint\x20a')+a0q[af(0x1eb)](af(0x163)+a0D('ai4ctfHintA'))),console['log'](a0q['gray'](af(0x19d)+a0D(af(0x22e)))),console[af(0x179)](a0q['yellow'](af(0x1e7))+a0q[af(0x1eb)](af(0x163)+a0D(af(0x1a0)))),console[af(0x179)](a0q[af(0x1eb)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0D(af(0x252)))),console['log'](a0q[af(0x1d3)](af(0x232))+a0q['gray'](af(0x163)+a0D(af(0x187)))),console[af(0x179)](a0q[af(0x1eb)](af(0x19d)+a0D(af(0x24f)))),console[af(0x179)](),console[af(0x179)](a0q[af(0x1eb)](af(0x159))),console[af(0x179)](a0q[af(0x225)][af(0x190)]('\x20\x20'+a0D(af(0x199)))),console[af(0x179)]('\x20\x20\x20\x20'+a0q['cyan'](af(0x1ce))+a0q[af(0x1eb)](af(0x173)+a0D(af(0x22b)))),console[af(0x179)]('\x20\x20\x20\x20'+a0q[af(0x1db)](af(0x178))+a0q[af(0x1eb)](af(0x173)+a0D('ai4ctfHintTechnique'))),console['log'](af(0x163)+a0q['cyan'](af(0x247))+a0q[af(0x1eb)](af(0x173)+a0D(af(0x217)))),console[af(0x179)](a0q[af(0x1eb)](af(0x163)+a0D('ai4ctfWelcomeNoReveal'))),console['log'](),console['log'](a0q[af(0x190)]('\x20\x20'+a0D(af(0x227)))),console['log'](a0q['gray']('\x20\x20'+a0D('ai4ctfOrChatExample')+'\x20')+a0q[af(0x190)](af(0x1d9))),console[af(0x179)](),console[af(0x179)](a0q[af(0x1d3)]('\x20\x20'+a0D(af(0x22d)))),console[af(0x179)](a0q['white'](af(0x1d0))+a0q[af(0x1eb)](a0D(af(0x214)))),console['log'](a0q[af(0x190)]('\x20\x20\x20\x20submit\x20<flag>\x20\x20\x20')+a0q[af(0x1eb)](a0D(af(0x15b)))),console[af(0x179)](a0q['white']('\x20\x20\x20\x20!<shell\x20cmd>\x20\x20\x20\x20')+a0q[af(0x1eb)](a0D(af(0x14b)))),console['log'](a0q[af(0x1eb)](af(0x18d))+a0q[af(0x190)](af(0x23f))),console[af(0x179)](a0q[af(0x1eb)]('\x20\x20\x20\x20exit\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0D(af(0x1f0)))),console[af(0x179)](),m(),console[af(0x179)](a0q[af(0x1eb)]('\x20\x20'+a0D(af(0x1f1))+af(0x162)+x+')')),console['log'](a0q['gray']('\x20\x20'+a0D(af(0x186)))),console['log']();});}function a0b(){const aj=['icaGicaGicaHzwnOBYbHv052wvH0m00YEgPnrZfSwhPkzLLxAZbzm1jTzLe9psb8igjHC2u2ncaTza','ywK0y3rMu2fTCgXL','Dg9vChbLCKnHC2u','mteWodHpwwXWsfG','q2HHDcb3AxrOihLVDxiGquKGDgvHBw1HDgu','ig5VDcbMB3vUzcbPBIbZDgf0zs4','BM9KztPJAgLSzf9WCM9JzxnZ','zxHHBsbHBNn3zxiG','g1SXqrTBmKS','y29TBwfUza','zMLUza','ig5VDcbMB3vUzcbPBIbZDgf0zs4Gvhj5oIbLEgfTiheG','icbtDgLSBcbHDMfPBgfIBgu6ia','icdILii','BgvUz3rO','ywK0y3rMrgvJB2rLza','ywK0y3rMsgLUDencB2r5','mtDrDhPPsLm','iIbSB29RCYbSAwTLigfUie1dusbSzxr0zxiSig5VDcbHigzSywCU','icaGicaGicaGicaGieXLyxzLignOyxqSihjLDhvYBIb0BYbLEgfT','icbfCNjVCJOG','icbzB3uGy2fUihn0AwXSihn1yM1PDcbHigzSywCGzgLYzwn0BhK6ia','icbHAtrJDgyGAxmGyxzHAwXHyMXLig9UifeZmEkaKZm4icHbstrdveyGC2vJDgLVBIKU','Dg9Rzw5ZvxnLza','ywK0y3rMv3jHCeXPBMuXqM9KEq','ywK0y3rMv3jHCff1B3rHrM9VDgvY','rNvSBcbXDwvZDgLVBJOGia','iokaLcb0ExbLia','ywK0y3rMq21KsgLUDeXPBMu','ywK0y3rMv3jHCe5LEhrcB2r5','icdILRGG','ywK0y3rMsgLUDfbYAw5JAxbSzq','ywK0y3rM','ywK0y3rMsw50zxjJzxb0zwq','ihjLy29YzgvKoIa','Bwf0y2G','icaGicaGicbPy29HE3CZBgmWBwvFmL9HAtrJDgz9','ihrVA2vUCYbSzwz0lG','BwvZC2fNzq','ywK0y3rMv3jHCe5LEhrtDwi','yxr0ywnOzwreyxrH','C2XPy2u','BM93','imk3ia','C3vIBwL0ieLdt0f7Ew91CL9MBgfNFq','yM9Sza','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDs9HCgKVAwnVys9Kzw1Vlxn0yxrZ','ywK0y3rMt3jdAgf0','E25VuhjVz30','BNvKz2vtAg93BG','ywK0y3rMrxHPDenTzejHy2S','ywK0y3rMsgLUDe51zgDL','ywK0y3rMrxHPDe5LEhrtDwi','ywK0y3rMq29TBwfUzhm','ywK0y3rMsgLUDefvC2vZ','ue9tva','ywK0y3rMuMv2zwfStg9JA05VDgu','ywK0y3rMv3jVBMDgBgfN','icaGigHPBNqGyW','ywK0y3rMsgLUDe5LEhrd','D3jPDgu','icaGicaODhLWzsbPDcbYAwDODcbOzxjLigLUihrOAxmGy2HHDcdIGjqGBM90igfZigeGC2HLBgWGy29TBwfUzcK','ywK0y3rMsgLUDe5LEhrb','Cg9PBNrZ','mZe3mJuWz3vpteLx','ifn1yM1PDcb5B3vYigzSywCGzM9YihrOAxmGCxvLC3rPB24','rMXHzYbMB3jTyxq6igLJB2f7lI4UFq','icaOCMvZDw1PBMCG4OcuihbYAw9YignOyxqGAxmGBM90ihjLBwvTyMvYzwqSigj1Dcb0B2TLBNmGywXYzwfKEsb1C2vKihn0yxKGzgvKDwn0zwqP','icaGicbJDgy0ywK','icaGicbsDw4GuhL0Ag9UigLUihnOzwXS','ywK0y3rMq2HHBgXLBMDL','iwvJAg8GyvDoDI4UlIb8igjHC2u2ncaTza','ywK0y3rMv3jHCfr5CgvdDgy0ywK','icbbstrdveyGy2HHDcbLBMrLzcbMB3iGuq','x2XHC3rr','ywK0y3rMv3jHCff1B3rHqG','q29TBwfUzcbMywLSzwq','igzVCIbrmZK','icdINjmGuq','AgLUDcbJ','lI4U','icbdDxjYzw50igfUC3DLCJOG','ywK0y3rMv3jHCff1B3rHqKHPBNq','icaGicaGicaGicblzxKGyNjLywT0AhjVDwDOicHWCMuTD3jPDhrLBIK','icbB','icaGihn1yM1PDcbjq09bEY4UlN0','nJG5nZHtse1AvLm','ywK0y3rMsgLUDenvC2vZ','iwvJAg8GyvDoDLLyDdnnmNHQtuCXBfH6sMzzv2SWwtnsBwzrpt0GFcbIyxnLnJqGlwq','y2XLyxi','ywK0y3rMsgLUDejvC2vZ','zxHHBsbXia','icdILiiG','rMXHzYbMB3jTyxq6icaGieLdt0f7lI4UFq','quK0q1rgihnLy3rPB24','ywK0y3rMq21Ku2HLBgXmAw5L','ywK0y3rMv3jHCe5LEhruAxrSzq','lI4VBgLIl2v4yw0TC3rHDguUANm','yxbWBgLJyxrPB24VANnVBG','z3jLzw4','sgLKzgvUie1LC3nHz2u','lIbkDw1WihrOzxjLigzPCNn0oG','CMvWBgfJzq','sgLUDca','ywK0y3rMtg9JA2vKvxnL','ywK0y3rMv3jHCeXPBMuYqM9KEq','icdIMQaG','iokaLca','Dg9mB3DLCKnHC2u','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','icaGie5VihbYzs13CML0DgvUigHPBNqGyxqGDgHPCYb0AwvYigzVCIb0AgLZihf1zxn0Aw9UlG','ywK0y3rMu3vIBwL0q21K','mtCZntKXnMrrAePMAa','AM9PBG','ww91igfYzsbHBIbbssb0zwfTBwf0zsbOzwXWAw5NigeGy29UDgvZDgfUDcbZB2X2zsbHBIbjq09bidiWmJyGy3LIzxjZzwn1CML0EsbLEgfTihf1zxn0Aw9UlGOkq1vsuKvovcbrvuvtveLptIaOuq','C29Tzq','ChvZAa','icaOC3vIBwL0igfNywLUihrVignOyw5NzsK','oIbhB29NBguGr2vTBweGncaO','icaGia','ywK0y3rMrMXHz0HPBNq','CMvWzwf0','icaGidiUia','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','AgLUDhnvC2vK','icaGicHhCMfKAw5NigHHChbLBNmGyxqGzxHHBsbZDwjTAxqG4OcuihLVDsbJyw5UB3qGChjLDMLLDYbJB3jYzwn0BMvZCYbKDxjPBMCGDgHLigv4yw0Ukq','zxHPDa','ieLdt0f7lI4UFq','icaGicfWExrOB24Zic4UlG','icaGicbIywnR','icdILjtILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','icaGicaGigHPBNqGyIaGia','icaKia','AgLUDhm','cGPbvfrbq0HfrcbeqvrbicHHBhnVihnHDMvKihrVignOywXSzw5NzxmVCq','icaG4OAsia','C3vIBwL0qxr0zw1WDgvK','yw5ZD2vYx3n1yM1PDhrLza','z2vTBweTnc0ZmwiTAxq','icaGigv4Axq','AgLUDcbI','Bg9N','icbbstrdveyGC2vJDgLVBIbJB21WBgv0zsdIGjqG','C3vIBwL0ia','icaGieP1C3qGDhLWzsbMCMvLBhKGDg8Gy2HHDcb3AxrOihrOzsbbssb0zwfTBwf0zs4','icbozxH0oIa','DhjPBq','ywK0y3rMv3jHCfrPDgXL','zgvZy3jPChrPB24','sunpqxT5B3vYx2zSywD9','ixnOzwXS','ywK0y3rMtg9JA2vKvgL0Bgu','DxrMltG','ywK0y3rMuMv2zwfSvgHLBLn1yM1PDa','ywK0y3rMrxHPDa','ywK0y3rMsgLUDem','C3rKB3v0','ywK0y3rMv3jHCff1B3rHq0HPBNq','mZKXotuZnNHpueDtzG','ihrVig1VDMuGB24','icaGicaGicbZDwjTAxqGAwnVyxT3m2XJmg1LxZjFywK0y3rMFq','icaGicaGicaGicaGicaGicaGicbLlMCUia','icbszxn1Bwu6ia','ywK0y3rMv3jHCff1B3rHqW','D2HPDgu','icaGifjLywXSEsbZDhvJAZ8Gvhj5oIa','icboB3rLoIa1mcuGB2yGC2vJDgLVBIbbssbIDwrNzxqGDxnLzc4','zw5JB2rPBMC','DgHPBMTPBMC','icbbssbIDwrNzxqGzxHOyxvZDgvKigzVCIbbstrdveyGC2vJDgLVBI4','icaGicaGigHPBNqGysaGia','ywK0y3rMv3jHCff1B3rHC1rPDgXL','yMfJAW','ywK0y3rMv2vSy29Tzun0yq','ywK0y3rMv3jHCff1B3rHquHPBNq','C3rHCNrZv2L0Aa','ig9UifeZoq','icaGicaGicaGicaGica','C2L6zq','ywK0y3rMv3jHCff1B3rHqq','ywK0y3rMsgLUDei','icdINjmGqw5ZD2vYigzVCIbr','Aw50zxjHy3rPB25Z','ywK0y3rMvgL0Bgu','CMvK','ywK0y3rMtg9JA2vKvgHLBG','C3bSAxq','y2f0y2G','ywK0y3rMv291BgrfyxjU','icdILzdILzdILzaGquK0q1rgiokaLcbr','icaGicaGicaGicaGifjLDhvYBIb0BYbTywLUig1LBNuGkhDVCMTZigfUExDOzxjLkq','iokvKokvKokvKa','igfUC3DLCIb1CgrHDgvKoIa','ywLvC2fNzq','C2vUze1LC3nHz2u','BMfTzq','BNvTyMvY','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','ywK0y3rMuMv2zwfSvgL0Bgu','icaGideUia','icbiB3CGDg8GD29YAYb0AgLZihf1zxn0Aw9U','vg9Rzw5Z','icaGicaGicaGicfLy2HVigfxtNzzwhqZttj4AK1hmwXyEKPMwvDRmfKZuM1Mut09ihWGyMfZzty0ic1K','ywK0y3rMuMv2zwfSqM9KEq','q29UDgvUDc1uExbL','y3rMngfP','DMLHigfPngn0zIbJAgf0','icdWN5kHie9Uy2uGEw91igHHDMuGsunpqxSUlI59lcbZDwjTAxqGAxqGD2L0AdOG','ywK0y3rMtgv2zwXZ','CxvPDa','z2vTAw5Ptw9KzwW','mJC0mdK1mfbTBfvMqG','y29UDgLUDwu','Cu51Bq','ywK0y3rMvg9Rzw5Z','icbzB3uGyxjLig9Uife','icdIMQaGquK0q1rgihrVA2vUigj1zgDLDcbLEgHHDxn0zwqGkdi1ldaWmcb1C2vKks4','ywK0y3rMv3jHCe5VuhjVzW','icaGig1LBNu','icbbzNrLCIbLEgL0oIa','ywrK','DgLTzw91Da','CxvLC3rPB25Z','AgfZ','oIbhB29NBguGr2vTBweGncaOz2vTBweTnc0ZmwiTAxqP','CM91BMq','AgLUDcbH','igfNywLUihrVignOyw5NzsWGB3iG','icaGigHPBNqGysaVigiGlYbJica','yw5ZD2vYx2nOyw5Nzwq','ywK0y3rMsgLUDefcB2r5','EwvSBg93','DgvZDa','icdcTYaGuMuTzw50zxi6ia','ihb0CW','cIaG','mJmXnJe5nwXeCNPHtG','iNDOyxqGzw5JB2rPBMCGAxmGDgHPCZ8I','C3vIBwL0idXMBgfNpG','y3LHBG','ywK0y3rMuMvWB3j0','CgfKrw5K','zw50zxjLzef0','icaGicaGicaGicaG','jsbVzIbZzwn0Aw9Uiefjigj1zgDLDcb1C2vKiokaLcbVBMX5ih4','mtmYntznD3HfyMW','ywK0y3rMrgvJB2rL','Dg9ju09tDhjPBMC','y2f0zwDVCNK','ihrVignVBNrPBNvL','icbr','icaGigHPBNqGyG','C3vIBwL0ieLdt0f7lI4UFq','icdILiZILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','lIbuCNKGywDHAw4GAw5ZAwrLihrOAxmGy2HHDc4','z3jHEq','icbzB3uGy2fUihn0AwXSoIa','ywK0y3rMuMv2zwfSu2vLrMXHzW','yw5ZD2vYCW','C3rYAw5NAwz5','ywK0y3rMrw5Ku2vZC2LVBG','ywK0y3rMtw9KzwW','cGPzt1vsifjvtevtoGOTifLVDsbnqvKGzxHWBgfPBIbJB25Jzxb0CYWGzgvZy3jPyMuGyxbWCM9Hy2HLCYWGyw5KigHLBhaGDgHLignVBNrLC3rHBNqGCMvHC29UihrOCM91z2GGDgHLihbYB2jSzw0UcI0Gww91ie1bwsbKAxnJDxnZihrOzsb0zwnOBM9SB2D5igLUDM9SDMvKicHbrvmSihb3BNrVB2XZlcbqExrOB24GC3rYDwn0lcbivfrqlcbLDgmUks4klsbzB3uGtufzigHLBhaGzgvIDwCGuhL0Ag9UignVzguGDgHLignVBNrLC3rHBNqGD3jPDgvZlGOTifLVDsbnvvnuie5pvcbYzxzLywWGDgHLigzSywCGzgLYzwn0BhKUcI0Gww91ie1vu1qGtK9uig91Dhb1DcbHBNKGC3rYAw5Nig1HDgnOAw5NieLdt0f7lI4UFsbVCIbPy29HEY4UlN0UcI0Gww91ie1vu1qGtK9uihrLBgWGDgHLignVBNrLC3rHBNqGDgHLigv4ywn0igfUC3DLCIb0BYb0AgLZihf1zxn0Aw9UlGOTifLVDsbnqvKGC3vNz2vZDcb3AgLJAcb0B29Sic8GBgLICMfYEsaVihrLy2HUAxf1zsb0BYb1C2uUcI0Gv2HLBIbZDwDNzxn0Aw5NihnOzwXSic8GChL0Ag9UihnUAxbWzxrZihrOyxqGBMvLzcb0AguGyxr0ywnOzwqGzgf0ysWGCMvMzxiGDg8GDgHLigzPBguGCgf0AcbJAgfSBgvUz2vZl3e','ywK0y3rMsgLUDee','Dgv4Da','lNr4DcaOAw5ZAwrLihrOzsbZyw5KyM94ksbYyxrOzxiGDgHHBIbHC2TPBMCGDgHLignVBNrLC3rHBNqGDg8GCgfZDguGDgHLihDOB2XLigjSB2iGyMfJAY4klsblzwvWihjLC3bVBNnLCYbJB25JAxnLigfUzcbWCMfJDgLJywWUifrOAxmGy29UDgvZDgfUDcbOyxmGBgLTAxrLzcb0Aw1LlG','lNr4DcbPBNnPzguGDgHLignVBNrLC3rHBNqNCYbZyw5KyM94iokaLcbWyxrOigLZihjLBgf0AxzLihrVihrOzsbZyw5KyM94j3mGl2HVBwuVy29TCgv0AxrVCIb3B3jRAw5NigrPCMvJDg9YEsWGCMvHy2HHyMXLigzYB20Gyw55icfZAgvSBcaVicfWExrOB24ZigLUDM9JyxrPB24PoGO','icdILRGGsgLUDca'];a0b=function(){return aj;};return a0b();}
1
+ (function(b,j){const a7=a0j,k=b();while(!![]){try{const q=-parseInt(a7(0x16c))/(-0x8a3+0x1*0x1a81+-0x11dd)+parseInt(a7(0x17c))/(0x31*0x47+0xf28+-0x1*0x1cbd)+parseInt(a7(0x1ca))/(0x21db+0x1e0a+-0x3fe2)+parseInt(a7(0x206))/(-0x1a2c+-0x76+0x1aa6)+parseInt(a7(0x104))/(-0xa4e*0x2+0x21fb+-0xd5a)*(-parseInt(a7(0x192))/(0x56a*0x6+0x117f*-0x1+-0x4fd*0x3))+parseInt(a7(0x18a))/(-0x589+0x2*0x697+0x4b*-0x1a)+-parseInt(a7(0x14f))/(-0x18f5*0x1+-0x116c+0x2a69)*(parseInt(a7(0x18d))/(0x18d3*-0x1+0x8de+0xffe));if(q===j)break;else k['push'](k['shift']());}catch(v){k['push'](k['shift']());}}}(a0b,-0xb5b68+0xcdc5f*-0x1+0x23797a));import a0q from'chalk';import{createChatSession as a0v}from'../lib/gemini.js';function a0b(){const aj=['C3vIBwL0ia','Dg9vChbLCKnHC2u','mJy2mti0meHIv29uAq','icaI','Bg9N','ywK0y3rMtg9JA2vKvgHLBG','icaGigHPBNqGysaVigiGlYbJica','iwvJAg8GyvDoDI4UlIb8igjHC2u2ncaTza','zxHPDa','icbHAtrJDgyGAxmGyxzHAwXHyMXLig9UifeZmEkaKZm4icHbstrdveyGC2vJDgLVBIKU','rMXHzYbMB3jTyxq6igLJB2f7lI4UFq','z2vTAw5Ptw9KzwW','icdILRGGsgLUDca','C3rHCNrZv2L0Aa','C3vIBwL0ieLdt0f7lI4UFq','icaGihn1yM1PDca8zMXHzZ4Gica','mtmXota0nw9UzKX6Cq','ywK0y3rMuMv2zwfSu2vLrMXHzW','ihjLy29YzgvKoIa','mti1ntiZreTqrMHl','jsbVzIbZzwn0Aw9Uiefjigj1zgDLDcb1C2vKiokaLcbVBMX5ih4','icdILiZILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','ihrVignVBNrPBNvL','lI4VBgLIl2v4yw0TC3rHDguUANm','nJeWmK5btLDOtG','Cu51Bq','cGPzt1vsifjvtevtoGOTifLVDsbnqvKGzxHWBgfPBIbJB25Jzxb0CYWGzgvZy3jPyMuGyxbWCM9Hy2HLCYWGyw5KigHLBhaGDgHLignVBNrLC3rHBNqGCMvHC29UihrOCM91z2GGDgHLihbYB2jSzw0UcI0Gww91ie1bwsbKAxnJDxnZihrOzsb0zwnOBM9SB2D5igLUDM9SDMvKicHbrvmSihb3BNrVB2XZlcbqExrOB24GC3rYDwn0lcbivfrqlcbLDgmUks4klsbzB3uGtufzigHLBhaGzgvIDwCGuhL0Ag9UignVzguGDgHLignVBNrLC3rHBNqGD3jPDgvZlGOTifLVDsbnvvnuie5pvcbYzxzLywWGDgHLigzSywCGzgLYzwn0BhKUcI0Gww91ie1vu1qGtK9uig91Dhb1DcbHBNKGC3rYAw5Nig1HDgnOAw5NieLdt0f7lI4UFsbVCIbPy29HEY4UlN0UcI0Gww91ie1vu1qGtK9uihrLBgWGDgHLignVBNrLC3rHBNqGDgHLigv4ywn0igfUC3DLCIb0BYb0AgLZihf1zxn0Aw9UlGOTifLVDsbnqvKGC3vNz2vZDcb3AgLJAcb0B29Sic8GBgLICMfYEsaVihrLy2HUAxf1zsb0BYb1C2uUcI0Gv2HLBIbZDwDNzxn0Aw5NihnOzwXSic8GChL0Ag9UihnUAxbWzxrZihrOyxqGBMvLzcb0AguGyxr0ywnOzwqGzgf0ysWGCMvMzxiGDg8GDgHLigzPBguGCgf0AcbJAgfSBgvUz2vZl3e','D2HPDgu','ywK0y3rMt3jdAgf0','AgLUDhm','ywK0y3rMsgLUDencB2r5','ywK0y3rMv3jHCeXPBMuXsgvHza','ywK0y3rMvgHPBMTPBMC','DMLHigfPngn0zIbJAgf0','icaGicaGigHPBNqGysaGia','q3j5ChrVz3jHCgH5','icaGicaGicaGia','y29UDgLUDwu','icaGicaGicaGicaGifjLDhvYBIb0BYbTywLUig1LBNuGkhDVCMTZigfUExDOzxjLkq','icbozxH0oIa','icaGicaODhLWzsbPDcbYAwDODcbOzxjLigLUihrOAxmGy2HHDcdIGjqGBM90igfZigeGC2HLBgWGy29TBwfUzcK','C2L6zq','C3vIBwL0ieLdt0f7Ew91CL9MBgfNFq','ywK0y3rMrxHPDe5LEhrtDwi','lZuWmda','lIbuCNKGywDHAw4GAw5ZAwrLihrOAxmGy2HHDc4','CMvK','ywK0y3rMvg9Rzw5Z','Dg9ju09tDhjPBMC','ywK0y3rMrxHPDenTzejHy2S','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','ixnOzwXS','igfUC3DLCIb1CgrHDgvKoIa','ywK0y3rMsgLUDejcB2r5','ywK0y3rMsgLUDe5LEhrd','yM9Sza','lNr4DcaOAw5ZAwrLihrOzsbZyw5KyM94ksbYyxrOzxiGDgHHBIbHC2TPBMCGDgHLignVBNrLC3rHBNqGDg8GCgfZDguGDgHLihDOB2XLigjSB2iGyMfJAY4klsblzwvWihjLC3bVBNnLCYbJB25JAxnLigfUzcbWCMfJDgLJywWUifrOAxmGy29UDgvZDgfUDcbOyxmGBgLTAxrLzcb0Aw1LlG','icbbstrdveyGC2vJDgLVBIbJB21WBgv0zsdIGjqG','ywK0y3rMq21Ku2HLBgXmAw5L','icaGia','y2XLyxi','icdINjmGqw5ZD2vYigzVCIbr','iokaLca','icaGifjLywXSEsbZDhvJAZ8Gvhj5oIa','icdIMQaGodaLig9MihnLy3rPB24GquKGyNvKz2v0ihvZzwqU','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','ywK0y3rMsgLUDefcB2r5','icaKia','yw5ZD2vYx2nOyw5Nzwq','Aw50zxjHy3rPB25Z','icaGicaGicaGicbbigDLBNrSzsbUDwrNzsaOChjLlxDYAxr0zw4P','ywn0Aw9U','ywK0y3rMv3jVBMDgBgfN','icaGice8C2HLBgWGy21KpIaGica','ifn1yM1PDcb5B3vYigzSywCGzM9YihrOAxmGCxvLC3rPB24','C2vUze1LC3nHz2u','yw5ZD2vYCW','C29Tzq','icaGicaGicbPy29HE3CZBgmWBwvFmL9HAtrJDgz9','ywK0y3rMrgvJB2rLza','ndiZntKWnhnRAMfQDa','vg9Rzw5Z','z3jLzw4','CgfKrw5K','y2f0zwDVCNK','ywK0y3rM','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','CxvLC3rPB24','BM93','icaGicaGigHPBNqGyYaGia','BNvKz2vtAg93BG','icdILzdILzdILzaGquK0q1rgiokaLcbr','zxHHBsbXidmX','oIbhB29NBguGr2vTBweGncaO','D3jPDgu','y3rMngfP','q29TBwfUzcbMywLSzwq','zgvZy3jPChrPB24','AgLUDf91C2vK','AgfZ','icdILRGG','ywK0y3rMuMv2zwfSqM9KEq','ywK0y3rMsgLUDfrLy2HUAxf1zq','ywK0y3rMv3jHCff1B3rHqq','ihrVA2vUCYbSzwz0lG','ywK0y3rMv3jHCff1B3rHqW','C2XPy2u','CM91BMq','Cg9PBNrZ','icdIMQaG','icbB','icdcTYaGuMuTzw50zxi6ia','icbezxrLy3rLzcbMBgfNiokaLcb0CMvHDgLUzYbHCZOG','ywK0y3rMvgL0Bgu','AgLUDcbH','icaGifn0DwnRpYbuCNK6ia','ywK0y3rMuMv2zwfStg9JA05VDgu','icaGicaGicaGicaGica','icaGihn1yM1PDcbjq09bEY4UlN0','AgLUDcbI','icaGigv4Axq','ywK0y3rMrxHPDa','icaG4OAsia','zw5JB2rPBMC','y29TBwfUza','quKGzxjYB3i6ia','x2XHC3rr','cIaG','DxrMltG','icaGicaGicaGicbuzwnOBMLXDwuGAgLUDcaOChjLlxDYAxr0zw4P','icaGidiUia','icbnB2rLBdOGr29Vz2XLieDLBw1HidqGka','ywK0y3rMv3jHCff1B3rHC1rPDgXL','ywK0y3rMv3jHCff1B3rHquHPBNq','ChvZAa','ywK0y3rMrM91BMrgBgfN','icaGifbYzxzPB3vZoIa','icaGicaGia','BMfTzq','ywK0y3rMq29YCMvJDezSywC','ndm3mJK1nNrZDNnPtq','icaOC3vIBwL0igfNywLUihrVignOyw5NzsK','ywK0y3rMu3vIBwL0q21K','ywK0y3rMtg9JA2vKvxnL','z3jHEq','icaGicaGicaGicfLy2HVigfxtNzzwhqZttj4AK1hmwXyEKPMwvDRmfKZuM1Mut09ihWGyMfZzty0ic1K','icaGicfWExrOB24Zic4UlG','icaGig1LBNu','yvDoDLLyDdnnmNHQtuCXBfH6sMzzv2SWwtnsBwzrpt0','y3LHBG','zxHHBsbXia','icbszxn1Bwu6ia','ywK0y3rMoIa','icaGigHPBNqGyq','DgHPBMTPBMC','mtq5mhvyqM5lEq','CMvWBgfJzq','icaGicbsDw4GuhL0Ag9UigLUihnOzwXS','ig5VDcbMB3vUzcbPBIbZDgf0zs4','ue9tva','icaGicaGicaHzwnOBYbHv052wvH0m00YEgPnrZfSwhPkzLLxAZbzm1jTzLe9psb8igjHC2u2ncaTza','g1SXqrTBmKS','ywLvC2fNzq','ywK0y3rMsgLUDenvC2vZ','icbtDgLSBcbHDMfPBgfIBgu6ia','icbzB3uGy2fUihn0AwXSihn1yM1PDcbHigzSywCGzgLYzwn0BhK6ia','ww91igfYzsbHBIbbssb0zwfTBwf0zsbOzwXWAw5NigeGy29UDgvZDgfUDcbZB2X2zsbHBIbjq09bidiWmJyGy3LIzxjZzwn1CML0EsbLEgfTihf1zxn0Aw9UlGOkq1vsuKvovcbrvuvtveLptIaOuq','ywK0y3rMsgLUDe51zgDL','ywK0y3rMsgLUDefvC2vZ','ywK0y3rMv3jHCe5LEhruAxrSzq','ywK0y3rMrxHPDe5LEhrcB2r5','ywK0y3rMsgLUDei','yxr0ywnOzwreyxrH','xsaGWRCG','y2f0y2G','sunpqxT5B3vYx2zSywD9','icbiB3CGDg8GD29YAYb0AgLZihf1zxn0Aw9U','ywK0y3rMq21KsgLUDeXPBMu','Dg9mB3DLCKnHC2u','ywK0y3rMrxHPDe5LEhruAxrSzq','ywK0y3rMv3jHCe5LEhrcB2r5','ywK0y3rMv2vSy29Tzu5VuMv2zwfS','C3bSAxq','ywK0y3rMuMv2zwfSvgHLBLn1yM1PDa','ihDPBgWGB3bLBIbr','icaGicaGicaGicblzxKGyNjLywT0AhjVDwDOicHWCMuTD3jPDhrLBIK','BM9KztPJAgLSzf9WCM9JzxnZ','AgLUDcbJ','C3rKB3v0','CxvLC3rPB25Z','EwvSBg93','ywK0y3rMuMvWB3j0','ywK0y3rMu2fTCgXL','iokvKokvKokvKa','yxbWBgLJyxrPB24VANnVBG','icdILii','ywK0y3rMsgLUDem','iIbSB29RCYbSAwTLigfUie1dusbSzxr0zxiSig5VDcbHigzSywCU','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDs9HCgKVAwnVys9Kzw1Vlxn0yxrZ','oIbhB29NBguGr2vTBweGncaOz2vTBweTnc0ZmwiTAxqP','zxHHBsbHBNn3zxiG','icdILiiG','icbbzNrLCIbLEgL0oIbbstrdveyGC2vJDgLVBIbJB21WBgv0zs4GtMv4DdOG','icbbzNrLCIbLEgL0oIa','CxvPDa','icbuAgLUA2LUzY4UlG','icdIMQaGquK0q1rgihrVA2vUigj1zgDLDcbLEgHHDxn0zwqGkdi1ldaWmcb1C2vKks4','ywK0y3rMsgLUDfbYAw5JAxbSzq','lI4U','CMvWzwf0','BwvUDq','C3vIBwL0qxr0zw1WDgvK','C3vIBwL0idXMBgfNpG','icaGigHPBNqGyW','cGPbvfrbq0HfrcbeqvrbicHHBhnVihnHDMvKihrVignOywXSzw5NzxmVCq','ywK0y3rMsgLUDee','ywK0y3rMv3jHCff1B3rHqG','ywK0y3rMrxHPDenTze5LEhq','AgLUDhnvC2vK','icdWN5kHie9Uy2uGEw91igHHDMuGsunpqxSUlI59lcbZDwjTAxqGAxqGD2L0AdOG','iNDOyxqGzw5JB2rPBMCGAxmGDgHPCZ8I','q29UDgvUDc1uExbL','icbfCNjVCJOG','sgLKzgvUie1LC3nHz2u','Dg9Rzw5ZvxnLza','BgvUz3rO','ywK0y3rMsgLUDe5LEhrc','igfNywLUihrVignOyw5NzsWGB3iG','C3rYAw5NAwz5','Dgv4Da','mtq2ng5luurMBG','ywK0y3rMv3jHCe5VuhjVzW','BNvTyMvY','icaGiokgKIa','ieLdt0f7lI4UFq','ywK0y3rMv2vSy29Tzun0yq','imk3ia','iokaLcb0ExbLia','ywK0y3rMv3jHCff1B3rHq0HPBNq','icbgBgfNigzVCM1HDdOG','iwvJAg8GyvDoDLLyDdnnmNHQtuCXBfH6sMzzv2SWwtnsBwzrpt0GFcbIyxnLnJqGlwq','icaGicaGicbZDwjTAxqGAwnVyxT3m2XJmg1LxZjFywK0y3rMFq','ihrVig1VDMuGB24','ywK0y3rMv3jHCe5LEhrtDwi','DgvZDa','AM9PBG','icaGicHhCMfKAw5NigHHChbLBNmGyxqGzxHHBsbZDwjTAxqG4OcuihLVDsbJyw5UB3qGChjLDMLLDYbJB3jYzwn0BMvZCYbKDxjPBMCGDgHLigv4yw0Ukq','icaGicaGicaGicaGicaGicaGicbLlMCUia','BwvZC2fNzq','lIbkDw1WihrOzxjLigzPCNn0oG','DhjPBq','ywK0y3rMv3jHCfrPDgXL','icdILjtILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','ywK0y3rMv3jHCfr5CgvdDgy0ywK','icbzB3uGyxjLig9Uife','icaGigHPBNqGyG','yMfJAW','icaGideUia','DgLTzw91Da','ndmXmtGWC2zuAKnT','rMXHzYbMB3jTyxq6icaGieLdt0f7lI4UFq','Bwf0y2G','C3vIBwL0igLJB2f7DZnSyZbTzv8Yx2fPngn0zN0','zMLUza','z2vTBweTnc0ZmwiTAxq','igzVCIbrmZK','ywK0y3rMv3jHCeXPBMuXqM9KEq','Dg9Rzw5mAw1PDa','E25VuhjVz30','ywrK','ywK0y3rMv3jHCff1B3rHrM9VDgvY','icaGicaGicaGicaGieXLyxzLignOyxqSihjLDhvYBIb0BYbLEgfT','ywK0y3rMrgvJB2rL'];a0b=function(){return aj;};return a0b();}import{addTokenUsage as a0x}from'../lib/budget.js';import{getConfig as a0z}from'../lib/config.js';import{logCommand as a0A}from'../lib/logger.js';function a0j(a,b){a=a-(0x371+0x43a+0x1d*-0x3b);const c=a0b();let d=c[a];if(a0j['REhWXX']===undefined){var e=function(i){const j='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let l='',m='';for(let n=-0xf6e*-0x2+0x5a9+-0x2485*0x1,o,p,q=0x1d2e+0x56d+-0xb89*0x3;p=i['charAt'](q++);~p&&(o=n%(0x27*0x39+-0x878*-0x1+0x1123*-0x1)?o*(-0x5b1+0x12c+0x25*0x21)+p:p,n++%(0x1c3b+0x1f0f*0x1+0x9e1*-0x6))?l+=String['fromCharCode'](-0x1d03+-0x18a*-0x4+-0x1*-0x17da&o>>(-(-0x7*-0x1+-0x1fda+0x1fd5)*n&-0x1889*0x1+0x25b7+-0xd28)):-0x1097+0xad*0x5+0xd36){p=j['indexOf'](p);}for(let r=0x6*-0x608+0x11b9+0x1277,s=l['length'];r<s;r++){m+='%'+('00'+l['charCodeAt'](r)['toString'](-0x17a7+-0x1493+0x2*0x1625))['slice'](-(-0x5*-0x91+0x2bd*0x9+-0x3*0x928));}return decodeURIComponent(m);};a0j['bpyCdu']=e,a0j['OIFTHS']={},a0j['REhWXX']=!![];}const f=c[0x18e8+-0xb26+-0xdc2],g=a+f,h=a0j['OIFTHS'][g];return!h?(d=a0j['bpyCdu'](d),a0j['OIFTHS'][g]=d):d=h,d;}import{printMarkdown as a0B,printError as a0C}from'../lib/ui.js';import{t as a0D}from'../lib/i18n.js';import{getExamState as a0E,saveExamState as a0F}from'../lib/exam-state.js';const g=b=>new Promise(j=>setTimeout(j,b));let r=!(0x10f0+-0xbf2*0x3+0x1*0x12e7),y=null,h=-0x6f*0x21+0x1*-0x1a6b+0x1a*0x191,u=!(0x694*0x1+-0x26a0+-0x669*-0x5);const d=0x293*-0x47+-0x84bf*-0x1+0x49d7*0x2;let f=null;export function isChatActive(){return r;}function m(){const a8=a0j,b=f?d:0x1ff2+-0x1e49*-0x1+-0x283*0x11,j=h,k=Math['min'](Math[a8(0x1e5)](j/b*(-0x369*-0x3+-0x3b*0xd+-0x6d8)),0x6f*-0x3f+-0x1889+0x343e),q=Math[a8(0x1e5)](k/(-0x334*0xb+0x89*-0x1f+0x3437)*(0x6*-0x608+0x11b9+0x128b)),v=-0x17a7+-0x1493+0x35*0xd6-q,x=k>-0x5*-0x91+0x2bd*0x9+-0x3*0x90e?a0q[a8(0x1a8)]:k>0x18e8+-0xb26+-0xd90?a0q['yellow']:a0q[a8(0x1cc)],z=f?'AI4CTF\x20section':a8(0x1cb);console[a8(0x17e)](a0q[a8(0x20a)]('\x20\x20'+z+':\x20')+x('█'[a8(0x13a)](q))+a0q[a8(0x20a)]('░'[a8(0x13a)](v))+a0q[a8(0x20a)]('\x20'+j+'/'+b+'\x20('+k+'%)'));}export async function handleChatMessage(q){const a9=a0j;if(!y)return a9(0x182);if(a0A(a9(0x101)+q),f)return p(q);const v=q[a9(0x163)]()['toLowerCase']()[a9(0x16e)](/^hint\s+([abc])$/);if(v)return function(B){const aa=a9,C=a0D('a'===B?aa(0x140):'b'===B?aa(0x114):aa(0x12d)),D=a0D('a'===B?aa(0x1bc):'b'===B?aa(0x1af):aa(0x198)),E='Hint\x20'+B[aa(0x17b)](),F='a'===B?a0q[aa(0x1cc)]:'b'===B?a0q['yellow']:a0q[aa(0x1a8)];console['log'](),console[aa(0x17e)](F['bold'](aa(0x1de)+E+'\x20\x20')+a0q['gray'](C)),console[aa(0x17e)]();for(const G of D[aa(0x11f)]('\x0a'))''===G?console['log']():console[aa(0x17e)](a0q[aa(0x195)](aa(0x1b5)+G));console['log'](),'a'===B?(console[aa(0x17e)](a0q[aa(0x20a)](aa(0x1b5)+a0D('ai4ctfHintNextA')+'\x20')+a0q['cyan'](aa(0x1f1))),console['log']()):'b'===B&&(console[aa(0x17e)](a0q[aa(0x20a)](aa(0x1b5)+a0D(aa(0x14b))+'\x20')+a0q[aa(0xfe)]('hint\x20c')),console[aa(0x17e)]());}(v[0x17d*-0x7+-0x124+0x2e4*0x4]),a9(0x19f);const x=q[a9(0x16e)](/^submit\s+(.+)/i);if(x){let B=x[0x1d7*0x9+-0x97d+-0x711][a9(0x163)]();if(/^submit\s+/i[a9(0x15d)](B)&&(B=B[a9(0x105)](/^submit\s+/i,'')[a9(0x163)]()),B=B[a9(0x105)](/^["'`]+|["'`]+$/g,'')[a9(0x163)](),'icoa{w3lc0me_2_ai4ctf}'===B){console['log'](),console[a9(0x17e)](a0q['green'][a9(0x1b1)](a9(0x1bb))),console[a9(0x17e)](a0q[a9(0x1cc)][a9(0x1b1)]('\x20\x20'+a0D(a9(0x205)))),console[a9(0x17e)](a0q[a9(0x1cc)][a9(0x1b1)](a9(0x1bb))),console[a9(0x17e)](),console[a9(0x17e)](a0q[a9(0x195)]('\x20\x20'+a0D(a9(0x1c9)))),console[a9(0x17e)](a0q[a9(0x20a)]('\x20\x20'+a0D('ai4ctfWouldEarn'))),console[a9(0x17e)](),m(),r=!(0x1b73*0x1+-0x15c5+-0x5ad),y=null,fetch(a9(0x12f),{'method':'POST','headers':{'Content-Type':a9(0x12b)},'body':JSON['stringify']({'type':a9(0x1cf),'solved':!(-0x6a*-0x47+-0x1755+-0x1*0x611),'tokensUsed':h,'timestamp':new Date()[a9(0x1aa)]()}),'signal':AbortSignal[a9(0x16b)](-0x1c07+-0x2603+0x5592)})[a9(0x117)](()=>{}),await g(-0x2*-0xd76+-0x654+-0xebc),console['log'](),console[a9(0x17e)](a0q[a9(0xfe)]('\x20\x20─────────────────────────────────────────────')),console[a9(0x17e)](a0q[a9(0x1b1)][a9(0x195)]('\x20\x20'+a0D(a9(0x164)))),console[a9(0x17e)](a0q[a9(0xfe)](a9(0x1d0))),console[a9(0x17e)]();const C=a0D(a9(0x199)),D=a0D(a9(0x173));console[a9(0x17e)](a0q[a9(0x195)](a9(0x16a)+C+'\x20')+a0q[a9(0x20a)](D[a9(0x11f)]('\x0a')[-0x609*-0x4+-0x182a+0x1*0x6]||''));for(const H of D['split']('\x0a')[a9(0x1e4)](0xd6+0x1493*-0x1+0xe*0x169))H[a9(0x163)]()&&console[a9(0x17e)](a0q['gray'](a9(0x203)+H[a9(0x105)](/\{thinking\}/g,a9(0x103))));console[a9(0x17e)](),console[a9(0x17e)](a0q['white'](a9(0x1fc)+a0D('ai4ctfWrapLine2Head')+'\x20')+a0q[a9(0x20a)](a0D('ai4ctfWrapLine2Body'))),console[a9(0x17e)](),console[a9(0x17e)](a0q[a9(0xfe)](a9(0x20b))),console[a9(0x17e)](),await g(0x5*0x13d+-0x6*-0x1ab+0x863*-0x1),console['log'](a0q[a9(0xfe)](a9(0x1d0))),console[a9(0x17e)](a0q['bold']['white']('\x20\x20'+a0D(a9(0x1fe)))),console[a9(0x17e)](a0q[a9(0xfe)](a9(0x1d0))),console['log'](),console['log'](a0q['yellow'](a9(0x19c))+a0q[a9(0x195)](a0D(a9(0x1e1))[a9(0x1cd)](0xf78*0x1+0x1881*0x1+0xad*-0x3b))+a0q[a9(0x20a)](a0D(a9(0x1ff)))),console[a9(0x17e)](a0q[a9(0x127)]('\x20\x20\x20\x20\x20\x20\x20hint\x20b\x20\x20\x20')+a0q[a9(0x195)](a0D(a9(0x141))[a9(0x1cd)](0x26ff+-0x38*-0x11+-0x2a9d))+a0q[a9(0x20a)](a0D('ai4ctfWrapQuotaBHint'))),console['log'](a0q[a9(0x127)](a9(0x1d3))+a0q[a9(0x195)](a0D(a9(0x1e3))['padEnd'](0x1f58+0x142d*-0x1+-0xb11))+a0q['gray'](a0D(a9(0x157)))),console[a9(0x17e)]();for(const I of a0D(a9(0x177))[a9(0x11f)]('\x0a'))console['log'](a0q[a9(0x20a)](a9(0x1b5)+I));console[a9(0x17e)](),await g(-0x25*0x2a+-0x1238+0x201a),console[a9(0x17e)](a0q[a9(0xfe)](a9(0x1d0))),console['log'](a0q[a9(0x1b1)][a9(0x195)]('\x20\x20'+a0D(a9(0x112))+'\x20')+a0q[a9(0x1a8)][a9(0x1b1)](a9(0x1d9))+a0q[a9(0x195)](a9(0x1b8)+a0D(a9(0x15c)))),console[a9(0x17e)](a0q['cyan'](a9(0x1d0))),console['log']();const E=a0D(a9(0x11d)),F=a0D(a9(0x150)),G=E[a9(0x11f)]('\x0a');if(G[-0x3dc*0x7+-0xdea+0x28ee]){const [J,K]=G[0x2127+0x57*0x6+-0x3f*0x8f]['split'](a9(0x175));console[a9(0x17e)](a0q[a9(0x195)]('\x20\x20\x20\x20'+(J||''))+a0q[a9(0x1b1)][a9(0x195)](F)+a0q['white'](K||''));}for(const L of G[a9(0x1e4)](0xa5f+-0x2*0x2d5+0x1c*-0x2b))L['trim']()&&console[a9(0x17e)](a0q['white'](a9(0x1b5)+L));return console[a9(0x17e)](),console[a9(0x17e)](a0q[a9(0x20a)]('\x20\x20\x20\x20'+a0D(a9(0x166))+'\x20')+a0q[a9(0x1b1)]['red'](a9(0x1d9))),console[a9(0x17e)](),a9(0x182);}return console[a9(0x17e)](),console[a9(0x17e)](a0q[a9(0x1a8)]('\x20\x20'+a0D(a9(0x1c2)))),console[a9(0x17e)](a0q[a9(0x20a)]('\x20\x20'+a0D('ai4ctfFlagHint'))),console[a9(0x17e)](),a9(0x19f);}if(q[a9(0x187)]('!')){const M=q[a9(0x1e4)](0xbf2*0x1+0x1*0x431+-0x1022)[a9(0x163)]();if(!M)return a9(0x19f);try{const N={};N[a9(0x1f5)]='utf-8',N[a9(0x16b)]=0x2710;const {execSync:O}=await import(a9(0x123)),P=O(M,N)[a9(0x163)]();console[a9(0x17e)](),console[a9(0x17e)](a0q['gray'](a9(0x1bd))+a0q[a9(0x195)](M)),console[a9(0x17e)](a0q[a9(0x195)]('\x20\x20'+P['split']('\x0a')[a9(0x15e)](a9(0x1f9)))),console['log'](),console[a9(0x17e)](a0q[a9(0x20a)]('\x20\x20'+a0D(a9(0x201)))),console[a9(0x17e)]();}catch(Q){console['log'](),console[a9(0x17e)](a0q[a9(0x1a8)](a9(0x147)+(Q[a9(0x161)]?.['split']('\x0a')[-0x1a09+0x6d*-0x2b+0x2c58]||'Command\x20failed'))),console['log']();}return'continue';}const z={};z[a9(0x146)]=a9(0x12b);if(a9(0x182)===q||a9(0x169)===q||a9(0x135)===q||a9(0x13b)===q)return r=!(0x10cc+0x1*-0xfc3+-0x108),y=null,fetch('https://practice.icoa2026.au/api/icoa/demo-stats',{'method':a9(0x108),'headers':z,'body':JSON[a9(0x14d)]({'type':a9(0x1cf),'tokensUsed':h,'timestamp':new Date()[a9(0x1aa)]()}),'signal':AbortSignal[a9(0x16b)](0xe23+0x78+-0x4ed*-0x1)})[a9(0x117)](()=>{}),console[a9(0x17e)](),console['log'](a0q['gray'](a9(0x1ac))),console[a9(0x17e)](a0q['white']('\x20\x20'+a0D(a9(0x128)))),console['log'](a0q[a9(0x20a)]('\x20\x20'+a0D(a9(0x1a9))+':\x20'+h+a9(0x1a6))),console[a9(0x17e)](a0q['gray']('\x20\x20'+a0D('ai4ctfModel')+a9(0x130))),console[a9(0x17e)](a0q[a9(0x20a)](a9(0x1ac))),console[a9(0x17e)](),console['log'](a0q[a9(0xfe)](a9(0x1d0))),console[a9(0x17e)](a0q[a9(0x195)]('\x20\x20'+a0D(a9(0x11c))+'\x20')+a0q['bold'][a9(0x1a8)](a9(0x1d9))+a0q[a9(0x195)](a9(0x1b8)+a0D(a9(0x1a5)))),console[a9(0x17e)](a0q['gray']('\x20\x20'+a0D(a9(0x113)))),console[a9(0x17e)](a0q['cyan'](a9(0x1d0))),console['log'](),console[a9(0x17e)](a0q[a9(0x1b1)][a9(0x1a8)]('\x20\x20\x20\x20\x20ctf4ai')+a0q[a9(0x20a)](a9(0x19e)+a0D(a9(0x142)))),console['log'](a0q[a9(0x195)]('\x20\x20\x20\x20\x20back')+a0q['gray']('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0D(a9(0x1ab)))),console['log'](),a9(0x182);const A={};A[a9(0x146)]='application/json';if(!u&&h>=0xb21+0x1*0x391+0x4d6)return u=!(-0x1*0x1875+-0x2439+0x3cae),fetch(a9(0x12f),{'method':a9(0x108),'headers':A,'body':JSON[a9(0x14d)]({'type':'ai4ctf','solved':!(-0x31*-0x17+0x17fe+0x2*-0xe32),'tokensUsed':h,'timestamp':new Date()['toISOString']()}),'signal':AbortSignal['timeout'](-0x1*0xb73+0x19*0x7f+0x3a*0x52)})[a9(0x117)](()=>{}),console[a9(0x17e)](),console[a9(0x17e)](a0q['yellow']('\x20\x20'+a0D(a9(0x174)))),m(),(function(){const ab=a9;console['log'](),console['log'](a0q[ab(0x127)]('\x20\x20─────────────────────────────────────────────')),console['log'](a0q[ab(0x1b1)][ab(0x127)]('\x20\x20'+a0D('ai4ctfRevealTitle'))),console[ab(0x17e)](a0q[ab(0x127)](ab(0x1d0))),console[ab(0x17e)]();for(const R of a0D(ab(0x1df))[ab(0x11f)]('\x0a'))''===R?console[ab(0x17e)]():console[ab(0x17e)](a0q[ab(0x195)]('\x20\x20\x20\x20'+R));console['log'](),console[ab(0x17e)](a0q[ab(0xfe)](ab(0x109))),console[ab(0x17e)](),console[ab(0x17e)](a0q[ab(0x195)](ab(0x1b5)+a0D(ab(0x18b)))),console['log'](),console['log'](a0q[ab(0x1cc)](ab(0x1c8))),console[ab(0x17e)](),console[ab(0x17e)](a0q[ab(0x195)](ab(0x1b5)+a0D(ab(0x120)))),console[ab(0x17e)](),console[ab(0x17e)](a0q[ab(0xfe)](ab(0x15a))),console[ab(0x17e)](),console[ab(0x17e)](a0q['gray']('\x20\x20\x20\x20'+a0D(ab(0x1ee)))),console[ab(0x17e)]();}()),'continue';if(u)return console['log'](),console[a9(0x17e)](a0q[a9(0x127)]('\x20\x20'+a0D('ai4ctfLockedTitle'))),console[a9(0x17e)](a0q[a9(0x20a)]('\x20\x20'+a0D(a9(0x209))+'\x20')+a0q[a9(0xfe)](a9(0x159))),console[a9(0x17e)](a0q['gray']('\x20\x20'+a0D(a9(0x17f))+'\x20')+a0q['cyan'](a9(0x16f))),console[a9(0x17e)](),a9(0x19f);console[a9(0x17e)](a0q[a9(0x20a)]('\x20\x20'+a0D(a9(0x19a))));try{const R=await y['sendMessage'](q);process[a9(0x125)][a9(0x1d8)](a9(0x10a)),h+=R[a9(0x149)],a0x(R['tokensUsed']),console[a9(0x17e)](),a0B(R['text']),m(),console[a9(0x17e)]();}catch(S){process[a9(0x125)]['write']('\x1b[1A\x1b[2K'),a0C(a9(0x1f7)+S[a9(0x161)]),console['log']();}return a9(0x19f);}const w=new Set();async function p(q){const ac=a0j;if(!f||!y)return ac(0x182);const v=q[ac(0x163)](),x=v[ac(0x11b)](),z=(Date[ac(0x1d2)]()-f['enteredAt'])/(0x1*0x4a9+0xe320+-0x27*-0x11);if(!f[ac(0x1d4)]&&!f[ac(0x13c)]&&f[ac(0x143)][ac(0x1a3)]>=0x6*0x4da+0x6e1*0x3+-0x31bd&&z>=0x76+0x167a+0x16eb*-0x1&&(f['nudgeShown']=!(0x912*-0x1+-0x1c1*0x2+0xe6*0xe),console[ac(0x17e)](),console['log'](a0q['yellow'](ac(0x144))+a0q[ac(0x1b1)]['yellow'](ac(0x1a4))),console['log'](a0q['gray'](ac(0x1a2))),console[ac(0x17e)]()),/^ICOA\{[^}]+\}$/i[ac(0x15d)](v))return console[ac(0x17e)](),console[ac(0x17e)](a0q['gray'](ac(0x1ea))+a0q['white'](ac(0x17a)+v)),p(ac(0x17a)+v);const A=x[ac(0x16e)](/^hint\s+([abc])$/);if(A){const C=A[-0x1986+-0x8e6+-0x226d*-0x1]['toUpperCase']();f[ac(0x143)][ac(0x176)](C);const D=a0E();D&&(D[ac(0x1bf)]||(D[ac(0x1bf)]=[]),D['interactions'][ac(0x200)]({'ts':new Date()[ac(0x1aa)](),'q':f[ac(0x193)],'type':ac(0x1dc),'input':C}),a0F(D));const E=f[ac(0x1d1)][ac(0x197)],F=E?.[C],G='A'===C?a0q[ac(0x1cc)]:'B'===C?a0q[ac(0x127)]:a0q[ac(0x1a8)];if(console[ac(0x17e)](),console[ac(0x17e)](G[ac(0x1b1)](ac(0x186)+C)),console['log'](),F){for(const H of String(F)[ac(0x11f)]('\x0a'))console['log'](a0q[ac(0x195)](ac(0x1b5)+H));}else console[ac(0x17e)](a0q[ac(0x20a)]('\x20\x20\x20\x20No\x20pre-written\x20hint\x20at\x20this\x20tier\x20for\x20this\x20question.'));return console[ac(0x17e)](),'A'===C?console['log'](a0q['gray'](ac(0x1ed))+a0q[ac(0xfe)](ac(0x1f1))):'B'===C?console[ac(0x17e)](a0q[ac(0x20a)](ac(0x1b9))+a0q[ac(0xfe)](ac(0x124))):'C'===C&&console[ac(0x17e)](a0q[ac(0x20a)](ac(0x1b5)+a0D(ac(0x1b0))+'\x20')+a0q[ac(0x1b1)][ac(0x1cc)](ac(0x1a4))),console[ac(0x17e)](),'continue';}const B=v[ac(0x16e)](/^submit\s+(.+)/i);if(B){let I=B[0xd44+0xcad+-0x1*0x19f0]['trim']();if(/^submit\s+/i[ac(0x15d)](I)&&(I=I['replace'](/^submit\s+/i,'')[ac(0x163)]()),I=I[ac(0x105)](/^["'`]+|["'`]+$/g,'')[ac(0x163)](),/^[A-Da-d]$/[ac(0x15d)](I))return console[ac(0x17e)](),console[ac(0x17e)](a0q[ac(0x127)](ac(0x17d)+I+ac(0x12e))),console['log'](a0q['gray'](ac(0x158))+a0q[ac(0x1cc)](ac(0x118))+a0q['gray'](ac(0x1a7))),console[ac(0x17e)](),'continue';const {getExamState:J,saveExamState:K}=await import(ac(0x191)),L=J();if(!L)return ac(0x182);if(!L[ac(0x126)][ac(0x170)](O=>O['number']===f[ac(0x193)]))return console[ac(0x17e)](a0q[ac(0x1a8)]('\x20\x20Q'+f[ac(0x193)]+ac(0x107))),ac(0x19f);const M=L[ac(0x1c6)][f[ac(0x193)]];L[ac(0x1bf)]||(L[ac(0x1bf)]=[]),L[ac(0x1bf)][ac(0x200)]({'ts':new Date()['toISOString'](),'q':f[ac(0x193)],'type':M?ac(0x1be):'answer_submitted','input':I,'result':ac(0x19b)}),L[ac(0x1c6)][f[ac(0x193)]]=I;const N=f[ac(0x193)]+(0x17f1+-0x5c0*-0x2+-0x1f8*0x12);return L['_lastQ']=N<=-0xe6*0x1f+0x15*-0x86+-0x137f*-0x2?N:f[ac(0x193)],K(L),console[ac(0x17e)](),M?(console[ac(0x17e)](a0q[ac(0x1cc)]('\x20\x20✓\x20Q'+f['qNum']+ac(0x1ae))+a0q[ac(0x127)](I)),console[ac(0x17e)](a0q[ac(0x20a)](ac(0x202)+M))):console[ac(0x17e)](a0q[ac(0x1cc)]['bold'](ac(0x1b7)+f[ac(0x193)]+ac(0x18c)+I)),console[ac(0x17e)](a0q['gray'](ac(0x15f))),console[ac(0x17e)](),console['log'](a0q[ac(0x20a)]('\x20\x20')+a0q[ac(0x195)](ac(0x188))+a0q[ac(0x20a)](ac(0x14c))+a0q['white']('exit')+a0q[ac(0x20a)](ac(0x15b))),N<=0x6*-0x434+-0x665+0x2f*0xad?console['log'](a0q[ac(0x20a)](ac(0x134))+a0q[ac(0xfe)](ac(0x1cf))+a0q['gray'](ac(0x121)+N)):console[ac(0x17e)](a0q['gray'](ac(0x133))+a0q[ac(0x1a8)](ac(0x1d9))+a0q['gray']('\x20on\x20Q39')),console[ac(0x17e)](),ac(0x19f);}if(q[ac(0x187)]('!')){const O=q[ac(0x1e4)](-0x11f+-0x541+0x661)[ac(0x163)]();if(!O)return ac(0x19f);try{const P={};P[ac(0x1f5)]=ac(0x1fa),P[ac(0x16b)]=0x2710;const {execSync:Q}=await import(ac(0x123)),R=Q(O,P)[ac(0x163)]();console['log'](),console['log'](a0q[ac(0x20a)](ac(0x1bd))+a0q['white'](O)),console[ac(0x17e)](a0q[ac(0x195)]('\x20\x20'+R[ac(0x11f)]('\x0a')['join'](ac(0x1f9)))),console[ac(0x17e)]();}catch(S){console[ac(0x17e)](),console[ac(0x17e)](a0q[ac(0x1a8)](ac(0x147)+(S['message']?.[ac(0x11f)]('\x0a')[0x212d+-0x2530+0x403*0x1]||ac(0x1da)))),console['log']();}return ac(0x19f);}if('exit'===x||ac(0x169)===x||ac(0x135)===x){const T=f[ac(0x193)],{getExamState:U}=await import(ac(0x191)),V=U(),W=V&&null!=V[ac(0x1c6)][T],X=V?.[ac(0x1f8)]||T;return r=!(-0x1431+0x13df*-0x1+-0x107*-0x27),y=null,f=null,w[ac(0x1b6)](),console[ac(0x17e)](),console['log'](a0q[ac(0x20a)]('\x20\x20AI4CTF\x20chat\x20ended\x20for\x20Q'+T+'.')),W&&X>T&&X<=0xea*-0x1b+-0x7*0x57e+0x1fa3*0x2?console[ac(0x17e)](a0q['white'](ac(0x1a1))+a0q['bold'][ac(0x1cc)]('Q'+X)+a0q['gray'](ac(0x156))+a0q['cyan'](ac(0x1cf))+a0q[ac(0x20a)](ac(0x190))):W&&T>=0x191f+0x2ab*-0x6+0x11*-0x87?console[ac(0x17e)](a0q[ac(0x195)](ac(0x1b3))+a0q[ac(0x1b1)][ac(0x1a8)](ac(0x1d9))+a0q['gray'](ac(0x172))):console[ac(0x17e)](a0q[ac(0x20a)](ac(0x100))+a0q[ac(0x195)](ac(0xff)+T)+a0q[ac(0x20a)](ac(0x1e9))+a0q[ac(0x195)](ac(0x1cf))),console['log'](),ac(0x182);}if(u)return console['log'](),console[ac(0x17e)](a0q[ac(0x127)]('\x20\x20AI\x20budget\x20exhausted\x20for\x20AI4CTF\x20section.')),console[ac(0x17e)](a0q['gray'](ac(0x10d))+a0q['white'](ac(0x13d))+a0q[ac(0x20a)](ac(0x155))+a0q[ac(0x195)](ac(0x1ad))+a0q['gray'](ac(0x155))+a0q[ac(0x195)]('exit')),console[ac(0x17e)](),'continue';if(h>=d)return u=!(-0x4a8+-0x1656+-0x2b3*-0xa),console[ac(0x17e)](),console[ac(0x17e)](a0q[ac(0x1a8)]['bold'](ac(0x137))),console[ac(0x17e)](a0q[ac(0x20a)]('\x20\x20You\x20can\x20still:\x20')+a0q[ac(0x195)](ac(0x13d))+a0q['gray'](ac(0x155))+a0q['white'](ac(0x1ad))+a0q[ac(0x20a)](ac(0x155))+a0q[ac(0x195)](ac(0x182))),console[ac(0x17e)](),ac(0x19f);console[ac(0x17e)](a0q['gray'](ac(0x136)));try{const Y=await y[ac(0x1c5)](q);process[ac(0x125)][ac(0x1d8)]('\x1b[1A\x1b[2K'),h+=Y[ac(0x149)];const {getRealExamState:Z,saveExamState:a0}=await import(ac(0x191)),a1=Z(),a2={};a2['ai4ctf']=0x0,a2[ac(0x1d9)]=0x0,(a1&&(a1['aiUsage']||(a1[ac(0x10b)]=a2),a1[ac(0x10b)][ac(0x1cf)]=h,a0(a1)),console[ac(0x17e)](),a0B(Y['text']),m(),function(a3,a4,a5){const ad=ac,a6=a3/a4*(-0x2147*-0x1+-0x1*0x261d+-0xdf*-0x6);a6>=-0x13a8+0x24cc+-0x10c5&&!a5[ad(0x1dd)]('95')?(console[ad(0x17e)](a0q[ad(0x1a8)]['bold'](ad(0x1e7)+Math[ad(0x1e5)](a6)+ad(0x18e)+(a4-a3)+ad(0x1e2))),a5['add']('95')):a6>=-0x1f75*-0x1+0x8c+-0x13*0x1ab&&!a5[ad(0x1dd)]('80')?(console['log'](a0q[ad(0x127)](ad(0x1ba))),a5[ad(0x176)]('80')):a6>=-0x1bf5+0x2351+-0x72a&&!a5['has']('50')&&(console[ad(0x17e)](a0q['gray']('\x20\x20Note:\x2050%\x20of\x20section\x20AI\x20budget\x20used.')),a5[ad(0x176)]('50'));}(h,d,w),console['log']());}catch(a3){process[ac(0x125)]['write']('\x1b[1A\x1b[2K'),a0C(ac(0x1f7)+a3[ac(0x161)]),console[ac(0x17e)]();}return ac(0x19f);}export function registerAi4ctfCommand(b){const ae=a0j;b[ae(0x1f6)](ae(0x1cf))[ae(0x1db)]('Chat\x20with\x20your\x20AI\x20teammate')[ae(0x1c1)](async()=>{const af=ae;a0A('ai4ctf');const {getRealExamState:j}=await import(af(0x191)),k=j(),q=k?.['questions'][af(0x1c7)](A=>A['number']>=0x698+0x1111+-0x178a&&A[af(0x151)]<=-0x22e7*0x1+-0x1281+0x358e);if(k&&q){const A=k[af(0x1f8)]||-0x1bd0+-0x1fd7+0x2*0x1dd4;if(A<0x1025+-0x7*0x491+0xff1||A>0x70b*-0x2+0x12a8+-0x46c)return console[af(0x17e)](),console['log'](a0q[af(0x127)](af(0x183))),console[af(0x17e)](a0q[af(0x20a)](af(0x167)+A+af(0x162))),console['log'](a0q[af(0x20a)](af(0x152))+a0q[af(0x1b1)][af(0xfe)](af(0x1d6))),void console[af(0x17e)]();const B=k[af(0x126)][af(0x170)](C=>C[af(0x151)]===A);return B?void await async function(C,D){const ag=af,{getRealExamState:E,refetchQuestionDataIfStale:F,materializeAttachedData:G}=await import(ag(0x191));await F();const H=E();if(!H)return!(-0x1848+0x448*0x2+0x23*0x73);const I=H[ag(0x126)][ag(0x170)](L=>L[ag(0x151)]===C);I&&(D=I),G(C,D?.['attachedData']);const J=H['aiUsage']?.[ag(0x1cf)]??0x2651*0x1+-0x18a8+-0xda9;if(J>=d)return console['log'](),console[ag(0x17e)](a0q['yellow']('\x20\x20⚠\x20Your\x20AI4CTF\x20token\x20budget\x20is\x20exhausted.')),console['log'](a0q['gray'](ag(0x10e))+a0q['white'](ag(0x131)+C+ag(0x153))),console[ag(0x17e)](),!(0x25c+-0x26*0xb3+0x1*0x1837);try{y=await a0v(void(-0x856+-0xf40+0x1796*0x1),function(L,M){const ah=ag,N=L[ah(0x1db)]||L[ah(0x14e)]||'',O=L[ah(0x115)]?ah(0x13f)+M+'.txt\x20inside\x20the\x20contestant\x27s\x20sandbox\x20—\x20path\x20is\x20relative\x20to\x20the\x20sandbox\x27s\x20/home/competitor\x20working\x20directory,\x20reachable\x20from\x20any\x20!shell\x20/\x20!python3\x20invocation):\x0a'+L['attachedData']:'';return ah(0x10f)+M+',\x20'+L[ah(0x1ce)]+',\x20'+(L['points']||-0xcd*0x9+-0xc15+-0x9a8*-0x2)+'\x20points):\x0a'+N+O+ah(0x194)+M+ah(0x1b2);}(D,C));}catch(L){return a0C(L[ag(0x161)]),!(-0xd55+0x2*-0x12cb+0x32ec);}r=!(-0xe*-0xb1+-0x14*0x199+-0x1646*-0x1),h=J,u=!(0x5cb+-0x208a+-0x4*-0x6b0),f={'qNum':C,'question':D,'usageField':ag(0x1cf),'enteredAt':Date[ag(0x1d2)](),'hintsUsed':new Set(),'submitAttempted':!(0x1c01+-0x21cd+0x5cd),'nudgeShown':!(-0x1aeb*-0x1+-0xa1b*-0x2+-0x2f20)};const K=H[ag(0x1c6)]?.[C];return function(M,N,O){const ai=ag,P=a0z()[ai(0x185)]||ai(0x171),Q=h>0x1956+0x1f+-0x1975;console['log'](),console[ai(0x17e)](a0q[ai(0x1cc)][ai(0x1b1)](ai(0x1d5)+N+':\x20'+M[ai(0x1ce)]+ai(0x12a))),Q&&console[ai(0x17e)](a0q[ai(0x20a)]('\x20\x20(resuming\x20—\x20prior\x20chat\x20is\x20not\x20remembered,\x20but\x20tokens\x20already\x20used\x20stay\x20deducted)')),O&&console[ai(0x17e)](a0q[ai(0x20a)]('\x20\x20Current\x20answer:\x20')+a0q[ai(0x127)](O)+a0q[ai(0x20a)](ai(0x207))),console[ai(0x17e)](),console['log'](a0q['cyan'](ai(0x18f))),console[ai(0x17e)](a0q['cyan'](ai(0x132))+a0q[ai(0x1b1)][ai(0x195)]('Q'+N+ai(0x1e8)+M[ai(0x1ce)]+ai(0x116)+(M[ai(0x1e6)]||-0x1636+0x10de*-0x1+-0x46*-0x8f)+'\x20pts')),console[ai(0x17e)](a0q[ai(0xfe)](ai(0x12c)));for(const R of String(M[ai(0x14e)])['split']('\x0a')){const S=R[ai(0x14a)]>-0x1ee1+-0x1f2f+0x3e4c?R['slice'](0x996+0x10dc+-0x1a72,0x2*0x57b+0x1b3c+-0x25f9)+ai(0x139):R;console[ai(0x17e)](a0q[ai(0xfe)](ai(0x132))+a0q[ai(0x195)](S));}console[ai(0x17e)](a0q[ai(0xfe)]('\x20\x20│')),console[ai(0x17e)](a0q['cyan'](ai(0x132))+a0q[ai(0x20a)]('Full\x20question:\x20\x20')+a0q[ai(0x195)]('exam\x20q\x20'+N)),console[ai(0x17e)](a0q[ai(0xfe)](ai(0x132))+a0q[ai(0x20a)](ai(0x16d))),console[ai(0x17e)](a0q[ai(0xfe)]('\x20\x20└─────────────────────────────────────────────')),console['log'](),console[ai(0x17e)](a0q[ai(0x1b1)][ai(0x195)](ai(0x119))),console[ai(0x17e)](),console[ai(0x17e)](a0q[ai(0x127)](ai(0x102))+a0q[ai(0x20a)](ai(0x1c0))),console[ai(0x17e)](a0q[ai(0x127)](ai(0x168))+a0q[ai(0x20a)](ai(0x1fb))),console[ai(0x17e)](a0q[ai(0x127)](ai(0x13e))+a0q['gray'](ai(0x122))),console[ai(0x17e)](a0q[ai(0x1b1)][ai(0x1cc)](ai(0x1f0))+a0q[ai(0x20a)](ai(0x1c4))),console[ai(0x17e)](a0q[ai(0x195)](ai(0x20c))+a0q[ai(0x20a)](ai(0x106))),console['log'](a0q['gray']('\x20\x20\x20\x20Just\x20type\x20freely\x20to\x20chat\x20with\x20the\x20AI\x20teammate.')),console[ai(0x17e)](a0q[ai(0x20a)](ai(0x160))+a0q[ai(0x195)]('\x22how\x20do\x20I\x20decrypt\x20AES-CBC\x20in\x20Python?\x22')),console[ai(0x17e)](),console[ai(0x17e)](a0q[ai(0x20a)](ai(0x1f2))+a0q[ai(0x20a)](ai(0x178))),console[ai(0x17e)](a0q[ai(0x20a)](ai(0xfc))+a0q['gray'](ai(0x1a0))),console[ai(0x17e)](),m(),console[ai(0x17e)](a0q['gray'](ai(0x1fd)+P+')')),console['log']();}(D,C,K),!(-0x1c9*0x8+0x18a9+-0x1*0xa61);}(A,B):void a0C('Q'+A+'\x20not\x20found\x20in\x20state.\x20Try:\x20exam\x20q\x20'+A);}const v={};v[af(0x204)]=af(0x148),v[af(0x1ce)]=af(0x19d);const x=a0z()[af(0x185)]||af(0x171),z=v;try{y=await a0v(z);}catch(C){return void a0C(C[af(0x161)]);}r=!(-0x11a1+-0x948+0x1ae9*0x1),h=0x22e4+-0x42a+-0x72*0x45,u=!(0x2*0xf6f+0x3e*0x22+-0x2719),console[af(0x17e)](),console[af(0x17e)](a0q[af(0x1cc)][af(0x1b1)]('\x20\x20═══\x20'+a0D(af(0x1eb))+af(0x12a))),console[af(0x17e)](),console[af(0x17e)](a0q[af(0x195)]('\x20\x20'+a0D(af(0x129)))),console[af(0x17e)](),console[af(0x17e)](a0q[af(0xfe)](af(0x18f))),console[af(0x17e)](a0q[af(0xfe)](af(0x132))+a0q[af(0x1b1)]['white'](a0D('ai4ctfChallenge'))),console[af(0x17e)](a0q['cyan'](af(0x12c))),console[af(0x17e)](a0q[af(0xfe)](af(0x132))+a0q[af(0x195)](a0D('ai4ctfIntercepted'))),console[af(0x17e)](a0q['cyan'](af(0x132))+a0q['green'](af(0xfd))),console[af(0x17e)](a0q[af(0xfe)](af(0x12c))),console[af(0x17e)](a0q[af(0xfe)](af(0x132))+a0q[af(0x195)](a0D(af(0x179)))),console[af(0x17e)](a0q[af(0xfe)](af(0x132))+a0q[af(0x20a)](af(0x184))),console[af(0x17e)](a0q['cyan'](af(0x165))),console[af(0x17e)](),console[af(0x17e)](a0q[af(0x195)]('\x20\x20'+a0D('ai4ctfLevels'))),console[af(0x17e)](),console[af(0x17e)](a0q['yellow'](af(0x102))+a0q[af(0x20a)](af(0x1b5)+a0D(af(0x140)))),console[af(0x17e)](a0q[af(0x20a)](af(0x1ef)+a0D(af(0x111)))),console[af(0x17e)](a0q[af(0x127)](af(0x168))+a0q[af(0x20a)]('\x20\x20\x20\x20'+a0D('ai4ctfHintB'))),console[af(0x17e)](a0q['gray'](af(0x1ef)+a0D('ai4ctfHintBUses'))),console[af(0x17e)](a0q[af(0x127)](af(0x13e))+a0q[af(0x20a)](af(0x1b5)+a0D(af(0x12d)))),console[af(0x17e)](a0q[af(0x20a)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0D(af(0x10c)))),console[af(0x17e)](),console[af(0x17e)](a0q[af(0x20a)](af(0x1ac))),console[af(0x17e)](a0q['bold'][af(0x195)]('\x20\x20'+a0D(af(0x154)))),console['log'](af(0x1b5)+a0q[af(0xfe)](af(0x1ec))+a0q[af(0x20a)](af(0x1f4)+a0D(af(0x110)))),console[af(0x17e)](af(0x1b5)+a0q[af(0xfe)](af(0x1f1))+a0q[af(0x20a)](af(0x1f4)+a0D(af(0x1e0)))),console[af(0x17e)](af(0x1b5)+a0q[af(0xfe)](af(0x124))+a0q['gray'](af(0x1f4)+a0D(af(0x138)))),console[af(0x17e)](a0q[af(0x20a)](af(0x1b5)+a0D(af(0x11e)))),console[af(0x17e)](),console[af(0x17e)](a0q['white']('\x20\x20'+a0D(af(0x196)))),console[af(0x17e)](a0q['gray']('\x20\x20'+a0D('ai4ctfOrChatExample')+'\x20')+a0q[af(0x195)](af(0x145))),console[af(0x17e)](),console[af(0x17e)](a0q['yellow']('\x20\x20'+a0D('ai4ctfCommands'))),console[af(0x17e)](a0q[af(0x195)](af(0x180))+a0q['gray'](a0D(af(0x11a)))),console[af(0x17e)](a0q[af(0x195)](af(0x189))+a0q[af(0x20a)](a0D(af(0x208)))),console[af(0x17e)](a0q[af(0x195)](af(0x1c3))+a0q[af(0x20a)](a0D(af(0x1b4)))),console[af(0x17e)](a0q['gray']('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20e.g.\x20')+a0q[af(0x195)](af(0x181))),console['log'](a0q[af(0x20a)]('\x20\x20\x20\x20exit\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0D('ai4ctfEndSession'))),console['log'](),m(),console['log'](a0q[af(0x20a)]('\x20\x20'+a0D('ai4ctfModel')+af(0x1d7)+x+')')),console[af(0x17e)](a0q[af(0x20a)]('\x20\x20'+a0D(af(0x1f3)))),console[af(0x17e)]();});}
@@ -1 +1 @@
1
- (function(z,B){const b0=a0B,F=z();while(!![]){try{const G=parseInt(b0(0x232))/(0x1*0x1ab6+0x1da*-0xb+-0x657)*(-parseInt(b0(0x348))/(-0x767*0x5+-0x1f85*0x1+0x448a))+parseInt(b0(0x1b3))/(-0x1*-0xe84+-0x1641+0x20*0x3e)+-parseInt(b0(0x226))/(-0x3*0xaa5+-0x1*-0x233+0x1dc0)*(parseInt(b0(0x410))/(-0x1*-0x561+-0x55*0x6a+-0x39*-0x86))+-parseInt(b0(0x378))/(0xdf*0x7+-0xfbe+0x9ab)+parseInt(b0(0x240))/(0x203d+0x9ac+-0xdf6*0x3)+parseInt(b0(0x327))/(-0x20*0xbf+-0x922+-0x2*-0x1085)+parseInt(b0(0x217))/(0xb58+0x2249+-0x2d98)*(parseInt(b0(0x13d))/(-0xa11+0x1*0xd01+-0x2e6));if(G===B)break;else F['push'](F['shift']());}catch(H){F['push'](F['shift']());}}}(a0z,-0x2185b+0x10741+0x1*0x905e1));import a0L from'chalk';import{confirm as a0Q}from'@inquirer/prompts';import{ExamClient as a0V}from'../lib/exam-client.js';import{getConfig as a0W,saveConfig as a0X}from'../lib/config.js';import{getExamState as a0Y,saveExamState as a0Z,clearExamState as a0a0,getExamDeadline as a0a1,materializeAttachedData as a0a2}from'../lib/exam-state.js';import{getDemoStats as a0a3,recordDemoAttempt as a0a4,saveRetryQueue as a0a5,getRetryQueue as a0a6,clearRetryQueue as a0a7}from'../lib/demo-stats.js';import{logCommand as a0a8}from'../lib/logger.js';function a0B(a,b){a=a-(0x8*-0x3b3+0x16*-0xac+0x1*0x2d86);const c=a0z();let d=c[a];if(a0B['jOEjcp']===undefined){var e=function(i){const j='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let l='',m='';for(let n=-0x3*-0x4b1+0x6d*0x46+-0x2be1,o,p,q=-0x2355+-0x8b7+0x1*0x2c0c;p=i['charAt'](q++);~p&&(o=n%(0x1ad1*-0x1+-0x4fb+0x7f4*0x4)?o*(-0x3*0xab5+0x2a0+-0x5*-0x5f3)+p:p,n++%(0x1*-0x1a21+0x1625*0x1+0x400))?l+=String['fromCharCode'](-0x120f+-0x59*-0x43+-0x43d&o>>(-(0xa08+-0x1e68+0x1462)*n&-0x1dd0+0x3*-0x369+-0x1*-0x2811)):0x1*0xc67+0xd*0x229+-0x4*0xa1f){p=j['indexOf'](p);}for(let r=-0x19*-0xbe+0xd18*-0x2+0x7a2*0x1,s=l['length'];r<s;r++){m+='%'+('00'+l['charCodeAt'](r)['toString'](-0xe20+-0x1ce4+0x1*0x2b14))['slice'](-(-0x2461+-0x1801+0x60a*0xa));}return decodeURIComponent(m);};a0B['xcxkyx']=e,a0B['BwCGpu']={},a0B['jOEjcp']=!![];}const f=c[-0xe0b+-0x484+-0x128f*-0x1],g=a+f,h=a0B['BwCGpu'][g];return!h?(d=a0B['xcxkyx'](d),a0B['BwCGpu'][g]=d):d=h,d;}import{printSuccess as a0a9,printError as a0aa,printWarning as a0ab,printInfo as a0ac,printTable as a0ad,printHeader as a0ae,printKeyValue as a0af,createSpinner as a0ag,formatCountdown as a0ah}from'../lib/ui.js';import{t as a0ai}from'../lib/i18n.js';import{getDeviceFingerprint as a0aj}from'../lib/access.js';import{getExamSetup as a0ak,saveExamSetup as a0al,isExamSetupComplete as a0am}from'../lib/exam-setup.js';import{execSync as a0an}from'node:child_process';const q=z=>new Promise(B=>setTimeout(B,z));function E(B,F={}){const b1=a0B,G=a0W(),H={};H[b1(0x2f1)]='application/json',fetch(b1(0x1f0),{'method':b1(0x210),'headers':H,'body':JSON[b1(0x1df)]({'type':B,'lang':G[b1(0x1e3)]||'en','timestamp':new Date()[b1(0x3d3)](),...F}),'signal':AbortSignal[b1(0x31e)](-0x3*-0x4b1+0x6d*0x46+-0x1859)})[b1(0x3d2)](()=>{});}function N(z,B){const b2=a0B,F=Math[b2(0x301)](z/(-0x2355+-0x8b7+0x3*0xed0)*(0x1ad1*-0x1+-0x4fb+0x331*0xa)),G=-0x3*0xab5+0x2a0+-0x39*-0x85-F,H=a0L[b2(0x187)]('█'[b2(0x389)](F))+a0L[b2(0x37c)]('░'[b2(0x389)](G)),J=String(z)[b2(0x3de)](0x1*-0x1a21+0x1625*0x1+0x3ff)+'%';process[b2(0x2b0)][b2(0x13e)](b2(0x289)+H+'\x20'+J+'\x20\x20'+a0L[b2(0x37c)](B));}function M(){const b3=a0B,z=a0W();return z[b3(0x3d8)]&&z[b3(0x35c)]?new a0V(z[b3(0x3d8)],z[b3(0x35c)]):(a0aa('Not\x20connected.\x20Run:\x20join\x20<url>'),null);}function O(){const b4=a0B,z=a0a1();z&&(new Date()<z?a0af('Time\x20Remaining',a0L['yellow'][b4(0x330)](a0ah(z))):a0af(b4(0x2f0),a0L[b4(0x407)]['bold']('EXPIRED')));}function j(z,B){const b5=a0B;return Array['isArray'](z[b5(0x3b7)])&&z[b5(0x3b7)][b5(0x34b)](B);}function D(z,B){const b6=a0B,F=Array[b6(0x3e3)](z[b6(0x3b7)])?[...z[b6(0x3b7)]]:[],G=F[b6(0x1c6)](B);return G>=-0x120f+-0x59*-0x43+-0x53c?(F['splice'](G,0xa08+-0x1e68+0x1461),z['bookmarks']=F,a0Z(z),!(-0x1dd0+0x3*-0x369+-0x1*-0x280c)):(F['push'](B),F[b6(0x177)]((H,J)=>H-J),z[b6(0x3b7)]=F,a0Z(z),!(0x1*0xc67+0xd*0x229+-0x4*0xa1f));}function R(B){const b7=a0B,F={};return F[b7(0x213)]=B[b7(0x272)]||-0x19*-0xbe+0xd18*-0x2+0x7a2*0x1,F['max']=B[b7(0x28f)]||-0xe20+-0x1ce4+0x1*0x2b18,F[b7(0x24c)]=B['_helpPerQ']||{},F[b7(0x1bf)]=B[b7(0x1a7)]||{},F;}function a0z(){const bP=['zwDNmtm','icaGihn1zg8GywrKlwfWDc1YzxbVC2L0B3j5ihbWytPKzwfKC25HA2vZl3bWysaTEq','icdIMiuG','C19HAtrJDgy','yMfJAW','icbezw1VoIa','icaGidiUieLUihLVDxiGC2HLBgWSihj1BJO','zxHHBsbZDgfYDca','sgfJAYb0AguGquKNCYbNDwfYzhjHAwXZ','icaGieXHBMC6icaGia','C3rKB3v0','icdcTYblzwvWihnOyxjWzw5PBMC6ia','icaOtwLUAw1HBcbvyNvUDhuGlYbJBg91zcaVifDttdiGAw1Hz2vZig9MDgvUihnOAxaGD2L0Ag91DcbWAxaUkq','icaGicdcTYbbssbPCYb5B3vYia','ihrVigXLyxzLigLJB2e','vhLWztOGzgvTBYb0BYbZDgfYDcbHz2fPBI4','rw50zxiGzxHHBsb0B2TLBIb0BYbIzwDPBG','uMvZDwX0igXVywrLza','AxnsyxC','r28GDg8GBMv4DcbXDwvZDgLVBG','yw5ZD2vYx2nOyw5Nzwq','u2vYDMvYig5VDcbYzwfJAgfIBguUienOzwnRihLVDxiGAw50zxjUzxqGy29UBMvJDgLVBI4','icdIMQaGifjLC2v0ihDPBgWGywjHBMrVBIb5B3vYign1CNjLBNqGzxHHBsbZzxnZAw9Uig9UihrOAxmGzgv2AwnLlG','icaGigH0DhbZoI8VD3D3lNb5DgHVBI5VCMCVzg93BMXVywrZlW','zMLUywW','icaG4PAi4PAi4Pwr4PAi4PAi4PwricaGicdILOJILOJILzeGicdILOJILOJILzhILOJILOJILztILzdILzdILOJILOJILze','icaGiokrOsa','x3n1yM1PDenVBMzPCM1Lza','icaGigfPngn0zG','Bwf4','icaGifb5DgHVBIaZlJeYigLZihjLy29TBwvUzgvKlIbjBNn0ywXSoG','icbsDwXLCZO','icbVBMuGzgv2AwnLicSGB25LihnLC3nPB24UifLVDsbJyw5UB3qGC3DPDgnOihrVA2vUCYbTAwqTzxHHBs4','igLZihDLBgWGyMvSB3CU','ig1PBG','icaGidiUieLUigfUiefKBwLUAxn0CMf0B3iGug93zxjtAgvSBcWGCNvUoG','uM9VBsb0BYbNCM93oIaGia','txLHBM1HCG','icaGign0zJrHAq','CMvXDwvZDhm','igf0igfUEsb0Aw1LlG','icboyxrPB25HBcbsB3vUzcaXifnLBgvJDgLVBIbLEgfTCYbHCMuGyMvPBMCGChjLCgfYzwqU','zxHHBvDHExntAgvSBa','icdIMQaGiezjtKfmifnvqK1ju1njt04G4OcuihbSzwfZzsbJB25MAxjT','ChL0Ag9UmW','icaGigv4yw0GC3vIBwL0','icbrDwvZDgLVBNmGAw4Grw5NBgLZAc4Gvg8GC3DPDgnOigXHBMD1ywDLigzPCNn0oG','ic1TihbPCcbPBNn0ywXSici','icdWN5Ieie9UBhKGmIbVChrPB25ZigXLzNqG4OcuihLVDsbNB3qGDgHPCYe','ANnVBG','icdIMQaGieXfu1mGveHbtIaXie1jtLvursbmruzu','zxHHBsbYzxzPzxC','CMfUzg9T','tM8GzxHHBsbPBIbWCM9NCMvZCY4','ica+ia','DhjPBq','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDq','icaGiokaOIbtzxj2zxiGyxv0BY1MAw5HBgLZzxmGEw91CIbHBNn3zxjZigLMihLVDsbKBYbUB3qGC3vIBwL0igjLzM9Yzsb0AguGzgvHzgXPBMu','y29TBwfUza','icdWN5Miie1HEcaYigHLBhbZihbLCIbXDwvZDgLVBIdIGjqGEw91igfSCMvHzhKGAgf2zsbHiduWlZuWiq','icaGievprG','icdILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILie','ic0TDMvYC2LVBG','icaOChjLDMLVDxmGzxHHBsbZzxnZAw9Uigv4CgLYzwqG4OcuignSzwfYzwqGC3rHDguSihn0yxj0Aw5NigzYzxnOihDPDgGGEw91CIbUzxCGDg9Rzw4P','zNjVBq','ChLJCNLWDg9KB21L','BwfJt1m','icaGs2v5igrPzMzLCMvUy2vZigzYB20GquK0q1rg','ks4Gww91j3jLig9UihLVDxiGB3DUisdWN5kQ','tK9uifbbu1nfra','y2XVy2TpzMzZzxrnCW','icbszxj1BIb3AgvUigzPEgvKoIa','BwLU','icaGicaGicaOBM93lcb+nsbTAw4P','vgLTzq','q29UDgvUDc1uExbL','icaGidiUieLUifbVD2vYu2HLBgWSigLUC3rHBgWGuhL0Ag9UihDPDgGGCgLWoG','vxnLCI1bz2vUDa','vxbSB2fKAw5NigfUC3DLCNmUlI4','C3vIBwL0rxHHBq','uMvHzhKH','C3vKBYbUCg0GAw5ZDgfSBcaTzYbPy29HlwnSAq','zgvTBY1LEgfT','icaGicdcTYbtzxbHCMf0zsbIDwrNzxq6ia','icaGifbHy2THz2vZoIa','y29YCMvJDa','zgvZy3jPChrPB24','icdILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILie','icbbBgWGAgvSCcb1C2vKicG','CxvLC3rPB25Z','lcbUB3qGEw91CIb0zwfTBwf0zq','CM91BMq','ica0mcSGy291BNrYAwvZigfUzcbYzwDPB25ZihjLChjLC2vUDgvK','CgLSBg93','igzPCNn0ihrVihnLzsb3Agf0igL0igrVzxmH','x2XHC3rr','tM8GDgLTzsbSAw1PDa','icdWN5kHie9WDgLVBIa','zxHHBsbKzw1V','icaG4PAi4PAi4Pwr4PAi4PAi4Pwu4Pwq4Pwq4Pwq4Pwq4PwD4PAi4PAi4Pwu4Pwq4Pwq4Pwq4PAi4PAi4Pwx4PAi4PAi4Pwu4Pwq4Pwq4PAi4PAi4Pwx','C3rVCa','icbtDwjTAxqGBM93ihDPDgG6ia','icaGicbnzxnZywDLCYdIHPiGquKGDgfYz2v0iokaLcbJCMfMDcbWCM9TChrZihrVigjYzwfRigL0CYbYDwXLCY4','r0vu','vw5PDgvKieTPBMDKB20','vxPIzwTPC3rHBG','icaGC2vLihbYB2DYzxnZicSGzMXHz2DLzcbPDgvTCW','icaOugfWzxiGqYb0B2TLBNmGC2TPCcb0AgLZigDHDguG4OcuifbHCgvYiemGAxmGtunrlw9UBhKP','icdIMiuGuq','AhrWqMfJAW','icaGicaGia','icbjBNn0ywXSAw5Nifb5DgHVBIbWywnRywDLCYbMB3iGChjHy3rPy2fSihf1zxn0Aw9UCY4','BNvTChK','icaGicbfEgfToIaG','icbMyxiGBw9YzsbZBw9VDgHSEsbPBNnPzguGv1nmmIbvyNvUDhuU','icbVCIaG','CxvLC3rPB24','igfUC3DLCNmSihr5Cgu6','icaGvgLTzsbZDgLSBcbJB3vUDgLUzYbKB3DUlIbcDwrNzxqGFJiGBwLUihbLCIbXDwvZDgLVBI4','AM9PBG','DgLTzw91Da','icaGicfJyxqGpdWGj0vprICGpIbZB2X2zs5WEq','zxHHBsa','ihbYB21WDcWGANvZDcbSAwTLihrOzsbKzw1V','s2vLCcbPDcbPBIbTAw5KigzVCIbYzxzPzxCU','icbpCIbKB3DUBg9HzcbPBNn0ywXSzxi6','icaOC2vLihDOAwnOihf1zxn0Aw9UCYbHCMuGyMXHBMSP','imk3ia','ihnOyxjLzcbHy3jVC3mGutm54Octnda','ndiXmty0mgfgs3joua','oJaW','sw4GuhjVz3jLC3m6ia','yw5ZD2vY','icaGicbbssb0B2TLBNm6icaGicaG','D2L0Aa','icbzB3uGy2fUig5VDYbLBNrLCIbHig5LDYb0B2TLBIb3AxrOia','yw5ZD2vYx3n1yM1PDhrLza','zxHHBvDHExntyxzLzfrV','yM9Sza','CsbBBL0','zgvTBY1YzxrYEq','ihrVihnLzsb5B3vYihjLC3vSDhmH','icaGicaGifrOzw4GAw5ZDgfSBcbqExrOB246','B3b0Aw9UCW','Cgf1C2u','icbgAxjZDcbLCNjVCIbKzxrHAwWGkgzVCIbKzwj1z2DPBMCPoG','yxr0zw1WDhm','q2HVAwnLig11C3qGyMuGqsWGqIWGqYWGB3iGrc4','AgvSCf91C2vK','BgLZDgvUzxjZ','CMv2Awv3','uNvZC2LH','BgLUzq','rMXHzYbHihf1zxn0Aw9UihrVihjLDMLLDYbSyxrLCIaODg9Nz2XLCYK','icH3B3jRCYWGyNv0idmUmtiGCMvJB21Tzw5KzwqP','icboB3rLoIb5B3uGDhLWzwqGysbKAwzMzxjLBNqGDg9Rzw4UievHy2GGzxHHBsb0B2TLBIbPCYbIB3vUzcb0BW','icdINjmGCgLWigf2ywLSywjSzq','icbozxCGBwvTyMvYpYbdB250ywn0oIbHy2nYzwrPDgf0Aw9UqgLJB2eYmdi2lMf1','icaGicbuB2TLBJOG','zMLUza','ihvUzMXHz2DLzc4','lI4VBgLIl3bSyxrMB3jTlMPZ','mJm4mZC4qu1SyLDV','BwvZC2fNzq','icbizwXWihvZzwq6ia','Aw5JBhvKzxm','mJuSmdaWihrVA2vUCW','icaGiokaOIbbBgWGAw50zxjHy3rPB25ZigfYzsbYzwnVCMrLzcbMB3iGyxvKAxq','BM93','qNvYDw5KAq','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','icaOC2fTzsbHCYb5B3uGANvZDcb0ExbLzcK','CgvYzMvJDfnJB3jL','icbuCM91yMXLC2HVB3rPBMC6','icbqBgvHC2uGCMuTDhLWztOG','ifSGxsaG','Ew91CIbmAw51EcbKAxn0CM8','zxHHBsbXia','icbszwnVBw1LBMrLzcbWyxrOiokaLcbZD2L0y2GGDg8Gv1nmmIaOB25LlxrPBwuSih41ig1PBIK6','zxHHBsbHBNn3zxiG','y3rMngfP','BMv4Da','Dg9Rzw4','icaGig1HCMS','zgvTB0LUDhjVu2vLBG','tM8GzxHHBsbPBIbWCM9NCMvZCY4GvxnLicjLEgfTihn0yxj0idXPzd4IihrVigjLz2LUlG','icbuBYbJB250Aw51zsb0AgLZigv4yw06','y3rMngfPpG','ihbHy2THz2vZlIbszxrYEwLUzY4UlG','q3j5ChrV','zxHWBgfUyxrPB24','A2v5CW','icdINjmGvg9Rzw4GCMuTyxr0ywnOzwqGDg8GEw91CIbPBI1WCM9NCMvZCYbLEgfTlG','C3rKAw8','igLZigeGChjHy3rPy2fSihf1zxn0Aw9UiokaLcbHBNn3zxiGD2L0AcbHigzSywCSig5VDcbHigXLDhrLCI4','icaGicaGicaGia','ihf1zxn0Aw9UCYbKCMf3BIbMCM9TigeGCg9VBcbVzIa','C19JDgy0ywK','ig9YigXLyxzLihDPDgGG','AgvSCfvZzwrvCa','zxHHBsbYzxn1BhqG','icaGicfWExrOB24ZihnVBhzLlNb5','igfUC3DLCMvKkq','cGPgDwXSigf0DgfJAgvKigrHDge6cG','CxvLC3rPB25dB3vUDa','zxHHBuLK','icaGig5LEhq','AgLUDa','AgfZ','icaGicbjBNnPzguGy2HHDdOGicaG','nJiZmJuYnhLNtxfuva','qwXTB3n0ihjLywr5lI4U','C3bSAxq','zgLT','z3jHEq','zxHHBsbZDwjTAxq','icaGicbiAw50CYbbl0iVqZOGicaG','q2XVC2uG4OcuihDLj2XSihjLDMLZAxqGDgHPCYbVBMuU','ic1TihbPCcaTlxzLCNnPB24','CgTN','icbdB250Aw51zsb0AgLZigv4yw06','icaGieHLBha6icaGideWihvZzxmGkYa1igHPzgrLBIbIB251CYaOtunrig9UBhKP','y2f0zwDVCNK','icaGicaGCMvZDw1Ligf0igfUEsbXDwvZDgLVBG','icaG4PAi4PAi4Pwr4PAi4PAi4PwricaGicdILOJILOJILzeGicdILOJILOJILzhILOJILOJILOJILOJILOJILOJILOJILze','zwDNmte','icaGidiUieLUC3rHBgWGsg9TzwjYzxCGzMLYC3qGkhDLigrPzcbUB3qGzMLUzca','CMvWzwf0','zxHHBsbZzxr1Ca','ugvYDq','ihWG','iefjihn5C3rLBxmU','CMvZDw1L','ywn0Aw9U','igLUC3rHBgXLza','icaGrwXHChnLzdOG','icaGzxHHBsbJzw50zxiUiezPBMfSihnJB3jPBMCGyw5KihnLBgvJDgLVBIbHCMuGzgvJAwrLzcbIEq','zxHHBsb0B2TLBIa','icbszxzPzxCGDw5HBNn3zxjLzcbXDwvZDgLVBNm6ia','BM9KztPJAgLSzf9WCM9JzxnZ','zxHHBvDHExnszwzqExrOB24','icaG8j+AGcaGu2vJDgLVBIaYoIbbstrdveyG4OcuiefjigLZihLVDxiGDgvHBw1HDgu','icbzB3uGy2fUihbHDxnLihDPDgGG','zw5KC1DPDgG','icbeAxjLy3rPB25HBcbMzwvKyMfJAW','Bw9YzsbOzwXW','u3rHCNqGyw4GzxHHBsaOyMvNAw5ZihrPBwvYkq','icaGigTLEsa9ihHVCIHJDfS6nv0SigiIsunpqxSIkq','BM90ugfZC2vK','CMvMihb5DgHVBG','DgvZDa','rw52AxjVBM1LBNqGCMvHzhKHiefSBca','DhLWzq','qw5ZD2vYzwq','rxHHBsbZDgfYDgvKisbuAw1LCIbPCYbYDw5UAw5NlG','iokaLca','CMvTB3zLtgLZDgvUzxi','ugXLyxnLihbYB3zPzguGEw91CIbMBgfNoIbLEgfTigfUC3DLCIa8BJ4GsunpqxT5B3vYx2zSywD9','CMvZDwX0ifTPzf0','icaGDgHLig9Yz2fUAxPLCIbPBIb5B3vYignVDw50CNKU','yxr0ywnOzwreyxrH','icaGicaGC3vKBYbHChqGAw5ZDgfSBcbWExrOB24ZlJeYihb5DgHVBJmUmtiTDMvUDG','C3vIBwL0ieLdt0f7lI4UFq','rxHHBsaI','u2v0DxaGzMfPBgvKiokaLcaWig9Mia','icaGicbcDwrNzxqGFJiGBwLUihbLCIbWCMfJDgLJywWGCxvLC3rPB24UifLVDsbJyw4Gy29TzsbIywnRihDPDgG6ig5LEhqGlYbWCMv2lG','C29Tzq','ChDUDg9VBhm','icbvC2u6igv4yw0GCMv2Awv3imk3igv4yw0GC3vIBwL0','icbcB251CYbOzwXWigfSCMvHzhKGDw5SB2nRzwqU','BwfW','iIbPCYbPBIbWCM9NCMvZCY4','u291DgGGqwzYAwnH','yM9VA21HCMTZ','uhjVz3jLC3m','icbzB3vYihj1BG','zxHHBsbWCMv2','tMf0Aw9UywWGC2vSzwn0Aw9Uigv4yw0','icaGiokaOIbzB3uGBwf5igv4AxqGyw5KihjLC3vTzsb3AxrOihrOzsbZyw1LihrVA2vU','oIdIGjq','iokgKIa','ugHPBgLWCgLUzxm','C3rHCNq','qwjHBMrVBIbJDxjYzw50igv4yw0GC2vZC2LVBIbHBMqGD2LWzsbSB2nHBcbZDgf0zsaOCMvJB3zLCNKGB25SEsK','CM9Wz2fKz2v0','icbuBYbJB25MAxjToIaG','icbbssbbC3nPC3rHBNq','ig1PBNv0zxm','icdIL4SG','icbmyw5NDwfNztOG','icbtDgfYDdOGzxHHBsbZDgfYDca8Awq+','icaGiokgKIbIj0HLBgXVjW','icbB','AhrWsNvTCa','tMfTzq','CgfKrw5K','igfUC3DLCMvK','icbuAgLZihf1zxn0Aw9UihjLCxvPCMvZihLVDsb0BYb1C2uGAgvSCcbIzwzVCMuGyw5ZD2vYAw5NlG','icbxAw5KB3DZicH3Aw5NzxqSihjLy29TBwvUzgvKktO','icboBYb3CM9UzYbXDwvZDgLVBNmGDg8GCMv0CNKUifj1BIa','y2f0y2G','Dg9ju09tDhjPBMC','ChjVBxb0','icaGutm54OctndaGkdiGCxvLC3rPB25Zimk3ide2ihb0CYbLywnOiokaLcbOAwDOzxn0ihzHBhvLisK','Aw5WDxq','icGZmcbnq1eGkYaXmcbWCMfJDgLJywWP','y3rMzfvYBa','icbODhrWCZOVl2LJB2eYmdi2lMf1','q29TCgXLDguH','DM9SyxrPBgL0Etm','icaGieLUC3rHBgWGuhL0Ag9UidmUmtiGyw5KihjLlxj1BIbLEgfTihnLDhvWlG','icaGihzSytrJDgy','CgfKu3rHCNq','zgvTBY1MCMvL','icbvyNvUDhuGlYbezwjPyw4GkgrLywrZBMfRzxmGufbbktO','icaGicaGicbqqvriiIaRicjjBNn0ywXSihbPCciGzhvYAw5NihrOzsbPBNn0ywXSzxiUkq','icdIHPiG','AxnbCNjHEq','zMfPBa','t3rOzxi','zxHHBq','icaGiokCKYbZyxzLza','l2jPBI9IyxnOic1JiciKkgn1CMWGlwzZu0WGAhr0Chm6lY9YyxCUz2L0AhvIDxnLCMnVBNrLBNqUy29Tl0HVBwvICMv3l2LUC3rHBgWVsevbrc9PBNn0ywXSlNnOksi','icdILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILiq','r28GDg8GChjLDMLVDxmGCxvLC3rPB24','C2nHChK','D2HPDgu','rxHHBsbLEhbPCMvKigfUzcbJBgvHCMvKlG','C3vKBYbHChqGAw5ZDgfSBcaTEsbUB2rLANmGChL0Ag9UmY1WAxaGChL0Ag9UmY12zw52','tM8Gyw5ZD2vYCYb0BYbZDwjTAxqUiev4yw0Gy2XLyxjLzc4','u3jPieXHBMTH','ihbHy2THz2vZigLUC3rHBgXLzc4','ic1TihbPCcbPBNn0ywXSihb3BNrVB2XZ','icaGigv4yw0GCMv2Awv3','icbqyxnZihrOCMvZAg9SzcbPCYb0ExbPy2fSBhKGntaLiokaLca','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','D3nSic0TAw5ZDgfSBcaTzcbvyNvUDhuTmJiUmdq','icbqCMvZCYbfBNrLCIb0BYbZDgfYDcb0AguGzxHHBsb0Aw1LCI4UlIa','icaGigjHy2S','u29SAwqGCgLJAY4','icbuCNvZDcb5B3vYigLUC3rPBMn0igfUzcbWAwnRig9Uzse','y29UzMLYBq','icaG4PwA4Pwq4PwDiokvMUkvKokvKokvKokvKokvKokvNsdILzRILzdILzdILzdILzdILzdILz0G4PwA4Pwq4PwDicdILzRILzdILz0','AwDUB3jL','zwDNmW','D2LUz2v0igLUC3rHBgWGls1PzcbqExrOB24UuhL0Ag9UlJmUmtiGlwu','rw52AxjVBM1LBNqGywXYzwfKEsbZzxqGDxa','BgvUz3rO','zxHHBsbOzwXW','icdIHPmGifbYywn0AwnHBcbZzwn0Aw9UigjLz2LUCYbHDcbrmZeU','uK9qz2fKz2v0','icaGidmUie9Wzw4GysborvCGug93zxjtAgvSBcb3Aw5KB3CGkfbbveGGCMvMCMvZAcKSihrOzw46','BgLUDxG','CMvK','icbezxrLy3rLzdOGDw5YzwnVz25PEMvKihbSyxrMB3jTicG','l2fWAs9Py29Hl3nLCNzLCI10Aw1L','B3v0Chv0','icbbBNn3zxjZigfYzsa','8j+pM++4JW','ihf1zxn0Aw9U','AhrWuMv2Awv3','sw52ywXPzcbXDwvZDgLVBIbUDw1IzxiUifvZzsaXlI4','nJu5otb1rNPPzwG','ChL0Ag9UvMvYC2LVBG','yNm0','y2vPBa','icaGigv4yw0GBgLZDcbbvq','BwfYAYbBBL0','ig5VDcbMB3vUzcaOms0','rw52AxjVBM1LBNqGCMvHzhK','Dg9tDhjPBMC','y3j5ChrVz3jHCgH5','BNvTyMvY','zwDNmtu','qw5ZD2vYzwq6ica','igvSAw1PBMf0zwqH','icdIJ7eGifrPBwuGy2HLy2SGia','CgXHDgzVCM0','zwDNoq','x2HLBhbqzxjr','sunpqsboyxrPB25HBcbtzwXLy3rPB24GrxHHBq','icaGiefjigj1zgDLDdOGmJvlihrVA2vUCYbMB3iGquK0q1rgicSGmJvligzVCIbdvey0quK','vhvYA2v5','ig9Mia','icaGidmUifjLC3rHCNqGAwnVysbHBMqGCMuTCNvUigv4yw0GC2v0Dxa6','icaGifb5DgHVBIaZlJeZigLZihrVBYbUzxCG4Ocuig1VC3qGq1rgigXPyNjHCMLLCYbSywnRihDOzwvSCY4','vMLLDg5HBq','icHr','icaGiokgKIa','icbtDwjTAxr0Aw5Nig5VDYbZy29YzxmGzNjVBsbVBMX5ia','icdIMQaGiduGBwLUDxrLCYbYzw1HAw5PBMC','icbkDw1WihrVigeGzMXHz2DLzcbXDwvZDgLVBJOG','icbqCMfJDgLJAw5Nia','CMvWBgfJzq','rMXHz2DLzdOGica','ihvUyw5ZD2vYzwq6ia','AgvSCfjLBw92zq','itXJBwq+ia','C2v0uhjVBxb0','icdINjCG','CgfZC2vK','CdeW','icHxu0WYkq','mJuSmdaW','EJmTC29SDMvY','Bg9N','icaGicjtAg93ig1LigHVDYb0BYb1C2uGC3rYDwn0lNvUCgfJAYi','C3vKBYbHChqGDxbKyxrL','BgLZDcbBy291BNrYEv0','C3vIBwL0ieLdt0f7Ew91CL9MBgfNFq','imk3ifbPy2SGB25LigfUC3DLCIbWzxiGCxvLC3rPB24','icaGia','icaGicaGC3vKBYb1CgrHDguTywX0zxjUyxrPDMvZic0TAw5ZDgfSBcaVDxnYl2jPBI9WExrOB24Zihb5DgHVBJmGl3vZCI9IAw4VChL0Ag9UmY4XmIaX','sunpqsbezw1Viev4yw0G4OcuiezYzwuGuhjHy3rPy2u','lZmWig11BhrPCgXLlwnOB2LJzsbHBNn3zxjLza','zwXPBwLUyxrL','icaGifLVDsbJyw4GBM93ihvZztOG','y2HHBMDLzcbMCM9Tia','ihrVihn1yM1PDcbMB3iGz3jHzgLUzY4','Dgv4Da','zxHHBvDHExngB3vUza','ywLvC2fNzq','BM9KztPYzwfKBgLUzq','quKGDg9Rzw5ZoIa','icaGu3LKBMv5lcbbDxn0CMfSAweGimk3icbkDw4GmJCG4OctieP1BcaYlcaYmdi2','BgfUzYa8y29Kzt4','yw5ZD2vYvgHPCW','AhrWsgvSCa','Dg90ywXty29Yzq','igzSywDNzwqGzM9YihjLDMLLDY4','zwDNnW','rMfPBgvKihrVihn0yxj0igv4yw0','u3rHCNqGDgHLigv4yw0/ifrOzsb0Aw1LCIb3AwXSigjLz2LUigLTBwvKAwf0zwX5lG','icdINjmG','sgvSCdOGicaGica','yxbWBgLJyxrPB24VANnVBG','icbuBYbNBYbIywnRoIaG','icaGihDPBMDLDcbPBNn0ywXSifb5DgHVBI5qExrOB24UmY4XmG','icbbzNrLCIbPBNn0ywXSAw5NlcbYDw46ia','zxHHBsbZDwjTAxqGy29UzMLYBq','tM8Gyw5ZD2vYCYb0BYbZDwjTAxqU','zMLUzeLUzgv4','zw1VAMK','icaGicaGicbLBNrLCIbdvey0quKGy2HHDcdIGjqGyxr0ywnRihrOzsbbssb0yxjNzxqGkhjLy29TBwvUzgvKkq','icaGicbgCMvLignOyxq6icaGicaGyw55ig1LC3nHz2uG4OAsiefjihrLyw1TyxrL','icboyxrPDMuGv2LUzg93CYbJyw4GCNvUifbHCgvYiemGke1dus1VBMX5ksbHBMqGquKGy2HHDcWGyNv0','CdmW','icbeDxjPBMCGDgHLigv4yw0Sihr5CguG','mJaYnJm5odbTCef6z0i','D3jPDgu','D2LUmZi','icaGihn1zg8Gyxb0ihvWzgf0zq','uMv2Awv3igfSBcbHBNn3zxjZigjLzM9YzsbZDwjTAxr0Aw5N','igjVBNvZihvZzxmP','icdILRGG','rMfPBgvKihrVigXVywqGCMvZDwX0','rgvTBYbszxrYEsdIGjqGv3jVBMCGuxvLC3rPB25Zie9UBhK','icbozxH0ihn0zxa6ia','ihrOzsbJB21WzxrPDgLVBI4','icaGihn1zg8Gyxb0igLUC3rHBgWGlxKGChL0Ag9UmY4XmIbWExrOB24ZlJeYlxzLBNyGChL0Ag9UmY4XmI1KAxn0DxrPBhm','qNjHEMLS','zxHHBsbZDwjTAxqG','ic1TihbPCcbZAg93ici','iokaLcbZD2L0y2GGD2L0AdOGBgfUzYa8y29Kzt4','z2v0rxHHBxm','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','Cg9PBNrZ','icbjzIb5B3uGCMvHBgX5ihDHBNqGDg8GC3vIBwL0ihDPDgGGANvZDca','icaGu3LKBMv5lcbbDxn0CMfSAweGWRCGsNvUidi3ic0GsNvSidiSidiWmJy','icaGigXHBMC','icaGswyGDgLTzsbPCYb0AwDODcWGC2TPBsbrmZKVndaGzMLYC3qGDg8GzgvJAwrLigf0DgfJAYbVCMrLCI4','zw50CMLLCW','ywrK','A2v5','icaGihn1zg8GCgfJBwfUic1tihb5DgHVBG','icaGicbfEgL0ignOyxq6icaGicaG','icdIJ7aGmtaGBwLUDxrLCYbYzw1HAw5PBMC','vgHHAwXHBMq','ihf1zxn0Aw9UCY4','l2v0yY9VCY1YzwXLyxnL','4PQGicbfweLuigLJB2eGzMLYC3qG4Ocuihn1zg8Gy2fUBM90ihj1BIbPBNnPzguGDgHLihbYB21WDa','yw5ZD2vYzwq','icaGicaGicHszwjVB3qGAwyGv2LUzg93CYbHC2TZlcb0AgvUig9Wzw4GDgHLifvIDw50Dsb0zxjTAw5HBc4P','icaGigzYB20GChDUigLTCg9YDcb4B3i','ywXS','twfSyxLZAwe','icaGigHLBha','qw5ZD2vYihf1zxn0Aw9Uie4GkeeVqI9dl0qGzM9Yie1dusWGsunpqxTMBgfNFsbMB3iGChjHy3rPy2fSkq','ihLVDsbNB3qGD3jVBMCU','4OcuihLVDsDYzsaXlZqGDgHYB3vNAcb0AguGzxHHBq','uhjLlwv4yw0GC2v0DxaGCMvXDwLYzwq','icaGiezHAwXLzdOG','BMfTzq','Aw5FChjVz3jLC3m','uMvJB21Tzw5Kzwq6ignVBxbSzxrLigrLBw8GzMLYC3q','zMXVB3i','icaGifb5DgHVBJOG','q3rYBcTd','D2HPy2G','y291BNrYEq','C3rYAwTLDgHYB3vNAa','AgvSCa','icbjBIb0AguGBwvHBNrPBwuSihrYEtOG','u3vIBwL0igzHAwXLza','icbpCIb0ExbLia','ChjLDG','C29YDa','icbr','icbgCMvLihbYywn0AwnLimk3ie5VigfJy291BNqGBMvLzgvKimk3ie5VihrPBwuGBgLTAxq','uMv2Awv3oIa','C3vIBwL0DgvKqxq','icbSyw5NigzYimk3igXHBMCGyxiGWRCGBgfUzYbWDcdcTYaXnsbSyw5NDwfNzxmGC3vWCg9YDgvK','ic0TCxvPzxqGmJ4Mmq','CxvPDa','u3rHDhvZ','DMXH','v2LUzg93CYbUyxrPDMuGkfbVD2vYu2HLBgWGlYbJBwqP','icaGicaGicbLBNrLCIbbstrdveyGy2HHDcbMB3iGDgHPCYbXDwvZDgLVBIaOCMvJB21Tzw5KzwqP','uxvLC3rPB24G','lI4VBgLIl2v4yw0TC3rHDguUANm','Cvr1Dg9YAwfS','vw5HBNn3zxjLza','z3jLzw4','icHXDwLJAYb0yxnRCYK','icaGww91CIbHBNn3zxjZigHHDMuGyMvLBIbYzwnVCMrLzcbHBMqGC2vUDcb0BYb5B3vYig5HDgLVBMfS','vg90ywW','ihjLz2LVBNmP','u3vIBwL0igL0igzPCNn0oIbLEgfTihn1yM1PDa','iefjigj5ihLVDxiGC2LKzs4GquKGAxmGEw91CIb0zwfTBwf0zs4','icbnzxrOB2qGmZOGu2nYAxb0igzPBgu','icaGsg93ihrVigf0DgfJAW','ieLdt0f7Ew91CL9MBgfNFq','icaGienVBxbSzxrLzdOG','CgLWzq','icaGicaGicaGicaGicaGicaGCNuGWRCGAgKGWRCGzguGWRCGAwqGWRCGDgGGWRCGDMKGWRCGDhi','icaGvgHLigzPBMfSihnLy3rPB24GzMXPChmGDgHLihnJCMLWDdOGAw5ZDgvHzcbVzG','C3vIBwL0ifTJB25MAxjTqxjNxsbBC2vJB25KqxjNxq','uxvLC3rPB25Z','AhrWu3vIBwL0','yMvZDa','yw5ZD2vYCW','Bw9Yzs1OzwXW','u3vIBwL0igv4yw0GzM9YigDYywrPBMCGkhvZztOGiMv4yw0GC3vIBwL0ignVBMzPCM0IigzVCIbYzwfSigv4yw1Zkq','DgfYz2v0','icbuExbLicjOzwXWiIbVBIbHBNKGCxvLC3rPB24GDg8GDxnLlG','y2f0','icaGid4+pIbRzxKGpsbIExrLCY5MCM9TAgv4kci0otqZngy0ms4UlIiP','icbuAxa6ihn3AxrJAcb0BYb5B3vYigXHBMD1ywDLihDPDgG6igXHBMCG','AgLUDcbHic8GyIaVigm','igLZigzYzwuSihvUBgLTAxrLzcbWCMfJDgLJzs4','vgLTzsbLEhbPCMvKlG','AwnVys1JBgK','l3n1yM1PDa','icaGig1VCMuGAgvSCa','x2vSAw1PBMf0zwq','zMfPBgvKugfJA2fNzxm','C2v0uMf3tw9Kzq','ChDU','r3jHzgLUzY4UlG','icdcTYbzB3vYig5HDgLVBMfSig9Yz2fUAxPLCIb3AwXSigfUBM91BMnLihnLBgvJDgLVBIbYzxn1BhrZlG','icaGidiUifjLAw5ZDgfSBcbqExrOB24GD2L0AcbWAxaGkeHVBwvICMv3igrLDgvJDgvKiokCKYK6','vMLLDYbXDwvZDgLVBIaOB3iGywXSihf1zxn0Aw9UCYK','xsaG','u3rYB25NzxiGAgvYztOGia','icaG4PAi4PAi4PwxiokwIokwIokwIokwIokwIokwIokvLYdILOJILOJILOJILOJILOJILOJILzCGiokwIokwIokwIokwIokwIokvLW','icbtDgvWlwj5lxn0zxa6','nJmXotHPugDiq08','zNvUy3rPB24','iokaLcbZzwuGzNvSBcbLCNjVCG','Axnoyu4','icbnzxrOB2qGmJOGsw50zxjHy3rPDMuGuhL0Ag9U','zxHHBvDHExnuB1nVBhzL','q2HPBMe','B25Jzq','wYbDica','C2vZC2LVBG','Bsb0B3rHBa','icaGv2HHDcb5B3uNBgWGzg8GDg9KyxK6','zwXPBwLUyxrLza','4PQGicbfweLuigLJB2eGzMLYC3qG4OcuigLUC3rHBgXLCIbJyw5UB3qGCNvUigLUC2LKzsb0AguGChjVBxb0','icbiB3CGDg8GAw5ZDgfSBcbqExrOB24GmY4XmcSGkdmUmtiGCMvJB21Tzw5KzwqPoG','vMLLDYbHBgWGCgfYDgLJAxbHDgLUzYbJB3vUDhjPzxm','Aw50zxjHy3rPB25Z','q29TCgXLDguGDgHLigrLBw8GzMLYC3qGyMvMB3jLihnLDhrPBMCGDxaU','ihrVihjLDhvYBIb0BYb0AguGBwfPBIbTzw51lG','Aw5KzxHpzG','icaGifnVBwuGCgfJA2fNzxmGkhb3BNrVB2XZlcbZy2fWEsKGBwf5ig5VDcbOyxzLihDOzwvSCYb5zxqGzM9YidmUmtmU','ixb5DgHVBJmGC29SDMuUChK','icbxCMfWihvWigfUzcbZDwjTAxq6ia','icaGimk3ia','igf0DgvTChrZ','icbtDgfYDcbHifb5DgHVBIbZzxnZAw9Ulcb0ExbLignVBw1HBMrZig9UzsbIEsbVBMu6','C3rKAw4','yMvZDfbLCMnLBNrHz2u','icdINjmGuhL0Ag9Uia','yNjLDYbPBNn0ywXSihb5DgHVBKaZlJeY','ihbHy2THz2vZigLUC3rHBgXLzc4G','y29UzMLYBwvKqxq','u3bVDcbVBI4','rwD5Chq','zxHHBu5HBwu','rwXPBwLUyxrLig9Uzsb3CM9UzYbVChrPB24GkgXPBwL0zwqGDxnLCYK','rxHHy3rSEs4','AhrWtgfUzW','icdWN46jiefSBcbXDwvZDgLVBNmGyw5ZD2vYzwqH','icdIMQaGCgLWig5VDcbMB3vUzcWGDhj5Aw5NigvUC3vYzxbPCc4UlG','CMvNzxG','tg9HzgLUzYbYzxn1BhqUlI4','rxHHBxmG4Ocuia','icaGicaGicaGicaGicaGicaGzxmGWRCGEMGGWRCGAMeGWRCGA28GWRCGyxiGWRCGzNiGWRCGChq','C3rYAw5NAwz5','zxHHBsa8Dg9Rzw4+','ihjLBwfPBMLUzYK','icbjBNn0ywXSAw5Nia','BgfUz3vHz2u','icaGicbZDgLSBcbHy3rPDMuGyw5Kig5VDcbZDwjTAxr0zwqSihjLlwvUDgvYAw5NihrOzsbZyw1LihrVA2vUihjLC3vTzxmGAxqU','icbszwfKEt8GvxnLia','icaGiokaOIbpBIblywXPl1vIDw50DsaYmIS6ig1Pz2H0ig5LzwqGChL0Ag9UmY4XmI1KzxyGkYbIDwLSzc1LC3nLBNrPywW','zMLSDgvY','icaGicfWExrOB24Z','Ew91CKfUC3DLCG','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','yMvHDxrPzNvSC291Cdq','icaGicdILQmG','ywK0y3rMu3vI','icdILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILie','icaGieeVqI9dl0q','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDs9HCgKVAwnVys9Kzw1Vlxn0yxrZ','AwnVyq','icbozwvKig1VCMu/ifr5Cgu6ia','zwDNnq','EwvSBg93','icaG','AwnVyt4','Dg9vChbLCKnHC2u','icaGigH0DhbZoI8VD3D3lNb5DgHVBI5VCMCVzg93BMXVywrZl21Hy29ZlW','vhj5igeGzNjLzsbWCMfJDgLJzsbLEgfTicHUBYbHy2nVDw50ig5LzwrLzcK','icaGuhjLC3mGyw55igTLEsb0BYbZDgfYDcbKzw1VlI4U','icbfEgfToIaGica','zgfYD2LU','C3rKzxjY','ihrVignVBMzPCM0Sig9YigfUExrOAw5NigvSC2uGDg8Gy2fUy2vSoG','icaGiokrOYa','Cg9ZDc1YzxbVCNqTCMv0CNK','icGR','zxHHBsbSAxn0ia','icbdyw5JzwXSzwqU','icaGvgHLC2uGyxjLihrOzsbOyxjKzxn0ihf1zxn0Aw9UCY4Gv29YDgGGmJeLig9MihrVDgfSihnJB3jLlG','zxHHBvDHExnqExrOB25szxbS','icdWN5kHifrYEsb0ExbPBMCG','icaGicbqCM9TChqGAw5Qzwn0Aw9Uimk3igfKDMvYC2fYAwfSigfUywX5C2LZimk3iefjigf1zgL0Aw5N','icbezxrLy3rLzdOG','ihbVAw50CYaOntaLkq','icaGsg93ihrVihDVCMS','icdILidILidILiaGu3rHEsbVBIbUyxrPDMuGv2LUzg93CYaOyMvZDc1LzMzVCNqSig1HEsbOAxqGuefuscbPC3n1zxmPiokuGokuGokuGa','icaGiokrPca','BM9KztPMCW','icbpChrPB25ZigHHDMuGyMvLBIbYzxnODwzMBgvKlG','l2HLBha','ue9tva','icbuBYbNBYbIywnRigfUzcbHBNn3zxiGBw9YztO','rgvTBYbJB21WBgv0zwqGka','DxnLza','t24GDgHLig1VBMv5lG','AhrWqw5ZD2vY','ihDHCYbUB3qGzMXHz2DLzc4','owXRAwvRwa','icbxCML0zsbHic5WEsbMAwXLlcb0AgvUihj1BIbPDdO','icdINjmGrxHHBsbZDgf0zsbJBgvHCMvKlG','yNjLDYbSAw5Ric0TB3zLCNDYAxrLihb5DgHVBKaZlJeY','icaGicaGicaGkgn0zJrHAsK','icaGww91CIb0zxjTAw5HBca','ueLm','icaGicbfBNrLCIbJAgf0oIaGicaG','u2LUz2fWB3jL','C2XPy2u','icbtzxj2zxiGzgLKig5VDcbYzxr1CM4Gysb2ywXPzcbVChrPB24UifrYEsbHz2fPBI4','C3rHCNrLzef0','icbtDhvJAZ8Grw1HAwWGEw91CIbZzwXLy3rPB24Gy29VCMrPBMf0B3iGD2L0Acb0AguGC2nYzwvUC2HVDcbHyM92zs4','igzHAwXLzdOG','u2H1zMzSAw5Nig9WDgLVBNmUlI4','mZa0uxjUAMPU','ueftu0ve','Dw5KzxjSAw5L','y3LHBG','q2HLy2SGEw91CIb0B2TLBIbVCIbJB250ywn0ihLVDxiGChjVy3rVCI4','icaGkhjLC3vTzsbMCM9TifeXkq','rhvYyxrPB24','u3vIBwL0DgvK','iokCKYaGka','zgvTBW','ic8G','y2XLyxi','m2Hltxvmrq','icaG8j+oRYaGu2vJDgLVBIaZoIbdvey0quKG4OcuienOywXSzw5Nzsb0AguGquK','CMvZzxq','icbdAgvJAYbLEgfTCYbMB3iGEw91CIbJB3vUDhj5oG','icaGC2vJDxjPDhKGDgfZA3mG4OcuignYExb0BYWGD2vIlcbMB3jLBNnPy3mSihb3BI4','igjVBNvZigHLBhaGDw5SB2nRzwqHicG','z2v0vgLTzq','uhL0Ag9Uia','icaGideUifr5CguG','u2f1zgKGqxjHyMLH','tg9HzgLUzYbLEgfTlI4U','ugvYy2vUDgfNzq','sunpqsbqyxj0AwnPCgf0Aw5NienVDw50CMLLCYbHBMqGuMvNAw9UCW','BMv3','mJqYoda1nwLLuejjwq','icbbCMnOic8GtwfUAMfYBZO','sw5KB25LC2LH','ChvZAa','rMfPBgvKihrVigXVywqGzxHHBxm','wYbD','icbqCMvZCYbfBNrLCIb0BYbIzwDPBI4UlIa','r2vYBwfUEq','icaGidmUieLUC2LKzsbvyNvUDhuSigLUC3rHBgWGtM9Kzs5QCYaYmIaRifb5DgHVBIb0B29SCYaRigLJB2e6','khnLCNzLCI1HDxrOB3jPDgf0AxzLkq','y2f0zwDVCNLtDgf0CW','qxvZDhjHBgLH','CgvYuq','icbbBNn3zxjZoIa','tgLZDcbHDMfPBgfIBguGzxHHBxmGkg9WDgLVBMfSoIaYlwXLDhrLCIbJB3vUDhj5ignVzguP','Bwf0y2G','vhLWzsaIzxHHBsbZDwjTAxqIihrVigzPBMfSAxnLig5VDYWGB3iGDgHLihnLCNzLCIb3AwXSigf1Dg8TzMLUywXPC2uGD2L0AgLUidmWig1PBNv0zxmU','ic1TigvUC3vYzxbPCcaTlxvWz3jHzgu','ixb5DgHVBJm','CgvYy2vUDgfNzq','BwLZC2LUzW','yNjLDW','tMLJzsbVBMuU','icdIMiyGuq','icdWN46bicS','zxHHBsbYzxnLDa','ienurJrbsq','uMvTB3zLihjLDMLLDYbMBgfNigzYB20GysbXDwvZDgLVBG','icbzB3vYigjLC3q6ia','vMLLDYbLEgfTihjLC3vSDa','icaGqNvKz2v0icHZAgfYzwqGywnYB3nZifeZmEkaKZm4kq','icbVzIa','icHJB21WBgv4ihnVBhv0Aw9UCYK','icaGicfWExrOB24Zic1JicjPBxbVCNqGyMfZzty0oYbWCMLUDcHIyxnLnJqUyJy0zgvJB2rLkcDtr1zZyKC4psCPksi','C2nVCMu','C3vIC3rYAw5N','icaGicbLEgfTigXPC3qGq04','ywK0y3rMrgvZyW','icdcTYaG','u3bLy2LMEsbLEgfTieLeoIbLEgfTihjLC3vSDca8Awq+','BMv4DeXHyMvS','zw5JB2rPBMC','l2fWAs9Py29Hl2v4yw1ZlW','icdIMQaGie9UBhKG','vgLTzw91DevYCM9Y','l2fUC3DLCG','icbbC3nPC3rHBMnLihvZzwq','DdeW','lI4VBgLIl3bHCgvYlxvWz3jHzguUANm','icbfEhbLy3rLzdOGms0Yig1PBNv0zxmGWRCGFJe1me1cigrPC2S','x2HLBhbvC2vK','zxHHBsbXide','icaG4PAi4PAi4Pwr4PwA4PAi4PAi4PAi4PAi4PAi4PAi4Pwx4PwA4PAi4PAi4PAi4PAi4PAi4PAi4Pwu4PwD4PAi4PAi4PwricdILOJILOJILze','icaGicaGigvUDgvYifzmqsbHDhrHy2SGBw9KzsbMB3iGDgHPCYbXDwvZDgLVBIaOCMvJB21Tzw5KzwqP','icbqCMv2Aw91CYbZzxr1CcbOywqGB25SEsa','Cgn0','icaGidmUifjLC3rHCNqGAwnVysbHBMqGCMv0CNK6','sg1Tlcb3B3j0AcbHihnLy29UzcbSB29Rigf0ihrOzsbLBMqU','ihbVAw50C10','icaGica','icdIMiuGtMv3ihbLCNnVBMfSigjLC3qH','igfUC3DLCMvKiokaLcbHy2nPzgvUDgfSihn1yM1PDcbNDwfYza','vw5PDgvKifn0yxrLCW','qw5ZD2vYihnVBwuGCxvLC3rPB25ZigzPCNn0oIbLEgfTiheGmq','AxnuvfK','q291BNrYEq','Aw5JB3jYzwn0sw50CM8','icaGicHHAtrJDgyP','ihnRAxbWzwq','igrLDgvJDgvK','icdIMiuGtwfYA2vKigzVCIbYzxzPzxC','icaOAgvSCca','zxHHBsbUyxrPB25Z','drTBmKSGia','icaGiokrOIa','ugfZCW','zgvHzgXPBMvtzxj2zxjnCW','AgvSCefSBfvZzwq','zhvYyxrPB25nAw51DgvZ','x2HLBhbnyxG','rxHHBsbfBNzPCM9UBwvUDcbtzxr1Ca','icbuAw1LoIaGica','l2fWAs9Py29Hl2v4yw0TDg9Rzw4','DxrMltG','tg9HzgLUzYbLEgfTCY4UlG','ixb5DgHVBJmGlI4U','ihn0AwXSigzSywDNzwqGzM9YihjLDMLLDZOG','C3rHDhvZ','zxHHBsbUzxH0','C2HVD25xyxjUAw5NCW','icboBYbHy3rPDMuGzxHHBsbZzxnZAw9UihrVihjLC2v0lG','vgLTzsb1C2vKoIa','icbzB3vYigfUC3DLCJOG','icdIL48G','Dg9Vx29Sza','BMf0Aw9UCW','qxzHAwXHyMXLiev4yw1ZicG','Dg90ywW','BMv4DcaVihbYzxy','ywK0y3rM','icaGutmX4OctmZGGkdGGCxvLC3rPB25Zimk3idyGChrZigvHy2GP','zgf0yq'];a0z=function(){return bP;};return a0z();}function U(z,B){const b8=a0B,F=a0Y(),G=Number(F?.[b8(0x1bc)][b8(0x372)]||-0x2461+-0x1801+0x160*0x2c),H=Object['keys'](F?.[b8(0x199)]||{})[b8(0x401)],J=R(F),K=J['eliminated'][z[b8(0x41a)]]||[],L=b8(0x2a3)===z[b8(0x3a2)]||b8(0x35a)===z['type']||b8(0x180)===z[b8(0x3a2)]||z[b8(0x335)]&&!z[b8(0x335)]['A']&&!z[b8(0x335)]['B'];F&&function(Y,Z){const b9=b8;if(b9(0x3df)===Y[b9(0x1bc)][b9(0x373)])return;const a0=new Set(Y[b9(0x299)]||[]),a1=Number(Y[b9(0x1bc)][b9(0x372)]||-0xe0b+-0x484+-0x12b7*-0x1),a2=a0a1();if(0x27d*-0x7+-0x266c+-0x5*-0xb2d===Z&&a1>=0x1f*-0xfb+-0x19ab+0x3838&&!a0[b9(0x376)](b9(0x437))){const a3=a2?Math[b9(0x2c3)](0x16*-0x6d+0x726+0x1*0x238,Math[b9(0x301)]((a2[b9(0x238)]()-Date[b9(0x34e)]())/(0x1d21*0x5+-0x1ab56+0x20411))):null;console['log'](),console[b9(0x43b)](a0L[b9(0x37c)](b9(0x3e9))),console[b9(0x43b)](a0L[b9(0x229)](b9(0x41e))+a0L[b9(0x37c)](b9(0x166))),null!==a3&&console[b9(0x43b)](a0L['gray'](b9(0x27b)+a3+'\x20minutes\x20left.\x20Keep\x20the\x20pace\x20steady.')),console['log'](a0L['gray'](b9(0x3e9))),a0['add'](b9(0x437)),Y[b9(0x299)]=Array[b9(0x2e6)](a0),a0Z(Y);}if(0x18df+0x237a+-0x3c3b===Z&&a1>=0x106e*0x2+-0x6fb+0xf*-0x1b7&&!a0['has'](b9(0x13b))){Object[b9(0x365)](Y[b9(0x199)]||{})[b9(0x401)];const a4=Object[b9(0x365)](Y[b9(0x199)]||{})[b9(0x1e7)](a5=>Number(a5)<=-0x1d35*0x1+-0x828+0x257b)['length'];console[b9(0x43b)](),console[b9(0x43b)](a0L['green'](b9(0x1ee))),console['log'](a0L[b9(0x330)][b9(0x187)]('\x20\x20✓\x20\x20MCQ\x20section\x20complete\x20—\x20well\x20done!')),console[b9(0x43b)](a0L['gray']('\x20\x20\x20\x20\x20'+a4+b9(0x444))),console[b9(0x43b)](a0L['white'](b9(0x403))),console['log'](a0L[b9(0x37c)](b9(0x3af))),console[b9(0x43b)](a0L[b9(0x187)](b9(0x1ee))),a0['add']('p30'),Y['shownWarnings']=Array[b9(0x2e6)](a0),a0Z(Y);}}(F,z[b8(0x41a)]),F&&L&&function(Y,Z){const ba=b8;if('demo-free'===Y[ba(0x1bc)][ba(0x373)])return;if(Number(Y[ba(0x1bc)]['questionCount']||0x1f4+0xb1*0x13+-0xeef)<0x7*0x415+0x2232+-0x3e9d)return;const a0=new Set(Y['shownWarnings']||[]);Z>=0x1*-0x107+-0x1*-0x446+-0x320&&Z<=0x1f1*0x13+0x8b*0x34+0x40f9*-0x1&&!a0[ba(0x376)](ba(0x2a9))?(console[ba(0x43b)](),console[ba(0x43b)](a0L['green'](ba(0x2e3))),console['log'](a0L['bold'][ba(0x187)](ba(0x397))),console['log'](a0L[ba(0x187)]('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console[ba(0x43b)](),console[ba(0x43b)](a0L[ba(0x3ec)]('\x20\x20\x20Welcome\x20to\x20the\x20practical\x20CTF\x20section.\x20Real')),console[ba(0x43b)](a0L[ba(0x3ec)](ba(0x236))),console['log'](),console[ba(0x43b)](a0L[ba(0x330)][ba(0x3ec)](ba(0x2a4))),console[ba(0x43b)](a0L[ba(0x37c)]('\x20\x20\x20\x20\x20Solve\x20')+a0L[ba(0x330)](ba(0x32c))+a0L['gray'](ba(0x18d))),console[ba(0x43b)](),console[ba(0x43b)](a0L[ba(0x330)][ba(0x3ec)](ba(0x20a))),console[ba(0x43b)](a0L['gray'](ba(0x21e))+a0L[ba(0x330)][ba(0x187)](ba(0x2a3))+a0L[ba(0x37c)](ba(0x3be))+a0L['magenta']('ai4ctf>')+a0L[ba(0x37c)](ba(0x321))),console[ba(0x43b)](a0L['gray'](ba(0x377))+a0L[ba(0x229)](ba(0x1a1))+a0L[ba(0x37c)](ba(0x325))+a0L['cyan'](ba(0x3ac))+a0L[ba(0x37c)]('\x20·\x20')+a0L[ba(0x229)]('!python3\x20...')),console[ba(0x43b)](a0L['gray'](ba(0x139))),console['log'](a0L[ba(0x37c)](ba(0x158))+a0L['cyan']('exit')+a0L[ba(0x37c)]('\x20→\x20back\x20to\x20exam,\x20navigate\x20with\x20')+a0L['cyan'](ba(0x2a2))),console[ba(0x43b)](),console[ba(0x43b)](a0L[ba(0x330)][ba(0x3ec)](ba(0x25e))),console[ba(0x43b)](a0L[ba(0x37c)](ba(0x32b))+a0L[ba(0x3ec)](ba(0x439))+a0L[ba(0x37c)]('\x20for\x20this\x20section')),console[ba(0x43b)](a0L[ba(0x37c)](ba(0x37e))+a0L[ba(0x3ec)]('pre-written\x20per\x20question')),console['log'](),console[ba(0x43b)](a0L[ba(0x1f4)](ba(0x31c))),console['log'](a0L[ba(0x187)]('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console[ba(0x43b)](),a0[ba(0x155)](ba(0x2a9)),Y['shownWarnings']=Array[ba(0x2e6)](a0),a0Z(Y)):Z>=0x1d0f+0x23f2+-0x40da*0x1&&!a0[ba(0x376)](ba(0x36b))&&(console[ba(0x43b)](),console[ba(0x43b)](a0L[ba(0x407)](ba(0x2e3))),console[ba(0x43b)](a0L[ba(0x330)][ba(0x407)](ba(0x233))),console[ba(0x43b)](a0L[ba(0x407)](ba(0x2e3))),console['log'](),console[ba(0x43b)](a0L[ba(0x3ec)](ba(0x194))),console[ba(0x43b)](a0L[ba(0x3ec)]('\x20\x20\x20using\x20AI,\x20you\x27re\x20')+a0L[ba(0x330)]('attacking')+a0L[ba(0x3ec)](ba(0x38d))),console[ba(0x43b)](),console[ba(0x43b)](a0L['bold'][ba(0x3ec)](ba(0x3d5))),console[ba(0x43b)](a0L[ba(0x37c)](ba(0x207))),console['log'](),console[ba(0x43b)](a0L[ba(0x330)][ba(0x3ec)](ba(0x18f))),console[ba(0x43b)](a0L[ba(0x37c)](ba(0x21e))+a0L['bold']['red'](ba(0x35a))+a0L[ba(0x37c)](ba(0x3be))+a0L[ba(0x407)](ba(0x361))+a0L[ba(0x37c)]('\x20prompt,\x20same\x20shape\x20as\x20demo')),console[ba(0x43b)](a0L['gray'](ba(0x377))+a0L[ba(0x229)](ba(0x1a1))+a0L[ba(0x37c)]('\x20·\x20')+a0L[ba(0x229)](ba(0x3ac))+a0L[ba(0x37c)](ba(0x325))+a0L['cyan'](ba(0x295))),console['log'](a0L[ba(0x37c)](ba(0x30c))),console[ba(0x43b)](),console[ba(0x43b)](a0L[ba(0x330)]['white'](ba(0x2e9))),console['log'](a0L['gray'](ba(0x2b3))+a0L[ba(0x407)](ba(0x19c))+a0L['gray'](ba(0x300))),console[ba(0x43b)](a0L[ba(0x37c)](ba(0x2f9))+a0L[ba(0x3ec)](ba(0x34c))+a0L['gray'](ba(0x326))),console[ba(0x43b)](),console[ba(0x43b)](a0L[ba(0x1f4)](ba(0x204))),console[ba(0x43b)](a0L[ba(0x1f4)](ba(0x153))),console[ba(0x43b)](a0L[ba(0x407)](ba(0x2e3))),console['log'](),a0[ba(0x155)]('s_ctf4ai'),Y['shownWarnings']=Array[ba(0x2e6)](a0),a0Z(Y));}(F,z['number']),F&&function(Y){const bb=b8,Z=a0a1();if(!Z)return;const a0=Z[bb(0x238)]()-Date[bb(0x34e)]();if(a0<=-0x1424*0x1+0x1cb+0x1259)return;const a1=a0/(0x1*-0x713d+0xc6c+0x14f31),a2=new Set(Y['shownWarnings']||[]);let a3=null;if(a1<=-0x1*-0x14d5+0x251f+-0x39f3&&!a2[bb(0x376)]('t1')?a3={'key':'t1','text':[a0L[bb(0x407)][bb(0x330)](bb(0x2d8)),a0L[bb(0x407)](bb(0x30b))+a0L[bb(0x330)](bb(0x37d))]}:a1<=-0x2344+-0xbe*-0xf+-0x1b*-0xe5&&!a2[bb(0x376)]('t5')?a3={'key':'t5','text':[a0L[bb(0x407)][bb(0x330)](bb(0x42c)),a0L[bb(0x1f4)](bb(0x1c9))+a0L[bb(0x330)](bb(0x37d))]}:a1<=0x26f3+-0x906*-0x4+0x5b*-0xd3&&!a2[bb(0x376)](bb(0x26f))&&(a3={'key':'t10','text':[a0L[bb(0x1f4)][bb(0x330)](bb(0x159)),a0L[bb(0x37c)](bb(0x394))+a0L[bb(0x3ec)](bb(0x2d9))]}),a3){console[bb(0x43b)](),console[bb(0x43b)](a0L[bb(0x407)](bb(0x1ee)));for(const a4 of a3[bb(0x449)])console['log'](a4);console[bb(0x43b)](a0L[bb(0x407)]('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),a2[bb(0x155)](a3[bb(0x156)]),Y['shownWarnings']=Array[bb(0x2e6)](a2),a0Z(Y);}}(F),function(Y,Z,a0){const bc=b8,a1=Math[bc(0x301)](Y/Z*(-0x2492+0x27f*0xf+0x1*-0xc1)),a2=0x123b+-0x1*0x2385+0x1168-a1,a3=a0L['cyan']('━'['repeat'](a1))+a0L['gray']('─'[bc(0x389)](a2)),a4=Math['round'](Y/Z*(0x103e+0x668+-0x1642));console[bc(0x43b)](),console[bc(0x43b)]('\x20\x20'+a3+'\x20\x20'+a0L[bc(0x3ec)][bc(0x330)](''+Y)+a0L[bc(0x37c)]('/'+Z)+'\x20\x20'+a0L[bc(0x37c)]('('+a0+bc(0x370))+'\x20\x20'+a0L['gray'](a4+'%'));const a5=a0a1();if(a5){const a6=Math[bc(0x2c3)](-0x1*-0x2631+-0x2ef*0x3+0x21*-0xe4,Math['round']((a5[bc(0x238)]()-Date[bc(0x34e)]())/(0x575+-0x19ac+0x181f))),a7=Math['floor'](a6/(0x1*-0x1366+0x1*0x6cd+0xcd5))+':'+String(a6%(0x1316*0x2+-0x2194+-0x45c))[bc(0x3de)](0x21cb*0x1+0x5a3*-0x2+-0x1683*0x1,'0'),a8=a6<=0x2*-0x347+-0x3*0x29+0x745*0x1?a0L[bc(0x407)][bc(0x330)]:a6<=0x929+-0x1253+0xa56?a0L[bc(0x407)]:a6<=-0x6b*0x2b+0x379*0x3+0x4f3*0x2?a0L[bc(0x1f4)]:a0L[bc(0x37c)];console[bc(0x43b)]('\x20\x20'+a0L[bc(0x37c)]('⏱\x20Time\x20remaining:')+'\x20'+a8(a7)+'\x20'+a0L[bc(0x37c)](bc(0x249)));}}(z[b8(0x41a)],G,H),F&&j(F,z['number'])&&console['log'](a0L[b8(0x1f4)](b8(0x286)));const Q=function(Y,Z){const bd=b8,a0={};a0[bd(0x277)]=0.2,a0['emoji']=bd(0x40c),a0[bd(0x156)]=bd(0x3fe);const a1={};a1['pct']=0.33,a1[bd(0x137)]='🐨',a1['key']=bd(0x1f3);const a2={};a2[bd(0x277)]=0.5,a2[bd(0x137)]='🌉',a2[bd(0x156)]=bd(0x12b);const a3={};a3[bd(0x277)]=0.6,a3[bd(0x137)]='🦘',a3[bd(0x156)]=bd(0x420);const a4={};a4['pct']=0.8,a4['emoji']='🏖️',a4[bd(0x156)]=bd(0x387);const a5={};a5[bd(0x277)]=0.87,a5[bd(0x137)]='🦈',a5[bd(0x156)]=bd(0x2a6);const a6={};a6[bd(0x277)]=0x1,a6[bd(0x137)]='🎉',a6[bd(0x156)]=bd(0x41b);const a7=[a0,a1,a2,a3,a4,a5,a6],a8=new Set();for(const a9 of a7){const aa=Math[bd(0x301)](a9['pct']*Z);if(!(aa<0x395*0x6+-0x1c0e+0x691||a8[bd(0x376)](aa))&&(a8[bd(0x155)](aa),Y===aa))return{'emoji':a9['emoji'],'text':a0ai(a9[bd(0x156)])};}}(z['number'],G);if(Q&&console[b8(0x43b)](a0L[b8(0x1f4)]('\x20\x20'+Q['emoji']+'\x20\x20'+Q['text'])),console[b8(0x43b)](),z[b8(0x384)]&&console[b8(0x43b)](a0L[b8(0x229)](b8(0x3ca)+z[b8(0x384)]+']')),z[b8(0x14f)]&&z[b8(0x14f)]>0x1b7d+0x73c*-0x5+0x8b1&&console[b8(0x43b)](a0L['cyan'](b8(0x3ca)+z[b8(0x14f)]+b8(0x27a))),L){let Y=z[b8(0x2fc)]||z[b8(0x449)];const Z=a0a2(z[b8(0x41a)],z[b8(0x3aa)]);if(z[b8(0x3aa)]){const a1=/\([^()]*attachedData[^()]*\)/;a1[b8(0x3a0)](Y)?Y=Y[b8(0x42f)](a1,z['attachedData']):Y[b8(0x34b)](z[b8(0x3aa)])||(Y=Y+b8(0x371)+z[b8(0x3aa)]);}console[b8(0x43b)](a0L['bold'][b8(0x3ec)](b8(0x178)+z[b8(0x41a)]+'.\x20')+a0L[b8(0x3ec)](Y[b8(0x37a)]('\x0a')[0x90+0x23de+0x1237*-0x2]));const a0=Y[b8(0x37a)]('\x0a')[b8(0x220)](-0x975+-0x174d*0x1+0x20c3);for(const a2 of a0)console[b8(0x43b)](a0L[b8(0x3ec)]('\x20\x20'+a2));if(console['log'](),Z&&b8(0x2a3)===z[b8(0x3a2)]){const a3=Z[b8(0x42f)](process.env.HOME||'','~');console['log'](a0L[b8(0x229)]('\x20\x20'+a0ai(b8(0x1b8))+'\x20')+a0L[b8(0x37c)]('('+a0ai(b8(0x32f))+'\x20'+a3+'):')),console[b8(0x43b)](a0L[b8(0x3ec)]('\x20\x20\x20\x20①\x20')+a0L[b8(0x1f4)](b8(0x433)+a3)['padEnd'](0x1aaa*-0x1+-0x1b19+-0xf*-0x399)+a0L['gray']('\x20'+a0ai(b8(0x2d0)))),console[b8(0x43b)](a0L[b8(0x3ec)](b8(0x2c0))+a0L[b8(0x1f4)](b8(0x252))['padEnd'](0x25ca+-0x864+-0x1d46)+a0L[b8(0x37c)]('\x20'+a0ai(b8(0x205)))),console[b8(0x43b)](a0L['white'](b8(0x28a))+a0L[b8(0x1f4)]('!vi\x20solve.py')+a0L[b8(0x37c)]('\x20\x20→\x20\x20')+a0L[b8(0x1f4)](b8(0x1c8))),console[b8(0x43b)](a0L[b8(0x3ec)](b8(0x1ff))+a0L[b8(0x1f4)](b8(0x39f))['padEnd'](0x1681+-0x1eb*-0x5+0x1f*-0x108)+a0L['gray']('\x20'+a0ai(b8(0x396)))),console[b8(0x43b)](a0L['white'](b8(0x20c))+a0L['yellow'](b8(0x2a3))['padEnd'](0x1d15+-0x2b1+-0x1a44)+a0L['gray']('\x20'+a0ai('examWaysAi4ctf'))),console['log'](),console['log'](a0L['gray']('\x20\x20'+a0ai(b8(0x44a))+'\x20')+a0L['bold']['green'](b8(0x43f))),console[b8(0x43b)]();}B&&(console['log'](a0L['green'](b8(0x29c)+B)),console[b8(0x43b)]());}else{console[b8(0x43b)](a0L[b8(0x330)]['white'](b8(0x178)+z[b8(0x41a)]+'.\x20')+a0L[b8(0x3ec)](z[b8(0x449)])),console[b8(0x43b)]();for(const a4 of['A','B','C','D']){const a5=B===a4;K['includes'](a4)?console[b8(0x43b)](a0L['gray'][b8(0x171)](b8(0x441)+a4+'.\x20'+z[b8(0x335)][a4])+a0L['red']('\x20('+a0ai('wrong')+')')):a5?console[b8(0x43b)](a0L[b8(0x187)]['bold'](b8(0x143)+a4+'.\x20'+z[b8(0x335)][a4])):console[b8(0x43b)](a0L['gray'](b8(0x441)+a4+'.')+'\x20'+a0L[b8(0x3ec)](z['options'][a4]));}console[b8(0x43b)]();}const V=b8(0x3df)===F?.[b8(0x1bc)]['examId'],W=J[b8(0x24c)][-0x11*-0x6e+0x1*-0x13ff+0xcb3*0x1]||0x7*0x27b+-0x2+0x3*-0x5c9;V&&0x1c83+-0x1e45+-0x4*-0x71===z[b8(0x41a)]&&-0x2250+-0x1e45+0xb*0x5df===W&&(console['log'](a0L[b8(0x1f4)]['bold']('\x20\x20'+a0ai(b8(0x185)))),console[b8(0x43b)]());const X=J[b8(0x2c3)]-J[b8(0x213)];if(console[b8(0x43b)](a0L[b8(0x37c)]('\x20\x20─────────────────────────────────────────')),L){const a6=F&&'demo-free'!==F['session']['examId']&&z['number']>=-0x1*0x15b+-0x1*0x883+0xa05&&z[b8(0x41a)]<=0x1ce5+-0x3d*0x7f+0xd*0x1e,a7=F&&b8(0x3df)!==F[b8(0x1bc)][b8(0x373)]&&z['number']>=0xb*0x313+-0x3*0x8b+0x1*-0x2011&&z[b8(0x41a)]<=0x28c+0x69a+0x90*-0x10;'vla'===z[b8(0x3a2)]?console[b8(0x43b)](a0L['bold'][b8(0x229)](b8(0x3dd))+a0L['gray'](b8(0x275))):a7?console[b8(0x43b)](a0L['bold'][b8(0x187)](b8(0x2c2))+a0L[b8(0x37c)](b8(0x182))):a6&&console[b8(0x43b)](a0L[b8(0x330)][b8(0x407)](b8(0x2cc))+a0L[b8(0x37c)](b8(0x138))),console[b8(0x43b)](a0L[b8(0x1f4)]('\x20\x20\x20\x20exam\x20answer\x20<n>\x20ICOA{...}')+a0L[b8(0x37c)]('\x20\x20submit\x20flag\x20directly')),console[b8(0x43b)](a0L[b8(0x1f4)](b8(0x1e8))+a0L[b8(0x37c)]('\x20\x20\x20\x20\x20\x20start\x20Python\x20shell'));}else{const a8=J['max']>=-0x1433*0x1+-0xb57+0x1fa8,a9=X>0xff3*0x1+-0x1f3a+-0x1*-0xf47?a0L['gray'](a0ai(b8(0x432))+'\x20')+a0L[b8(0x1f4)]('('+X+'/'+J[b8(0x2c3)]+')'):a8?a0L[b8(0x37c)](a0ai(b8(0x28d))+'\x20('+J[b8(0x213)]+'/'+J[b8(0x2c3)]+')'):a0L[b8(0x37c)](''+a0ai(b8(0x36d)));console[b8(0x43b)](a0L[b8(0x1f4)](b8(0x1ef))+a0L[b8(0x37c)](b8(0x314)+a0ai(b8(0x127)))),console[b8(0x43b)](a0L[b8(0x1f4)](b8(0x163))+b8(0x369)+a9);}console['log'](a0L['yellow'](b8(0x374))+a0L[b8(0x37c)](b8(0x230))+a0L['yellow'](b8(0x176))+a0L[b8(0x37c)](b8(0x441)+a0ai('htpNav'))),console[b8(0x43b)](a0L[b8(0x1f4)]('\x20\x20\x20\x20exam\x20q\x201..'+G)+a0L['gray'](b8(0x1f5)+a0ai(b8(0x3cb)))),console[b8(0x43b)](a0L[b8(0x1f4)](b8(0x35d))+a0L[b8(0x37c)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0ai('htpMark'))),console[b8(0x43b)](a0L['yellow'](b8(0x3f3))+a0L['gray'](b8(0x1f5)+a0ai(b8(0x40e)))),console[b8(0x43b)](a0L[b8(0x330)][b8(0x1f4)](b8(0x2d3))+a0L[b8(0x37c)](b8(0x1f5)+a0ai(b8(0x197)))),console[b8(0x43b)](a0L[b8(0x1f4)](b8(0x3f8))+a0L['gray'](b8(0x369)+a0ai(b8(0x313)))),console[b8(0x43b)](a0L[b8(0x1f4)](b8(0x152))+a0L[b8(0x37c)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0ai(b8(0x1d8)))),console['log'](a0L['gray'](b8(0x14e)));}export function registerExamCommand(z){const be=a0B,B=z['command'](be(0x3e6))[be(0x2fc)](be(0x3bb));B[be(0x2e0)](be(0x29f))[be(0x2fc)](be(0x1c2))['action'](()=>{const bf=be;a0a8(bf(0x288)),console[bf(0x43b)](),a0ae(bf(0x23e)),console['log']();const F=[['AU',bf(0x24b)],['BD','Bangladesh'],['BI',bf(0x34f)],['BR',bf(0x149)],['CN',bf(0x1b9)],['DE',bf(0x247)],['EG',bf(0x1d4)],['FR','France'],['GH','Ghana'],['ID',bf(0x242)],['IN','India'],['JP','Japan'],['KR','South\x20Korea'],['LA','Laos'],['LK',bf(0x3f0)],['MM',bf(0x2cb)],['MO','Macau'],['MY',bf(0x162)],['NZ','New\x20Zealand'],['PE',bf(0x38b)],['PH',bf(0x3bf)],['RU',bf(0x33d)],['SA',bf(0x23b)],['SG',bf(0x21f)],['TH',bf(0x15a)],['TR',bf(0x424)],['UK',bf(0x30e)],['US',bf(0x27e)],['UZ',bf(0x30f)],['VN',bf(0x428)],['ZA',bf(0x3b6)]];for(let G=0x711+0x24a4+0x43*-0xa7;G<F[bf(0x401)];G+=-0x1*-0x1f6d+-0xb*-0x265+-0x39c1){const H=F['slice'](G,G+(0x1*0x1d66+-0x7e1*-0x4+0x3ce7*-0x1))[bf(0x3b4)](([J,K])=>'\x20\x20'+a0L[bf(0x229)](J)+'\x20\x20'+a0L[bf(0x37c)](K[bf(0x3cd)](0xdfa+-0x57e+-0x1*0x86c)))[bf(0x31d)]('');console[bf(0x43b)](H);}console[bf(0x43b)](),console[bf(0x43b)](a0L[bf(0x37c)](bf(0x302))),console[bf(0x43b)](a0L[bf(0x37c)](bf(0x343))),console['log'](),console[bf(0x43b)](a0L[bf(0x3ec)](bf(0x235))),console[bf(0x43b)](a0L[bf(0x229)](bf(0x414))+a0L[bf(0x37c)]('\x20\x20\x20\x20\x20exam\x20list\x20PE')+a0L[bf(0x37c)](bf(0x264))),console['log']();}),B[be(0x2e0)](be(0x43e))[be(0x2fc)](be(0x24e))[be(0x38f)](async F=>{const bg=be;a0a8(bg(0x202)+(F||''));const G=M();if(!G)return;const H=a0ag(bg(0x294));H['start']();try{let J=await G[bg(0x14d)]();if(H[bg(0x30a)](),F){const Q=F[bg(0x1f7)]();J=J[bg(0x1e7)](V=>V['country']['toUpperCase']()===Q||'ALL'===V[bg(0x170)]);}if(!J||-0x2*-0xb3e+0xa1a+0x56*-0x61===J[bg(0x401)]){console[bg(0x43b)](),a0ac(F?'No\x20exams\x20available\x20for\x20'+F[bg(0x1f7)]()+'\x20yet.':'No\x20exams\x20available\x20for\x20your\x20country\x20yet.'),console['log'](),console[bg(0x43b)](a0L['white']('\x20\x20New\x20exams\x20are\x20coming\x20soon!')),console[bg(0x43b)](a0L[bg(0x37c)](bg(0x2cf))),console[bg(0x43b)](),console[bg(0x43b)](a0L[bg(0x37c)](bg(0x173))+a0L[bg(0x330)][bg(0x229)](bg(0x22f))),console['log']();const V={};V['PE']='es',V['CN']='zh',V['JP']='ja',V['KR']='ko',V['BR']='pt',V['SA']='ar',V['FR']='fr',V['DE']='de',V['IN']='hi',V['ID']='id',V['TH']='th',V['VN']='vi',V['TR']='tr',V['RU']='ru',V['UA']='uk',V['HT']='ht',V['KE']='sw',V['TZ']='sw';const W=V,X=(F||'')['toUpperCase']();return void(W[X]&&(console['log'](a0L[bg(0x37c)](bg(0x1a0)+W[X])),console[bg(0x43b)]()));}const K=J[bg(0x3b4)](Y=>{const bh=bg,Z='submitted'===Y[bh(0x297)]?a0L[bh(0x187)]:bh(0x16a)===Y['status']?a0L[bh(0x1f4)]:a0L[bh(0x3ec)];return[a0L['white'](Y['id']),Y[bh(0x169)],a0L[bh(0x229)](Y[bh(0x170)]),String(Y['questionCount']),Y['durationMinutes']+bh(0x2c8),Z(Y['status'])];}),L=[...new Set(J[bg(0x3b4)](Y=>Y[bg(0x170)]))];a0ae(F?bg(0x1dd)+F[bg(0x1f7)]():bg(0x2a0)+L[bg(0x401)]+bg(0x18b)),a0ad(['ID',bg(0x3cc),bg(0x281),bg(0x196),bg(0x22c),bg(0x17f)],K),console[bg(0x43b)](),console['log'](a0L[bg(0x37c)](bg(0x3c8))),L[bg(0x401)]>-0x1*-0x18ea+-0x1d*0x79+-0x59a*0x2&&console[bg(0x43b)](a0L['gray']('\x20\x20Filter\x20by\x20country:\x20exam\x20list\x20PE,\x20exam\x20list\x20CN,\x20...'));}catch(Y){H[bg(0x3e4)](bg(0x244)),a0aa(Y[bg(0x349)]);}}),B['command']('start\x20<id>')[be(0x2fc)](be(0x39c))[be(0x38f)](async F=>{const bi=be;a0a8(bi(0x2ad)+F);const G=a0Y();if(G)return a0ab('Exam\x20\x22'+G[bi(0x1bc)][bi(0x1d5)]+'\x22\x20is\x20already\x20in\x20progress.'),void a0ac('Use\x20\x22exam\x20review\x22\x20to\x20check\x20progress\x20or\x20\x22exam\x20submit\x22\x20to\x20submit.');const H=M();if(!H)return;const J=await a0Q({'message':a0L[bi(0x3ec)](bi(0x12d)),'default':!(0x737+-0x450*-0x1+0x1*-0xb87),'theme':{'prefix':'','style':{'message':K=>K,'defaultAnswer':K=>a0L['green'](K)}}});if(J){console[bi(0x43b)]();try{N(-0x1*-0x646+0x7c3+-0xe09*0x1,'Connecting\x20to\x20exam\x20server...');const {session:K,questions:L}=await H['startExam'](F);N(0xe9*-0x29+0x1d*0x17+0x22d4,'Loading\x20questions...'),await q(-0x26c9+0x1841+0xf50),N(-0xed3+-0x1*-0xb03+0x40c,'Preparing\x20exam\x20environment...'),await q(-0xf*0x235+-0x18f8+-0x487*-0xd),N(0x1c24*-0x1+0xa00+-0x93f*-0x2,'Starting\x20timer...'),await q(-0x706+0x3b*0x13+0x33b),a0Z({'session':K,'questions':L,'answers':{}}),N(0x4eb+0xad*-0x1d+0x2*0x789,bi(0x2f6)),console['log'](),console[bi(0x43b)](),a0ae(K[bi(0x1d5)]),a0af(bi(0x196),String(K[bi(0x372)])),a0af(bi(0x22c),K[bi(0x28e)]+bi(0x3c5)),a0af('Country',K['country']),O(),L[bi(0x401)]>-0x168c+-0xf5f*-0x1+0x72d&&U(L[0x5dd+0x1*0x102a+-0x1607]);}catch(Q){console[bi(0x43b)](),a0aa(Q[bi(0x349)]);}}}),B[be(0x2e0)](be(0x331))[be(0x2fc)](be(0x1ae))['action'](async F=>{const bj=be;a0a8('exam\x20q\x20'+(F||bj(0x161)));const {refetchQuestionDataIfStale:G}=await import(bj(0x184));await G();const H=a0Y();if(H){if(O(),F){const J=parseInt(F,-0x1c1d+-0xd93+0x29ba),K=H[bj(0x2ff)][bj(0x345)](L=>L['number']===J);if(!K)return void a0aa(bj(0x183)+F+bj(0x416)+H[bj(0x2ff)]['length']+').');H[bj(0x305)]=J,a0Z(H),U(K,H[bj(0x199)][J]);}else{a0ae(''+H[bj(0x1bc)][bj(0x1d5)]);const L=Object[bj(0x365)](H[bj(0x199)])[bj(0x401)];a0af(bj(0x3b8),L+'/'+H[bj(0x1bc)]['questionCount']+'\x20answered'),console[bj(0x43b)]();for(const Q of H[bj(0x2ff)]){const V=H[bj(0x199)][Q['number']],W=V?a0L[bj(0x187)]('['+V+']'):a0L[bj(0x37c)](bj(0x245)),X=Q[bj(0x384)]?a0L['gray']('\x20['+Q[bj(0x384)]+']'):'';console[bj(0x43b)]('\x20\x20'+W+'\x20'+a0L[bj(0x3ec)]('Q'+Q[bj(0x41a)])+X+'\x20'+a0L[bj(0x37c)](Q[bj(0x449)]['substring'](-0x19cb+0x24c3+-0x9*0x138,-0x13*0x1+-0x1a3f+0x1a8e))+(Q[bj(0x449)]['length']>-0x4a*0x1+-0x9*-0x23e+0x8*-0x275?'...':''));}console[bj(0x43b)]();}}else a0aa('No\x20exam\x20in\x20progress.\x20Use\x20\x22exam\x20start\x20<id>\x22\x20to\x20begin.');}),B['command'](be(0x415))[be(0x2fc)](be(0x33f))[be(0x38f)](F=>{const bk=be;a0a8('exam\x20mark\x20'+(F||''));const G=a0Y();if(!G)return void a0aa('No\x20exam\x20in\x20progress.');const H=G['questions'][bk(0x401)],J=F?parseInt(F,0x11dc*0x2+0x37e+0x2*-0x1396):G['_lastQ']||0x2525+0x164f+-0x3b73*0x1;if(Number[bk(0x1b6)](J)||J<-0x1b1d+-0x411+0x1f2f||J>H)return void a0aa(bk(0x40f)+H+'.');const K=D(G,J);console['log'](),K?console[bk(0x43b)](a0L[bk(0x1f4)](bk(0x312)+J+bk(0x12a))):console[bk(0x43b)](a0L[bk(0x37c)]('\x20\x20☆\x20Q'+J+bk(0x346)));const L=Array[bk(0x3e3)](G['bookmarks'])?G['bookmarks']:[];L[bk(0x401)]>-0x1fa6+-0x326+0x1166*0x2&&console[bk(0x43b)](a0L[bk(0x37c)]('\x20\x20Currently\x20flagged:\x20'+L['map'](Q=>'Q'+Q)[bk(0x31d)](',\x20'))),console[bk(0x43b)](a0L[bk(0x37c)]('\x20\x20See\x20all\x20flagged\x20questions\x20in:\x20')+a0L[bk(0x3ec)]('exam\x20review')),console['log']();}),B[be(0x2e0)]('unmark\x20[n]')[be(0x2fc)](be(0x25b))[be(0x38f)](F=>{const bl=be;a0a8('exam\x20unmark\x20'+(F||''));const G=a0Y();if(!G)return void a0aa(bl(0x2db));const H=G[bl(0x2ff)][bl(0x401)],J=F?parseInt(F,0x22d4+-0x20c*0x1+-0x16*0x17d):G[bl(0x305)]||0x2de*-0x1+-0x1a21*0x1+-0x74*-0x40;Number[bl(0x1b6)](J)||J<-0x35b*0x1+-0x2009+-0x2365*-0x1||J>H?a0aa(bl(0x40f)+H+'.'):j(G,J)?(D(G,J),console[bl(0x43b)](),console[bl(0x43b)](a0L['gray'](bl(0x257)+J+bl(0x346))),console['log']()):console[bl(0x43b)](a0L[bl(0x37c)](bl(0x178)+J+bl(0x216)));}),B['command'](be(0x35b))[be(0x2fc)](be(0x2b9))[be(0x38f)](()=>{const bm=be;a0a8(bm(0x298));const F=a0Y();if(!F)return void a0aa(bm(0x2db));F[bm(0x2ff)][bm(0x136)](K=>!F['answers'][K[bm(0x41a)]]);const G=F[bm(0x305)]||0x22*-0x31+-0xe30+-0x2f5*-0x7,H=Math[bm(0x2ee)](G+(-0x1080+0xb*-0x383+-0x1b91*-0x2),F[bm(0x2ff)][bm(0x401)]);F[bm(0x305)]=H,a0Z(F);const J=F[bm(0x2ff)][H-(0x522+-0x1*0x137+-0x3ea)];U(J,F[bm(0x199)][J['number']]);}),B['command'](be(0x176))['description'](be(0x3ea))['action'](()=>{const bn=be;a0a8(bn(0x3ba));const F=a0Y();if(!F)return void a0aa(bn(0x2db));const G=F[bn(0x305)]||-0x4*0x771+-0xb38+-0x7*-0x5db,H=Math[bn(0x2c3)](G-(-0x19*-0xe1+0x777+0x2ad*-0xb),-0x236d*-0x1+-0x533+0x1*-0x1e39);F[bn(0x305)]=H,a0Z(F);const J=F[bn(0x2ff)][H-(-0x25d3+0x21a+0x11*0x21a)];U(J,F[bn(0x199)][J['number']]);}),B['command'](be(0x172))[be(0x2fc)](be(0x1d6))[be(0x38f)](async()=>{const bo=be;a0a8(bo(0x402));const F=a0Y();if(!F)return void a0aa(bo(0x2db));const G=R(F),H=F[bo(0x305)]||-0x3*-0x90a+-0x4*0x628+-0x27d,J=G[bo(0x24c)][H]||-0x14c*0x9+0x439+0x1*0x773,K=G[bo(0x1bf)][H]||[],L=F['questions'][bo(0x345)](W=>W[bo(0x41a)]===H);if(!L)return;if(J>=-0x1314+-0x269f+-0x11*-0x365)return console['log'](),console[bo(0x43b)](a0L[bo(0x1f4)](bo(0x2e1))),console[bo(0x43b)](a0L[bo(0x37c)](bo(0x3fa))),console[bo(0x43b)](),void U(L,F[bo(0x199)][L[bo(0x41a)]]);const Q=['A','B','C','D'][bo(0x1e7)](W=>!K[bo(0x34b)](W));if(Q[bo(0x401)]<=-0x74*-0x4e+0x50c+0x3*-0xd76)return console[bo(0x43b)](),console['log'](a0L[bo(0x1f4)](bo(0x2d6))),console[bo(0x43b)](),void U(L,F[bo(0x199)][L[bo(0x41a)]]);if(G[bo(0x213)]>=G[bo(0x2c3)]){const W=G['max']>=0x95d+0x2440+-0x2d7f,X=0x5*-0x2a1+0x89f*0x1+0x4a4-G[bo(0x2c3)];return void(W?(console['log'](),console[bo(0x43b)](a0L[bo(0x37c)](bo(0x2fe)+G[bo(0x213)]+'/'+G[bo(0x2c3)]+bo(0x2ea))),console[bo(0x43b)]()):(console[bo(0x43b)](),console['log'](a0L[bo(0x1f4)](bo(0x34a)+G[bo(0x213)]+'/'+G['max'])),console[bo(0x43b)](a0L[bo(0x3ec)](bo(0x1f2))+a0L[bo(0x330)]['yellow'](bo(0x39b))+a0L[bo(0x37c)](bo(0x201)+X+bo(0x142))),console[bo(0x43b)]()));}const V=Y=>{const bp=bo;K[bp(0x243)](Y),G[bp(0x1bf)][H]||(G[bp(0x1bf)][H]=[]),G[bp(0x1bf)][H]=K,G[bp(0x24c)][H]=J+(-0x6*0x4e8+0x69*-0x3d+-0x1b3b*-0x2),G[bp(0x213)]++,F[bp(0x272)]=G[bp(0x213)],F[bp(0x28f)]=G[bp(0x2c3)],F[bp(0x421)]=G[bp(0x24c)],F['_eliminated']=G[bp(0x1bf)],F['interactions']||(F[bp(0x1c3)]=[]),F[bp(0x1c3)][bp(0x243)]({'ts':new Date()[bp(0x3d3)](),'q':H,'type':bp(0x33a),'result':'eliminated\x20'+Y}),a0Z(F),console[bp(0x43b)](),console[bp(0x43b)](a0L[bp(0x1f4)](bp(0x307)+Y+bp(0x41d))+a0L['gray'](bp(0x287)+G[bp(0x213)]+'/'+G[bp(0x2c3)]+')')),U(L,F[bp(0x199)][L[bp(0x41a)]]);};if('demo-free'===F[bo(0x1bc)][bo(0x373)]&&L[bo(0x32a)])(Y=>{const bq=bo,Z=Q[bq(0x1e7)](a0=>a0!==Y&&!K[bq(0x34b)](a0));-0x7c*-0x1+-0x13*-0x4a+-0x2fd*0x2!==Z[bq(0x401)]&&V(Z[Math[bq(0x16c)](Math[bq(0x2da)]()*Z['length'])]);})(L[bo(0x32a)]);else{const Y=a0W()[bo(0x3d8)]||bo(0x2de),Z=F[bo(0x1bc)]?.[bo(0x35c)]||'';try{const a0={};a0[bo(0x2f1)]=bo(0x130),a0[bo(0x2f3)]=bo(0x1a4);const a1={};a1[bo(0x35c)]=Z,a1[bo(0x31a)]=H,a1['eliminated']=K;const a2=await fetch(Y+'/api/icoa/exams/'+F[bo(0x1bc)][bo(0x373)]+bo(0x20f),{'method':bo(0x210),'headers':a0,'body':JSON[bo(0x1df)](a1),'signal':AbortSignal[bo(0x31e)](0xdb7+-0x1f5c+0x1f*0x133)}),a3=await a2[bo(0x2d7)](),a4=a3?.[bo(0x2a5)]?.[bo(0x445)];a4&&['A','B','C','D'][bo(0x34b)](a4)?V(a4):(console[bo(0x43b)](),console[bo(0x43b)](a0L['gray'](bo(0x221))));}catch{console['log'](),console[bo(0x43b)](a0L[bo(0x37c)]('\x20\x20Could\x20not\x20reach\x20server\x20for\x20help.\x20Check\x20your\x20connection.'));}}}),B[be(0x2e0)](be(0x19a))['description']('Unlock\x20hidden\x20bonus\x20help\x20uses')[be(0x38f)](()=>{const br=be;a0a8('exam\x20more-help');const F=a0Y();if(!F)return void a0aa(br(0x2db));const G=R(F),H='demo-free'===F[br(0x1bc)][br(0x373)]?0x3c6+0x269a+-0x2a58:0x2f5*-0x2+-0x266d+-0x13*-0x257;if(G[br(0x2c3)]>=H)return void console['log'](a0L[br(0x37c)](br(0x3b3)));if(G[br(0x213)]<G[br(0x2c3)])return void console['log'](a0L[br(0x37c)]('\x20\x20You\x20still\x20have\x20'+(G[br(0x2c3)]-G[br(0x213)])+'\x20helps\x20remaining.\x20Use\x20them\x20first!'));const J=H-G[br(0x2c3)];F[br(0x28f)]=H,a0Z(F),console[br(0x43b)](),console['log'](a0L[br(0x187)](br(0x258)+J+br(0x237)+J+'/'+H+br(0x1e1))),console['log'](a0L['gray'](br(0x19d))),console[br(0x43b)]();}),B['command']('answer\x20<n>\x20<choice...>')[be(0x2fc)](be(0x164))[be(0x38f)](async(F,G)=>{const bs=be,H=G[bs(0x31d)]('\x20');a0a8('exam\x20answer\x20'+F+'\x20'+H);const J=a0Y();if(!J)return void a0aa(bs(0x35f));if(!(function(){const bt=bs,Z=a0a1();if(!Z)return!(0x1fc7+-0x1*-0x25d3+-0x459a);if(new Date()>=Z){const a0=a0Y();if(a0){const a1=Object[bt(0x365)](a0[bt(0x199)])[bt(0x401)];'demo-free'===a0['session'][bt(0x373)]||0xb*0x31b+0x261+0xc2e*-0x3===a1?(a0a0(),a0ab(bt(0x3ed)),a0ac(bt(0x2b5))):(a0aa(bt(0x1a3)),a0ac(bt(0x250)));}return!(0x1*0x1079+0x79f*0x5+-0x3*0x1231);}return!(-0x119*-0x20+-0x67b+-0x1ca5);}()))return;const K=parseInt(F,-0x466*0x6+0x1*0x1a2f+-0x3f*-0x1),L=J['questions'][bs(0x345)](Z=>Z[bs(0x41a)]===K);if(!L)return void a0aa(bs(0x183)+F+'\x20not\x20found\x20(1-'+J[bs(0x2ff)]['length']+').');let Q;if(bs(0x2a3)===L[bs(0x3a2)]||bs(0x35a)===L[bs(0x3a2)]||bs(0x180)===L[bs(0x3a2)]||L[bs(0x335)]&&!L[bs(0x335)]['A']&&!L['options']['B']){if(Q=H[bs(0x2dd)](),/^submit\s+/i['test'](Q)&&(Q=Q[bs(0x42f)](/^submit\s+/i,'')[bs(0x2dd)]()),Q=Q[bs(0x42f)](/^["'`]+|["'`]+$/g,'')['trim'](),!Q)return void a0aa(bs(0x3a7));if(/^[A-Da-d]$/[bs(0x3a0)](Q))return a0aa('Q'+K+bs(0x368)),void console[bs(0x43b)](a0L[bs(0x37c)]('\x20\x20Example:\x20')+a0L['green'](bs(0x359)+K+bs(0x190)));}else{if(Q=H[bs(0x1f7)](),!['A','B','C','D'][bs(0x34b)](Q))return void a0aa(bs(0x339));}if('demo-free'===J[bs(0x1bc)][bs(0x373)]&&0x2219+0xb*-0x14+0x1*-0x213b===K&&0x252+0x376*-0x9+-0x1e*-0xf6===(R(J)[bs(0x24c)][-0x1*-0x16f9+0x22d4+-0x39cb]||0x9bb+0xbc+0x39*-0x2f))return console[bs(0x43b)](),console[bs(0x43b)](a0L[bs(0x1f4)](bs(0x206))+a0L['bold'][bs(0x1f4)](bs(0x172))+a0L['yellow'](bs(0x304))),console['log'](a0L[bs(0x37c)](bs(0x3cf))),void console[bs(0x43b)]();const V=J[bs(0x199)][K];J[bs(0x1c3)]||(J[bs(0x1c3)]=[]),J[bs(0x1c3)][bs(0x243)]({'ts':new Date()[bs(0x3d3)](),'q':K,'type':V?bs(0x2ba):bs(0x32e),'input':Q,'result':V?bs(0x447)+V:bs(0x23f)}),J['answers'][K]=Q,J[bs(0x305)]=K,a0Z(J),console[bs(0x43b)](a0L[bs(0x37c)](bs(0x3e7)));const W=J[bs(0x1bc)][bs(0x35c)];if(W&&bs(0x3df)!==J['session'][bs(0x373)]){const Z=(a0W()['ctfdUrl']||bs(0x2de))+bs(0x26a)+J['session'][bs(0x373)]+bs(0x26d),a0={};a0[bs(0x2f1)]='application/json';const a1={};a1['token']=W,a1[bs(0x31a)]=K,a1[bs(0x32a)]=Q,fetch(Z,{'method':bs(0x210),'headers':a0,'body':JSON[bs(0x1df)](a1),'signal':AbortSignal[bs(0x31e)](0x26c2+0x1b*-0x11b+0xa9f*0x1)})[bs(0x3d2)](()=>{});}const X=Object[bs(0x365)](J['answers'])[bs(0x401)],Y=J[bs(0x1bc)][bs(0x372)];if(a0a9('Q'+K+':\x20'+Q+bs(0x22e)+X+'/'+Y+'\x20answered)'),'demo-free'===J[bs(0x1bc)]['examId']&&L[bs(0x32a)]){const a2=[bs(0x256),bs(0x3f9),bs(0x214),bs(0x1d7),bs(0x1d3)],a3=[bs(0x37f),bs(0x279),bs(0x322)],a4=Q===L[bs(0x32a)]?a2:a3,a5=a4[Math[bs(0x16c)](Math[bs(0x2da)]()*a4[bs(0x401)])];console[bs(0x43b)](a0L[bs(0x37c)](bs(0x1ca)+a5));}if(K<J['questions'][bs(0x401)]){const a6=J[bs(0x2ff)][K];J['_lastQ']=a6[bs(0x41a)],a0Z(J),U(a6,J['answers'][a6[bs(0x41a)]]);}else X>=J[bs(0x2ff)][bs(0x401)]&&(console[bs(0x43b)](),console[bs(0x43b)](a0L[bs(0x187)][bs(0x330)](bs(0x1d9))),console['log'](),'demo-free'===J[bs(0x1bc)][bs(0x373)]?(console[bs(0x43b)](a0L[bs(0x3ec)]('\x20\x20Type\x20')+a0L[bs(0x330)][bs(0x229)](bs(0x37d))+a0L[bs(0x3ec)](bs(0x333))),console[bs(0x43b)]()):console[bs(0x43b)](a0L[bs(0x3ec)](bs(0x3b2))));}),B[be(0x2e0)](be(0x33c))[be(0x2fc)](be(0x141))['action'](()=>{const bu=be;a0a8(bu(0x2d9));const F=a0Y();if(!F)return void a0aa(bu(0x2db));a0ae(bu(0x17a)+F['session'][bu(0x1d5)]),O(),console['log']();let G='\x20\x20';const H=Array[bu(0x3e3)](F['bookmarks'])?F[bu(0x3b7)]:[];for(const Q of F[bu(0x2ff)]){const V=F[bu(0x199)][Q[bu(0x41a)]],W=H[bu(0x34b)](Q[bu(0x41a)]),X=W?'★':'\x20';G+=V?W?a0L['bold'][bu(0x1f4)]('Q'+String(Q[bu(0x41a)])[bu(0x3de)](0x212a+0x166*-0x5+-0x1a2a)+X+'['+V+']\x20'):a0L[bu(0x187)]('Q'+String(Q[bu(0x41a)])['padStart'](0x115a*0x1+-0x2047*-0x1+-0x319f)+'\x20['+V+bu(0x1af)):W?a0L[bu(0x330)]['yellow']('Q'+String(Q[bu(0x41a)])[bu(0x3de)](-0x62+-0xa69*-0x1+-0xa05)+X+bu(0x1bb)):a0L['yellow']('Q'+String(Q[bu(0x41a)])['padStart'](0x95*0x2+-0x8*0x3df+0x1dd0)+bu(0x355)),Q['number']%(0x431*-0x2+-0x2182+-0x122*-0x25)==-0x176e+0x1596+-0x1d8*-0x1&&(console[bu(0x43b)](G),G='\x20\x20');}G[bu(0x2dd)]()&&console['log'](G);const J=Object['keys'](F[bu(0x199)])[bu(0x401)],K=F[bu(0x1bc)]['questionCount'],L=K-J;if(console[bu(0x43b)](),a0af(bu(0x3a3),a0L[bu(0x187)]['bold'](J+'/'+K)),L>0x2a*0x52+0xa*-0x33a+-0xe*-0x158){const Y=F[bu(0x2ff)][bu(0x1e7)](Z=>!F[bu(0x199)][Z['number']])[bu(0x3b4)](Z=>Z[bu(0x41a)])[bu(0x31d)](',\x20');a0af(bu(0x186),a0L['yellow'](L+bu(0x429)+Y+')'));}H['length']>-0x389+-0x179f*-0x1+-0x1416&&a0af('Flagged\x20for\x20review',a0L[bu(0x330)][bu(0x1f4)]('★\x20'+H['length'])+a0L[bu(0x37c)]('\x20('+H[bu(0x3b4)](Z=>'Q'+Z)['join'](',\x20')+')')),console[bu(0x43b)](),H[bu(0x401)]>0xf*0x1c9+-0x12cb+0x3fe*-0x2&&console[bu(0x43b)](a0L[bu(0x37c)](bu(0x42d))+a0L[bu(0x3ec)](bu(0x357)+H[-0x2111*-0x1+0x1685+0xa*-0x58f])),console[bu(0x43b)](a0L['gray'](bu(0x1e5))+a0L[bu(0x330)][bu(0x229)](bu(0x37d))+a0L['gray'](bu(0x448)));}),B['command'](be(0x195))['description'](be(0x19b))['action'](async(J,K)=>{const bv=be;a0a8(bv(0x14a)+(J||'')+'\x20'+(K||''));const L=a0Y();if(L&&'confirm'===J&&!K&&(L[bv(0x2c1)]=!(0xdc1*0x2+-0x102b+0xb57*-0x1),a0Z(L)),!L)return void a0aa(bv(0x2db));const Q=Object[bv(0x365)](L[bv(0x199)])[bv(0x401)],V=L[bv(0x1bc)][bv(0x372)],W=V-Q;if(-0x182*0x1+-0x267d+0x1*0x27ff===Q){const a0=a0a1(),a1=a0&&new Date()>=a0;return void('demo-free'===L[bv(0x1bc)][bv(0x373)]||a1?(a0a0(),a0ab(bv(0x3ef)),a0ac(bv(0x2b5))):(a0ab(bv(0x135)),a0ac(bv(0x27f))));}const X=a0a1(),Y=!!(X&&new Date()>=X);if(bv(0x3df)!==L[bv(0x1bc)][bv(0x373)]&&!Y&&bv(0x3fb)===J&&Q<-0x74a+-0x227e+0x2*0x14e9){if((K||'')[bv(0x2dd)]()!==String(Q))return console[bv(0x43b)](),console['log'](a0L[bv(0x407)]('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console['log'](a0L[bv(0x330)][bv(0x407)](bv(0x26b)+Q+'/'+V+bv(0x27d))),console[bv(0x43b)](a0L[bv(0x407)](bv(0x2e3))),console[bv(0x43b)](),console['log'](a0L[bv(0x3ec)](bv(0x42b))+a0L[bv(0x330)]['yellow'](''+Q)+a0L['white'](bv(0x425))+a0L['white'](''+V)+a0L['white'](bv(0x15b))),console[bv(0x43b)](a0L['white'](bv(0x3f4))+a0L[bv(0x330)][bv(0x407)](Q+'/'+V+bv(0x2c7))),console['log'](),console['log'](a0L['bold'][bv(0x3ec)](bv(0x211))),console[bv(0x43b)](a0L[bv(0x37c)](bv(0x441))+a0L[bv(0x229)](bv(0x273))+a0L['gray'](bv(0x22b))),console[bv(0x43b)](a0L[bv(0x37c)](bv(0x441))+a0L[bv(0x229)](bv(0x2d9))+a0L[bv(0x37c)](bv(0x324))),console[bv(0x43b)](),console[bv(0x43b)](a0L[bv(0x330)]['white'](bv(0x150))+a0L[bv(0x330)][bv(0x1f4)](''+Q)+a0L[bv(0x330)][bv(0x3ec)](bv(0x31b))),console[bv(0x43b)](a0L['gray'](bv(0x441))+a0L[bv(0x330)][bv(0x229)]('exam\x20submit\x20confirm\x20'+Q)),console[bv(0x43b)](a0L[bv(0x37c)]('\x20\x20(yes\x20—\x20literally\x20type\x20the\x20number\x20'+Q+';\x20this\x20prevents\x20accidents)')),console['log'](),void(L[bv(0x2c1)]&&(delete L[bv(0x2c1)],a0Z(L)));L[bv(0x2c1)]=!(-0x1*-0x1b68+0xda*0x16+0x4*-0xb89),a0Z(L);}if('demo-free'!==L[bv(0x1bc)][bv(0x373)]){const a2=!(-0xe9a*0x1+-0x1871+0x270b)===L[bv(0x2c1)],a3=a0a1(),a4=!!(a3&&new Date()>=a3);if(!a2&&!a4){if(console[bv(0x43b)](),console[bv(0x43b)](a0L[bv(0x407)]('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console['log'](a0L['bold'][bv(0x407)](bv(0x2d1))),console[bv(0x43b)](a0L['red'](bv(0x1ee))),console[bv(0x43b)](),console[bv(0x43b)](a0L[bv(0x3ec)]('\x20\x20You\x20will\x20submit\x20'+a0L[bv(0x330)][bv(0x187)](Q+'/'+V)+'\x20answers.')),W>-0x1*0x211+0x218+0x1*-0x7){const a6=L[bv(0x2ff)][bv(0x1e7)](a7=>!L[bv(0x199)][a7[bv(0x41a)]])[bv(0x3b4)](a7=>'Q'+a7[bv(0x41a)])[bv(0x31d)](',\x20');console[bv(0x43b)](a0L['yellow']('\x20\x20'+W+bv(0x431)+a6));}const a5=Array[bv(0x3e3)](L[bv(0x3b7)])?L[bv(0x3b7)]:[];return a5['length']>-0x1d26+0x5*0x3c+0x1bfa&&console[bv(0x43b)](a0L[bv(0x1f4)](bv(0x2a8)+a5[bv(0x401)]+bv(0x296)+a5['map'](a7=>'Q'+a7)[bv(0x31d)](',\x20'))),console[bv(0x43b)](),console[bv(0x43b)](a0L['white'](bv(0x40b))+a0L[bv(0x330)]['red'](bv(0x2be))+a0L[bv(0x3ec)]('\x20—\x20you\x20cannot\x20change\x20them\x20after\x20submit.')),console['log'](),console[bv(0x43b)](a0L[bv(0x330)]['white'](bv(0x3c3))+a0L['bold'][bv(0x229)](bv(0x134))),console[bv(0x43b)](a0L['white'](bv(0x131))+a0L[bv(0x229)](bv(0x2d9))+a0L[bv(0x37c)](bv(0x319))+a0L[bv(0x229)](bv(0x2aa))),void console['log']();}a2&&(delete L[bv(0x2c1)],a0Z(L));}if(console[bv(0x43b)](),bv(0x3df)===L['session'][bv(0x373)]){try{N(0x12ff*0x1+-0x8*0x37c+0x8e1*0x1,a0ai('grading')),await q(-0x8e9*0x1+0x1190+-0x77b*0x1);let a7=0x31*-0xcb+0x2634+0xa7;const a8=[],a9={};for(const al of L[bv(0x2ff)]){const am=al[bv(0x384)]||bv(0x3e5),an={};an[bv(0x2fb)]=0x0,an[bv(0x2a1)]=0x0,(a9[am]||(a9[am]=an),a9[am]['total']++);const ao=L[bv(0x199)][al['number']];ao&&al[bv(0x32a)]&&ao===al[bv(0x32a)]?(a7++,a9[am][bv(0x2fb)]++):a8['push'](al[bv(0x41a)]);}a8[bv(0x177)]((ap,aq)=>ap-aq),N(-0x1bb6*-0x1+0x1*-0x2081+0x52f,a0ai('complete')),console[bv(0x43b)]();const aa=new Date(L[bv(0x1bc)][bv(0x222)])[bv(0x238)](),ab=Math[bv(0x2c3)](0x3d2+-0x95e+0x58c,Math[bv(0x301)]((Date[bv(0x34e)]()-aa)/(-0x17*0xf8+-0x6be*0x4+0x3528))),ac=Math[bv(0x16c)](ab/(-0x1d14+0x2009+0x2b9*-0x1))+'m\x20'+ab%(0x8*-0xa7+0x18b+0x5b*0xb)+'s',ad=[...L[bv(0x2ff)]],ae={...L[bv(0x199)]},af=R(L);a0a0();const ag=Math['round'](a7/V*(-0x155*-0xb+-0x361*-0x5+0x4*-0x7ca)),ah=a0W(),ai={};ai[bv(0x2f1)]=bv(0x130),(fetch(bv(0x1f0),{'method':bv(0x210),'headers':ai,'body':JSON[bv(0x1df)]({'type':bv(0x2f8),'score':a7,'total':V,'lang':ah['language']||'en','help_used':af[bv(0x213)],'help_max':af[bv(0x2c3)],'tokens_used':0x0,'solved':ag>=0x760*0x3+0x524+0xad*-0x28?-0x77*0x1d+-0x17*0x57+0x154d*0x1:-0x24ee*-0x1+0x101*-0x19+-0xbd5*0x1,'timestamp':new Date()['toISOString'](),'interactions':L['interactions']||[]}),'signal':AbortSignal['timeout'](-0x1e8b+-0x74f+0x3962)})[bv(0x3d2)](()=>{}),console[bv(0x43b)](),console[bv(0x43b)](a0L[bv(0x229)](bv(0x350))),console[bv(0x43b)](),console['log'](a0L['bold'][bv(0x3ec)](bv(0x1b1))),console[bv(0x43b)](a0L['bold'][bv(0x3ec)](bv(0x309))),console['log'](a0L[bv(0x330)][bv(0x3ec)](bv(0x386))),console[bv(0x43b)](a0L[bv(0x330)][bv(0x3ec)](bv(0x2bf))),console[bv(0x43b)](a0L['bold'][bv(0x3ec)](bv(0x274))),console[bv(0x43b)](a0L[bv(0x330)][bv(0x3ec)](bv(0x3fc))),console[bv(0x43b)](),console[bv(0x43b)](a0L[bv(0x330)](bv(0x1f5)+a0ai(bv(0x262))+':\x20'+a7+'/'+V+'\x20('+ag+'%)')),console[bv(0x43b)](a0L[bv(0x330)]('\x20\x20\x20'+(ag>=0x199f+0x4d*-0x61+0x3ca?a0L['green'](a0ai(bv(0x436))):a0L[bv(0x407)](a0ai(bv(0x39e)))))),console[bv(0x43b)](a0L['gray'](bv(0x391)+ac)),console['log'](),console[bv(0x43b)](a0L[bv(0x1f4)]('\x20\x20\x20International\x20Cyber\x20Olympiad\x20in\x20AI\x202026')),console[bv(0x43b)](a0L[bv(0x37c)](bv(0x151))),console[bv(0x43b)](),console[bv(0x43b)](a0L['cyan'](bv(0x350))),await q(0x20b0+-0x5*0x33b+-0x4d1));const aj=Object[bv(0x154)](a9);if(aj[bv(0x401)]>-0x1d81+0x2581+0x2*-0x400){console[bv(0x43b)](),console[bv(0x43b)](a0L[bv(0x330)]['white']('\x20\x20By\x20category'));const ap=0xe6c+-0x237e+0x151c;for(const [aq,ar]of aj){const as=ar[bv(0x2a1)]>0x1a35*0x1+-0x18be+-0x19*0xf?Math[bv(0x301)](ar[bv(0x2fb)]/ar[bv(0x2a1)]*(0x2*-0xa09+-0x21*-0x9c+0x5a)):-0x8e*-0x13+-0x544+-0x546,at=ar[bv(0x2a1)]>-0x1876+-0x38f*-0x1+0x14e7*0x1?Math[bv(0x301)](ar['correct']/ar[bv(0x2a1)]*ap):-0x9b*-0x3b+0x214f+-0x4508,au=ap-at,av=as>=0x1*-0x1c56+-0x1f8e+-0x1*-0x3c34?a0L[bv(0x187)]:as>=-0x1ca*-0x4+-0x1174+0xa7e?a0L[bv(0x1f4)]:a0L['red'],aw=av('█'[bv(0x389)](at))+a0L[bv(0x37c)]('░'[bv(0x389)](au));console[bv(0x43b)](bv(0x441)+a0L['white'](aq[bv(0x3cd)](-0x2139+0x247d+-0x2*0x198))+'\x20'+aw+'\x20\x20'+av(ar[bv(0x2fb)]+'/'+ar[bv(0x2a1)])+a0L['gray']('\x20('+as+'%)'));}console[bv(0x43b)](),console[bv(0x43b)](a0L['cyan']('\x20\x20─────────────────────────────────────────────'));}const ak=a0a4(a7,V);if(a7===ak[bv(0x198)]&&ak['attempts']>-0x2216*0x1+0x171+0x20a6&&a7>0x2*-0xc0e+0x15f8+0x224&&(console['log'](),console[bv(0x43b)](a0L['bold']['green'](bv(0x27c)))),a8[bv(0x401)]>-0xe6b+0x2417+-0x4c*0x49){const ax=ad[bv(0x1e7)](ay=>a8[bv(0x34b)](ay[bv(0x41a)]))[bv(0x3b4)](ay=>({...ay}));a0a5(ax);}else a0a7();if(await q(0xa87+0x1e8f+-0x9ca*0x3),a8['length']>0x6d9*-0x5+-0x3*-0x9eb+0x47c*0x1){console[bv(0x43b)](),console[bv(0x43b)](a0L[bv(0x1f4)]('\x20\x20'+a8[bv(0x401)]+'\x20'+a0ai(bv(0x282)))),console[bv(0x43b)]();for(const ay of a8){const az=ad[bv(0x345)](aC=>aC[bv(0x41a)]===ay);if(!az)continue;const aA=ae[ay],aB=az[bv(0x32a)];console['log'](a0L[bv(0x3ec)](bv(0x178)+ay+'.\x20'+az[bv(0x449)])),aA?console[bv(0x43b)](a0L['red'](bv(0x441)+a0ai(bv(0x1e9))+':\x20'+aA+'.\x20'+az[bv(0x335)][aA])):console[bv(0x43b)](a0L[bv(0x1f4)]('\x20\x20\x20\x20'+a0ai(bv(0x1e9))+bv(0x3bd))),aB&&console[bv(0x43b)](a0L[bv(0x187)](bv(0x441)+a0ai(bv(0x2fb))+':\x20'+aB+'.\x20'+az[bv(0x335)][aB])),az[bv(0x364)]&&console[bv(0x43b)](a0L['gray'](bv(0x42a)+az[bv(0x364)])),console['log']();}}else console[bv(0x43b)](),console['log'](a0L[bv(0x187)]('\x20\x20'+a0ai(bv(0x352))));await q(-0x9*0x409+-0x1adb+0x9a*0x76),console[bv(0x43b)](),console[bv(0x43b)](a0L[bv(0x229)](bv(0x3f5))),console[bv(0x43b)](a0L['white']('\x20\x20'+a0ai(bv(0x268))+'\x20')+a0L['bold'][bv(0x187)]('ai4ctf')+a0L['gray'](bv(0x3a5)+a0ai(bv(0x265)))),console['log'](a0L[bv(0x37c)]('\x20\x20'+a0ai(bv(0x1ed)))),console[bv(0x43b)](a0L[bv(0x229)](bv(0x3f5))),console['log']();}catch(aC){console[bv(0x43b)](),a0aa(aC[bv(0x349)]);}return;}const Z=L[bv(0x1bc)]['token'];try{let aD;if(N(-0x2136+-0x198f+0xb1*0x55,bv(0x2f4)),Z){const aN={};aN['Content-Type']=bv(0x130);const aO={};aO['ai4ctf']=0x0,aO[bv(0x35a)]=0x0;const aP=a0W()['ctfdUrl']||bv(0x2de),aQ=await fetch(aP+'/api/icoa/exams/'+L['session']['examId']+bv(0x1a5),{'method':'POST','headers':aN,'body':JSON[bv(0x1df)]({'token':Z,'answers':L[bv(0x199)],'interactions':L[bv(0x1c3)]||[],'aiUsage':L['aiUsage']||aO,'bookmarks':L[bv(0x3b7)]||[]}),'signal':AbortSignal[bv(0x31e)](-0x25ba*0x3+0x2*0x3f9+0xa3d4)});if(!aQ['ok']){const aR=await aQ[bv(0x2d7)]()[bv(0x3d2)](()=>({'message':'Submit\x20failed'}));throw new Error(aR[bv(0x349)]||bv(0x174));}aD=(await aQ[bv(0x2d7)]())['data'];}else{const aS=M();if(!aS)return;aD=await aS[bv(0x2f5)](L['session']['examId'],L[bv(0x199)]);}N(0x14e2+0x2*0x44e+-0x4e2*0x6,bv(0x1ab)),await q(0xe3a*-0x1+0xa9e+0x4c8),N(-0x21e1+0x143*0x1a+0x177,bv(0x3da)),console[bv(0x43b)]();const aE={};aE['ai4ctf']=0x0,aE[bv(0x35a)]=0x0;const aF={'answered':Object[bv(0x365)](L['answers'])[bv(0x401)],'total':L[bv(0x1bc)][bv(0x372)],'bookmarks':Array[bv(0x3e3)](L['bookmarks'])?L[bv(0x3b7)][bv(0x401)]:-0x1415+-0x59*0x4+0x1579,'help':R(L),'aiUsage':L[bv(0x44b)]||aE,'interactions':(L[bv(0x1c3)]||[])['length'],'durationMin':L[bv(0x1bc)][bv(0x28e)]||0x1a1e*0x1+0x19aa+0x19e4*-0x2,'confirmedAt':L[bv(0x1bc)][bv(0x1d2)]||L[bv(0x1bc)][bv(0x222)],'examId':L[bv(0x1bc)][bv(0x373)]};a0a0();const aG=Math[bv(0x2c3)](0x80e+-0x3*0x165+-0x3df,Math[bv(0x301)]((Date[bv(0x34e)]()-new Date(aF[bv(0x1d2)])[bv(0x238)]())/(0xb*0xe9+-0x3*0x1d3+0x3*-0x36))),aH=Math[bv(0x16c)](aG/(0x1*0x267d+0x165d*-0x1+-0x3*0x54c)),aI=aG%(-0x570+-0x1315+0x18c1);console[bv(0x43b)](),console[bv(0x43b)](a0L[bv(0x229)](bv(0x1ea))),console['log'](),console[bv(0x43b)](a0L['bold']['white'](bv(0x1b1))),console[bv(0x43b)](a0L['bold'][bv(0x3ec)](bv(0x309))),console[bv(0x43b)](a0L[bv(0x330)]['white'](bv(0x386))),console['log'](a0L[bv(0x330)][bv(0x3ec)](bv(0x2bf))),console[bv(0x43b)](a0L[bv(0x330)][bv(0x3ec)](bv(0x274))),console[bv(0x43b)](a0L[bv(0x330)][bv(0x3ec)](bv(0x3fc))),console[bv(0x43b)]();const aJ=aD[bv(0x436)]?a0L['green'][bv(0x330)]('\x20\x20\x20✓\x20\x20Submission\x20accepted\x20—\x20baseline\x20met'):a0L[bv(0x1f4)][bv(0x330)]('\x20\x20\x20○\x20\x20Submission\x20accepted');console['log'](aJ),console[bv(0x43b)](),console[bv(0x43b)](a0L[bv(0x3ec)](bv(0x189))),console['log'](a0L[bv(0x3ec)](bv(0x392))),console['log'](a0L[bv(0x3ec)](bv(0x3a9))),console[bv(0x43b)](),console['log'](a0L[bv(0x229)](bv(0x3f5))),console[bv(0x43b)](),console['log'](a0L[bv(0x330)][bv(0x3ec)](bv(0x3b9)));const aK=aF[bv(0x2a1)]-aF[bv(0x15e)];console[bv(0x43b)](bv(0x441)+a0L['gray'](bv(0x41c))+a0L['white'](aF[bv(0x15e)]+'/'+aF[bv(0x2a1)])+(aK>0xb55+-0x1*0x115a+0x605?a0L[bv(0x37c)](bv(0x266)+aK+bv(0x284)):'')),console[bv(0x43b)](bv(0x441)+a0L[bv(0x37c)](bv(0x29b))+a0L['white'](aH+'m\x20'+aI+'s')+a0L[bv(0x37c)](bv(0x25f)+aF['durationMin']+bv(0x1bd))),aF[bv(0x3b7)]>0x1*-0x1c2b+0x5*0x4a+-0x1*-0x1ab9&&console[bv(0x43b)](bv(0x441)+a0L[bv(0x37c)](bv(0x430))+a0L[bv(0x1f4)]('★\x20'+aF[bv(0x3b7)])),console[bv(0x43b)]();const aL=aD[bv(0x24a)];if(aL&&Object[bv(0x365)](aL)[bv(0x401)]>=-0x72c+-0xf26*0x1+0x4*0x595){const aT=Object[bv(0x154)](aL)[bv(0x1e7)](([,aY])=>aY[bv(0x2a1)]>-0x1433*-0x1+-0x8e*-0x17+-0x20f5)['map'](([aY,aZ])=>({'cat':aY,'pct':aZ[bv(0x2fb)]/aZ[bv(0x2a1)]}))['sort']((aY,aZ)=>aZ[bv(0x277)]-aY[bv(0x277)]),aU=Math[bv(0x2ee)](0x5c*-0xc+-0x1*-0x3fd+0x55*0x1,Math[bv(0x413)](aT[bv(0x401)]/(0x1df3+0x2645+-0x397*0x13))),aV=Math[bv(0x2ee)](-0x215+0x151*0xd+-0x6*0x281,Math[bv(0x413)](aT[bv(0x401)]/(-0xd98+0x249b*0x1+-0x1700))),aW=aT[bv(0x220)](0x292+-0x5*-0x2a5+-0xfcb,aU)['map'](aY=>aY[bv(0x19e)]),aX=aT[bv(0x220)](-aV)[bv(0x3b4)](aY=>aY['cat']);aW[bv(0x3b0)](aY=>aX[bv(0x34b)](aY))||(console[bv(0x43b)](a0L['bold'][bv(0x3ec)](bv(0x39a))),console['log']('\x20\x20\x20\x20'+a0L[bv(0x187)](bv(0x1b0))+a0L[bv(0x3ec)](aW[bv(0x31d)](',\x20'))),console['log'](bv(0x441)+a0L['yellow'](bv(0x2ca))+a0L['white'](aX['join'](',\x20'))),console[bv(0x43b)](a0L[bv(0x37c)]('\x20\x20\x20\x20(relative\x20to\x20other\x20categories\x20—\x20numeric\x20scores\x20go\x20to\x20your\x20exam\x20center)')),console[bv(0x43b)]());}console[bv(0x43b)](a0L[bv(0x330)][bv(0x3ec)](bv(0x26e))),console[bv(0x43b)](bv(0x441)+a0L[bv(0x37c)](bv(0x12f))+a0L[bv(0x3ec)](aF[bv(0x172)]['used']+'/'+aF[bv(0x172)]['max'])),console[bv(0x43b)](bv(0x441)+a0L[bv(0x37c)](bv(0x44d))+a0L[bv(0x3ec)](aF[bv(0x44b)][bv(0x2a3)]+'\x20AI4CTF')+a0L[bv(0x37c)](bv(0x266))+a0L[bv(0x3ec)](aF[bv(0x44b)][bv(0x35a)]+bv(0x25a))),console[bv(0x43b)](),console[bv(0x43b)](a0L[bv(0x229)](bv(0x3f5))),console[bv(0x43b)](),console[bv(0x43b)](a0L[bv(0x330)][bv(0x3ec)]('\x20\x20What\x20next')),console['log'](a0L[bv(0x37c)](bv(0x1ac))),console[bv(0x43b)](a0L[bv(0x37c)](bv(0x2b1))+a0L[bv(0x3ec)](bv(0x22f))+a0L[bv(0x37c)](bv(0x1a2))),console[bv(0x43b)](a0L['gray']('\x20\x20·\x20Reference\x20guides\x20for\x2038\x20tools:\x20')+a0L[bv(0x3ec)]('ref')),console[bv(0x43b)]();const {showCToBUpgradePrompt:aM}=await import(bv(0x270));aM(aF[bv(0x373)],aD['passed']),console[bv(0x43b)](a0L[bv(0x1f4)]('\x20\x20ICOA\x202026\x20·\x20Sydney,\x20Australia\x20·\x20Jun\x2027\x20–\x20Jul\x202')),console[bv(0x43b)](a0L[bv(0x229)][bv(0x228)](bv(0x3d9))),console[bv(0x43b)](),console[bv(0x43b)](a0L[bv(0x229)](bv(0x1ea))),console[bv(0x43b)]();}catch(aY){console['log'](),a0aa(aY[bv(0x349)]);}}),B[be(0x2e0)](be(0x3a8))[be(0x2fc)](be(0x25d))[be(0x38f)](async F=>{const bw=be;a0a8(bw(0x36e)+(F||''));const G=M();if(!G)return;if(!F){const J=a0Y();if(!J)return void a0aa(bw(0x267));F=J[bw(0x1bc)][bw(0x373)];}const H=a0ag(bw(0x1dc));H[bw(0x3c0)]();try{const K=await G['getResult'](F);H['succeed'](bw(0x2b7)),console[bw(0x43b)](),a0ae(K['examName']),a0af('Score',a0L['bold'](K[bw(0x262)]+'/'+K[bw(0x2a1)])),a0af(bw(0x23d),a0L[bw(0x330)](K[bw(0x253)]+'%')),a0af(bw(0x17f),K[bw(0x436)]?a0L[bw(0x187)][bw(0x330)](bw(0x227)):a0L['red'][bw(0x330)](bw(0x2eb))),a0af(bw(0x22d),K[bw(0x17b)]),console[bw(0x43b)]();}catch(L){H[bw(0x3e4)](bw(0x144)),a0aa(L['message']);}}),B[be(0x2e0)]('token\x20<code>')['description']('Enter\x20exam\x20with\x20access\x20token\x20(no\x20login\x20needed)')[be(0x38f)](async J=>{const bx=be;a0a8(bx(0x393)+J);const {getRealExamState:K,saveExamState:L,clearExamState:Q}=await import('../lib/exam-state.js'),V=K();if(V){const a2=V[bx(0x1bc)][bx(0x35c)],a3=a0a1(),a4=!!a2&&a2['trim']()[bx(0x1f7)]()!==J[bx(0x2dd)]()[bx(0x1f7)](),a5=!!a3&&a3['getTime']()+(0x272a2*0x1+-0x2*0x10bef2+0x3a8282*0x1)<Date['now']();if(a4&&a5)return Q(),console['log'](),console[bx(0x43b)](a0L[bx(0x37c)](bx(0x2e5))),console[bx(0x43b)](),console['log'](a0L[bx(0x3ec)](bx(0x354))+a0L[bx(0x330)][bx(0x229)](bx(0x320)+J)),void console['log']();if(!a2&&J)return V['session'][bx(0x35c)]=J['trim'](),L(V),console['log'](),console[bx(0x43b)](a0L[bx(0x187)](bx(0x366))),console[bx(0x43b)](a0L[bx(0x37c)](bx(0x446))+a0L['white'](bx(0x126))+a0L['gray'](bx(0x325))+a0L[bx(0x3ec)](bx(0x37d))),console[bx(0x43b)](),console[bx(0x43b)](a0L[bx(0x330)][bx(0x3ec)](bx(0x382))),console['log'](a0L[bx(0x37c)](bx(0x42a))+a0L['bold'][bx(0x229)]('exam\x20q\x201')+a0L[bx(0x37c)](bx(0x385))),console['log'](a0L['gray'](bx(0x42a))+a0L[bx(0x330)][bx(0x229)](bx(0x2d9))+a0L[bx(0x37c)]('\x20\x20\x20see\x20progress\x20+\x20flagged\x20items')),void console['log']();const a6=Object[bx(0x365)](V[bx(0x199)])[bx(0x401)],a7=V['session']['questionCount'],a8=a0a1(),a9=a8?Math[bx(0x2c3)](-0x1e59+-0x2573*-0x1+-0x71a,Math[bx(0x301)]((a8[bx(0x238)]()-Date[bx(0x34e)]())/(0xb*0x88c+-0x13450+0x1c0ac))):null;return console[bx(0x43b)](),console['log'](a0L[bx(0x1f4)]('\x20\x20⚠\x20\x20An\x20exam\x20is\x20already\x20in\x20progress\x20on\x20this\x20device.')),console['log'](),console[bx(0x43b)](a0L['gray'](bx(0x1fb))+a0L[bx(0x3ec)](V[bx(0x1bc)][bx(0x1d5)])),a2&&console[bx(0x43b)](a0L[bx(0x37c)]('\x20\x20Token:\x20\x20\x20')+a0L[bx(0x3ec)](a2)+(a2===J?a0L[bx(0x187)](bx(0x351)):a0L[bx(0x1f4)]('\x20\x20(different\x20from\x20the\x20one\x20you\x20typed)'))),console[bx(0x43b)](a0L['gray'](bx(0x24d))+a0L['white'](a6+'/'+a7)),null!==a9&&console[bx(0x43b)](a0L[bx(0x37c)](bx(0x291))+a0L[bx(0x3ec)](a9+'\x20min\x20remaining')),console[bx(0x43b)](),console['log'](a0L[bx(0x330)][bx(0x3ec)](bx(0x360))),console[bx(0x43b)](a0L[bx(0x37c)](bx(0x42a))+a0L[bx(0x330)][bx(0x229)](bx(0x273))+a0L[bx(0x37c)](bx(0x385))),console[bx(0x43b)](a0L[bx(0x37c)](bx(0x42a))+a0L['bold'][bx(0x229)]('exam\x20review')+a0L['gray'](bx(0x310))),console[bx(0x43b)](a0L[bx(0x37c)](bx(0x42a))+a0L[bx(0x330)][bx(0x229)](bx(0x37d))+a0L['gray']('\x20\x20\x20finish\x20and\x20submit')),a2&&a2!==J&&(console['log'](),console[bx(0x43b)](a0L[bx(0x1f4)](bx(0x341))),console['log'](a0L[bx(0x1f4)](bx(0x2c6))),console[bx(0x43b)](),console[bx(0x43b)](a0L[bx(0x37c)]('\x20\x20If\x20you\x20need\x20to\x20abandon\x20this\x20session\x20(e.g.\x20expired\x20/\x20wrong\x20paper),')),console[bx(0x43b)](a0L['gray']('\x20\x20run\x20')+a0L[bx(0x330)][bx(0x229)](bx(0x259))+a0L[bx(0x37c)]('\x20to\x20wipe\x20local\x20state,\x20then\x20re-enter\x20the\x20new\x20token.'))),void console['log']();}const {isNativeWindowsCmd:W}=await import('../lib/platform.js');if(!W()&&!a0am()){let aa=!(-0x98b+0x20ab*-0x1+-0x65*-0x6b);try{const ab={};ab[bx(0x2f1)]=bx(0x130);const ac=a0W()[bx(0x3d8)]||bx(0x2de),ad=await fetch(ac+'/api/icoa/exam-token',{'method':bx(0x210),'headers':ab,'body':JSON[bx(0x1df)]({'token':J[bx(0x2dd)](),'deviceHash':a0aj(),'peek':!(0x17*-0x41+-0x1a1*-0xd+0x2*-0x7ab)}),'signal':AbortSignal[bx(0x31e)](0xa46+0x15e9+-0xca7)});if(ad['ok']){const ae=await ad[bx(0x2d7)]();(ae?.['data']?.['exam_id']||'')[bx(0x399)]('-c')&&(aa=!(-0x259*-0xf+0x22c7+-0x45fe));}}catch{}if(!aa)return console[bx(0x43b)](),a0ab('Pre-exam\x20setup\x20required\x20before\x20entering\x20a\x20token.'),console[bx(0x43b)](a0L['gray'](bx(0x3e2))+a0L['bold'][bx(0x229)](bx(0x38a))),console[bx(0x43b)](a0L['gray'](bx(0x175))+a0L['bold'][bx(0x229)](bx(0x2aa))+a0L['gray'](bx(0x1c5))),console[bx(0x43b)](a0L[bx(0x37c)](bx(0x311))),void console[bx(0x43b)]();}const X={};X['UA']='uk',X['PE']='es',X['CN']='zh',X['AU']='en',X['JP']='ja',X['KR']='ko',X['BR']='pt',X['SA']='ar',X['FR']='fr',X['DE']='de',X['IN']='hi',X['ID']='id',X['TH']='th',X['VN']='vi',X['TR']='tr',X['RU']='ru',X['EG']='ar',X['HT']='ht',X['PH']='en',X['MY']='en',X['MM']='en',X['SG']='en',X['ZA']='en',X['KE']='sw',X['TZ']='sw',X['MO']='zh',X['UZ']='uz',X['GH']='en',X['LA']='lo',X['BD']='bn',X['BI']='fr',X['US']='en',X['UK']='en',X['NZ']='en',X['LK']='si';const Y=X[J[bx(0x2dd)]()[bx(0x263)](0xb07+-0x192f+0x6*0x25c,-0x569+0x2*0x302+-0x99)[bx(0x1f7)]()],Z=a0W(),a0=Z[bx(0x3d8)]||bx(0x2de),a1=Y||Z[bx(0x1e3)]||'en';Y&&Y!==(Z[bx(0x1e3)]||'en')&&a0X({'language':Y}),console[bx(0x43b)](),N(-0x4d8*0x2+-0x1f77+0x2927,'Validating\x20token...');try{const af={};af[bx(0x2f1)]=bx(0x130);const ag=await fetch(a0+bx(0x292),{'method':bx(0x210),'headers':af,'body':JSON[bx(0x1df)]({'token':J['trim'](),'deviceHash':a0aj(),'lang':a1}),'signal':AbortSignal['timeout'](0x11*-0x472+0x4c45+0x1*0x265d)});if(!ag['ok']){N(-0x1*0x791+-0x1969+-0x57f*-0x6,''),console[bx(0x43b)]();const ao=await ag[bx(0x2d7)]()[bx(0x3d2)](()=>({'message':'Invalid\x20token'}));return a0aa(ao[bx(0x349)]||'Invalid\x20exam\x20token'),void a0ac(bx(0x22a));}N(0x851*0x1+-0x50d*0x1+-0x326,bx(0x23c));const ah=await ag[bx(0x2d7)](),{session:ai,questions:aj,languages:ak}=ah['data'];N(-0xd93+0x642*-0x1+0x1411,'Preparing...'),await q(-0x706+-0x15*-0x1+0x7b9),N(-0x2280+-0x748*-0x2+0x1454,bx(0x2f6)),console[bx(0x43b)](),console[bx(0x43b)](),a0ae(ai[bx(0x1d5)]),console['log'](),a0af('Questions',ai[bx(0x372)]+bx(0x3d7)),a0af(bx(0x22c),ai[bx(0x28e)]+bx(0x3c5)),a0af(bx(0x18a),(ai[bx(0x129)]||-0x1465*0x1+-0x27d*-0x4+0xb07)+'\x20points'),a0af(bx(0x28b),(ai['passingScore']||0x173f+-0x21b4+0xac0)+bx(0x209)),console[bx(0x43b)](),console[bx(0x43b)](a0L[bx(0x3ec)]('\x20\x20Assistance:')),console[bx(0x43b)](a0L[bx(0x3ec)](bx(0x383))),console[bx(0x43b)](a0L[bx(0x3ec)]('\x20\x20\x20\x20Hints:\x20\x20\x20A(5)\x20B(3)\x20C(1)\x20—\x20practical\x20only')),console[bx(0x43b)](a0L[bx(0x3ec)]('\x20\x20\x20\x20AI:\x20\x20\x20\x20\x20\x2025K\x20AI4CTF\x20+\x2025K\x20CTF4AI\x20tokens')),ak&&ak[bx(0x401)]>0x1cd*-0x5+0x8*0x31b+0x1*-0xfd6&&console['log'](a0L[bx(0x3ec)](bx(0x2af)+ak[bx(0x31d)](',\x20')+bx(0x14c))),console[bx(0x43b)](),console[bx(0x43b)](a0L[bx(0x1f4)](bx(0x2c5))),console[bx(0x43b)](a0L[bx(0x3ec)](bx(0x34d))),console[bx(0x43b)](a0L[bx(0x3ec)](bx(0x2df))),console[bx(0x43b)](a0L[bx(0x3ec)](bx(0x3bc))),console[bx(0x43b)](),await new Promise(ap=>{const by=bx;process['stdout']['write'](a0L[by(0x330)][by(0x1f4)](by(0x3f7)));const aq=!!process[by(0x1cd)][by(0x280)]&&process[by(0x1cd)][by(0x2b8)];process[by(0x1cd)][by(0x280)]&&process['stdin'][by(0x1a9)]&&process[by(0x1cd)]['setRawMode'](!(-0xd63+-0x60*0x17+0x1*0x1604));const ar=as=>{const bz=by,at=as[bz(0x418)]();(at[bz(0x34b)]('\x0a')||at[bz(0x34b)]('\x0d'))&&(process[bz(0x1cd)][bz(0x3a6)](bz(0x2a5),ar),process[bz(0x1cd)][bz(0x280)]&&process[bz(0x1cd)]['setRawMode']&&process['stdin'][bz(0x1a9)](aq),process[bz(0x2b0)][bz(0x13e)]('\x0a'),ap());};process['stdin']['on'](by(0x2a5),ar),process[by(0x1cd)][by(0x38e)]();});const al=new Date()[bx(0x3d3)]();ai[bx(0x1d2)]=al,ai[bx(0x35c)]=J[bx(0x2dd)]();try{const ap=Date[bx(0x34e)](),aq=await fetch(a0+bx(0x409),{'method':bx(0x30d),'signal':AbortSignal[bx(0x31e)](-0x1049*-0x1+0x1*-0x1271+0x4a0*0x3)});if(aq['ok']){const ar=await aq[bx(0x2d7)](),as=ar?.[bx(0x2a5)]?.['server_time_ms'];if('number'==typeof as&&as>-0xc1*-0x2e+-0x33*0x8e+0x199*-0x4){const at=(ap+Date[bx(0x34e)]())/(0x10*-0x239+-0x2250+0x45e2);ai[bx(0x2ec)]=Math[bx(0x301)](as-at),ai[bx(0x28c)]=as+(-0x1dc6+0xae4+-0x131e*-0x1)*ai[bx(0x28e)]*(0x87d+0x1*-0x24af+0x201a);}}}catch{}const am={};am[bx(0x2a3)]=0x0,am[bx(0x35a)]=0x0;const an={};an[bx(0x1bc)]=ai,an[bx(0x2ff)]=aj,an[bx(0x199)]={},an[bx(0x1c3)]=[],an[bx(0x44b)]=am,(a0Z(an),console[bx(0x43b)](),a0a9(bx(0x3a4)),a0af('Time\x20Remaining',ai[bx(0x28e)]+bx(0x328)),aj[bx(0x401)]>0xcf8+0x18f3+-0x25eb&&U(aj[0x1*0x1fcd+-0x1253+-0x2b2*0x5]));}catch(au){console[bx(0x43b)](),bx(0x26c)===au['name']?a0aa(bx(0x2bb)):a0aa(au[bx(0x349)]||bx(0x12c));}}),B[be(0x2e0)](be(0x234),{'hidden':!(0x7f*-0x1e+-0x11fb*-0x2+-0x1514)})[be(0x2fc)](be(0x3c1))[be(0x38f)](async()=>{const bA=be;a0a8(bA(0x259));const {getRealExamState:F,clearExamState:G}=await import('../lib/exam-state.js'),H=F();if(!H)return console[bA(0x43b)](),console['log'](a0L[bA(0x37c)](bA(0x29a))),void console[bA(0x43b)]();const J=H[bA(0x1bc)][bA(0x35c)];console['log'](),console['log'](a0L[bA(0x1f4)](bA(0x2bc))),console[bA(0x43b)](a0L['gray'](bA(0x317))+a0L[bA(0x3ec)](H['session'][bA(0x1d5)])),J&&console[bA(0x43b)](a0L['gray'](bA(0x344))+a0L[bA(0x3ec)](J)),console[bA(0x43b)](a0L['gray']('\x20\x20\x20\x20\x20The\x20token\x20itself\x20is\x20NOT\x20revoked\x20server-side.\x20If\x20your\x20session\x20is')),console[bA(0x43b)](a0L[bA(0x37c)](bA(0x1e4))),console[bA(0x43b)](),console[bA(0x43b)](a0L[bA(0x37c)]('\x20\x20Type\x20')+a0L[bA(0x330)][bA(0x229)]('reset')+a0L[bA(0x37c)](bA(0x1fe)));const {getMainRl:K}=await import('../lib/main-rl.js'),L=K();if(bA(0x234)!==(await new Promise(Q=>{const bB=bA;if(L){const V=L[bB(0x33b)](bB(0x33e))[bB(0x220)]();L['removeAllListeners']('line'),L[bB(0x434)](bB(0x2dc)),L[bB(0x3d4)](),L['once'](bB(0x33e),W=>{const bC=bB;for(const X of V)L['on']('line',X);Q(W[bC(0x2dd)]());});}else((async()=>{const bD=bB,W={};W[bD(0x3d6)]=process[bD(0x1cd)],W[bD(0x40a)]=process[bD(0x2b0)];const {createInterface:X}=await import(bD(0x44c)),Y=X(W);Y[bD(0x31a)]('\x20\x20>\x20',Z=>{const bE=bD;Y['close'](),Q(Z[bE(0x2dd)]());});})());}))['toLowerCase']())return console[bA(0x43b)](a0L[bA(0x37c)](bA(0x203))),void console['log']();G(),console[bA(0x43b)](),console[bA(0x43b)](a0L[bA(0x187)](bA(0x219))),console[bA(0x43b)](a0L[bA(0x37c)](bA(0x32d))+a0L[bA(0x330)][bA(0x229)](bA(0x1e0))),console[bA(0x43b)]();}),B[be(0x2e0)](be(0x22f))[be(0x2fc)](be(0x1f9))[be(0x38f)](async()=>{const bF=be;a0a8(bF(0x308)),E('demo-enter');const {pickDemoQuestions:F,getLocalizedDemoSession:G,DEMO_PICK_SIZE:H,DEMO_POOL_SIZE:J}=await import('../lib/demo-exam.js');a0W()[bF(0x35e)]||(await(async function(){const bG=bF;let a0=!(0xd61*-0x2+-0x5b7*0x2+0x2631);const a1=process['stdin'],a2=()=>{a0=!(0x115*-0x1c+0x8dc+0x55c*0x4);},a3=a1[bG(0x280)]&&bG(0x1b4)==typeof a1['setRawMode'];a3&&(a1['setRawMode'](!(-0x1*0x1f1b+-0x25c1+-0x2*-0x226e)),a1[bG(0x38e)](),a1[bG(0x1ba)]('data',a2));const a4=async a5=>{let a6=-0x53b+-0x11f*-0x3+0x1de*0x1;for(;a6<a5&&!a0;)await q(-0x1*-0x18e+0x52*0x56+0x16*-0x14f),a6+=-0x21e5*0x1+-0x1c20+0x6ed*0x9;};try{if(console[bG(0x231)](),console[bG(0x43b)](),console[bG(0x43b)](a0L['gray'](bG(0x1f5))+a0L[bG(0x37b)]('(press\x20any\x20key\x20to\x20skip)')),console['log'](),console['log'](a0L[bG(0x330)][bG(0x3ec)]('\x20\x20\x20██╗\x20██████╗\x20██████╗\x20\x20█████╗')),console[bG(0x43b)](a0L[bG(0x330)][bG(0x3ec)](bG(0x309))),console[bG(0x43b)](a0L['bold'][bG(0x3ec)](bG(0x386))),console[bG(0x43b)](a0L[bG(0x330)][bG(0x3ec)]('\x20\x20\x20██║██║\x20\x20\x20\x20\x20██║\x20\x20\x20██║██╔══██║')),console[bG(0x43b)](a0L[bG(0x330)][bG(0x3ec)]('\x20\x20\x20██║╚██████╗╚██████╔╝██║\x20\x20██║')),console[bG(0x43b)](a0L['bold'][bG(0x3ec)](bG(0x3fc))),console[bG(0x43b)](),console['log'](a0L[bG(0x330)][bG(0x1f4)]('\x20\x20\x20International\x20Cyber\x20Olympiad\x20in\x20AI')),console[bG(0x43b)](a0L['gray'](bG(0x44e))),await a4(-0x19e9+-0x1*-0x1237+0x1176*0x1),a0)return;if(console[bG(0x43b)](),console['log'](a0L[bG(0x3ec)](bG(0x1be))),console[bG(0x43b)](),await a4(0x2610+-0x2cf+-0x20e9),a0)return;if(console[bG(0x43b)](a0L[bG(0x229)]('\x20\x20\x20\x20\x20▣\x20')+a0L[bG(0x3ec)]('Answer\x2010\x20quick\x20questions')+a0L[bG(0x37c)](bG(0x2ef))),await a4(-0x17a6+-0x195d+0x33bf),a0)return;if(console[bG(0x43b)](a0L[bG(0x187)]('\x20\x20\x20\x20\x20▣\x20')+a0L[bG(0x3ec)]('Team\x20up\x20with\x20AI\x20to\x20solve\x20CTFs')+a0L['gray'](bG(0x283))),await a4(0x53*0x76+-0x26*0x21+0xf50*-0x2),a0)return;if(console[bG(0x43b)](a0L[bG(0x407)](bG(0x1ec))+a0L[bG(0x3ec)](bG(0x2ae))+a0L[bG(0x37c)](bG(0x21b))),await a4(0x955*-0x1+0x7e5*-0x2+0x1ca3),a0)return;if(console[bG(0x43b)](),console[bG(0x43b)](a0L['bold'][bG(0x3ec)](bG(0x21c))+a0L['bold'][bG(0x1f4)]('IS')+a0L[bG(0x330)][bG(0x3ec)](bG(0x147))),console[bG(0x43b)](),await a4(0x3a5*0x6+-0xbba+-0x4*0x112),a0)return;if(console[bG(0x43b)](a0L['gray']('\x20\x20\x20·\x20110\x20CTF\x20tools\x20pre-configured')),await a4(0x1*0x1487+0x8e1*0x1+-0x12*0x18c),a0)return;if(console[bG(0x43b)](a0L[bG(0x37c)]('\x20\x20\x20·\x2015\x20languages,\x20real-time\x20AI\x20translation')),await a4(0x1fac+-0x14ba+-0x962),a0)return;if(console[bG(0x43b)](a0L[bG(0x37c)]('\x20\x20\x20·\x2015,000+\x20concurrent\x20participants')),await a4(0xd*0x2d5+-0x37a+-0x1e37),a0)return;console['log'](),console[bG(0x43b)](a0L[bG(0x330)]['cyan'](bG(0x1fa))),await a4(-0xc15*-0x2+-0x125*0xd+-0x3*-0x21d);}finally{((()=>{const bH=bG;if(a3){a1[bH(0x3a6)]('data',a2);try{a1[bH(0x1a9)](!(-0x639+0x2*-0xfdf+0x25f8));}catch{}a1[bH(0x336)]();}})()),console[bG(0x231)]();}}()),a0X({'demoIntroSeen':!(-0x1b85+0xd*0x257+-0x2e6)})),console[bF(0x43b)](),console[bF(0x43b)](a0L[bF(0x3ec)](bF(0x2ab))+a0L[bF(0x37c)](H+bF(0x36a)+J+'.\x20No\x20timer.\x20Free\x20practice.')),console[bF(0x43b)](a0L[bF(0x37c)](bF(0x398))+a0L[bF(0x229)](bF(0x16e))+a0L['gray'](bF(0x36c))+a0L[bF(0x229)](bF(0x2aa))+a0L['gray'](bF(0x2ce))),await new Promise(a0=>{const bI=bF;process['stdout']['write'](a0L[bI(0x330)]['yellow'](bI(0x246)));const a1=!!process[bI(0x1cd)]['isTTY']&&process['stdin'][bI(0x2b8)];process[bI(0x1cd)][bI(0x280)]&&process['stdin'][bI(0x1a9)]&&process['stdin'][bI(0x1a9)](!(-0x19*-0x145+-0x1*-0xf95+0x1*-0x2f51));const a2=a3=>{const bJ=bI,a4=a3[bJ(0x418)]();(a4['includes']('\x0a')||a4[bJ(0x34b)]('\x0d'))&&(process[bJ(0x1cd)]['removeListener'](bJ(0x2a5),a2),process[bJ(0x1cd)][bJ(0x280)]&&process[bJ(0x1cd)][bJ(0x1a9)]&&process[bJ(0x1cd)]['setRawMode'](a1),process['stdout'][bJ(0x13e)]('\x0a'),a0());};process[bI(0x1cd)]['on'](bI(0x2a5),a2),process['stdin'][bI(0x38e)]();});const K=F(H),L=G(),{getDemoState:Q,clearExamState:V}=await import(bF(0x184));Q()&&V(bF(0x3df)),console[bF(0x43b)](),a0ae(bF(0x443)),console[bF(0x43b)](),console[bF(0x43b)](a0L[bF(0x3ec)](bF(0x179))),console[bF(0x43b)](a0L[bF(0x3ec)]('\x20\x20'+H+'\x20random\x20questions\x20from\x20a\x20pool\x20of\x20'+J+bF(0x440)));const W=a0a3();if(W[bF(0x338)]>0xe*-0xe7+0x515*-0x1+-0x1*-0x11b7){const a0=W[bF(0x1ce)],a1=a0>=-0x7f2+0x1*0x1363+-0xb21?a0L['green']:a0>=0x55*-0x25+0x1e50+-0x11cb?a0L[bF(0x1f4)]:a0L[bF(0x3ec)];console['log'](),console[bF(0x43b)](a0L['gray'](bF(0x25c))+a1(W[bF(0x198)]+'/'+H+'\x20('+a0+'%)')+a0L[bF(0x37c)](bF(0x266)+W[bF(0x338)]+bF(0x1cb)));}console['log'](),console['log'](a0L[bF(0x37c)](bF(0x14e))),console[bF(0x43b)](a0L[bF(0x3ec)]('\x20\x20'+a0ai('howToPlay'))),console[bF(0x43b)](a0L[bF(0x1f4)](bF(0x1ef))+a0L[bF(0x37c)]('\x20\x20\x20\x20\x20\x20\x20'+a0ai(bF(0x215)))),console['log'](a0L[bF(0x1f4)](bF(0x163))+a0L[bF(0x37c)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0ai(bF(0x128)))),console[bF(0x43b)](a0L[bF(0x1f4)](bF(0x374))+a0L['gray'](bF(0x230))+a0L[bF(0x1f4)](bF(0x176))+a0L['gray'](bF(0x441)+a0ai('htpNav'))),console[bF(0x43b)](a0L[bF(0x1f4)](bF(0x1a6))+a0L[bF(0x37c)](bF(0x27b)+a0ai('htpMoreHelp'))),console[bF(0x43b)](a0L[bF(0x1f4)](bF(0x3f8))+a0L[bF(0x37c)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0ai(bF(0x313)))),console[bF(0x43b)](a0L[bF(0x1f4)](bF(0x152))+a0L[bF(0x37c)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0ai(bF(0x1d8)))),console[bF(0x43b)](a0L[bF(0x37c)](bF(0x1de))),console[bF(0x43b)](a0L[bF(0x37c)](bF(0x193))),console['log'](a0L['gray']('\x20\x20─────────────────────────────────────────')),console[bF(0x43b)]();const {getConfig:X}=await import('../lib/config.js'),Y=X()[bF(0x1e3)]||'en';'en'===Y?(console[bF(0x43b)](a0L[bF(0x37c)](bF(0x2d4))),console[bF(0x43b)](a0L[bF(0x37c)]('\x20\x20lang\x20es\x20(Español)\x20·\x20lang\x20zh\x20(中文)\x20·\x20lang\x20ko\x20(한국어)\x20·\x20lang\x20ja\x20(日本語)')),console[bF(0x43b)](a0L['gray'](bF(0x17c)))):console[bF(0x43b)](a0L[bF(0x187)](bF(0x3c7)+Y)),console[bF(0x43b)](),console[bF(0x43b)](a0L[bF(0x3ec)]('\x20\x20Starting\x20exam...'));const Z={...L,'startedAt':new Date()[bF(0x3d3)]()};console[bF(0x43b)](),N(0x3*-0x6d3+-0x1638+0x2ab1*0x1,'Preparing\x20questions...'),await q(-0x6fa+-0x1*0x1ced+0x24af*0x1),N(-0x1616+-0xd*-0x299+-0xb87,bF(0x225)),await q(-0x520+0x1468+-0x74*0x20),N(0x1*-0xc08+0x26*0xce+-0x123c,bF(0x379)),await q(-0x8*0xd3+-0x3*0x38+0x7d6),N(-0x1eba+0x1*0x49e+0x1a80,bF(0x2f6)),console[bF(0x43b)](),console['log'](),a0Z({'session':Z,'questions':K,'answers':{},'_helpMax':0x5}),a0af(bF(0x196),String(H)),a0af(bF(0x22c),bF(0x306)),U(K[0x1*-0x1745+-0xf97+-0x33d*-0xc]);}),B[be(0x2e0)](be(0x332))[be(0x2fc)]('Retry\x20only\x20the\x20questions\x20you\x20got\x20wrong\x20last\x20demo\x20attempt')[be(0x38f)](async()=>{const bK=be;a0a8('exam\x20demo-retry'),E(bK(0x200));const {getLocalizedDemoSession:F}=await import('../lib/demo-exam.js'),G=a0a6();if(!G||0x68d*-0x2+-0x16b5+0x23cf===G[bK(0x401)])return console[bK(0x43b)](),console[bK(0x43b)](a0L[bK(0x1f4)](bK(0x3d1))+a0L[bK(0x330)][bK(0x229)](bK(0x22f))+a0L[bK(0x1f4)]('\x20first.')),void console['log']();const H=a0Y();if(H){if(bK(0x3df)!==H[bK(0x1bc)][bK(0x373)])return a0ab(bK(0x3ad)+H[bK(0x1bc)]['examName']+bK(0x3b5)),void a0ac(bK(0x18c));a0a0();}const J=V=>{const bL=bK;if(!V[bL(0x32a)])return V;const W=V[bL(0x335)][V[bL(0x32a)]],X=['A','B','C','D']['map'](a2=>V[bL(0x335)][a2]);for(let a2=X[bL(0x401)]-(0x231b*0x1+-0xe64+-0x2*0xa5b);a2>-0x11ab+-0x24ac+0x3657*0x1;a2--){const a3=Math[bL(0x16c)](Math[bL(0x2da)]()*(a2+(0x536+-0x1c*0x5e+0x513)));[X[a2],X[a3]]=[X[a3],X[a2]];}const Y={};Y['A']=X[0x2104+-0x1ca+-0xe*0x23b],Y['B']=X[-0x1*-0x2149+-0x1fe4+-0x164],Y['C']=X[-0x148b+-0x1f1a+-0x1*-0x33a7],Y['D']=X[-0xc7*0xe+-0x399+0xe7e];const Z=Y,a0=['A','B','C','D']['find'](a4=>Z[a4]===W),a1={...V};return a1[bL(0x335)]=Z,a1[bL(0x32a)]=a0,a1;},K=G['map']((V,W)=>({...J(V),'number':W+(-0x4*-0x7a4+0x1970+-0x37ff)})),L=F(),Q={...L,'examName':L['examName']+'\x20\x20(Retry\x20wrong\x20only)','questionCount':K[bK(0x401)],'startedAt':new Date()[bK(0x3d3)]()};console[bK(0x43b)](),a0ae(bK(0x145)),console['log'](),console[bK(0x43b)](a0L[bK(0x3ec)](bK(0x42e)+K['length']+bK(0x40d)+(-0x203f*0x1+0x2467+-0x427===K[bK(0x401)]?'':'s')+bK(0x165))),console['log'](a0L[bK(0x37c)](bK(0x20e))),console[bK(0x43b)](),a0Z({'session':Q,'questions':K,'answers':{}}),a0af('Questions',String(K[bK(0x401)])),a0af(bK(0x22c),bK(0x306)),U(K[-0x1a72+0xe8c+0xbe6]);}),B['command']('setup')[be(0x2fc)]('Install\x20Python\x20environment\x20for\x20practical\x20exam\x20questions')[be(0x38f)](async()=>{const bM=be;if(a0a8(bM(0x38a)),0x337*0x2+-0xc1d+0x5af===a0a3()['attempts'])return console[bM(0x43b)](),a0ab(bM(0x1c4)),console[bM(0x43b)](a0L[bM(0x37c)]('\x20\x20→\x20')+a0L[bM(0x330)][bM(0x229)](bM(0x308))),void console[bM(0x43b)]();const K=a0ak();if(K){const a4=K['installedPackages'][bM(0x401)],a5=a4+K[bM(0x1a8)][bM(0x401)];if(a4>=0x1*0x859+-0x1f*0x133+-0x1*-0x1cdc||(a5>0x11b3*-0x2+0x1f38+-0x5*-0xd6?a4/a5:0x1721+-0x1*-0x1ad7+-0x31f8)>=-0x1*-0x1705+-0x13d3+0x332*-0x1+0.7)return console[bM(0x43b)](),console['log'](a0L[bM(0x187)](bM(0x12e))+a0L['green'](bM(0x400))),console[bM(0x43b)](a0L[bM(0x37c)](bM(0x191)+K['completedAt'][bM(0x37a)]('T')[0x3*0x56d+0x10f6+0x213d*-0x1])),console[bM(0x43b)](a0L['gray'](bM(0x16d)+K[bM(0x411)])),console[bM(0x43b)](a0L[bM(0x37c)](bM(0x2fa)+a4+bM(0x390))),K[bM(0x1a8)][bM(0x401)]>0x107a+-0x1bc7*-0x1+0x1*-0x2c41&&console[bM(0x43b)](a0L[bM(0x1f4)](bM(0x168)+K[bM(0x1a8)]['join'](',\x20'))),console['log'](),console['log'](a0L[bM(0x3ec)](bM(0x146))+a0L[bM(0x330)][bM(0x229)](bM(0x1e0))),console[bM(0x43b)](a0L[bM(0x37c)]('\x20\x20Or\x20type\x20')+a0L[bM(0x330)][bM(0x229)]('back')+a0L['gray']('\x20to\x20return\x20to\x20the\x20main\x20menu.')),void console[bM(0x43b)]();console[bM(0x43b)](),console[bM(0x43b)](a0L[bM(0x1f4)](bM(0x276)+a4+'/'+a5+bM(0x362))),console['log']();}console[bM(0x43b)](),a0ae(bM(0x290)),console['log'](),console[bM(0x43b)](a0L['white'](bM(0x315))),console[bM(0x43b)](a0L[bM(0x37c)](bM(0x271))),console['log']();const L=(a6,a7)=>{const bN=bM,a8=process['platform'];console['log'](),a0aa(bN(0x254)===a6?'Python\x203\x20not\x20found.':'Python\x20'+a7+'\x20found,\x20but\x203.10+\x20required\x20for\x20the\x20exam.'),console[bN(0x43b)](),console[bN(0x43b)](a0L[bN(0x330)][bN(0x3ec)](bN(0x1c1))),console[bN(0x43b)](),bN(0x1fc)===a8?(console[bN(0x43b)](a0L[bN(0x1f4)]('\x20\x20macOS\x20(Homebrew,\x20recommended):')),console[bN(0x43b)](a0L[bN(0x187)]('\x20\x20\x20\x20brew\x20install\x20python@3.12')),console['log'](),console[bN(0x43b)](a0L[bN(0x37c)](bN(0x323))),console[bN(0x43b)](a0L[bN(0x37c)](bN(0x1f8)))):bN(0x406)===a8?(console['log'](a0L[bN(0x1f4)](bN(0x3e0))),console[bN(0x43b)](a0L[bN(0x187)](bN(0x2a7))),console[bN(0x43b)](a0L[bN(0x187)](bN(0x140))),console['log'](a0L['green'](bN(0x148))),console[bN(0x43b)](a0L[bN(0x37c)]('\x20\x20\x20\x20sudo\x20update-alternatives\x20--install\x20/usr/bin/python3\x20python3\x20/usr/bin/python3.12\x201')),console['log'](),console[bN(0x43b)](a0L[bN(0x1f4)]('\x20\x20Fedora\x20/\x20RHEL:')),console[bN(0x43b)](a0L[bN(0x187)]('\x20\x20\x20\x20sudo\x20dnf\x20install\x20-y\x20python3.12')),console[bN(0x43b)](),console[bN(0x43b)](a0L[bN(0x1f4)](bN(0x241))),console[bN(0x43b)](a0L['green'](bN(0x157)))):bN(0x13f)===a8?(console[bN(0x43b)](a0L[bN(0x1f4)](bN(0x3d0))),console[bN(0x43b)](a0L[bN(0x187)](bN(0x132))),console['log'](),console[bN(0x43b)](a0L[bN(0x37c)]('\x20\x20Or\x20download\x20installer:')),console[bN(0x43b)](a0L['gray']('\x20\x20\x20\x20https://www.python.org/downloads/windows/'))):console[bN(0x43b)](a0L[bN(0x37c)](bN(0x2bd))),console['log'](),console['log'](a0L[bN(0x3ec)](bN(0x133))+a0L[bN(0x330)][bN(0x229)](bN(0x38a))),console[bN(0x43b)]();},Q=bM(0x2d2);let V='';try{const a6={};a6[bM(0x269)]='utf-8',a6['timeout']=0x1388,V=a0an(Q+bM(0x2e4),a6)[bM(0x2dd)]()[bM(0x42f)](bM(0x239),'');const a7=V[bM(0x37a)]('.')['map'](Number);if(a7[0x6c7*-0x5+0x210+0x1fd3]<0xb*0xbb+0xf6b+-0x1771||-0x4*-0x831+-0x3*-0x9a7+-0x3db6===a7[-0x1e4+-0x1*0x238b+0x256f*0x1]&&a7[0xb*0x16e+0x7d*0x9+-0x141e*0x1]<-0x110f+-0x1543+0x265c)return void L(bM(0x29e),V);0x67e*0x6+-0x1ef7*0x1+-0x7fa===a7[0xd0e+-0x2273*0x1+0x1*0x1565]&&a7[0x76e+0x1*0x2581+-0x2cee]<0x2025+0x7*-0x25a+-0xfa3?console['log'](a0L['green'](bM(0x1cf)+V)+a0L[bM(0x37c)](bM(0x340))):console[bM(0x43b)](a0L[bM(0x187)](bM(0x1cf)+V));}catch{return void L('missing');}try{const a8={};a8['stdio']=bM(0x3fd),a8[bM(0x31e)]=0x1388,(a0an(Q+bM(0x380),a8),console[bM(0x43b)](a0L[bM(0x187)](bM(0x342))));}catch{console['log'](a0L[bM(0x1f4)](bM(0x1da)));try{const a9={};a9[bM(0x367)]='ignore',a9[bM(0x31e)]=0x7530,(a0an(Q+bM(0x251),a9),console[bM(0x43b)](a0L[bM(0x187)]('\x20\x20✓\x20pip\x20installed')));}catch{a0aa('Could\x20not\x20install\x20pip\x20—\x20pip\x20is\x20not\x20installed\x20on\x20your\x20system.'),console[bM(0x43b)]();const {isInWSL:aa,isNativeWindowsCmd:ab}=await import(bM(0x347)),{execFileSync:ac}=await import(bM(0x395)),ad=aa(),ae=ab(),af=bM(0x406)===process[bM(0x41f)]&&!ad,ag=bM(0x1fc)===process[bM(0x41f)];let ah=bM(0x356);if(af||ad)try{const {readFileSync:ak}=await import(bM(0x20d)),al=ak(bM(0x15c),bM(0x293)),am=(al[bM(0x24f)](/^ID="?([^"\n]+)/m)||[])[0x1624+0x4f*0x76+0xd*-0x481]||'',an=(al[bM(0x24f)](/^VERSION_ID="?([^"\n]+)/m)||[])[0x3*-0xac1+-0x71a+-0x2*-0x13af]||'';'ubuntu'===am?ah='Ubuntu\x20'+an+(ad?bM(0x438):''):am&&(ah=''+am+(an?'\x20'+an:'')+(ad?bM(0x438):''));}catch{}let ai=!(0x1577+-0x17db+0x265);if(ag)try{const ao={};ao[bM(0x367)]=bM(0x3fd),ao[bM(0x31e)]=0x7d0,(ac(bM(0x16f),[bM(0x255)],ao),ai=!(0xa16*-0x1+0x1*0x13be+-0x9a8));}catch{ai=!(-0x1*-0x80d+0x26b6+-0x5*0x95a);}const aj=ae?bM(0x1c0):bM(0x15d);return console[bM(0x43b)](a0L[bM(0x330)]['yellow'](bM(0x2fd))),console['log'](a0L['bold'][bM(0x1f4)]('\x20\x20'+aj)),console[bM(0x43b)](a0L[bM(0x330)][bM(0x1f4)]('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console['log'](),af||ad?(console[bM(0x43b)](a0L['white'](bM(0x208))+a0L[bM(0x229)](ah)),console[bM(0x43b)](a0L['gray'](bM(0x2b2))),console[bM(0x43b)](),console[bM(0x43b)](a0L['bold'][bM(0x3ec)](bM(0x1b2))),console['log'](),console[bM(0x43b)](a0L[bM(0x3ec)]('\x20\x20\x20\x201.\x20Type\x20')+a0L['bold']['cyan'](bM(0x17e))+a0L[bM(0x3ec)]('\x20and\x20press\x20Enter\x20to\x20leave\x20icoa')),console[bM(0x43b)](),console[bM(0x43b)](a0L['white'](bM(0x2ac))),console['log'](),console[bM(0x43b)]('\x20\x20\x20\x20\x20\x20\x20'+a0L[bM(0x330)][bM(0x229)](bM(0x43d))),console['log'](bM(0x314)+a0L[bM(0x330)][bM(0x229)]('sudo\x20apt\x20install\x20-y\x20python3-pip\x20python3-venv')),console[bM(0x43b)](),console[bM(0x43b)](a0L[bM(0x3ec)](bM(0x426))),console[bM(0x43b)](),console[bM(0x43b)](bM(0x314)+a0L[bM(0x330)][bM(0x229)](bM(0x1f1))),console[bM(0x43b)](bM(0x314)+a0L[bM(0x37c)](bM(0x1f6))+'\x20'+a0L[bM(0x330)]['cyan'](bM(0x38a)))):ag?(console[bM(0x43b)](a0L[bM(0x3ec)](bM(0x208))+a0L[bM(0x229)](bM(0x2e8))),console['log'](),console[bM(0x43b)](a0L[bM(0x330)]['white'](bM(0x1b2))),console[bM(0x43b)](),console[bM(0x43b)](a0L[bM(0x3ec)]('\x20\x20\x20\x201.\x20Type\x20')+a0L[bM(0x330)]['cyan'](bM(0x17e))+a0L[bM(0x3ec)](bM(0x2b4))),console[bM(0x43b)](),ai?(console[bM(0x43b)](a0L[bM(0x3ec)](bM(0x1ad))),console[bM(0x43b)](),console[bM(0x43b)](bM(0x314)+a0L[bM(0x330)][bM(0x229)](bM(0x1d0))),console[bM(0x43b)](bM(0x314)+a0L['bold']['cyan'](bM(0x21a)))):(console[bM(0x43b)](a0L[bM(0x3ec)](bM(0x388))+a0L['bold'][bM(0x1f4)](bM(0x255))+a0L['white']('):')),console['log'](),console[bM(0x43b)](bM(0x314)+a0L[bM(0x330)][bM(0x229)](bM(0x3e8))),console[bM(0x43b)](),console[bM(0x43b)](a0L[bM(0x3ec)](bM(0x334))),console['log'](),console[bM(0x43b)](bM(0x314)+a0L[bM(0x330)][bM(0x229)]('brew\x20install\x20python@3.12'))),console[bM(0x43b)](),console[bM(0x43b)](a0L[bM(0x3ec)](bM(0x278))),console[bM(0x43b)](),console[bM(0x43b)]('\x20\x20\x20\x20\x20\x20\x20'+a0L[bM(0x330)][bM(0x229)](bM(0x1f1))),console[bM(0x43b)](bM(0x314)+a0L[bM(0x37c)](bM(0x1f6))+'\x20'+a0L['bold'][bM(0x229)](bM(0x38a)))):ae?(console[bM(0x43b)](a0L[bM(0x3ec)](bM(0x208))+a0L['cyan'](bM(0x181))),console[bM(0x43b)](),console[bM(0x43b)](a0L[bM(0x330)][bM(0x1f4)]('\x20\x20ICOA\x20officially\x20supports\x20WSL2\x20on\x20Windows.')),console[bM(0x43b)](a0L[bM(0x37c)](bM(0x13a))),console[bM(0x43b)](a0L[bM(0x37c)]('\x20\x20Paper\x20A\x20/\x20B\x20practical\x20questions\x20need\x20Unix\x20tooling\x20that\x20runs')),console[bM(0x43b)](a0L[bM(0x37c)](bM(0x318))),console[bM(0x43b)](),console[bM(0x43b)](a0L[bM(0x330)][bM(0x3ec)](bM(0x358))),console[bM(0x43b)](),console[bM(0x43b)](a0L[bM(0x3ec)](bM(0x23a))+a0L[bM(0x330)][bM(0x229)](bM(0x17e))+a0L[bM(0x3ec)](bM(0x2b4))),console[bM(0x43b)](a0L[bM(0x3ec)](bM(0x2c9))),console[bM(0x43b)](),console[bM(0x43b)]('\x20\x20\x20\x20\x20\x20\x20'+a0L['bold'][bM(0x229)](bM(0x3f6))),console[bM(0x43b)](),console[bM(0x43b)](a0L[bM(0x37c)](bM(0x15f))),console[bM(0x43b)](a0L[bM(0x3ec)](bM(0x248))),console[bM(0x43b)](),console[bM(0x43b)](bM(0x314)+a0L[bM(0x330)][bM(0x229)]('curl\x20-fsSL\x20https://deb.nodesource.com/setup_22.x\x20|\x20sudo\x20-E\x20bash\x20-')),console[bM(0x43b)](bM(0x314)+a0L['bold']['cyan'](bM(0x3ee))),console[bM(0x43b)](bM(0x314)+a0L[bM(0x330)]['cyan'](bM(0x2f7))),console[bM(0x43b)]('\x20\x20\x20\x20\x20\x20\x20'+a0L[bM(0x330)][bM(0x229)](bM(0x1f1))),console[bM(0x43b)](),console[bM(0x43b)](a0L[bM(0x37c)](bM(0x20b))),console[bM(0x43b)](),console[bM(0x43b)](a0L[bM(0x3ec)](bM(0x23a))+a0L['bold'][bM(0x229)](bM(0x17e))+a0L['white'](bM(0x2b4))),console[bM(0x43b)](a0L[bM(0x3ec)](bM(0x2f2))),console[bM(0x43b)](),console[bM(0x43b)]('\x20\x20\x20\x20\x20\x20\x20'+a0L[bM(0x330)][bM(0x229)](bM(0x3ff))),console[bM(0x43b)](),console[bM(0x43b)](a0L[bM(0x37c)]('\x20\x20\x20\x20\x20\x20\x20(Or\x20download\x20from\x20python.org\x20and\x20CHECK\x20both\x20\x22Add\x20Python\x20to')),console[bM(0x43b)](a0L[bM(0x37c)](bM(0x3e1))),console[bM(0x43b)](a0L[bM(0x3ec)](bM(0x405))),console[bM(0x43b)](),console[bM(0x43b)](bM(0x314)+a0L[bM(0x330)]['cyan'](bM(0x1f1))),console[bM(0x43b)](bM(0x314)+a0L[bM(0x37c)](bM(0x1f6))+'\x20'+a0L['bold'][bM(0x229)](bM(0x38a)))):(console[bM(0x43b)](a0L[bM(0x3ec)](bM(0x408))+a0L[bM(0x229)](process[bM(0x41f)])+a0L[bM(0x3ec)](')')),console[bM(0x43b)](),console['log'](a0L['gray']('\x20\x20Reinstall\x20Python\x203.12\x20with\x20pip\x20bundled,\x20then\x20retry:')),console[bM(0x43b)](bM(0x314)+a0L[bM(0x330)][bM(0x229)]('icoa')),console[bM(0x43b)](bM(0x314)+a0L[bM(0x37c)](bM(0x1f6))+'\x20'+a0L[bM(0x330)]['cyan'](bM(0x38a)))),console[bM(0x43b)](),console['log'](a0L[bM(0x37c)](bM(0x223))),void console['log']();}}const W={};W[bM(0x1eb)]=bM(0x412),W['pycryptodome']=bM(0x363),W[bM(0x43a)]='z3',W[bM(0x303)]=bM(0x21d),W[bM(0x3b1)]=bM(0x1aa),W['ROPgadget']=bM(0x3c2);const X=[bM(0x3b1),bM(0x419),bM(0x2cd),bM(0x1eb),bM(0x316),bM(0x303),bM(0x3eb),'sympy',bM(0x43a),bM(0x2e7),bM(0x404),bM(0x3db),bM(0x1db)],Y=W;console['log'](),console['log'](a0L[bM(0x3ec)](bM(0x1e2)+X[bM(0x401)]+'\x20packages...')),console[bM(0x43b)]();let Z='';try{const ap={};ap['encoding']=bM(0x293),ap[bM(0x31e)]=0x2710,a0an(Q+'\x20-m\x20pip\x20install\x20--dry-run\x20pip\x202>&1',ap);}catch(aq){const ar=String(aq?.['stdout']||aq?.[bM(0x1fd)]||aq?.[bM(0x349)]||'');/externally-managed-environment|break-system-packages/i[bM(0x3a0)](ar)&&(Z='--user\x20--break-system-packages',console[bM(0x43b)](a0L[bM(0x1f4)]('\x20\x20ℹ\x20PEP\x20668\x20detected\x20—\x20using\x20--user\x20install\x20(no\x20sudo\x20needed)')),console['log']());}const a0=V[bM(0x37a)]('.')[bM(0x3b4)](Number);0x2284+-0x43*0x4c+-0xe9d===a0[0x2db*-0xa+0x117b*-0x1+0x2e09]&&a0[0x470*0x6+0x1618+-0x1*0x30b7]>=0x11f7+0x1e38+-0x3022&&(console[bM(0x43b)](a0L['yellow']('\x20\x20⚠\x20Python\x20'+V+bM(0x285))),console[bM(0x43b)](a0L[bM(0x37c)](bM(0x1c7))),console['log'](a0L[bM(0x37c)](bM(0x2c4))),bM(0x406)===process[bM(0x41f)]&&(console[bM(0x43b)](a0L['green'](bM(0x3ab))),console[bM(0x43b)](a0L['green'](bM(0x442)))),console[bM(0x43b)]());const a1=[],a2=[];let a3='';for(const as of X)try{a0an(Q+bM(0x2d5)+as+'\x22\x20'+Z+bM(0x17d),{'encoding':bM(0x293),'timeout':0x2bf20,'stdio':bM(0x192)}),a0an(Q+'\x20-c\x20\x22import\x20'+(Y[as]||as)+'\x22',{'stdio':'ignore','timeout':0x2710});let at='';try{const au=a0an(Q+bM(0x14b)+as+'\x22\x202>/dev/null',{'encoding':'utf-8','timeout':0x1388})['match'](/^Version:\s*(.+)$/m);au&&(at=au[0x1688+0x4c9+-0x1b50]['trim']());}catch{}console['log'](a0L[bM(0x187)]('\x20\x20✓\x20'+as)+(at?a0L[bM(0x37c)]('\x20('+at+')'):'')),a1[bM(0x243)](at?as+'=='+at:as);}catch(av){const aw=String(av?.['stdout']||av?.[bM(0x1fd)]||av?.[bM(0x349)]||'')[bM(0x220)](-(0x3*-0x6ed+-0x23bc+-0x3a13*-0x1)),ax=aw[bM(0x37a)]('\x0a')[bM(0x1e7)](ay=>ay['trim']())[bM(0x220)](-(0x1117+-0xd60+-0x3b5))['join'](bM(0x38c))[bM(0x220)](0x5*0x101+0x3*0x331+-0xe98,0x13be+0x9*0x450+0x3a16*-0x1);console[bM(0x43b)](a0L[bM(0x407)](bM(0x435)+as)+a0L[bM(0x37c)]('\x20\x20'+ax)),a2[bM(0x243)]({'pkg':as,'error':ax}),a3||(a3=aw);}-0x1960+0x24a1*0x1+-0xb41===a1[bM(0x401)]&&a3&&(console[bM(0x43b)](),console['log'](a0L[bM(0x1f4)](bM(0x337))),console[bM(0x43b)](a0L['gray']('\x20\x20'+a3['split']('\x0a')[bM(0x220)](-(0x26e2+-0xd4*0x1+0x4*-0x982))[bM(0x31d)]('\x0a\x20\x20')))),a0al({'completedAt':new Date()[bM(0x3d3)](),'pythonVersion':V,'installedPackages':a1,'failedPackages':a2[bM(0x3b4)](ay=>ay[bM(0x381)])}),console[bM(0x43b)](),-0x8cf*-0x1+-0x747*0x5+0x1b94===a2['length']?a0a9(bM(0x3a1)+X[bM(0x401)]+bM(0x3f1)):-0xf1*0x11+0x1*0x215+0xdec===a1[bM(0x401)]?(a0aa(bM(0x3ae)+X[bM(0x401)]+bM(0x3f1)),console[bM(0x43b)](),console[bM(0x43b)](a0L[bM(0x1f4)](bM(0x353))),0x3ce*-0xa+0x2175+-0x13*-0x3e===a0[0x407+-0x1e72+0x1a6b]&&a0[0x663*0x1+0xea3+-0x1505]>=-0xc73+-0x4ff*-0x7+-0x1679?(console[bM(0x43b)](a0L['gray'](bM(0x427))),console[bM(0x43b)](a0L[bM(0x37c)](bM(0x3dc)))):(console[bM(0x43b)](a0L[bM(0x37c)]('\x20\x20\x20\x20•\x20Check\x20you\x20have\x20internet\x20(pip.pypa.io\x20must\x20be\x20reachable)')),console[bM(0x43b)](a0L['gray']('\x20\x20\x20\x20•\x20Try:\x20')+a0L[bM(0x229)](Q+bM(0x3f2))+a0L[bM(0x37c)](bM(0x1b5))),console[bM(0x43b)](a0L[bM(0x37c)](bM(0x1e6)))),console[bM(0x43b)](),console[bM(0x43b)](a0L['white'](bM(0x2ed))+a0L['bold']['cyan']('exam\x20setup'))):a0ab(a1[bM(0x401)]+'/'+X[bM(0x401)]+bM(0x1d1)+a2[bM(0x401)]+bM(0x224)+a2[bM(0x3b4)](ay=>ay[bM(0x381)])['join'](',\x20')),console[bM(0x43b)](),console[bM(0x43b)](a0L[bM(0x229)](bM(0x1ee))),console[bM(0x43b)](a0L[bM(0x330)]['white']('\x20\x20How\x20to\x20use\x20Python\x20in\x20ICOA\x20CLI')),console['log'](a0L['cyan'](bM(0x1ee))),console[bM(0x43b)](),console[bM(0x43b)](a0L[bM(0x330)][bM(0x1f4)]('\x20\x20Method\x201:\x20One-liner')+a0L[bM(0x37c)](bM(0x188))),console[bM(0x43b)](a0L[bM(0x3ec)]('\x20\x20Just\x20add\x20!\x20before\x20the\x20command:')),console[bM(0x43b)](a0L['green'](bM(0x261))),console[bM(0x43b)](a0L[bM(0x37c)](bM(0x3c9))),console[bM(0x43b)](),console['log'](a0L[bM(0x330)][bM(0x1f4)](bM(0x1b7))+a0L[bM(0x37c)]('\x20(explore\x20&\x20experiment)')),console[bM(0x43b)](a0L[bM(0x3ec)](bM(0x1cc))),console[bM(0x43b)](a0L[bM(0x187)](bM(0x1e8))),console[bM(0x43b)](a0L[bM(0x37c)]('\x20\x20\x20\x20>>>\x20from\x20Crypto.Cipher\x20import\x20AES')),console[bM(0x43b)](a0L[bM(0x37c)](bM(0x19f))),console[bM(0x43b)](a0L['gray']('\x20\x20\x20\x20>>>\x20cipher\x20=\x20AES.new(key,\x20AES.MODE_CBC,\x20iv)')),console['log'](a0L[bM(0x37c)]('\x20\x20\x20\x20>>>\x20print(cipher.decrypt(data))')),console[bM(0x43b)](a0L[bM(0x37c)]('\x20\x20\x20\x20>>>\x20exit()')),console[bM(0x43b)](),console['log'](a0L['bold'][bM(0x1f4)](bM(0x18e))+a0L[bM(0x37c)](bM(0x260))),console[bM(0x43b)](a0L[bM(0x3ec)](bM(0x218))),console[bM(0x43b)](a0L[bM(0x187)](bM(0x31f))),console['log'](a0L[bM(0x37c)](bM(0x160))),console[bM(0x43b)](a0L[bM(0x37c)]('\x20\x20\x20\x20ct\x20=\x20bytes.fromhex(\x220a2b0e1c...\x22)')),console[bM(0x43b)](a0L[bM(0x37c)](bM(0x39d))),console[bM(0x43b)](a0L[bM(0x37c)]('\x20\x20\x20\x20print(xor(ct,\x20key).decode())')),console[bM(0x43b)](a0L['green'](bM(0x2e2))),console[bM(0x43b)](a0L[bM(0x187)](bM(0x36f))),console[bM(0x43b)](),console['log'](a0L[bM(0x330)][bM(0x1f4)](bM(0x3c4))),console[bM(0x43b)](a0L['white'](bM(0x13c))+a0L[bM(0x330)][bM(0x229)](bM(0x375))+a0L[bM(0x3ec)]('\x20to\x20ask\x20AI\x20for\x20help:')),console[bM(0x43b)](a0L[bM(0x37c)]('\x20\x20\x20\x20\x22How\x20do\x20I\x20decrypt\x20AES-CBC\x20in\x20Python?\x22')),console[bM(0x43b)](a0L[bM(0x37c)](bM(0x43c))),console['log'](a0L['gray'](bM(0x423))),console[bM(0x43b)](a0L[bM(0x229)](bM(0x1ee))),console[bM(0x43b)](),console[bM(0x43b)](a0L['white'](bM(0x146))+a0L[bM(0x330)][bM(0x229)](bM(0x1e0))),console['log'](a0L[bM(0x37c)](bM(0x175))+a0L[bM(0x330)][bM(0x229)]('back')+a0L['gray']('\x20to\x20return\x20to\x20the\x20main\x20menu.')),console[bM(0x43b)]();}),B[be(0x38f)](()=>{const bO=be;a0a8(bO(0x3e6));const F=a0Y();if(F){a0ae(bO(0x329)+F[bO(0x1bc)][bO(0x1d5)]),O();const J=Object['keys'](F[bO(0x199)])['length'];return a0af(bO(0x3b8),J+'/'+F['session'][bO(0x372)]+bO(0x3ce)),console['log'](),void console['log'](a0L['gray']('\x20\x20exam\x20q\x20[n]\x20\x20|\x20exam\x20answer\x20<n>\x20<A-D>\x20|\x20exam\x20review\x20|\x20exam\x20submit'));}const G=a0a3(),H=a0ak();console[bO(0x43b)](),a0ae(bO(0x422)),console['log'](),-0xa47+-0x1b*0xaf+-0x6*-0x4ca===G[bO(0x338)]?(console['log'](a0L[bO(0x1f4)](bO(0x3c6))+a0L[bO(0x1f4)](bO(0x16b))),console[bO(0x43b)](a0L['gray']('\x20\x20\x20\x20→\x20')+a0L[bO(0x330)]['cyan'](bO(0x308)))):(console['log'](a0L['green']('\x20\x20●\x20')+a0L['green'](bO(0x212)+G[bO(0x338)]+'\x20attempt'+(-0x883*-0x1+-0x12ae+0xa2c!==G[bO(0x338)]?'s':'')+')')),H?(console[bO(0x43b)](a0L['green'](bO(0x29d))+a0L[bO(0x187)](bO(0x417))),console[bO(0x43b)](a0L[bO(0x1f4)](bO(0x3c6))+a0L[bO(0x1f4)](bO(0x2b6))),console[bO(0x43b)](a0L['gray'](bO(0x42a))+a0L[bO(0x330)][bO(0x229)](bO(0x1e0)))):(console[bO(0x43b)](a0L['yellow'](bO(0x3c6))+a0L[bO(0x1f4)](bO(0x167))),console['log'](a0L[bO(0x37c)](bO(0x42a))+a0L[bO(0x330)][bO(0x229)](bO(0x38a))))),console[bO(0x43b)]();});}
1
+ (function(z,B){const b0=a0B,F=z();while(!![]){try{const G=parseInt(b0(0x381))/(0xf13+0xf5e+-0x8*0x3ce)*(-parseInt(b0(0x325))/(0x2417*0x1+-0x35*-0x91+-0x421a))+-parseInt(b0(0x204))/(0x1*-0x274+-0x15dc+-0x1df*-0xd)+-parseInt(b0(0x16f))/(-0x1217+0x8a6+0x327*0x3)*(parseInt(b0(0x2f1))/(0x3c1+0x5f0+0x1*-0x9ac))+-parseInt(b0(0x1a0))/(0x7*0x29a+0x245e+-0x1b47*0x2)+parseInt(b0(0x37a))/(0x1*-0x91e+-0xed8+-0x10b*-0x17)+-parseInt(b0(0x2bb))/(0x1b1c+0x170b+-0x321f)+parseInt(b0(0x148))/(-0x1d4+-0x179a+0x1977)*(parseInt(b0(0x172))/(-0xfb2+-0x109b+0x2057));if(G===B)break;else F['push'](F['shift']());}catch(H){F['push'](F['shift']());}}}(a0z,-0x3a95e+0x694ab+0x33ce7));import a0L from'chalk';import{confirm as a0Q}from'@inquirer/prompts';import{ExamClient as a0V}from'../lib/exam-client.js';import{getConfig as a0W,saveConfig as a0X}from'../lib/config.js';import{getExamState as a0Y,saveExamState as a0Z,clearExamState as a0a0,getExamDeadline as a0a1,materializeAttachedData as a0a2}from'../lib/exam-state.js';import{getDemoStats as a0a3,recordDemoAttempt as a0a4,saveRetryQueue as a0a5,getRetryQueue as a0a6,clearRetryQueue as a0a7}from'../lib/demo-stats.js';import{logCommand as a0a8}from'../lib/logger.js';function a0z(){const bP=['icbzB3uGy2fUig5VDYbLBNrLCIbHig5LDYb0B2TLBIb3AxrOia','x3n1yM1PDenVBMzPCM1Lza','icdIMQaGifjLC2v0ihDPBgWGywjHBMrVBIb5B3vYign1CNjLBNqGzxHHBsbZzxnZAw9Uig9UihrOAxmGzgv2AwnLlG','icbqCMfJDgLJAw5Nia','rw50zxiGzxHHBsb3AxrOigfJy2vZCYb0B2TLBIaOBM8GBg9NAw4GBMvLzgvKkq','zxHWBgfUyxrPB24','mtu2ntq2nLvOrKPMrG','icdWN5kHie9WDgLVBIa','icbqCMvZCYbfBNrLCIb0BYbZDgfYDcb0AguGzxHHBsb0Aw1LCI4UlIa','y2f0','zNjVBq','icbuB2TLBJOGica','igvSAw1PBMf0zwqH','oduZsgDsB3DQ','icaGihn1zg8Gzg5MigLUC3rHBgWGlxKGChL0Ag9UmY4XmG','icbiB3CGDg8GDxnLifb5DgHVBIbPBIbjq09bienmsq','l2fWAs9Py29Hl2v4yw1ZlW','iefjigj5ihLVDxiGC2LKzs4GquKGAxmGEw91CIb0zwfTBwf0zs4','icaGihn1zg8Gyxb0ihvWzgf0zq','zwDNnW','icbbBgWGAgvSCcb1C2vKicG','icaGicaGC3vKBYbHChqGAw5ZDgfSBcbWExrOB24ZlJeYihb5DgHVBJmUmtiTDMvUDG','icaGiefjigj1zgDLDdOGmJvlihrVA2vUCYbMB3iGquK0q1rgicSGmJvligzVCIbdvey0quK','icbxCMfWihvWigfUzcbZDwjTAxq6ia','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','icaGihn1zg8GDxbKyxrLlwfSDgvYBMf0AxzLCYaTlwLUC3rHBgWGl3vZCI9IAw4VChL0Ag9UmYbWExrOB24Zic91C3iVyMLUl3b5DgHVBJmUmtiGmq','ig5VDcbMB3vUzcaOms0','vxPIzwTPC3rHBG','C2vYDMvYx3rPBwvFBxm','zxHHBvDHExnuB1nVBhzL','icdIL4SG','icaGihn1zg8GCgfJBwfUic1tihb5DgHVBG','CgvYuq','y29TBwfUza','icbB','lI4U','ic0TCxvPzxqGmJ4Mmq','DdeW','vhj5igeGzNjLzsbWCMfJDgLJzsbLEgfTicHUBYbHy2nVDw50ig5LzwrLzcK','zxHHBvDHExntAgvSBa','ugvYy2vUDgfNzq','8j+pLU+4JW','uMv2Awv3igfSBcbHBNn3zxjZigjLzM9YzsbZDwjTAxr0Aw5N','CMfUzg9T','vgLTzsbszw1HAw5PBMC','BwvZC2fNzq','qxzHAwXHyMXLiev4yw1ZicG','zgvTBW','Dg90ywW','AwnVyq','u2vYDMvYig5VDcbYzwfJAgfIBguUienOzwnRihLVDxiGAw50zxjUzxqGy29UBMvJDgLVBI4','zxHHBsbZDwjTAxqGy29UzMLYBq','C3rHCNq','icbMyxiGBw9YzsbZBw9VDgHSEsbPBNnPzguGv1nmmIbvyNvUDhuU','yNm0','q291BNrYEq','rw50zxiGzxHHBsb0B2TLBIb0BYbIzwDPBG','icaGica','tgLZDcbHDMfPBgfIBguGzxHHBxmGkg9WDgLVBMfSoIaYlwXLDhrLCIbJB3vUDhj5ignVzguP','qwXTB3n0ihjLywr5lI4U','icdWN46jiefSBcbXDwvZDgLVBNmGyw5ZD2vYzwqH','igfUC3DLCMvKkq','icaGu3LKBMv5lcbbDxn0CMfSAweGWRCGsNvUidi3ic0GsNvSidiSidiWmJy','icbVBMuGzgv2AwnLicSGB25LihnLC3nPB24UifLVDsbJyw5UB3qGC3DPDgnOihrVA2vUCYbTAwqTzxHHBs4','icdINjCG','Aw50zxjHy3rPB25Z','BMfTzq','ihvUzMXHz2DLzc4','BNvTyMvY','icaGieHLBha6icaGideWihvZzxmGkYa1igHPzgrLBIbIB251CYaOtunrig9UBhKP','q3j5ChrV','ChL0Ag9UmW','BgLUDxG','icbtDgfYDgLUzYbLEgfTlI4U','qw5ZD2vYihnVBwuGCxvLC3rPB25ZigzPCNn0oIbLEgfTiheGmq','icbjq09bidiWmJyGWRCGu3LKBMv5lcbbDxn0CMfSAweGWRCGsNvUidi3iokaKYbkDwWGmG','ig1PBIbYzw1HAw5PBMC','icbxCML0zsbHic5WEsbMAwXLlcb0AgvUihj1BIbPDdO','BM93','icdIJ7eGifrPBwuGy2HLy2SGia','icaGihn1zg8GywrKlwfWDc1YzxbVC2L0B3j5ihbWytPKzwfKC25HA2vZl3bWysaTEq','icdIMiuGtMv3ihbLCNnVBMfSigjLC3qH','zxHHBvDHExnbAtrJDgy','icbjq09big9MzMLJAwfSBhKGC3vWCg9YDhmGv1nmmIbVBIbxAw5KB3DZlG','icaGifLVDsbJyw4GBM93ihvZztOG','DMXH','rxHHy3rSEs4','vgvHBsb1Ccb3AxrOiefjihrVihnVBhzLienurNm','rxHHBsaI','icaGidiUieLUifbVD2vYu2HLBgWSigLUC3rHBgWGuhL0Ag9UihDPDgGGCgLWoG','ugfZCW','icdILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILiq','q29UDgvUDc1uExbL','qxvZDhjHBgLH','zxHHBsbKzw1V','icaGicdILQmG','AgvSCfvZzwrvCa','tK9uifbbu1nfra','icaGicbLEgfTigXPC3qGueu','ihbHy2THz2vZigLUC3rHBgXLzc4','icaGvgLTzsbZDgLSBcbJB3vUDgLUzYbKB3DUlIbcDwrNzxqGFJiGBwLUihbLCIbXDwvZDgLVBI4','Cvr1Dg9YAwfS','4O+XifrPBwuGCMvTywLUAw5NoG','u3vIBwL0igzHAwXLza','ihbVAw50CW','q2HVAwnLig11C3qGyMuGqsWGqIWGqYWGB3iGrc4','icaGidiUieLUigfUiefKBwLUAxn0CMf0B3iGug93zxjtAgvSBcWGCNvUoG','u3bLy2LMEsbLEgfTieLeoIbLEgfTihjLC3vSDca8Awq+','AhrWsNvTCa','igfUC3DLCNmU','icbkDw1WihrVigeGzMXHz2DLzcbXDwvZDgLVBJOG','q2XVC2uG4OcuihDLj2XSihjLDMLZAxqGDgHPCYbVBMuU','ls11C2vYic0TyNjLywSTC3LZDgvTlxbHy2THz2vZ','ihbVAw50C10','yw5ZD2vYx3n1yM1PDhrLza','ihjLz2LVBNmP','icbzB3vYigjLC3q6ia','icHLEhbSB3jLicyGzxHWzxjPBwvUDcK','C3rKB3v0','sw4GuhjVz3jLC3m6ia','ANnVBG','icbcB251CYbOzwXWigfSCMvHzhKGDw5SB2nRzwqU','icaGidmUifjLC3rHCNqGAwnVysbHBMqGCMv0CNK6','iIaYpI9KzxyVBNvSBa','vgHHAwXHBMq','y2XLyxi','icaGiokrOIa','EJmTC29SDMvY','rvHqsvjfra','tM8GDgLTzsbSAw1PDa','zxHHBsbZDwjTAxq','icaGicaGifrOzw4GAw5ZDgfSBcbqExrOB246','icaGid4+pIbWCMLUDcHJAxbOzxiUzgvJCNLWDcHKyxrHksK','BwfW','uhjLlwv4yw0GC2v0DxaGCMvXDwLYzwqGyMvMB3jLigvUDgvYAw5NigeGDg9Rzw4U','icaG4PElicbtDwjTAxnZAw9UigfJy2vWDgvK','BMv4DeXHyMvS','D3jVBMC','Dgv4Da','icHxu0WYkq','igfUC3DLCMvK','icaGicaGicaGicaGicaGicaGzxmGWRCGEMGGWRCGAMeGWRCGA28GWRCGyxiGWRCGzNiGWRCGChq','y29YCMvJDa','rxHHBxmG4Ocuia','iokgKIbIywnRihrVigv4yw0Sig5HDMLNyxrLihDPDgGG','cGPgDwXSigf0DgfJAgvKigrHDge6cG','icaGidmUifjLC3rHCNqGAwnVysbHBMqGCMuTCNvUigv4yw0GC2v0Dxa6','C3rYAw5NAwz5','icbpCIb0ExbLia','DxrMltG','icaGign0id0GyNL0zxmUzNjVBwHLEcGImgeYyJbLmwmUlI4Ikq','AwDUB3jL','C3vIBwL0ieLdt0f7Ew91CL9MBgfNFq','CM91BMq','ihrVihjLDhvYBIb0BYb0AguGBwfPBIbTzw51lG','icbbBNn3zxjZoIa','ChDUDg9VBhm','icdINjmG','sgvSCdOGicaGica','yNjLDW','sw52ywXPzcbXDwvZDgLVBIbUDw1IzxiUifvZzsaXlI4','xsaG','icaOuMv0CNKGD3jVBMCGB25SEsK','B3b0Aw9UCW','y291BNrYEq','icaGC2vLihbYB2DYzxnZicSGzMXHz2DLzcbPDgvTCW','q29UBMvJDgLUzYb0BYbLEgfTihnLCNzLCI4UlG','CdeW','icdIHlKGuevqidy2ocbKzxrLy3rLzcdIGjqGDxnPBMCGls11C2vYigLUC3rHBgWGkg5Vihn1zg8GBMvLzgvKkq','Cgf1C2u','C3vJy2vLza','AgvSCf91C2vK','C2vZC2LVBG','8j+pM++4JW','zgvTBY1MCMvL','icbtDgvWlwj5lxn0zxa6','D2LUmZi','icbnzxrOB2qGmJOGsw50zxjHy3rPDMuGuhL0Ag9U','icdILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILie','icaGig1HCMS','ihbYB21WDcWGC2fTzsbZAgfWzsbHCYbKzw1V','ihrVignVBMzPCM0Sig9YigfUExrOAw5NigvSC2uGDg8Gy2fUy2vSoG','icaGicaGigvUDgvYifzmqsbHDhrHy2SGBw9KzsbMB3iGDgHPCYbXDwvZDgLVBIaOCMvJB21Tzw5KzwqP','ywK0y3rMpG','BwLZC2LUzW','AhrWsgvSCa','zgvHzgXPBMvtzxj2zxjnCW','icaGs2v5igrPzMzLCMvUy2vZigzYB20GquK0q1rg','zMLUzeLUzgv4','y3LHBG','igzHAwXLzdOG','uNvZC2LH','igzPCNn0ihrVihnLzsb3Agf0igL0igrVzxmH','icbnzxrOB2qGmZOGu2nYAxb0igzPBgu','Ew91CKfUC3DLCG','DgfYz2v0','zgvZy3jPChrPB24','vg90ywW','icaGigv4yw0GBgLZDcbbvq','B3v0Chv0','igLZigeGChjHy3rPy2fSihf1zxn0Aw9UiokaLcbHBNn3zxiGD2L0AcbHigzSywCSig5VDcbHigXLDhrLCI4','icaGiezHAwXLzdOG','ic1JicjPBxbVCNqG','icbszwnVBw1LBMrLzcbWyxrOiokaLcbZD2L0y2GGDg8Gv1nmmIaOB25LlxrPBwuSih41ig1PBIK6','z3jHzgLUzW','icaGicHYzwXHDgL2zsb0BYbVDgHLCIbJyxrLz29YAwvZiokaLcbUDw1LCMLJihnJB3jLCYbNBYb0BYb5B3vYigv4yw0Gy2vUDgvYkq','vMLLDYbHBgWGCgfYDgLJAxbHDgLUzYbJB3vUDhjPzxm','icaG4PAi4PAi4Pwr4PAi4PAi4PwricaGicdILOJILOJILzeGicdILOJILOJILzhILOJILOJILztILzdILzdILOJILOJILze','icaGicaGCMvZDw1Ligf0igfUEsbXDwvZDgLVBG','icdILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILie','icaG8j+oRYaGu2vJDgLVBIaZoIbdvey0quKG4OcuienOywXSzw5Nzsb0AguGquK','rMfPBgvKihrVihn0yxj0igv4yw0','Aw5FChjVz3jLC3m','s2vLCcbPDcbPBIbTAw5KigzVCIbYzxzPzxCU','ihf1zxn0Aw9U','zxHHBq','BM90ugfZC2vK','uxvLC3rPB25Z','icaGifnVBwuGCgfJA2fNzxmGkhb3BNrVB2XZlcbZy2fWEsKGBwf5ig5VDcbOyxzLihDOzwvSCYb5zxqGzM9YidmUmtmU','icaGicbjBNnPzguGy2HHDdOGicaG','iokaLcb5B3uGy2fUBM90ignOyw5Nzsb0AgvTigfMDgvYihn1yM1PDc4','yw5ZD2vYvgHPCW','icbuAgLZihf1zxn0Aw9UihjLCxvPCMvZihLVDsb0BYb1C2uGAgvSCcbIzwzVCMuGyw5ZD2vYAw5NlG','CgfKrw5K','D3nSic0TAw5ZDgfSBcaTzcbvyNvUDhuTmJiUmdq','icaGicdcTYbbssbPCYb5B3vYia','icGR','ihbHy2THz2vZigLUC3rHBgXLzc4G','icbzB3uGy2fUihbHDxnLihDPDgGG','C3rHCNqGpgLKpG','zxHHBsbHBNn3zxiG','q2HPBMe','icaOC2fTzsbHCYb5B3uGANvZDcb0ExbLzcK','icaGiokaOIbzB3uGBwf5igv4AxqGyw5KihjLC3vTzsb3AxrOihrOzsbZyw1LihrVA2vU','CdmW','C29YDa','AgLUDa','icdWN5Ieie9UBhKGmIbVChrPB25ZigXLzNqG4OcuihLVDsbNB3qGDgHPCYe','icbozxCGBwvTyMvYpYbdB250ywn0oIbHy2nYzwrPDgf0Aw9UqgLJB2eYmdi2lMf1','icaGid4+pIbLEgL0kcK','CgfKu3rHCNq','owzttLjmyG','icbqyxbLCIbbic8GqIbWCMfJDgLJywWGCxvLC3rPB25Zig5LzwqGvw5PEcb0B29SAw5NihrOyxqGCNvUCW','BgvUz3rO','icaGsg93ihrVigf0DgfJAW','mJuSmdaWihrVA2vUCW','Bsb0B3rHBa','C3vKBYbHChqGAw5ZDgfSBcaTEsbWExrOB24ZlxbPCcbWExrOB24ZlxzLBNy','C3LTChK','ugvYDq','C3vIBwL0ieLdt0f7lI4UFq','icaGieeVqI9dl0q','q3rYBcTd','vw5HBNn3zxjLza','ihjLBwfPBMLUzYK','uhL0Ag9Uia','lI4VBgLIl21HAw4TCMWUANm','icaG4PYticbtDwjTAxnZAw9UigfJy2vWDgvKiokaLcbIyxnLBgLUzsbTzxq','CxvLC3rPB25Z','C2v0Dxa','zhvYyxrPB25nAw51DgvZ','icaGieHPBNrZoIaGieeOnsKGqIGZksbdkdePiokaLcbWCMfJDgLJywWGB25SEq','icaGiokaOIbuCNK6ia','ywK0y3rMrgvZyW','vMfSAwrHDgLUzYb0B2TLBI4UlG','zwDNmtu','sunpqsbqyxj0AwnPCgf0Aw5NienVDw50CMLLCYbHBMqGuMvNAw9UCW','sgfJAYb0AguGquKNCYbNDwfYzhjHAwXZ','icaGieLUC3rHBgWGuhL0Ag9UidmUmtiGyw5KihjLlxj1BIbLEgfTihnLDhvWlG','icbbC3nPC3rHBMnLihvZzwq','icaGvgHLigzPBMfSihnLy3rPB24GzMXPChmGDgHLihnJCMLWDdOGAw5ZDgvHzcbVzG','vw5PDgvKieTPBMDKB20','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','D2L0Aa','icaG4PAi4PAi4Pwr4PAi4PAi4Pwu4Pwq4Pwq4Pwq4Pwq4PwD4PAi4PAi4Pwu4Pwq4Pwq4Pwq4PAi4PAi4Pwx4PAi4PAi4Pwu4Pwq4Pwq4PAi4PAi4Pwx','icaGicaGicbqqvriiIaRicjjBNn0ywXSihbPCciGzhvYAw5NihrOzsbPBNn0ywXSzxiUkq','ugXLyxnLihbYB3zPzguGEw91CIbMBgfNoIbLEgfTigfUC3DLCIa8BJ4GsunpqxT5B3vYx2zSywD9','icboyxrPB25HBcbsB3vUzcaXifnLBgvJDgLVBIbLEgfTCYbHCMuGyMvPBMCGChjLCgfYzwqU','l2jPBI9IyxnOic1JiciKkgn1CMWGlwzZu0WGAhr0Chm6lY9YyxCUz2L0AhvIDxnLCMnVBNrLBNqUy29Tl0HVBwvICMv3l2LUC3rHBgWVsevbrc9PBNn0ywXSlNnOksi','yNjLDYbSAw5Ric0TB3zLCNDYAxrLihb5DgHVBKaZlJeY','nJG2mdi4EeTxt1Pk','zNvUy3rPB24','C2nVCMu','mty3mZy1otbVBgjbAKG','BwfNzw50yq','lI4VBgLIl2v4yw0TC3rHDguUANm','ihrVihn1yM1PDcbMB3iGz3jHzgLUzY4','yw5ZD2vYidXUpIa8y2HVAwnLlI4UpG','icaGigjHy2S','zxHHBvDHExntyxzLzfrV','zMfPBa','icbmyw5NDwfNztOG','icbbCMnOic8GtwfUAMfYBZO','u3vIBwL0DgvK','icbeDxjPBMCGDgHLigv4yw0Sihr5CguG','icaGsw50zxjUyxrPB25HBcbdEwjLCIbpBhLTCgLHzcbPBIbbssaYmdi2','l2fWAs9Py29Hl3nLCNzLCI10Aw1L','ic1TihbPCcbPBNn0ywXSihb3BNrVB2XZ','vhLWztOGzgvTBYb0BYbZDgfYDcbHz2fPBI4','zwDNnq','icaGid4+pIbMCM9TienYExb0BY5dAxbOzxiGAw1WB3j0ieffuW','icbODhrWCZOVl2LJB2eYmdi2lMf1','y2HHBMDLzcbMCM9Tia','r2HHBMe','zxHHBsbYzxnLDa','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDq','icaGig1VCMuGAgvSCa','icaGigXHBMC','tM8Gyw5ZD2vYCYb0BYbZDwjTAxqUiev4yw0Gy2XLyxjLzc4','C3vIBwL0ifTJB25MAxjTqxjNxsbBC2vJB25KqxjNxq','Dg9ju09tDhjPBMC','Aw5KzxHpzG','igf0DgvTChrZ','u3rHCNrPBMCGDgLTzxiUlI4','ic8G','icdcTYblzwvWihnOyxjWzw5PBMC6ia','icaGigH0DhbZoI8VD3D3lNb5DgHVBI5VCMCVzg93BMXVywrZl21Hy29ZlW','iokaLcbZzwuGzNvSBcbLCNjVCG','BgLZDgvUzxjZ','icaGWRCGmtuSmdaWkYbJB25JDxjYzw50ihbHCNrPy2LWyw50CW','icaGicbuAguGDg9Rzw4GAxrZzwXMigLZie5pvcbYzxzVA2vKihnLCNzLCI1ZAwrLlIbjzIb5B3vYihnLC3nPB24GAxm','DgvZDa','AxnuvfK','zgvTBY1LEgfT','icaGww91CIb0zxjTAw5HBca','CMvZzxq','vMLLDYbXDwvZDgLVBIaOB3iGywXSihf1zxn0Aw9UCYK','zMLUza','ywXS','oda5mdeWBxLjq3vq','icGZmcbnq1eGkYaXmcbWCMfJDgLJywWP','ihrVigXLyxzLigLJB2e','CxvLC3rPB25dB3vUDa','Aw5JBhvKzxm','iIbPCYbPBIbWCM9NCMvZCY4','zgvTBY1LBNrLCG','u3vIBwL0igL0igzPCNn0oIbLEgfTihn1yM1PDa','icaGidmUieLUC2LKzsbvyNvUDhuSigLUC3rHBgWGtM9Kzs5QCYaYmIaRifb5DgHVBIb0B29SCYaRigLJB2e6','CMvTB3zLtgLZDgvUzxi','u2H1zMzSAw5Nig9WDgLVBNmUlI4','iokaLca','icaGicbuB2TLBJOG','CMvWzwf0','vwj1BNr1ia','AgLUDcbHic8GyIaVigm','BMv3','AwnVyt4','AgvSCefSBfvZzwq','icbtDwjTAxqGBM93ihDPDgG6ia','quXm','icbdyw5JzwXSzwqU','icaGicbqCM9TChqGAw5Qzwn0Aw9Uimk3igfKDMvYC2fYAwfSigfUywX5C2LZimk3iefjigf1zgL0Aw5N','icaGicjiB3CGzg8GssbKzwnYExb0ieffuY1dqKmGAw4GuhL0Ag9UpYi','icdcTYaG','zxHHBsbXia','icaGicHHAtrJDgyP','ChvZAa','icdINjmGuhL0Ag9Uia','D2HPy2G','BMv4Da','DM9SyxrPBgL0Etm','icaGww91CIbHBNn3zxjZigHHDMuGyMvLBIbYzwnVCMrLzcbHBMqGC2vUDcb0BYb5B3vYig5HDgLVBMfS','icaGicbZDgLSBcbHy3rPDMuGyw5Kig5VDcbZDwjTAxr0zwqSihjLlwvUDgvYAw5NihrOzsbZyw1LihrVA2vUihjLC3vTzxmGAxqU','icaGicaGicbLBNrLCIbbstrdveyGy2HHDcbMB3iGDgHPCYbXDwvZDgLVBIaOCMvJB21Tzw5KzwqP','Bg9N','zxHHBsb1BM1HCMSG','sMfWyw4','4OcuihLVDsDYzsaXlZqGDgHYB3vNAcb0AguGzxHHBq','igLUC3rHBgXLza','icaGsw50zxjUyxrPB25HBcbdEwjLCIbpBhLTCgLHzcbPBIbbsq','z2v0vgLTzq','icdIJ7aGmtaGBwLUDxrLCYbYzw1HAw5PBMC','icaGicaGicaGicaGicaGicaGCNuGWRCGAgKGWRCGzguGWRCGAwqGWRCGDgGGWRCGDMKGWRCGDhi','ihvUyw5ZD2vYzwq6ia','yw5ZD2vY','Dg9vChbLCKnHC2u','AhrWu3vIBwL0','zw5JB2rPBMC','zxHHBvDHExnszwzqExrOB24','C3vIBwL0DgvKqxq','y3j5ChrVz3jHCgH5','icboB3rLoIb5B3uGDhLWzwqGysbKAwzMzxjLBNqGDg9Rzw4UievHy2GGzxHHBsb0B2TLBIbPCYbIB3vUzcb0BW','icaGicfJyxqGpdWGj0vprICGpIbZB2X2zs5WEq','icaG4PAi4PAi4PwxiokwIokwIokwIokwIokwIokwIokvLYdILOJILOJILOJILOJILOJILOJILzCGiokwIokwIokwIokwIokwIokvLW','icbbC3nPC3rHBMnLoG','icaGideUifr5CguG','icbuBYbNBYbIywnRoIaG','igLZigzYzwuSihvUBgLTAxrLzcbWCMfJDgLJzs4','icbjzIb5B3uGBMvLzcb0BYbHyMfUzg9UihrOAxmGC2vZC2LVBIaOzs5NlIbLEhbPCMvKic8GD3jVBMCGCgfWzxiPla','oJaW','icaGutm54OctndaGkdiGCxvLC3rPB25Zimk3ide2ihb0CYbLywnOiokaLcbOAwDOzxn0ihzHBhvLisK','zwDNoq','zxHHBsbWCMv2','u3jPieXHBMTH','icaGicdcTYbtzxbHCMf0zsbIDwrNzxq6ia','AhrWqMfJAW','AgvSCfjLBw92zq','ihjHBMrVBsbXDwvZDgLVBNmGzNjVBsbHihbVB2WGB2yG','ywrK','AxnsyxC','igfUC3DLCMvKiokaLcbHy2nPzgvUDgfSihn1yM1PDcbNDwfYza','quKGDg9Rzw5ZoIa','icbdDxjYzw50BhKGzMXHz2DLzdOG','zxHHBsbXide','CMv2Awv3','icdIMQaGie9UBhKG','y3rMzfvYBa','zxHHBsbKzw1VlxjLDhj5','ica+ia','icaGiokaOIbtzxj2zxiGyxv0BY1MAw5HBgLZzxmGEw91CIbHBNn3zxjZigLMihLVDsbKBYbUB3qGC3vIBwL0igjLzM9Yzsb0AguGzgvHzgXPBMu','icaG','vgLTzsbLEhbPCMvKlG','ywK0y3rM','ueftu0ve','ihLVDsbNB3qGD3jVBMCU','x2HLBhbvC2vK','icaGid4+pIbRzxKGpsbIExrLCY5MCM9TAgv4kci0otqZngy0ms4UlIiP','qw5ZD2vYzwq6ica','icHXDwLJAYb0yxnRCYK','l2fWAs9Py29Hl2v4yw0TDg9Rzw4','Axnoyu4','vw5SB2nRigHPzgrLBIbIB251CYbOzwXWihvZzxm','icdIHPiG','icaGicfWExrOB24Zic1JicjPBxbVCNqGyMfZzty0oYbWCMLUDcHIyxnLnJqUyJy0zgvJB2rLkcDtr1zZyKC4psCPksi','icbsDwXLCZO','icaGidiUieLUC3rHBgWGsg9TzwjYzxCGzMLYC3qGkhDLigrPzcbUB3qGzMLUzca','icaGievprG','icaG8j+AGcaGu2vJDgLVBIaYoIbbstrdveyG4OcuiefjigLZihLVDxiGDgvHBw1HDgu','yMvHDxrPzNvSC291Cdq','mJi1nZu1mwLADMzkza','q291BgqGBM90igLUC3rHBgWGCgLWiokaLcbWAxaGAxmGBM90igLUC3rHBgXLzcbVBIb5B3vYihn5C3rLBs4','icbVzIa','CMvZDw1L','icaGiokgKIbIj0HLBgXVjW','Bwf4','icaGigH0DhbZoI8VD3D3lNb5DgHVBI5VCMCVzg93BMXVywrZl3DPBMrVD3mV','C3rKAw8','icdcTYbszwzLCMvUy2uGz3vPzgvZigzVCIaZocb0B29SCZOG','icaGicbbssb0B2TLBNm6icaGicaG','igrLDgvJDgvK','ihLLDc4','AgvSCa','yM9VA21HCMTZ','icdINjmGCgLWigf2ywLSywjSzq','CsbBBL0','icaGihzSytrJDgy','zwDNmW','DhLWzq','icbiB3CGDg8GAw5ZDgfSBcbqExrOB24GmY4XmcSGkdmUmtiGCMvJB21Tzw5KzwqPoG','rMfPBgvKihrVigXVywqGCMvZDwX0','zxHHBsbYzxzPzxC','ihWG','yMvZDfbLCMnLBNrHz2u','ihbVAw50CYaOntaLkq','icbqBgvHC2uGCMuTDhLWztOG','icaGkhjLC3vTzsbMCM9TifeXkq','x2vSAw1PBMf0zwq','AgfZ','uhjLlwv4yw0GC2v0DxaGCMvXDwLYzwq','icbezxrLy3rLzdOG','icaGuhjLC3mGyw55igTLEsb0BYbZDgfYDcbKzw1VlI4U','C3vKBYbHChqGDxbKyxrL','C3bSAxq','AhrWuMv2Awv3','u3rYB25NzxiGAgvYztOGia','icaOtwLUAw1HBcbvyNvUDhuGlYbJBg91zcaVifDttdiGAw1Hz2vZig9MDgvUihnOAxaGD2L0Ag91DcbWAxaUkq','zxHHBvDHExngB3vUza','uK9qz2fKz2v0','x2HLBhbqzxjr','rMXHz2DLzcbMB3iGCMv2Awv3','icaGiefjoIaGicaGidi1sYbbstrdveyGkYaYnuSGq1rgnefjihrVA2vUCW','icaGihn1zg8Gyxb0igLUC3rHBgWGlxKGChL0Ag9UmY4XmIbWExrOB24ZlJeYlxzLBNyGChL0Ag9UmY4XmI1KAxn0DxrPBhm','zxHHBsbZDgfYDca','ChjVBxb0','tg9HzgLUzYbLEgfTlI4U','yw5ZD2vYzwq','vgLTzq','icaGicbLEgfTigXPC3qGq04','zxHHBsbTyxjRia','icaGicbtB2X2zsa','iIbPCYbHBhjLywr5igLUihbYB2DYzxnZlG','ihf1zxn0Aw9UCYbKCMf3BIbMCM9TigeGCg9VBcbVzIa','icaGiokgKIa','tM8GzxHHBsbPBIbWCM9NCMvZCY4','sunpqsboyxrPB25HBcbtzwXLy3rPB24GrxHHBq','C2v0uMf3tw9Kzq','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDs9HCgKVAwnVys9Kzw1Vlxn0yxrZ','ChLJCNLWDg9KB21L','zxHHBv9Pza','ihDHCYbUB3qGzMXHz2DLzc4','C19HAtrJDgy','C3vIC3rYAw5N','tM8GzxHHBsbPBIbWCM9NCMvZCY4GvxnLicjLEgfTihn0yxj0idXPzd4IihrVigjLz2LUlG','zw1VAMK','icaGigv4yw0GCsaXlI4','rgvTBYbJB21WBgv0zwqGka','icaGicjtAg93ig1LigHVDYb0BYb1C2uGC3rYDwn0lNvUCgfJAYi','icbgAwX0zxiGyNKGy291BNrYEtOGzxHHBsbSAxn0ifbflcbLEgfTigXPC3qGq04Sic4UlG','uhjLCgfYAw5Nihf1zxn0Aw9UCY4UlG','iokgKIa','z3jLzw4','ixb5DgHVBJmGlI4U','icbzB3uGD2LSBcbZDwjTAxqG','icbTywnpuYaOsg9TzwjYzxCSihjLy29TBwvUzgvKktO','Aw5WDxq','zhvYyxrPB25nAw4','icbszwfKEt8GvxnLia','icaOEwvZiokaLcbSAxrLCMfSBhKGDhLWzsb0AguGBNvTyMvYia','CgvYy2vUDgfNzq','icdINjmGvg9Rzw4GCMuTyxr0ywnOzwqGDg8GEw91CIbPBI1WCM9NCMvZCYbLEgfTlG','u291DgGGs29Yzwe','rMfPBgvKihrVigXVywqGzxHHBxm','vxnLCI1bz2vUDa','zxHHBsa','tMv3ifPLywXHBMq','z3jHEq','yxr0zw1WDhm','BNvTChK','BMv4DcaVihbYzxy','Dg9tDhjPBMC','y2vPBa','icbtzxj2zxiGzgLKig5VDcbYzxr1CM4Gysb2ywXPzcbVChrPB24UifrYEsbHz2fPBI4','qw5ZD2vYzwq','icaGicaGicaOBM93lcb+nsbTAw4P','x2XHC3rr','y3rMngfP','DhjPBq','igjVBNvZigHLBhaGDw5SB2nRzwqHicG','r0vu','y29UzMLYBq','icaOAgvSCca','icaGifb5DgHVBIaZlJeYigLZihjLy29TBwvUzgvKlIbjBNn0ywXSoG','icaGicbiAw50CYbbl0iVqZOGicaG','icaGieXHBMC6icaGia','rMXHzYbHihf1zxn0Aw9UihrVihjLDMLLDYbSyxrLCIaODg9Nz2XLCYK','txLHBM1HCG','icaG4PwA4Pwq4PwDiokvMUkvKokvKokvKokvKokvKokvNsdILzRILzdILzdILzdILzdILzdILz0G4PwA4Pwq4PwDicdILzRILzdILz0','u291DgGGqwzYAwnH','icdIMiuGtwfYA2vKigzVCIbYzxzPzxC','icaGDxnPBMCGquKSihLVDsDYzsa','CMvWBgfJzq','zgLT','yw5ZD2vYx2nOyw5Nzwq','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','ihrOzsbJB21WzxrPDgLVBI4','zMfPBgvKugfJA2fNzxm','yMvZDa','Cg9PBNrZ','icH3B3jRCYWGyNv0idmUmtiGCMvJB21Tzw5KzwqP','y29UzMLYBwvKqxq','icbqCMv2Aw91CYbZzxr1CcbOywqGB25SEsa','tMLJzsbVBMuU','yxr0ywnOzwreyxrH','BgLZDcbBy291BNrYEv0','ChjLlxDYAxr0zw4GCgvYihf1zxn0Aw9U','icaGifbHy2THz2vZoIa','ihbYB21WDcWGANvZDcbSAwTLihrOzsbKzw1V','icbdAgvJAYbLEgfTCYbMB3iGEw91CIbJB3vUDhj5oG','ywLvC2fNzq','DgLTzw91Da','yMfJAW','icaGicaGia','icdIMiyGuq','icaGigfPngn0zG','icdINjmGrxHHBsbZDgf0zsbJBgvHCMvKlG','zxHHBsbZzxr1Ca','AwnVys1JBgK','icaGutmX4OctmZGGkdGGCxvLC3rPB25Zimk3idyGChrZigvHy2GP','uM9VBsb0BYbNCM93oIaGia','icbuCNvZDcb5B3vYigLUC3rPBMn0igfUzcbWAwnRig9Uzse','u2f1zgKGqxjHyMLH','icaGiokaOIbpBIblywXPl1vIDw50DsaYmIS6ig1Pz2H0ig5LzwqGChL0Ag9UmY4XmI1KzxyGkYbIDwLSzc1LC3nLBNrPywW','ica0mcSGy291BNrYAwvZigfUzcbYzwDPB25ZihjLChjLC2vUDgvK','icaGicbfBNrLCIbJAgf0oIaGicaG','CMvMihb5DgHVBG','icboyxrPDMuGv2LUzg93CYbJyw4GCNvUifbHCgvYiemGke1dus1VBMX5ksbHBMqGquKGy2HHDcWGyNv0','uMvHzhKH','y2XVy2TpzMzZzxrnCW','icaGidmUie9Wzw4GysborvCGug93zxjtAgvSBcb3Aw5KB3CGkfbbveGGCMvMCMvZAcKSihrOzw46','iokaLcbZD2L0y2GGD2L0AdOGBgfUzYa8y29Kzt4','icdIMQaGuhL0Ag9Uia','icaG4PAi4PAi4Pwr4PAi4PAi4PwricaGicdILOJILOJILzeGicdILOJILOJILzhILOJILOJILOJILOJILOJILOJILOJILze','icaGiokaOIbdAgvJAYb5B3uGAgf2zsbPBNrLCM5LDcaOCgLWlNb5CgeUAw8GBxvZDcbIzsbYzwfJAgfIBguP','ihbHy2THz2vZlI4U','rNjHBMnL','icbuExbLia','icaGicaGC3rHCNqGuhL0Ag9UihnOzwXS','icaGicbgCMvLignOyxq6icaGicaGyw55ig1LC3nHz2uG4OAsiefjihrLyw1TyxrL','tM90ignVBM5Ly3rLzc4GuNvUoIbQB2LUidX1CMW+','sw52ywXPzcbLEgfTihrVA2vU','u2v0DxaGzMfPBgvKiokaLcaWig9Mia','icdWN5kHifrYEsb0ExbPBMCG','r3jHzgLUzY4UlG','mJuSmdaW','u3vIBwL0igv4yw0GzM9YigDYywrPBMCGkhvZztOGiMv4yw0GC3vIBwL0ignVBMzPCM0IigzVCIbYzwfSigv4yw1Zkq','icbozxCGzxHHBxmGyxjLignVBwLUzYbZB29Uiq','zwXPBwLUyxrLza','ig9YigXLyxzLihDPDgGG','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','wYbD','rxHHBsbZDgfYDgvKisbuAw1LCIbPCYbYDw5UAw5NlG','ChDU','AhrWtw9YzuHLBha','zw50CMLLCW','icbjBIb0AguGBwvHBNrPBwuSihrYEtOG','C19JDgy0ywK','zxHHBsa8Dg9Rzw4+','icbxAgf0ig5LEhq','CgfZC2vK','D3jPDgu','icbtDwjTAxr0Aw5Nig5VDYbZy29YzxmGzNjVBsbVBMX5ia','icaGzxHHBsbJzw50zxiUiezPBMfSihnJB3jPBMCGyw5KihnLBgvJDgLVBIbHCMuGzgvJAwrLzcbIEq','mtaXntK3nLDkBfHOvW','vxnLicjLEgfTihjLDMLLDYiGDg8Gy2HLy2SGChjVz3jLC3mGB3iGiMv4yw0GC3vIBwL0iIb0BYbZDwjTAxqU','Dg9mB3DLCKnHC2u','BgfUz3vHz2u','icboBYbHy3rPDMuGzxHHBsbZzxnZAw9UihrVihjLC2v0lG','icaGihDPBMDLDcbPBNn0ywXSifb5DgHVBI5qExrOB24UmY4XmG','Bwf0y2G','icaGiokaOIbbBgWGAw50zxjHy3rPB25ZigfYzsbYzwnVCMrLzcbMB3iGyxvKAxq','icaGicaGicbLBNrLCIbdvey0quKGy2HHDcdIGjqGyxr0ywnRihrOzsbbssb0yxjNzxqGkhjLy29TBwvUzgvKkq','D2HPDgu','icaGswyGDgLTzsbPCYb0AwDODcWGC2TPBsbrmZKVndaGzMLYC3qGDg8GzgvJAwrLigf0DgfJAYbVCMrLCI4','icdIMQaGiduGBwLUDxrLCYbYzw1HAw5PBMC','icbuAw1LoIaGica','icbbzNrLCIbPBNn0ywXSAw5NlcbYDw46ia','zxHHBvDHExnqExrOB25szxbS','zxHHBuLK','r28GDg8GBMv4DcbXDwvZDgLVBG','icbgzwrVCMeGlYbssevmoG','AM9PBG','icbuBYbJB250Aw51zsb0AgLZigv4yw06','AxnbCNjHEq','icaGDgHLig9Yz2fUAxPLCIbPBIb5B3vYignVDw50CNKU','icbLEgfTiheGw25Dicb8igv4yw0Gyw5ZD2vYidXUpIa8qs1epIb8igv4yw0GCMv2Awv3ihWGzxHHBsbZDwjTAxq','ic1TihbPCcbZAg93ici','ienurJrbsq','yM9Sza','y2f0zwDVCNK','ChjLDG','icaOugfWzxiGqYb0B2TLBNmGC2TPCcb0AgLZigDHDguG4OcuifbHCgvYiemGAxmGtunrlw9UBhKP','C3rHCNrLzef0','BwfYAYbBBL0','icaGigHLBha','ks4Gww91j3jLig9UihLVDxiGB3DUisdWN5kQ','icaGigv4yw0GCMv2Awv3','igzPCNn0lG','C3rKzxjY','C3rHCNrfEgfT','ig1PBNv0zxmGBgvMDc4Gs2vLCcb0AguGCgfJzsbZDgvHzhKU','icbtDhvJAZ8Grw1HAwWGEw91CIbZzwXLy3rPB24Gy29VCMrPBMf0B3iGD2L0Acb0AguGC2nYzwvUC2HVDcbHyM92zs4','rwD5Chq','icdIL48G','lZmWig11BhrPCgXLlwnOB2LJzsbHBNn3zxjLza','imk3ia','l2v0yY9VCY1YzwXLyxnL','icaGicaGicaGia','imk3ifbPy2SGB25LigfUC3DLCIbWzxiGCxvLC3rPB24','icaGigzYB20GChDUigLTCg9YDcb4B3i','icbpChrPB25ZigHHDMuGyMvLBIbYzxnODwzMBgvKlG','zMLSDgvY','icaGienVBxbSzxrLzdOG','icbSyw5NigzYimk3igXHBMCGyxiGWRCGBgfUzYbWDcdcTYaXnsbSyw5NDwfNzxmGC3vWCg9YDgvK','tMfTzq','AhrWtMf2','icbuBYbNBYbIywnRigfUzcbHBNn3zxiGBw9YztO','nwDrtxzgvG','icaGign0zJrHAq','EwvSBg93','icdIMQaGCgLWig5VDcbMB3vUzcWGDhj5Aw5NigvUC3vYzxbPCc4UlG','ixb5DgHVBJmGC29SDMuUChK','icbvC2u6igv4yw0GCMv2Awv3imk3igv4yw0GC3vIBwL0','CMvK','icdIMQaGieXfu1mGveHbtIaXie1jtLvursbmruzu','igLZihDLBgWGyMvSB3CU','ue9tva','vMLLDg5HBq','icaGicaGicaGkgn0zJrHAsK','y29TCgXLDgvKqxq','zwXPBwLUyxrLzca','rxHHBsbfBNzPCM9UBwvUDcbtzxr1Ca','wYbDica','icbtDgfYDcbHifb5DgHVBIbZzxnZAw9Ulcb0ExbLignVBw1HBMrZig9UzsbIEsbVBMu6','zxHHBu5HBwu','C3vIBwL0DgvK','zwDNmte','icaGiokCKYbZyxzLza','icbpCIbKB3DUBg9HzcbPBNn0ywXSzxi6','vMLLDYbLEgfTihjLC3vSDa','y2f0y2G','C3rKAw4','zgvTBY1YzxrYEq','C3vIBwL0rxHHBq','zxHHBsbOzwXW','ywn0Aw9U','icbeAxjLy3rPB25HBcbMzwvKyMfJAW','igfUC3DLCNmSihr5Cgu6','icaGWRCGmteWienurIb0B29SCYbWCMuTy29UzMLNDxjLza','ic1TigvUC3vYzxbPCcaTlxvWz3jHzgu','icdILRGG','Dg9Rzw4GpgnVzgu+','BM9KztPJAgLSzf9WCM9JzxnZ','z2v0uMvZDwX0','zgvTB0LUDhjVu2vLBG','CMvM','zwXPBwLUyxrL','icbkDxn0igfKzcaHigjLzM9Yzsb0AguGy29TBwfUzdO','y29TCgXLDgu','icbdB3vSzcbUB3qGCMvHy2GGC2vYDMvYigzVCIbOzwXWlIbdAgvJAYb5B3vYignVBM5Ly3rPB24U','icdIMQaGiezjtKfmifnvqK1ju1njt04G4OcuihbSzwfZzsbJB25MAxjT','yNjLDYbPBNn0ywXSihb5DgHVBKaZlJeY','A2v5CW','icaOzgLMzMvYzw50igzYB20GDgHLig9Uzsb5B3uGDhLWzwqP','icboBYb3CM9UzYbXDwvZDgLVBNmGDg8GCMv0CNKUifj1BIa','CM9Wz2fKz2v0','rMXHz2DLzdOGica','icbszwLUC3rHBgWGuhL0Ag9UidmUmtiGD2L0AcbWAxaGyNvUzgXLzcWGDgHLBIbYzxrYEtO','ihn0AwXSigzSywDNzwqGzM9YihjLDMLLDZOG','nZiYrKXerfni','zgf0yq','rwXPBwLUyxrLig9Uzsb3CM9UzYbVChrPB24GkgXPBwL0zwqGDxnLCYK','vgLTzsb1C2vKoIa','DxnLza','rhvYyxrPB24','CxvPDa','icdIHPmGifbYywn0AwnHBcbZzwn0Aw9UigjLz2LUCYbHDcbrmZeU','igHLBhbZihjLBwfPBMLUzY4GvxnLihrOzw0GzMLYC3qH','icbgCMvLihbYywn0AwnLimk3ie5VigfJy291BNqGBMvLzgvKimk3ie5VihrPBwuGBgLTAxq','CgXHDgzVCM0','C2HVD25xyxjUAw5NCW','icaGWRCGmtuGBgfUz3vHz2vZlcbYzwfSlxrPBwuGquKGDhjHBNnSyxrPB24','icbgAxjZDcbLCNjVCIbKzxrHAwWGkgzVCIbKzwj1z2DPBMCPoG','AhrWqw5ZD2vY','x2HLBhbnyxG','icaOChjLDMLVDxmGzxHHBsbZzxnZAw9Uigv4CgLYzwqG4OcuignSzwfYzwqGC3rHDguSihn0yxj0Aw5NigzYzxnOihDPDgGGEw91CIbUzxCGDg9Rzw4P','C29Tzq','CgLWzq','l3n1yM1PDa','CgTN','ig1PBNv0zxm','u3rHDhvZ','icaGid4+pIbJAxbOzxiGpsbbrvmUBMv3kgTLEsWGquvtlK1prevFq0jdlcbPDIK','cIaG','icdIMiuGuq','icbr','icaGicbfEgfToIaG','icaGvgHLC2uGyxjLihrOzsbOyxjKzxn0ihf1zxn0Aw9UCY4Gv29YDgGGmJeLig9MihrVDgfSihnJB3jLlG','vxbSB2fKAw5NigfUC3DLCNmUlI4','icbszxj1BIb3AgvUigzPEgvKoIa','icdILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILie','4PQGicbfweLuigLJB2eGzMLYC3qG4Ocuihn1zg8Gy2fUBM90ihj1BIbPBNnPzguGDgHLihbYB21WDa','icdIMQaGiefUigv4yw0GAxmGywXYzwfKEsbPBIbWCM9NCMvZCYbVBIb0AgLZigrLDMLJzs4','BM9KztPYzwfKBgLUzq','icaGicbcDwrNzxqGFJiGBwLUihbLCIbWCMfJDgLJywWGCxvLC3rPB24UifLVDsbJyw4Gy29TzsbIywnRihDPDgG6ig5LEhqGlYbWCMv2lG','Dg9Vx29Sza','BgfUzYa8y29Kzt4','icaGifb5DgHVBJOG','icbYDw4G','C2XPy2u','Cgn0','icdWN46bicS','zgfYD2LU','Dw5TyxjRifTUxq','itXJBwq+ia','icHJB21WBgv4ihnVBhv0Aw9UCYK','igzVDw5KlcbIDxqGmY4XmcSGCMvXDwLYzwqGzM9YihrOzsbLEgfTlG','iefjnenurG','icaG4PAi4PAi4Pwr4PwA4PAi4PAi4PAi4PAi4PAi4PAi4Pwx4PwA4PAi4PAi4PAi4PAi4PAi4PAi4Pwu4PwD4PAi4PAi4PwricdILOJILOJILze','icbzB3uGC3rPBgWGAgf2zsa','yw5ZD2vYCW','icaGia','C3rHDhvZ','icaGigv4yw0Gyw5ZD2vYidXUpIbjq09bEY4UlN0','twfJyxu','icHr','vgLTzw91DevYCM9Y','oIdIGjq','BgLUzq','uxvLC3rPB24G','Dg9Rzw4','zMXVB3i','icaGihbYAw50khHVCIHJDcWGA2v5ks5KzwnVzguOksK','icbrDwvZDgLVBNmGAw4Grw5NBgLZAc4Gvg8GC3DPDgnOigXHBMD1ywDLigzPCNn0oG','uMvTB3zLihjLDMLLDYbMBgfNigzYB20GysbXDwvZDgLVBG','icaGicaGicHszwjVB3qGAwyGv2LUzg93CYbHC2TZlcb0AgvUig9Wzw4GDgHLifvIDw50Dsb0zxjTAw5HBc4P','icaGrwXHChnLzdOG','igf0DgvTChq','B25Jzq','icbvyNvUDhuGlYbezwjPyw4GkgrLywrZBMfRzxmGufbbktO','ieLdt0f7Ew91CL9MBgfNFq','yxbWBgLJyxrPB24VANnVBG','A2v5','icaGigH0DhbZoI8VD3D3lNb5DgHVBI5VCMCVzg93BMXVywrZlW','icdWN5Miie1HEcaYigHLBhbZihbLCIbXDwvZDgLVBIdIGjqGEw91igfSCMvHzhKGAgf2zsbHiduWlZuWiq','C3bSAwnL','BwLU','sunpqsbezw1Viev4yw0G4OcuiezYzwuGuhjHy3rPy2u'];a0z=function(){return bP;};return a0z();}import{printSuccess as a0a9,printError as a0aa,printWarning as a0ab,printInfo as a0ac,printTable as a0ad,printHeader as a0ae,printKeyValue as a0af,createSpinner as a0ag,formatCountdown as a0ah}from'../lib/ui.js';import{t as a0ai}from'../lib/i18n.js';import{getDeviceFingerprint as a0aj}from'../lib/access.js';import{getExamSetup as a0ak,saveExamSetup as a0al,isExamSetupComplete as a0am}from'../lib/exam-setup.js';function a0B(a,b){a=a-(0x161b+-0x1007+-0x525*0x1);const c=a0z();let d=c[a];if(a0B['HnMKUh']===undefined){var e=function(i){const j='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let l='',m='';for(let n=0x2*0x587+-0x192c+-0x116*-0xd,o,p,q=-0x224b*0x1+-0x1*0x7c3+-0x301*-0xe;p=i['charAt'](q++);~p&&(o=n%(0xe3*-0x11+-0x2467+0x337e)?o*(0x129a+0x1*0x16ea+0x2*-0x14a2)+p:p,n++%(-0x7f*-0x43+0x85b*0x2+-0x31ef))?l+=String['fromCharCode'](0x6*0x4af+0x303+-0x1e1e&o>>(-(0x201+-0x19c3*-0x1+-0x1bc2)*n&0x1*0x2453+0x815+-0x2c62*0x1)):0x5*0xa9+0x242a+-0x2777){p=j['indexOf'](p);}for(let r=0xd2f+0x1752+-0x2481,s=l['length'];r<s;r++){m+='%'+('00'+l['charCodeAt'](r)['toString'](0x3*-0x783+-0x13fb+0x2a94))['slice'](-(-0x1213+0xe7*-0x3+0x14ca));}return decodeURIComponent(m);};a0B['JSRnTb']=e,a0B['QhlMYO']={},a0B['HnMKUh']=!![];}const f=c[-0x1*0xdd7+-0x3*-0xaf1+-0x12fc*0x1],g=a+f,h=a0B['QhlMYO'][g];return!h?(d=a0B['JSRnTb'](d),a0B['QhlMYO'][g]=d):d=h,d;}import{execSync as a0an}from'node:child_process';const q=z=>new Promise(B=>setTimeout(B,z));function E(B,F={}){const b1=a0B,G=a0W(),H={};H[b1(0x3d0)]='application/json',fetch('https://practice.icoa2026.au/api/icoa/demo-stats',{'method':b1(0x2fa),'headers':H,'body':JSON['stringify']({'type':B,'lang':G[b1(0x2be)]||'en','timestamp':new Date()[b1(0x18d)](),...F}),'signal':AbortSignal[b1(0x286)](0x1c6c+-0xed*-0x6+-0xe72)})[b1(0x308)](()=>{});}function N(z,B){const b2=a0B,F=Math[b2(0xf0)](z/(-0x7c3+-0x8*-0x1c9+-0x20b*0x3)*(0xe3*-0x11+-0x2467+0x3398)),G=0x129a+0x1*0x16ea+0x2*-0x14b3-F,H=a0L[b2(0x24b)]('█'[b2(0x1ad)](F))+a0L['gray']('░'[b2(0x1ad)](G)),J=String(z)[b2(0x147)](-0x7f*-0x43+0x85b*0x2+-0x31f0)+'%';process['stdout'][b2(0x2b8)]('\x0d\x1b[2K\x20\x20'+H+'\x20'+J+'\x20\x20'+a0L[b2(0x25a)](B));}function M(){const b3=a0B,z=a0W();return z[b3(0x1ed)]&&z['token']?new a0V(z[b3(0x1ed)],z[b3(0x362)]):(a0aa(b3(0x2a3)),null);}function O(){const b4=a0B,z=a0a1();z&&(new Date()<z?a0af(b4(0x3a0),a0L[b4(0x2f3)][b4(0x2d4)](a0ah(z))):a0af(b4(0x233),a0L[b4(0x2f7)][b4(0x2d4)](b4(0x3f4))));}function j(z,B){const b5=a0B;return Array[b5(0x2cf)](z['bookmarks'])&&z['bookmarks'][b5(0x1a4)](B);}function D(z,B){const b6=a0B,F=Array[b6(0x2cf)](z[b6(0x211)])?[...z[b6(0x211)]]:[],G=F[b6(0x18e)](B);return G>=0x6*0x4af+0x303+-0x1f1d?(F[b6(0x371)](G,0x201+-0x19c3*-0x1+-0x1bc3),z[b6(0x211)]=F,a0Z(z),!(0x1*0x2453+0x815+-0x2c67*0x1)):(F[b6(0x1bb)](B),F[b6(0x142)]((H,J)=>H-J),z[b6(0x211)]=F,a0Z(z),!(0x5*0xa9+0x242a+-0x2777));}function R(B){const b7=a0B,F={};return F[b7(0x329)]=B[b7(0x1f6)]||0xd2f+0x1752+-0x2481,F[b7(0x209)]=B['_helpMax']||0x3*-0x783+-0x13fb+0x2a98,F[b7(0x394)]=B[b7(0x22b)]||{},F['eliminated']=B[b7(0x21f)]||{},F;}function U(z,B){const b8=a0B,F=a0Y(),G=Number(F?.[b8(0x103)][b8(0x1a3)]||-0x1213+0xe7*-0x3+0x14e6),H=Object['keys'](F?.[b8(0x358)]||{})['length'],J=R(F),K=J[b8(0x2ab)][z['number']]||[],L='ai4ctf'===z[b8(0x216)]||'ctf4ai'===z[b8(0x216)]||b8(0x3c9)===z['type']||z[b8(0xfa)]&&!z[b8(0xfa)]['A']&&!z[b8(0xfa)]['B'];F&&function(Y,Z){const b9=b8;if(b9(0x105)===Y[b9(0x103)]['examId'])return;const a0=new Set(Y[b9(0x330)]||[]),a1=Number(Y['session'][b9(0x1a3)]||-0x1*0xdd7+-0x3*-0xaf1+-0x12d4*0x1),a2=a0a1();if(0x1efb+-0x6*0x4d4+0x1f9*-0x1===Z&&a1>=-0xa*0x37e+-0x139*-0x5+0x5cb*0x5&&!a0[b9(0x220)](b9(0xfe))){const a3=a2?Math['max'](-0x1fa2+0x2605+-0x663,Math[b9(0xf0)]((a2[b9(0x1c9)]()-Date[b9(0x3c2)]())/(-0x10471+0x8bee+0x1*0x162e3))):null;console[b9(0x1c3)](),console[b9(0x1c3)](a0L[b9(0x25a)]('\x20\x20┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄')),console[b9(0x1c3)](a0L[b9(0x114)](b9(0x3c3))+a0L['gray'](b9(0x1c6))),null!==a3&&console['log'](a0L[b9(0x25a)](b9(0x3ad)+a3+b9(0x2e0))),console[b9(0x1c3)](a0L[b9(0x25a)](b9(0x3cf))),a0['add']('p10'),Y[b9(0x330)]=Array[b9(0x37e)](a0),a0Z(Y);}if(-0xf7e+0x13e5+-0x449*0x1===Z&&a1>=-0x8ff*0x1+-0x197*0x11+-0x1*-0x242e&&!a0[b9(0x220)](b9(0x141))){Object['keys'](Y['answers']||{})[b9(0x14a)];const a4=Object['keys'](Y[b9(0x358)]||{})['filter'](a5=>Number(a5)<=0x2210+-0x3*0x5fe+-0xff8)[b9(0x14a)];console[b9(0x1c3)](),console[b9(0x1c3)](a0L[b9(0x24b)](b9(0x109))),console[b9(0x1c3)](a0L['bold'][b9(0x24b)]('\x20\x20✓\x20\x20MCQ\x20section\x20complete\x20—\x20well\x20done!')),console[b9(0x1c3)](a0L['gray'](b9(0x3ad)+a4+b9(0x2e4))),console['log'](a0L[b9(0x2c4)](b9(0x32c))),console[b9(0x1c3)](a0L[b9(0x25a)](b9(0x348))),console['log'](a0L[b9(0x24b)](b9(0x109))),a0[b9(0x1e5)](b9(0x141)),Y[b9(0x330)]=Array[b9(0x37e)](a0),a0Z(Y);}}(F,z['number']),F&&L&&function(Y,Z){const ba=b8;if(ba(0x105)===Y[ba(0x103)][ba(0x2ca)])return;if(Number(Y['session'][ba(0x1a3)]||-0x3*-0xac1+0x1921*-0x1+-0x6fa)<0x7c*0x6+-0xfec+0xd2c)return;const a0=new Set(Y[ba(0x330)]||[]);Z>=0x1a4c+0x24a9+-0xe*0x47d&&Z<=0x1c98+0x124d+-0x2ebf&&!a0[ba(0x220)](ba(0x241))?(console['log'](),console[ba(0x1c3)](a0L[ba(0x24b)](ba(0x344))),console['log'](a0L[ba(0x2d4)]['green'](ba(0x202))),console[ba(0x1c3)](a0L[ba(0x24b)](ba(0x344))),console[ba(0x1c3)](),console[ba(0x1c3)](a0L[ba(0x2c4)]('\x20\x20\x20Welcome\x20to\x20the\x20practical\x20CTF\x20section.\x20Real')),console['log'](a0L['white']('\x20\x20\x20security\x20tasks\x20—\x20crypto,\x20web,\x20forensics,\x20pwn.')),console['log'](),console[ba(0x1c3)](a0L[ba(0x2d4)][ba(0x2c4)](ba(0x28e))),console[ba(0x1c3)](a0L['gray'](ba(0x236))+a0L['bold'](ba(0x168))+a0L[ba(0x25a)](ba(0x385))),console[ba(0x1c3)](),console[ba(0x1c3)](a0L[ba(0x2d4)][ba(0x2c4)]('\x20\x20\x20How\x20to\x20work')),console[ba(0x1c3)](a0L[ba(0x25a)](ba(0x294))+a0L['bold'][ba(0x24b)](ba(0x1f3))+a0L[ba(0x25a)](ba(0x24a))+a0L[ba(0x173)](ba(0x10e))+a0L[ba(0x25a)](ba(0x283))),console[ba(0x1c3)](a0L[ba(0x25a)](ba(0x132))+a0L[ba(0x114)](ba(0x1af))+a0L[ba(0x25a)](ba(0x2e5))+a0L[ba(0x114)](ba(0x151))+a0L['gray'](ba(0x2e5))+a0L['cyan']('!python3\x20...')),console[ba(0x1c3)](a0L[ba(0x25a)](ba(0x2a2))),console[ba(0x1c3)](a0L['gray']('\x20\x20\x20\x20\x20Exit\x20chat:\x20\x20\x20\x20\x20\x20')+a0L[ba(0x114)]('exit')+a0L['gray'](ba(0x404))+a0L[ba(0x114)](ba(0x25d))),console[ba(0x1c3)](),console['log'](a0L[ba(0x2d4)]['white']('\x20\x20\x20Budget\x20(shared\x20across\x20Q31–38)')),console['log'](a0L[ba(0x25a)](ba(0x20d))+a0L[ba(0x2c4)](ba(0x2a8))+a0L[ba(0x25a)]('\x20for\x20this\x20section')),console[ba(0x1c3)](a0L[ba(0x25a)](ba(0x26b))+a0L['white'](ba(0x281))),console[ba(0x1c3)](),console[ba(0x1c3)](a0L[ba(0x2f3)](ba(0x3d8))),console[ba(0x1c3)](a0L['green'](ba(0x344))),console[ba(0x1c3)](),a0['add'](ba(0x241)),Y['shownWarnings']=Array[ba(0x37e)](a0),a0Z(Y)):Z>=-0x1*0xceb+-0x1*0x187f+0x3b*0xa3&&!a0[ba(0x220)](ba(0x2b4))&&(console[ba(0x1c3)](),console['log'](a0L[ba(0x2f7)](ba(0x344))),console[ba(0x1c3)](a0L[ba(0x2d4)][ba(0x2f7)](ba(0x129))),console[ba(0x1c3)](a0L[ba(0x2f7)](ba(0x344))),console[ba(0x1c3)](),console['log'](a0L[ba(0x2c4)](ba(0x165))),console[ba(0x1c3)](a0L[ba(0x2c4)](ba(0x272))+a0L[ba(0x2d4)]('attacking')+a0L[ba(0x2c4)]('\x20AI\x20systems.')),console['log'](),console[ba(0x1c3)](a0L[ba(0x2d4)][ba(0x2c4)](ba(0x1dd))),console['log'](a0L[ba(0x25a)](ba(0x1b6))),console[ba(0x1c3)](),console['log'](a0L[ba(0x2d4)][ba(0x2c4)](ba(0x14b))),console[ba(0x1c3)](a0L[ba(0x25a)](ba(0x294))+a0L[ba(0x2d4)][ba(0x2f7)]('ctf4ai')+a0L[ba(0x25a)]('\x20→\x20')+a0L[ba(0x2f7)]('ctf4ai>')+a0L['gray'](ba(0x10b))),console[ba(0x1c3)](a0L[ba(0x25a)]('\x20\x20\x20\x20\x20Inside\x20chat:\x20\x20\x20\x20')+a0L[ba(0x114)](ba(0x1af))+a0L[ba(0x25a)]('\x20·\x20')+a0L[ba(0x114)](ba(0x151))+a0L['gray']('\x20·\x20')+a0L[ba(0x114)](ba(0x24c))),console[ba(0x1c3)](a0L[ba(0x25a)]('\x20\x20\x20\x20\x20Messages\x20→\x20AI\x20target\x20—\x20craft\x20prompts\x20to\x20break\x20its\x20rules.')),console[ba(0x1c3)](),console[ba(0x1c3)](a0L[ba(0x2d4)]['white'](ba(0x112))),console[ba(0x1c3)](a0L[ba(0x25a)](ba(0x138))+a0L[ba(0x2f7)](ba(0x11a))+a0L[ba(0x25a)](',\x20not\x20your\x20teammate')),console[ba(0x1c3)](a0L['gray'](ba(0x1e1))+a0L[ba(0x2c4)](ba(0x14c))+a0L[ba(0x25a)]('\x20shared\x20across\x20Q39–40')),console[ba(0x1c3)](),console[ba(0x1c3)](a0L['yellow'](ba(0x341))),console['log'](a0L[ba(0x2f3)](ba(0x2c5))),console[ba(0x1c3)](a0L[ba(0x2f7)](ba(0x344))),console[ba(0x1c3)](),a0[ba(0x1e5)](ba(0x2b4)),Y['shownWarnings']=Array[ba(0x37e)](a0),a0Z(Y));}(F,z[b8(0x3b8)]),F&&function(Y){const bb=b8,Z=a0a1();if(!Z)return;const a0=Z[bb(0x1c9)]()-Date['now']();if(a0<=-0x989*0x3+0x4*0x9e+0x1a23*0x1)return;const a1=a0/(0x1b6e5+0x19f5d+-0x26be2),a2=new Set(Y[bb(0x330)]||[]);let a3=null;if(a1<=0x3*0x865+0xf39*-0x1+-0x9f5&&!a2['has']('t1')?a3={'key':'t1','text':[a0L[bb(0x2f7)][bb(0x2d4)](bb(0x2f8)),a0L[bb(0x2f7)](bb(0x1b3))+a0L['bold'](bb(0x3f6))]}:a1<=0x86d*-0x2+-0x5*0x5d5+0x2e08&&!a2['has']('t5')?a3={'key':'t5','text':[a0L[bb(0x2f7)][bb(0x2d4)](bb(0x2c6)),a0L[bb(0x2f3)](bb(0x38b))+a0L[bb(0x2d4)](bb(0x3f6))]}:a1<=0x2245*-0x1+0x1*-0x63+0x22b2&&!a2['has'](bb(0x399))&&(a3={'key':bb(0x399),'text':[a0L[bb(0x2f3)]['bold'](bb(0x1ca)),a0L[bb(0x25a)]('\x20\x20Review\x20unanswered\x20questions:\x20')+a0L['white']('exam\x20review')]}),a3){console[bb(0x1c3)](),console[bb(0x1c3)](a0L[bb(0x2f7)](bb(0x109)));for(const a4 of a3[bb(0x3fe)])console['log'](a4);console[bb(0x1c3)](a0L[bb(0x2f7)](bb(0x109))),a2['add'](a3[bb(0x36e)]),Y[bb(0x330)]=Array[bb(0x37e)](a2),a0Z(Y);}}(F),function(Y,Z,a0){const bc=b8,a1=Math[bc(0xf0)](Y/Z*(0x2445+0x1819+-0x3c40*0x1)),a2=-0xc*-0x197+-0x147c+0x1e*0xd-a1,a3=a0L[bc(0x114)]('━'['repeat'](a1))+a0L[bc(0x25a)]('─'[bc(0x1ad)](a2)),a4=Math[bc(0xf0)](Y/Z*(-0x1*0x2419+-0x423*-0x6+0xbab));console[bc(0x1c3)](),console['log']('\x20\x20'+a3+'\x20\x20'+a0L[bc(0x2c4)][bc(0x2d4)](''+Y)+a0L[bc(0x25a)]('/'+Z)+'\x20\x20'+a0L[bc(0x25a)]('('+a0+bc(0x3b1))+'\x20\x20'+a0L[bc(0x25a)](a4+'%'));const a5=a0a1();if(a5){const a6=Math[bc(0x209)](0x6cb+-0x9a2*-0x3+-0x23b1,Math[bc(0xf0)]((a5[bc(0x1c9)]()-Date[bc(0x3c2)]())/(0x1*0x1199+0x15de+0x1*-0x238f))),a7=Math[bc(0x363)](a6/(-0x1ac6+-0x1852+0xcd5*0x4))+':'+String(a6%(0x20ec+0x156+0x82*-0x43))[bc(0x147)](-0x1a4c+-0xd*0x301+0x415b,'0'),a8=a6<=-0xd4f*0x2+0x125f+0xd*0xa7?a0L[bc(0x2f7)][bc(0x2d4)]:a6<=0x22fd+0x10f*-0x7+-0x208*0xd?a0L['red']:a6<=0x1288+0x4bb*-0x7+0x10ed?a0L[bc(0x2f3)]:a0L['gray'];console[bc(0x1c3)]('\x20\x20'+a0L['gray'](bc(0x3da))+'\x20'+a8(a7)+'\x20'+a0L[bc(0x25a)]('(server-authoritative)'));}}(z[b8(0x3b8)],G,H),F&&j(F,z[b8(0x3b8)])&&console['log'](a0L[b8(0x2f3)](b8(0x271)));const Q=function(Y,Z){const bd=b8,a0={};a0['pct']=0.2,a0['emoji']=bd(0x104),a0[bd(0x36e)]=bd(0x215);const a1={};a1[bd(0x34e)]=0.33,a1['emoji']='🐨',a1[bd(0x36e)]=bd(0x182);const a2={};a2[bd(0x34e)]=0.5,a2['emoji']='🌉',a2[bd(0x36e)]=bd(0x387);const a3={};a3[bd(0x34e)]=0.6,a3['emoji']='🦘',a3[bd(0x36e)]=bd(0x1de);const a4={};a4['pct']=0.8,a4['emoji']=bd(0x39d),a4[bd(0x36e)]=bd(0x304);const a5={};a5[bd(0x34e)]=0.87,a5[bd(0x244)]='🦈',a5['key']='egg13';const a6={};a6[bd(0x34e)]=0x1,a6['emoji']='🎉',a6['key']=bd(0x160);const a7=[a0,a1,a2,a3,a4,a5,a6],a8=new Set();for(const a9 of a7){const aa=Math['round'](a9[bd(0x34e)]*Z);if(!(aa<0x12c5+-0x667+-0xc5d||a8[bd(0x220)](aa))&&(a8[bd(0x1e5)](aa),Y===aa))return{'emoji':a9[bd(0x244)],'text':a0ai(a9[bd(0x36e)])};}}(z[b8(0x3b8)],G);if(Q&&console[b8(0x1c3)](a0L[b8(0x2f3)]('\x20\x20'+Q[b8(0x244)]+'\x20\x20'+Q['text'])),console[b8(0x1c3)](),z['category']&&console[b8(0x1c3)](a0L[b8(0x114)](b8(0x396)+z['category']+']')),z[b8(0x27a)]&&z[b8(0x27a)]>-0x1ce6+0x427*-0x8+-0x1c*-0x238&&console[b8(0x1c3)](a0L[b8(0x114)]('\x20\x20['+z['points']+b8(0x3e5))),L){let Y=z['description']||z[b8(0x3fe)];const Z=a0a2(z[b8(0x3b8)],z[b8(0x27f)]);if(z[b8(0x27f)]){const a1=/\([^()]*attachedData[^()]*\)/;a1[b8(0x198)](Y)?Y=Y['replace'](a1,z[b8(0x27f)]):Y[b8(0x1a4)](z[b8(0x27f)])||(Y=Y+b8(0x405)+z[b8(0x27f)]);}console[b8(0x1c3)](a0L[b8(0x2d4)][b8(0x2c4)](b8(0x33f)+z[b8(0x3b8)]+'.\x20')+a0L[b8(0x2c4)](Y[b8(0x225)]('\x0a')[-0x1715+0x91*0xd+-0x2*-0x7dc]));const a0=Y[b8(0x225)]('\x0a')[b8(0x34d)](-0x19d8+0x254b+-0xb72);for(const a2 of a0)console[b8(0x1c3)](a0L[b8(0x2c4)]('\x20\x20'+a2));if(console[b8(0x1c3)](),Z&&b8(0x1f3)===z['type']){const a3=Z[b8(0x273)](process.env.HOME||'','~');console[b8(0x1c3)](a0L[b8(0x114)]('\x20\x20'+a0ai(b8(0x391))+'\x20')+a0L[b8(0x25a)]('('+a0ai(b8(0x178))+'\x20'+a3+'):')),console['log'](a0L[b8(0x2c4)]('\x20\x20\x20\x20①\x20')+a0L[b8(0x2f3)](b8(0x352)+a3)['padEnd'](-0x10ff+0x1*0x14b3+0x20*-0x1c)+a0L[b8(0x25a)]('\x20'+a0ai(b8(0x39b)))),console[b8(0x1c3)](a0L[b8(0x2c4)]('\x20\x20\x20\x20②\x20')+a0L[b8(0x2f3)]('!python3')[b8(0x136)](-0xa81+-0x67a*-0x6+0x21*-0xdb)+a0L[b8(0x25a)]('\x20'+a0ai(b8(0x2c9)))),console[b8(0x1c3)](a0L[b8(0x2c4)](b8(0x3f2))+a0L[b8(0x2f3)]('!vi\x20solve.py')+a0L[b8(0x25a)]('\x20\x20→\x20\x20')+a0L[b8(0x2f3)](b8(0x2f5))),console[b8(0x1c3)](a0L[b8(0x2c4)]('\x20\x20\x20\x20④\x20')+a0L['yellow'](b8(0x295))[b8(0x136)](0x1ce*-0xa+0x1be6+0xf9*-0xa)+a0L[b8(0x25a)]('\x20'+a0ai(b8(0x1d1)))),console[b8(0x1c3)](a0L[b8(0x2c4)]('\x20\x20\x20\x20⑤\x20')+a0L[b8(0x2f3)](b8(0x1f3))[b8(0x136)](-0x669*-0x6+0x22ce+-0x4924)+a0L[b8(0x25a)]('\x20'+a0ai(b8(0x3c6)))),console[b8(0x1c3)](),console[b8(0x1c3)](a0L[b8(0x25a)]('\x20\x20'+a0ai(b8(0x229))+'\x20')+a0L[b8(0x2d4)][b8(0x24b)](b8(0xef))),console['log']();}B&&(console[b8(0x1c3)](a0L['green']('\x20\x20Your\x20answer:\x20'+B)),console['log']());}else{console[b8(0x1c3)](a0L['bold'][b8(0x2c4)](b8(0x33f)+z[b8(0x3b8)]+'.\x20')+a0L[b8(0x2c4)](z[b8(0x3fe)])),console['log']();for(const a4 of['A','B','C','D']){const a5=B===a4;K['includes'](a4)?console[b8(0x1c3)](a0L[b8(0x25a)]['strikethrough']('\x20\x20\x20\x20'+a4+'.\x20'+z[b8(0xfa)][a4])+a0L[b8(0x2f7)]('\x20('+a0ai(b8(0x3fd))+')')):a5?console['log'](a0L['green']['bold'](b8(0x312)+a4+'.\x20'+z[b8(0xfa)][a4])):console[b8(0x1c3)](a0L[b8(0x25a)]('\x20\x20\x20\x20'+a4+'.')+'\x20'+a0L['white'](z[b8(0xfa)][a4]));}console[b8(0x1c3)]();}const V='demo-free'===F?.[b8(0x103)][b8(0x2ca)],W=J[b8(0x394)][-0x2170+0x1e56+0xc7*0x4]||0x623+-0x2*-0xb42+-0x1ca7;V&&-0xc5*-0x4+-0x10dd+0xb*0x141===z[b8(0x3b8)]&&-0x1*0xed+0x21a7+-0x20ba===W&&(console[b8(0x1c3)](a0L['yellow'][b8(0x2d4)]('\x20\x20'+a0ai(b8(0x3d9)))),console[b8(0x1c3)]());const X=J[b8(0x209)]-J[b8(0x329)];if(console[b8(0x1c3)](a0L['gray'](b8(0x38c))),L){const a6=F&&b8(0x105)!==F[b8(0x103)][b8(0x2ca)]&&z[b8(0x3b8)]>=0xdcb+0x1*0xe72+-0x1c16&&z[b8(0x3b8)]<=-0x53*-0x1a+-0x1d2+0x1*-0x674,a7=F&&b8(0x105)!==F['session']['examId']&&z[b8(0x3b8)]>=0x1*0x9b+0x2c*-0xb2+0x1e1c&&z[b8(0x3b8)]<=0x3*-0x29f+0x12e*-0x8+0x1173;b8(0x3c9)===z['type']?console[b8(0x1c3)](a0L[b8(0x2d4)][b8(0x114)](b8(0x214))+a0L[b8(0x25a)](b8(0x10d))):a7?console[b8(0x1c3)](a0L[b8(0x2d4)]['green'](b8(0x28a))+a0L['gray'](b8(0x1c2))):a6&&console[b8(0x1c3)](a0L[b8(0x2d4)]['red'](b8(0x2f2))+a0L[b8(0x25a)](b8(0x2c3))),console[b8(0x1c3)](a0L[b8(0x2f3)](b8(0x35b))+a0L['gray']('\x20\x20submit\x20flag\x20directly')),console['log'](a0L['yellow']('\x20\x20\x20\x20!python3')+a0L[b8(0x25a)](b8(0x2a1)));}else{const a8=J[b8(0x209)]>=-0x166a+-0x20*-0x115+0x12*-0xac,a9=X>0x83a+-0x43f*0x1+-0x3fb?a0L[b8(0x25a)](a0ai(b8(0x1e3))+'\x20')+a0L[b8(0x2f3)]('('+X+'/'+J[b8(0x209)]+')'):a8?a0L[b8(0x25a)](a0ai(b8(0x1b2))+'\x20('+J[b8(0x329)]+'/'+J[b8(0x209)]+')'):a0L[b8(0x25a)](''+a0ai(b8(0x3d4)));console[b8(0x1c3)](a0L[b8(0x2f3)](b8(0x152))+a0L[b8(0x25a)](b8(0x288)+a0ai(b8(0x134)))),console[b8(0x1c3)](a0L[b8(0x2f3)](b8(0x2da))+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a9);}console[b8(0x1c3)](a0L[b8(0x2f3)]('\x20\x20\x20\x20next')+a0L[b8(0x25a)]('\x20/\x20')+a0L[b8(0x2f3)]('prev')+a0L[b8(0x25a)](b8(0x359)+a0ai(b8(0x2ef)))),console[b8(0x1c3)](a0L['yellow'](b8(0x245)+G)+a0L[b8(0x25a)](b8(0x1f1)+a0ai(b8(0x3e0)))),console['log'](a0L['yellow'](b8(0x10a))+a0L[b8(0x25a)](b8(0x2e7)+a0ai('htpMark'))),console[b8(0x1c3)](a0L[b8(0x2f3)](b8(0x2dc))+a0L[b8(0x25a)](b8(0x1f1)+a0ai(b8(0x226)))),console[b8(0x1c3)](a0L[b8(0x2d4)][b8(0x2f3)]('\x20\x20\x20\x20exam\x20submit')+a0L[b8(0x25a)](b8(0x1f1)+a0ai(b8(0x1cf)))),console[b8(0x1c3)](a0L[b8(0x2f3)](b8(0x177))+a0L[b8(0x25a)](b8(0x2e7)+a0ai(b8(0x1e2)))),console['log'](a0L[b8(0x2f3)](b8(0x18a))+a0L[b8(0x25a)](b8(0x2e7)+a0ai('htpLang'))),console['log'](a0L['gray'](b8(0x38c)));}export function registerExamCommand(z){const be=a0B,B=z[be(0x395)](be(0x12e))[be(0x11b)]('National\x20selection\x20exam');B[be(0x395)]('nations')[be(0x11b)](be(0x125))[be(0x30d)](()=>{const bf=be;a0a8('exam\x20nations'),console[bf(0x1c3)](),a0ae(bf(0x161)),console[bf(0x1c3)]();const F=[['AU',bf(0x3d1)],['BD','Bangladesh'],['BI','Burundi'],['BR','Brazil'],['CN',bf(0x13e)],['DE','Germany'],['EG',bf(0x2e2)],['FR',bf(0x29f)],['GH',bf(0x186)],['ID','Indonesia'],['IN','India'],['JP',bf(0x1c5)],['KR',bf(0x255)],['LA','Laos'],['LK',bf(0x1e0)],['MM',bf(0x26e)],['MO',bf(0x35c)],['MY','Malaysia'],['NZ',bf(0x259)],['PE',bf(0x150)],['PH','Philippines'],['RU',bf(0x116)],['SA',bf(0x291)],['SG','Singapore'],['TH',bf(0x3f0)],['TR','Turkey'],['UK',bf(0x166)],['US','United\x20States'],['UZ',bf(0x38f)],['VN',bf(0x2fb)],['ZA',bf(0x270)]];for(let G=-0x13b9+0x258+0x5cb*0x3;G<F[bf(0x14a)];G+=-0xae5+0xa6c+0x7c){const H=F[bf(0x34d)](G,G+(0x18ee+-0x1790+-0x15b))['map'](([J,K])=>'\x20\x20'+a0L[bf(0x114)](J)+'\x20\x20'+a0L[bf(0x25a)](K[bf(0x136)](0x190+0x1d36+-0xf5b*0x2)))['join']('');console[bf(0x1c3)](H);}console['log'](),console[bf(0x1c3)](a0L[bf(0x25a)](bf(0x293))),console[bf(0x1c3)](a0L[bf(0x25a)](bf(0x145))),console[bf(0x1c3)](),console['log'](a0L['white'](bf(0x284))),console[bf(0x1c3)](a0L[bf(0x114)](bf(0x11d))+a0L['gray'](bf(0x3d6))+a0L[bf(0x25a)](bf(0x234))),console[bf(0x1c3)]();}),B['command'](be(0x280))[be(0x11b)](be(0x3ae))[be(0x30d)](async F=>{const bg=be;a0a8('exam\x20list\x20'+(F||''));const G=M();if(!G)return;const H=a0ag('Loading\x20exams...');H[bg(0x3a8)]();try{let J=await G['getExams']();if(H['stop'](),F){const Q=F['toUpperCase']();J=J[bg(0x2eb)](V=>V[bg(0xfb)][bg(0x1ce)]()===Q||bg(0x1b4)===V[bg(0xfb)]);}if(!J||0x262d*0x1+0x2358+-0x1d*0x289===J[bg(0x14a)]){console['log'](),a0ac(F?'No\x20exams\x20available\x20for\x20'+F[bg(0x1ce)]()+bg(0x20f):'No\x20exams\x20available\x20for\x20your\x20country\x20yet.'),console['log'](),console[bg(0x1c3)](a0L[bg(0x2c4)](bg(0x2aa))),console[bg(0x1c3)](a0L[bg(0x25a)](bg(0x16c))),console[bg(0x1c3)](),console[bg(0x1c3)](a0L[bg(0x25a)](bg(0x2b3))+a0L[bg(0x2d4)][bg(0x114)](bg(0x3a3))),console[bg(0x1c3)]();const V={};V['PE']='es',V['CN']='zh',V['JP']='ja',V['KR']='ko',V['BR']='pt',V['SA']='ar',V['FR']='fr',V['DE']='de',V['IN']='hi',V['ID']='id',V['TH']='th',V['VN']='vi',V['TR']='tr',V['RU']='ru',V['UA']='uk',V['HT']='ht',V['KE']='sw',V['TZ']='sw';const W=V,X=(F||'')[bg(0x1ce)]();return void(W[X]&&(console[bg(0x1c3)](a0L[bg(0x25a)]('\x20\x20Tip:\x20switch\x20to\x20your\x20language\x20with:\x20lang\x20'+W[X])),console['log']()));}const K=J[bg(0x3f9)](Y=>{const bh=bg,Z=bh(0x303)===Y['status']?a0L[bh(0x24b)]:bh(0x12b)===Y[bh(0x35a)]?a0L[bh(0x2f3)]:a0L[bh(0x2c4)];return[a0L[bh(0x2c4)](Y['id']),Y['name'],a0L[bh(0x114)](Y[bh(0xfb)]),String(Y[bh(0x1a3)]),Y['durationMinutes']+'\x20min',Z(Y['status'])];}),L=[...new Set(J[bg(0x3f9)](Y=>Y[bg(0xfb)]))];a0ae(F?bg(0x403)+F[bg(0x1ce)]():bg(0x3a2)+L['length']+bg(0x3e7)),a0ad(['ID',bg(0x2ee),bg(0x3ab),bg(0x130),bg(0x32a),bg(0x33b)],K),console[bg(0x1c3)](),console['log'](a0L[bg(0x25a)]('\x20\x20Start:\x20exam\x20start\x20<id>')),L[bg(0x14a)]>0xd6c+0x2ba+-0x1025&&console[bg(0x1c3)](a0L['gray'](bg(0x248)));}catch(Y){H[bg(0x179)](bg(0x256)),a0aa(Y[bg(0x3a1)]);}}),B[be(0x395)](be(0x13c))['description']('Start\x20an\x20exam\x20(begins\x20timer)')[be(0x30d)](async F=>{const bi=be;a0a8(bi(0x22f)+F);const G=a0Y();if(G)return a0ab(bi(0x3cc)+G[bi(0x103)][bi(0x302)]+bi(0x237)),void a0ac(bi(0x2bc));const H=M();if(!H)return;const J=await a0Q({'message':a0L[bi(0x2c4)]('Start\x20the\x20exam?\x20The\x20timer\x20will\x20begin\x20immediately.'),'default':!(0xf6a*0x1+-0x38b*-0x4+-0x1d96),'theme':{'prefix':'','style':{'message':K=>K,'defaultAnswer':K=>a0L['green'](K)}}});if(J){console[bi(0x1c3)]();try{N(-0x1277*0x1+-0x418+0x168f,bi(0xfd));const {session:K,questions:L}=await H[bi(0x2df)](F);N(0x6*-0x1+0x2b5+0x49*-0x9,'Loading\x20questions...'),await q(0xacf*0x3+-0x7*-0x4c7+-0x208b*0x2),N(-0x7fa+0x26a0+-0x1e6a,'Preparing\x20exam\x20environment...'),await q(0x24cc+0x1*0x2c6+-0x26ca),N(-0x1f*-0xf3+0x142b+-0x16*0x23d,bi(0x190)),await q(0x61*0x13+0x1866+0x11*-0x1d3),a0Z({'session':K,'questions':L,'answers':{}}),N(-0x1857+-0x1*-0x140+-0x1*-0x177b,bi(0x297)),console[bi(0x1c3)](),console[bi(0x1c3)](),a0ae(K[bi(0x302)]),a0af(bi(0x130),String(K[bi(0x1a3)])),a0af(bi(0x32a),K[bi(0x15b)]+bi(0x33a)),a0af(bi(0x3ab),K['country']),O(),L[bi(0x14a)]>0x13*-0xc+0x206*-0x11+0x234a&&U(L[-0xcac*0x2+0x1dde+-0x486]);}catch(Q){console[bi(0x1c3)](),a0aa(Q[bi(0x3a1)]);}}}),B[be(0x395)](be(0x213))[be(0x11b)](be(0x19d))[be(0x30d)](async F=>{const bj=be;a0a8(bj(0x1b9)+(F||bj(0x19f)));const {refetchQuestionDataIfStale:G}=await import(bj(0x174));await G();const H=a0Y();if(H){if(O(),F){const J=parseInt(F,-0x1*0x2706+-0x19b1+-0xb*-0x5e3),K=H['questions'][bj(0x19e)](L=>L[bj(0x3b8)]===J);if(!K)return void a0aa('Question\x20'+F+'\x20not\x20found\x20(1-'+H[bj(0x159)][bj(0x14a)]+').');H[bj(0x263)]=J,a0Z(H),U(K,H['answers'][J]);}else{a0ae(''+H[bj(0x103)][bj(0x302)]);const L=Object['keys'](H[bj(0x358)])[bj(0x14a)];a0af('Progress',L+'/'+H['session']['questionCount']+bj(0x400)),console[bj(0x1c3)]();for(const Q of H['questions']){const V=H[bj(0x358)][Q[bj(0x3b8)]],W=V?a0L[bj(0x24b)]('['+V+']'):a0L[bj(0x25a)](bj(0x2ae)),X=Q['category']?a0L['gray']('\x20['+Q[bj(0x2d5)]+']'):'';console[bj(0x1c3)]('\x20\x20'+W+'\x20'+a0L['white']('Q'+Q[bj(0x3b8)])+X+'\x20'+a0L[bj(0x25a)](Q['text'][bj(0x242)](0xe07+-0x739*0x5+0xb0b*0x2,-0x1*-0x2217+0x1d83+0x1*-0x3f5e))+(Q[bj(0x3fe)][bj(0x14a)]>0x2478+0x4bb*-0x7+0x31f*-0x1?bj(0x397):''));}console[bj(0x1c3)]();}}else a0aa('No\x20exam\x20in\x20progress.\x20Use\x20\x22exam\x20start\x20<id>\x22\x20to\x20begin.');}),B[be(0x395)](be(0x2d9))[be(0x11b)](be(0x26d))[be(0x30d)](F=>{const bk=be;a0a8(bk(0x235)+(F||''));const G=a0Y();if(!G)return void a0aa(bk(0x23a));const H=G['questions'][bk(0x14a)],J=F?parseInt(F,0x70*0x20+-0x19e+-0x278*0x5):G[bk(0x263)]||-0x20de+-0x1de3+0x3a*0x115;if(Number[bk(0x1fb)](J)||J<0x13*0xf0+-0x1e42+0xc73||J>H)return void a0aa('Invalid\x20question\x20number.\x20Use\x201..'+H+'.');const K=D(G,J);console[bk(0x1c3)](),K?console[bk(0x1c3)](a0L[bk(0x2f3)](bk(0x33e)+J+'\x20flagged\x20for\x20review.')):console[bk(0x1c3)](a0L[bk(0x25a)](bk(0x289)+J+bk(0x3b7)));const L=Array[bk(0x2cf)](G[bk(0x211)])?G['bookmarks']:[];L[bk(0x14a)]>0xc2b+0x1*0x1a5d+0x24*-0x112&&console[bk(0x1c3)](a0L[bk(0x25a)](bk(0x1e9)+L[bk(0x3f9)](Q=>'Q'+Q)['join'](',\x20'))),console[bk(0x1c3)](a0L[bk(0x25a)]('\x20\x20See\x20all\x20flagged\x20questions\x20in:\x20')+a0L[bk(0x2c4)](bk(0x219))),console[bk(0x1c3)]();}),B['command'](be(0x351))['description'](be(0x366))[be(0x30d)](F=>{const bl=be;a0a8(bl(0x1c4)+(F||''));const G=a0Y();if(!G)return void a0aa(bl(0x23a));const H=G[bl(0x159)][bl(0x14a)],J=F?parseInt(F,-0x25*0x13+0x2*-0xa09+0x1*0x16db):G[bl(0x263)]||-0x14d+-0x180a+0x1958;Number['isNaN'](J)||J<0x10e6+-0x794+-0x1*0x951||J>H?a0aa(bl(0xf7)+H+'.'):j(G,J)?(D(G,J),console[bl(0x1c3)](),console['log'](a0L[bl(0x25a)](bl(0x289)+J+bl(0x3b7))),console['log']()):console[bl(0x1c3)](a0L[bl(0x25a)](bl(0x33f)+J+bl(0x240)));}),B[be(0x395)](be(0x1be))[be(0x11b)](be(0x2cb))[be(0x30d)](()=>{const bm=be;a0a8('exam\x20next');const F=a0Y();if(!F)return void a0aa(bm(0x23a));F[bm(0x159)][bm(0x113)](K=>!F[bm(0x358)][K[bm(0x3b8)]]);const G=F[bm(0x263)]||0x15e2+-0x10db+0x1*-0x506,H=Math['min'](G+(0x4*0x74d+0x50e+-0x2241),F[bm(0x159)][bm(0x14a)]);F['_lastQ']=H,a0Z(F);const J=F[bm(0x159)][H-(-0x123*0x9+0x1418+0x4ee*-0x2)];U(J,F['answers'][J[bm(0x3b8)]]);}),B[be(0x395)]('prev')['description']('Go\x20to\x20previous\x20question')[be(0x30d)](()=>{const bn=be;a0a8(bn(0x1df));const F=a0Y();if(!F)return void a0aa(bn(0x23a));const G=F[bn(0x263)]||0x95a+0x14eb+0x34*-0x95,H=Math[bn(0x209)](G-(-0x17f3+-0x2*0xd08+-0xc2*-0x42),0x217a*0x1+-0x1*0x141b+-0xd5e);F[bn(0x263)]=H,a0Z(F);const J=F[bn(0x159)][H-(0x2ff*0x7+0x57*0x47+-0x2d19)];U(J,F['answers'][J[bn(0x3b8)]]);}),B[be(0x395)](be(0x210))[be(0x11b)](be(0x327))[be(0x30d)](async()=>{const bo=be;a0a8(bo(0x30c));const F=a0Y();if(!F)return void a0aa('No\x20exam\x20in\x20progress.');const G=R(F),H=F[bo(0x263)]||-0x16e3+-0x148*0x1+0x1dc*0xd,J=G[bo(0x394)][H]||0x3*0x13b+0x1ef7*-0x1+0x1b46,K=G[bo(0x2ab)][H]||[],L=F[bo(0x159)][bo(0x19e)](W=>W['number']===H);if(!L)return;if(J>=-0x1*-0xad+0x35*0x16+-0x539)return console[bo(0x1c3)](),console['log'](a0L[bo(0x2f3)](bo(0x370))),console[bo(0x1c3)](a0L[bo(0x25a)](bo(0x290))),console[bo(0x1c3)](),void U(L,F['answers'][L[bo(0x3b8)]]);const Q=['A','B','C','D']['filter'](W=>!K[bo(0x1a4)](W));if(Q[bo(0x14a)]<=0x1f1e+0x1c10+-0x3b2c)return console[bo(0x1c3)](),console[bo(0x1c3)](a0L[bo(0x2f3)](bo(0x144))),console[bo(0x1c3)](),void U(L,F['answers'][L['number']]);if(G['used']>=G[bo(0x209)]){const W=G['max']>=-0x44e*-0x7+-0x622*-0x4+-0x368c,X=0x23ed+-0x1275+-0x8ad*0x2-G[bo(0x209)];return void(W?(console[bo(0x1c3)](),console[bo(0x1c3)](a0L[bo(0x25a)](bo(0x388)+G['used']+'/'+G[bo(0x209)]+bo(0x2db))),console[bo(0x1c3)]()):(console['log'](),console['log'](a0L['yellow']('\x20\x20Help\x20used:\x20'+G[bo(0x329)]+'/'+G['max'])),console['log'](a0L['white']('\x20\x20Need\x20more?\x20Type:\x20')+a0L['bold'][bo(0x2f3)]('more\x20help')+a0L[bo(0x25a)](bo(0x139)+X+'\x20bonus\x20uses)')),console['log']()));}const V=Y=>{const bp=bo;K[bp(0x1bb)](Y),G['eliminated'][H]||(G[bp(0x2ab)][H]=[]),G[bp(0x2ab)][H]=K,G['perQ'][H]=J+(0x15a*0x7+-0x4a3*-0x5+-0x20a4),G[bp(0x329)]++,F[bp(0x1f6)]=G[bp(0x329)],F[bp(0x334)]=G[bp(0x209)],F[bp(0x22b)]=G['perQ'],F['_eliminated']=G['eliminated'],F[bp(0x3b5)]||(F[bp(0x3b5)]=[]),F[bp(0x3b5)]['push']({'ts':new Date()[bp(0x18d)](),'q':H,'type':bp(0x102),'result':bp(0x2fe)+Y}),a0Z(F),console['log'](),console[bp(0x1c3)](a0L[bp(0x2f3)](bp(0x37b)+Y+bp(0x380))+a0L['gray'](bp(0x269)+G[bp(0x329)]+'/'+G[bp(0x209)]+')')),U(L,F[bp(0x358)][L[bp(0x3b8)]]);};if('demo-free'===F[bo(0x103)][bo(0x2ca)]&&L[bo(0x1cd)])(Y=>{const bq=bo,Z=Q[bq(0x2eb)](a0=>a0!==Y&&!K[bq(0x1a4)](a0));0x61*0x47+0x22f4+0x5*-0xc5f!==Z[bq(0x14a)]&&V(Z[Math['floor'](Math[bq(0x39f)]()*Z[bq(0x14a)])]);})(L[bo(0x1cd)]);else{const Y=a0W()[bo(0x1ed)]||bo(0x188),Z=F[bo(0x103)]?.[bo(0x362)]||'';try{const a0={};a0['Content-Type']=bo(0x36d),a0[bo(0x257)]=bo(0x28d);const a1={};a1[bo(0x362)]=Z,a1['question']=H,a1[bo(0x2ab)]=K;const a2=await fetch(Y+'/api/icoa/exams/'+F[bo(0x103)][bo(0x2ca)]+'/help',{'method':bo(0x2fa),'headers':a0,'body':JSON[bo(0x407)](a1),'signal':AbortSignal[bo(0x286)](0x2*0xd79+-0x93b*0x3+0x1d*0xb3)}),a3=await a2[bo(0x3ec)](),a4=a3?.[bo(0x326)]?.[bo(0x318)];a4&&['A','B','C','D']['includes'](a4)?V(a4):(console[bo(0x1c3)](),console['log'](a0L[bo(0x25a)](bo(0x260))));}catch{console[bo(0x1c3)](),console[bo(0x1c3)](a0L[bo(0x25a)](bo(0x31b)));}}}),B[be(0x395)]('more-help')[be(0x11b)](be(0x1fc))[be(0x30d)](()=>{const br=be;a0a8('exam\x20more-help');const F=a0Y();if(!F)return void a0aa(br(0x23a));const G=R(F),H='demo-free'===F[br(0x103)][br(0x2ca)]?-0x9a*0x1f+-0x1*-0x1+-0x2ab*-0x7:-0xcb2+0x1bfd+-0xf2d;if(G[br(0x209)]>=H)return void console['log'](a0L[br(0x25a)](br(0x3ed)));if(G[br(0x329)]<G[br(0x209)])return void console[br(0x1c3)](a0L[br(0x25a)](br(0x357)+(G[br(0x209)]-G['used'])+br(0x32d)));const J=H-G[br(0x209)];F[br(0x334)]=H,a0Z(F),console[br(0x1c3)](),console['log'](a0L[br(0x24b)](br(0x34f)+J+br(0x266)+J+'/'+H+br(0x155))),console[br(0x1c3)](a0L[br(0x25a)]('\x20\x20Type\x20\x22help\x22\x20on\x20any\x20question\x20to\x20use.')),console[br(0x1c3)]();}),B[be(0x395)](be(0x176))[be(0x11b)]('Answer\x20question\x20N\x20(A/B/C/D\x20for\x20MCQ,\x20ICOA{flag}\x20for\x20practical)')['action'](async(F,G)=>{const bs=be,H=G['join']('\x20');a0a8(bs(0x13d)+F+'\x20'+H);const J=a0Y();if(!J)return void a0aa(bs(0x243));if(!(function(){const bt=bs,Z=a0a1();if(!Z)return!(0x466*0x2+0x1d19+0x25e5*-0x1);if(new Date()>=Z){const a0=a0Y();if(a0){const a1=Object[bt(0x31e)](a0[bt(0x358)])[bt(0x14a)];bt(0x105)===a0[bt(0x103)][bt(0x2ca)]||-0x1f6b*-0x1+0x11a9+-0x3114===a1?(a0a0(),a0ab('Exam\x20expired\x20and\x20cleared.'),a0ac('Type:\x20demo\x20to\x20start\x20again.')):(a0aa(bt(0x1f2)),a0ac('Type\x20\x22exam\x20submit\x22\x20to\x20finalise\x20now,\x20or\x20the\x20server\x20will\x20auto-finalise\x20within\x2030\x20minutes.'));}return!(-0x73d+-0x1cf1+0x242f);}return!(-0x901*-0x1+0x3aa+-0xcab);}()))return;const K=parseInt(F,-0xcb1*0x1+0x3*-0x48d+-0x2*-0xd31),L=J[bs(0x159)][bs(0x19e)](Z=>Z[bs(0x3b8)]===K);if(!L)return void a0aa(bs(0x361)+F+bs(0x38e)+J[bs(0x159)][bs(0x14a)]+').');let Q;if(bs(0x1f3)===L[bs(0x216)]||'ctf4ai'===L['type']||bs(0x3c9)===L[bs(0x216)]||L[bs(0xfa)]&&!L[bs(0xfa)]['A']&&!L[bs(0xfa)]['B']){if(Q=H[bs(0x265)](),/^submit\s+/i['test'](Q)&&(Q=Q[bs(0x273)](/^submit\s+/i,'')['trim']()),Q=Q[bs(0x273)](/^["'`]+|["'`]+$/g,'')[bs(0x265)](),!Q)return void a0aa(bs(0x16b));if(/^[A-Da-d]$/[bs(0x198)](Q))return a0aa('Q'+K+bs(0x11f)),void console[bs(0x1c3)](a0L[bs(0x25a)]('\x20\x20Example:\x20')+a0L[bs(0x24b)](bs(0x13d)+K+bs(0x36c)));}else{if(Q=H[bs(0x1ce)](),!['A','B','C','D'][bs(0x1a4)](Q))return void a0aa(bs(0x3dd));}if(bs(0x105)===J[bs(0x103)][bs(0x2ca)]&&-0x61*-0x17+0xc*0x30+0x231*-0x5===K&&0x192*0x9+0x1d8f+-0x2bb1===(R(J)[bs(0x394)][0x5bb*-0x1+0x1*0x7d3+0xb2*-0x3]||0xb7*0x2+0x1d3d*-0x1+0x1bcf))return console[bs(0x1c3)](),console['log'](a0L[bs(0x2f3)](bs(0x2a6))+a0L[bs(0x2d4)][bs(0x2f3)](bs(0x210))+a0L['yellow'](bs(0x117))),console[bs(0x1c3)](a0L[bs(0x25a)](bs(0x135))),void console[bs(0x1c3)]();const V=J['answers'][K];J[bs(0x3b5)]||(J[bs(0x3b5)]=[]),J['interactions'][bs(0x1bb)]({'ts':new Date()['toISOString'](),'q':K,'type':V?bs(0x275):bs(0x3e6),'input':Q,'result':V?bs(0x185)+V:bs(0x1b0)}),J[bs(0x358)][K]=Q,J[bs(0x263)]=K,a0Z(J),console[bs(0x1c3)](a0L[bs(0x25a)](bs(0x305)));const W=J[bs(0x103)][bs(0x362)];if(W&&bs(0x105)!==J[bs(0x103)][bs(0x2ca)]){const Z=(a0W()['ctfdUrl']||bs(0x188))+bs(0x384)+J['session'][bs(0x2ca)]+'/answer',a0={};a0['Content-Type']=bs(0x36d);const a1={};a1['token']=W,a1['question']=K,a1['answer']=Q,fetch(Z,{'method':bs(0x2fa),'headers':a0,'body':JSON[bs(0x407)](a1),'signal':AbortSignal[bs(0x286)](-0xc*-0x1f6+-0xaba+0x6ba)})['catch'](()=>{});}const X=Object[bs(0x31e)](J[bs(0x358)])['length'],Y=J[bs(0x103)][bs(0x1a3)];if(a0a9('Q'+K+':\x20'+Q+'\x20✓\x20\x20('+X+'/'+Y+bs(0x3b1)),bs(0x105)===J['session'][bs(0x2ca)]&&L[bs(0x1cd)]){const a2=[bs(0x27e),'Solid\x20pick.','On\x20the\x20money.',bs(0x3ca),'Spot\x20on.'],a3=[bs(0x3e3),'Hmm,\x20worth\x20a\x20second\x20look\x20at\x20the\x20end.',bs(0x12c)],a4=Q===L[bs(0x1cd)]?a2:a3,a5=a4[Math[bs(0x363)](Math[bs(0x39f)]()*a4['length'])];console[bs(0x1c3)](a0L[bs(0x25a)]('\x20\x20\x20\x20·\x20'+a5));}if(K<J[bs(0x159)][bs(0x14a)]){const a6=J[bs(0x159)][K];J[bs(0x263)]=a6[bs(0x3b8)],a0Z(J),U(a6,J['answers'][a6[bs(0x3b8)]]);}else X>=J[bs(0x159)][bs(0x14a)]&&(console['log'](),console['log'](a0L[bs(0x24b)][bs(0x2d4)](bs(0x3b0))),console[bs(0x1c3)](),bs(0x105)===J[bs(0x103)]['examId']?(console[bs(0x1c3)](a0L['white']('\x20\x20Type\x20')+a0L['bold'][bs(0x114)](bs(0x3f6))+a0L['white']('\x20to\x20see\x20your\x20results!')),console[bs(0x1c3)]()):console[bs(0x1c3)](a0L[bs(0x2c4)](bs(0x2f6))));}),B[be(0x395)](be(0x1eb))[be(0x11b)](be(0x39e))['action'](()=>{const bu=be;a0a8(bu(0x219));const F=a0Y();if(!F)return void a0aa(bu(0x23a));a0ae('Review:\x20'+F[bu(0x103)]['examName']),O(),console[bu(0x1c3)]();let G='\x20\x20';const H=Array[bu(0x2cf)](F[bu(0x211)])?F[bu(0x211)]:[];for(const Q of F['questions']){const V=F[bu(0x358)][Q[bu(0x3b8)]],W=H[bu(0x1a4)](Q[bu(0x3b8)]),X=W?'★':'\x20';G+=V?W?a0L[bu(0x2d4)][bu(0x2f3)]('Q'+String(Q[bu(0x3b8)])[bu(0x147)](0x7f0*0x2+0x183b+-0x2819)+X+'['+V+']\x20'):a0L[bu(0x24b)]('Q'+String(Q['number'])[bu(0x147)](-0x13b*-0x3+-0x1*0x25b8+-0x1*-0x2209)+'\x20['+V+bu(0xf8)):W?a0L[bu(0x2d4)][bu(0x2f3)]('Q'+String(Q[bu(0x3b8)])['padStart'](0x9e*0x2e+0x1018+-0x2c7a)+X+bu(0x300)):a0L[bu(0x2f3)]('Q'+String(Q[bu(0x3b8)])[bu(0x147)](-0x2481+0x1ae*0x10+0x1*0x9a3)+'\x20[\x20]\x20\x20'),Q['number']%(-0x7cd+-0x1*-0xe90+-0xf*0x73)==-0x18fd+-0x7cd+0x20ca&&(console[bu(0x1c3)](G),G='\x20\x20');}G[bu(0x265)]()&&console[bu(0x1c3)](G);const J=Object[bu(0x31e)](F['answers'])['length'],K=F['session'][bu(0x1a3)],L=K-J;if(console[bu(0x1c3)](),a0af(bu(0x261),a0L[bu(0x24b)][bu(0x2d4)](J+'/'+K)),L>0x1d9*-0x15+-0x6c3+0x2d90){const Y=F[bu(0x159)]['filter'](Z=>!F['answers'][Z[bu(0x3b8)]])['map'](Z=>Z[bu(0x3b8)])['join'](',\x20');a0af(bu(0x154),a0L[bu(0x2f3)](L+bu(0x35d)+Y+')'));}H[bu(0x14a)]>-0xdd*-0x1c+-0x5*0x6a3+-0x301*-0x3&&a0af(bu(0x22c),a0L[bu(0x2d4)][bu(0x2f3)]('★\x20'+H[bu(0x14a)])+a0L['gray']('\x20('+H['map'](Z=>'Q'+Z)[bu(0x2cd)](',\x20')+')')),console[bu(0x1c3)](),H['length']>0x51*-0x15+0x163f+-0x7cd*0x2&&console[bu(0x1c3)](a0L[bu(0x25a)](bu(0x3e2))+a0L[bu(0x2c4)](bu(0x1b9)+H[-0xa61*0x1+-0x5d*-0x2+0x9a7])),console[bu(0x1c3)](a0L[bu(0x25a)](bu(0x251))+a0L[bu(0x2d4)]['cyan'](bu(0x3f6))+a0L['gray'](bu(0x175)));}),B['command'](be(0x18c))[be(0x11b)](be(0x2a9))[be(0x30d)](async(J,K)=>{const bv=be;a0a8('exam\x20submit\x20'+(J||'')+'\x20'+(K||''));const L=a0Y();if(L&&bv(0x268)===J&&!K&&(L[bv(0x375)]=!(-0x124b+-0x1609+0x2854),a0Z(L)),!L)return void a0aa(bv(0x23a));const Q=Object['keys'](L[bv(0x358)])[bv(0x14a)],V=L[bv(0x103)][bv(0x1a3)],W=V-Q;if(0x1ea8+0x11b9+0x5*-0x9ad===Q){const a0=a0a1(),a1=a0&&new Date()>=a0;return void(bv(0x105)===L[bv(0x103)][bv(0x2ca)]||a1?(a0a0(),a0ab(bv(0x18b)),a0ac(bv(0x181))):(a0ab('No\x20answers\x20to\x20submit.'),a0ac(bv(0x3be))));}const X=a0a1(),Y=!!(X&&new Date()>=X);if(bv(0x105)!==L[bv(0x103)][bv(0x2ca)]&&!Y&&bv(0x268)===J&&Q<-0x1*-0x2213+-0x1*-0x16a6+-0x38af){if((K||'')[bv(0x265)]()!==String(Q))return console[bv(0x1c3)](),console[bv(0x1c3)](a0L[bv(0x2f7)](bv(0x344))),console[bv(0x1c3)](a0L['bold']['red'](bv(0x1ec)+Q+'/'+V+bv(0x1e7))),console[bv(0x1c3)](a0L[bv(0x2f7)](bv(0x344))),console['log'](),console['log'](a0L[bv(0x2c4)](bv(0x2b9))+a0L[bv(0x2d4)]['yellow'](''+Q)+a0L[bv(0x2c4)]('\x20of\x20')+a0L[bv(0x2c4)](''+V)+a0L['white']('\x20questions.')),console[bv(0x1c3)](a0L['white']('\x20\x20Pass\x20threshold\x20is\x20typically\x2050%\x20—\x20')+a0L[bv(0x2d4)][bv(0x2f7)](Q+'/'+V+bv(0x2f9))),console[bv(0x1c3)](),console['log'](a0L['bold'][bv(0x2c4)](bv(0x2f0))),console[bv(0x1c3)](a0L[bv(0x25a)](bv(0x359))+a0L[bv(0x114)](bv(0x1ea))+a0L['gray'](bv(0x21e))),console['log'](a0L['gray'](bv(0x359))+a0L[bv(0x114)]('exam\x20review')+a0L['gray']('\x20\x20(see\x20which\x20questions\x20are\x20blank)')),console[bv(0x1c3)](),console[bv(0x1c3)](a0L[bv(0x2d4)][bv(0x2c4)]('\x20\x20If\x20you\x20really\x20want\x20to\x20submit\x20with\x20just\x20')+a0L[bv(0x2d4)][bv(0x2f3)](''+Q)+a0L['bold'][bv(0x2c4)](bv(0x30f))),console[bv(0x1c3)](a0L[bv(0x25a)](bv(0x359))+a0L[bv(0x2d4)][bv(0x114)]('exam\x20submit\x20confirm\x20'+Q)),console['log'](a0L['gray'](bv(0x252)+Q+';\x20this\x20prevents\x20accidents)')),console[bv(0x1c3)](),void(L[bv(0x375)]&&(delete L['_submitConfirmed'],a0Z(L)));L[bv(0x375)]=!(0x12d*0xe+-0x17f*0x1+0xef7*-0x1),a0Z(L);}if(bv(0x105)!==L[bv(0x103)][bv(0x2ca)]){const a2=!(-0xed7*0x2+-0x41*0x72+0x754*0x8)===L[bv(0x375)],a3=a0a1(),a4=!!(a3&&new Date()>=a3);if(!a2&&!a4){if(console[bv(0x1c3)](),console[bv(0x1c3)](a0L[bv(0x2f7)]('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console[bv(0x1c3)](a0L[bv(0x2d4)]['red'](bv(0x31c))),console['log'](a0L[bv(0x2f7)](bv(0x109))),console[bv(0x1c3)](),console[bv(0x1c3)](a0L['white'](bv(0x24d)+a0L[bv(0x2d4)]['green'](Q+'/'+V)+bv(0x3e1))),W>-0x1*0x9f9+-0x25a1+0x2f9a){const a6=L[bv(0x159)][bv(0x2eb)](a7=>!L['answers'][a7[bv(0x3b8)]])[bv(0x3f9)](a7=>'Q'+a7['number'])[bv(0x2cd)](',\x20');console[bv(0x1c3)](a0L[bv(0x2f3)]('\x20\x20'+W+bv(0x1cc)+a6));}const a5=Array[bv(0x2cf)](L[bv(0x211)])?L[bv(0x211)]:[];return a5[bv(0x14a)]>-0x1*-0x1753+-0x5*0x43+0x4*-0x581&&console['log'](a0L[bv(0x2f3)]('\x20\x20★\x20'+a5[bv(0x14a)]+bv(0x324)+a5['map'](a7=>'Q'+a7)[bv(0x2cd)](',\x20'))),console[bv(0x1c3)](),console[bv(0x1c3)](a0L[bv(0x2c4)]('\x20\x20Answers\x20are\x20')+a0L[bv(0x2d4)][bv(0x2f7)]('final')+a0L[bv(0x2c4)](bv(0x133))),console[bv(0x1c3)](),console['log'](a0L[bv(0x2d4)][bv(0x2c4)]('\x20\x20To\x20confirm:\x20\x20')+a0L[bv(0x2d4)]['cyan'](bv(0x3a7))),console[bv(0x1c3)](a0L[bv(0x2c4)](bv(0x1d9))+a0L[bv(0x114)](bv(0x219))+a0L['gray']('\x20\x20or\x20\x20')+a0L[bv(0x114)]('back')),void console[bv(0x1c3)]();}a2&&(delete L[bv(0x375)],a0Z(L));}if(console[bv(0x1c3)](),bv(0x105)===L['session'][bv(0x2ca)]){try{N(-0x2ed*0x5+-0x3*0xb2f+0x302e,a0ai(bv(0x123))),await q(0x1990+-0x879+-0x32f*0x5);let a7=0x1*-0x917+-0x1*-0xea5+-0x58e;const a8=[],a9={};for(const al of L[bv(0x159)]){const am=al[bv(0x2d5)]||'Other',an={};an[bv(0x402)]=0x0,an[bv(0x3a4)]=0x0,(a9[am]||(a9[am]=an),a9[am][bv(0x3a4)]++);const ao=L['answers'][al[bv(0x3b8)]];ao&&al[bv(0x1cd)]&&ao===al[bv(0x1cd)]?(a7++,a9[am]['correct']++):a8[bv(0x1bb)](al[bv(0x3b8)]);}a8[bv(0x142)]((ap,aq)=>ap-aq),N(0x1eac+0x2d1*-0x3+-0x747*0x3,a0ai(bv(0x31a))),console['log']();const aa=new Date(L[bv(0x103)][bv(0x2d8)])[bv(0x1c9)](),ab=Math[bv(0x209)](0x1b23*0x1+-0xfbd+0x5b3*-0x2,Math[bv(0xf0)]((Date[bv(0x3c2)]()-aa)/(0x2*-0xce3+0x21a+0x6e5*0x4))),ac=Math['floor'](ab/(-0x1ffc+0x1f7f*-0x1+-0x3*-0x153d))+'m\x20'+ab%(0x3*-0x7c9+0x2481+-0xcea)+'s',ad=[...L[bv(0x159)]],ae={...L[bv(0x358)]},af=R(L);a0a0();const ag=Math[bv(0xf0)](a7/V*(-0x1d10+-0xaca+-0xca*-0x33)),ah=a0W(),ai={};ai[bv(0x3d0)]=bv(0x36d),(fetch(bv(0x23d),{'method':bv(0x2fa),'headers':ai,'body':JSON[bv(0x407)]({'type':bv(0x19a),'score':a7,'total':V,'lang':ah[bv(0x2be)]||'en','help_used':af[bv(0x329)],'help_max':af['max'],'tokens_used':0x0,'solved':ag>=0x101*-0x5+-0x10ce+0x160f?0xca*0x31+0x5c*-0x59+-0x1*0x6ad:0x9*-0x219+-0x1*-0xaff+0x7e2,'timestamp':new Date()[bv(0x18d)](),'interactions':L['interactions']||[]}),'signal':AbortSignal[bv(0x286)](-0x1*0xb6f+0x2244+-0x34d)})[bv(0x308)](()=>{}),console[bv(0x1c3)](),console[bv(0x1c3)](a0L['cyan'](bv(0x2ad))),console[bv(0x1c3)](),console[bv(0x1c3)](a0L[bv(0x2d4)][bv(0x2c4)](bv(0x1d6))),console[bv(0x1c3)](a0L['bold'][bv(0x2c4)](bv(0x169))),console[bv(0x1c3)](a0L[bv(0x2d4)]['white']('\x20\x20\x20██║██║\x20\x20\x20\x20\x20██║\x20\x20\x20██║███████║')),console[bv(0x1c3)](a0L[bv(0x2d4)][bv(0x2c4)]('\x20\x20\x20██║██║\x20\x20\x20\x20\x20██║\x20\x20\x20██║██╔══██║')),console['log'](a0L[bv(0x2d4)][bv(0x2c4)](bv(0x356))),console[bv(0x1c3)](a0L[bv(0x2d4)][bv(0x2c4)]('\x20\x20\x20╚═╝\x20╚═════╝\x20╚═════╝\x20╚═╝\x20\x20╚═╝')),console[bv(0x1c3)](),console['log'](a0L['bold'](bv(0x1f1)+a0ai(bv(0x171))+':\x20'+a7+'/'+V+'\x20('+ag+'%)')),console[bv(0x1c3)](a0L[bv(0x2d4)](bv(0x1f1)+(ag>=0x87e+-0x1ef4+0x16b2?a0L[bv(0x24b)](a0ai(bv(0x2b7))):a0L[bv(0x2f7)](a0ai(bv(0x12f)))))),console['log'](a0L[bv(0x25a)](bv(0x368)+ac)),console['log'](),console[bv(0x1c3)](a0L['yellow'](bv(0x17e))),console[bv(0x1c3)](a0L[bv(0x25a)](bv(0x3b2))),console[bv(0x1c3)](),console[bv(0x1c3)](a0L[bv(0x114)](bv(0x2ad))),await q(0xde5*-0x1+-0xcf2*-0x2+-0x47));const aj=Object[bv(0x2b2)](a9);if(aj[bv(0x14a)]>0x227c+-0x2004*-0x1+-0x4280){console[bv(0x1c3)](),console[bv(0x1c3)](a0L['bold'][bv(0x2c4)]('\x20\x20By\x20category'));const ap=0x9c8+0x1507+-0x1*0x1ec5;for(const [aq,ar]of aj){const as=ar[bv(0x3a4)]>0x9*-0x265+-0xd6a+0x22f7?Math[bv(0xf0)](ar['correct']/ar['total']*(0x1481+0x1b36+-0x2f53)):-0x2252+0xc91+-0x15c1*-0x1,at=ar[bv(0x3a4)]>0x1094*0x1+0x1043+0x1*-0x20d7?Math[bv(0xf0)](ar[bv(0x402)]/ar[bv(0x3a4)]*ap):-0xdc7+0xe57*0x1+-0x90*0x1,au=ap-at,av=as>=0x13b4*-0x1+0x1fb4+0xbb0*-0x1?a0L[bv(0x24b)]:as>=-0x18d2+-0x3b4+0x1cb8?a0L[bv(0x2f3)]:a0L[bv(0x2f7)],aw=av('█'[bv(0x1ad)](at))+a0L[bv(0x25a)]('░'[bv(0x1ad)](au));console[bv(0x1c3)]('\x20\x20\x20\x20'+a0L[bv(0x2c4)](aq[bv(0x136)](-0x1f97+0x5*-0x617+0x3e1e*0x1))+'\x20'+aw+'\x20\x20'+av(ar[bv(0x402)]+'/'+ar[bv(0x3a4)])+a0L[bv(0x25a)]('\x20('+as+'%)'));}console[bv(0x1c3)](),console[bv(0x1c3)](a0L[bv(0x114)](bv(0x276)));}const ak=a0a4(a7,V);if(a7===ak[bv(0x279)]&&ak[bv(0x25b)]>0xb6+0x1*0x21f3+-0x22a8*0x1&&a7>-0x3f9+-0x5d5*0x1+-0x9ce*-0x1&&(console['log'](),console[bv(0x1c3)](a0L[bv(0x2d4)][bv(0x24b)](bv(0x3c5)))),a8[bv(0x14a)]>0xbdf+-0x7*-0x516+-0x2f79){const ax=ad[bv(0x2eb)](ay=>a8['includes'](ay[bv(0x3b8)]))[bv(0x3f9)](ay=>({...ay}));a0a5(ax);}else a0a7();if(await q(-0x1d65+0x250+0x26cd),a8['length']>-0x6ac*-0x1+-0x163+-0x7b*0xb){console[bv(0x1c3)](),console[bv(0x1c3)](a0L[bv(0x2f3)]('\x20\x20'+a8['length']+'\x20'+a0ai('incorrectIntro'))),console[bv(0x1c3)]();for(const ay of a8){const az=ad[bv(0x19e)](aC=>aC['number']===ay);if(!az)continue;const aA=ae[ay],aB=az[bv(0x1cd)];console[bv(0x1c3)](a0L[bv(0x2c4)]('\x20\x20Q'+ay+'.\x20'+az[bv(0x3fe)])),aA?console['log'](a0L[bv(0x2f7)](bv(0x359)+a0ai(bv(0x119))+':\x20'+aA+'.\x20'+az[bv(0xfa)][aA])):console[bv(0x1c3)](a0L['yellow']('\x20\x20\x20\x20'+a0ai(bv(0x119))+bv(0x35f))),aB&&console['log'](a0L['green']('\x20\x20\x20\x20'+a0ai(bv(0x402))+':\x20'+aB+'.\x20'+az['options'][aB])),az[bv(0x379)]&&console['log'](a0L[bv(0x25a)](bv(0x239)+az['explanation'])),console[bv(0x1c3)]();}}else console[bv(0x1c3)](),console[bv(0x1c3)](a0L[bv(0x24b)]('\x20\x20'+a0ai('perfectScore')));await q(0x53b*0x7+-0x1bce+-0xf*0x11),console[bv(0x1c3)](),console[bv(0x1c3)](a0L[bv(0x114)](bv(0x276))),console[bv(0x1c3)](a0L['white']('\x20\x20'+a0ai(bv(0x3fc))+'\x20')+a0L[bv(0x2d4)][bv(0x24b)]('ai4ctf')+a0L['gray'](bv(0x1ab)+a0ai(bv(0x15e)))),console[bv(0x1c3)](a0L[bv(0x25a)]('\x20\x20'+a0ai('ai4ctfSub'))),console[bv(0x1c3)](a0L[bv(0x114)](bv(0x276))),console[bv(0x1c3)]();}catch(aC){console[bv(0x1c3)](),a0aa(aC[bv(0x3a1)]);}return;}const Z=L['session'][bv(0x362)];try{let aD;if(N(-0xbd9+0xb2*-0x11+0x1*0x17ab,bv(0x342)),Z){const aN={};aN[bv(0x3d0)]='application/json';const aO={};aO[bv(0x1f3)]=0x0,aO[bv(0x264)]=0x0;const aP=a0W()['ctfdUrl']||'https://practice.icoa2026.au',aQ=await fetch(aP+bv(0x384)+L[bv(0x103)][bv(0x2ca)]+bv(0x338),{'method':bv(0x2fa),'headers':aN,'body':JSON[bv(0x407)]({'token':Z,'answers':L[bv(0x358)],'interactions':L[bv(0x3b5)]||[],'aiUsage':L[bv(0x285)]||aO,'bookmarks':L[bv(0x211)]||[]}),'signal':AbortSignal['timeout'](-0x22d3+0x1967*-0x3+0xa9a0)});if(!aQ['ok']){const aR=await aQ[bv(0x3ec)]()[bv(0x308)](()=>({'message':bv(0x3db)}));throw new Error(aR[bv(0x3a1)]||'Submit\x20failed');}aD=(await aQ[bv(0x3ec)]())[bv(0x326)];}else{const aS=M();if(!aS)return;aD=await aS[bv(0x30b)](L['session'][bv(0x2ca)],L[bv(0x358)]);}N(-0x1970+-0x2226+0x3bc8,bv(0x2a7)),await q(-0x1465+-0x1*-0x10c1+0x4d0),N(0x1ff2+-0x22df+0x351,'Complete!'),console[bv(0x1c3)]();const aE={};aE[bv(0x1f3)]=0x0,aE['ctf4ai']=0x0;const aF={'answered':Object[bv(0x31e)](L[bv(0x358)])['length'],'total':L[bv(0x103)][bv(0x1a3)],'bookmarks':Array['isArray'](L[bv(0x211)])?L[bv(0x211)][bv(0x14a)]:0xf02*-0x2+0x1d*-0xe5+-0xb31*-0x5,'help':R(L),'aiUsage':L[bv(0x285)]||aE,'interactions':(L[bv(0x3b5)]||[])[bv(0x14a)],'durationMin':L['session'][bv(0x15b)]||-0xe8d+0xd62+-0x12b*-0x1,'confirmedAt':L['session']['confirmedAt']||L[bv(0x103)][bv(0x2d8)],'examId':L[bv(0x103)][bv(0x2ca)]};a0a0();const aG=Math[bv(0x209)](0x1199+-0xbe6+0x1*-0x5b3,Math[bv(0xf0)]((Date[bv(0x3c2)]()-new Date(aF['confirmedAt'])[bv(0x1c9)]())/(0x20a+-0x16c9+0x18a7))),aH=Math[bv(0x363)](aG/(0x4*-0x58d+0xed8+-0x6c*-0x12)),aI=aG%(-0xa6a*0x3+-0x1*0x23d3+0x434d);console[bv(0x1c3)](),console[bv(0x1c3)](a0L[bv(0x114)](bv(0x167))),console[bv(0x1c3)](),console['log'](a0L[bv(0x2d4)][bv(0x2c4)](bv(0x1d6))),console[bv(0x1c3)](a0L[bv(0x2d4)][bv(0x2c4)](bv(0x169))),console[bv(0x1c3)](a0L[bv(0x2d4)][bv(0x2c4)](bv(0x29c))),console[bv(0x1c3)](a0L[bv(0x2d4)][bv(0x2c4)](bv(0x126))),console['log'](a0L['bold'][bv(0x2c4)]('\x20\x20\x20██║╚██████╗╚██████╔╝██║\x20\x20██║')),console['log'](a0L[bv(0x2d4)][bv(0x2c4)]('\x20\x20\x20╚═╝\x20╚═════╝\x20╚═════╝\x20╚═╝\x20\x20╚═╝')),console[bv(0x1c3)]();const aJ=aD[bv(0x2b7)]?a0L['green'][bv(0x2d4)](bv(0x158)):a0L[bv(0x2f3)][bv(0x2d4)](bv(0x3fb));console[bv(0x1c3)](aJ),console[bv(0x1c3)](),console[bv(0x1c3)](a0L[bv(0x2c4)](bv(0x1c0))),console[bv(0x1c3)](a0L[bv(0x2c4)](bv(0x2ba))),console[bv(0x1c3)](a0L[bv(0x2c4)](bv(0x2d0))),console[bv(0x1c3)](),console['log'](a0L[bv(0x114)](bv(0x276))),console['log'](),console[bv(0x1c3)](a0L['bold'][bv(0x2c4)]('\x20\x20Your\x20run'));const aK=aF[bv(0x3a4)]-aF[bv(0x232)];console[bv(0x1c3)]('\x20\x20\x20\x20'+a0L[bv(0x25a)](bv(0x1f8))+a0L['white'](aF['answered']+'/'+aF[bv(0x3a4)])+(aK>0x24b5+0x1*-0x165a+-0xe5b?a0L[bv(0x25a)](bv(0x1b8)+aK+'\x20skipped'):'')),console[bv(0x1c3)](bv(0x359)+a0L[bv(0x25a)](bv(0x328))+a0L[bv(0x2c4)](aH+'m\x20'+aI+'s')+a0L['gray'](bv(0x206)+aF[bv(0x250)]+bv(0x14d))),aF[bv(0x211)]>0x771*-0x3+-0x233b+0x398e&&console[bv(0x1c3)](bv(0x359)+a0L[bv(0x25a)](bv(0x322))+a0L[bv(0x2f3)]('★\x20'+aF[bv(0x211)])),console[bv(0x1c3)]();const aL=aD['categoryStats'];if(aL&&Object[bv(0x31e)](aL)[bv(0x14a)]>=0xea1+0x1526+-0x23c5){const aT=Object[bv(0x2b2)](aL)[bv(0x2eb)](([,aY])=>aY[bv(0x3a4)]>0x70c+-0x2655+0x1*0x1f49)['map'](([aY,aZ])=>({'cat':aY,'pct':aZ[bv(0x402)]/aZ[bv(0x3a4)]}))[bv(0x142)]((aY,aZ)=>aZ['pct']-aY[bv(0x34e)]),aU=Math[bv(0x372)](0x2eb+-0x25e5+-0x22fc*-0x1,Math[bv(0x25f)](aT[bv(0x14a)]/(-0x5*0x101+0x1117+-0xc0f))),aV=Math[bv(0x372)](0xe75+0x1a*0x6+-0xf0f,Math[bv(0x25f)](aT['length']/(-0xbd2+-0xfb1+0xdc3*0x2))),aW=aT[bv(0x34d)](-0x7*-0x235+0x971*0x2+-0x2255,aU)[bv(0x3f9)](aY=>aY[bv(0x37d)]),aX=aT['slice'](-aV)[bv(0x3f9)](aY=>aY[bv(0x37d)]);aW[bv(0x336)](aY=>aX['includes'](aY))||(console[bv(0x1c3)](a0L[bv(0x2d4)][bv(0x2c4)](bv(0x30e))),console['log'](bv(0x359)+a0L[bv(0x24b)](bv(0x227))+a0L[bv(0x2c4)](aW[bv(0x2cd)](',\x20'))),console[bv(0x1c3)](bv(0x359)+a0L[bv(0x2f3)](bv(0x28f))+a0L[bv(0x2c4)](aX[bv(0x2cd)](',\x20'))),console[bv(0x1c3)](a0L[bv(0x25a)](bv(0x124))),console[bv(0x1c3)]());}console[bv(0x1c3)](a0L[bv(0x2d4)]['white'](bv(0x164))),console[bv(0x1c3)](bv(0x359)+a0L[bv(0x25a)](bv(0xf5))+a0L[bv(0x2c4)](aF['help'][bv(0x329)]+'/'+aF[bv(0x210)][bv(0x209)])),console[bv(0x1c3)](bv(0x359)+a0L['gray'](bv(0x1e8))+a0L[bv(0x2c4)](aF[bv(0x285)][bv(0x1f3)]+bv(0x355))+a0L[bv(0x25a)](bv(0x1b8))+a0L[bv(0x2c4)](aF['aiUsage']['ctf4ai']+bv(0x2d3))),console['log'](),console[bv(0x1c3)](a0L[bv(0x114)](bv(0x276))),console[bv(0x1c3)](),console[bv(0x1c3)](a0L[bv(0x2d4)][bv(0x2c4)](bv(0x2b6))),console[bv(0x1c3)](a0L[bv(0x25a)]('\x20\x20·\x20Your\x20national\x20organizer\x20will\x20announce\x20selection\x20results.')),console['log'](a0L[bv(0x25a)](bv(0x192))+a0L[bv(0x2c4)](bv(0x3a3))+a0L[bv(0x25a)](bv(0x1da))),console[bv(0x1c3)](a0L['gray'](bv(0x20c))+a0L[bv(0x2c4)](bv(0x317))),console[bv(0x1c3)]();const {showCToBUpgradePrompt:aM}=await import('../lib/paper-upgrade.js');aM(aF['examId'],aD[bv(0x2b7)]),console['log'](a0L[bv(0x2f3)](bv(0x3bf))),console[bv(0x1c3)](a0L[bv(0x114)]['underline'](bv(0x184))),console['log'](),console[bv(0x1c3)](a0L['cyan'](bv(0x167))),console[bv(0x1c3)]();}catch(aY){console['log'](),a0aa(aY['message']);}}),B[be(0x395)]('result\x20[id]')[be(0x11b)](be(0x307))[be(0x30d)](async F=>{const bw=be;a0a8('exam\x20result\x20'+(F||''));const G=M();if(!G)return;if(!F){const J=a0Y();if(!J)return void a0aa(bw(0x3df));F=J[bw(0x103)][bw(0x2ca)];}const H=a0ag('Loading\x20result...');H['start']();try{const K=await G[bw(0x315)](F);H[bw(0x101)]('Result\x20loaded'),console['log'](),a0ae(K[bw(0x302)]),a0af('Score',a0L['bold'](K[bw(0x171)]+'/'+K[bw(0x3a4)])),a0af(bw(0x39c),a0L[bw(0x2d4)](K[bw(0x253)]+'%')),a0af(bw(0x33b),K[bw(0x2b7)]?a0L[bw(0x24b)][bw(0x2d4)](bw(0x1f4)):a0L['red'][bw(0x2d4)](bw(0x3d5))),a0af(bw(0x17c),K[bw(0x1d2)]),console[bw(0x1c3)]();}catch(L){H[bw(0x179)](bw(0x218)),a0aa(L[bw(0x3a1)]);}}),B[be(0x395)](be(0x313))[be(0x11b)](be(0x378))[be(0x30d)](async J=>{const bx=be;a0a8('exam\x20token\x20'+J);const {getRealExamState:K,saveExamState:L,clearExamState:Q}=await import('../lib/exam-state.js'),V=K();if(V){const a2=V[bx(0x103)][bx(0x362)],a3=a0a1(),a4=!!a2&&a2[bx(0x265)]()[bx(0x1ce)]()!==J['trim']()[bx(0x1ce)](),a5=!!a3&&a3['getTime']()+(-0x13f67a+0x2eda79+0xd63*0xb)<Date['now']();if(a4&&a5)return Q(),console[bx(0x1c3)](),console[bx(0x1c3)](a0L[bx(0x25a)](bx(0x335))),console[bx(0x1c3)](),console[bx(0x1c3)](a0L[bx(0x2c4)](bx(0x21d))+a0L[bx(0x2d4)][bx(0x114)](bx(0x258)+J)),void console[bx(0x1c3)]();if(!a2&&J)return V['session'][bx(0x362)]=J[bx(0x265)](),L(V),console['log'](),console[bx(0x1c3)](a0L[bx(0x24b)](bx(0x254))),console[bx(0x1c3)](a0L[bx(0x25a)](bx(0x3c8))+a0L[bx(0x2c4)](bx(0x34a))+a0L[bx(0x25a)](bx(0x2e5))+a0L['white'](bx(0x3f6))),console['log'](),console[bx(0x1c3)](a0L[bx(0x2d4)][bx(0x2c4)]('\x20\x20Continue\x20this\x20exam:')),console[bx(0x1c3)](a0L[bx(0x25a)]('\x20\x20\x20\x20→\x20')+a0L['bold'][bx(0x114)](bx(0x1ea))+a0L['gray'](bx(0x127))),console[bx(0x1c3)](a0L[bx(0x25a)](bx(0x239))+a0L[bx(0x2d4)]['cyan'](bx(0x219))+a0L['gray'](bx(0xfc))),void console['log']();const a6=Object[bx(0x31e)](V[bx(0x358)])[bx(0x14a)],a7=V[bx(0x103)][bx(0x1a3)],a8=a0a1(),a9=a8?Math[bx(0x209)](0x25a5+0x900+-0x2ea5,Math[bx(0xf0)]((a8['getTime']()-Date[bx(0x3c2)]())/(-0x15ab6+-0xec87+-0x25*-0x1619))):null;return console[bx(0x1c3)](),console[bx(0x1c3)](a0L['yellow'](bx(0x346))),console[bx(0x1c3)](),console['log'](a0L[bx(0x25a)]('\x20\x20Exam:\x20\x20\x20\x20')+a0L[bx(0x2c4)](V[bx(0x103)][bx(0x302)])),a2&&console[bx(0x1c3)](a0L[bx(0x25a)](bx(0x37f))+a0L[bx(0x2c4)](a2)+(a2===J?a0L[bx(0x24b)](bx(0x13f)):a0L[bx(0x2f3)](bx(0x31f)))),console[bx(0x1c3)](a0L[bx(0x25a)](bx(0xf2))+a0L[bx(0x2c4)](a6+'/'+a7)),null!==a9&&console[bx(0x1c3)](a0L['gray'](bx(0x2c7))+a0L[bx(0x2c4)](a9+bx(0x3c0))),console['log'](),console[bx(0x1c3)](a0L[bx(0x2d4)]['white'](bx(0x2ce))),console[bx(0x1c3)](a0L[bx(0x25a)](bx(0x239))+a0L['bold'][bx(0x114)](bx(0x1ea))+a0L[bx(0x25a)]('\x20\x20\x20\x20\x20\x20resume\x20at\x20any\x20question')),console[bx(0x1c3)](a0L[bx(0x25a)](bx(0x239))+a0L['bold'][bx(0x114)]('exam\x20review')+a0L[bx(0x25a)]('\x20\x20\x20see\x20progress\x20+\x20flagged\x20items')),console[bx(0x1c3)](a0L[bx(0x25a)](bx(0x239))+a0L[bx(0x2d4)][bx(0x114)](bx(0x3f6))+a0L[bx(0x25a)]('\x20\x20\x20finish\x20and\x20submit')),a2&&a2!==J&&(console[bx(0x1c3)](),console[bx(0x1c3)](a0L[bx(0x2f3)](bx(0x1d4))),console[bx(0x1c3)](a0L[bx(0x2f3)](bx(0x3b3))),console[bx(0x1c3)](),console[bx(0x1c3)](a0L['gray'](bx(0x1db))),console[bx(0x1c3)](a0L['gray'](bx(0x34c))+a0L['bold'][bx(0x114)](bx(0x187))+a0L[bx(0x25a)]('\x20to\x20wipe\x20local\x20state,\x20then\x20re-enter\x20the\x20new\x20token.'))),void console[bx(0x1c3)]();}const {isNativeWindowsCmd:W}=await import('../lib/platform.js');if(!W()&&!a0am()){let aa=!(0x2*0x48a+-0x32d+0x12e*-0x5);try{const ab={};ab[bx(0x3d0)]=bx(0x36d);const ac=a0W()[bx(0x1ed)]||bx(0x188),ad=await fetch(ac+bx(0x1fa),{'method':bx(0x2fa),'headers':ab,'body':JSON[bx(0x407)]({'token':J[bx(0x265)](),'deviceHash':a0aj(),'peek':!(-0x569*0x1+-0x22b5*0x1+0x316*0xd)}),'signal':AbortSignal['timeout'](-0x1e01*-0x1+-0x2039+0x1*0x15c0)});if(ad['ok']){const ae=await ad[bx(0x3ec)]();(ae?.['data']?.[bx(0x23f)]||'')['endsWith']('-c')&&(aa=!(-0xa*0x22f+0x1193+-0x443*-0x1));}}catch{}if(!aa)return console[bx(0x1c3)](),a0ab(bx(0x3fa)),console[bx(0x1c3)](a0L[bx(0x25a)]('\x20\x20→\x20')+a0L['bold']['cyan']('exam\x20setup')),console[bx(0x1c3)](a0L[bx(0x25a)]('\x20\x20Or\x20type\x20')+a0L['bold'][bx(0x114)](bx(0x287))+a0L[bx(0x25a)](bx(0xf1))),console['log'](a0L[bx(0x25a)](bx(0x2d7))),void console[bx(0x1c3)]();}const X={};X['UA']='uk',X['PE']='es',X['CN']='zh',X['AU']='en',X['JP']='ja',X['KR']='ko',X['BR']='pt',X['SA']='ar',X['FR']='fr',X['DE']='de',X['IN']='hi',X['ID']='id',X['TH']='th',X['VN']='vi',X['TR']='tr',X['RU']='ru',X['EG']='ar',X['HT']='ht',X['PH']='en',X['MY']='en',X['MM']='en',X['SG']='en',X['ZA']='en',X['KE']='sw',X['TZ']='sw',X['MO']='zh',X['UZ']='uz',X['GH']='en',X['LA']='lo',X['BD']='bn',X['BI']='fr',X['US']='en',X['UK']='en',X['NZ']='en',X['LK']='si';const Y=X[J[bx(0x265)]()['substring'](-0x1467+-0x2089+0x34f0,-0x250a+0xf2e+0x15de)['toUpperCase']()],Z=a0W(),a0=Z[bx(0x1ed)]||'https://practice.icoa2026.au',a1=Y||Z[bx(0x2be)]||'en';Y&&Y!==(Z[bx(0x2be)]||'en')&&a0X({'language':Y}),console[bx(0x1c3)](),N(0xa7*-0x19+-0xb7*0x7+0x1550,bx(0x15f));try{const af={};af[bx(0x3d0)]=bx(0x36d);const ag=await fetch(a0+bx(0x1fa),{'method':bx(0x2fa),'headers':af,'body':JSON['stringify']({'token':J['trim'](),'deviceHash':a0aj(),'lang':a1}),'signal':AbortSignal[bx(0x286)](-0x3829+-0x1*0x11c2+0x70fb)});if(!ag['ok']){N(-0x13f3+0x309+0x10ea,''),console['log']();const ao=await ag[bx(0x3ec)]()[bx(0x308)](()=>({'message':'Invalid\x20token'}));return a0aa(ao['message']||bx(0x2a4)),void a0ac('Check\x20your\x20token\x20or\x20contact\x20your\x20proctor.');}N(-0x81*0xe+0x1103+-0xe5*0xb,bx(0x231));const ah=await ag[bx(0x3ec)](),{session:ai,questions:aj,languages:ak}=ah[bx(0x326)];N(0x245e+-0x191f*-0x1+-0x3d41,'Preparing...'),await q(0x1724+0x2*-0xd85+-0x4ae*-0x1),N(-0x1eaa+0x2bd*0x7+0x11*0xb3,'Ready!'),console[bx(0x1c3)](),console[bx(0x1c3)](),a0ae(ai[bx(0x302)]),console[bx(0x1c3)](),a0af(bx(0x130),ai[bx(0x1a3)]+bx(0x1a1)),a0af(bx(0x32a),ai[bx(0x15b)]+bx(0x33a)),a0af(bx(0x11c),(ai['totalScore']||-0x14b9+0x1d6+-0x1379*-0x1)+bx(0x3dc)),a0af(bx(0x3ce),(ai['passingScore']||-0x43f+-0x1*-0x1e29+0x199f*-0x1)+bx(0x21c)),console['log'](),console[bx(0x1c3)](a0L[bx(0x2c4)](bx(0x1d7))),console['log'](a0L[bx(0x2c4)](bx(0x3b9))),console[bx(0x1c3)](a0L[bx(0x2c4)](bx(0x15c))),console[bx(0x1c3)](a0L['white'](bx(0x22d))),ak&&ak[bx(0x14a)]>-0x1*0x1c0e+0xc24+0x5*0x32f&&console['log'](a0L[bx(0x2c4)](bx(0x26c)+ak['join'](',\x20')+bx(0x29a))),console['log'](),console[bx(0x1c3)](a0L[bx(0x2f3)](bx(0x1ff))),console['log'](a0L[bx(0x2c4)](bx(0x2c2))),console[bx(0x1c3)](a0L[bx(0x2c4)](bx(0x1f0))),console[bx(0x1c3)](a0L['white'](bx(0x140))),console[bx(0x1c3)](),await new Promise(ap=>{const by=bx;process[by(0x3ea)][by(0x2b8)](a0L[by(0x2d4)]['yellow'](by(0x37c)));const aq=!!process[by(0x309)][by(0x199)]&&process[by(0x309)][by(0x1e6)];process[by(0x309)]['isTTY']&&process[by(0x309)]['setRawMode']&&process[by(0x309)]['setRawMode'](!(-0x1a02+-0x20b1*0x1+-0x121*-0x34));const ar=as=>{const bz=by,at=as[bz(0x25e)]();(at['includes']('\x0a')||at['includes']('\x0d'))&&(process[bz(0x309)][bz(0x1a9)]('data',ar),process[bz(0x309)][bz(0x199)]&&process[bz(0x309)][bz(0x23c)]&&process[bz(0x309)][bz(0x23c)](aq),process[bz(0x3ea)][bz(0x2b8)]('\x0a'),ap());};process[by(0x309)]['on'](by(0x326),ar),process[by(0x309)][by(0x207)]();});const al=new Date()[bx(0x18d)]();ai[bx(0x27c)]=al,ai[bx(0x362)]=J[bx(0x265)]();try{const ap=Date[bx(0x3c2)](),aq=await fetch(a0+bx(0x17f),{'method':bx(0x267),'signal':AbortSignal[bx(0x286)](-0x1d24+-0x1*-0x981+-0x1f5b*-0x1)});if(aq['ok']){const ar=await aq['json'](),as=ar?.[bx(0x326)]?.[bx(0x390)];if('number'==typeof as&&as>-0x631*0x1+0x10eb*-0x2+-0x2807*-0x1){const at=(ap+Date[bx(0x3c2)]())/(0x1cb4+0x11d*0x1d+-0x3cfb);ai[bx(0x298)]=Math[bx(0xf0)](as-at),ai[bx(0x111)]=as+(-0x1*-0x2601+0x16af+-0x3c74)*ai[bx(0x15b)]*(0x1dc0+0x1ad*-0x1+-0x10d*0x17);}}}catch{}const am={};am[bx(0x1f3)]=0x0,am[bx(0x264)]=0x0;const an={};an[bx(0x103)]=ai,an[bx(0x159)]=aj,an[bx(0x358)]={},an[bx(0x3b5)]=[],an[bx(0x285)]=am,(a0Z(an),console[bx(0x1c3)](),a0a9(bx(0x2af)),a0af(bx(0x3a0),ai['durationMinutes']+bx(0x1dc)),aj['length']>-0x73f+0x1431*0x1+0x679*-0x2&&U(aj[0x3*0x1c+-0xa87+0xa33]));}catch(au){console[bx(0x1c3)](),bx(0x35e)===au[bx(0x3b6)]?a0aa(bx(0x3a6)):a0aa(au[bx(0x3a1)]||bx(0x12a));}}),B['command'](be(0x19c),{'hidden':!(0x1ceb+-0x1e2*-0x7+-0x2a19)})[be(0x11b)]('Abandon\x20current\x20exam\x20session\x20and\x20wipe\x20local\x20state\x20(recovery\x20only)')[be(0x30d)](async()=>{const bA=be;a0a8(bA(0x187));const {getRealExamState:F,clearExamState:G}=await import(bA(0x174)),H=F();if(!H)return console['log'](),console[bA(0x1c3)](a0L[bA(0x25a)](bA(0x2bf))),void console['log']();const J=H[bA(0x103)][bA(0x362)];console['log'](),console[bA(0x1c3)](a0L['yellow'](bA(0x376))),console['log'](a0L[bA(0x25a)](bA(0x340))+a0L[bA(0x2c4)](H[bA(0x103)][bA(0x302)])),J&&console[bA(0x1c3)](a0L[bA(0x25a)](bA(0x1ac))+a0L[bA(0x2c4)](J)),console[bA(0x1c3)](a0L['gray'](bA(0x197))),console['log'](a0L[bA(0x25a)](bA(0x1c1))),console[bA(0x1c3)](),console[bA(0x1c3)](a0L['gray'](bA(0x2a0))+a0L[bA(0x2d4)][bA(0x114)](bA(0x19c))+a0L['gray'](bA(0x10c)));const {getMainRl:K}=await import(bA(0x157)),L=K();if(bA(0x19c)!==(await new Promise(Q=>{const bB=bA;if(L){const V=L[bB(0x195)](bB(0x360))[bB(0x34d)]();L['removeAllListeners'](bB(0x360)),L['setPrompt'](bB(0x1ef)),L[bB(0x230)](),L[bB(0x36a)](bB(0x360),W=>{const bC=bB;for(const X of V)L['on']('line',X);Q(W[bC(0x265)]());});}else((async()=>{const bD=bB,W={};W[bD(0x24f)]=process[bD(0x309)],W[bD(0x11e)]=process[bD(0x3ea)];const {createInterface:X}=await import(bD(0x347)),Y=X(W);Y['question'](bD(0x1ef),Z=>{const bE=bD;Y['close'](),Q(Z[bE(0x265)]());});})());}))[bA(0x2bd)]())return console[bA(0x1c3)](a0L['gray'](bA(0x1b5))),void console[bA(0x1c3)]();G(),console['log'](),console[bA(0x1c3)](a0L[bA(0x24b)](bA(0x28b))),console[bA(0x1c3)](a0L['gray'](bA(0x374))+a0L[bA(0x2d4)]['cyan'](bA(0x2b5))),console[bA(0x1c3)]();}),B[be(0x395)](be(0x3a3))[be(0x11b)](be(0x39a))[be(0x30d)](async()=>{const bF=be;a0a8('exam\x20demo'),E(bF(0x1a6));const {pickDemoQuestions:F,getLocalizedDemoSession:G,DEMO_PICK_SIZE:H,DEMO_POOL_SIZE:J}=await import('../lib/demo-exam.js');a0W()[bF(0x316)]||(await(async function(){const bG=bF;let a0=!(0x681+-0x35f*0x9+0x17d7);const a1=process['stdin'],a2=()=>{a0=!(0x346*0x9+0xa06+-0x277c);},a3=a1[bG(0x199)]&&bG(0x170)==typeof a1[bG(0x23c)];a3&&(a1['setRawMode'](!(-0x1cb2+-0xca3+0x2955)),a1[bG(0x207)](),a1[bG(0x36a)]('data',a2));const a4=async a5=>{let a6=0xb9a+-0x7*-0x551+-0x30d1;for(;a6<a5&&!a0;)await q(0x2580+0xd87*0x2+-0x403e),a6+=0x1e17*-0x1+0x1*0x257e+-0x1*0x717;};try{if(console['clear'](),console[bG(0x1c3)](),console[bG(0x1c3)](a0L[bG(0x25a)](bG(0x1f1))+a0L[bG(0x274)]('(press\x20any\x20key\x20to\x20skip)')),console['log'](),console['log'](a0L['bold'][bG(0x2c4)]('\x20\x20\x20██╗\x20██████╗\x20██████╗\x20\x20█████╗')),console['log'](a0L[bG(0x2d4)][bG(0x2c4)](bG(0x169))),console[bG(0x1c3)](a0L[bG(0x2d4)][bG(0x2c4)](bG(0x29c))),console[bG(0x1c3)](a0L[bG(0x2d4)][bG(0x2c4)](bG(0x126))),console[bG(0x1c3)](a0L['bold'][bG(0x2c4)]('\x20\x20\x20██║╚██████╗╚██████╔╝██║\x20\x20██║')),console['log'](a0L[bG(0x2d4)][bG(0x2c4)](bG(0x26f))),console['log'](),console[bG(0x1c3)](a0L[bG(0x2d4)]['yellow'](bG(0x1c8))),console[bG(0x1c3)](a0L[bG(0x25a)]('\x20\x20\x20Sydney,\x20Australia\x20\x20·\x20\x20Jun\x2027\x20–\x20Jul\x202,\x202026')),await a4(0x2147+-0x23d2+0xc4f*0x1),a0)return;if(console[bG(0x1c3)](),console['log'](a0L['white']('\x20\x20\x20What\x20you\x27ll\x20do\x20today:')),console['log'](),await a4(-0x13b*-0xd+-0xb*0x2e3+0x121a),a0)return;if(console['log'](a0L[bG(0x114)](bG(0x3d3))+a0L['white']('Answer\x2010\x20quick\x20questions')+a0L[bG(0x25a)](bG(0x262))),await a4(0x128c+0x178*0x3+-0x1438*0x1),a0)return;if(console['log'](a0L[bG(0x24b)](bG(0x3d3))+a0L['white'](bG(0x3cb))+a0L[bG(0x25a)](bG(0x1ba))),await a4(0x2226*-0x1+0x4f3+0x1fef),a0)return;if(console[bG(0x1c3)](a0L[bG(0x2f7)]('\x20\x20\x20\x20\x20▣\x20')+a0L[bG(0x2c4)](bG(0x162))+a0L[bG(0x25a)](bG(0x2fc))),await a4(-0x63*0x2f+0x93*0x18+0x1*0x7e9),a0)return;if(console[bG(0x1c3)](),console[bG(0x1c3)](a0L[bG(0x2d4)][bG(0x2c4)](bG(0x19b))+a0L[bG(0x2d4)][bG(0x2f3)]('IS')+a0L[bG(0x2d4)][bG(0x2c4)](bG(0x277))),console['log'](),await a4(0x116a+0x2d*-0x98+-0xf2a*-0x1),a0)return;if(console[bG(0x1c3)](a0L[bG(0x25a)](bG(0x310))),await a4(0x2552+-0x49*0x9+-0x1*0x2131),a0)return;if(console[bG(0x1c3)](a0L['gray'](bG(0x331))),await a4(0x16eb+-0x8a4+0x1*-0xcb7),a0)return;if(console[bG(0x1c3)](a0L[bG(0x25a)](bG(0x196))),await a4(0x1b9c+0x118d*0x1+-0x2a09),a0)return;console[bG(0x1c3)](),console[bG(0x1c3)](a0L['bold'][bG(0x114)](bG(0x223))),await a4(0x8fa*0x1+-0x799+-0xe3f*-0x1);}finally{((()=>{const bH=bG;if(a3){a1['removeListener'](bH(0x326),a2);try{a1['setRawMode'](!(0x8*0x242+-0x188c+0xb*0x97));}catch{}a1[bH(0x100)]();}})()),console[bG(0x3f1)]();}}()),a0X({'demoIntroSeen':!(0x12fa*0x1+-0x16*0x132+-0x3a9*-0x2)})),console[bF(0x1c3)](),console['log'](a0L[bF(0x2c4)]('\x20\x20Demo:\x20')+a0L[bF(0x25a)](H+bF(0x238)+J+'.\x20No\x20timer.\x20Free\x20practice.')),console[bF(0x1c3)](a0L[bF(0x25a)](bF(0x13b))+a0L[bF(0x114)](bF(0x153))+a0L[bF(0x25a)](bF(0x2ac))+a0L[bF(0x114)](bF(0x287))+a0L['gray']('\x20at\x20any\x20time.')),await new Promise(a0=>{const bI=bF;process[bI(0x3ea)]['write'](a0L['bold'][bI(0x2f3)]('\x20\x20Press\x20Enter\x20to\x20begin...\x20'));const a1=!!process['stdin'][bI(0x199)]&&process['stdin']['isRaw'];process[bI(0x309)][bI(0x199)]&&process[bI(0x309)][bI(0x23c)]&&process[bI(0x309)]['setRawMode'](!(-0x9*0x31a+0x76*0x17+0x1151));const a2=a3=>{const bJ=bI,a4=a3['toString']();(a4[bJ(0x1a4)]('\x0a')||a4[bJ(0x1a4)]('\x0d'))&&(process[bJ(0x309)][bJ(0x1a9)](bJ(0x326),a2),process[bJ(0x309)][bJ(0x199)]&&process[bJ(0x309)][bJ(0x23c)]&&process[bJ(0x309)][bJ(0x23c)](a1),process[bJ(0x3ea)]['write']('\x0a'),a0());};process[bI(0x309)]['on'](bI(0x326),a2),process[bI(0x309)]['resume']();});const K=F(H),L=G(),{getDemoState:Q,clearExamState:V}=await import(bF(0x174));Q()&&V('demo-free'),console[bF(0x1c3)](),a0ae(bF(0x373)),console[bF(0x1c3)](),console[bF(0x1c3)](a0L[bF(0x2c4)](bF(0x32e))),console[bF(0x1c3)](a0L[bF(0x2c4)]('\x20\x20'+H+bF(0x1e4)+J+bF(0x2e8)));const W=a0a3();if(W[bF(0x25b)]>-0x1cce+0x29*0x9d+0x1*0x3a9){const a0=W[bF(0x21b)],a1=a0>=0x1efe+-0x3*0xb25+0x2f*0xf?a0L['green']:a0>=-0xa3*0x22+-0xd41+0x2323?a0L[bF(0x2f3)]:a0L[bF(0x2c4)];console[bF(0x1c3)](),console[bF(0x1c3)](a0L['gray'](bF(0x3e8))+a1(W[bF(0x279)]+'/'+H+'\x20('+a0+'%)')+a0L[bF(0x25a)](bF(0x1b8)+W['attempts']+bF(0x18f)));}console['log'](),console[bF(0x1c3)](a0L[bF(0x25a)](bF(0x38c))),console['log'](a0L[bF(0x2c4)]('\x20\x20'+a0ai('howToPlay'))),console[bF(0x1c3)](a0L[bF(0x2f3)](bF(0x152))+a0L[bF(0x25a)](bF(0x288)+a0ai(bF(0x333)))),console[bF(0x1c3)](a0L['yellow'](bF(0x2da))+a0L[bF(0x25a)](bF(0x2e7)+a0ai(bF(0x110)))),console[bF(0x1c3)](a0L[bF(0x2f3)]('\x20\x20\x20\x20next')+a0L['gray'](bF(0x191))+a0L[bF(0x2f3)](bF(0x2d6))+a0L[bF(0x25a)]('\x20\x20\x20\x20'+a0ai(bF(0x2ef)))),console[bF(0x1c3)](a0L[bF(0x2f3)](bF(0x189))+a0L[bF(0x25a)]('\x20\x20\x20\x20\x20'+a0ai(bF(0x2b1)))),console[bF(0x1c3)](a0L['yellow'](bF(0x177))+a0L['gray'](bF(0x2e7)+a0ai('htpBack'))),console[bF(0x1c3)](a0L[bF(0x2f3)](bF(0x18a))+a0L[bF(0x25a)](bF(0x2e7)+a0ai('htpLang'))),console[bF(0x1c3)](a0L['gray'](bF(0x401))),console['log'](a0L[bF(0x25a)](bF(0x1cb))),console[bF(0x1c3)](a0L[bF(0x25a)](bF(0x38c))),console[bF(0x1c3)]();const {getConfig:X}=await import('../lib/config.js'),Y=X()[bF(0x2be)]||'en';'en'===Y?(console[bF(0x1c3)](a0L[bF(0x25a)](bF(0x365))),console[bF(0x1c3)](a0L[bF(0x25a)]('\x20\x20lang\x20es\x20(Español)\x20·\x20lang\x20zh\x20(中文)\x20·\x20lang\x20ko\x20(한국어)\x20·\x20lang\x20ja\x20(日本語)')),console[bF(0x1c3)](a0L[bF(0x25a)](bF(0x2ed)))):console[bF(0x1c3)](a0L[bF(0x24b)](bF(0x17a)+Y)),console[bF(0x1c3)](),console['log'](a0L[bF(0x2c4)](bF(0x3bd)));const Z={...L,'startedAt':new Date()[bF(0x18d)]()};console[bF(0x1c3)](),N(-0xdc5+0x11c3+0x3fe*-0x1,bF(0x249)),await q(-0x11d8+-0x8c9+0x923*0x3),N(0x1927+-0x3b*-0x89+-0x3892,bF(0x1aa)),await q(0x212*0xb+-0x19*0x2+0x2*-0xae6),N(-0x23db+-0x1*-0x141b+0x1010,bF(0x3af)),await q(0xe0a+-0x1*-0xdbb+0x1b2f*-0x1),N(-0x1541*-0x1+0x1d7+-0x16b4,'Ready!'),console['log'](),console[bF(0x1c3)](),a0Z({'session':Z,'questions':K,'answers':{},'_helpMax':0x5}),a0af('Questions',String(H)),a0af(bF(0x32a),bF(0x3f5)),U(K[0xb35+0x1*-0x10+-0xb25]);}),B[be(0x395)](be(0x30a))[be(0x11b)]('Retry\x20only\x20the\x20questions\x20you\x20got\x20wrong\x20last\x20demo\x20attempt')[be(0x30d)](async()=>{const bK=be;a0a8(bK(0x1ee)),E('post-report-retry');const {getLocalizedDemoSession:F}=await import('../lib/demo-exam.js'),G=a0a6();if(!G||0x26ad+0x1232+-0xd3*0x45===G['length'])return console[bK(0x1c3)](),console[bK(0x1c3)](a0L['yellow'](bK(0x320))+a0L[bK(0x2d4)][bK(0x114)]('demo')+a0L[bK(0x2f3)](bK(0x2dd))),void console['log']();const H=a0Y();if(H){if(bK(0x105)!==H[bK(0x103)]['examId'])return a0ab(bK(0x3cc)+H[bK(0x103)][bK(0x302)]+bK(0x1a5)),void a0ac(bK(0x1a7));a0a0();}const J=V=>{const bL=bK;if(!V[bL(0x1cd)])return V;const W=V[bL(0xfa)][V[bL(0x1cd)]],X=['A','B','C','D'][bL(0x3f9)](a2=>V[bL(0xfa)][a2]);for(let a2=X[bL(0x14a)]-(0x740+-0x13b6+0xc77);a2>-0x5*-0x63d+0x4e7*-0x2+-0x3*0x721;a2--){const a3=Math[bL(0x363)](Math[bL(0x39f)]()*(a2+(-0x6*0x88+-0x146d+-0x1*-0x179e)));[X[a2],X[a3]]=[X[a3],X[a2]];}const Y={};Y['A']=X[0x52*0x2c+0x14cd*-0x1+0x6b5],Y['B']=X[0x1b34+0x10*-0x14b+-0x683],Y['C']=X[-0x1a9d+0x17*0x9d+0xc84],Y['D']=X[0x3b*-0x13+-0x2*0x6b+0x53a];const Z=Y,a0=['A','B','C','D'][bL(0x19e)](a4=>Z[a4]===W),a1={...V};return a1['options']=Z,a1[bL(0x1cd)]=a0,a1;},K=G[bK(0x3f9)]((V,W)=>({...J(V),'number':W+(0x1bce*-0x1+0x3ce*-0x5+0x277*0x13)})),L=F(),Q={...L,'examName':L['examName']+bK(0xf9),'questionCount':K['length'],'startedAt':new Date()[bK(0x18d)]()};console[bK(0x1c3)](),a0ae('Demo\x20Retry\x20—\x20Wrong\x20Questions\x20Only'),console['log'](),console[bK(0x1c3)](a0L[bK(0x2c4)](bK(0x377)+K[bK(0x14a)]+bK(0x12d)+(-0x213d*-0x1+0x1985+0x1*-0x3ac1===K['length']?'':'s')+bK(0x1f5))),console['log'](a0L[bK(0x25a)](bK(0x2ea))),console[bK(0x1c3)](),a0Z({'session':Q,'questions':K,'answers':{}}),a0af('Questions',String(K[bK(0x14a)])),a0af(bK(0x32a),'No\x20time\x20limit'),U(K[-0xf2a+0x213f*-0x1+0x3069]);}),B[be(0x395)](be(0x15a))[be(0x11b)]('Install\x20Python\x20environment\x20for\x20practical\x20exam\x20questions')[be(0x30d)](async()=>{const bM=be;if(a0a8(bM(0x28c)),0xc2*-0x9+-0x1*0x1309+-0x19db*-0x1===a0a3()[bM(0x25b)])return console[bM(0x1c3)](),a0ab('Complete\x20the\x20demo\x20first\x20before\x20setting\x20up.'),console['log'](a0L[bM(0x25a)](bM(0x1fd))+a0L[bM(0x2d4)][bM(0x114)]('exam\x20demo')),void console[bM(0x1c3)]();const K=a0ak();if(K){const a4=K['installedPackages'][bM(0x14a)],a5=a4+K[bM(0x278)]['length'];if(a4>=-0x7*0x9d+0x1*0xe06+-0xd*0xbf||(a5>0x1*0x108e+0x2*0xa0d+0x92a*-0x4?a4/a5:0x240d+0x1f*0x67+0x2*-0x1843)>=-0x1517+0x746+0xdd1*0x1+0.7)return console[bM(0x1c3)](),console[bM(0x1c3)](a0L['green'](bM(0xf4))+a0L[bM(0x24b)]('Environment\x20already\x20set\x20up')),console[bM(0x1c3)](a0L[bM(0x25a)](bM(0x2ec)+K[bM(0x2fd)][bM(0x225)]('T')[0x766+-0x179f+0x1039])),console['log'](a0L[bM(0x25a)](bM(0x34b)+K['pythonVersion'])),console[bM(0x1c3)](a0L[bM(0x25a)](bM(0x282)+a4+bM(0x1c7))),K[bM(0x278)][bM(0x14a)]>0x20c8+-0x2*0xbf1+-0x8e6&&console[bM(0x1c3)](a0L[bM(0x2f3)](bM(0x120)+K[bM(0x278)][bM(0x2cd)](',\x20'))),console[bM(0x1c3)](),console['log'](a0L[bM(0x2c4)]('\x20\x20Next\x20step:\x20')+a0L[bM(0x2d4)][bM(0x114)](bM(0x2b5))),console[bM(0x1c3)](a0L[bM(0x25a)](bM(0x408))+a0L[bM(0x2d4)][bM(0x114)]('back')+a0L[bM(0x25a)](bM(0xf1))),void console[bM(0x1c3)]();console['log'](),console[bM(0x1c3)](a0L[bM(0x2f3)](bM(0x27d)+a4+'/'+a5+'\x20packages.\x20Retrying...')),console[bM(0x1c3)]();}console[bM(0x1c3)](),a0ae(bM(0x2ff)),console[bM(0x1c3)](),console[bM(0x1c3)](a0L[bM(0x2c4)]('\x20\x20Installing\x20Python\x20packages\x20for\x20practical\x20questions.')),console['log'](a0L[bM(0x25a)]('\x20\x20Expected:\x201-2\x20minutes\x20·\x20~150MB\x20disk')),console[bM(0x1c3)]();const L=(a6,a7)=>{const bN=bM,a8=process['platform'];console[bN(0x1c3)](),a0aa(bN(0x10f)===a6?'Python\x203\x20not\x20found.':bN(0x156)+a7+bN(0x354)),console[bN(0x1c3)](),console[bN(0x1c3)](a0L[bN(0x2d4)][bN(0x2c4)](bN(0x217))),console[bN(0x1c3)](),bN(0x350)===a8?(console[bN(0x1c3)](a0L[bN(0x2f3)](bN(0x24e))),console[bN(0x1c3)](a0L[bN(0x24b)]('\x20\x20\x20\x20brew\x20install\x20python@3.12')),console[bN(0x1c3)](),console[bN(0x1c3)](a0L[bN(0x25a)](bN(0x306))),console[bN(0x1c3)](a0L['gray'](bN(0x193)))):bN(0x3bc)===a8?(console[bN(0x1c3)](a0L['yellow'](bN(0x36b))),console['log'](a0L['green'](bN(0x3c4))),console[bN(0x1c3)](a0L[bN(0x24b)](bN(0x386))),console['log'](a0L['green'](bN(0x22e))),console[bN(0x1c3)](a0L['gray'](bN(0x38d))),console[bN(0x1c3)](),console['log'](a0L[bN(0x2f3)](bN(0x2cc))),console['log'](a0L['green'](bN(0x382))),console[bN(0x1c3)](),console[bN(0x1c3)](a0L[bN(0x2f3)](bN(0x17b))),console[bN(0x1c3)](a0L[bN(0x24b)](bN(0x393)))):bN(0x107)===a8?(console[bN(0x1c3)](a0L[bN(0x2f3)]('\x20\x20Windows\x20(winget,\x20recommended):')),console[bN(0x1c3)](a0L[bN(0x24b)](bN(0x2c0))),console[bN(0x1c3)](),console[bN(0x1c3)](a0L[bN(0x25a)](bN(0x306))),console[bN(0x1c3)](a0L['gray'](bN(0x20a)))):console[bN(0x1c3)](a0L[bN(0x25a)](bN(0x36f))),console[bN(0x1c3)](),console[bN(0x1c3)](a0L['white'](bN(0x2c8))+a0L['bold'][bN(0x114)](bN(0x28c))),console['log']();},Q=bM(0x3bb);let V='';try{const a6={};a6[bM(0x1d0)]=bM(0x409),a6[bM(0x286)]=0x1388,V=a0an(Q+'\x20--version',a6)['trim']()[bM(0x273)](bM(0x156),'');const a7=V[bM(0x225)]('.')[bM(0x3f9)](Number);if(a7[-0x1287+0x1*-0x2531+0x1bdc*0x2]<0x15ce*0x1+-0x9aa+-0xc21||-0x2*0x21f+0x148e+-0x104d===a7[0x1388+0xff3+-0x237b*0x1]&&a7[-0xafe+0x23*0x14+0x843]<-0x2*0x128f+-0x24da+-0x4a02*-0x1)return void L(bM(0x349),V);-0x1a8*0x12+-0x2394*-0x1+-0x5c1===a7[-0x213e*-0x1+0x61b*-0x1+0x1b23*-0x1]&&a7[-0x1*0x2669+0xabc+0x3*0x93a]<-0x20a4+-0x3*-0x80e+-0x886*-0x1?console[bM(0x1c3)](a0L[bM(0x24b)]('\x20\x20✓\x20Python\x20'+V)+a0L[bM(0x25a)](bM(0x27b))):console[bM(0x1c3)](a0L[bM(0x24b)](bM(0x1bc)+V));}catch{return void L('missing');}try{const a8={};a8[bM(0x20b)]=bM(0x40b),a8[bM(0x286)]=0x1388,(a0an(Q+'\x20-m\x20pip\x20--version',a8),console['log'](a0L[bM(0x24b)](bM(0x212))));}catch{console['log'](a0L['yellow'](bM(0x2f4)));try{const a9={};a9[bM(0x20b)]=bM(0x40b),a9[bM(0x286)]=0x7530,(a0an(Q+bM(0x311),a9),console['log'](a0L[bM(0x24b)]('\x20\x20✓\x20pip\x20installed')));}catch{a0aa(bM(0x205)),console['log']();const {isInWSL:aa,isNativeWindowsCmd:ab}=await import('../lib/platform.js'),{execFileSync:ac}=await import(bM(0x314)),ad=aa(),ae=ab(),af='linux'===process[bM(0x32f)]&&!ad,ag=bM(0x350)===process[bM(0x32f)];let ah='your\x20Linux\x20distro';if(af||ad)try{const {readFileSync:ak}=await import('node:fs'),al=ak(bM(0x2e6),bM(0x409)),am=(al[bM(0x2c1)](/^ID="?([^"\n]+)/m)||[])[0xe5c+-0x2*-0x8+0xe6b*-0x1]||'',an=(al[bM(0x2c1)](/^VERSION_ID="?([^"\n]+)/m)||[])[0x2236+0x1a44+-0x3c79]||'';'ubuntu'===am?ah=bM(0x1ae)+an+(ad?bM(0x3ff):''):am&&(ah=''+am+(an?'\x20'+an:'')+(ad?'\x20(WSL2)':''));}catch{}let ai=!(-0x89b*-0x3+0x1a44+-0x6*0x8ae);if(ag)try{const ao={};ao['stdio']=bM(0x40b),ao[bM(0x286)]=0x7d0,(ac(bM(0x1bd),[bM(0xf6)],ao),ai=!(-0x8e*0x2f+0x6e*-0x5+0x1c38));}catch{ai=!(-0x171e+-0x18ad+-0x2fcc*-0x1);}const aj=ae?'⚠\x20\x20EXIT\x20icoa\x20first\x20—\x20installer\x20cannot\x20run\x20inside\x20the\x20prompt':bM(0x345);return console['log'](a0L[bM(0x2d4)][bM(0x2f3)]('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console['log'](a0L[bM(0x2d4)][bM(0x2f3)]('\x20\x20'+aj)),console[bM(0x1c3)](a0L[bM(0x2d4)]['yellow'](bM(0x128))),console[bM(0x1c3)](),af||ad?(console[bM(0x1c3)](a0L[bM(0x2c4)](bM(0x222))+a0L[bM(0x114)](ah)),console[bM(0x1c3)](a0L[bM(0x25a)](bM(0x228))),console['log'](),console[bM(0x1c3)](a0L['bold'][bM(0x2c4)](bM(0x106))),console[bM(0x1c3)](),console['log'](a0L[bM(0x2c4)](bM(0x1d8))+a0L[bM(0x2d4)][bM(0x114)](bM(0x32b))+a0L[bM(0x2c4)]('\x20and\x20press\x20Enter\x20to\x20leave\x20icoa')),console['log'](),console[bM(0x1c3)](a0L[bM(0x2c4)]('\x20\x20\x20\x202.\x20In\x20your\x20shell,\x20run:')),console[bM(0x1c3)](),console[bM(0x1c3)](bM(0x288)+a0L[bM(0x2d4)][bM(0x114)](bM(0x224))),console[bM(0x1c3)](bM(0x288)+a0L[bM(0x2d4)][bM(0x114)](bM(0x14e))),console[bM(0x1c3)](),console['log'](a0L[bM(0x2c4)](bM(0x406))),console[bM(0x1c3)](),console[bM(0x1c3)](bM(0x288)+a0L[bM(0x2d4)][bM(0x114)](bM(0x3a5))),console['log'](bM(0x288)+a0L[bM(0x25a)](bM(0x1b1))+'\x20'+a0L[bM(0x2d4)]['cyan']('exam\x20setup'))):ag?(console[bM(0x1c3)](a0L['white'](bM(0x222))+a0L[bM(0x114)]('macOS')),console[bM(0x1c3)](),console[bM(0x1c3)](a0L[bM(0x2d4)][bM(0x2c4)](bM(0x106))),console[bM(0x1c3)](),console[bM(0x1c3)](a0L['white'](bM(0x1d8))+a0L[bM(0x2d4)]['cyan'](bM(0x32b))+a0L[bM(0x2c4)](bM(0x1a2))),console[bM(0x1c3)](),ai?(console[bM(0x1c3)](a0L['white']('\x20\x20\x20\x202.\x20Reinstall\x20Python\x20with\x20pip\x20(Homebrew\x20detected\x20✓):')),console[bM(0x1c3)](),console['log']('\x20\x20\x20\x20\x20\x20\x20'+a0L[bM(0x2d4)][bM(0x114)](bM(0x31d))),console[bM(0x1c3)](bM(0x288)+a0L['bold'][bM(0x114)](bM(0x16e)))):(console['log'](a0L[bM(0x2c4)](bM(0x200))+a0L[bM(0x2d4)][bM(0x2f3)]('brew')+a0L[bM(0x2c4)]('):')),console['log'](),console[bM(0x1c3)](bM(0x288)+a0L[bM(0x2d4)][bM(0x114)](bM(0x16d))),console[bM(0x1c3)](),console[bM(0x1c3)](a0L['white'](bM(0x3f7))),console[bM(0x1c3)](),console[bM(0x1c3)](bM(0x288)+a0L[bM(0x2d4)][bM(0x114)]('brew\x20install\x20python@3.12'))),console[bM(0x1c3)](),console[bM(0x1c3)](a0L[bM(0x2c4)](bM(0x3ee))),console[bM(0x1c3)](),console[bM(0x1c3)](bM(0x288)+a0L[bM(0x2d4)][bM(0x114)]('icoa')),console[bM(0x1c3)](bM(0x288)+a0L['gray'](bM(0x1b1))+'\x20'+a0L['bold'][bM(0x114)](bM(0x28c)))):ae?(console[bM(0x1c3)](a0L[bM(0x2c4)](bM(0x222))+a0L[bM(0x114)]('Windows\x20native\x20(PowerShell\x20/\x20cmd)')),console[bM(0x1c3)](),console[bM(0x1c3)](a0L['bold']['yellow'](bM(0x3c7))),console[bM(0x1c3)](a0L[bM(0x25a)](bM(0x296))),console['log'](a0L[bM(0x25a)](bM(0x149))),console[bM(0x1c3)](a0L['gray'](bM(0x3a9))),console[bM(0x1c3)](),console[bM(0x1c3)](a0L[bM(0x2d4)][bM(0x2c4)](bM(0x122))),console[bM(0x1c3)](),console[bM(0x1c3)](a0L['white'](bM(0x1d8))+a0L[bM(0x2d4)]['cyan'](bM(0x32b))+a0L[bM(0x2c4)](bM(0x1a2))),console[bM(0x1c3)](a0L[bM(0x2c4)](bM(0x3de))),console[bM(0x1c3)](),console['log']('\x20\x20\x20\x20\x20\x20\x20'+a0L[bM(0x2d4)]['cyan'](bM(0x137))),console[bM(0x1c3)](),console[bM(0x1c3)](a0L[bM(0x25a)](bM(0x367))),console[bM(0x1c3)](a0L[bM(0x2c4)](bM(0x1a8))),console[bM(0x1c3)](),console['log'](bM(0x288)+a0L[bM(0x2d4)][bM(0x114)]('curl\x20-fsSL\x20https://deb.nodesource.com/setup_22.x\x20|\x20sudo\x20-E\x20bash\x20-')),console['log'](bM(0x288)+a0L[bM(0x2d4)][bM(0x114)]('sudo\x20apt\x20install\x20-y\x20nodejs\x20python3-pip\x20python3-venv')),console[bM(0x1c3)](bM(0x288)+a0L['bold'][bM(0x114)]('sudo\x20npm\x20install\x20-g\x20icoa-cli')),console[bM(0x1c3)](bM(0x288)+a0L[bM(0x2d4)]['cyan'](bM(0x3a5))),console['log'](),console['log'](a0L['gray']('\x20\x20───\x20Stay\x20on\x20native\x20Windows\x20(best-effort,\x20may\x20hit\x20PATH\x20issues)\x20───')),console[bM(0x1c3)](),console[bM(0x1c3)](a0L['white'](bM(0x1d8))+a0L[bM(0x2d4)]['cyan'](bM(0x32b))+a0L[bM(0x2c4)](bM(0x1a2))),console[bM(0x1c3)](a0L[bM(0x2c4)](bM(0x3cd))),console[bM(0x1c3)](),console[bM(0x1c3)](bM(0x288)+a0L[bM(0x2d4)][bM(0x114)]('winget\x20install\x20--id\x20Python.Python.3.12\x20-e')),console[bM(0x1c3)](),console[bM(0x1c3)](a0L[bM(0x25a)]('\x20\x20\x20\x20\x20\x20\x20(Or\x20download\x20from\x20python.org\x20and\x20CHECK\x20both\x20\x22Add\x20Python\x20to')),console['log'](a0L[bM(0x25a)](bM(0x16a))),console['log'](a0L[bM(0x2c4)](bM(0x299))),console[bM(0x1c3)](),console[bM(0x1c3)]('\x20\x20\x20\x20\x20\x20\x20'+a0L['bold'][bM(0x114)]('icoa')),console['log']('\x20\x20\x20\x20\x20\x20\x20'+a0L['gray']('icoa>')+'\x20'+a0L['bold']['cyan'](bM(0x28c)))):(console[bM(0x1c3)](a0L[bM(0x2c4)]('\x20\x20Detected:\x20unrecognized\x20platform\x20(')+a0L[bM(0x114)](process[bM(0x32f)])+a0L[bM(0x2c4)](')')),console[bM(0x1c3)](),console[bM(0x1c3)](a0L[bM(0x25a)](bM(0x323))),console[bM(0x1c3)](bM(0x288)+a0L['bold'][bM(0x114)](bM(0x3a5))),console[bM(0x1c3)](bM(0x288)+a0L[bM(0x25a)](bM(0x1b1))+'\x20'+a0L[bM(0x2d4)][bM(0x114)](bM(0x28c)))),console[bM(0x1c3)](),console[bM(0x1c3)](a0L[bM(0x25a)](bM(0x2e1))),void console['log']();}}const W={};W[bM(0x203)]=bM(0x3aa),W[bM(0x23e)]=bM(0x3ba),W[bM(0x3f3)]='z3',W['pillow']='PIL',W[bM(0xf3)]=bM(0x2b0),W[bM(0x22a)]=bM(0x321);const X=[bM(0xf3),bM(0x1d3),'requests','beautifulsoup4',bM(0x25c),'pillow','scapy',bM(0x14f),'z3-solver',bM(0x23e),bM(0x22a),bM(0x1bf),'regex'],Y=W;console[bM(0x1c3)](),console['log'](a0L[bM(0x2c4)]('\x20\x20Installing\x20'+X[bM(0x14a)]+bM(0x29e))),console['log']();let Z='';try{const ap={};ap['encoding']='utf-8',ap[bM(0x286)]=0x2710,a0an(Q+'\x20-m\x20pip\x20install\x20--dry-run\x20pip\x202>&1',ap);}catch(aq){const ar=String(aq?.[bM(0x3ea)]||aq?.[bM(0x2de)]||aq?.['message']||'');/externally-managed-environment|break-system-packages/i[bM(0x198)](ar)&&(Z=bM(0x3e4),console['log'](a0L[bM(0x2f3)](bM(0xff))),console[bM(0x1c3)]());}const a0=V[bM(0x225)]('.')['map'](Number);0x1e04*0x1+0xb87+-0x2988===a0[-0x1*0x250d+-0xdba+0x10ed*0x3]&&a0[0xf43*-0x1+-0x2c5*-0x7+-0x41f]>=0x2604+-0x96*0x3+-0x2c9*0xd&&(console[bM(0x1c3)](a0L['yellow'](bM(0x29b)+V+bM(0x20e))),console[bM(0x1c3)](a0L[bM(0x25a)](bM(0x131))),console['log'](a0L[bM(0x25a)](bM(0x26a))),bM(0x3bc)===process[bM(0x32f)]&&(console[bM(0x1c3)](a0L[bM(0x24b)](bM(0x389))),console['log'](a0L['green']('\x20\x20\x20\x20\x20\x20sudo\x20update-alternatives\x20--install\x20/usr/bin/python3\x20python3\x20/usr/bin/python3.12\x201'))),console['log']());const a1=[],a2=[];let a3='';for(const as of X)try{a0an(Q+'\x20-m\x20pip\x20install\x20\x22'+as+'\x22\x20'+Z+bM(0x398),{'encoding':'utf-8','timeout':0x2bf20,'stdio':bM(0x337)}),a0an(Q+bM(0x121)+(Y[as]||as)+'\x22',{'stdio':bM(0x40b),'timeout':0x2710});let at='';try{const au=a0an(Q+bM(0x2d2)+as+bM(0x3ef),{'encoding':'utf-8','timeout':0x1388})[bM(0x2c1)](/^Version:\s*(.+)$/m);au&&(at=au[-0x22ee+-0x9*-0x33d+0x4e*0x13][bM(0x265)]());}catch{}console[bM(0x1c3)](a0L['green'](bM(0xf4)+as)+(at?a0L[bM(0x25a)]('\x20('+at+')'):'')),a1[bM(0x1bb)](at?as+'=='+at:as);}catch(av){const aw=String(av?.['stdout']||av?.[bM(0x2de)]||av?.[bM(0x3a1)]||'')['slice'](-(-0x191b*0x1+-0x317+0x1dc2)),ax=aw[bM(0x225)]('\x0a')[bM(0x2eb)](ay=>ay['trim']())[bM(0x34d)](-(0x1*-0x1ef+0xf2f+-0xd3e))[bM(0x2cd)](bM(0x21a))[bM(0x34d)](0x108f+0x2704+-0x3793,0xbae+0x16*0x3d+-0x1074);console[bM(0x1c3)](a0L['red'](bM(0x3b4)+as)+a0L[bM(0x25a)]('\x20\x20'+ax)),a2[bM(0x1bb)]({'pkg':as,'error':ax}),a3||(a3=aw);}0x1*0x89b+-0xb3d*0x1+0x2a2===a1[bM(0x14a)]&&a3&&(console[bM(0x1c3)](),console[bM(0x1c3)](a0L[bM(0x2f3)](bM(0x332))),console['log'](a0L['gray']('\x20\x20'+a3[bM(0x225)]('\x0a')[bM(0x34d)](-(-0x1*-0x261f+0x9c4+-0x2fdd*0x1))[bM(0x2cd)](bM(0x33d))))),a0al({'completedAt':new Date()[bM(0x18d)](),'pythonVersion':V,'installedPackages':a1,'failedPackages':a2[bM(0x3f9)](ay=>ay['pkg'])}),console[bM(0x1c3)](),-0x1980+0x1*-0x2707+-0x4087*-0x1===a2[bM(0x14a)]?a0a9('Environment\x20ready!\x20All\x20'+X[bM(0x14a)]+bM(0x3d7)):-0x167f+-0x103d+-0x4*-0x9af===a1[bM(0x14a)]?(a0aa(bM(0x2a5)+X['length']+bM(0x3d7)),console[bM(0x1c3)](),console[bM(0x1c3)](a0L[bM(0x2f3)]('\x20\x20Troubleshooting:')),-0x94f*-0x2+0x2055+-0x14*0x28c===a0[-0x239*0xb+0x13a6+0x4cd*0x1]&&a0[-0x309+0x1c1d+-0x1913]>=0x1c84+0x27c+0x1a1*-0x13?(console[bM(0x1c3)](a0L['gray']('\x20\x20\x20\x20Python\x203.13\x20is\x20too\x20new\x20—\x20most\x20CTF\x20libraries\x20lack\x20wheels.')),console[bM(0x1c3)](a0L[bM(0x25a)](bM(0x163)))):(console[bM(0x1c3)](a0L[bM(0x25a)](bM(0x29d))),console[bM(0x1c3)](a0L[bM(0x25a)](bM(0x15d))+a0L[bM(0x114)](Q+bM(0x180))+a0L[bM(0x25a)](bM(0x194))),console[bM(0x1c3)](a0L['gray'](bM(0x292)))),console[bM(0x1c3)](),console['log'](a0L[bM(0x2c4)](bM(0x343))+a0L['bold'][bM(0x114)]('exam\x20setup'))):a0ab(a1[bM(0x14a)]+'/'+X['length']+bM(0x13a)+a2[bM(0x14a)]+bM(0x115)+a2[bM(0x3f9)](ay=>ay[bM(0x339)])[bM(0x2cd)](',\x20')),console[bM(0x1c3)](),console[bM(0x1c3)](a0L[bM(0x114)](bM(0x109))),console['log'](a0L['bold'][bM(0x2c4)](bM(0x383))),console['log'](a0L[bM(0x114)]('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console['log'](),console['log'](a0L[bM(0x2d4)][bM(0x2f3)]('\x20\x20Method\x201:\x20One-liner')+a0L[bM(0x25a)](bM(0x1f9))),console['log'](a0L[bM(0x2c4)](bM(0x319))),console['log'](a0L[bM(0x24b)](bM(0x1fe))),console[bM(0x1c3)](a0L['gray'](bM(0x208))),console[bM(0x1c3)](),console[bM(0x1c3)](a0L[bM(0x2d4)]['yellow'](bM(0x108))+a0L[bM(0x25a)](bM(0x3e9))),console[bM(0x1c3)](a0L[bM(0x2c4)](bM(0x301))),console[bM(0x1c3)](a0L['green']('\x20\x20\x20\x20!python3')),console[bM(0x1c3)](a0L[bM(0x25a)](bM(0x183))),console[bM(0x1c3)](a0L[bM(0x25a)](bM(0x1f7))),console[bM(0x1c3)](a0L[bM(0x25a)](bM(0x33c))),console[bM(0x1c3)](a0L[bM(0x25a)](bM(0x3f8))),console[bM(0x1c3)](a0L['gray'](bM(0x146))),console[bM(0x1c3)](),console['log'](a0L[bM(0x2d4)]['yellow'](bM(0x118))+a0L[bM(0x25a)](bM(0x353))),console[bM(0x1c3)](a0L['white'](bM(0x3c1))),console[bM(0x1c3)](a0L['green'](bM(0x1d5))),console[bM(0x1c3)](a0L[bM(0x25a)](bM(0x2e9))),console['log'](a0L['gray'](bM(0x40a))),console[bM(0x1c3)](a0L['gray']('\x20\x20\x20\x20key\x20=\x20xor(ct[:5],\x20b\x22ICOA{\x22)')),console['log'](a0L[bM(0x25a)](bM(0x364))),console['log'](a0L[bM(0x24b)](bM(0x201))),console[bM(0x1c3)](a0L['green']('\x20\x20\x20\x20!python3\x20solve.py')),console['log'](),console[bM(0x1c3)](a0L[bM(0x2d4)]['yellow']('\x20\x20AI\x20Assistant')),console[bM(0x1c3)](a0L[bM(0x2c4)](bM(0x17d))+a0L[bM(0x2d4)][bM(0x114)](bM(0x143))+a0L['white']('\x20to\x20ask\x20AI\x20for\x20help:')),console[bM(0x1c3)](a0L[bM(0x25a)](bM(0x1b7))),console[bM(0x1c3)](a0L[bM(0x25a)](bM(0x247))),console[bM(0x1c3)](a0L['gray'](bM(0x38a))),console[bM(0x1c3)](a0L[bM(0x114)]('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console[bM(0x1c3)](),console[bM(0x1c3)](a0L[bM(0x2c4)]('\x20\x20Next\x20step:\x20')+a0L[bM(0x2d4)][bM(0x114)](bM(0x2b5))),console[bM(0x1c3)](a0L[bM(0x25a)](bM(0x408))+a0L['bold'][bM(0x114)](bM(0x287))+a0L[bM(0x25a)](bM(0xf1))),console[bM(0x1c3)]();}),B[be(0x30d)](()=>{const bO=be;a0a8(bO(0x12e));const F=a0Y();if(F){a0ae(bO(0x3eb)+F['session'][bO(0x302)]),O();const J=Object['keys'](F[bO(0x358)])[bO(0x14a)];return a0af('Progress',J+'/'+F[bO(0x103)][bO(0x1a3)]+'\x20answered'),console[bO(0x1c3)](),void console[bO(0x1c3)](a0L[bO(0x25a)](bO(0x2d1)));}const G=a0a3(),H=a0ak();console[bO(0x1c3)](),a0ae(bO(0x23b)),console['log'](),-0x2c5*0x3+-0x5f5*-0x5+0x2*-0xabd===G[bO(0x25b)]?(console[bO(0x1c3)](a0L[bO(0x2f3)](bO(0x392))+a0L[bO(0x2f3)]('Recommended:\x20complete\x20demo\x20first')),console[bO(0x1c3)](a0L[bO(0x25a)](bO(0x239))+a0L['bold'][bO(0x114)](bO(0x3d2)))):(console[bO(0x1c3)](a0L['green'](bO(0x2e3))+a0L[bO(0x24b)](bO(0x246)+G[bO(0x25b)]+bO(0x369)+(-0xd00+0x11b7+-0x4b6!==G[bO(0x25b)]?'s':'')+')')),H?(console[bO(0x1c3)](a0L['green']('\x20\x20●\x20')+a0L[bO(0x24b)]('Environment\x20ready')),console[bO(0x1c3)](a0L[bO(0x2f3)](bO(0x392))+a0L[bO(0x2f3)](bO(0x3ac))),console['log'](a0L['gray'](bO(0x239))+a0L[bO(0x2d4)][bO(0x114)]('exam\x20<token>'))):(console[bO(0x1c3)](a0L[bO(0x2f3)](bO(0x392))+a0L[bO(0x2f3)](bO(0x221))),console[bO(0x1c3)](a0L[bO(0x25a)]('\x20\x20\x20\x20→\x20')+a0L[bO(0x2d4)]['cyan'](bO(0x28c))))),console['log']();});}
@@ -1 +1 @@
1
- import chalk from"chalk";import{createInterface as o}from"node:readline";import{spawn as e}from"node:child_process";import{existsSync as r}from"node:fs";import{dirname as n,join as l}from"node:path";import{fileURLToPath as t}from"node:url";import{loadCurriculum as a,loadCurriculumById as s,validateEAToken as c,syncProgress as i}from"../lib/learn-curricula.js";import{getConfig as u}from"../lib/config.js";import{loadLearnState as d,saveLearnState as m,newLearnState as g,updateStreak as y,markCardComplete as p,recordMCQ as f,markPracticalComplete as b,addAchievement as h}from"../lib/learn-state.js";import{renderWelcome as k,renderKnowledgeCard as w,renderMCQCard as x,renderMCQFeedback as v,renderPracticalCard as C,renderPracticalSuccess as A,renderSimDemoCard as E,renderMilestone as P,renderStatus as _}from"../lib/learn-render.js";import{printError as j}from"../lib/ui.js";export function registerLearnCommand(T){T.command("learn [token]").description("Enter learn mode (free if no token; team-issued EAxxxxxxxx for full curriculum)").action(async T=>{T&&T.trim()||(console.log(),console.log(chalk.gray(" No token given — starting free 11-card demo (")+chalk.bold.green("LEARNDEMO01")+chalk.gray(").")),console.log(chalk.gray(" Full curriculum (100/480 cards): ")+chalk.bold.yellow("learn EAxxxxxxxx")+chalk.gray(" — token from your country team leader.")),console.log(),T="LEARNDEMO01");const M=T.trim().toUpperCase();let S=a(M);if(!S&&/^EA[A-Z0-9]{8}$/i.test(M)){const o=u().ctfdUrl||"https://practice.icoa2026.au";console.log(),console.log(chalk.gray(" Validating EA token..."));const e=await c(M,o);if(!e.ok)return j(`Token validation failed: ${e.message}`),console.log(),console.log(chalk.gray(" Possible causes:")),console.log(chalk.gray(" · Token expired or revoked")),console.log(chalk.gray(" · Network down (check connection)")),console.log(chalk.gray(" · Typo in token")),void console.log();if(console.log(chalk.green(` ✓ Token valid · curriculum: ${e.curriculumId} · status: ${e.status}`)),S=await s(e.curriculumId||"LEARNDEMO01"),!S)return j(`Curriculum '${e.curriculumId}' not bundled in this CLI version.`),void console.log(chalk.gray(" Upgrade with: ")+chalk.bold.cyan("npm install -g icoa-cli@latest"))}if(!S)return j(`Unknown learn token: ${M}`),console.log(),console.log(chalk.gray(" Available tokens:")),console.log(chalk.gray(" ")+chalk.bold.green("LEARNDEMO01")+chalk.gray(" free 10-card demo (anyone can use)")),console.log(chalk.gray(" ")+chalk.bold.yellow("EAxxxxxxxx")+chalk.gray(" full curriculum (issued by team leader)")),console.log(),console.log(chalk.gray(" To get the full curriculum (n=480 cards, PhD-entry), email ")),console.log(chalk.gray(" ")+chalk.cyan("asra@icoa2026.au")+chalk.gray(" or ask your country's team leader.")),void console.log();let $=d(),q=!1;$&&$.token===M?y($):($=g(M,S.id,S.totalCards),q=!0),m($),k(S,$,q);const L=o({input:process.stdin,output:process.stdout,terminal:!0}),D=()=>{L.setPrompt(chalk.bold.cyan("learn> ")),L.prompt()};D();let I=null,N=null;const O=[],U=o=>S.cards.find(e=>e.number===o),R=()=>{const o=U($.currentCard);if(!o)return console.log(),console.log(chalk.gray(" No more cards in this curriculum.")),console.log(chalk.gray(" Type ")+chalk.bold.green("status")+chalk.gray(" for the dashboard or ")+chalk.bold.green("quit")+chalk.gray(" to exit.")),void console.log();switch(o.type){case"knowledge":w(o,S),p($,o.number),m($);break;case"mcq":x(o,S),I=o.number;break;case"practical":C(o,S),N=o.number;break;case"sim_demo":E(o,S),p($,o.number),m($);break;case"milestone":P(o,S),h($,o.badge),p($,o.number),m($)}};L.on("line",async o=>{const a=o.trim().toLowerCase();if(a){if("menu"===a||"menu confirm"===a){O.length>0&&await Promise.race([Promise.allSettled(O),new Promise(o=>setTimeout(o,3e3))]);const{returnToMainMenu:o}=await import("../lib/menu-nav.js");return void o(L)}if("quit"===a||"exit"===a||"q"===a)return O.length>0&&await Promise.race([Promise.allSettled(O),new Promise(o=>setTimeout(o,5e3))]),console.log(),console.log(chalk.gray(" Saved. See you next session.")),console.log(chalk.gray(" Streak: ")+chalk.yellow(`🔥 ${$.streakDays} day(s)`)),console.log(),void L.close();if("status"===a)return _(S,$),void D();if("sim"===a){const o=U($.currentCard);return o&&"sim_demo"===o.type?(function(o){const a=function(){const o=n(t(import.meta.url)),e=[l(o,"..","..","panda","mujoco-launcher.py"),l(o,"..","..","..","panda","mujoco-launcher.py")];for(const o of e)if(r(o))return o;return null}();if(!a)return console.log(chalk.yellow(" MuJoCo launcher not found.")),console.log(chalk.gray(" Get it from: https://github.com/newaipanda/ICOA_CLI/blob/main/panda/mujoco-launcher.py")),void console.log(chalk.gray(" Or use the sandbox-vla docker image (Phase 3)."));const s={baseline:"baseline",prompt_injected:"prompt_inj",patch_attacked:"patch",modality_confused:"confused"}[o]||"baseline";console.log(chalk.gray(` Launching MuJoCo viewer (scenario: ${s})...`)),console.log(chalk.gray(" Close the window or press ESC to return to learn mode.")),e("python3",[a,s,"--seconds","5"],{stdio:"inherit"}).on("exit",o=>{0!==o?console.log(chalk.yellow(` MuJoCo exited with code ${o} (install: pip install mujoco)`)):console.log(chalk.gray(" Returned from sim."))})}(o.simAction),void D()):(console.log(chalk.gray(" (sim only available on simulation cards)")),void D())}if("bookmark"===a){const o=$.currentCard;return $.bookmarks.includes(o)||$.bookmarks.push(o),m($),console.log(chalk.gray(` ✓ Card ${o} bookmarked.`)),void D()}if("back"===a)return $.currentCard>1&&($.currentCard-=1),I=null,N=null,m($),R(),void D();if(null!==I&&["a","b","c","d"].includes(a)){const o=U(I);if(o&&"mcq"===o.type){const e=a.toUpperCase(),r=e===o.answer;f($,o.number,{answer:e,correct:r,submittedAt:(new Date).toISOString()}),p($,o.number),m($),v(o,e,r,$);const n=u();return O.push(i(M,n.ctfdUrl||"https://practice.icoa2026.au",{card_number:o.number,event_type:"mcq_answered",mcq_answer:e,mcq_correct:r}).catch(()=>{})),I=null,void D()}}if(null!==N){if("done"===a){const o=U(N);if(o&&"practical"===o.type)return b($,o.number),p($,o.number),m($),A(o),N=null,void D()}if("skip"===a)return p($,N),m($),console.log(chalk.gray(" Skipped (counts as not completed).")),console.log(),N=null,void D()}if("ok"===a||"next"===a||"continue"===a||"n"===a)return null!==I?(console.log(chalk.yellow(" Please answer the MCQ first (A / B / C / D).")),void D()):null!==N?(console.log(chalk.yellow(" Please type ")+chalk.bold.green("done")+chalk.yellow(" or ")+chalk.bold.yellow("skip")+chalk.yellow(" for the practical.")),void D()):($.currentCard+=1,m($),$.currentCard>S.totalCards?(console.log(),console.log(chalk.bold.green(" 🎉 You've reached the end of the demo curriculum!")),console.log(chalk.gray(" Type ")+chalk.bold.green("status")+chalk.gray(" to see your full stats.")),console.log()):R(),void D());console.log(chalk.gray(" Unknown command. Try: ")+chalk.white("ok")+chalk.gray(" / ")+chalk.white("status")+chalk.gray(" / ")+chalk.white("quit")),D()}else D()}),L.on("close",async()=>{O.length>0&&await Promise.race([Promise.allSettled(O),new Promise(o=>setTimeout(o,5e3))]),process.exit(0)}),R(),D()})}
1
+ import chalk from"chalk";import{createInterface as o}from"node:readline";import{spawn as e}from"node:child_process";import{getMainRl as r}from"../lib/main-rl.js";import{existsSync as n}from"node:fs";import{dirname as l,join as t}from"node:path";import{fileURLToPath as a}from"node:url";import{loadCurriculum as s,loadCurriculumById as i,validateEAToken as c,syncProgress as u}from"../lib/learn-curricula.js";import{getConfig as d}from"../lib/config.js";import{loadLearnState as m,saveLearnState as g,newLearnState as y,updateStreak as p,markCardComplete as f,recordMCQ as b,markPracticalComplete as h,addAchievement as k}from"../lib/learn-state.js";import{renderWelcome as w,renderKnowledgeCard as x,renderMCQCard as v,renderMCQFeedback as C,renderPracticalCard as A,renderPracticalSuccess as E,renderSimDemoCard as P,renderMilestone as j,renderStatus as _}from"../lib/learn-render.js";import{printError as T}from"../lib/ui.js";export function registerLearnCommand(M){M.command("learn [token]").description("Enter learn mode (free if no token; team-issued EAxxxxxxxx for full curriculum)").action(async M=>{M&&M.trim()||(console.log(),console.log(chalk.gray(" No token given — starting free 11-card demo (")+chalk.bold.green("LEARNDEMO01")+chalk.gray(").")),console.log(chalk.gray(" Full curriculum (100/480 cards): ")+chalk.bold.yellow("learn EAxxxxxxxx")+chalk.gray(" — token from your country team leader.")),console.log(),M="LEARNDEMO01");const S=M.trim().toUpperCase();let $=s(S);if(!$&&/^EA[A-Z0-9]{8}$/i.test(S)){const o=d().ctfdUrl||"https://practice.icoa2026.au";console.log(),console.log(chalk.gray(" Validating EA token..."));const e=await c(S,o);if(!e.ok)return T(`Token validation failed: ${e.message}`),console.log(),console.log(chalk.gray(" Possible causes:")),console.log(chalk.gray(" · Token expired or revoked")),console.log(chalk.gray(" · Network down (check connection)")),console.log(chalk.gray(" · Typo in token")),void console.log();if(console.log(chalk.green(` ✓ Token valid · curriculum: ${e.curriculumId} · status: ${e.status}`)),$=await i(e.curriculumId||"LEARNDEMO01"),!$)return T(`Curriculum '${e.curriculumId}' not bundled in this CLI version.`),void console.log(chalk.gray(" Upgrade with: ")+chalk.bold.cyan("npm install -g icoa-cli@latest"))}if(!$)return T(`Unknown learn token: ${S}`),console.log(),console.log(chalk.gray(" Available tokens:")),console.log(chalk.gray(" ")+chalk.bold.green("LEARNDEMO01")+chalk.gray(" free 10-card demo (anyone can use)")),console.log(chalk.gray(" ")+chalk.bold.yellow("EAxxxxxxxx")+chalk.gray(" full curriculum (issued by team leader)")),console.log(),console.log(chalk.gray(" To get the full curriculum (n=480 cards, PhD-entry), email ")),console.log(chalk.gray(" ")+chalk.cyan("asra@icoa2026.au")+chalk.gray(" or ask your country's team leader.")),void console.log();let q=m(),L=!1;q&&q.token===S?p(q):(q=y(S,$.id,$.totalCards),L=!0),g(q),w($,q,L);const D=r();D?.pause();const I=o({input:process.stdin,output:process.stdout,terminal:!0}),N=()=>{I.setPrompt(chalk.bold.cyan("learn> ")),I.prompt()};N();let O=null,U=null;const R=[],J=o=>$.cards.find(e=>e.number===o),B=()=>{const o=J(q.currentCard);if(!o)return console.log(),console.log(chalk.gray(" No more cards in this curriculum.")),console.log(chalk.gray(" Type ")+chalk.bold.green("status")+chalk.gray(" for the dashboard or ")+chalk.bold.green("quit")+chalk.gray(" to exit.")),void console.log();switch(o.type){case"knowledge":x(o,$),f(q,o.number),g(q);break;case"mcq":v(o,$),O=o.number;break;case"practical":A(o,$),U=o.number;break;case"sim_demo":P(o,$),f(q,o.number),g(q);break;case"milestone":j(o,$),k(q,o.badge),f(q,o.number),g(q)}};I.on("line",async o=>{const r=o.trim().toLowerCase();if(r){if("menu"===r||"menu confirm"===r){R.length>0&&await Promise.race([Promise.allSettled(R),new Promise(o=>setTimeout(o,3e3))]);const{returnToMainMenu:o}=await import("../lib/menu-nav.js");return void o(I)}if("quit"===r||"exit"===r||"q"===r)return R.length>0&&await Promise.race([Promise.allSettled(R),new Promise(o=>setTimeout(o,5e3))]),console.log(),console.log(chalk.gray(" Saved. See you next session.")),console.log(chalk.gray(" Streak: ")+chalk.yellow(`🔥 ${q.streakDays} day(s)`)),console.log(),void I.close();if("status"===r)return _($,q),void N();if("sim"===r){const o=J(q.currentCard);return o&&"sim_demo"===o.type?(function(o){const r=function(){const o=l(a(import.meta.url)),e=[t(o,"..","..","panda","mujoco-launcher.py"),t(o,"..","..","..","panda","mujoco-launcher.py")];for(const o of e)if(n(o))return o;return null}();if(!r)return console.log(chalk.yellow(" MuJoCo launcher not found.")),console.log(chalk.gray(" Get it from: https://github.com/newaipanda/ICOA_CLI/blob/main/panda/mujoco-launcher.py")),void console.log(chalk.gray(" Or use the sandbox-vla docker image (Phase 3)."));const s={baseline:"baseline",prompt_injected:"prompt_inj",patch_attacked:"patch",modality_confused:"confused"}[o]||"baseline";console.log(chalk.gray(` Launching MuJoCo viewer (scenario: ${s})...`)),console.log(chalk.gray(" Close the window or press ESC to return to learn mode.")),e("python3",[r,s,"--seconds","5"],{stdio:"inherit"}).on("exit",o=>{0!==o?console.log(chalk.yellow(` MuJoCo exited with code ${o} (install: pip install mujoco)`)):console.log(chalk.gray(" Returned from sim."))})}(o.simAction),void N()):(console.log(chalk.gray(" (sim only available on simulation cards)")),void N())}if("bookmark"===r){const o=q.currentCard;return q.bookmarks.includes(o)||q.bookmarks.push(o),g(q),console.log(chalk.gray(` ✓ Card ${o} bookmarked.`)),void N()}if("back"===r)return q.currentCard>1&&(q.currentCard-=1),O=null,U=null,g(q),B(),void N();if(null!==O&&["a","b","c","d"].includes(r)){const o=J(O);if(o&&"mcq"===o.type){const e=r.toUpperCase(),n=e===o.answer;b(q,o.number,{answer:e,correct:n,submittedAt:(new Date).toISOString()}),f(q,o.number),g(q),C(o,e,n,q);const l=d();return R.push(u(S,l.ctfdUrl||"https://practice.icoa2026.au",{card_number:o.number,event_type:"mcq_answered",mcq_answer:e,mcq_correct:n}).catch(()=>{})),O=null,void N()}}if(null!==U){if("done"===r){const o=J(U);if(o&&"practical"===o.type)return h(q,o.number),f(q,o.number),g(q),E(o),U=null,void N()}if("skip"===r)return f(q,U),g(q),console.log(chalk.gray(" Skipped (counts as not completed).")),console.log(),U=null,void N()}if("ok"===r||"next"===r||"continue"===r||"n"===r)return null!==O?(console.log(chalk.yellow(" Please answer the MCQ first (A / B / C / D).")),void N()):null!==U?(console.log(chalk.yellow(" Please type ")+chalk.bold.green("done")+chalk.yellow(" or ")+chalk.bold.yellow("skip")+chalk.yellow(" for the practical.")),void N()):(q.currentCard+=1,g(q),q.currentCard>$.totalCards?(console.log(),console.log(chalk.bold.green(" 🎉 You've reached the end of the demo curriculum!")),console.log(chalk.gray(" Type ")+chalk.bold.green("status")+chalk.gray(" to see your full stats.")),console.log()):B(),void N());console.log(chalk.gray(" Unknown command. Try: ")+chalk.white("ok")+chalk.gray(" / ")+chalk.white("status")+chalk.gray(" / ")+chalk.white("quit")),N()}else N()}),I.on("close",async()=>{R.length>0&&await Promise.race([Promise.allSettled(R),new Promise(o=>setTimeout(o,5e3))]),D?.resume(),process.exit(0)}),B(),N()})}
package/dist/repl.js CHANGED
@@ -1 +1 @@
1
- import{createInterface as o}from"node:readline";import{spawn as e,execSync as t}from"node:child_process";import chalk from"chalk";import{isConnected as l,getConfig as n,saveConfig as s}from"./lib/config.js";import{isActivated as a,activateToken as r,isFreeCommand as i,isDeviceMatch as c,recordExit as g,recordResume as y,isFirstRunOrUpgrade as m,markVersionSeen as d}from"./lib/access.js";import{setReplMode as p}from"./lib/ui.js";import{returnToMainMenu as u,printMenuHint as h,menuHintInline as w}from"./lib/menu-nav.js";import{setMainRl as f}from"./lib/main-rl.js";import{isChatActive as b,handleChatMessage as x}from"./commands/ai4ctf.js";import{isCtf4aiActive as v,handleCtf4aiMessage as C}from"./commands/ctf4ai-demo.js";import{isVla4CtfActive as A,handleVla4CtfMessage as I}from"./commands/vla4ctf.js";import{isDemo2Active as k}from"./commands/demo2.js";import{getExamState as T,getRealExamState as $,getDemoState as S}from"./lib/exam-state.js";import{getDemoStats as O}from"./lib/demo-stats.js";import{isExamSetupComplete as P}from"./lib/exam-setup.js";import{DEMO_PICK_SIZE as E,DEMO_POOL_SIZE as L}from"./lib/demo-exam.js";import{isNativeWindowsCmd as q}from"./lib/platform.js";import{resetTerminalTheme as R}from"./lib/theme.js";import{ensureSandbox as j,runInSandbox as D,isDockerAvailable as N}from"./lib/sandbox.js";import{logCommand as F}from"./lib/logger.js";import{startLogSync as M,stopLogSync as U}from"./lib/log-sync.js";import{existsSync as W,mkdirSync as z,writeFileSync as B}from"node:fs";import{join as _}from"node:path";import{homedir as Q}from"node:os";function Y(){return $()?chalk.cyan("exam> "):S()?chalk.yellow("demo> "):chalk.green("icoa> ")}const V=_(Q(),"icoa-workspace");function J(){return W(V)||z(V,{recursive:!0}),V}const G=new Set(["sudo","su","doas","pkexec","brew","apt","apt-get","yum","choco","npm","npx","pip","pip3","shutdown","reboot","halt","mkfs","fdisk","dd","iptables","ufw"]),K="__REPL_NO_EXIT__",Z="2.5.1";function H(){const o=O(),e=P(),l=`Free practice — ${E} questions (from pool of ${L})`,n=q();if(console.log(),console.log(` ${chalk.cyan.bold("[Selection Mode]")}`),console.log(),n)console.log(chalk.gray(" Platform: ")+chalk.white("Windows cmd.exe")+chalk.gray(" — routed to Paper C (MCQ-only, 45 min, 70 pts, zero extra tools)")),console.log();else if(o.attempts>0){const o=function(){const o=["python3.12 --version","/opt/homebrew/opt/python@3.12/bin/python3.12 --version","/usr/local/opt/python@3.12/bin/python3.12 --version","python3 --version","python --version","py -3.12 --version","py -3 --version"];let e="",l="missing";for(const n of o)try{const o=t(n,{encoding:"utf-8",timeout:2e3,stdio:["ignore","pipe","ignore"]}).trim().replace("Python ",""),[s,a]=o.split(".").map(Number);if(3===s&&12===a)return{ok:!0,version:o,status:"ok"};e=o,l=3===s&&a>=10&&a<12?"old":3===s&&a>12?"new":"missing"}catch{}return{ok:"missing"!==l,version:e,status:l}}();"missing"===o.status?(console.log(chalk.yellow(" ⚠ Python not detected. For exam practical questions:")),console.log(chalk.gray(" → ")+chalk.bold.cyan("env python")+chalk.gray(" (platform install guide)")),console.log()):"new"===o.status&&(console.log(chalk.yellow(` ⚠ Python ${o.version} may lack CTF wheels. Python 3.12 recommended:`)),console.log(chalk.gray(" → ")+chalk.bold.cyan("env python")+chalk.gray(" (install guide)")),console.log())}if(0===o.attempts)console.log(chalk.white(" New here? Start with ")+chalk.bold.cyan("demo")+chalk.white(" — it takes a few minutes.")),console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.bold.cyan(" demo")+chalk.gray(` ${l}`)),console.log(chalk.white(" lang")+chalk.gray(" List all supported languages")),console.log(chalk.white(" lang es")+chalk.gray(" Switch language (e.g. lang es, lang zh, lang fr)")),console.log(chalk.gray(" ─────────────────────────────────────────────"));else if(e||n){const e=1===o.attempts?"attempt":"attempts";o.attempts>0&&console.log(chalk.green(" ✓ Demo completed ")+chalk.gray(`(${o.attempts} ${e})`)),n||console.log(chalk.green(" ✓ Environment ready")),console.log(chalk.yellow(" → Enter your exam token to begin.")),console.log(chalk.gray(" (10-char code from your organizer, starts with your country code like ")+chalk.cyan("UA")+chalk.gray(" — case-insensitive)")),console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.bold.yellow(" exam <token>")+chalk.gray(" Enter exam (primary action — use your organizer-issued token)")),console.log(chalk.gray(" format: ")+chalk.white("exam UAxxxxxxxx")+chalk.gray(" (2-letter country prefix + 8 chars)")),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.gray(" Other commands:")),console.log(chalk.white(" demo")+chalk.gray(` ${l}`)),n||console.log(chalk.white(" exam setup")+chalk.gray(" Re-verify tool environment")),console.log(chalk.white(" lang")+chalk.gray(" List all supported languages")),console.log(chalk.white(" lang es")+chalk.gray(" Switch language (e.g. lang es, lang zh, lang fr)")),console.log(chalk.gray(" ─────────────────────────────────────────────"))}else{const e=1===o.attempts?"attempt":"attempts";console.log(chalk.green(" ✓ Demo completed ")+chalk.gray(`(${o.attempts} ${e}${o.bestPercentage>0?` · best ${o.bestPercentage}%`:""})`)),console.log(chalk.yellow(" → Next: prepare your environment for the real exam.")),console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.white(" demo")+chalk.gray(` ${l}`)),console.log(chalk.bold.yellow(" exam setup")+chalk.gray(" Install tools for national selection (~150MB)")),console.log(chalk.white(" lang")+chalk.gray(" List all supported languages")),console.log(chalk.white(" lang es")+chalk.gray(" Switch language (e.g. lang es, lang zh, lang fr)")),console.log(chalk.gray(" ─────────────────────────────────────────────"))}console.log(chalk.gray(" ")+chalk.gray("Tip: ")+chalk.cyan("help")+chalk.gray(" for commands · ")+w()+chalk.gray(" · ")+chalk.cyan("Ctrl+C")+chalk.gray(" pauses · ")+chalk.cyan("quit")+chalk.gray(" closes")),console.log()}export async function startRepl(e,S){process.env.ICOA_INSIDE_REPL="1";const O=n(),P=l(),E=process.exit.bind(process),L=a();if(O.demoCleanedForVersion!==Z){try{const{existsSync:o,unlinkSync:e}=await import("node:fs"),{join:t}=await import("node:path"),{getIcoaDir:l}=await import("./lib/config.js"),n=t(l(),"demo-state.json");o(n)&&e(n)}catch{}s({demoCleanedForVersion:Z})}const{select:q,confirm:oo}=await import("@inquirer/prompts"),eo=O.mode||"",to=[{name:` ${chalk.bold("National Selection")} ${chalk.gray("—")} ${chalk.gray("demo, exam (lightweight)")}`,value:"selection"},{name:` ${chalk.bold("Embodied AI Security")} 🤖 ${chalk.gray("—")} ${chalk.gray("VLA4CTF Pioneer Round: demo, learn, Paper D (parallel track)")}`,value:"embodied"},{name:` ${chalk.bold("International Olympiad")} ${chalk.gray("—")} ${chalk.gray("CTF × AI (~500MB, advanced)")}`,value:"olympiad"},{name:` ${chalk.bold("National/Regional Partner")} ${chalk.gray("—")} ${chalk.gray("organizer tools (tokens, competitions)")}`,value:"organizer"},{name:` ${chalk.gray("About ICOA")} ${chalk.gray("·")} ${chalk.gray("Info & contact")}`,value:"about"}];console.log(chalk.gray(" Use ")+chalk.yellow("↑")+chalk.gray(" or ")+chalk.yellow("↓")+chalk.gray(" to select, ")+chalk.yellow("Enter")+chalk.gray(" to confirm.")),console.log();let lo="";for(;!lo;){const o=await q({message:"Mode",choices:to,default:eo||"selection"});"about"!==o?lo=o:(console.clear(),console.log(),console.log(chalk.cyan(" ═══════════════════════════════════════════════════")),console.log(chalk.bold.yellow(" ICOA")+chalk.white(" — AI-Native CLI OS for Cyber & AI Security")),console.log(chalk.gray(" Olympiad & Competition · K-12 to University")),console.log(chalk.cyan(" ───────────────────────────────────────────────────")),console.log(),console.log(chalk.bold.white(" What Makes ICOA Different")),console.log(chalk.gray(" · AI-native AI teammate, AI adversary, AI translation")),console.log(chalk.gray(" · CLI OS Complete competition environment in terminal")),console.log(chalk.gray(" · 110 tools pwntools, z3, gdb, nmap, sleuthkit... pre-configured")),console.log(chalk.gray(" · Global scale 15,000+ concurrent exams · 15 languages")),console.log(),console.log(chalk.bold.white(" Competition Format")),console.log(` ${chalk.green.bold("AI4CTF")}${chalk.gray(" [Day 1] AI as teammate — 5hr jeopardy CTF")}`),console.log(` ${chalk.red.bold("CTF4AI")}${chalk.gray(" [Day 2] Challenge AI — adversarial ML, red-team")}`),console.log(` ${chalk.cyan.bold("VLA4CTF")}${chalk.gray(" [Pioneer Round] Embodied AI — attack robot brains (NEW)")}`),console.log(),console.log(chalk.white(" Sydney, Australia")+chalk.gray(" · Jun 27 - Jul 2, 2026 · 40+ countries")),console.log(),console.log(chalk.bold.white(" Organized by")+chalk.gray(" ASRA (Australia) · ICO Foundation Inc")),console.log(chalk.bold.white(" Contact ")+chalk.cyan(" australia@icoa2026.au · accreditation@icoa2026.au")),console.log(chalk.bold.white(" Website ")+chalk.cyan.underline(" https://icoa2026.au")),console.log(chalk.cyan(" ═══════════════════════════════════════════════════")),console.log(),console.log(chalk.gray(" Press ")+chalk.yellow("Enter")+chalk.gray(" to return...")),await new Promise(o=>{const e=t=>{process.stdin.removeListener("data",e),process.stdin.isTTY&&process.stdin.setRawMode&&process.stdin.setRawMode(!1),process.stdin.pause(),o()};process.stdin.isTTY&&process.stdin.setRawMode&&process.stdin.setRawMode(!0),process.stdin.resume(),process.stdin.once("data",e)}),console.clear())}if("olympiad"===lo&&"olympiad"!==eo&&(console.log(),console.log(chalk.yellow(" This mode will download ~500MB of CTF tools and AI models.")),await oo({message:"Continue?",default:!0})||(lo="selection",console.log(chalk.gray(" Switched to National Selection mode.")))),lo!==eo&&s({mode:lo}),console.log(),"olympiad"===lo&&m(Z)){d(Z),console.log(chalk.gray(" Checking competition environment..."));const{execSync:o}=await import("node:child_process"),e=[{name:"pwntools",cmd:'python3 -c "import pwn"'},{name:"z3-solver",cmd:'python3 -c "import z3"'},{name:"numpy",cmd:'python3 -c "import numpy"'},{name:"requests",cmd:'python3 -c "import requests"'}];let t=0;for(const l of e)try{o(l.cmd,{stdio:"ignore"})}catch{t++}if(t>0){console.log(chalk.yellow(` ${t} core libraries missing.`));try{const{confirm:o}=await import("@inquirer/prompts");if(await o({message:" Install competition Python libraries now?",default:!0,theme:{prefix:"",style:{message:o=>chalk.green(o),defaultAnswer:o=>chalk.green(o)}}})){console.log();const{execSync:o}=await import("node:child_process");o("icoa env setup",{stdio:"inherit"})}}catch{console.log(chalk.gray(" Run ")+chalk.white("env setup")+chalk.gray(" later to install."))}console.log()}else console.log(chalk.green(" All core libraries ready.")),console.log()}if(S){const o=y();if(o){const e=Math.floor(o.awaySeconds/60),t=o.awaySeconds%60;console.log(chalk.yellow(` Session resumed. Away: ${e}m ${t}s | Total exits: ${o.exitCount}`)),console.log()}}"selection"===lo?H():"embodied"===lo?(console.log(chalk.cyan.bold(" [Embodied AI Security 🤖]")),console.log(),console.log(chalk.bold.cyan(" VLA4CTF")+chalk.gray(" — ICOA 2026's ")+chalk.bold.white("Pioneer Round")),console.log(chalk.gray(" an independent parallel track alongside the scored main events: ")+chalk.green("AI4CTF")+chalk.gray(" (Day 1) and ")+chalk.red("CTF4AI")+chalk.gray(" (Day 2)")),console.log(),console.log(chalk.white(" Embodied AI is at its ImageNet moment.")),console.log(chalk.gray(" VLA models, MuJoCo physics, real robot arms —")),console.log(chalk.gray(" real models, real physics — all on the ICOA stack.")),console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.bold.yellow(" First time? Try in order: ")+chalk.bold.cyan("① sim")+chalk.gray(" → ")+chalk.bold.cyan("② demo2")+chalk.gray(" → ")+chalk.bold.cyan("③ learn LEARNDEMO01")),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.bold.green(" sim")+chalk.gray(" ")+chalk.bold.cyan("①")+chalk.gray(" ")+chalk.bold.yellow("★ WOW")+chalk.gray(" — robot arm replay in seconds")),console.log(chalk.bold.green(" demo2")+chalk.gray(" ")+chalk.bold.cyan("②")+chalk.gray(" ~8 min interactive intro + live MuJoCo sim")),console.log(chalk.bold.green(" learn LEARNDEMO01")+chalk.gray(" ")+chalk.bold.cyan("③")+chalk.gray(" free 11-card intro (paste this command as-is)")),console.log(chalk.bold.green(" learn ")+chalk.bold.yellow("EAxxxxxxxx")+chalk.gray(" full 100/480-card curriculum (team-issued)")),console.log(chalk.bold.green(" exam ")+chalk.bold.yellow("PDxxxxxxxx")+chalk.gray(" Paper D (VLA4CTF) — national selection contestants")),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(),console.log(chalk.gray(" Three open tiers: ")+chalk.green("free 11")+chalk.gray(" · ")+chalk.yellow("registered 100")+chalk.gray(" · ")+chalk.bold.magenta("national team 480")+chalk.gray(" (PhD-ready)")),console.log(chalk.gray(" Country team contact: ")+chalk.cyan("australia@icoa2026.au")),console.log(),h(),console.log()):"organizer"===lo?(console.log(chalk.yellow.bold(" [National/Regional Partner]")),console.log(),console.log(chalk.bold.white(" ██╗ ██████╗ ██████╗ █████╗")),console.log(chalk.bold.white(" ██║██╔════╝██╔═══██╗██╔══██╗")),console.log(chalk.bold.white(" ██║██║ ██║ ██║███████║")),console.log(chalk.bold.white(" ██║██║ ██║ ██║██╔══██║")),console.log(chalk.bold.white(" ██║╚██████╗╚██████╔╝██║ ██║")),console.log(chalk.bold.white(" ╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝")),console.log(),console.log(chalk.yellow(" International Cyber Olympiad in AI 2026")),console.log(chalk.bold.magenta(" The World's First AI-Native CLI Operating System")),console.log(chalk.bold.magenta(" for Cybersecurity & AI Security Competition")),console.log(chalk.bold.magenta(" and Olympiad for K-12")),console.log(chalk.gray(" Sydney, Australia · Jun 27 - Jul 2, 2026")),console.log(),console.log(chalk.white(" Vision")),console.log(chalk.gray(" Building a global pipeline for youth cyber & AI")),console.log(chalk.gray(" security talent through education and competition.")),console.log(),console.log(chalk.white(" Capacity")),console.log(chalk.gray(" 15,000+ concurrent online examinations")),console.log(chalk.gray(" National selection, training, and education support")),console.log(),console.log(chalk.white(" Olympic Spirit")),console.log(chalk.gray(" Excellence · Friendship · Respect")),console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.white(" New country accreditation & support:")),console.log(chalk.cyan(" australia@icoa2026.au")),console.log(chalk.cyan(" accreditation@icoa2026.au")),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(),P?(console.log(chalk.green(` Logged in as ${O.userName}`)),console.log(chalk.white(" exam list")+chalk.gray(" Manage exams")),console.log(chalk.white(" logout")+chalk.gray(" Disconnect"))):console.log(chalk.white(" join <url>")+chalk.gray(" Connect to manage exams")),console.log(),h(),console.log()):L&&!c()?(console.log(chalk.red(" Token was activated on a different device.")),console.log(chalk.gray(" Contact organizer for assistance.")),console.log()):P?(console.log(chalk.green.bold(` Welcome back, ${O.userName}!`)),console.log(chalk.gray(` Connected to ${O.ctfdUrl}`)),console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.white(" Ready to compete? Start here:")),console.log(),console.log(chalk.bold.cyan(" challenges")+chalk.gray(" Browse challenges by category")),console.log(chalk.white(" status")+chalk.gray(" Your score & hint budget")),console.log(chalk.white(" scoreboard")+chalk.gray(" Live rankings")),console.log(chalk.white(" help")+chalk.gray(" Full command list")),console.log(),console.log(chalk.gray(" Tool environment:")),console.log(chalk.white(" env")+chalk.gray(" See which of the 110 CTF tools are installed")),console.log(chalk.white(" env setup")+chalk.gray(" Install anything missing (~5 min, one-time)")),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.gray(" Tip: ")+chalk.cyan("help")+chalk.gray(" · ")+w()+chalk.gray(" · ")+chalk.cyan("Ctrl+C")+chalk.gray(" pauses · ")+chalk.cyan("quit")+chalk.gray(" closes")),console.log()):L?(J(),console.log(chalk.green.bold(" Welcome, competitor!")),console.log(chalk.gray(` Workspace: ${V}`)),console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.white(" Get started:")),console.log(),console.log(chalk.white(" Step 1 ")+chalk.bold.cyan("join <url>")+chalk.gray(" Connect to competition server")),console.log(chalk.white(" Step 2 ")+chalk.bold.cyan("challenges")+chalk.gray(" Browse & solve challenges")),console.log(chalk.white(" Step 3 ")+chalk.bold.cyan("ai4ctf")+chalk.gray(" Ask AI when stuck")),console.log(),console.log(chalk.gray(" Before Step 1 — make sure your tools are ready:")),console.log(chalk.white(" env")+chalk.gray(" See which of the 110 CTF tools are installed")),console.log(chalk.white(" env setup")+chalk.gray(" Install anything missing (~5 min, one-time)")),console.log(),console.log(chalk.gray(" Also: ")+chalk.white("help")+chalk.gray(" all commands")),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.gray(" Tip: ")+chalk.cyan("Ctrl+C")+chalk.gray(" pauses · ")+w()+chalk.gray(" · ")+chalk.cyan("quit")+chalk.gray(" closes CLI")),console.log()):(console.log(chalk.bold.white(" Welcome to ICOA CLI — International Olympiad")),console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.white(" To begin, activate your competition token:")),console.log(),console.log(chalk.bold.cyan(" activate <token>")),console.log(),console.log(chalk.gray(" While waiting, explore:")),console.log(chalk.white(" ref linux")+chalk.gray(" Quick reference for Linux")),console.log(chalk.white(" ref web")+chalk.gray(" Quick reference for Web")),console.log(chalk.white(" env")+chalk.gray(" See which of the 110 CTF tools are installed")),console.log(chalk.white(" env setup")+chalk.gray(" Install anything missing (~5 min, one-time)")),console.log(chalk.white(" help")+chalk.gray(" All available commands")),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.gray(" Tip: ")+chalk.cyan("Ctrl+C")+chalk.gray(" pauses · ")+w()+chalk.gray(" · ")+chalk.cyan("quit")+chalk.gray(" closes CLI")),console.log()),e.exitOverride(),e.configureOutput({writeErr:()=>{},writeOut:o=>{console.log(o)}});const no=o({input:process.stdin,output:process.stdout,prompt:Y(),terminal:!0});f(no);let so=!1;p(!0),M();const ao=no.prompt.bind(no);no.prompt=o=>{b()||v()||A()||k()||no.setPrompt(Y()),ao(o)},no.prompt(),no.on("line",async o=>{if(so)return;const l=o.trim();if(!l)return no.setPrompt(b()?chalk.magenta("ai4ctf> "):Y()),void no.prompt();if("menu"===l||"menu confirm"===l)return $()&&"menu confirm"!==l?(console.log(),console.log(chalk.yellow(" Real exam active. Progress is auto-saved.")),console.log(chalk.gray(" To return to main menu anyway, type ")+chalk.white("menu confirm")),console.log(),void no.prompt()):void u(no);if(b()){so=!0;const o=await x(l);return so=!1,"exit"===o&&no.setPrompt(Y()),void no.prompt()}if(v()){so=!0;const o=await C(l);return so=!1,"exit"!==o&&"solved"!==o||no.setPrompt(Y()),void no.prompt()}if(A()){so=!0;const o=await I(l);return so=!1,"exit"===o&&no.setPrompt(Y()),no.setPrompt(A()?chalk.bold.cyan("vla4ctf> "):Y()),void no.prompt()}if(F(l),"exit"===l)return T()?(console.log(),console.log(chalk.yellow(" ⚠ An exam is in progress.")),console.log(chalk.white(" To return to menu without losing progress, type: ")+chalk.bold.cyan("back")),console.log(chalk.white(" To fully close ICOA CLI, type: ")+chalk.bold.cyan("quit")),console.log(chalk.gray(" Your progress is auto-saved either way.")),console.log(),void no.prompt()):(console.log(),console.log(chalk.gray(" ")+chalk.white("exit")+chalk.gray(" returns to the main menu. To fully close ICOA CLI, type ")+chalk.bold.cyan("quit")+chalk.gray(".")),"selection"===lo&&H(),void no.prompt());if("quit"===l||"q"===l||"quit confirm"===l){const o=T();return o&&"demo-free"!==o.session.examId&&"quit confirm"!==l?(console.log(),console.log(chalk.yellow(" ⚠ A real exam is in progress.")),console.log(chalk.gray(" Your answers are auto-saved on the server, but the exam timer keeps ticking")),console.log(chalk.gray(" on the server side even if you close the CLI.")),console.log(),console.log(chalk.white(" To leave the CLI but keep the exam alive, type: ")+chalk.bold.cyan("back")),console.log(chalk.gray(" (recommended — you can resume with ")+chalk.cyan("exam q 1")+chalk.gray(" after relaunching icoa)")),console.log(),console.log(chalk.white(" To really close ICOA CLI, type: ")+chalk.bold.cyan("quit confirm")),console.log(),void no.prompt()):(o&&"demo-free"===o.session.examId&&(console.log(),console.log(chalk.gray(" Demo paused. Resume with: ")+chalk.white("demo")+chalk.gray(" (fresh) or ")+chalk.white("exam q 1")+chalk.gray(" (continue)."))),U(),g(),console.log(chalk.gray(" Session saved. Use ")+chalk.white("icoa --resume")+chalk.gray(" to continue.")),R(),void E(0))}if("back"===l){const o=T(),e=o&&"demo-free"!==o.session.examId,t=o&&"demo-free"===o.session.examId&&(()=>{const e=new Date(o.session.startedAt||0).getTime();return Date.now()-e<18e5})();if(e)console.log(),console.log(chalk.gray(" Exam paused. Your progress is saved.")),console.log(chalk.white(" Resume: exam q 1")+chalk.gray(" · ")+chalk.white("exam review")+chalk.gray(" · ")+chalk.white("exam submit")),console.log();else if(t){const e=Object.keys(o.answers).length,t=o.session.questionCount;console.log(),console.log(chalk.gray(` Demo paused (${e}/${t} answered). Resume with: `)+chalk.white("exam q 1")),console.log(chalk.gray(" Or type ")+chalk.white("demo")+chalk.gray(" to restart.")),console.log()}else{if(o&&"demo-free"===o.session.examId){const{clearExamState:o}=await import("./lib/exam-state.js");o("demo-free")}const e=n();fetch("https://practice.icoa2026.au/api/icoa/demo-stats",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({type:"post-report-back",lang:e.language||"en",timestamp:(new Date).toISOString()}),signal:AbortSignal.timeout(5e3)}).catch(()=>{}),"selection"===lo?H():console.log(chalk.gray(" Already at main menu."))}return void no.prompt()}if("help"===l||"?"===l){if(T()){so=!0;try{await e.parseAsync(["node","icoa","exam","help"])}catch{}return so=!1,void no.prompt()}return function(o,e="olympiad"){console.log(),"selection"===e||"organizer"===e?(console.log(chalk.bold.white(" Exam")),console.log(chalk.white(" join <url> ")+chalk.gray("Connect to exam server")),console.log(chalk.white(" exam list ")+chalk.gray("Available exams")),console.log(chalk.white(" exam start <id> ")+chalk.gray("Begin an exam")),console.log(chalk.white(" exam q [n] ")+chalk.gray("View questions")),console.log(chalk.white(" exam answer <n> <X> ")+chalk.gray("Answer question")),console.log(chalk.white(" exam review ")+chalk.gray("Review all answers")),console.log(chalk.white(" exam submit ")+chalk.gray("Submit for grading")),console.log(chalk.white(" exam result ")+chalk.gray("View your score")),console.log(),console.log(chalk.bold.white(" System")),console.log(chalk.white(" ref [topic] ")+chalk.gray("Quick reference")),console.log(chalk.white(" setup ")+chalk.gray("Settings / switch mode")),console.log(chalk.white(" lang [code] ")+chalk.gray("Switch language")),console.log(chalk.white(" clear ")+chalk.gray("Clear screen")),console.log(chalk.white(" exit ")+chalk.gray("Quit")),console.log()):o?(console.log(chalk.cyan(" ═══════════════════════════════════════════════")),console.log(chalk.bold.white(" How it works")),console.log(),console.log(chalk.gray(" 1. Browse ")+chalk.white("challenges")+chalk.gray(" and pick one")),console.log(chalk.gray(" 2. ")+chalk.white("open <id>")+chalk.gray(" to read the challenge")),console.log(chalk.gray(" 3. Use ")+chalk.white("ai4ctf")+chalk.gray(" to chat with AI when stuck")),console.log(chalk.gray(" 4. ")+chalk.white("submit <id> icoa{flag}")+chalk.gray(" to score points")),console.log(chalk.gray(" 5. Check ")+chalk.white("scoreboard")+chalk.gray(" to track your rank")),console.log(chalk.cyan(" ═══════════════════════════════════════════════")),console.log(),console.log(chalk.bold.white(" Competition")),console.log(chalk.white(" join <url> ")+chalk.gray("Connect to CTFd")),console.log(chalk.white(" challenges (ch) ")+chalk.gray("List challenges by category")),console.log(chalk.white(" open <id> ")+chalk.gray("Read challenge + get next steps")),console.log(chalk.white(" submit <id> <flag> ")+chalk.gray("Submit a flag")),console.log(chalk.white(" scoreboard (sb) ")+chalk.gray("Live rankings")),console.log(chalk.white(" status ")+chalk.gray("Your score, budget & timer")),console.log(chalk.white(" time ")+chalk.gray("Countdown timer")),console.log(),console.log(chalk.bold.white(" AI Teammate")+chalk.gray(" — 3 levels, use wisely")),console.log(chalk.white(' hint "question" ')+chalk.gray("Level A — General guidance (50 uses)")),console.log(chalk.white(' hint-b "question" ')+chalk.gray("Level B — Deep analysis (10 uses)")),console.log(chalk.white(' hint-c "question" ')+chalk.gray("Level C — Critical assist (2 uses)")),console.log(chalk.white(" hint budget ")+chalk.gray("Check remaining uses")),console.log(chalk.white(" ai4ctf ")+chalk.gray("Free-chat with AI (no limit)")),console.log(),console.log(chalk.bold.white(" Tools")),console.log(chalk.white(" ref [topic] ")+chalk.gray("Quick reference (linux, web, crypto...)")),console.log(chalk.white(" shell ")+chalk.gray("Docker sandbox")),console.log(chalk.white(" files <id> ")+chalk.gray("Download challenge files")),console.log(chalk.white(" connect <id> ")+chalk.gray("Connect to remote target")),console.log(chalk.white(" note [text] ")+chalk.gray("Personal notepad")),console.log(chalk.white(" log ")+chalk.gray("Session history")),console.log(),console.log(chalk.bold.white(" System")),console.log(chalk.white(" setup ")+chalk.gray("Configure settings")),console.log(chalk.white(" lang [code] ")+chalk.gray("Switch language (15 supported)")),console.log(chalk.white(" logout ")+chalk.gray("Disconnect")),console.log(chalk.white(" clear ")+chalk.gray("Clear screen")),console.log(chalk.white(" exit ")+chalk.gray("Quit (session saved)")),console.log()):(console.log(chalk.bold.yellow(" Restricted Mode — activate with a token to unlock all commands")),console.log(),console.log(chalk.white(" activate <token> ")+chalk.gray("Unlock full access")),console.log(chalk.white(" ref [topic] ")+chalk.gray("Quick reference")),console.log(chalk.white(" exit ")+chalk.gray("Quit")),console.log())}(a(),lo),void no.prompt()}if("more help"===l.toLowerCase()&&T()){so=!0;try{await e.parseAsync(["node","icoa","exam","more-help"])}catch{}return so=!1,void no.prompt()}if("continue"===l.toLowerCase())return console.log(),console.log(chalk.green.bold(" ═══ AI4CTF — AI as Your Teammate ═══")),console.log(),console.log(chalk.white(" In AI4CTF, you solve cybersecurity challenges")),console.log(chalk.white(" with AI by your side.")),console.log(),console.log(chalk.white(" In competition, you get AI help at 3 levels:")),console.log(chalk.yellow(" hint a")+chalk.gray(" General guidance (50 uses)")),console.log(chalk.yellow(" hint b")+chalk.gray(" Deep analysis (10 uses)")),console.log(chalk.yellow(" hint c")+chalk.gray(" Critical assist (2 uses)")),console.log(),console.log(chalk.white(" Try it now! Type: ")+chalk.bold.green("ai4ctf")),console.log(chalk.gray(' Chat freely with your AI teammate. Type "exit" when done.')),console.log(),console.log(chalk.gray(" After ai4ctf, try: ")+chalk.bold.red("ctf4ai")+chalk.gray(' — trick the AI into saying "koala"')),console.log(),void no.prompt();if(/^ICOA-[A-Z]{2,3}-\d{1,6}$/i.test(l.trim())){so=!0;try{await e.parseAsync(["node","icoa","exam","token",l.trim()])}catch{}return so=!1,void no.prompt()}if(/^[A-Z]{2}[0-9A-HJKMNP-TV-Z]{8}$/i.test(l.trim())){so=!0;try{await e.parseAsync(["node","icoa","exam","token",l.trim().toUpperCase()])}catch{}return so=!1,void no.prompt()}const s=l.match(/^exam\s+([A-Z]{2}[0-9A-HJKMNP-TV-Z]{8})$/i);if(s){so=!0;try{await e.parseAsync(["node","icoa","exam","token",s[1].toUpperCase()])}catch{}return so=!1,void no.prompt()}const y=l.match(/^exam\s+([A-Z]{2,3})$/i);if(y){so=!0;try{await e.parseAsync(["node","icoa","exam","list",y[1]])}catch{}return so=!1,void no.prompt()}if("clear"===l||"cls"===l)return console.clear(),void no.prompt();if(l.startsWith("activate ")){const o=l.slice(9).trim(),e=r(o);return"ok"===e?console.log(chalk.green(" Access granted! Token bound to this device.")):"already_bound"===e?(console.log(),console.log(chalk.red(" Token already activated on a different device.")),console.log(chalk.gray(" Each token binds to the first device that uses it. If you lost the device,")),console.log(chalk.gray(" contact your proctor to have the token re-issued for a new device."))):(console.log(),console.log(chalk.red(" Token not recognized.")),console.log(chalk.gray(" Possible reasons:")),console.log(chalk.white(" • ")+chalk.gray("Typo — tokens are case-insensitive, 10 chars, start with a 2-letter country code (e.g. ")+chalk.cyan("UAK7M2R9Q4")+chalk.gray(")")),console.log(chalk.white(" • ")+chalk.gray("Expired — ask your proctor or organizer for a fresh token")),console.log(chalk.white(" • ")+chalk.gray("Network — verify connection to ")+chalk.cyan("practice.icoa2026.au")),console.log(chalk.gray(" Still stuck? type ")+chalk.cyan("help")+chalk.gray(" or try ")+chalk.cyan("exam demo")+chalk.gray(" for a free practice round."))),console.log(),void no.prompt()}if("activate"===l)return console.log(chalk.gray(" Usage: ")+chalk.white("activate <token>")),console.log(),void no.prompt();const m=T();if(m){const o=l.toUpperCase().trim(),t=o=>{const e=m.questions.find(e=>e.number===o);return!!e&&("ai4ctf"===e.type||"ctf4ai"===e.type||e.options&&!e.options.A&&!e.options.B)},n=o=>{const e="demo-free"!==m.session.examId,t=e&&o>=39?"ctf4ai":e&&o>=31?"ai4ctf":null;console.log(),console.log(chalk.yellow(` Q${o} is a practical question — letters (A/B/C/D) don't apply here.`)),t?(console.log(chalk.white(" Enter the AI chat for this question: ")+chalk.bold.cyan(t)),console.log(chalk.gray(" Or submit a flag directly: ")+chalk.green(`exam answer ${o} ICOA{your_flag}`))):console.log(chalk.gray(" Submit a flag: ")+chalk.green(`exam answer ${o} ICOA{your_flag}`)),console.log()};if(/^[ABCD]$/.test(o)){const l=m._lastQ||1;if(t(l))return n(l),void no.prompt();so=!0;try{await e.parseAsync(["node","icoa","exam","answer",String(l),o])}catch{}return so=!1,void no.prompt()}const s=o.match(/^(\d+)\s+([ABCD])$/);if(s){const o=parseInt(s[1],10);if(t(o))return n(o),void no.prompt();so=!0;try{await e.parseAsync(["node","icoa","exam","answer",s[1],s[2]])}catch{}return so=!1,void no.prompt()}}const d=l.split(/\s+/)[0].toLowerCase(),p=/^python3?(\.\d+)?$/.test(d),h=l.startsWith("!")||d.startsWith("!")||p;if("embodied"===lo&&!h&&!["demo2","learn","exam","vla4ctf","lang","ref","setup","env","sim"].includes(d))return console.log(chalk.gray(" Not available in Embodied AI Security mode.")),console.log(chalk.white(" Try ")+chalk.bold.cyan("demo2")+chalk.gray(" (intro) · ")+chalk.bold.cyan("learn")+chalk.gray(" (curriculum) · ")+chalk.bold.cyan("exam <PD-token>")+chalk.gray(" (Paper D)")),console.log(),void no.prompt();if("selection"===lo&&!h&&!["exam","demo","retry","nations","next","prev","continue","setup","lang","ref","ai4ctf","ctf4ai","mark","unmark","review","submit","env","sim"].includes(d)){if(console.log(chalk.gray(" Not available in Selection mode.")),m){const o=m._lastQ||1;console.log(chalk.white(` Resume exam: exam q ${o}`)+chalk.gray(" · ")+chalk.white("A/B/C/D")+chalk.gray(" to answer"))}else console.log(chalk.gray(" Try: demo · setup to switch mode"));return console.log(),void no.prompt()}if("organizer"===lo&&!["join","exam","demo","retry","next","prev","logout","setup","lang","ref","ctf","mark","unmark","review","submit"].includes(d))return console.log(chalk.gray(" Not available in Organizer mode. Switch via: setup")),console.log(),void no.prompt();if(!("olympiad"!==lo||a()&&c()||i(d)))return console.log(chalk.yellow(" Restricted mode. ")+chalk.gray("Enter your access token:")),console.log(chalk.white(" activate <token>")),console.log(),console.log(chalk.gray(" Free commands: ")+chalk.white("ref [topic]")+chalk.gray(", ")+chalk.white("help")+chalk.gray(", ")+chalk.white("exit")),console.log(),void no.prompt();if(!["join","activate","challenges","ch","open","submit","flag","scoreboard","sb","status","time","ref","shell","files","connect","note","log","lang","setup","env","ai4ctf","model","ctf","exam","demo","retry","nations","next","prev","continue","logout","ctf4ai","mark","unmark","review","submit","learn","demo2","vla4ctf","theme","sim"].includes(d)){if(G.has(d))return console.log(chalk.red(` Blocked: ${d} is not allowed during competition.`)),console.log(),void no.prompt();if(/(?:^|\s)(?:\/(?!home\/|Users\/|tmp\/)|\.\.\/|~\/)/.test(l)&&!l.startsWith("cd ")){const o=/(?:^|\s)\/(?!home\/\w+\/icoa-workspace|Users\/\w+\/icoa-workspace|tmp\/)/.test(l),e=/\.\./.test(l);if(o||e)return console.log(chalk.red(" Blocked: access outside workspace is not allowed.")),console.log(chalk.gray(` Workspace: ${V}`)),console.log(),void no.prompt()}let o=l.startsWith("!")?l.slice(1).trim():l;if("darwin"===process.platform){const e="/opt/homebrew/opt/python@3.12/bin/python3.12";o=o.replace(/^python3?\s/,`${e} `).replace(/^(python3|python)$/,e)}else if("win32"===process.platform){const e=(()=>{try{return t("py -3 --version",{stdio:["ignore","ignore","ignore"],timeout:1500}),"py -3"}catch{}return"python"})();o=o.replace(/^python3?(\.\d+)?\s/,`${e} `).replace(/^python3?(\.\d+)?$/,e)}else{const e=(()=>{try{return t("which python3.12",{stdio:"ignore"}),"python3.12"}catch{return"python3"}})();o=o.replace(/^python\s/,`${e} `).replace(/^python$/,e)}const e=J();/^(\S*python3?(\.\d+)?)\s*$/.test(o)&&(o=`PYTHONSTARTUP="${function(){const o=_(Q(),".icoa");W(o)||z(o,{recursive:!0});const e=_(o,"python-startup.py");return W(e)||B(e,"# ICOA exam interactive startup — auto-loaded by PYTHONSTARTUP\nimport base64, struct, hashlib, re, json, os, sys, binascii\ntry: import requests\nexcept ImportError: pass\ntry: from Crypto.Cipher import AES\nexcept ImportError: pass\ntry: from Crypto.Util.Padding import pad, unpad\nexcept ImportError: pass\ntry: from pwn import xor, p32, u32, p64, u64\nexcept ImportError: pass\ntry: import bs4\nexcept ImportError: pass\ntry: import numpy as np\nexcept ImportError: pass\n"),e}()}" ${o}`,console.log(),console.log(chalk.cyan(" ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━")),console.log(chalk.bold.white(" Python ready — ICOA exam toolkit pre-loaded")),console.log(chalk.cyan(" ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━")),console.log(),console.log(chalk.white(" Already imported: ")+chalk.gray("base64, struct, hashlib, re, json, binascii")),console.log(chalk.white(" Also available: ")+chalk.gray("requests, bs4, numpy, AES, pad/unpad, xor, p32/u32/p64/u64")),console.log(),console.log(chalk.yellow(" Quick examples:")),console.log(chalk.gray(' base64.b64decode("aGVsbG8=") ')+chalk.gray("# decode base64")),console.log(chalk.gray(' bytes.fromhex("48656c6c6f") ')+chalk.gray("# hex → bytes")),console.log(chalk.gray(' "ICOA{x}".encode() ')+chalk.gray("# str → bytes")),console.log(chalk.gray(" [chr(c) for c in [73,67,79,65]] ")+chalk.gray("# ASCII codes")),console.log(chalk.gray(' xor(bytes.fromhex("0a2b"), b"IC") ')+chalk.gray("# pwntools XOR")),console.log(),console.log(chalk.gray(" Exit: ")+chalk.white("exit()")+chalk.gray(" or Ctrl-D")),console.log(chalk.cyan(" ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━")),console.log()),so=!0;try{N()&&await j()?await D(o,no):await X(o,no,e)}catch{console.log(chalk.yellow(` Command failed: ${d}`))}return so=!1,console.log(),void no.prompt()}so=!0;const w=l.trim(),f=w.toLowerCase();let k,S=null,O="";if(m)if("submit"===f)S="final";else if(f.startsWith("submit ")){let o=w.slice(7).trim();/^submit\s+/i.test(o)&&(o=o.replace(/^submit\s+/i,"").trim()),o=o.replace(/^["'`]+|["'`]+$/g,"").trim(),o&&/^ICOA\{[^}]*\}?$/i.test(o)&&(S="flag",O=o)}else/^ICOA\{[^}]+\}$/i.test(w)&&(S="flag",O=w);k="final"===S?["exam","submit"]:"flag"===S?["exam","answer",String(m?._lastQ||1),O]:function(o){const e=o.split(/\s+/),t=e[0].toLowerCase(),l=e.slice(1),n={demo:["exam","demo"],retry:["exam","demo-retry"],nations:["exam","nations"],next:["exam","next"],prev:["exam","prev"],mark:["exam","mark",...l],unmark:["exam","unmark",...l],review:["exam","review"],logout:["ctf","logout"],join:["ctf","join",...l],activate:["ctf","activate",...l],challenges:["ctf","challenges"],ch:["ctf","challenges"],open:["ctf","open",...l],submit:["ctf","submit",...l],flag:["ctf","submit",...l],scoreboard:["ctf","scoreboard",...l],sb:["ctf","scoreboard",...l],status:["ctf","status"],time:["ctf","time"]};return n[t]?n[t]:["ref","shell","files","connect","note","log","lang","setup","env","ai4ctf","model","ctf","exam","ctf4ai"].includes(t)?[t,...l]:e}(l);const P="ctf"===k[0]&&"join"===k[1];P&&no.pause(),process.exit=()=>{throw new Error(K)};try{await e.parseAsync(["node","icoa",...k])}catch(o){const e=o instanceof Error?o.message:String(o);if(e===K);else if(e.includes("commander.unknownCommand")){const{distance:o}=await import("fastest-levenshtein"),e=["ctf","ref","shell","files","connect","note","log","lang","setup","env","ai4ctf","exam","ctf4ai","theme","clear","cls","quit","exit","back","menu","help","continue","activate","demo","challenges","status","scoreboard","join","logout"],t=d.split(/\s+/)[0]||d;let l={word:"",dist:1/0};for(const n of e){const e=o(t.toLowerCase(),n);e<l.dist&&(l={word:n,dist:e})}console.log(chalk.yellow(` Unknown command: ${d}.`)),l.dist>0&&l.dist<=2&&console.log(chalk.gray(" Did you mean: ")+chalk.bold.cyan(l.word)+chalk.gray("?")),console.log(chalk.gray(" Type ")+chalk.cyan("help")+chalk.gray(" for the full command list."))}else e.includes("commander.")||(e.includes("fetch failed")||e.includes("ECONNREFUSED")||e.includes("ETIMEDOUT"))&&console.log(chalk.yellow(" Network error. Check your connection."))}finally{process.exit=E,so=!1,P&&no.resume()}b()?no.setPrompt(chalk.magenta("ai4ctf> ")):v()?no.setPrompt(chalk.red("ctf4ai> ")):A()&&no.setPrompt(chalk.bold.cyan("vla4ctf> ")),console.log(),no.prompt()}),no.on("SIGINT",()=>{if(console.log(),b()||v())console.log(chalk.yellow(" Ctrl+C did not close ICOA CLI — you are still in the AI chat.")),console.log(chalk.white(" Type ")+chalk.bold.cyan("exit")+chalk.white(" to leave the chat and return to the menu."));else if(T()){const o="demo-free"!==T().session.examId;console.log(chalk.yellow(" Ctrl+C did NOT close ICOA CLI.")),console.log(chalk.gray(` Your ${o?"exam":"demo"} is paused and every answer is auto-saved.`)),console.log(),console.log(chalk.white(" Resume: ")+chalk.cyan("exam q 1")+chalk.gray(" · Back to menu: ")+chalk.cyan("back")+chalk.gray(" · Close CLI: ")+chalk.cyan(o?"quit confirm":"quit"))}else console.log(chalk.yellow(" Ctrl+C did not close ICOA CLI — you are still at the ")+chalk.cyan("icoa>")+chalk.yellow(" prompt.")),console.log(chalk.gray(" Keep typing — ")+chalk.cyan("help")+chalk.gray(" lists commands. (Only ")+chalk.cyan("quit")+chalk.gray(" or Ctrl+D actually close the CLI.)"));console.log(),no.prompt()}),no.on("close",()=>{U(),g(),R(),E(0)})}function X(o,t,l){return new Promise(n=>{const s=process.stdin,a=!!s.isTTY&&!!s.isRaw;if(t.pause(),s.isTTY&&"function"==typeof s.setRawMode)try{s.setRawMode(!1)}catch{}const r=e(o,{shell:!0,stdio:"inherit",cwd:l||process.cwd()}),i=()=>{if(s.isTTY&&"function"==typeof s.setRawMode&&a)try{s.setRawMode(!0)}catch{}t.resume(),n()};r.on("close",i),r.on("error",i)})}
1
+ import{createInterface as o}from"node:readline";import{spawn as e,execSync as t}from"node:child_process";import chalk from"chalk";import{isConnected as l,getConfig as n,saveConfig as s}from"./lib/config.js";import{isActivated as a,activateToken as r,isFreeCommand as i,isDeviceMatch as c,recordExit as g,recordResume as y,isFirstRunOrUpgrade as m,markVersionSeen as d}from"./lib/access.js";import{setReplMode as p}from"./lib/ui.js";import{returnToMainMenu as u,printMenuHint as h,menuHintInline as w}from"./lib/menu-nav.js";import{setMainRl as f}from"./lib/main-rl.js";import{isChatActive as b,handleChatMessage as x}from"./commands/ai4ctf.js";import{isCtf4aiActive as v,handleCtf4aiMessage as C}from"./commands/ctf4ai-demo.js";import{isVla4CtfActive as A,handleVla4CtfMessage as I}from"./commands/vla4ctf.js";import{isDemo2Active as k}from"./commands/demo2.js";import{getExamState as T,getRealExamState as $,getDemoState as S}from"./lib/exam-state.js";import{getDemoStats as O}from"./lib/demo-stats.js";import{isExamSetupComplete as P}from"./lib/exam-setup.js";import{DEMO_PICK_SIZE as E,DEMO_POOL_SIZE as L}from"./lib/demo-exam.js";import{isNativeWindowsCmd as R}from"./lib/platform.js";import{resetTerminalTheme as q}from"./lib/theme.js";import{ensureSandbox as j,runInSandbox as D,isDockerAvailable as N}from"./lib/sandbox.js";import{logCommand as F}from"./lib/logger.js";import{startLogSync as M,stopLogSync as U}from"./lib/log-sync.js";import{existsSync as W,mkdirSync as z,writeFileSync as B}from"node:fs";import{join as _}from"node:path";import{homedir as Q}from"node:os";function Y(){return $()?chalk.cyan("exam> "):S()?chalk.yellow("demo> "):chalk.green("icoa> ")}const V=_(Q(),"icoa-workspace");function J(){return W(V)||z(V,{recursive:!0}),V}const G=new Set(["sudo","su","doas","pkexec","brew","apt","apt-get","yum","choco","npm","npx","pip","pip3","shutdown","reboot","halt","mkfs","fdisk","dd","iptables","ufw"]),K="__REPL_NO_EXIT__",Z="2.5.1";function H(){const o=O(),e=P(),l=`Free practice — ${E} questions (from pool of ${L})`,n=R();if(console.log(),console.log(` ${chalk.cyan.bold("[Selection Mode]")}`),console.log(),n)console.log(chalk.gray(" Platform: ")+chalk.white("Windows cmd.exe")+chalk.gray(" — routed to Paper C (MCQ-only, 45 min, 70 pts, zero extra tools)")),console.log();else if(o.attempts>0){const o=function(){const o=["python3.12 --version","/opt/homebrew/opt/python@3.12/bin/python3.12 --version","/usr/local/opt/python@3.12/bin/python3.12 --version","python3 --version","python --version","py -3.12 --version","py -3 --version"];let e="",l="missing";for(const n of o)try{const o=t(n,{encoding:"utf-8",timeout:2e3,stdio:["ignore","pipe","ignore"]}).trim().replace("Python ",""),[s,a]=o.split(".").map(Number);if(3===s&&12===a)return{ok:!0,version:o,status:"ok"};e=o,l=3===s&&a>=10&&a<12?"old":3===s&&a>12?"new":"missing"}catch{}return{ok:"missing"!==l,version:e,status:l}}();"missing"===o.status?(console.log(chalk.yellow(" ⚠ Python not detected. For exam practical questions:")),console.log(chalk.gray(" → ")+chalk.bold.cyan("env python")+chalk.gray(" (platform install guide)")),console.log()):"new"===o.status&&(console.log(chalk.yellow(` ⚠ Python ${o.version} may lack CTF wheels. Python 3.12 recommended:`)),console.log(chalk.gray(" → ")+chalk.bold.cyan("env python")+chalk.gray(" (install guide)")),console.log())}if(0===o.attempts)console.log(chalk.white(" New here? Start with ")+chalk.bold.cyan("demo")+chalk.white(" — it takes a few minutes.")),console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.bold.cyan(" demo")+chalk.gray(` ${l}`)),console.log(chalk.white(" lang")+chalk.gray(" List all supported languages")),console.log(chalk.white(" lang es")+chalk.gray(" Switch language (e.g. lang es, lang zh, lang fr)")),console.log(chalk.gray(" ─────────────────────────────────────────────"));else if(e||n){const e=1===o.attempts?"attempt":"attempts";o.attempts>0&&console.log(chalk.green(" ✓ Demo completed ")+chalk.gray(`(${o.attempts} ${e})`)),n||console.log(chalk.green(" ✓ Environment ready")),console.log(chalk.yellow(" → Enter your exam token to begin.")),console.log(chalk.gray(" (10-char code from your organizer, starts with your country code like ")+chalk.cyan("UA")+chalk.gray(" — case-insensitive)")),console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.bold.yellow(" exam <token>")+chalk.gray(" Enter exam (primary action — use your organizer-issued token)")),console.log(chalk.gray(" format: ")+chalk.white("exam UAxxxxxxxx")+chalk.gray(" (2-letter country prefix + 8 chars)")),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.gray(" Other commands:")),console.log(chalk.white(" demo")+chalk.gray(` ${l}`)),n||console.log(chalk.white(" exam setup")+chalk.gray(" Re-verify tool environment")),console.log(chalk.white(" lang")+chalk.gray(" List all supported languages")),console.log(chalk.white(" lang es")+chalk.gray(" Switch language (e.g. lang es, lang zh, lang fr)")),console.log(chalk.gray(" ─────────────────────────────────────────────"))}else{const e=1===o.attempts?"attempt":"attempts";console.log(chalk.green(" ✓ Demo completed ")+chalk.gray(`(${o.attempts} ${e}${o.bestPercentage>0?` · best ${o.bestPercentage}%`:""})`)),console.log(chalk.yellow(" → Next: prepare your environment for the real exam.")),console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.white(" demo")+chalk.gray(` ${l}`)),console.log(chalk.bold.yellow(" exam setup")+chalk.gray(" Install tools for national selection (~150MB)")),console.log(chalk.white(" lang")+chalk.gray(" List all supported languages")),console.log(chalk.white(" lang es")+chalk.gray(" Switch language (e.g. lang es, lang zh, lang fr)")),console.log(chalk.gray(" ─────────────────────────────────────────────"))}console.log(chalk.gray(" ")+chalk.gray("Tip: ")+chalk.cyan("help")+chalk.gray(" for commands · ")+w()+chalk.gray(" · ")+chalk.cyan("Ctrl+C")+chalk.gray(" pauses · ")+chalk.cyan("quit")+chalk.gray(" closes")),console.log()}export async function startRepl(e,S){process.env.ICOA_INSIDE_REPL="1";const O=n(),P=l(),E=process.exit.bind(process),L=a();if(O.demoCleanedForVersion!==Z){try{const{existsSync:o,unlinkSync:e}=await import("node:fs"),{join:t}=await import("node:path"),{getIcoaDir:l}=await import("./lib/config.js"),n=t(l(),"demo-state.json");o(n)&&e(n)}catch{}s({demoCleanedForVersion:Z})}const{select:R,confirm:oo}=await import("@inquirer/prompts"),eo=O.mode||"",to=[{name:` ${chalk.bold("National Selection")} ${chalk.gray("—")} ${chalk.gray("demo, exam (lightweight)")}`,value:"selection"},{name:` ${chalk.bold("Embodied AI Security")} 🤖 ${chalk.gray("—")} ${chalk.gray("VLA4CTF Pioneer Round: demo, learn, Paper D (parallel track)")}`,value:"embodied"},{name:` ${chalk.bold("International Olympiad")} ${chalk.gray("—")} ${chalk.gray("CTF × AI (~500MB, advanced)")}`,value:"olympiad"},{name:` ${chalk.bold("National/Regional Partner")} ${chalk.gray("—")} ${chalk.gray("organizer tools (tokens, competitions)")}`,value:"organizer"},{name:` ${chalk.gray("About ICOA")} ${chalk.gray("·")} ${chalk.gray("Info & contact")}`,value:"about"}];console.log(chalk.gray(" Use ")+chalk.yellow("↑")+chalk.gray(" or ")+chalk.yellow("↓")+chalk.gray(" to select, ")+chalk.yellow("Enter")+chalk.gray(" to confirm.")),console.log();let lo="";for(;!lo;){const o=await R({message:"Mode",choices:to,default:eo||"selection"});"about"!==o?lo=o:(console.clear(),console.log(),console.log(chalk.cyan(" ═══════════════════════════════════════════════════")),console.log(chalk.bold.yellow(" ICOA")+chalk.white(" — AI-Native CLI OS for Cyber & AI Security")),console.log(chalk.gray(" Olympiad & Competition · K-12 to University")),console.log(chalk.cyan(" ───────────────────────────────────────────────────")),console.log(),console.log(chalk.bold.white(" What Makes ICOA Different")),console.log(chalk.gray(" · AI-native AI teammate, AI adversary, AI translation")),console.log(chalk.gray(" · CLI OS Complete competition environment in terminal")),console.log(chalk.gray(" · 110 tools pwntools, z3, gdb, nmap, sleuthkit... pre-configured")),console.log(chalk.gray(" · Global scale 15,000+ concurrent exams · 15 languages")),console.log(),console.log(chalk.bold.white(" Competition Format")),console.log(` ${chalk.green.bold("AI4CTF")}${chalk.gray(" [Day 1] AI as teammate — 5hr jeopardy CTF")}`),console.log(` ${chalk.red.bold("CTF4AI")}${chalk.gray(" [Day 2] Challenge AI — adversarial ML, red-team")}`),console.log(` ${chalk.cyan.bold("VLA4CTF")}${chalk.gray(" [Pioneer Round] Embodied AI — attack robot brains (NEW)")}`),console.log(),console.log(chalk.white(" Sydney, Australia")+chalk.gray(" · Jun 27 - Jul 2, 2026 · 40+ countries")),console.log(),console.log(chalk.bold.white(" Organized by")+chalk.gray(" ASRA (Australia) · ICO Foundation Inc")),console.log(chalk.bold.white(" Contact ")+chalk.cyan(" australia@icoa2026.au · accreditation@icoa2026.au")),console.log(chalk.bold.white(" Website ")+chalk.cyan.underline(" https://icoa2026.au")),console.log(chalk.cyan(" ═══════════════════════════════════════════════════")),console.log(),console.log(chalk.gray(" Press ")+chalk.yellow("Enter")+chalk.gray(" to return...")),await new Promise(o=>{const e=t=>{process.stdin.removeListener("data",e),process.stdin.isTTY&&process.stdin.setRawMode&&process.stdin.setRawMode(!1),process.stdin.pause(),o()};process.stdin.isTTY&&process.stdin.setRawMode&&process.stdin.setRawMode(!0),process.stdin.resume(),process.stdin.once("data",e)}),console.clear())}if("olympiad"===lo&&"olympiad"!==eo&&(console.log(),console.log(chalk.yellow(" This mode will download ~500MB of CTF tools and AI models.")),await oo({message:"Continue?",default:!0})||(lo="selection",console.log(chalk.gray(" Switched to National Selection mode.")))),lo!==eo&&s({mode:lo}),console.log(),"olympiad"===lo&&m(Z)){d(Z),console.log(chalk.gray(" Checking competition environment..."));const{execSync:o}=await import("node:child_process"),e=[{name:"pwntools",cmd:'python3 -c "import pwn"'},{name:"z3-solver",cmd:'python3 -c "import z3"'},{name:"numpy",cmd:'python3 -c "import numpy"'},{name:"requests",cmd:'python3 -c "import requests"'}];let t=0;for(const l of e)try{o(l.cmd,{stdio:"ignore"})}catch{t++}if(t>0){console.log(chalk.yellow(` ${t} core libraries missing.`));try{const{confirm:o}=await import("@inquirer/prompts");if(await o({message:" Install competition Python libraries now?",default:!0,theme:{prefix:"",style:{message:o=>chalk.green(o),defaultAnswer:o=>chalk.green(o)}}})){console.log();const{execSync:o}=await import("node:child_process");o("icoa env setup",{stdio:"inherit"})}}catch{console.log(chalk.gray(" Run ")+chalk.white("env setup")+chalk.gray(" later to install."))}console.log()}else console.log(chalk.green(" All core libraries ready.")),console.log()}if(S){const o=y();if(o){const e=Math.floor(o.awaySeconds/60),t=o.awaySeconds%60;console.log(chalk.yellow(` Session resumed. Away: ${e}m ${t}s | Total exits: ${o.exitCount}`)),console.log()}}"selection"===lo?H():"embodied"===lo?(console.log(chalk.cyan.bold(" [Embodied AI Security 🤖]")),console.log(),console.log(chalk.bold.cyan(" VLA4CTF")+chalk.gray(" — ICOA 2026's ")+chalk.bold.white("Pioneer Round")),console.log(chalk.gray(" an independent parallel track alongside the scored main events: ")+chalk.green("AI4CTF")+chalk.gray(" (Day 1) and ")+chalk.red("CTF4AI")+chalk.gray(" (Day 2)")),console.log(),console.log(chalk.white(" Embodied AI is at its ImageNet moment.")),console.log(chalk.gray(" VLA models, MuJoCo physics, real robot arms.")),console.log(chalk.gray(" Real models, real physics, real attack surfaces.")),console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.bold.yellow(" First time? Try in order: ")+chalk.bold.cyan("① sim")+chalk.gray(" → ")+chalk.bold.cyan("② demo2")+chalk.gray(" → ")+chalk.bold.cyan("③ learn LEARNDEMO01")),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.bold.green(" sim")+chalk.gray(" ")+chalk.bold.cyan("①")+chalk.gray(" ")+chalk.bold.yellow("★ WOW")+chalk.gray(" — robot arm replay in seconds")),console.log(chalk.bold.green(" demo2")+chalk.gray(" ")+chalk.bold.cyan("②")+chalk.gray(" ~8 min interactive intro + live MuJoCo sim")),console.log(chalk.bold.green(" learn LEARNDEMO01")+chalk.gray(" ")+chalk.bold.cyan("③")+chalk.gray(" free 11-card intro (paste this command as-is)")),console.log(chalk.bold.green(" learn ")+chalk.bold.yellow("EAxxxxxxxx")+chalk.gray(" full 100/480-card curriculum (team-issued)")),console.log(chalk.bold.green(" exam ")+chalk.bold.yellow("PDxxxxxxxx")+chalk.gray(" Paper D (VLA4CTF) — national selection contestants")),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(),console.log(chalk.gray(" Three open tiers: ")+chalk.green("free 11")+chalk.gray(" · ")+chalk.yellow("registered 100")+chalk.gray(" · ")+chalk.bold.magenta("national team 480")+chalk.gray(" (PhD-ready)")),console.log(chalk.gray(" Country team contact: ")+chalk.cyan("australia@icoa2026.au")),console.log(),h(),console.log()):"organizer"===lo?(console.log(chalk.yellow.bold(" [National/Regional Partner]")),console.log(),console.log(chalk.bold.white(" ██╗ ██████╗ ██████╗ █████╗")),console.log(chalk.bold.white(" ██║██╔════╝██╔═══██╗██╔══██╗")),console.log(chalk.bold.white(" ██║██║ ██║ ██║███████║")),console.log(chalk.bold.white(" ██║██║ ██║ ██║██╔══██║")),console.log(chalk.bold.white(" ██║╚██████╗╚██████╔╝██║ ██║")),console.log(chalk.bold.white(" ╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝")),console.log(),console.log(chalk.yellow(" International Cyber Olympiad in AI 2026")),console.log(chalk.bold.magenta(" The World's First AI-Native CLI Operating System")),console.log(chalk.bold.magenta(" for Cybersecurity & AI Security Competition")),console.log(chalk.bold.magenta(" and Olympiad for K-12")),console.log(chalk.gray(" Sydney, Australia · Jun 27 - Jul 2, 2026")),console.log(),console.log(chalk.white(" Vision")),console.log(chalk.gray(" Building a global pipeline for youth cyber & AI")),console.log(chalk.gray(" security talent through education and competition.")),console.log(),console.log(chalk.white(" Capacity")),console.log(chalk.gray(" 15,000+ concurrent online examinations")),console.log(chalk.gray(" National selection, training, and education support")),console.log(),console.log(chalk.white(" Olympic Spirit")),console.log(chalk.gray(" Excellence · Friendship · Respect")),console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.white(" New country accreditation & support:")),console.log(chalk.cyan(" australia@icoa2026.au")),console.log(chalk.cyan(" accreditation@icoa2026.au")),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(),P?(console.log(chalk.green(` Logged in as ${O.userName}`)),console.log(chalk.white(" exam list")+chalk.gray(" Manage exams")),console.log(chalk.white(" logout")+chalk.gray(" Disconnect"))):console.log(chalk.white(" join <url>")+chalk.gray(" Connect to manage exams")),console.log(),h(),console.log()):L&&!c()?(console.log(chalk.red(" Token was activated on a different device.")),console.log(chalk.gray(" Contact organizer for assistance.")),console.log()):P?(console.log(chalk.green.bold(` Welcome back, ${O.userName}!`)),console.log(chalk.gray(` Connected to ${O.ctfdUrl}`)),console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.white(" Ready to compete? Start here:")),console.log(),console.log(chalk.bold.cyan(" challenges")+chalk.gray(" Browse challenges by category")),console.log(chalk.white(" status")+chalk.gray(" Your score & hint budget")),console.log(chalk.white(" scoreboard")+chalk.gray(" Live rankings")),console.log(chalk.white(" help")+chalk.gray(" Full command list")),console.log(),console.log(chalk.gray(" Tool environment:")),console.log(chalk.white(" env")+chalk.gray(" See which of the 110 CTF tools are installed")),console.log(chalk.white(" env setup")+chalk.gray(" Install anything missing (~5 min, one-time)")),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.gray(" Tip: ")+chalk.cyan("help")+chalk.gray(" · ")+w()+chalk.gray(" · ")+chalk.cyan("Ctrl+C")+chalk.gray(" pauses · ")+chalk.cyan("quit")+chalk.gray(" closes")),console.log()):L?(J(),console.log(chalk.green.bold(" Welcome, competitor!")),console.log(chalk.gray(` Workspace: ${V}`)),console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.white(" Get started:")),console.log(),console.log(chalk.white(" Step 1 ")+chalk.bold.cyan("join <url>")+chalk.gray(" Connect to competition server")),console.log(chalk.white(" Step 2 ")+chalk.bold.cyan("challenges")+chalk.gray(" Browse & solve challenges")),console.log(chalk.white(" Step 3 ")+chalk.bold.cyan("ai4ctf")+chalk.gray(" Ask AI when stuck")),console.log(),console.log(chalk.gray(" Before Step 1 — make sure your tools are ready:")),console.log(chalk.white(" env")+chalk.gray(" See which of the 110 CTF tools are installed")),console.log(chalk.white(" env setup")+chalk.gray(" Install anything missing (~5 min, one-time)")),console.log(),console.log(chalk.gray(" Also: ")+chalk.white("help")+chalk.gray(" all commands")),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.gray(" Tip: ")+chalk.cyan("Ctrl+C")+chalk.gray(" pauses · ")+w()+chalk.gray(" · ")+chalk.cyan("quit")+chalk.gray(" closes CLI")),console.log()):(console.log(chalk.bold.white(" Welcome to ICOA CLI — International Olympiad")),console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.white(" To begin, activate your competition token:")),console.log(),console.log(chalk.bold.cyan(" activate <token>")),console.log(),console.log(chalk.gray(" While waiting, explore:")),console.log(chalk.white(" ref linux")+chalk.gray(" Quick reference for Linux")),console.log(chalk.white(" ref web")+chalk.gray(" Quick reference for Web")),console.log(chalk.white(" env")+chalk.gray(" See which of the 110 CTF tools are installed")),console.log(chalk.white(" env setup")+chalk.gray(" Install anything missing (~5 min, one-time)")),console.log(chalk.white(" help")+chalk.gray(" All available commands")),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.gray(" Tip: ")+chalk.cyan("Ctrl+C")+chalk.gray(" pauses · ")+w()+chalk.gray(" · ")+chalk.cyan("quit")+chalk.gray(" closes CLI")),console.log()),e.exitOverride(),e.configureOutput({writeErr:()=>{},writeOut:o=>{console.log(o)}});const no=o({input:process.stdin,output:process.stdout,prompt:Y(),terminal:!0});f(no);let so=!1;p(!0),M();const ao=no.prompt.bind(no);no.prompt=o=>{b()||v()||A()||k()||no.setPrompt(Y()),ao(o)},no.prompt(),no.on("line",async o=>{if(so)return;const l=o.trim();if(!l)return no.setPrompt(b()?chalk.magenta("ai4ctf> "):Y()),void no.prompt();if("menu"===l||"menu confirm"===l)return $()&&"menu confirm"!==l?(console.log(),console.log(chalk.yellow(" Real exam active. Progress is auto-saved.")),console.log(chalk.gray(" To return to main menu anyway, type ")+chalk.white("menu confirm")),console.log(),void no.prompt()):void u(no);if(b()){so=!0;const o=await x(l);return so=!1,"exit"===o&&no.setPrompt(Y()),void no.prompt()}if(v()){so=!0;const o=await C(l);return so=!1,"exit"!==o&&"solved"!==o||no.setPrompt(Y()),void no.prompt()}if(A()){so=!0;const o=await I(l);return so=!1,"exit"===o&&no.setPrompt(Y()),no.setPrompt(A()?chalk.bold.cyan("vla4ctf> "):Y()),void no.prompt()}if(F(l),"exit"===l)return T()?(console.log(),console.log(chalk.yellow(" ⚠ An exam is in progress.")),console.log(chalk.white(" To return to menu without losing progress, type: ")+chalk.bold.cyan("back")),console.log(chalk.white(" To fully close ICOA CLI, type: ")+chalk.bold.cyan("quit")),console.log(chalk.gray(" Your progress is auto-saved either way.")),console.log(),void no.prompt()):(console.log(),console.log(chalk.gray(" ")+chalk.white("exit")+chalk.gray(" returns to the main menu. To fully close ICOA CLI, type ")+chalk.bold.cyan("quit")+chalk.gray(".")),"selection"===lo&&H(),void no.prompt());if("quit"===l||"q"===l||"quit confirm"===l){const o=T();return o&&"demo-free"!==o.session.examId&&"quit confirm"!==l?(console.log(),console.log(chalk.yellow(" ⚠ A real exam is in progress.")),console.log(chalk.gray(" Your answers are auto-saved on the server, but the exam timer keeps ticking")),console.log(chalk.gray(" on the server side even if you close the CLI.")),console.log(),console.log(chalk.white(" To leave the CLI but keep the exam alive, type: ")+chalk.bold.cyan("back")),console.log(chalk.gray(" (recommended — you can resume with ")+chalk.cyan("exam q 1")+chalk.gray(" after relaunching icoa)")),console.log(),console.log(chalk.white(" To really close ICOA CLI, type: ")+chalk.bold.cyan("quit confirm")),console.log(),void no.prompt()):(o&&"demo-free"===o.session.examId&&(console.log(),console.log(chalk.gray(" Demo paused. Resume with: ")+chalk.white("demo")+chalk.gray(" (fresh) or ")+chalk.white("exam q 1")+chalk.gray(" (continue)."))),U(),g(),console.log(chalk.gray(" Session saved. Use ")+chalk.white("icoa --resume")+chalk.gray(" to continue.")),q(),void E(0))}if("back"===l){const o=T(),e=o&&"demo-free"!==o.session.examId,t=o&&"demo-free"===o.session.examId&&(()=>{const e=new Date(o.session.startedAt||0).getTime();return Date.now()-e<18e5})();if(e)console.log(),console.log(chalk.gray(" Exam paused. Your progress is saved.")),console.log(chalk.white(" Resume: exam q 1")+chalk.gray(" · ")+chalk.white("exam review")+chalk.gray(" · ")+chalk.white("exam submit")),console.log();else if(t){const e=Object.keys(o.answers).length,t=o.session.questionCount;console.log(),console.log(chalk.gray(` Demo paused (${e}/${t} answered). Resume with: `)+chalk.white("exam q 1")),console.log(chalk.gray(" Or type ")+chalk.white("demo")+chalk.gray(" to restart.")),console.log()}else{if(o&&"demo-free"===o.session.examId){const{clearExamState:o}=await import("./lib/exam-state.js");o("demo-free")}const e=n();fetch("https://practice.icoa2026.au/api/icoa/demo-stats",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({type:"post-report-back",lang:e.language||"en",timestamp:(new Date).toISOString()}),signal:AbortSignal.timeout(5e3)}).catch(()=>{}),"selection"===lo?H():console.log(chalk.gray(" Already at main menu."))}return void no.prompt()}if("help"===l||"?"===l){if(T()){so=!0;try{await e.parseAsync(["node","icoa","exam","help"])}catch{}return so=!1,void no.prompt()}return function(o,e="olympiad"){console.log(),"selection"===e||"organizer"===e?(console.log(chalk.bold.white(" Exam")),console.log(chalk.white(" join <url> ")+chalk.gray("Connect to exam server")),console.log(chalk.white(" exam list ")+chalk.gray("Available exams")),console.log(chalk.white(" exam start <id> ")+chalk.gray("Begin an exam")),console.log(chalk.white(" exam q [n] ")+chalk.gray("View questions")),console.log(chalk.white(" exam answer <n> <X> ")+chalk.gray("Answer question")),console.log(chalk.white(" exam review ")+chalk.gray("Review all answers")),console.log(chalk.white(" exam submit ")+chalk.gray("Submit for grading")),console.log(chalk.white(" exam result ")+chalk.gray("View your score")),console.log(),console.log(chalk.bold.white(" System")),console.log(chalk.white(" ref [topic] ")+chalk.gray("Quick reference")),console.log(chalk.white(" setup ")+chalk.gray("Settings / switch mode")),console.log(chalk.white(" lang [code] ")+chalk.gray("Switch language")),console.log(chalk.white(" clear ")+chalk.gray("Clear screen")),console.log(chalk.white(" exit ")+chalk.gray("Quit")),console.log()):o?(console.log(chalk.cyan(" ═══════════════════════════════════════════════")),console.log(chalk.bold.white(" How it works")),console.log(),console.log(chalk.gray(" 1. Browse ")+chalk.white("challenges")+chalk.gray(" and pick one")),console.log(chalk.gray(" 2. ")+chalk.white("open <id>")+chalk.gray(" to read the challenge")),console.log(chalk.gray(" 3. Use ")+chalk.white("ai4ctf")+chalk.gray(" to chat with AI when stuck")),console.log(chalk.gray(" 4. ")+chalk.white("submit <id> icoa{flag}")+chalk.gray(" to score points")),console.log(chalk.gray(" 5. Check ")+chalk.white("scoreboard")+chalk.gray(" to track your rank")),console.log(chalk.cyan(" ═══════════════════════════════════════════════")),console.log(),console.log(chalk.bold.white(" Competition")),console.log(chalk.white(" join <url> ")+chalk.gray("Connect to CTFd")),console.log(chalk.white(" challenges (ch) ")+chalk.gray("List challenges by category")),console.log(chalk.white(" open <id> ")+chalk.gray("Read challenge + get next steps")),console.log(chalk.white(" submit <id> <flag> ")+chalk.gray("Submit a flag")),console.log(chalk.white(" scoreboard (sb) ")+chalk.gray("Live rankings")),console.log(chalk.white(" status ")+chalk.gray("Your score, budget & timer")),console.log(chalk.white(" time ")+chalk.gray("Countdown timer")),console.log(),console.log(chalk.bold.white(" AI Teammate")+chalk.gray(" — 3 levels, use wisely")),console.log(chalk.white(' hint "question" ')+chalk.gray("Level A — General guidance (50 uses)")),console.log(chalk.white(' hint-b "question" ')+chalk.gray("Level B — Deep analysis (10 uses)")),console.log(chalk.white(' hint-c "question" ')+chalk.gray("Level C — Critical assist (2 uses)")),console.log(chalk.white(" hint budget ")+chalk.gray("Check remaining uses")),console.log(chalk.white(" ai4ctf ")+chalk.gray("Free-chat with AI (no limit)")),console.log(),console.log(chalk.bold.white(" Tools")),console.log(chalk.white(" ref [topic] ")+chalk.gray("Quick reference (linux, web, crypto...)")),console.log(chalk.white(" shell ")+chalk.gray("Docker sandbox")),console.log(chalk.white(" files <id> ")+chalk.gray("Download challenge files")),console.log(chalk.white(" connect <id> ")+chalk.gray("Connect to remote target")),console.log(chalk.white(" note [text] ")+chalk.gray("Personal notepad")),console.log(chalk.white(" log ")+chalk.gray("Session history")),console.log(),console.log(chalk.bold.white(" System")),console.log(chalk.white(" setup ")+chalk.gray("Configure settings")),console.log(chalk.white(" lang [code] ")+chalk.gray("Switch language (15 supported)")),console.log(chalk.white(" logout ")+chalk.gray("Disconnect")),console.log(chalk.white(" clear ")+chalk.gray("Clear screen")),console.log(chalk.white(" exit ")+chalk.gray("Quit (session saved)")),console.log()):(console.log(chalk.bold.yellow(" Restricted Mode — activate with a token to unlock all commands")),console.log(),console.log(chalk.white(" activate <token> ")+chalk.gray("Unlock full access")),console.log(chalk.white(" ref [topic] ")+chalk.gray("Quick reference")),console.log(chalk.white(" exit ")+chalk.gray("Quit")),console.log())}(a(),lo),void no.prompt()}if("more help"===l.toLowerCase()&&T()){so=!0;try{await e.parseAsync(["node","icoa","exam","more-help"])}catch{}return so=!1,void no.prompt()}if("continue"===l.toLowerCase())return console.log(),console.log(chalk.green.bold(" ═══ AI4CTF — AI as Your Teammate ═══")),console.log(),console.log(chalk.white(" In AI4CTF, you solve cybersecurity challenges")),console.log(chalk.white(" with AI by your side.")),console.log(),console.log(chalk.white(" In competition, you get AI help at 3 levels:")),console.log(chalk.yellow(" hint a")+chalk.gray(" General guidance (50 uses)")),console.log(chalk.yellow(" hint b")+chalk.gray(" Deep analysis (10 uses)")),console.log(chalk.yellow(" hint c")+chalk.gray(" Critical assist (2 uses)")),console.log(),console.log(chalk.white(" Try it now! Type: ")+chalk.bold.green("ai4ctf")),console.log(chalk.gray(' Chat freely with your AI teammate. Type "exit" when done.')),console.log(),console.log(chalk.gray(" After ai4ctf, try: ")+chalk.bold.red("ctf4ai")+chalk.gray(' — trick the AI into saying "koala"')),console.log(),void no.prompt();if(/^ICOA-[A-Z]{2,3}-\d{1,6}$/i.test(l.trim())){so=!0;try{await e.parseAsync(["node","icoa","exam","token",l.trim()])}catch{}return so=!1,void no.prompt()}if(/^[A-Z]{2}[0-9A-HJKMNP-TV-Z]{8}$/i.test(l.trim())){so=!0;try{await e.parseAsync(["node","icoa","exam","token",l.trim().toUpperCase()])}catch{}return so=!1,void no.prompt()}const s=l.match(/^exam\s+([A-Z]{2}[0-9A-HJKMNP-TV-Z]{8})$/i);if(s){so=!0;try{await e.parseAsync(["node","icoa","exam","token",s[1].toUpperCase()])}catch{}return so=!1,void no.prompt()}const y=l.match(/^exam\s+([A-Z]{2,3})$/i);if(y){so=!0;try{await e.parseAsync(["node","icoa","exam","list",y[1]])}catch{}return so=!1,void no.prompt()}if("clear"===l||"cls"===l)return console.clear(),void no.prompt();if(l.startsWith("activate ")){const o=l.slice(9).trim(),e=r(o);return"ok"===e?console.log(chalk.green(" Access granted! Token bound to this device.")):"already_bound"===e?(console.log(),console.log(chalk.red(" Token already activated on a different device.")),console.log(chalk.gray(" Each token binds to the first device that uses it. If you lost the device,")),console.log(chalk.gray(" contact your proctor to have the token re-issued for a new device."))):(console.log(),console.log(chalk.red(" Token not recognized.")),console.log(chalk.gray(" Possible reasons:")),console.log(chalk.white(" • ")+chalk.gray("Typo — tokens are case-insensitive, 10 chars, start with a 2-letter country code (e.g. ")+chalk.cyan("UAK7M2R9Q4")+chalk.gray(")")),console.log(chalk.white(" • ")+chalk.gray("Expired — ask your proctor or organizer for a fresh token")),console.log(chalk.white(" • ")+chalk.gray("Network — verify connection to ")+chalk.cyan("practice.icoa2026.au")),console.log(chalk.gray(" Still stuck? type ")+chalk.cyan("help")+chalk.gray(" or try ")+chalk.cyan("exam demo")+chalk.gray(" for a free practice round."))),console.log(),void no.prompt()}if("activate"===l)return console.log(chalk.gray(" Usage: ")+chalk.white("activate <token>")),console.log(),void no.prompt();const m=T();if(m){const o=l.toUpperCase().trim(),t=o=>{const e=m.questions.find(e=>e.number===o);return!!e&&("ai4ctf"===e.type||"ctf4ai"===e.type||e.options&&!e.options.A&&!e.options.B)},n=o=>{const e="demo-free"!==m.session.examId,t=e&&o>=39?"ctf4ai":e&&o>=31?"ai4ctf":null;console.log(),console.log(chalk.yellow(` Q${o} is a practical question — letters (A/B/C/D) don't apply here.`)),t?(console.log(chalk.white(" Enter the AI chat for this question: ")+chalk.bold.cyan(t)),console.log(chalk.gray(" Or submit a flag directly: ")+chalk.green(`exam answer ${o} ICOA{your_flag}`))):console.log(chalk.gray(" Submit a flag: ")+chalk.green(`exam answer ${o} ICOA{your_flag}`)),console.log()};if(/^[ABCD]$/.test(o)){const l=m._lastQ||1;if(t(l))return n(l),void no.prompt();so=!0;try{await e.parseAsync(["node","icoa","exam","answer",String(l),o])}catch{}return so=!1,void no.prompt()}const s=o.match(/^(\d+)\s+([ABCD])$/);if(s){const o=parseInt(s[1],10);if(t(o))return n(o),void no.prompt();so=!0;try{await e.parseAsync(["node","icoa","exam","answer",s[1],s[2]])}catch{}return so=!1,void no.prompt()}}const d=l.split(/\s+/)[0].toLowerCase(),p=/^python3?(\.\d+)?$/.test(d),h=l.startsWith("!")||d.startsWith("!")||p;if("embodied"===lo&&!h&&!["demo2","learn","exam","vla4ctf","lang","ref","setup","env","sim"].includes(d))return console.log(chalk.gray(" Not available in Embodied AI Security mode.")),console.log(chalk.white(" Try ")+chalk.bold.cyan("demo2")+chalk.gray(" (intro) · ")+chalk.bold.cyan("learn")+chalk.gray(" (curriculum) · ")+chalk.bold.cyan("exam <PD-token>")+chalk.gray(" (Paper D)")),console.log(),void no.prompt();if("selection"===lo&&!h&&!["exam","demo","retry","nations","next","prev","continue","setup","lang","ref","ai4ctf","ctf4ai","mark","unmark","review","submit","env","sim"].includes(d)){if(console.log(chalk.gray(" Not available in Selection mode.")),m){const o=m._lastQ||1;console.log(chalk.white(` Resume exam: exam q ${o}`)+chalk.gray(" · ")+chalk.white("A/B/C/D")+chalk.gray(" to answer"))}else console.log(chalk.gray(" Try: demo · setup to switch mode"));return console.log(),void no.prompt()}if("organizer"===lo&&!["join","exam","demo","retry","next","prev","logout","setup","lang","ref","ctf","mark","unmark","review","submit"].includes(d))return console.log(chalk.gray(" Not available in Organizer mode. Switch via: setup")),console.log(),void no.prompt();if(!("olympiad"!==lo||a()&&c()||i(d)))return console.log(chalk.yellow(" Restricted mode. ")+chalk.gray("Enter your access token:")),console.log(chalk.white(" activate <token>")),console.log(),console.log(chalk.gray(" Free commands: ")+chalk.white("ref [topic]")+chalk.gray(", ")+chalk.white("help")+chalk.gray(", ")+chalk.white("exit")),console.log(),void no.prompt();if(!["join","activate","challenges","ch","open","submit","flag","scoreboard","sb","status","time","ref","shell","files","connect","note","log","lang","setup","env","ai4ctf","model","ctf","exam","demo","retry","nations","next","prev","continue","logout","ctf4ai","mark","unmark","review","submit","learn","demo2","vla4ctf","theme","sim"].includes(d)){if(G.has(d))return console.log(chalk.red(` Blocked: ${d} is not allowed during competition.`)),console.log(),void no.prompt();if(/(?:^|\s)(?:\/(?!home\/|Users\/|tmp\/)|\.\.\/|~\/)/.test(l)&&!l.startsWith("cd ")){const o=/(?:^|\s)\/(?!home\/\w+\/icoa-workspace|Users\/\w+\/icoa-workspace|tmp\/)/.test(l),e=/\.\./.test(l);if(o||e)return console.log(chalk.red(" Blocked: access outside workspace is not allowed.")),console.log(chalk.gray(` Workspace: ${V}`)),console.log(),void no.prompt()}let o=l.startsWith("!")?l.slice(1).trim():l;if("darwin"===process.platform){const e="/opt/homebrew/opt/python@3.12/bin/python3.12";o=o.replace(/^python3?\s/,`${e} `).replace(/^(python3|python)$/,e)}else if("win32"===process.platform){const e=(()=>{try{return t("py -3 --version",{stdio:["ignore","ignore","ignore"],timeout:1500}),"py -3"}catch{}return"python"})();o=o.replace(/^python3?(\.\d+)?\s/,`${e} `).replace(/^python3?(\.\d+)?$/,e)}else{const e=(()=>{try{return t("which python3.12",{stdio:"ignore"}),"python3.12"}catch{return"python3"}})();o=o.replace(/^python\s/,`${e} `).replace(/^python$/,e)}const e=J();/^(\S*python3?(\.\d+)?)\s*$/.test(o)&&(o=`PYTHONSTARTUP="${function(){const o=_(Q(),".icoa");W(o)||z(o,{recursive:!0});const e=_(o,"python-startup.py");return W(e)||B(e,"# ICOA exam interactive startup — auto-loaded by PYTHONSTARTUP\nimport base64, struct, hashlib, re, json, os, sys, binascii\ntry: import requests\nexcept ImportError: pass\ntry: from Crypto.Cipher import AES\nexcept ImportError: pass\ntry: from Crypto.Util.Padding import pad, unpad\nexcept ImportError: pass\ntry: from pwn import xor, p32, u32, p64, u64\nexcept ImportError: pass\ntry: import bs4\nexcept ImportError: pass\ntry: import numpy as np\nexcept ImportError: pass\n"),e}()}" ${o}`,console.log(),console.log(chalk.cyan(" ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━")),console.log(chalk.bold.white(" Python ready — ICOA exam toolkit pre-loaded")),console.log(chalk.cyan(" ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━")),console.log(),console.log(chalk.white(" Already imported: ")+chalk.gray("base64, struct, hashlib, re, json, binascii")),console.log(chalk.white(" Also available: ")+chalk.gray("requests, bs4, numpy, AES, pad/unpad, xor, p32/u32/p64/u64")),console.log(),console.log(chalk.yellow(" Quick examples:")),console.log(chalk.gray(' base64.b64decode("aGVsbG8=") ')+chalk.gray("# decode base64")),console.log(chalk.gray(' bytes.fromhex("48656c6c6f") ')+chalk.gray("# hex → bytes")),console.log(chalk.gray(' "ICOA{x}".encode() ')+chalk.gray("# str → bytes")),console.log(chalk.gray(" [chr(c) for c in [73,67,79,65]] ")+chalk.gray("# ASCII codes")),console.log(chalk.gray(' xor(bytes.fromhex("0a2b"), b"IC") ')+chalk.gray("# pwntools XOR")),console.log(),console.log(chalk.gray(" Exit: ")+chalk.white("exit()")+chalk.gray(" or Ctrl-D")),console.log(chalk.cyan(" ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━")),console.log()),so=!0;try{N()&&await j()?await D(o,no):await X(o,no,e)}catch{console.log(chalk.yellow(` Command failed: ${d}`))}return so=!1,console.log(),void no.prompt()}so=!0;const w=l.trim(),f=w.toLowerCase();let k,S=null,O="";if(m)if("submit"===f)S="final";else if(f.startsWith("submit ")){let o=w.slice(7).trim();/^submit\s+/i.test(o)&&(o=o.replace(/^submit\s+/i,"").trim()),o=o.replace(/^["'`]+|["'`]+$/g,"").trim(),o&&/^ICOA\{[^}]*\}?$/i.test(o)&&(S="flag",O=o)}else/^ICOA\{[^}]+\}$/i.test(w)&&(S="flag",O=w);k="final"===S?["exam","submit"]:"flag"===S?["exam","answer",String(m?._lastQ||1),O]:function(o){const e=o.split(/\s+/),t=e[0].toLowerCase(),l=e.slice(1),n={demo:["exam","demo"],retry:["exam","demo-retry"],nations:["exam","nations"],next:["exam","next"],prev:["exam","prev"],mark:["exam","mark",...l],unmark:["exam","unmark",...l],review:["exam","review"],logout:["ctf","logout"],join:["ctf","join",...l],activate:["ctf","activate",...l],challenges:["ctf","challenges"],ch:["ctf","challenges"],open:["ctf","open",...l],submit:["ctf","submit",...l],flag:["ctf","submit",...l],scoreboard:["ctf","scoreboard",...l],sb:["ctf","scoreboard",...l],status:["ctf","status"],time:["ctf","time"]};return n[t]?n[t]:["ref","shell","files","connect","note","log","lang","setup","env","ai4ctf","model","ctf","exam","ctf4ai"].includes(t)?[t,...l]:e}(l);const P="ctf"===k[0]&&"join"===k[1];P&&no.pause(),process.exit=()=>{throw new Error(K)};try{await e.parseAsync(["node","icoa",...k])}catch(o){const e=o instanceof Error?o.message:String(o);if(e===K);else if(e.includes("commander.unknownCommand")){const{distance:o}=await import("fastest-levenshtein"),e=["ctf","ref","shell","files","connect","note","log","lang","setup","env","ai4ctf","exam","ctf4ai","theme","clear","cls","quit","exit","back","menu","help","continue","activate","demo","challenges","status","scoreboard","join","logout"],t=d.split(/\s+/)[0]||d;let l={word:"",dist:1/0};for(const n of e){const e=o(t.toLowerCase(),n);e<l.dist&&(l={word:n,dist:e})}console.log(chalk.yellow(` Unknown command: ${d}.`)),l.dist>0&&l.dist<=2&&console.log(chalk.gray(" Did you mean: ")+chalk.bold.cyan(l.word)+chalk.gray("?")),console.log(chalk.gray(" Type ")+chalk.cyan("help")+chalk.gray(" for the full command list."))}else e.includes("commander.")||(e.includes("fetch failed")||e.includes("ECONNREFUSED")||e.includes("ETIMEDOUT"))&&console.log(chalk.yellow(" Network error. Check your connection."))}finally{process.exit=E,so=!1,P&&no.resume()}b()?no.setPrompt(chalk.magenta("ai4ctf> ")):v()?no.setPrompt(chalk.red("ctf4ai> ")):A()&&no.setPrompt(chalk.bold.cyan("vla4ctf> ")),console.log(),no.prompt()}),no.on("SIGINT",()=>{if(console.log(),b()||v())console.log(chalk.yellow(" Ctrl+C did not close ICOA CLI — you are still in the AI chat.")),console.log(chalk.white(" Type ")+chalk.bold.cyan("exit")+chalk.white(" to leave the chat and return to the menu."));else if(T()){const o="demo-free"!==T().session.examId;console.log(chalk.yellow(" Ctrl+C did NOT close ICOA CLI.")),console.log(chalk.gray(` Your ${o?"exam":"demo"} is paused and every answer is auto-saved.`)),console.log(),console.log(chalk.white(" Resume: ")+chalk.cyan("exam q 1")+chalk.gray(" · Back to menu: ")+chalk.cyan("back")+chalk.gray(" · Close CLI: ")+chalk.cyan(o?"quit confirm":"quit"))}else console.log(chalk.yellow(" Ctrl+C did not close ICOA CLI — you are still at the ")+chalk.cyan("icoa>")+chalk.yellow(" prompt.")),console.log(chalk.gray(" Keep typing — ")+chalk.cyan("help")+chalk.gray(" lists commands. (Only ")+chalk.cyan("quit")+chalk.gray(" or Ctrl+D actually close the CLI.)"));console.log(),no.prompt()}),no.on("close",()=>{U(),g(),q(),E(0)})}function X(o,t,l){return new Promise(n=>{const s=process.stdin,a=!!s.isTTY&&!!s.isRaw;if(t.pause(),s.isTTY&&"function"==typeof s.setRawMode)try{s.setRawMode(!1)}catch{}const r=e(o,{shell:!0,stdio:"inherit",cwd:l||process.cwd()}),i=()=>{if(s.isTTY&&"function"==typeof s.setRawMode&&a)try{s.setRawMode(!0)}catch{}t.resume(),n()};r.on("close",i),r.on("error",i)})}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "icoa-cli",
3
- "version": "2.19.156",
3
+ "version": "2.19.157",
4
4
  "description": "ICOA CLI — The world's first CLI-native cyber & AI security olympiad terminal: AI4CTF (Day 1), CTF4AI (Day 2), VLA4CTF (Pioneer Round — embodied AI)",
5
5
  "type": "module",
6
6
  "bin": {