Files
mixly3/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/4-3-1 飞机大战-显示敌机.mix

1 line
24 KiB
XML

<xml version="Mixly 3.0 rc0" board="Python ESP32-S3@元控自强" shown="block"><block type="procedures_defnoreturn" id="h~WX7BE]{7{YNAaT|ZOz" x="-752" y="-561"><field name="NAME">显示我机</field><statement name="STACK"><block type="variables_global" id="CbcHRgv(dddjKFB3Q_o/"><value name="VAR"><block type="variables_get" id=".:lLyLFV2.r]l(1_V3BP"><field name="VAR">本机X坐标</field></block></value><next><block type="variables_set" id="q[dn4Yt9Ral(yQLm|tUp"><field name="VAR">本机X坐标</field><value name="VALUE"><block type="math_constrain" id="XH?92]k{LMoN1S0(^a1K"><value name="VALUE"><shadow type="math_number" id="4Du1ibG8+A/OLx]5[L$_"><field name="NUM">1000</field></shadow><block type="variables_get" id="io5a7RWQ#mY_rz#|{Xd:"><field name="VAR">本机X坐标</field></block></value><value name="LOW"><shadow type="math_number" id="`vMb9d?8e#vBM#HNB_nX"><field name="NUM">0</field></shadow></value><value name="HIGH"><shadow type="math_number" id="wKV.*E1+{@+R:@[AOm;:"><field name="NUM">100</field></shadow><block type="math_arithmetic" id="q:G!)PLLXUp#LFBeB:=*"><field name="OP">MINUS</field><value name="A"><shadow type="math_number" id="V*XJ5e)1^Onw),rLR9?Q"><field name="NUM">1</field></shadow><block type="variables_get" id="vCAkz:{B[N^/ZEjc@5/]"><field name="VAR">屏幕X最大值</field></block></value><value name="B"><shadow type="math_number" id="F*6~RLDE0$j!s,QK#m)H"><field name="NUM">1</field></shadow></value></block></value></block></value><next><block type="onboard_tft_display_shape_rect" id="!|#8T(txh7!TR;RqDQu,"><field name="shape">fill_rect</field><value name="x"><shadow type="math_number" id="gXDCS14G+#e[Oz}`NZDc"><field name="NUM">0</field></shadow></value><value name="y"><shadow type="math_number" id="3ogIH+4|#/o_T6S-+G8B"><field name="NUM">220</field></shadow></value><value name="w"><shadow type="math_number" id="a[~PQ;29,KXImDKRcbz+"><field name="NUM">240</field></shadow></value><value name="h"><shadow type="math_number" id="-~f*`}LSW3+:+PnJD]:c"><field name="NUM">20</field></shadow></value><value name="VAR"><shadow type="tuple_create_with_text_return" id="e?4X+_GT=]h8u4-emx(9"><field name="TEXT">255,255,0</field></shadow><block type="display_color_seclet" id="=SwJArX!Py;fOdqycg/f"><field name="COLOR">#000000</field></block></value><value name="boolean"><shadow type="logic_boolean" id="@O!6!i=!L~}brUxVfTP$"><field name="BOOL">FALSE</field></shadow></value><next><block type="onboard_tft_display_shape_rect" id="Y*x{v_[;a|X(7+]4+qQI"><field name="shape">fill_rect</field><value name="x"><shadow type="math_number" id="gXDCS14G+#e[Oz}`NZDc"><field name="NUM">20</field></shadow><block type="math_arithmetic" id="yhjgv#]rH^4.*p`MNcdK"><field name="OP">MULTIPLY</field><value name="A"><shadow type="math_number" id="h[vn:SYCl)kB_7P*8sya"><field name="NUM">1</field></shadow><block type="math_arithmetic" id="p8vNUl+$zUp3b(2ul:1A"><field name="OP">MINUS</field><value name="A"><shadow type="math_number" id="HbKMRgI#0gNPwYt+(iR3"><field name="NUM">1</field></shadow><block type="variables_get" id="D@tb+qvZJV7p]er}{gb="><field name="VAR">本机X坐标</field></block></value><value name="B"><shadow type="math_number" id="fA--x^,[Ad*$DyJBkE`T"><field name="NUM">1</field></shadow></value></block></value><value name="B"><shadow type="math_number" id="0eIWbL|8_tWr}B52XM|6"><field name="NUM">10</field></shadow></value></block></value><value name="y"><shadow type="math_number" id=",yP90/yw6Lp~p3?xP!B$"><field name="NUM">230</field></shadow></value><value name="w"><shadow type="math_number" id="w6zR/8R}Xn*x1w^_m]2F"><field name="NUM">30</field></shadow></value><value name="h"><shadow type="math_number" id="@,_K1f7qh7KHI])^Zw}}"><field name="NUM">10</field></shadow></value><value name="VAR"><shadow type="tuple_create_with_text_return" id="e?4X+_GT=]h8u4-emx(9"><field name="TEXT">255,255,0</field></shadow><block type="display_color_seclet" id="YI,,Ph]?1qLW4;|;YF/B"><field name="COLOR">#ffffff</field></block></value><value name="boolean"><shadow type="logic_boolean" id="!DKP$K:`OgVKEkv~K7u+"><field name="BOOL">FALSE</field></shadow></value><next><block type="onboard_tft_display_shape_rect" id="*t^zLbU;`alE=EM58f#="><field name="shape">fill_rect</field><value name="x"><shadow type="math_number" id="C2CGmEet9dtRfa9[_Gj."><field name="NUM">20</field></shadow><block type="math_arithmetic" id="{|*_~})+NWjJ3TZdr(Ei"><field name="OP">MULTIPLY</field><value name="A"><shadow type="math_number" id="$Y}:=+HJ?TNvR7uK0.)A"><field name="NUM">1</field></shadow><block type="variables_get" id="^Lk9lNV^z?t.;GKh`@16"><field name="VAR">本机X坐标</field></block></value><value name="B"><shadow type="math_number" id="buq$g$slI5IYU{C;j/,R"><field name="NUM">10</field></shadow></value></block></value><value name="y"><shadow type="math_number" id="Nk^{yE~$e{rW*[[No{cU"><field name="NUM">220</field></shadow></value><value name="w"><shadow type="math_number" id="oy])+i|Z_MsLJATvbvV2"><field name="NUM">10</field></shadow></value><value name="h"><shadow type="math_number" id="y,tc9!EEdBNso*e7jV=G"><field name="NUM">10</field></shadow></value><value name="VAR"><shadow type="tuple_create_with_text_return" id="G~VkR50J.}):BStk:d6W"><field name="TEXT">255,255,0</field></shadow><block type="display_color_seclet" id="$ww9/bA19SH$gBXG$v23"><field name="COLOR">#ffffff</field></block></value><value name="boolean"><shadow type="logic_boolean" id="J|vO[ZgMwtkVt1}O}vSd"><field name="BOOL">TRUE</field></shadow></value><next><block type="esp32_onboard_music_pitch_with_time" id="k-!aWdm@wW6KSwaPdMD@"><value name="pitch"><shadow type="pins_tone_notes" id="3calmm4*zGWT^(Ql]LiJ"><field name="PIN">294</field></shadow></value><value name="time"><shadow type="math_number" id="@i#D1iSpS5n2QPMTQ!9M"><field name="NUM">50</field></shadow></value></block></next></block></next></block></next></block></next></block></next></block></statement></block><block type="procedures_defnoreturn" id="/Uj95~HC:C=;GSP#-[gQ" collapsed="true" x="-1179" y="-509"><field name="NAME">发射子弹</field><statement name="STACK"><block type="variables_global" id="Xu)bx!@`eS:/RmIE/E~1"><value name="VAR"><block type="variables_get" id="k{j`+h@^P1t+2xxzjFl3"><field name="VAR">子弹X坐标</field></block></value><next><block type="variables_set" id="n~Mx$IAkgYYt`:^u6[RV"><field name="VAR">子弹X坐标</field><value name="VALUE"><block type="variables_get" id="k+v59|]C6tZTPa;6{(!w"><field name="VAR">本机X坐标</field></block></value><next><block type="esp32_onboard_music_pitch_with_time" id="Ptvi,`(7JHcXuW1KxDxz"><value name="pitch"><shadow type="pins_tone_notes" id="=D)vQ2jJ0lQdmwV8w3Ow"><field name="PIN">262</field></shadow></value><value name="time"><shadow type="math_number" id="*^1Ayc*(qvLi!19LmdMm"><field name="NUM">50</field></shadow></value><next><block type="controls_forEach" id="bC=Z?YN1^hdT8B`.M4nG"><value name="LIST"><shadow type="list_many_input" id="d2a$N`4hIX?UiDNg/9Y;"><field name="CONTENT">0,1,2,3</field></shadow><block type="controls_range" id="+h`f{_0Wg.27kR$CXQ1O"><value name="FROM"><shadow type="math_number" id="k0LCg?AIA(FGte??{-06"><field name="NUM">2</field></shadow><block type="math_arithmetic" id="1fY;IDEJ}1+sOzx0Y?.D"><field name="OP">MINUS</field><value name="A"><shadow type="math_number" id="]4BFp|a06](wc@+H9jt?"><field name="NUM">1</field></shadow><block type="variables_get" id="ZD*bFWjm7Fpw`wFv2xDP"><field name="VAR">屏幕Y最大值</field></block></value><value name="B"><shadow type="math_number" id="u(8#9z7mwjevAU-9C22q"><field name="NUM">2</field></shadow></value></block></value><value name="TO"><shadow type="math_number" id="S7nqPYZ|9+2pAm+}Bs9$"><field name="NUM">-2</field></shadow></value><value name="STEP"><shadow type="math_number" id="bqG1gcjDh#yDqdt7Lj-W"><field name="NUM">-1</field></shadow></value></block></value><value name="VAR"><shadow type="variables_get" id="Lc?`!=maUwi9c/r{25^v"><field name="VAR">子弹Y坐标</field></shadow></value><statement name="DO"><block type="onboard_tft_display_shape_rect" id="+arvj;s]nNW^6q6oTGn."><field name="shape">fill_rect</field><value name="x"><shadow type="math_number" id="^E_EetTC7!H7Cy#!wRh0"><field name="NUM">20</field></shadow><block type="math_arithmetic" id="?*ALx`TiO[C8cTJe4.*-"><field name="OP">MULTIPLY</field><value name="A"><shadow type="math_number" id="eQP3gRq/)rco4xUU(HqC"><field name="NUM">1</field></shadow><block type="variables_get" id="{dE^*07md,7P#]9W*C/q"><field name="VAR">子弹X坐标</field></block></value><value name="B"><shadow type="math_number" id="$}*7fUjRE-WRFD6[XAMd"><field name="NUM">10</field></shadow></value></block></value><value name="y"><shadow type="math_number" id=";kW5:@vKsm`|4LRYJPTC"><field name="NUM">230</field></shadow><block type="math_arithmetic" id="93eHQ?xH.C2jm$4{BR?V"><field name="OP">MULTIPLY</field><value name="A"><shadow type="math_number" id="ZKwE)u~E^y(;f$89rLu3"><field name="NUM">1</field></shadow><block type="variables_get" id="yQ{5lURb+uUR_vjGNXXk"><field name="VAR">子弹y坐标</field></block></value><value name="B"><shadow type="math_number" id="u;L#,}[y[O(I8CdY,4B-"><field name="NUM">10</field></shadow></value></block></value><value name="w"><shadow type="math_number" id="/u^[C.?nDZ[CxUG+Rw?="><field name="NUM">10</field></shadow></value><value name="h"><shadow type="math_number" id="n7U7@|k66h+!4[hKJ^zK"><field name="NUM">10</field></shadow></value><value name="VAR"><shadow type="tuple_create_with_text_return" id="R!+qdFB~f7Ovo[{RwD+u"><field name="TEXT">255,255,0</field></shadow><block type="display_color_seclet" id="/:`zEpHo#/=~SYoOS^hI"><field name="COLOR">#ffffff</field></block></value><value name="boolean"><shadow type="logic_boolean" id="SZ+`DIG8T?6-bk)4fTSr"><field name="BOOL">TRUE</field></shadow></value><next><block type="onboard_tft_display_shape_rect" id="@`V!@7,OBHFi9qWPXXLu"><field name="shape">fill_rect</field><value name="x"><shadow type="math_number" id="D{~!$8nS`1|cp.5aD+a,"><field name="NUM">20</field></shadow><block type="math_arithmetic" id="`M9dV}]NVAEE5{rrX!:}"><field name="OP">MULTIPLY</field><value name="A"><shadow type="math_number" id=")z6OWCyNZvpx52C2dM(V"><field name="NUM">1</field></shadow><block type="variables_get" id=",@??CHSvTCQ5RB~xkqWi"><field name="VAR">子弹X坐标</field></block></value><value name="B"><shadow type="math_number" id="U0^LpK]^WP_n$?eL$Ufy"><field name="NUM">10</field></shadow></value></block></value><value name="y"><shadow type="math_number" id="Y^1kW{t8k5e[I|DfR*up"><field name="NUM">230</field></shadow><block type="math_arithmetic" id="j.ZXVtNMov/OAJm4:C+u"><field name="OP">MULTIPLY</field><value name="A"><shadow type="math_number" id="UD@1D}8i@-[.vUyDJPqj"><field name="NUM">1</field></shadow><block type="variables_get" id="6xID2CG0~*}Xl6fVL5jf"><field name="VAR">子弹y坐标</field></block></value><value name="B"><shadow type="math_number" id="V;4r,^^eF:6XjJQ[Aiya"><field name="NUM">10</field></shadow></value></block></value><value name="w"><shadow type="math_number" id="l@1;?|:.fR*[1j6#Ow35"><field name="NUM">10</field></shadow></value><value name="h"><shadow type="math_number" id="06fgQq-vG^g-dhr9-Nd:"><field name="NUM">10</field></shadow></value><value name="VAR"><shadow type="tuple_create_with_text_return" id="o6{HRWCe{,}B`S|0twTX"><field name="TEXT">255,255,0</field></shadow><block type="display_color_seclet" id="MAe*BNPf4vB8v(G,./f)"><field name="COLOR">#000000</field></block></value><value name="boolean"><shadow type="logic_boolean" id="mxaR]7,UFGy-.rmga[*_"><field name="BOOL">FALSE</field></shadow></value></block></next></block></statement></block></next></block></next></block></next></block></statement></block><block type="variables_set" id="N3@g-x8G?4iA)o82o6tU" x="-1304" y="-411"><field name="VAR">屏幕X最大值</field><value name="VALUE"><block type="math_number" id="w7W(./SP7MQ1zTDH=L,E"><field name="NUM">23</field></block></value><next><block type="variables_set" id="PY1BhG(iAO[0RX`,,jtX"><field name="VAR">屏幕Y最大值</field><value name="VALUE"><block type="math_number" id="A16^z{_S^XtGW1c`PI!!"><field name="NUM">23</field></block></value><next><block type="variables_set" id="[ChqmboH4!l]N8^x=t0m"><field name="VAR">本机X坐标</field><value name="VALUE"><block type="math_number" id="IN9mr|}B~C?srjoKsZfh"><field name="NUM">0</field></block></value><next><block type="variables_set" id="(wwZ98$jz3blHg(W+XV7"><field name="VAR">敌机X坐标</field><value name="VALUE"><block type="math_number" id="-,91M[1z`sAu]78S)jI#"><field name="NUM">0</field></block></value><next><block type="variables_set" id="s|p`i}Ckuft5it,L+:c="><field name="VAR">子弹X坐标</field><value name="VALUE"><block type="math_number" id="`]M;EM{uS)L*[ih-+}fI"><field name="NUM">0</field></block></value><next><block type="procedures_callnoreturn" id="|c94,7_#]ci`XBDjyXGl" inline="true"><mutation name="显示我机"></mutation><next><block type="controls_whileUntil" id="J/XOLZKvey_~+5ptUXGW"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="]45j(tXv4ga;NgMC]6Tp"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="procedures_callnoreturn" id="tspsE7=kP9_^2Ubb5w1N"><mutation name="显示敌机"></mutation><next><block type="controls_if" id="DjyE{/FLw#(O`fJw!r3/"><value name="IF0"><block type="sensor_mixgo_button_was_pressed" id=".u{[(~fE,wgD}F0:)bM5"><value name="btn"><shadow type="pins_button" id="K[:)BuIc.RR::}$[6@xL"><field name="PIN">A1key</field></shadow></value></block></value><statement name="DO0"><block type="math_selfcalcu" id=":4WB]6}EM~S+t]BlU=vy"><field name="OP">MINUS</field><value name="A"><shadow type="variables_get" id="CM{!,Z1Y5}3D88LMclu3"><field name="VAR">本机X坐标</field></shadow></value><value name="B"><shadow type="math_number" id="7RwnBu}a1*MtIG+J*qPZ"><field name="NUM">1</field></shadow></value><next><block type="procedures_callnoreturn" id="zb07O5+sf:HEEt$,hHu?" inline="true"><mutation name="显示我机"></mutation></block></next></block></statement><next><block type="controls_if" id="xS?eQjM=#D{H[ZOS{*Lp"><value name="IF0"><block type="sensor_mixgo_button_was_pressed" id="{skG*Q:W!6-bEUmYKr.P"><value name="btn"><shadow type="pins_button" id="O;@4sD@,OtO:e?9/O1`t"><field name="PIN">B1key</field></shadow></value></block></value><statement name="DO0"><block type="math_selfcalcu" id="lxIs7Nk~GB;c28QUAO[P"><field name="OP">ADD</field><value name="A"><shadow type="variables_get" id="R{;Q8[{u1PS=JTTCvGhX"><field name="VAR">本机X坐标</field></shadow></value><value name="B"><shadow type="math_number" id="qTw)=rRP1B)LC(h3(_Vj"><field name="NUM">1</field></shadow></value><next><block type="procedures_callnoreturn" id="8_bUp~*g,yJpI`NP|P)b" inline="true"><mutation name="显示我机"></mutation></block></next></block></statement><next><block type="controls_if" id="Nrd,zkH@Y#S1Z[*,;S$?"><value name="IF0"><block type="sensor_mixgo_button_was_pressed" id="Ks36F!zZf9Gn[-+Uk2sJ"><value name="btn"><shadow type="pins_button" id="fiw7O0OFsJu,AomTr2#P"><field name="PIN">B2key</field></shadow></value></block></value><statement name="DO0"><block type="procedures_callnoreturn" id="6CZqL*Gi}{et=j2J|#pf"><mutation name="发射子弹"></mutation></block></statement></block></next></block></next></block></next></block></statement></block></next></block></next></block></next></block></next></block></next></block></next></block><block type="procedures_defnoreturn" id="RW_^)[524v+n2#XBObC=" inline="true" x="-773" y="-182"><field name="NAME">显示敌机</field><statement name="STACK"><block type="variables_global" id="5Z6qd[l~9@2mvfOP6O.8"><value name="VAR"><block type="variables_get" id="jVkwZKMe!u4;KAww7rK8"><field name="VAR">敌机X坐标</field></block></value><next><block type="variables_set" id="e2C-k1YVwesCij.WHva3"><field name="VAR">敌机是否存在</field><value name="VALUE"><block type="logic_boolean" id="betvNE,CHq-YOYLaQs@Y"><field name="BOOL">FALSE</field></block></value><next><block type="controls_forEach" id="D.aSFX;)K)@o2~!44x@s"><value name="LIST"><shadow type="list_many_input" id="YhnmkB4-]KjaSZ;TJgHy"><field name="CONTENT">0,1,2,3</field></shadow><block type="controls_range" id="hcSyq#,Kx/q?*aNENojU"><value name="FROM"><shadow type="math_number" id="~n7|q?M:;K5n|Sam2,/a"><field name="NUM">0</field></shadow></value><value name="TO"><shadow type="math_number" id="iL.tB*`)yaK1FymiOX,Y"><field name="NUM">8</field></shadow><block type="variables_get" id="H?Gw$]kHjeCU`wlEPTqf"><field name="VAR">屏幕X最大值</field></block></value><value name="STEP"><shadow type="math_number" id="BqNVuxp-eC*V;4v~PGHb"><field name="NUM">1</field></shadow></value></block></value><value name="VAR"><shadow type="variables_get" id="r*uh}2;L^Wv(Jg:iMIZ^"><field name="VAR">x</field></shadow></value><statement name="DO"><block type="controls_if" id="`Fz(mrajMFb~gZyV|@r_"><value name="IF0"><block type="logic_compare" id="aMH5|eG-o87UsgihG)3c"><field name="OP">EQ</field><value name="A"><block type="onboard_tft_get_pixel" id="#k(DchqCuHRJCN!1-.mc"><value name="x"><shadow type="math_number" id="=Q*pUfy4i18m~P^6YKa)"><field name="NUM">0</field></shadow><block type="math_arithmetic" id="Q5WE)A:j?yVqmVr$[G`*"><field name="OP">MULTIPLY</field><value name="A"><shadow type="math_number" id="e??(H3KiFX1LBP._jejY"><field name="NUM">1</field></shadow><block type="variables_get" id="d,(/$R5pZ($$?T^l7p|0"><field name="VAR">x</field></block></value><value name="B"><shadow type="math_number" id="[pOx{7l))0*?0O!84Bvq"><field name="NUM">10</field></shadow></value></block></value><value name="y"><shadow type="math_number" id=")g~[LyK;bLGi9T]DW918"><field name="NUM">0</field></shadow></value></block></value><value name="B"><block type="display_color_seclet" id="jDmZC33^!8zb[vbT:Y6H"><field name="COLOR">#ffffff</field></block></value></block></value><statement name="DO0"><block type="variables_set" id="q@t,aRXZZ~WCHaRl#SFF"><field name="VAR">敌机是否存在</field><value name="VALUE"><block type="logic_boolean" id="c47|]FjYuw8m-wvz1Zib"><field name="BOOL">TRUE</field></block></value><next><block type="controls_flow_statements" id="5[vnUE+pzOUQ}^GJ}3A$"><field name="FLOW">BREAK</field></block></next></block></statement></block></statement><next><block type="controls_if" id="Tz5tC[Tb]lzD)dAZTeWL"><value name="IF0"><block type="logic_negate" id=")k7zvGzzcnZ::C7{D{rc"><value name="BOOL"><block type="variables_get" id="@A3c5JT#fED|^1TZl1p6"><field name="VAR">敌机是否存在</field></block></value></block></value><statement name="DO0"><block type="variables_set" id="=4kt^M=HpJ]X@6#TtR9#"><field name="VAR">敌机X坐标</field><value name="VALUE"><block type="math_random" id="Y}s(V2wfG#uc~vRtcpPC"><field name="TYPE">int</field><value name="FROM"><shadow type="math_number" id="~dpX]6=zlvrEZ@qx|w=5"><field name="NUM">0</field></shadow></value><value name="TO"><shadow type="math_number" id="0it[CL,mWTO0vf}?b;Z~"><field name="NUM">6</field></shadow><block type="variables_get" id="NZPB}p6y9b)9KueySTJI"><field name="VAR">屏幕X最大值</field></block></value></block></value><next><block type="onboard_tft_display_shape_rect" id="Fsq:.IVGx2Pn7oeyxx56"><field name="shape">fill_rect</field><value name="x"><shadow type="math_number" id="))R5Xgr`m}~!1)wg8!Fe"><field name="NUM">20</field></shadow><block type="math_arithmetic" id="`zVVERi|ll?SSi4,R@id"><field name="OP">MULTIPLY</field><value name="A"><shadow type="math_number" id="e??(H3KiFX1LBP._jejY"><field name="NUM">1</field></shadow><block type="variables_get" id="I^G{?6.75PT=3zd-ETw4"><field name="VAR">敌机X坐标</field></block></value><value name="B"><shadow type="math_number" id="Ie*=+E^[/Is`HO!9/)?v"><field name="NUM">10</field></shadow></value></block></value><value name="y"><shadow type="math_number" id="A_nH#sn5jE*[vSwMkaT4"><field name="NUM">0</field></shadow></value><value name="w"><shadow type="math_number" id="104#{57L}b^OBdP8Wx8L"><field name="NUM">10</field></shadow></value><value name="h"><shadow type="math_number" id="?89V6bQILpuSs9w0h8D~"><field name="NUM">10</field></shadow></value><value name="VAR"><shadow type="tuple_create_with_text_return" id="v(SVQ;b$OR(_FmEK:Qvc"><field name="TEXT">255,255,0</field></shadow><block type="display_color_seclet" id="[GuSf9)H#J?P7~JCeS,Z"><field name="COLOR">#ffffff</field></block></value><value name="boolean"><shadow type="logic_boolean" id="AjdQ3^*A{_8P@jwTrR,2"><field name="BOOL">TRUE</field></shadow></value></block></next></block></statement></block></next></block></next></block></next></block></statement></block></xml><config>{}</config><code>ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IG1peGdvX3NhbnQKaW1wb3J0IHJhbmRvbQoKZGVmIOaYvuekuuaIkeacuigpOgogICAgZ2xvYmFsIOacrOaculjlnZDmoIcKICAgIOacrOaculjlnZDmoIcgPSBtaW4obWF4KOacrOaculjlnZDmoIcsIDApLCDlsY/luZVY5pyA5aSn5YC8IC0gMSkKICAgIG9uYm9hcmRfdGZ0LmZpbGxfcmVjdCgwLCAyMjAsIDI0MCwgMjAsIDB4MCxzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KCgo5pys5py6WOWdkOaghyAtIDEpICogMTApLCAyMzAsIDMwLCAxMCwgMHhmZmZmLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoKOacrOaculjlnZDmoIcgKiAxMCksIDIyMCwgMTAsIDEwLCAweGZmZmYsc3luYz1UcnVlKQogICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDI5NCwgNTApCgpkZWYg5Y+R5bCE5a2Q5by5KCk6CiAgICBnbG9iYWwg5a2Q5by5WOWdkOaghwogICAg5a2Q5by5WOWdkOaghyA9IOacrOaculjlnZDmoIcKICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSgyNjIsIDUwKQogICAgZm9yIOWtkOW8uVnlnZDmoIcgaW4gcmFuZ2Uo5bGP5bmVWeacgOWkp+WAvCAtIDIsIC0yLCAtMSk6CiAgICAgICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KCjlrZDlvLlY5Z2Q5qCHICogMTApLCAo5a2Q5by5WeWdkOaghyAqIDEwKSwgMTAsIDEwLCAweGZmZmYsc3luYz1UcnVlKQogICAgICAgIG9uYm9hcmRfdGZ0LmZpbGxfcmVjdCgo5a2Q5by5WOWdkOaghyAqIDEwKSwgKOWtkOW8uVnlnZDmoIcgKiAxMCksIDEwLCAxMCwgMHgwLHN5bmM9RmFsc2UpCgpkZWYg5pi+56S65pWM5py6KCk6CiAgICBnbG9iYWwg5pWM5py6WOWdkOaghwogICAg5pWM5py65piv5ZCm5a2Y5ZyoID0gRmFsc2UKICAgIGZvciB4IGluIHJhbmdlKDAsIOWxj+W5lVjmnIDlpKflgLwsIDEpOgogICAgICAgIGlmIG9uYm9hcmRfdGZ0LnBpeGVsKGludCgoeCAqIDEwKSksIGludCgwKSkgPT0gMHhmZmZmOgogICAgICAgICAgICDmlYzmnLrmmK/lkKblrZjlnKggPSBUcnVlCiAgICAgICAgICAgIGJyZWFrCiAgICBpZiBub3Qg5pWM5py65piv5ZCm5a2Y5ZyoOgogICAgICAgIOaVjOaculjlnZDmoIcgPSByYW5kb20ucmFuZGludCgwLCDlsY/luZVY5pyA5aSn5YC8KQogICAgICAgIG9uYm9hcmRfdGZ0LmZpbGxfcmVjdCgo5pWM5py6WOWdkOaghyAqIDEwKSwgMCwgMTAsIDEwLCAweGZmZmYsc3luYz1UcnVlKQoKCuWxj+W5lVjmnIDlpKflgLwgPSAyMwrlsY/luZVZ5pyA5aSn5YC8ID0gMjMK5pys5py6WOWdkOaghyA9IDAK5pWM5py6WOWdkOaghyA9IDAK5a2Q5by5WOWdkOaghyA9IDAK5pi+56S65oiR5py6KCkKd2hpbGUgVHJ1ZToKICAgIOaYvuekuuaVjOacuigpCiAgICBpZiBtaXhnb19zYW50LkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5pys5py6WOWdkOaghyAtPSAxCiAgICAgICAg5pi+56S65oiR5py6KCkKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDmnKzmnLpY5Z2Q5qCHICs9IDEKICAgICAgICDmmL7npLrmiJHmnLooKQogICAgaWYgbWl4Z29fc2FudC5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOWPkeWwhOWtkOW8uSgpCg==</code>C5waXhlbChpbnQoeCksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDIC0gMSksIDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDKSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgLSAxKSwgaW50KF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyArIDEpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3KSwgaW50KF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAxKSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDI5NCwgNTApCgoKCl9FNV9CMV84Rl9FNV9COV85NVhfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgPSAxMQpfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDID0gNwpfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3ID0gMQpfRTZfOTVfOENfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3ID0gMQpfRTVfQURfOTBfRTVfQkNfQjlYX0U1XzlEXzkwX0U2X0EwXzg3ID0gMQpfRTVfQkVfOTdfRTVfODhfODYgPSAwCl9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpCndoaWxlIFRydWU6CiAgICBfRTZfOThfQkVfRTdfQTRfQkFfRTZfOTVfOENfRTZfOUNfQkEoKQogICAgaWYgbWl4Z29fbWluaS5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgLT0gMQogICAgICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpCiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyArPSAxCiAgICAgICAgX0U2Xzk4X0JFX0U3X0E0X0JBX0U2Xzg4XzkxX0U2XzlDX0JBKCkKICAgIGlmIG1peGdvX21pbmkuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBfRTVfOEZfOTFfRTVfQjBfODRfRTVfQURfOTBfRTVfQkNfQjkoKQo=</code>