From 68086057fb09017bb9a17ae91d2ffec3f88b1e27 Mon Sep 17 00:00:00 2001 From: Julien CLEMENT Date: Sat, 26 Mar 2022 13:19:38 +0100 Subject: [PATCH] feat(q-solved): better explanations, add circtuit drawings Signed-off-by: Julien CLEMENT --- jujure/content/writeups/q-solved.md | 133 ++++++++++++++++++++++++++-- jujure/static/q-solved/ancillas.png | Bin 0 -> 29083 bytes jujure/static/q-solved/oracle.png | Bin 0 -> 32643 bytes 3 files changed, 127 insertions(+), 6 deletions(-) create mode 100755 jujure/static/q-solved/ancillas.png create mode 100755 jujure/static/q-solved/oracle.png diff --git a/jujure/content/writeups/q-solved.md b/jujure/content/writeups/q-solved.md index 6a97b8d..dd8355f 100644 --- a/jujure/content/writeups/q-solved.md +++ b/jujure/content/writeups/q-solved.md @@ -1,5 +1,5 @@ --- -title: "Reversing quantum algorithms ~~for ctf points~~ | q-solved - zer0pts 2022" +title: "Reversing quantum algorithms ~~for ctf points~~ | q-solved @ zer0pts 2022" date: "2022-03-25 18:00:00" author: "Juju" tags: ["Reverse", "Quantum", "Writeup", "zer0pts"] @@ -17,6 +17,7 @@ show the flag forever :thinking: ## Given files +[solve.py](/q-solved/solve.py) {{< code file="/static/q-solved/solve.py" language="py" >}} [circuit.json](/q-solved/circuit.json) @@ -47,26 +48,122 @@ All that remains to do for us is to understand what that criteria is. We can see that the oracle is built using the `circuit.json`. +```json +{ + "memory": 560, + "ancilla": 1408, + "circuit": [ + [ + [ + false, + 0 + ] + ], + [ + [ + true, + 0 + ], + [ + false, + 8 + ], + [ + false, + 280 + ] + ], + [ + [ + false, + 0 + ], + [ + true, + 8 + ], + [ + false, + 280 + ] + ], + [ + [ + true, + 280 + ], + [ + false, + 0 + ], + [ + false, + 8 + ] + ], + [ + [ + true, + 0 + ], + [ + true, + 8 + ], + [ + true, + 280 + ] + ], + ... +``` + The oracle is composed of 1408 multi-controlled X (MCX) gates, each controlled by 1 or 3 input qubits with a control state given in the json. Each MCX gate acts on a dedicated ancilla qubit. +On the sample above, we can see that the `circuit` key of the json is an array +of 1408 elements. On all examples, we will work on the 5 first elements which +are enough to understand what is going on. + +So each element of the `circuit` array corresponds to a MCX, those MCX are +themselves array of 1 or 3 elements representing the control qubits of the said +gate. Control qubits are represented with an integer and a boolean. The integer +is simply the index of the qubit, and the boolean is the opposite of the +control state of the qubit. For example `False`, means that the qubit will have +control state 1. + +If we take the fist 2 MCX described in the json, it means that we will have the +first MCX on the first ancilla qubit controlled by the first input qubit with a +control state of 1. The second MCX will act on the second ancilla and will be +controlled by the 1st, 9th and 281st input qubits with control states 0, 1 and +1 respectively + +Below is a simplified view of the circuit described by the 5 first gates above, +where the ancilla qubits are from `q3` to `q7` and where `q0`, `q1` and `q2` +correspond to the 1st, 9th and 281st input qubits of the real circuit +respectively. + +{{< image src="/q-solved/ancillas.png" style="border-radius: 8px;" >}} + After all 1408 MCX, the circuit adds an other MCX on the target qubit controlled by all ancillas with all control states set to 0. The target qubit is therefore introduced a phase shift when all ancillas are in `|0>`. +Here, the target qubit is represented by `q8`, see how the `q8`'s gate is active +only if all ancillas are `|0>`: + +{{< image src="/q-solved/oracle.png" style="border-radius: 8px;" >}} + So we want all ancillas to be `|0>` but it is also their original state. We therfore have to influence the control qubits of each MCX so that none actually performs the X gate on any ancilla. This means that among all control qubits of a MCX, at least one must have a state different from its control state, thus deactivating the gate. -If we look closely, we can see that the control state of a control qubit is `1` -when the json specifies `False`, and `0` when `True`. - Remember, inputs must be different from their control state specified on the gate. Therefore a qubit marked as `False`, must take value `|0>` to deactivate -the gate. Similarly, a qubit marked `True` must take value `|1>`. +the gate since `False`, gives the qubit a control state of 1. Similarly, a qubit marked `True` must take value `|1>`. So we said earlier that the MCX have either 3 or 1 control bits and that at least 1 of the control qubits must mismatch from their control state. @@ -79,6 +176,12 @@ only the obvious qubits: the ones controlling an ancilla by themselves. Indeed if an ancilla is controlled by a single input qubit then this qubit MUST be different from his control state so the X gate stays disabled. Therefore, any input qubit marked as `False` and as the only control of a gate MUST be set to `|0>` to match the oracle. Same is true for qubits marked as `True` that must be in state `|1>`. +We can illustrate this with the circuit below: `q3` MUST be set to `|0>` so the +gate must be deactivated, so `q0` MUST be `|0>` (control state 1) to deactivate +the gate. + +{{< image src="/q-solved/oracle.png" style="border-radius: 8px;" >}} + So let's try to set all obvious qubits: {{< code file="/static/q-solved/poc_flag.py" language="py" >}} @@ -99,6 +202,24 @@ We will have a total of 1408 equations, 1 for each MCX, each equation basically saying that at least 1 qubit must be different from its control state, and therefore equal to its assigned boolean in the json. +Let's take the same circuit again, we will have the following system: + +``` +q0 == 0 +q0 == 1 OR q1 == 0 OR q2 == 0 +q0 == 0 OR q1 == 1 OR q2 == 0 +q0 == 0 OR q1 == 0 OR q2 == 1 +q0 == 1 OR q1 == 1 OR q2 == 1 +``` + + +{{< image src="/q-solved/oracle.png" style="border-radius: 8px;" >}} + +``` +note: The above system does not have a unique solution, but adding the rest of +the circuit will make the solution unique. +``` + Once the system is solved, we will know the state of all qubits that match the oracle, which is the one outputed by the quantum circuit. We will then be able to decode it to get the flag. @@ -109,7 +230,7 @@ I used z3 to build and solve the equation system: {{< code file="/static/q-solved/flag.py" language="py" >}} -Running the script outputs us the equation system, sat indicating that z3 found +Running the script outputs us the equation system, `sat` indicating that z3 found a solution to the system and the decoded solution of the system with the flag: `zer0pts{FLAG_by_Gr0v3r's_4lg0r1thm}` diff --git a/jujure/static/q-solved/ancillas.png b/jujure/static/q-solved/ancillas.png new file mode 100755 index 0000000000000000000000000000000000000000..061c8a4f9320d265adec78b958a84d556a1b2639 GIT binary patch literal 29083 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

;v)QC*7S7tn# zU3#T!R(SHZswuVOtGkN38LEB4^BPIUH|bP0(=55@Tj;$9!jP1OTEr9~ms1kZPFQx8 z8MjLQ<}PN;tfQkHNHS@|(7_ zX&ptEtOfYi*n7%`Wy!fF93#%4Anhj8+rip^)r=COWnV|MgSeJOl08)dQRKEw|#l9nMV#*LWhg}+)NN&iMv+r zQ~_o7E3=fo`&JJ%IjH43$JoG%lKQA)aktqm2uK*m-!9&_vsXEilf*pyTPtQTiTg3k z%2E4Xho=tzj-wMbF}Y$U?|#4+HD9Vza%~bbB3ms+BXi&&@0xs;Ir4gO^3}!#r$><{vHB=0rYpV$Azld%RBliS|xkB&F@mf~7yEOx^vdv(sAj`fM)hGt; zBXd9*RdHVB;r{FLP`G`$zs=gX-ktYz8hKBj?0?FGMO-37)8fI_Jd=fnTbBr}uIgn2 zv0%grnjfSplGC>2zZ}`4;*Ox|3{q2kHsio1c*8*v@uHBM)Z;Z;lcm~nXMey8WXbKL z=-UU;bHnz2}3Is^nFUd)y)O)8R)J0OX0d~073eEDBF3WEFnnY zEZPzOGg3hm`uSCp@t&~0G$#lxclSt%JgEO;fC25RUWf#v7td_rfo-j0{;H;UbEDNp zA`>OywqPEeL)(^@J*P_i)b7Aypnb)D9JjH~7mC>niNgjtM7rzmkOWb6cmVkX!EGn5e`J`nd}=OCT3)bQ zBmGiKnlA}kQ?TNz5U0C6L%AjCwd#kU5wLjuw>~KP&hz-aL9tL(>d@aaVU*dS1I|1f z40lKxhdtJ?OP8#^ky#yHv|7GvH69>%TQJm>5=Ew<;QzQ^OY|RtC9rgt?IR=dt0>fL z%I6tCSzt5Xsh+sWWZtvKq1q&;&=#V7@ zz*32*fApkcvEfZTsxZ54lx3mG@_1;o+e&k2R!&4){3v8NrX!M59%)zwImvMW)BmmJ zlG28_jivnh^*k*t%?i6SH`(YdCJP29zj^a&cGm0?JNx^B0+OkzsmZU-?2LT$^KCp} zDIaSuNjKb;5bK|pzxsNAYMIduE<}r4p#s4C=^UOft z?VV<(qUV(-U!T8v>ekS6_gqAA``*2pEUVr57SEIIx|MJ`$@W+57ST*l0<-gYNeqvG zqKg#8$B!hr#dx}3cAg&(oS~yxVrHo;X_gVQgnyD~D?nUs(i+q-jLQ7!y*>T&tl^J8 zXzcCneHdTELdx6Dl(^(wqT?hRX@H3GD=b9AHljh`1WBconLTP?C=v&L1Io6n4?UZC zG$2*-mncuFx8VQa@?pHyy4gPQVt1amZqA1rz__x?#6GIbg99%h<4uweKmK(2iY;z$ zsWzw)fD9+FN)oMyu2e3Pkj3Ms?{h7$fF{^_uxCmcLoo0yC5G#NPx3ecK>8E8JyW-` z-v_F**K_a%!ri!_iC2XH5AZj~F~fQH&e5-*LrA(RmPptu!tQqiXo6bsu@zu1(N^hm z&CxB)Hj=uB&3F*J?9!hkR&P#Pt#q3QWPlGLeC2a>%t|s5#`SCx&zv=%4_;=0J*qN&CbAan+NcM>2 z2ibt{IKYd=po6J@asczDacw8NMDh&6iR-hoWs%mK$4ZccjC?J{wsowp>OT4wVPPh( z*8oXeXl-+5UT!0vLJKf)3zOM?NS!zJr;$46O&ML9SZPbO9Lk5HPu}{)WD{E`KfaKx zK^OXFYvIuOW{W3{ezB1m3$gpV?saIp{_Jb@ILq?A;JJo)N%O{A+7%C3pW$VObZ_5o zPf(bDru#NOy>IA0v`i5pH+5KH7CR zby*pGaB@Nniz{!vJZ#CaCH4Vi43FE}ty7E1Ck$OZulLOZ4AZ~}usd+4Skim0_OpB_ zDw@(}E87hO5|J{2M=o}Dc9UZ$!1qzwo!OHca)$R?P1Xr&(tzyt(R%?(I3Ksy3Ek5AJNZkDs;|I##xzEmA{4~s?dS&VWZydLN9j8svIY8+8Zc5Iy#IT z%#)!2%ciR>1Z+w)y_o`BR#86N)7E>79UKs^4|Ayax$J*|V&ijAY`$#B?vj}W4N=Pr zI=GW9<7H8Kl(X0nx+9^w?BcNf=Lmo9$LU&Ds)E^SAGt_>{kh-14ug~=@KG3X}Y#Od^0el%eQV{ofqqEhbbqfgWmD{ndCl59DAP~$o?E*XGUu`oA$k;D2y^xA{; zTO+@PCrcW=EJy53k!sn+O$LJD)pBJ=$|ctNPO6tJXDZb9aQ*%abJu~>CHXc$f!E=a)VklxU0X6(o~tVg?LFpI zmjbJM=IcRaa>bF4;G?`2xD7@Pq6_rzy_=F=@~PEEs-7r06@7HjWuF*w-M6y?0GjS^p5N)9yrGo(aamd(T z>CKut)9PK7N<+B*_7Cc05c~ge<_JE9nIt>-+KcDO1oHO(uaSnOVWD{jKKIw)osc=IF zR0ViBq(>|tdG}=Xm&dVCa+~|G?>B2RUbOnh-o~7XzaM&n-K|^GL(WzH;ItEk!W+r4 z_?$NZ0lE3mM{oi~%xH|depq$B<7;m7!oTALgPez=`Ge1`V0oztmH1b=negS$ykFTn zF`7=N7BHJ;FbhZ3H?zH`IR@f{U6xrsOt@6wahmnTdXP>5tEW2BCl${coW< zcu&)b!d5&+}SIvQ?|I9Oa7nFXO!>opzVy6Xm=b6 z+X3f1ct$Mk3@Q(svx0=+Mc)gW0 z6m~tip7u(TA0vELjhci8iH=UGDR#ArSy>j074MlvWfUMi?2%U)y#IOkcf;@;x>@_G zI=!Z_$5ZWBz^{j8WLFPpdbb$b!}at(_MhIYW6R8LnY}Ib@~S@cAN3}qtiFk4co2(N z=WwxFn&_->*p1@;E8e);ZkV2PWaaH?x;CihpmTtXCHQ@iwDF{~r2K0kXvZ z-gJ(h{-5m#5*R_zqlD{rE^07|JlMMkqpIEfr?cYElEdGaCM27`0sHYvP!7h0jgf&1 zf-fgqTJi@{8a8t)KBD1~Uw}TLdc^B3#AzU#b`JOfcLg(Phl9U%P*iNF3OLj8>f3nt z>lMGi{GJ8M-=ugi2qk#Bt^aTjE!7Pr+|xI6wku zL}wXYWH`-ISon(Acz+m(Ts-DvNhGhzP>!(HYQQT$?-bMc$2~y^Ty42b*8Bu=Q7cS~ z`Ve$64lz4 zJT4gicX(3yR0Gm<+Awgc>)Ly%ia($g)&YuZe|1wE$6CEV0qV6%Gd4CR z?fvV~;qC%RHQ-PkaBfNaY?%NW(JMfLK{JxRV|5@kInRx6L2L2TXOF?$jq0$XuGx+g zI}N2X5ozO`$xSv!Uviw;@+}@arfBj*i3$ZQufHd4s4O}tNZHn9~YTO zzW!ysv5c>JvGJf8kIH^FTQ9>Gw5I{&>sSCfx;krt+r2rAP2$NS;M48Cnqd}x9&4OO zjQN)|gs!)Bn(?pcf(;pbsCORrOuf$ECdpkcxk?Yf{68%|aWa4-ywY_>J_yhXJRAE! zn-{nPq32O#{$gCN4V+aX?=pF=CRhQ&ulBVJ%fxdi(-H{qczUQxa|*WDq#>@!)lQ9H zFVf|581SAu?o-k_7iTX>0I>8=hmlmTsDwn%hdZf%W=4U)uD9NEr2?S$`h9sX(9!Lq zp~R_l^(_4PkrY4-p1i9BK(e;Z*rLDt{ICU1(>T1FHfegE?Cmvl4 z3X@}^x*xB|zpI&CPmvwvt=QytdXGKPPb;M>D5d!bSvuMxC<08#zEH@wW&nhO`zZZKg z8`!qH%TZ&puQlMiD`DTkw=mJITVmPB8%OnM23GmP1tR~^;T)V?xp9p;4*IDEZ8y*_ zcw2Ys*GVIcQzVfnA_!P?2VlMNob`aOd>^-xWZMx=S=()z4R8@+f_KXSQNXjAT8UaW zZ@!ajYViENa{=i-aQ@0W7#eBx0mu&>Ya9S)KIFSLE~Q)m+Q2pE!K!o$zw+^g1kSC! zjF<3;3fc4X^3UW!MQ+E$wBt5mE;F6=I%YUxk}HeuUf(#UhE`H_G6c@T+`R0-A$zZ|GB!_ zN51ZdLti5AIe*~Rig!?!>i2S}5r|}v0BC}a#g2$=S=w|>Kw9pa^jq^ka_ff#h7|xd z5!r4OS1@1R)cmC=BE|%Jv zKF3nLDt^pjMkN)PbL&3!`5_^|Sr9X2dXfQ-4XHys7I3`1Sd@AfOH*XIbywuG>6%Z&%czn3B&|5MDaMfn0!qQBID?9TYjLAEzjyGB zSSgPwH|i#Kfp~^J@+N>M=<_}S@@DJ`1)5-_ryAP*4()?x1WFU2T${WG<76a3S z!2u7cC4C1(8M$Bi2)}7boGx2&{`vV$ZrjQ%Uxq}D+uSsA>GZG|+5=<~ZFKXtF0RQ& zE_FrCpxEy20}003i$P1T*tb|IUJaIxJ$Ue-L|n^7!)dL=s}Wg9?i0M?;uBbwweFI_ zOZ8)WqtMMj>eo@cOy+525X8EZLQEZ5Cqw>$Vyb!Ui?P(q#sK9WFq_MA(JSFcfMser zMdWIq{lzT`dylidbM^?x9ok;yl1Po6499qw*;KeyDO*h_AU_fm*)!Xw{;`h4cWfoC z4Fc!VG#Mpv@f=Jmn_!PXKj z^$j&NmgXPTASfF5ZI9HSxz9KI8$G{b#v=i~GUGt?NBO-Y$EwQp#o#K%hj`B^&0lh0 z^|wRU?nM;-1z2B33z&GVqBmSkm(v8^M_>m4d~C+cUIB=TmJb8X%{#oqA$L%_W%5j> z0@wWiWq-Ybr)ANsSnb~`^<#S70G!XF?J`PAu&Z?OE2Z4}jo_Gi)V1ZcDGO#^RSxkr zxtsT=D;BWJ0s+eSVZEBTbFtJNA7Zb^2&3^1QpM6rW?4IC;X>g_Z8JW zhv&4x(beRKFEZ3|RMjnKiH1`qUGY-!%YuKs0oE(pO9V^rqJ}$|(AmfBg9e+^snuu6 zijxhab;X%0Y$Sc3J8z5_bN?q0>#Cr5@_0$EYD=F|UW(*Ft6bKibZUnTYdrmq2wnC@ zR(4K;^lZngnLplKRo!_d*{#3Hl2lGdT;Hot#3 zONWc#2t(qnuJOqS?0?^8g4Y@>;HhWKP^4R?t0hq$SK`giqRXXXJM+!PVQSCT=AUk`n6 z|G&yR^LVKGc#mfnDzfis9wB=qTSg;G)~HBXvuEE6ja~N0o|%xOq+ux1#MpNuR0zo~ zYh;^daDPY7^W5iduh+fz&wKx8=A1KU=6t^2@8|RWg6}8n{j2(9wi9v`I=i&j6}mI5 z*YBLTCzVo5*{(+yA4qk-$Hwd~wW4D)cL0m-K>>F0TYl+j{by}%9wTRL#s=%-Q?>4B zpf9L-GpGE(isLnRdj@H9SC7b+$x>NejbWQ8IN2dB0DW@d6L*q2K9-=mlgz)i=G2$; z@?kYK&GPb@vUtrgd6aIJ3`^(CVRUfEG+VZUgPb~oI)VpQ#~|nI`=Rp&Qz?0agdi1Q zKiVg_420L_Hi?5;2Snqe=&7%18^i#&#+wd8e#_FUs%E5fx$3(+CsNjFQgHn_bWaa8 zMg4xkX8G<$(ZUEx@XdB&E<2wWSQYUzYKa-}ztD6{dbFYkw>7hD4^~%BhMkJrH@rxr zPP#OW26x^p**_u&J??7A#E?Q|i;PKg(M3*xEIp!Ge&!Tom-%7fDy1!{!#p=+uX%~~ z4^8~|Vy|p1N(qU8!@dyJ`;Iz2mIcz*>W_npWm@&WU9mhCAYKw`q^c~7cm_3!5zi#E_=#?;Y+&_1B-y-Hn@Cs106e0yicu9jaP4pJFSIW)0{p* zp#|{;T126)bFODy9ArmspcA|Z)RU~+kW4PI7W4$2`<~EX-mmLg_;d(64`TQ;CCraQ z2d%N^Xw!7=%~L-fZ>@E?h9%Fr8~J4Qzh9IqBO_y|%AHs3*E~$#rJow2_0a;z!>5;K zFmZ84UIn-Mjqd|%&8$Y>*1M$JAh+z-+F(0SV5P$7SwfzmGe?spTsF3gu8xDJ#_(pS zT-c;#Y9uumbX#!RrDtZ|>VJCa&U%N4_vR-vI{*nBdb3Chv<5?oJ@OoUFiyhw4-f{ zkT7e#aDZND;UW@=0aB}3cybZ@w|D-FmyOqUFWvu-d04U2rx96FmTsnZR%^E>Q?&&e zfSO5mdVH4_j3W@YZrz%uM>H$233erIuJmuj$z|jnfqfn0MM-}81Mek7Y++94%e7dk znG=A_oB;6CL_p7$oDT>6OE62ZZc}QQp0?)$kTqa2zq9;i@CS%ePi_ucSNEJjiSQ}; z{NYGI#R2tkG5N$rx26VS{ZXgPeLF=m=m1DY}pS2(=={w&um zjWJ7RX&eu{q;yi@`O|-vEI0Zz=SWZ1gBM>_|5&ab|Dyjx|3yg&!ovfTQGr;qYiWIR z6YDV{Ai?jy6MQmW3mUD^R3j29{NwgrZ)@M;XPht#y%PI++U;pEX&-YTc2lp~t}pC1 z37MHJ+1C0|VtlaW%F|ObHftgoTPO+cyVNdXH=%*a)W6S$0;{AHNQP!Ax;EWC-x=Ev z)I0Z=DtFhp?e=j5lC-s4X>iWMq~J37df(FL;2*fQy@fZFIzJZUwA zCrx<;J7=$d-(dEU>vyPNvS_okrj&%ogUhVs{P8)9K+wDp?k&1U^35>Tj_#BpDi(Zw zhQXX|K<*1OE6Dj=67w-{p6@GM_P)MO7CIvBmR?{F&}6F7liCRhy?Dy)v&h4dUogKO z$3AHgW_HRos00J4!c7gqi4r}J=1`Jn=o|@0E99}a&5_+-^Pw*9t2@U;UZ_v_>f)pr zj}=n96^|c#oF?S??Av5$ZR588+?k;!V{nZ4NV;RUK%YE7U^Q7~MIBhYv3Gwuj!@`& z8+!mk5%{W2fw(~H?)JE+iiVg0!Wan*xu!^o+`R=eeB%|P^U-EjcUx8%n%12S43Z?# zpE(_n@xCn8<3Z=Ff=a2hYO{WwXVIK$1F_9uTWUb{8Zxy93A7VYXW*WqKNEzm_fPjz z2e^V31T)C&wt#X=HgqpU;>PRtfIEA$=kQpST6yOWhk(CV-V|fuGNUsjQ|UdWRcejj z!xbGR*8tb{P<%?x2^?aW?~1kjT(Kf&YMm{k!mBSyGkIu|5p2@o;N z*p4+GZN=}Epr`)%@!H8iSRH#|_&r0odHw;zMV3~$Rgy6Dq62LXhX3y6QJ2IFbI!C7 z8oUc#F`EhT5Blv|+wL|s-5(Rrg*Tl=rq2V+o!ub4Ni3rIOm_v>@Fn&Bp;f&Xb|%Fk2N?n)Blv_3@_>hnd+fegtwfcBD&m5v@@p8qkrVW zy9SN3!A~MGh}4=h4u-;0`ZLuFayCXhUOS|hNf4w)a~-NSL?sy>SgL~z9%Eu-=>r2P ziD)$tMG0_~!_e4QJLM|4yKMzd3KSrkmB~7Vqt^@%ulvD2&+AXOnTS`Lii`Wr3Pys4 zH}qO;f;4SPa4Fw!Z9LdiVFr9J;9$P?N|xr4K>H-fXKI)mvY*tsYDPiw4V#umjvlL= zv1vDYP=@jP*O%!2XVnqVfMd3e`H39;_9*XVmg-lgtHo=FkHK}2sYiPufP^(yGnkA( zecO}IYzIX+UwB&4OYmFiT`i6s{q%;TeDLRhP`2eMBd=MW$h!9h3J1I$dX|C9>Sx--?B=Ji*6+_U$3i9E836 zvi_@};aFD@mx4ZBK(VsO)(1CM1n0MAGt(7v@kqT#mw$tXd z1Cj*X5fqVUo}?=pRl{0Rzjk!y7V~!Vm?il>4SGwh$bq2H1z2(xnW3VN8HSr#N)Ci5 zq*XZDIGahPp*^sl^sMCP%!)^5&>l>DkjzdGEa~)w0Cqo38X2&XoyNlX@M>-q!?WXrTA32 zeuOFsU97b+o2zq^v&k(@Ogb&X&?S9)b-^UKI_np;b*^#`89mbYM(XlyL=anY2{@d@C)(IAqh! zLy47$wM&0ER>h=vmF@9*F*sbe;R>3m)}$sq>Ds6^fnX+30+eQa{fE!00SXkp#Jua= z+aIm*g~7$5=wW@QI28(H7GDmYiO~Umt0!0_LrQgredslUcSJH!(f>=U)dhMMt=lEx z@fzx_?*~?wRC(76Mc*cuKN-ylWKsr|iZ{r|m0rhEf(OrOOx>^Be#>9jL7!a1*f>=( z(g))S+VPNz{ZMYJVd2-O$))V~98F?HL}f9+qzRj^&`azC2YsrXQ^08Df5Si8xAX*z z*uwQ6BWvMcX7KMbYoeM2Rso=um6VjS&$@DGC31ydh@`aza4D{{x7i-1rNOkpSKtVy zdWysTW!v2rzY;}W;IyL4ChNoEP3Ep&&{|Ir62$;})yOH1%(K>^yZ&yV6TWWA8IQ5X zBLRq|sAuot!-sB8qIO_#l&#?YsD}xdoQzdBK4@&=_lbG?alPZ_y7$ z%ikd#BPt=$96`hQ;khwPmHeZr%I{L&UwGa0E&;1M6ExzA$a_F1R{aDVpYhj8vXDQ) z#2y6Xz$B+IweVveNH!*N%e8iz7F{&H?o_?XBJ=t0M;S!&%fEjv!Cd$!r#WUaEj4S9-$^}6A1=K&pM zYh}!JZWV*y3&On*cilEbt=a{&)u{Xhx0MPi9s)$L>(CZzx+7ROh# zH$5{mT+{ZGpaOOspqk!(U%<&s?DA*-G;Z0Bdc7i^zp&xCoYvS)kXAu`DWX4bZ5}p) zah)Nl(EhEV>&pJAp%0=(+(x&l}QucOhugkqNB=%o3EX1 zb8m=>>OM3&3{Z=$Km!&4tNxwY9H*tw8pjmwN#IKtW5cpwh455bNX8^G^588&b08we z{Kkz(?*Bl&YH4Z3un&UqR$rm^F%`i(ASE>g%10uGH$6$Jn{5~fcOS_US?Wvzs$8MF zi`MQxndX?q20A-C+sE(RzPfc)^cL)wKYxOfVBTWI9E<*PT4eYb{s-vDvz-oZWwt1( zKcKKiL#6$@MT`b6V7as&gRQDdkl>Qf!rDxwWQ79l6`C#+UCxm12$p@fRz_V@! zpw!!0XUZvJEYazl+r(+g9q@z21|fZTt$pLDR5WY480A`_8bddoTY%U0`nwR|=5*J8 ztUBx%hlsUln4xiz3wLO$HBr8XdQ)^%i-XK1Eai6$`dPVPzQ)P}sA2A$&wN*s|FSjN zX^Z6E5^XOjIX%+Tv0u>;?Mf|H`6OEla?&wAW%^+)F2+v0}6Hyg5DwFJ|HwnSghqj|U2Gbx)i&B-jP;OGwM``V!8vTSie zSR^V|ddo>gkA>sd1_SW?!id}*KEoQ05d+>O$10Ny5NIOSqQlUDFoMm!;v0x)79^|I z*5-z@7cTDCAe~OarCxnI&PX`7UYOW@nT_H16B*^Ha&_JhiTTyd^mS7-)FzvZn5x_*x$?-3+Rv0o zrcxd-C81mIPhwl|!Rl*u*u}_BB^=0I`uykDpV<5A8e?D=GBt+F8`0+3?9U97qKNwj zmFPFYfYEo}g+LafVXkV;dEhKG6sN=x!?crf!~R@|)ztvE{J3)m*H);T zy71-`#Y@4=j<-niH3<9|?*n^x#%5f>26z^b zFV$#t*SoimQee5d48KkeeW`rT*NOsl zgtay@;TMIt7A05(vU%m?Nqx%oB>Ju`6>hsy7$nB|nk34;v@eu*Y;3tvgP+FkWyyur zSWF%0Xh*t=P>h&S(FIVjpJJWHihaI*5xR#IV`e(3M$k*{pPbYuZPF(0ElIykqX~5c z>nE&IgiSK_l+1J}T2DfPy;&%|zfYt7E0fK@vF@#f_#zFogiIj2mrO6&@)I`ew@7v> zmrFxGTKYEq-UoEk`V;NFqN4*Pc#W&){>`Qf#-8 z2{8Ys<{e3MI71R2nUlw(TmfR5C#_BJf4HoLCvBS%d=~Zm7NU=j44}?DEz37N?j!+c zT@<0Z%WG#xmtEhr3WXG~w`i>HZCJX7*LUO6o_r~b25B>!1Rp*nOQ$;QEP z3#2=_KqD_u*1nw?vKK*pX%NF-UOX+{a}5Rxw^;xPeW#$Qta`8cw}_q-2@F+oOZLUg z?SfV$SYTlb1Z!1Xv_lU>#rQL%FbqWW?uQBoz1&@4Vd3G#RLgv5PQOcZK7hj+#|ZaB zu7mcDjs}1=KU3%{^4_dfD8-44#(IW<+GInRz|r4zuqnG*#p~FZqKntGoNht%AwFp z-n7gMyahZ_vTvIsc&#gcZde?5CSu)cY#J!#Z-1l*SrZw@o<|OvX1uz|P$;3(;h6OM z9}$-OW}FF}(pumI-9K*w%avB$jZh%bWE{J>#BW9;3Su+n$KCl_Ltk_F1`BS|$1x67 zO9X&+6MJy~s1`e6*n8?Weo(Uz6a7OjXt^zHWvZ{%S9*N>r~WNq3L{8gKL)NQaBzJg z;ug#BU!^?1eW_)gBMoglM4{YT+WP0gav7U0v`C|W1Zo7_(!EQr!GM-l**PE#mSPaj zKL#hu5RG7w^X}Tm(Rsp^_{RMt*XZNS`Liyd40IV$y=0ZORi0fBS{`d(_#RP&b7$|d z)A5516wA;C3cJj#l$0=FTITxZ zWm;jku!(JGRB>M*sNL}%*cOwz`dKjJJUfG?L~H#6wH8i65j&4On1Il(vqNuPeRmy6 zrhKk={_8Rfx}GOJIv-11tJold@OXjuR4ZicgJ`*syoPBfAMDN27QFWnSqnc~&W9ZV}^k8-mRxBpM zUJT&-7@=_pcw}hr@3g_c+*Of^1dH9u>v!c7wz=XA4gp1%HP8W^AD(ZNv+Sx3c z_$F5P;&F@s^$z8mMYg}cU+)xOwh&OcuxrEG4LE;G#p+8#SlIeC(DCAID+$xkR0qb_ z4wsO4l_}6SKI7V%1s;CIF`C~!?W3Xv{bxKN;xMv+uIN|a`BKJ^QNyXkJJhyKcyp#dsDp2 zYewq)k!>eCb(3^9C2J)lf~xBkHtP2uI@r^^VIKnl&Gr~}4=uF(msGw;%eT{> zcJV}h`CBSR;dWwuBcDj_NG-)s4dHNSvMbHDJ579`%E&WKoRXdS9jW^LV@SrrXZPGz SL%>4CLzgrSFJcfj5&r^94}Wj~ literal 0 HcmV?d00001 diff --git a/jujure/static/q-solved/oracle.png b/jujure/static/q-solved/oracle.png new file mode 100755 index 0000000000000000000000000000000000000000..4875b2071cfb2dbd26d2658bd6992712a0c0be33 GIT binary patch literal 32643 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